説明

デジタル信号処理装置

【課題】フレーム同期式のDSPにおいて、動作クロックの異なる信号処理回路間のデータの受け渡しを簡便に実現する。
【解決手段】各々の動作クロックの異なる複数の信号処理回路のうちから送信側回路と受信側回路を定め、各信号処理回路の動作クロックの全ての立ち上がりエッジが揃うタイミングをデータ受け渡しタイミングとする。送信側回路には、当該送信側回路に与えられるタイミング信号がアクティブレベルであることを条件にデータを出力させる一方、受信側回路には、各動作クロックの周波数の約数を周波数とし、かつデータ受け渡しタイミングを跨ぐ所定期間に亘ってアクティブレベルとなるフレーム同期信号がアクティブレベルであることを条件に、送信側回路から出力されるデータを取り込む処理を実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、オーディオ信号処理等の各種の信号処理に好適なDSP(Digital Signal Processor:デジタル信号処理装置)に関する。
【背景技術】
【0002】
フレーム同期式のDSPは、一定時間長のフレーム毎に入力信号に対する信号処理を行うプロセッサである。このようなフレーム同期式のDSPは、音声信号に音響効果等の付与を行う音声処理装置や画像信号に各種画像処理を施す画像処理装置として用いられる場合がある。この種のフレーム同期式のDSPに関する先行技術文献としては、例えば特許文献1が挙げられる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開昭61−292416号公報
【特許文献2】特開平7−261869号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、フレーム同期式のDSPを音声処理装置(或いは画像処理装置)として携帯電話機や携帯型ゲーム機などの携帯端末に組み込む場合、内蔵バッテリに蓄えられている電力の消費を抑えるために、当該DSPの消費電力をできるだけ低く抑えることが好ましい。このようなことを実現するための方策としては、各種信号処理を実行する信号処理回路の各々を互いに周波数の異なるクロックにより動作させ、信号処理回路間でデータの受け渡しを行わせながら1つのまとまった信号処理を実行させることが考えられる。低い周波数のクロックでも充分な処理結果が得られる信号処理については低周波数のクロックで動作する信号処理回路にその処理を行わせ、高い周波数のクロックでの処理が必要となる信号処理に関しては当該クロックで動作する信号処理回路に処理を行わせるようにすることで、全体の信号処理を単一のクロックで行う場合に比較して消費電力を低く抑えることができると期待されるからである。
【0005】
しかし、互いに異なる周波数のクロックで動作する複数の信号処理回路のうちの任意の1つから他の1つへのデータの受け渡しは、データ受け渡しのためのタイミング制御が難しいといった問題がある。受け渡し対象のデータの送信側および受信側の信号処理回路の動作クロックのうち周波数の高い方で他方をサンプリングすることによりデータの受け渡しタイミングを生成するようにしても、このようにして生成される受け渡しタイミングと各動作クロックの立ち上がり(或いは立ち下り)エッジの発生タイミングとの間にズレが生じてしまう場合があり、そのズレの大きさに応じて個別に対策を行う必要があるからである。また、データ受け渡しを行う2つの信号処理回路を予め定め、両者間のデータ受け渡しのための回路(例えば、FIFOなど)を設けておく態様では、柔軟性に欠け、不便である。
【0006】
本発明は以上説明した事情に鑑みてなされたものであり、フレーム同期式のDSPにおいて、複数の信号処理回路を互いに異なる周波数のクロックにより動作させ、かつ、任意の信号処理回路から他の信号処理回路へデータの受け渡しを簡便に実現する技術を提供することを目的としている。
【課題を解決するための手段】
【0007】
上記課題を解決するために本発明は、互いに周波数の異なったクロックを出力する複数のクロック生成回路と、前記クロックに同期して各々信号処理を行う複数の信号処理回路と、前記複数のクロック生成回路が出力する各クロックの周波数の公約数を周波数とするフレーム同期信号を生成するフレーム同期信号生成手段と、前記複数の信号処理回路の1つをデータ送信側信号処理回路として指定するとともに、前記複数の信号処理回路の他の1つまたは複数をデータ受信側信号処理回路として指定し、前記複数のクロック生成回路が出力する各クロックの立ち上がりエッジまたは立ち下がりエッジが揃い、かつ前記フレーム同期信号がアクティブレベルとなっているデータ受け渡しタイミングにおいて、前記データ送信側信号処理回路から出力されるデータを取り込むように前記1または複数のデータ受信側信号処理回路を制御する制御手段とを具備することを特徴とするデジタル信号処理装置を提供する。
【0008】
このようなデジタル信号処理装置においては、フレーム同期信号は各クロック生成回路の生成するクロックの周波数の公約数である周波数を有しているため、このフレーム同期信号がアクティブレベルとなっている期間内において各クロックが揃って立ち上がる(或いは立ち下がる)タイミングがある。本発明のデジタル信号処理装置では、複数の信号処理回路の各々の動作クロックが揃って立ち上がる(或いは立ち下がる)タイミングがデータの受け渡しタイミングとなっている。例えば、データ送信側信号処理回路には、その動作クロックにおいて当該データ受け渡しタイミングの1クロック前のクロックのエッジのタイミングから当該データ受け渡しタイミングまでアクティブレベルとなるタイミング信号を与え、そのタイミング信号がアクティブレベルとなっている期間に受け渡し対象のデータを出力させる。一方、データ受信側信号処理回路には、フレーム同期信号がアクティブレベルとなっている期間にデータ送信側信号処理回路から出力される受け渡しデータを当該データ受信側信号処理回路に与えられる動作クロックの立ち上がり(或いは、立ち下り)に同期して取り込む処理を実行させるのである。これにより、データ送信側信号処理回路からデータ受信側回路へのデータの受け渡しが実現される。
【0009】
より好ましいデジタル信号処理装置の構成としては、メインクロックのカウントを行うカウンタをさらに備え、前記複数のクロック生成回路の各々は、前記カウンタのカウント値が予め定められた値である期間だけアクティブレベルとなる信号を出力するデコーダと、当該デコーダの出力信号を前記メインクロックによってサンプリングしてクロックを生成するフリップフロップとを有し、前記フレーム同期信号生成手段は、前記複数のクロック生成回路が出力する各クロックの立ち上がりエッジまたは立ち下がりエッジが揃うタイミングを跨ぐ所定時間長の期間だけ前記フレーム同期信号がアクティブレベルとなるように、前記カウンタのカウント値に基づいて前記フレーム同期信号を周期的にアクティブレベルとする構成が考えられる。また、上記タイミング信号による制御を実現するための構成としては、タイミング信号の供給先の信号処理回路に対するクロックにおいて、前記データ受け渡しタイミングの1クロック前のクロックの間、前記タイミング信号がアクティブレベルとなるように、前記カウンタのカウント値に基づいて前記タイミング信号を生成するタイミング信号生成回路を各信号処理回路に対応させて設ける構成が考えられる。
【0010】
ここで注目すべき点は、上記複数の信号処理回路の各々に与えられるクロック、タイミング信号、およびフレーム同期信号の各々は、何れも上記メインクロックをカウントするカウンタのカウント値に基づいて生成される、という点である。つまり、上記より好ましい構成のデジタル信号処理装置においては、各デコーダにアクティブレベルの信号を出力させるカウント値、フレーム同期信号をアクティブレベルとするタイミングおよびアクティブレベルを維持する期間を定めるカウント値、および各タイミング信号をアクティブレベルとするタイミングおよび期間を規定するカウント値を適切に定めておくことで、複数の信号処理回路を周波数の異なる複数のクロックにより動作させ、かつ、任意の信号処理回路から他の任意の信号処理回路へデータの受け渡しを簡便に実現することができるのである。
【0011】
なお、特許文献2は、クロックをカウントするカウンタと、このカウンタのカウント値が所定値である期間だけ“1”となる信号を出力するデコーダと、このデコーダの出力信号をクロックにより取り込んで出力するフリップフロップからなる分周回路を開示している。しかしながら、この特許文献2に開示の回路は、共通のメインクロックから複数種のクロックを発生するものではなく、各種のクロックに共通して使用可能なタイミング信号を生成する手段を有するものではなく、本願発明とは異なる技術である。
【0012】
また、別の好ましい態様においては、上記デジタル信号処理装置が有する複数のクロック生成回路のうちの少なくとも1つは、アクティブレベルとなる周期が各々異なる信号を出力する複数のデコーダを備え、外部から与えられる選択信号に応じて当該複数のデコーダのうちの何れかの出力信号を選択してフリップフロップに与えるセレクタをさらに備えることを特徴とする。このような構成のクロック生成回路は外部から与えられる選択信号に応じて可変周波数のクロックを発生させ、対応する信号処理回路に供給する。このように、複数の信号処理回路のなかに動作クロックが可変のものが含まれている場合であっても、それら複数の信号処理回路のうちの任意の1つから他の任意の1つへのデータの受け渡しを簡便に実現することができる。
【0013】
さらに好ましい別の態様においては、前記フレーム同期信号生成手段は、前記複数の信号処理回路の各々に与えるフレーム同期信号を前記複数のタイミング信号生成手段の各々から各信号処理回路に与えられるタイミング信号に同期させて信号処理回路毎に生成することを特徴とする。各信号処理回路に共通のフレーム同期信号を与える態様では、フレーム同期信号の受け手側である信号処理回路のクロックにおけるフレーム同期信号のセットアップ時間を正しく求めるなどのタイミング解析が複雑になる虞があるが、信号処理回路毎にその信号処理回路に与えるタイミング信号に同期させてフレーム同期信号を生成する態様であれば、このような問題は生じない。
【図面の簡単な説明】
【0014】
【図1】この発明の第1実施形態であるDSPの構成を示すブロック図である。
【図2】第1実施形態のDSPの動作を示すタイムチャートである。
【図3】第1実施形態のDSPが有するフレーム同期信号生成回路4の構成例を示すブロック図である。
【図4】この発明の第2実施形態であるDSPの構成を示すブロック図である。
【図5】本発明の第3実施形態のDSPの構成例を示す図である。
【図6】第3実施形態のDSPが有するフレーム同期信号生成回路40の構成例を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、図面を参照し、この発明の一実施形態について説明する。
<A:第1実施形態>
図1は、この発明の第1実施形態であるDSPの構成を示す回路図である。このDSPは、各々異なる周波数のクロックCLK(n)(n=1〜N:Nは2以上の自然数)に同期して信号処理演算を実行する信号処理回路5_nを含んでいる。このDSPは、例えば携帯電話機などの携帯端末に音声信号処理装置として組み込まれ、入力音声信号に対して信号処理回路5_nの各々による各種信号処理(例えば、音響効果の付与等)を施し、所定のフレーム周期(本実施形態では、48kHzのフレーム同期信号FSの周期)毎にその処理結果である信号を出力するフレーム同期式のDSPである。図1の信号処理回路5_n(n=1〜N)の各々は、フレーム同期信号FSがアクティブレベルとなる期間内に与えられる入力信号を各々に対するクロックCLK(n)に同期して取り込んで信号処理を施し、各々に対して与えられるタイミング信号TIM(n)がアクティブレベルとなっている期間に上記信号処理の結果を他の信号処理回路に対する入力信号となる受け渡しデータとして出力する。
【0016】
図1に示すように、このDSPは、信号処理回路5_n(n=1〜N)の他に、カウンタ1、クロック生成回路2_n(n=1〜N)、タイミング信号生成回路3_n(n=1〜N)、フレーム同期信号生成回路4、およびコントローラ6を含んでいる。カウンタ1は6ビットカウンタであり、図示しないクロックジェネレータが出力する所定周波数(本実施形態では、294.912MHz)のメインクロックMCLKをカウントし、カウント値CNTを出力する回路である。カウンタ1は、例えば図2に示すように、メインクロックMCLKが立ち上がる毎にカウント値CNTを0、1、2・・・と歩進させ、予め定められた数(本実施形態のカウンタ1は6ビットカウンタであるから、47)に達すると、カウント値CNTを0にリセットする、といった処理を繰り返し実行する。
【0017】
クロック生成回路2_n(n=1〜N)の各々は、カウンタ1によるカウント値CNTに基づいて信号処理回路5_nの動作クロックCLK(n)を発生させる。図1に示すように、クロック生成回路2_nは、デコーダ2A_nとフリップフロップ2B_nとにより構成されている。デコーダ2A_nは、カウント値CNTが予め定められた値である期間だけアクティブレベル(本実施形態ではHレベル)となる信号を出力する。例えば、分周比が1/2のクロック(すなわち、周波数が147.456MHzのクロック)を生成する場合には、カウント値CNTが奇数の期間だけアクティブレベルとなる信号をデコーダ2A_nに出力させるようにすれば良い。フリップフロップ2B_nは、このデコーダ2A_nの出力信号をメインクロックMCLKの立ち上がりエッジによってサンプルホールドすることにより、クロックCLK(n)を出力する。
【0018】
本実施形態のデコーダ2A_1は、カウント値CNTが1〜8、17〜24、および33〜40である期間だけアクティブレベルの信号を出力するように予め設定されている。その結果、クロック生成回路2_1からは、図2に示すように、メインクロックMLCKに対する分周比が1/16(すなわち、18.432MHz)のクロックCLK(1)が出力される。なお、図2において、カウント値CNTが0から1(16から17或いは32から33)に切り換るタイミングから若干遅れてクロックCLK(1)が立ち上がっているのは、フリップフロップ2B_1における遅延に起因している(後述するクロックCLK(2)およびCLK(N)についても同様である)。
【0019】
デコーダ2A_2についても同様に、カウント値CNTが1〜4、9〜12、17〜20、25〜28、33〜36、および41〜44である期間だけアクティブレベルの信号を出力するように予め設定されており、クロック生成回路2_2からは、図2に示すように、メインクロックMLCKに対する分周比が1/8(すなわち、36.864MHz)のクロックCLK(2)が出力される。そして、デコーダ2A_Nは、カウント値CNTが1〜3、7〜9、13〜15、19〜21、25〜27、31〜33、37〜39および43〜45である期間だけアクティブレベルの信号を出力するように予め設定されており、クロック生成回路2_Nからは、図2に示すように、メインクロックMLCKに対する分周比が1/6(すなわち、49.152MHz)のクロックCLK(N)が出力される。
【0020】
タイミング信号生成回路3_n(n=1〜N)はタイミング信号TIM(n)を生成し、信号処理回路5_nに与える。ここで、タイミング信号とは、信号処理回路5_n(n=1〜N)のうちの1つであるデータ送信側信号処理回路から他の1つであるデータ受信側信号処理回路(データ送信側信号処理回路およびデータ受信側信号処理回路の指定は、後述するコントローラ6によって行われる)へのデータ受け渡しを行わせるための信号である。より詳細に説明すると、タイミング信号生成回路3_nは、信号処理回路5_nの動作クロックCLK(n)において、データ受け渡しタイミングの1クロック前のクロックの立ち上がりエッジのタイミングから当該データ受け渡しタイミングまでの期間だけアクティブレベルとなるように、カウンタ1のカウント値CNTに基づいてタイミング信号TIM(n)を生成する。なお、本実施形態におけるデータ受け渡しタイミングとは、クロックCLK(n)(n=1〜N)の全てが揃って立ち上がるタイミングであって、信号処理回路5_n(n=1〜N)の各々が、各々の動作クロックCLK(n)の立ち上がりエッジに同期して各々に対する入力信号を取り込むことが可能なタイミングのことである。前述したように、クロックCLK(n)(n=1〜N)の各々はカウンタ1のカウント値CNTに基づいて生成されており、図2に示すように、当該カウント値CNTが0から1に切り換るタイミングから若干遅れたタイミングで揃って立ち上がる。したがって、本実施形態では、カウント値CNTが0から1に切り換るタイミング(より正確には、カウント値CNTが0から1に切り換るタイミングからデコーダ2A_nおよびフリップフロップ2B_nにおける遅延の分だけ遅れたタイミング)がデータ受け渡しタイミングとなる。
【0021】
図1に示すように、タイミング信号生成回路3_n(n=1〜N)は、デコーダ3A_n、フリップフロップ3B_nおよび3C_nにより構成されている。デコーダ3A_nは、クロック生成回路2_nにおけるデコーダ2A_nと同様に、カウント値CNTが予め定められた値である期間だけアクティブレベルとなる信号Ta(n)を出力する。フリップフロップ3B_nは、デコーダ3A_nの出力信号Ta(n)をメインクロックMCLKの立ち上がりエッジによってサンプルホールドすることにより信号Tb(n)を出力し、フリップフロップ3C_nはフリップフロップ3B_nの出力信号Tb(n)をクロックCLK(n)の立ち上がりエッジによってサンプルホールドすることによりタイミング信号TIM(n)を生成する。
【0022】
本実施形態では、デコーダ3A_1はカウント値CNTが31または32である期間だけアクティブレベルとなる信号Ta(1)を出力するように予め設定されている。なお、図2において信号Ta(1)の立ち上がりタイミングが、カウント値CNTが30から31に切り換るタイミングから若干遅れているのはデコーダ3A_1における遅延に起因したものである(信号Ta(1)の立下りについても同様)。この信号Ta(1)をメインクロックMCLKの立ち上がりエッジによってサンプルホールドすることにより、図2に示すように、フリップフロップ3B_1からはカウント値CNTが32または33である期間(より正確には、フリップフロップ3B_1における遅延の分だけ始期および終期が遅れた期間)だけアクティブレベルとなる信号Tb(1)が出力される。そして、この信号Tb(1)をクロックCLK(1)の立ち上がりエッジによってサンプルホールドすることにより、図2に示すように、カウント値CNTが33〜47および0である期間(より正確には、フリップフロップ3C_1における遅延の分だけ始期および終期がさらに遅れた期間)だけアクティブレベルとなるタイミング信号TIM(1)がフリップフロップ3C_1から出力される。
【0023】
同様に本実施形態のデコーダ3A_2はカウント値CNTが39または40である期間だけアクティブレベルとなる信号Ta(2)を出力するように予め設定されており、デコーダ3A_Nはカウント値CNTが41または42である期間だけアクティブレベルとなる信号Ta(N)を出力するように予め設定されている。このため、カウント値CNTが41〜47および0である期間(より正確には、フリップフロップ3B_2および3C_2における遅延の分だけ始期および終期が遅れた期間)だけアクティブレベルとなるタイミング信号TIM(2)がタイミング信号生成回路3_2から出力され、タイミング信号生成回路3_Nからはカウント値CNTが43〜47および0である期間(より正確には、フリップフロップ3B_Nおよび3C_Nにおける遅延の分だけ始期および終期が遅れた期間)だけアクティブレベルとなるタイミング信号TIM(N)が出力される。
【0024】
前述したように、本実施形態では、クロックCLK(n)(n=1〜N)の各々はカウント値CNTが0から1に切り換るタイミングから若干遅れたタイミングで揃って立ち上がり、このタイミングがデータ受け渡しタイミングとなっている。図2を参照すれば明らかように、タイミング信号TIM(1)はクロックCLK(1)において、データ受け渡しタイミングの1クロック前のクロックの立ち上がりエッジのタイミングから当該データ受け渡しタイミングまでの期間だけ、タイミング信号TIM(2)はクロックCLK(2)において、データ受け渡しタイミングの1クロック前のクロックの立ち上がりエッジのタイミングから当該データ受け渡しタイミングまでの期間だけ、タイミング信号TIM(N)はクロックCLK(N)において、データ受け渡しタイミングの1クロック前のクロックの立ち上がりエッジのタイミングから当該データ受け渡しタイミングまでの期間だけ、各々アクティブレベルとなっている。このように、タイミング信号TIM(n)をその供給先の信号処理回路5_nの動作クロックCLK(n)において、データ受け渡しタイミングの1クロック前のクロックの立ち上がりエッジのタイミングから当該データ受け渡しタイミングまでの期間に亘ってアクティブレベルとなるようにしたのは、当該期間に出力されるデータを上記データ受け渡しタイミングにおいてデータ受信側信号処理装置が取り込めるようにするためである。
【0025】
フレーム同期信号生成回路4は、クロックCLK(n)(n=1〜N)の各周波数の公約数である周波数(前述したように、48kHz)を有するフレーム同期信号FSを、データ受け渡しタイミングを跨ぐ所定時間長の期間だけアクティブレベルとなるように、カウンタ1のカウント値CNTに基づいて生成する回路である。図3は、フレーム同期信号生成回路4の構成例を示すブロック図である。図3に示すように、フレーム同期信号生成回路4は、デコーダ4A、4Dおよび4Eと、フリップフロップ4Bと、カウンタ4Cと、ANDゲート4Fと、を有している。
【0026】
デコーダ4Aは、カウンタ1のカウント値CNTが1〜24である間はアクティブレベル(Hレベル)、同カウント値CNTが0または25〜47である間は非アクティブレベル(Lレベル)の信号Tcを出力する。フリップフロップ4Bは、デコーダ4Aの出力信号TcをメインクロックMCLKの立ち上がりエッジによってサンプルホールドすることにより、6.144MHzのクロックCLK0を生成する。カウンタ4Cは、8ビットカウンタであり、クロックCLK0が立ち上がる毎にカウント値CNT0を0、1、2・・・と歩進させ、予め定められた数(本実施形態のカウンタ4Cは8ビットカウンタであるから、127)に達すると、カウント値CNT0を0にリセットする、といった処理を繰り返し実行する。デコーダ4Dは、カウンタ4Cのカウント値CNT0が127である場合にはアクティブレベル、その他の場合(すなわち、同カウント値CNT0が0〜126である間)は非アクティブレベルの信号Teを出力する。なお、本実施形態では、カウント値CNT0が127である場合にデコーダ4Dにアクティブレベルの信号Teを出力させたが、カウント値CNT0が0である場合にデコーダ4Dにアクティブレベルの信号Teを出力させる(カウンタ値CNT0が1〜126の場合には非アクティブレベルの信号Teを出力させる)ようにしても良い。
【0027】
デコーダ4Eは、カウンタ1のカウント値CNTが0または1である場合には、アクティブレベル、その他の場合(すなわち、同カウント値CNTが2〜47である間)は非アクティブレベルの信号Tfを出力する。そして、ANDゲート4Fは、デコーダ4Dの出力信号Teとデコーダ4Eの出力信号Tfの論理積をフレーム同期信号FSとして出力する。前述したように、カウンタ4Cは6.144MHzのクロックCLK0の立ち上がり回数をカウントする8ビットカウンタであるから、そのカウント値CNT0が127から0に切り換るタイミングは、48kHzの周期で到来するフレーム境界となる。したがって、デコーダ4Dの出力信号Teはこのフレーム境界を跨いでアクティブレベルとなる。デコーダ4Dの出力信号Teとデコーダ4Eの出力信号Tf(カウンタCNTのカウント値が0または1である期間だけアクティブレベルとなる信号)の論理積をフレーム同期信号FSとすることにより、このフレーム同期信号FSは、フレーム境界を跨いで所定時間(図2に示すように、カウンタ1のカウント値CNTが0または1である期間分の時間)だけアクティブレベルとなるのである。
【0028】
コントローラ6は、信号処理回路5_n(n=1〜N)のうちの何れをデータ送信側信号処理回路とし、データ受信側信号処理回路とするかを決定し、データ受信側信号処理回路に対して入力信号(送信側信号処理回路からの受け渡しデータ)を取り込むことを指示する制御手段の役割を果たす。以後、受信側信号処理回路は、フレーム同期信号FSがアクティブレベルとなる期間内の当該データ受信側信号処理回路に対するクロックの立ち上がりエッジに同期してデータ送信側信号処理回路からの受け渡しデータを取り込み、信号処理を行う。
以上が本実施形態のDSPの構成である。
【0029】
次いで、コントローラ6によって信号処理回路5_1がデータ送信側信号処理回路として指定され、信号処理回路5_2がデータ受信側信号処理回路として指定された場合を例にとって、本実施形態のDSPの動作を図2を参照しつつ説明する。前述したように、本実施形態では、カウント値CNTが0から1に切り換るタイミングが信号処理回路5_n(n=1〜N)間のデータ受け渡しタイミングとなっている。図2に示すように、データ送信側信号処理回路である信号処理回路5_1に与えられるタイミング信号TIM(1)は、カウント値CNTが33から47および0である期間(より正確には、デコーダ3A_1、フリップフロップ3B_1および3C_1における遅延の分だけ始期および周期が遅れた期間)に亘ってアクティブレベルとなっている。このため、信号処理回路5_1は当該期間に信号処理結果のデータを出力する。
【0030】
一方、信号処理回路5_2は、入力信号(データ送信側信号処理回路からの受け渡しデータ)の取り込み指令をコントローラ6から受け取ると、フレーム同期信号FSがアクティブレベルである期間において、クロックCLK(2)の立ち上がりエッジに同期させてデータ送信側信号処理回路からの受け渡しデータを取り込む。図2に示すように、フレーム同期信号FSは、カウント値CNTが0から1に切り換るタイミング(すなわち、データ受け渡しタイミング)を跨いで所定時間にわたってアクティブレベルとなっており、信号処理回路5_2は、データ送信側信号処理回路(信号処理回路5_1)から出力される受け渡しデータをクロックCLK(2)の立ち上がりエッジに同期させて取り込むことができる。これにより、信号処理回路5_1から信号処理回路5_2へのデータの受け渡しが実現するのである。なお、データ受け渡しタイミングが到来しても、フレーム同期信号FSがアクティブレベルではない場合には、上記データの受け渡しが行われないことは言うまでもない。また、詳細な説明は省略するが、信号処理回路5_1から信号処理回路5_3へのデータの受け渡し、信号処理回路5_2と信号処理回路5_Nとの間のデータの受け渡しについても同様に実現される。
【0031】
以上説明したように本実施形態のDSPにおいては、デコーダ2A_n(n=1〜N)、デコーダ3A_n(n=1〜N)の各々にアクティブレベルの信号を出力させる期間を規定するカウント値を適切に設定しておくことで、各々異なる周波数のクロックで動作するN個の信号処理回路5_n(n=1〜N)のうちの任意の1つから他の任意の1つへのデータの受け渡しが実現される。このように、本実施形態によれば、フレーム同期式のDSPにおいて、複数の信号処理回路を周波数の異なる複数のクロックにより動作させ、かつ任意の信号処理回路から他の信号処理回路へデータを受け渡すことを簡便に実現することができ、当該DSPにおける消費電力の低減を実現することができる。
【0032】
<B:第2実施形態>
次いで、本発明の第2実施形態について説明する。
図4は、本発明の第2実施形態のDSPの構成例を示すブロック図である。このDSPは、第1実施形態のDSP(図1参照)におけるクロック生成回路2_Nをクロック生成回路20に置き換え、さらに、タイミング信号生成回路3_Nをタイミング信号生成回路30に置き換えて構成されている。なお、図4では、カウンタ1、信号処理回路5_n(n=1〜N−1)にクロックCLK(n)を与えるクロック生成回路2_nおよび同信号処理回路5_n(n=1〜N−1)にタイミング信号TIM(n)を与えるタイミング信号生成回路3_n(n=1〜N−1)、フレーム同期信号生成回路4およびコントローラ6の図示を省略した。
【0033】
図4のクロック生成回路20は、予め定められた複数種の周波数の何れかのクロックを生成して信号処理回路5_Nに供給する回路であり、タイミング信号生成回路30は、クロック生成回路20の生成するクロックに応じてタイミング信号を生成して信号処理回路5_Nに与える回路である。より詳細に説明すると、クロック生成回路20は、M(2以上の自然数)個のデコーダ20A_m(m=1〜M)、フリップフロップ20Bおよびセレクタ20Cを含んでいる。デコーダ20A_m(m=1〜M)の各々は、第1実施形態におけるデコーダ2A_nと同様に、カウント値CNTが予め定められた値である期間だけアクティブレベルとなる信号を出力する。ただし、デコーダ20A_m(m=1〜M)の各々がアクティブレベルの信号を出力する期間は互いに異なっている。セレクタ20Cは、外部から与えられる選択信号SELに応じてデコーダ20A_m(m=1〜M)の何れか1つを選択しその出力信号をフリップフロップ20Bに与え、フリップフロップ20Bはセレクタ20Cを介して受け取った信号をメインクロックMCLKの立ち上がりエッジによってサンプルホールドすることによりクロックCLK(N)を出力する。
【0034】
例えば、デコーダ20A_1についてはカウンタ値CNTが奇数である場合にアクティブレベルの信号を出力し、デコーダ20A_2についてはカウンタ値CNTを3で割った場合の余りが1または2である場合にアクティブレベルの信号を出力するように設定しておけば、デコーダ20A_1を選択する旨の選択信号SELをセレクタ20Cに与えることによってメインクロックMCLKに対する分周比が1/2(すなわち、147.456MHz)のクロックCLK(N)をクロック生成回路20に出力させることができ、デコーダ20A_2を選択する旨の選択信号SELをセレクタ20Cに与えることによってメインクロックMCLKに対する分周比が1/3(すなわち、98.304MHz)のクロックCLK(N)をクロック生成回路20に出力させることができる。つまり、本実施形態では、M個のデコーダ20A_mのうちの何れの出力信号をフリップフロップ20Bに与えるのかを選択することにより、信号処理回路5_Nに与えるクロックCLK(N)の周波数を切り換えることができるのである。
【0035】
タイミング信号生成回路30は、図4に示すように、M(2以上の自然数)個のデコーダ30A_m(m=1〜M)と、フリップフロップ30Bおよび30Cと、セレクタ30Dとを含んでいる。デコーダ30A_m(m=1〜M)の各々は、第1実施形態におけるデコーダ3A_nと同様に、カウント値CNTが予め定められた値である期間だけアクティブレベルとなる信号を出力する。ただし、デコーダ20A_mと同様に各デコーダ30A_mがアクティブレベルの信号を出力する期間は互いに異なっている。セレクタ30Dにはセレクタ20Cと同様に選択信号SELが与えられ、セレクタ30Dは選択信号SELの信号値に応じてデコーダ30A_m(m=1〜M)の何れか1つを選択しその出力信号Ta(N)をフリップフロップ30Bに与える。フリップフロップ30Bはセレクタ30Dを介して受け取った信号Ta(N)をメインクロックMCLKの立ち上がりエッジによってサンプルホールドすることにより信号Tb(N)を生成する。そして、フリップフロップ30Cはフリップフロップ30Bの出力信号Tb(N)をクロックCLK(N)の立ち上がりエッジによってサンプルホールドすることによりタイミング信号TIM(N)を生成する。このように、本実施形態では、M個のデコーダ30A_mのうちの何れの出力信号をフリップフロップ30Bに与えるのかを選択することにより、信号処理回路5_Nに与えるタイミング信号TIM(N)を切り換えているのである。
【0036】
ここで注目すべき点は、クロック生成回路20により生成されるクロックCLK(N)は、周波数が可変であるものの、カウンタ1のカウント値CNTに基づいて生成されるため、カウント値CNTが0から1に切り換るタイミングにおいてクロックCLK(n)(n=1〜N−1)とともに揃って立ち上がることに変わりはない、という点である。したがって、前述した第1実施形態と同様に信号処理回路5_n(n=1〜N−1)の何れとも信号処理回路5_Nの動作クロックが異なっている場合であっても、信号処理回路5_nと信号処理回路5_Nとの間でデータを受け渡すことができる。
【0037】
このように、複数の信号処理回路のなかに動作クロックが可変のものが含まれている場合であっても、それら複数の信号処理回路のうちの任意の1つから他の任意の1つへのデータの受け渡しを実現することができる。
【0038】
<C:第3実施形態>
図5は、本発明の第3実施形態のDSPの構成例を示すブロック図である。図5では図1におけるものと同じ構成要素には同一の符号が付されている。図5と図1とを対比すれば明らかように、本実施形態のDSPの構成は、フレーム同期信号生成回路4に換えてフレーム同期信号生成回路40を設けた点が、第1実施形態のDSPの構成と異なる。前掲図1のDSPでは、信号処理回路5_n(n=1〜N)の各々に共通のフレーム同期信号FSをフレーム同期信号生成回路4に生成させていたのであるが、本実施形態のフレーム同期信号生成回路40は、信号処理回路5_n(n=1〜N)の各々に与えるフレーム同期信号FS(n)をタイミング信号TIM(n)に同期させて信号処理回路5_n毎に生成する点に特徴がある。
【0039】
図6は、フレーム同期信号生成回路40の構成例を示すブロック図である。図6では、図3におけるものと同一の構成要素には同一の符号が付されている。図6と図3とを対比すれば明らかなように、フレーム同期信号生成回路40の構成は、デコーダ4Eを削除した点と、ANDゲート4Fに換えてANDゲート4F_n(n=1〜N)を設けた点がフレーム同期信号生成回路4の構成と異なっている。図6に示すように、ANDゲート4F_n(n=1〜N)の各々の一方の入力端子には、デコーダ4Dの出力信号Teが与えられ、他方の入力端子にはタイミング信号TIM(n)が与えられる。そして、ANDゲート4F_nは、デコーダ4Dの出力信号Teとタイミング信号TIM(n)の論理積を、信号処理回路5_nに与えるフレーム同期信号FS(n)として出力する。このように、本実施形態では、信号Tfに換えてタイミング信号TIM(n)を用いるようにしたため、デコーダ4Eは省略されているのである。
【0040】
第1実施形態のDSPのように、各信号処理回路5_nに共通のフレーム同期信号FSを与える態様では、フレーム同期信号FSの受け手側である信号処理回路5_nのクロックCLK(n)におけるフレーム同期信号のセットアップ時間を正しく求めるなどのタイミング解析が複雑になる虞がある。これに対して、本実施形態のように、各信号処理回路5_nに与えるフレーム同期信号FS(n)を、その信号処理回路5_nに与えるタイミング信号TIM(n)に同期させて信号処理回路5_n毎に生成するようにすれば、このタイミング信号TIM(n)はクロックCLK(n)に同期させて生成されたものであるため、複雑なタイミング解析を行う必要がなくなる、といった効果が得られるのである。
【0041】
<D:変形>
以上、この発明の第1〜第3実施形態について説明したが、これ以外にも、この発明には他の実施形態が考えられる。
(1)上述した第1〜第3実施形態では、入力音声信号に対する各種信号処理を信号処理回路5_n(n=1〜N)の各々によって施す場合について説明した。しかし、互いに異なる周波数の複数のクロックの各々により動作する複数の信号処理回路を動作させて1つのまとまった画像処理を実行するDSPに本発明を適用しても良い。
【0042】
(2)上述した第1〜第3実施形態では、クロックCLK(n)(n=1〜N)の全ての立ち上がりエッジが揃うタイミングをデータ受け渡しタイミングとしたが、クロックCLK(n)(n=1〜N)の全ての立ち下がりエッジが揃うタイミングをデータ受け渡しタイミングとしても勿論良い。
【0043】
(3)上述した第1〜第3実施形態では、信号処理回路5_n(n=1〜N)の各々に互いに周波数の異なるクロックCLK(n)を与えた。しかし、信号処理回路5_n(n=1〜N)のうちに、同じ周波数のクロックを与えられるものが複数含まれていても良い。また、上述した実施形態では、コントローラ6にデータ受信側信号処理回路を1つだけ指定させたが、複数のデータ受信側信号処理回路を指定させても良い。つまり、1つのデータ送信側信号処理回路から出力されるデータを、複数のデータ受信側信号処理回路に並列に受け渡して1つのまとまった信号処理を実現するようにしても良い。
【符号の説明】
【0044】
1,4C…カウンタ、2_n(n=1〜N),20…クロック生成回路、3_n(n=1〜N),30…タイミング信号生成回路、4,40…フレーム同期信号生成回路、5_n(k=1〜N)…信号処理回路、6…コントローラ、2A_n(n=1〜N),3A_n(n=1〜N),4A,4D,4E,20A_m(m=1〜M),30A_m(m=1〜M)…デコーダ、2B_n(n=1〜N),3B_n(n=1〜N),3C_n(n=1〜N),4B,20B,30B,30C…フリップフロップ、20C,30D…セレクタ,4F,4F_n(n=1〜N)…ANDゲート。

【特許請求の範囲】
【請求項1】
互いに周波数の異なったクロックを出力する複数のクロック生成回路と、
前記クロックに同期して各々信号処理を行う複数の信号処理回路と、
前記複数のクロック生成回路が出力する各クロックの周波数の公約数を周波数とするフレーム同期信号を生成するフレーム同期信号生成手段と、
前記複数の信号処理回路の1つをデータ送信側信号処理回路として指定するとともに、前記複数の信号処理回路の他の1つまたは複数をデータ受信側信号処理回路として指定し、前記複数のクロック生成回路が出力する各クロックの立ち上がりエッジまたは立ち下がりエッジが揃い、かつ前記フレーム同期信号がアクティブレベルとなっているデータ受け渡しタイミングにおいて、前記データ送信側信号処理回路から出力されるデータを取り込むように前記1または複数のデータ受信側信号処理回路を制御する制御手段と、
を具備することを特徴とするデジタル信号処理装置。
【請求項2】
メインクロックのカウントを行うカウンタをさらに備え、
前記複数のクロック生成回路の各々は、前記カウンタのカウント値が予め定められた値である期間だけアクティブレベルとなる信号を出力するデコーダと、当該デコーダの出力信号を前記メインクロックによってサンプリングしてクロックを生成するフリップフロップとを有し、
前記フレーム同期信号生成手段は、前記複数のクロック生成回路が出力する各クロックの立ち上がりエッジまたは立ち下がりエッジが揃うタイミングを跨ぐ所定時間長の期間だけ前記フレーム同期信号がアクティブレベルとなるように、前記カウンタのカウント値に基づいて前記フレーム同期信号を周期的にアクティブレベルとする
ことを特徴とする請求項1に記載のデジタル信号処理装置。
【請求項3】
前記複数のクロック生成回路のうちの少なくとも1つは、アクティブレベルとなる周期が各々異なる信号を出力する複数のデコーダを備え、外部から与えられる選択信号に応じて当該複数のデコーダのうちの何れかの出力信号を選択してフリップフロップに与えるセレクタをさらに備えていることを特徴とする請求項2に記載のデジタル信号処理装置。
【請求項4】
データの出力タイミングを指示するタイミング信号を各々生成して前記複数の信号処理回路に供給する複数のタイミング信号生成手段をさらに備え、
前記複数のタイミング信号生成手段は、
前記タイミング信号の供給先の信号処理回路に対するクロックにおいて、前記データ受け渡しタイミングの1クロック前のクロックの間、前記タイミング信号がアクティブレベルとなるように、前記カウンタのカウント値に基づいて前記タイミング信号を生成し、
前記信号処理回路は、
当該回路に与えられる前記タイミング信号がアクティブレベルである場合に、データを出力する
ことを特徴とする請求項2または3に記載のデジタル信号処理回路。
【請求項5】
前記フレーム同期信号生成手段は、前記複数の信号処理回路の各々に与えるフレーム同期信号を各信号処理回路に与えられる前記タイミング信号に同期させて信号処理回路毎に生成することを特徴とする請求項4に記載のデジタル信号処理装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−99059(P2012−99059A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−248430(P2010−248430)
【出願日】平成22年11月5日(2010.11.5)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】