JP2007257007A - 半導体集積回路及び音響信号処理装置 - Google Patents

半導体集積回路及び音響信号処理装置 Download PDF

Info

Publication number
JP2007257007A
JP2007257007A JP2006076705A JP2006076705A JP2007257007A JP 2007257007 A JP2007257007 A JP 2007257007A JP 2006076705 A JP2006076705 A JP 2006076705A JP 2006076705 A JP2006076705 A JP 2006076705A JP 2007257007 A JP2007257007 A JP 2007257007A
Authority
JP
Japan
Prior art keywords
cpu
dsp
integrated circuit
memory
operation mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006076705A
Other languages
English (en)
Other versions
JP4867412B2 (ja
Inventor
Ryuichi Kawamoto
隆一 河本
Tomomi Miyata
智美 宮田
Takaya Suzuki
貴也 鈴木
Eiichi Takeishi
永一 武石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2006076705A priority Critical patent/JP4867412B2/ja
Publication of JP2007257007A publication Critical patent/JP2007257007A/ja
Application granted granted Critical
Publication of JP4867412B2 publication Critical patent/JP4867412B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Microcomputers (AREA)

Abstract

【課題】 小型かつ低コストで、メモリ調停がCPUの動作速度に与える影響の小さい信号処理回路を実現する。
【解決手段】 CPU11と、CPU11の制御に従って信号処理を行うDSP12と、メモリバス34を接続して外部メモリにアクセス可能とするためのメモリI/O15と、内部RAM16とを備えた集積回路10において、CPU11に外部メモリに記憶しているプログラムを実行させ、DSP12のワークエリアを内部RAM16に設けると共に、DSP12から外部メモリへのアクセスを禁止する第1の動作モードと、CPU11に内部RAM16に記憶しているプログラムを実行させ、DSP12のワークエリアを外部メモリに設けると共に、CPU11から外部メモリへのアクセスを禁止する第2の動作モードとでの動作を可能とし、これらを切り替えるためのモード切替部13を設けた。
【選択図】 図1

Description

この発明は、CPUと、そのCPUの制御に従って信号処理を行うDSP(デジタル・シグナル・プロセッサ)とを備えた半導体集積回路及び、このような半導体集積回路を備えた音響信号処理装置に関する。
従来から、CPUと、そのCPUの制御に従って信号処理を行うDSPとを1チップの半導体集積回路(以下単に「集積回路」という)に作り込むことが行われている。そして、このような集積回路を動作させるには、CPUやDSPにワークエリアとして使用させるメモリや、CPUに実行させるプログラムを格納するメモリが必要となる。このためのメモリは、集積回路の内部に設けてもよいし、外部に用意してバスにより集積回路と接続してもよい。
しかし、どちらの場合も、CPUとDSPが同じバスを使用してメモリに同時にアクセスすることはできないため、同時にアクセス要求が生じた場合には、何らかの方法でその要求を調停する必要がある。
このような調停を行う技術はいくつか知られているが、調停に際しては、処理のリアルタイム性が重要なDSPからのメモリアクセスを優先することが知られている。例えば特許文献1には、同じメモリに対しCPUとDSPからアクセスが同時に発生した場合に、CPUにウェイト信号を供給してDSPからのアクセスを優先するアクセス制御手段が記載されている。
また、別の例として、特許文献2には、音源部が読み出す波形データとCPUが実行するプログラムとを同じ外部ROMに記憶させる場合に、ワークエリアとして使用する外部RAMにプログラムを読み出してコピーしておき、CPUがプログラムを実行する際には、音源部が外部ROMへのアクセスに使用するバスとは異なるバスを使用して上記の外部RAMにアクセスしてプログラムを読み出すようにすることが記載されている。
特許第2850707号公報 特許第3152198号公報
ところで、上記特許文献1に記載のように、DSPからのメモリアクセスを優先させると、CPUからのアクセスはその間待たされることになるため、CPUの実質的な動作速度が落ちることになる。CPUやDSPが使用するメモリを、全て集積回路の内部に設けるのであれば、メモリへの高速なアクセスが可能であるため、この点はあまり問題とならないが、集積回路の外部にメモリを設ける場合、アクセス速度がある程度遅くならざるを得ないため、問題となる。そして、近年のCPUは高速であるため、特にこの動作速度低下の影響が大きくなってしまう。
一般的には、CPU,DSP,メモリ等の複数のデバイスを1つの集積回路に集積することにより、システムのコストダウンを行うことができる。一方で、CPUやDSPが必要とするメモリの容量は、どのような機器に集積回路を搭載するかによって異なるため、広い用途に対応できるだけのメモリを集積回路の内部に設けてしまうと、コストが高くなってしまう。そこで、内部に設けるメモリはあまり増やすことができず、集積回路を搭載する各機器毎の仕様に応じて、場合によっては外部メモリを活用できるようにしたいという要求があった。
この要求に対応するためには、特許文献2に記載の技術を利用し、CPUとDSPとで外部メモリにアクセスするためのバスを分けることも考えられるが、このようにすると、バスが2組必要となるため、外部メモリと接続するための端子数が増加し、それを搭載する基板の配線パターンの複雑化やサイズの大型化、そしてこれらに伴うコストの増加を招くため、好ましくないという問題があった。
この発明は、このような問題を解決し、CPUとDSPとを備えた半導体集積回路において、小型かつ低コストで、メモリ調停がCPUの動作速度に与える影響の小さい回路を実現し、安定した信号処理を行えるようにすることを目的とする。
上記の目的を達成するため、この発明の半導体集積回路は、CPUと、そのCPUの制御に従って信号処理を行うDSPと、外部の第1の記憶手段を接続して上記CPU及び上記DSPからその第1の記憶手段にアクセス可能とするための接続手段と、上記CPU及び上記DSPからアクセス可能な第2の記憶手段とを備えた半導体集積回路において、上記CPUに上記第1の記憶手段に記憶しているプログラムを実行させ、上記DSPのワークエリアを上記第2の記憶手段に設けると共に、上記DSPから上記第1の記憶手段へのアクセスを禁止する第1の動作モードと、上記CPUに上記第2の記憶手段に記憶しているプログラムを実行させ、上記DSPのワークエリアを上記第1の記憶手段に設けると共に、上記CPUから上記第1の記憶手段へのアクセスを禁止する第2の動作モードとでの動作を可能とし、上記第1の動作モードと上記第2の動作モードとを切り替える切替手段を設けたものである。
このような半導体集積回路において、その半導体集積回路を上記第2の動作モードで動作させる場合に、まず上記CPUに上記第1の記憶手段からプログラムを読み出させて上記第2の記憶手段に記憶させ、その後、上記第2の動作モードでの動作に移行させる手段を設けるとよい。
また、この発明の音響信号処理装置は、上記の半導体集積回路を備え、上記DSPを音響信号処理手段としたものである。
以上のようなこの発明の半導体集積回路によれば、小型かつ低コストで、メモリ調停がCPUの動作速度に与える影響の小さい回路を実現することができる。また、この発明の音響信号処理装置によれば、小型かつ低コストで、安定した信号処理が可能となる。
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
まず、図1に、この発明の半導体集積回路の実施形態である集積回路を備えた、この発明の音響信号処理装置の実施形態の構成を示す。
このうち、集積回路10は1チップの大規模集積回路(LSI)であって、図1に示す通り、CPU11,DSP12,モード切替部13,メモリI/O(入出力部)14,15,内部RAM16,波形I/O17,タイマ18,MIDI(Musical Instruments Digital Interface:登録商標)I/O19,通信I/O20,パラレルポート21,操作子I/O22,外部CPUインタフェース23を備え、またこれらのうち必要な部分を接続するためのCPUバス24及びDSPバス25を備えている。
また、音響信号処理装置30のプリント基板は、集積回路10,外部ROM31,外部SRAM(Static RAM)32及び、外部SDRAM(Synchronous Dynamic RAM)33を搭載し、さらにこれらの外部メモリと集積回路10のメモリI/O15とを接続するためのメモリバス34のパターン(配線)を備えている。また、同基板は、ADC(アナログ・デジタル・コンバータ)35,DAC(デジタル・アナログ・コンバータ)36,音声入力端子37,音声出力端子38,操作子回路39,スイッチ/表示回路40を搭載し、さらにそれらと集積回路10とを接続するためのパターンを備えている。なお、このプリント基板は、1枚基板には限らず、複数枚で構成されていてもよい。
これらのうち、CPU11は、集積回路10の各部の動作を制御する制御手段であり、所要のプログラムを実行することにより、DSP12が実行する信号処理の内容の設定、タイマ18による計時、MIDII/O19や通信I/O20を介した通信、パラレルポート21や操作子I/O22を介した操作の検出及び表示器への表示等の制御を行う。
なお、CPU11が実行するプログラムは、外部ROM31に記憶させておくが、実行する際には、直接ここから読み出して実行してもよいし、予め読み出して内部RAM16等にコピーしておき、そこから読み出して実行してもよい。これらのどちらの動作を行うかは、集積回路10の動作モードによって異なるが、この点については後に詳述する。
DSP12は、波形I/O17を介して入力する音響信号に対し、ミキシング,イコライジング,エフェクト付与等の種々の動作を行い、波形I/O17を介して出力する音響信号処理手段である。実行する信号処理の内容は、CPU11がDSP12に設定するマイクロプログラムやパラメータの内容によって定められる。
モード切替部13は、設定されている動作モードに応じてメモリI/O14,15の動作を制御し、動作モードに応じたアクセス制御を行わせる機能を有する。そして、集積回路10においては、動作モードとして、CPU11に外部ROM31に記憶しているプログラムを実行させ、DSP12のワークエリアを内部RAM16に設ける第1の動作モードと、CPU11に内部RAM16に記憶しているプログラムを実行させ、DSP12のワークエリアを外部SRAM32又は外部SDRAM33に設ける第2の動作モードとを用意している。
動作モードの設定は、CPU11がモード切替部13に「0」または「1」を書き込むことにより行われる。電源オンした後の最初のブート時には、モード切替部13の動作モードは自動的に「0」に初期設定される。
なお、動作モードは音響信号処理装置の機種毎にメーカが決めるものであり、ユーザが動作モードの切り替えを行うことはない。外部ROM31にいずれの動作モードでも動作できるようなプログラムを用意する場合は、音響信号処理装置30のプリント基板上のディップスイッチやジャンパ線で動作モードを指定するようにして、それをCPU11がパラレルポート21を使って読み込み、指定された動作モードでの動作を行うようにすればよい。
メモリI/O14,15は、CPUバス24とDSPバス25の両方に接続し、これらのバスを介してなされるCPU11及びDSP12からのメモリへのアクセス要求に応じてメモリへのデータの読み書きを行うと共に、上述した動作モードに応じてアクセス要求を調停する機能を有する。メモリI/O14は、内部RAM16へのアクセス及びその調停を行い、メモリI/O15はメモリバス34に接続される外部メモリへのアクセスの切り替えを行う。
モード切替部13の動作モードが「0」に設定された場合には、メモリI/O15は、外部メモリのバスをCPUバス24に接続してCPU11からの外部メモリへのアクセスを可能にし、動作モードが「1」に設定された場合には、外部メモリのバスをDSPバス25に接続して、DSP12からの外部メモリへのアクセスを可能にする。従って、動作モードが「0」のとき、DSP12は外部メモリをアクセスすることができず、また、動作モードが「1」のとき、CPU11は外部メモリをアクセスすることができない。
一方、メモリI/O14は、内部RAM16に対するCPU11とDSP12の両方からのアクセスが可能になるよう、CPU11とDSP12から内部RAM16に対するアクセスの調停を行う。
内部RAM16は、CPU11及びDSP12のワークエリアとして使用したり、CPU11が実行するプログラムを一時的に記憶したりする記憶手段である。内部RAM16の記憶領域のどの部分をどの用途で用いるかは、DSP12については、CPU11によりDSP12内の特定のアドレスレジスタへ設定されたアドレス値におって決まり、CPU11については、CPUが実行するプログラムに埋め込まれたアドレス値によって決まる。これらは、音響信号処理装置30の開発時に、メーカーが各メモリ領域の割り当てを決めて設計したものである。また、内部RAM16は、SRAM,DRAM等の任意のメモリで構成できるが、高速でアクセス可能なメモリとすることが好ましい。
波形I/O17は、デジタル波形データの入出力を行うためのインタフェースであり、外部のADC35等から入力される波形データをDSP12に入力し、またDSP12による処理後の波形データを外部のDAC36等に出力する機能を有する。また、集積回路10を複数使用する場合に、波形バスを介して他の集積回路との間でオーディオ波形データの入出力を行う機能も有する。なお、音響信号処理装置30にデジタルの音声入出力端子があれば、ADC35やDAC36を介して波形データを入出力する必要はない。
タイマ18は、CPU11が、マルチタスク処理でのタスク切り換えや、操作子のスキャン周期の発生など、様々な目的で時間を計測するのに使用する計時手段である。
MIDII/O19は、外部回路との間でのMIDIデータを入出力する機能を有する。ここでは音響信号処理装置30側にMIDIデータを取り扱う機能を設けていないが、音響信号処理装置30にも適切なインタフェースを設ければ、電子楽器やPC(パーソナルコンピュータ)等が出力するMIDIデータを集積回路10に入力し、CPU11にそのMIDIデータの内容に従ってDSP12による信号処理の内容を変更させることも可能である。
通信I/O20は、外部CPUインタフェース23をCPUバス24に接続するためのインタフェースである。
パラレルポート21は、スイッチ/表示回路40のような外部回路との間でデジタル信号の入出力を行うためのインタフェースである。
操作子I/O22は、操作子回路39のような外部回路からのアナログ信号の入力を受け付け、これをデジタルデータに変換してCPU11による処理に供するためのインタフェースである。
外部CPUインタフェース23は、集積回路10を外部のCPUと接続し、その外部のCPUにより、CPU11,DSP12,モード切替部13,パラレルポート21,操作子I/O22等の動作を制御できるようにするためのインタフェースである。このインタフェースを設けたことにより、CPU11のみでは処理能力が不足する場合にも、外部のCPUを活用してこれを補うことができる。また、CPU11を実質的に動作させず、外部のCPUのみにより集積回路10の各ブロックを個別に制御することも可能である。なお、図1に示した例では、集積回路10の外部にCPUは設けていない。
また、外部ROM31は、CPU11が実行するプログラムや、その他変更する必要のないデータを記憶する記憶手段である。外部ROM31をフラッシュメモリ等の書き換え可能な不揮発性記憶手段により構成し、これらのデータをアップデートできるようにしてもよい。
外部SRAM32及び外部SDRAM33は、CPU11やDSP12のワークエリアを設けるための記憶手段である。SRAMは消費電力が小さく、DRAMは記憶容量の増加が容易であるという特徴があるため、通常のワークエリアとしての使用には前者が適し、DSP12で長時間の遅延を行う等、大容量のワークエリアが必要になる場合には、後者が適する。
なお、外部SRAM32と外部SDRAM33は両方を設ける必要はなく、また内部RAM16のみで十分なワークエリアを確保できるのであれば、どちらも設けなくてもよい。すなわち、外部メモリとしては、最低限外部ROM31を設ければよい。外部SRAM32と外部SDRAM33を破線で示したのは、このことを示すためである。
ADC35は、アナログの音声入力端子37から入力する音響信号をデジタルの波形データに変換して波形I/O17に出力する変換手段である。
DAC36は、波形I/O17から入力する波形データをアナログの音響信号に変換して音声出力端子38に出力する変換手段である。
操作子回路39は、可変抵抗等を利用して操作内容をアナログ信号として出力するスライダやノブ等の操作子を複数設けた回路である。操作子I/O22にはADCを備えており、CPU11は、操作子回路39が出力するアナログ信号をデジタルに変換して取り込むことができる。
スイッチ/表示回路40は、ボタンやキー等、操作内容を押下有無やオンオフのようなデジタル信号として出力する複数の操作子及び、CPU11やDSP12から受信したデータに基づき表示器にメッセージやパラメータの値等を表示させるための表示回路を備えた回路である。CPU11は、パラレルポート21を用いてこの操作子のスキャンを行い、各操作子のオンオフ状態を取り込むと共に、表示内容を制御するデータをパラレルポート21を介してこの表示回路に供給する。
以上のような音響信号処理装置30によれば、音声入力端子37から入力する音響信号に対し、集積回路10内のDSP12による種々の信号処理を行って、その結果を音声出力端子38から出力することができる。DSP12が行う信号処理の内容は、予め用意した選択肢の中から、ユーザが操作子回路39やスイッチ/表示回路40に設けた操作子により選択することができるし、信号処理のパラメータの値も、同様に設定することができる。そして、CPU11が操作子の操作に応じた信号処理を行わせるためのマイクロプログラムやパラメータの値のセットを生成し、DSP12に設定する。また、各部の制御は、ここでは全てをCPU11に担当させるようにしている。
次に、集積回路10、ひいては音響信号処理装置30を動作させる際にCPU11が実行する処理について説明する。
上述した通り、集積回路10は、CPU11に外部ROM31に記憶しているプログラムを実行させ、DSP12のワークエリアを内部RAM16に設ける第1の動作モードと、CPU11に内部RAM16に記憶しているプログラムを実行させ、DSP12のワークエリアを外部RAM(外部SRAM32又は外部SDRAM33)に設ける第2の動作モードとでの動作を可能としている。
しかし、CPU11が実行するプログラムは、初めは外部ROM31に記憶しているため、第2の動作モードの動作を行うためには、これを一旦読み出して内部RAM16に記憶させる必要がある。そこで、第2の動作モードでの動作が設定されていた場合でも、起動時には一旦第1の動作モードで動作を行い、プログラムの内部RAM16への記憶が完了した時点で、第2の動作モードに移行させるようにしている。
まず、この点に関してCPU11が起動時に実行する処理について説明する。
図2は、この処理のフローチャートを示す。
電源の投入あるいはリセット等により、音響信号処理装置30が起動されると、集積回路10も起動され、CPU11は、所定のアドレス(例えば0番地)からプログラムを読み出して実行することにより、図2のフローチャートに示す処理を開始する。なお、上記の「所定のアドレス」がどのメモリユニット内の位置を示すかはモード切替部13により設定可能であるが、ここでは、初期状態では「所定のアドレス」が外部ROM31内の位置を示すようにしてある。従って、ここではCPU11は外部ROM31からプログラムを読み出して実行する。
そして、図2に示す処理においては、まず図3のフローチャートに示すDSP初期化処理を行う(S11)。すなわち、DSP12の出力をミュートしてノイズが出力されないようにした後(S31)、DSP12に信号処理の内容を定める初期マイクロプログラムを設定する(S32)と共に、DSP12の全パラメータの値を初期値に設定する(S33)。
そしてその後、他ブロックの初期化処理(S12)も行い、これが完了すると、上述したディップスイッチ等による動作モードの指定、すなわち、プログラムの実行を現状のままの動作モード(初期状態では第1の動作モード)で続行するか、プログラムを内部RAM16に読み込む動作を行うかを規定するデータ「実行設定」を、パラレルポート等から読み込む(S13)。
そして、これが前者を示す「プログラム実行」であれば(S14)、そのままステップS15以下に進んで処理を続行する。すなわち、内部RAM16の所定のアドレス範囲をワークエリアとして使用するようにDSP12を設定し、DSP12にそのエリアをクリアさせる(S15)と共に、定常処理に移行するためにDSP12のミュートを解除して(S16)、定常処理に移行する。定常処理については、後述する。
一方、ステップS14で実行設定がプログラムを内部RAM16に読み込む動作を行うことを示す「プログラム読み込み」であった場合には、ステップS17以下の、第2の動作モードへの移行に係る処理を行う。
この処理では、まず外部ROM31から内部RAM16に、必要なプログラム及びデータを読み込む(S17)。この場合、図2のステップS19以降のプログラムが内部RAM16の所定のアドレス(例えば0番地)からの領域へ読み込まれる。第2の動作モードにおいては、CPU11は外部メモリに全くアクセスできないので、この時点で、CPU11の動作に必要なプログラム及びデータは全て読み込まなければならない。以上により、集積回路10を第2の動作モードに移行させる準備が完了する。
これらが完了した後、CPU11はモード切替部13のモードレジスタに動作モード「1」を書き込み(S18)、この書き込みをトリガとして自身をリセットして再起動する。ただし、このリセットの場合、集積回路10全体のリセットとは異なり、ステップS11,S12で行ったDSP12及びその他のブロックの設定や、ステップS18でモード切替部13に書き込んだ動作モード「1」は保存される。
そして、リセット後、CPU11は、内部RAM16の所定のアドレス(例えば0番地)からプログラムを読み出して実行することにより、ステップS20以降の処理を開始する。すなわち、外部RAM32ないし33の所定のアドレス範囲をワークエリアとして使用するようDSP12を設定し、DSP12にそのエリアをクリアさせる(S20)と共に、定常処理に移行するためにDSP12のミュートを解除して(S21)、定常処理に移行する。
以上の処理において、ステップS17乃至S21では、CPU11が切り替え手段として機能する。
なお、CPU11のワークエリアについては、第1の動作モードでも第2の動作モードでも、内部RAM16に設けておいてよい。しかし、第1の動作モードにおいては、内部RAM16に必要な領域を確保できない場合には、外部RAMに設けてもよい。
集積回路10は、CPU11が起動時に以上の図2に示した処理を行うことにより、第1の動作モードと第2の動作モードのうち、実行設定の初期値によって定められる任意の動作モードで動作することができる。また、いずれの動作モードで動作させる場合でも、CPU11が実行するプログラムを、起動時には外部ROM31に記憶させておくことができる。
また、各動作モードでの、CPU11が実行するプログラムを記憶する位置と、CPU11及びDSP12のワークエリアを設ける位置は、以下の表1に示す通りとなる。
Figure 2007257007
そして、第1の動作モードでは、CPUは基本的に外部ROM31からプログラムを読み出して実行するため、複雑な処理をする等のためにプログラムのサイズが大きくなる場合でも、それに応じて外部ROM31の容量を大きくすることにより、容易に対応可能である。
また、DSP12のワークエリアは内部RAM16に設けているため、DSP12が外部のメモリバス34にアクセスすることはなく、CPU11とDSP12とで、メモリバス34へのアクセスが競合することがない。従って、CPU11がアクセス要求を待たされて処理速度が遅延する事態は発生しない。
ただし、内部RAM16にCPU11のワークエリアを設ける場合、内部RAM16についてはCPU11とDSP12とからのアクセス要求が競合することが考えられる。しかし、内部RAM16は、アクセス速度を高速にすることができるので、例えばCPU11の動作クロックの2倍の速度でアクセスできるようにすれば、CPU11とDSP12からのアクセス要求が競合した場合でも、1クロック内に双方からのアクセスを交互に許可することができ、実質的にCPU11からのアクセス要求を遅延させずに済む。
コスト等の事情により、内部RAM16へのアクセス速度をCPU11の動作クロックの2倍にまで上げられない場合には、1クロック内にCPU11及びDSP12の双方からのアクセスを許可することができないが、この場合には、DSP12からのアクセス要求を優先させ、CPU11からのアクセス要求は待たせるようにするとよい。しかし、この場合でも、内部RAM16へのアクセス速度はメモリバス34を介した外部メモリへのアクセス速度よりも数倍速くすることは可能であるので、外部メモリへのアクセス要求が競合する場合に比べれば、遅延の影響ははるかに小さくて済む。むしろ、CPU11の処理速度は、主にプログラム読み出しの際の外部ROM31へのアクセス速度によって決まることになる。
なお、第1の動作モードであっても、CPU11のワークエリアを内部RAM16中に十分確保できる場合には、CPU11の実行するプログラムの中の実行頻度の高いルーチンや、参照頻度の高いパラメータ等を内部RAM16に配置するようにすれば、プログラムやデータの読み出し時間を短縮して処理を高速化することができる。
また、DSP12のワークエリアを内部RAM16中に確保するため、内部RAM16中にはCPU11のワークエリアを十分に確保できない場合も考えられるが、このような場合には、外部SRAM32にCPU11のワークエリアを確保するといった対応も可能である。そして、外部SRAM32の容量を増やすことにより、広いワークエリアも容易に確保することができる。もちろん、内部RAM16と外部SRAM32の双方にCPU11のワークエリアを確保してもよい。
しかし、第1の動作モードにおいては、DSP12のワークエリアを内部RAM16のみに確保するため、ワークエリアのサイズは内部RAM16のサイズに制限されるという欠点もある。そしてこのため、大容量の遅延メモリを必要とするような種類のエフェクトの実現は困難である。内部RAM16の容量を増加させれば実現も可能ではあるが、このようにすると集積回路10のコストアップに繋がってしまうためである。
従って、第1の動作モードは、集積回路10を、遅延メモリをあまり必要としないエフェクトしか備えていないエフェクタやそれを組み込んだアナログミキサ、あるいは複雑な制御が必要でプログラムの容量は大きくなるが大容量の遅延メモリは必要としないデジタルミキサ等に搭載する場合に有効であると言える。
一方、第2の動作モードの特徴は、概ねCPU11とDSP12の立場が第1の動作モードの場合と入れ替わったものである。
すなわち、CPU11が実行するプログラムを予め全て内部RAM16に読み込んでおき、またワークエリアやデータエリアも内部RAM16に設けているため、CPU11が外部のメモリバス34にアクセスすることはなく、CPU11とDSP12とで、メモリバス34へのアクセスが競合することがない。従って、CPU11がアクセス要求を待たされて処理速度が遅延する事態は発生しない。
DSP12のワークエリアも内部RAM16に設ける場合には、内部RAM16へのアクセスについての競合は発生するが、これがあまり問題とならないことは第1の動作モードの場合と同様である。
また、DSPは外部RAMをワークエリアとして使用できるので、外部RAMとして大容量のユニットを設ければ、大容量の遅延メモリが必要な種類のエフェクトも容易に実現することができる。
逆に、CPU11は、実行するプログラムを予め全て内部RAM16に読み込んだ上でワークエリアやデータエリアも内部RAM16に確保するため、プログラムのサイズが内部RAM16の容量により制限されてしまい、複雑な処理を実行することは困難である。
従って、第2の動作モードは、集積回路10を、操作子や表示が少なく、ユーザインタフェース等に関するCPU11の処理が簡単だが、長時間の遅延処理を必要とする種類のエフェクトを備えたエフェクタ等に搭載する場合に有効であると言える。
集積回路10は、このような第1の動作モードと第2の動作モードの2つの動作モードでの動作を可能としたことにより、メモリバス34へのアクセス競合が生じないようにしている。従って、メモリへのアクセスの調停がCPU11の動作速度に与える影響の小さい回路を実現し、安定した信号処理を行えるようにすることができる。
また、この場合において、外部のメモリバス34への接続部は1系統設けるのみでよいので、集積回路10の小型化と低コスト化が可能である。
さらに、適当な動作モードを選択すれば、集積回路10を広範な用途に利用可能とすることができため、大量生産が可能となり、このことによりコストダウンを図ることができる。
なお、集積回路10に内部RAM16を設けると、メモリの全てを外部メモリで賄う場合に比べ、集積回路10のチップサイズが大きくなると共に集積回路10の単価も増大する。また、集積回路10を、内部RAM16をあまり必要としない用途に使用する際には、その単価増大分のコストは無駄になってしまうことも考えられる。
しかし、2つの動作モードを使い分けることにより、内部RAM16をさほど大容量化しなくても、広範な用途に使用できる回路を構成することができるため、内部RAM16の容量をあまり必要としない用途の場合でも、設けた内部RAM16がほとんど無駄になってしまうようなケースは少ないと考えられる。一方で、内部RAM16を設けたことにより、メモリバス34への接続部が1系統であってもアクセス競合を回避でき、この点で搭載する基板上の配線パターンの複雑化やサイズの大型化を回避できるという効果もある。
このため、内部RAM16を設けたことにより、用途によっては集積回路10に無駄なメモリを搭載することになったとしても、量産効果及び、搭載する基板の単純化や小型化によりその欠点を補い、総合的に見ればコストダウンの効果を得ることができると言える。
次に、図2に示した起動時の処理の後でCPU11が実行する定常処理について説明する。図4は、その定常処理のフローチャートである。
図2に示した起動処理のステップS16の後、CPU11は、操作子回路39やスイッチ/表示回路40に設けた操作子により受け付けた指示に従ってDSP12における音響信号処理の内容を制御したり、受け付けた指示、音響信号処理の状態、あるいは設定されているパラメータの値等に応じてスイッチ/表示回路40に接続された表示器に表示を行わせたりするための定常処理を行う。
この処理は、集積回路10を搭載する機種毎に異なる処理であるが、基本的な処理の流れとしては(動作モードにも関係なく)図4の通りである。すなわち、操作子の操作や時間の経過、エラーの発生等のイベントを検出すると(S51)、そのイベントに応じた処理を行う(S52)ものである。なお、イベントの検出及びイベントに応じた処理は、複数並列して行うことができる。
そして、イベントに応じた処理は、例えば操作子の操作イベントに応じた処理であれば、図5に示すようなものである。
すなわち、CPU11は、操作子の操作を検出した場合には、まずその操作に応じてCPU11のワークエリア内の動作データ(DSP12による信号処理の内容や音響信号処理装置30の動作状態を規定するデータ)の値を更新する(S61)。
この処理としては、例えば音響信号処理装置30をデジタルミキサとして構成する場合には、フェーダやノブの操作に応じて、チャンネル(ch)フェーダやセンドレベルのゲイン、グラフィカルイコライザ(GEQ)やコンプレッサのパラメータといった、各種バリュー動作データを更新したり、オンオフスイッチの操作に応じて、chオンスイッチ、センドオンスイッチ、GEQオンスイッチ、コンプレッサオンスイッチ、フィルタオンオフ等の各種オンオフ動作データを更新したりすることが考えられる。
また、音響信号処理装置30をエフェクタとして構成する場合には、オンオフスイッチの操作に応じてエフェクトタイプ、エフェクトオン、オプションオンといった各種選択/オンオフ動作データを更新したり、ノブの操作に応じて、エフェクトのかかる深さ、エフェクトのかかるポイント(周波数やタイミング等)、周期性エフェクトの場合にはその周期といった各種バリュー動作データを更新したりすることが考えられる。
そして、ステップS61の後、更新後の動作データの値に応じてDSPに設定すべき係数やマイクロプログラムがあればこれらを生成して(S62)、生成した係数及びマイクロプログラムをDSP12に設定する(S63)。
以上の処理により、操作子の操作に応じてDSP12に実行させる信号処理の内容を変更することができる。
また、図6に、操作子の操作イベントに応じた処理のより具体的な例として、エフェクトタイプ選択イベントに応じた処理のフローチャートを示す。
この処理においては、CPU11はまず、検出したイベントに応じてCPU11のワークエリア内の動作データの値を更新する(S71)と共に、マイクロプログラムやパラメータの変更時にノイズが出力されないよう、DSP12のうちエフェクトタイプ選択イベントのあったブロックをミュートする(S72)。ここで、ブロックとは、DSP12の処理能力を仮想的に区切った単位であり、エフェクトの種類を設定する単位である。
ステップS72の後は、新たに選択されたエフェクトタイプで使用するマイクロプログラムが現在DSP12に設定されているものと同じでなければ(S73)、選択されたエフェクトタイプと対応するマイクロプログラムを生成してDSP12に設定する(S74)。なお、ステップS73でYESになる場合とは、パラメータの変更のみでエフェクトタイプの変更に対応できる場合であり、例えばスイッチの押下により複数種類のリバーブが選択可能な状態において、あるリバーブから別の種類のリバーブに選択が変更された場合等である。
そして、ステップS73又はS74の後は、DSP12のワークエリアのうち、選択イベントのあったブロックと対応するエリアをクリアする(S75)と共に、選択されたエフェクトタイプについての初期係数セットを生成して選択イベントのあったブロックと対応するエリアに設定し(S76)、ステップS72でミュートしたブロックのミュートを解除して(S77)、処理を終了する。
なお、ステップS75でワークエリアをクリアした際に、ワークエリアの位置やサイズを変更できるようにしてもよい。
以上でこの実施形態の説明を終了するが、回路及び装置の構成や具体的な処理内容等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、上述した実施形態においては、CPU11に起動時に実行させるプログラムとして、図2のフローチャートに示したような、第1の動作モードと第2の動作モードの両方に対応可能なプログラムを外部ROM31に記憶させておく例について説明した。
このようなプログラムを用いれば、1つのプログラムで定常処理時に第1の動作モードで動作する1機種の音響信号処理装置と、定常処理時に第2の動作モードで動作する1機種の音響信号処理装置の、計2機種の装置に対応可能とすることができるが、いずれか一方の動作モードで動作する装置専用のプログラムを用いてもよい。
例えば、第1の動作モードで動作する装置専用にするのであれば、CPU11に図2のステップS11,S12,S15,S16及びそれ以降の処理を実行させるためのプログラムを用いればよく、第2の動作モードで動作する装置専用にするのであれば、CPU11に図2のステップS11,S12,S17,S18及びそれ以降の処理を実行させるためのプログラムを用いればよい。
このようにすれば、実際には使用しない動作モードのためのプログラムを外部ROM31に記憶させなくてよいので、外部ROM31に必要な記憶容量を低減することができる。また、いずれの動作モードで動作するかは、各機種毎に1つに決まっているため、この場合のプログラムには、図2のステップS13,S14に相当する実行設定に応じた分岐の処理は必要ない。
また、内部RAM16へのアクセス速度が十分速くない場合には、内部RAM16に対するアクセスの競合も防止するため、内部RAM16に対するアクセスについても、以下のような禁止を行うようにしてもよい。
すなわち、第1の動作モードでは、CPU11のワークエリアを外部メモリのみに設け、メモリI/O14に、CPU11から内部RAM16へのアクセスを禁止させるようにしてもよい。また、第2の動作モードでは、DSP12のワークエリアを外部メモリのみに設け、メモリI/O14に、CPU11から内部RAM16へのアクセスを禁止させるようにしてもよい。
また、集積回路10を第2の動作モードで動作させる場合において、内部RAM16へのプログラムの書き込みを、CPU11が行うことは必須ではない。集積回路10の外部にも別のCPUを設ける場合には、そのCPUが任意のメモリからCPU11に実行させるプログラムを読み出して、外部CPUインタフェース23や通信I/O20を介して内部RAM16に記憶させてもよい。このプログラムは、音響信号処理装置30の外部からダウンロードしたものでも構わない。そして、この場合には、集積回路10を、起動当初から、第2の動作モードで動作させることもできる。
また、この発明の半導体集積回路の用途及びこの発明の音響信号処理装置の適用範囲がミキサやエフェクタに限られないことは、もちろんである。
以上の説明から明らかなように、この発明の半導体集積回路によれば、小型かつ低コストで、メモリ調停がCPUの動作速度に与える影響の小さい回路を実現することができる。また、この発明の音響信号処理装置によれば、小型かつ低コストで、安定した信号処理が可能となる。従って、この発明を適用することにより、小型かつ低コストの信号処理装置を提供することができる。
この発明の半導体集積回路の実施形態である集積回路を備えた、この発明の音響信号処理装置の実施形態の構成を示すブロック図である。 図1に示したCPUが起動時に実行する処理のフローチャートである。 図2に示したDSP初期化処理のフローチャートである。 図2に示した定常処理のフローチャートである。 図4に示した定常処理中でCPUが実行する、操作子の操作イベントに応じた処理のフローチャートである。 そのより具体的な例である、エフェクトタイプ選択イベントに応じた処理のフローチャートである。
符号の説明
10…集積回路、11…CPU、12…DSP、13…モード切替部、14,15…メモリI/O、16…内部RAM、17…波形I/O、18…タイマ、19…MIDII/O、20…通信I/O、21…パラレルポート、22…操作子I/O、23…外部CPUインタフェース、24…CPUバス、25…DSPバス、30…音響信号処理装置、31…外部ROM、32…外部SRAM、33…外部SDRAM、34…メモリバス、35…ADC、36…DAC、37…音声入力端子、38…音声出力端子、39…操作子回路、40…スイッチ/表示回路

Claims (3)

  1. CPUと、該CPUの制御に従って信号処理を行うDSPと、外部の第1の記憶手段を接続して前記CPU及び前記DSPから該第1の記憶手段にアクセス可能とするための接続手段と、前記CPU及び前記DSPからアクセス可能な第2の記憶手段とを備えた半導体集積回路であって、
    前記CPUに前記第1の記憶手段に記憶しているプログラムを実行させ、前記DSPのワークエリアを前記第2の記憶手段に設けると共に、前記DSPから前記第1の記憶手段へのアクセスを禁止する第1の動作モードと、
    前記CPUに前記第2の記憶手段に記憶しているプログラムを実行させ、前記DSPのワークエリアを前記第1の記憶手段に設けると共に、前記CPUから前記第1の記憶手段へのアクセスを禁止する第2の動作モードとでの動作を可能とし、
    前記第1の動作モードと前記第2の動作モードとを切り替える切替手段を設けたことを特徴とする半導体集積回路。
  2. 請求項1記載の半導体集積回路であって、
    当該半導体集積回路を前記第2の動作モードで動作させる場合に、まず前記CPUに前記第1の記憶手段からプログラムを読み出させて前記第2の記憶手段に記憶させ、その後、前記第2の動作モードでの動作に移行させる手段を設けたことを特徴とする半導体集積回路。
  3. 請求項1又は2記載の半導体集積回路を備え、前記DSPが音響信号処理手段である音響信号処理装置。
JP2006076705A 2006-03-20 2006-03-20 半導体集積回路及び音響信号処理装置 Expired - Fee Related JP4867412B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006076705A JP4867412B2 (ja) 2006-03-20 2006-03-20 半導体集積回路及び音響信号処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006076705A JP4867412B2 (ja) 2006-03-20 2006-03-20 半導体集積回路及び音響信号処理装置

Publications (2)

Publication Number Publication Date
JP2007257007A true JP2007257007A (ja) 2007-10-04
JP4867412B2 JP4867412B2 (ja) 2012-02-01

Family

ID=38631244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006076705A Expired - Fee Related JP4867412B2 (ja) 2006-03-20 2006-03-20 半導体集積回路及び音響信号処理装置

Country Status (1)

Country Link
JP (1) JP4867412B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0713561A (ja) * 1993-06-15 1995-01-17 Yamaha Corp 楽音制御装置
JPH11167517A (ja) * 1997-12-04 1999-06-22 Yamaha Corp 信号処理装置
JPH11202866A (ja) * 1998-01-07 1999-07-30 Yamaha Corp 楽音発生方法および楽音発生装置
JPH11202864A (ja) * 1998-01-07 1999-07-30 Yamaha Corp 楽音発生回路
JP2005151535A (ja) * 1995-10-09 2005-06-09 Renesas Technology Corp 端末装置
JP2005182557A (ja) * 2003-12-22 2005-07-07 Kawai Musical Instr Mfg Co Ltd 信号処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0713561A (ja) * 1993-06-15 1995-01-17 Yamaha Corp 楽音制御装置
JP2005151535A (ja) * 1995-10-09 2005-06-09 Renesas Technology Corp 端末装置
JPH11167517A (ja) * 1997-12-04 1999-06-22 Yamaha Corp 信号処理装置
JPH11202866A (ja) * 1998-01-07 1999-07-30 Yamaha Corp 楽音発生方法および楽音発生装置
JPH11202864A (ja) * 1998-01-07 1999-07-30 Yamaha Corp 楽音発生回路
JP2005182557A (ja) * 2003-12-22 2005-07-07 Kawai Musical Instr Mfg Co Ltd 信号処理装置

Also Published As

Publication number Publication date
JP4867412B2 (ja) 2012-02-01

Similar Documents

Publication Publication Date Title
JP2007047993A (ja) 制御回路、それを用いた電子機器およびファームウェアの更新方法
JPH08106375A (ja) 信号処理演算器
US5567900A (en) Electronic tone generator system with CPU and DSP
JP4867412B2 (ja) 半導体集積回路及び音響信号処理装置
US8957295B2 (en) Sound generation apparatus
JP2008041059A (ja) マルチプロセッサ制御装置及び情報処理装置
JPH11202864A (ja) 楽音発生回路
JP4961788B2 (ja) 半導体集積回路、音響信号処理装置及び操作装置
JP3152198B2 (ja) 楽音発生方法および楽音発生装置
US7734860B2 (en) Signal processor
JP5229990B2 (ja) 1チップ電子楽音発生器
JP3781171B2 (ja) 楽音発生方法
JP5267057B2 (ja) デジタル信号処理装置
JP2010181723A (ja) 信号処理集積回路及び効果付与装置
JP2005100131A (ja) パラメータ設定装置およびパラメータ設定プログラム
JP4354268B2 (ja) 信号処理装置
JP2014112198A (ja) 音発生装置
JP5228579B2 (ja) 楽音発生装置用の集積回路
JP2008065549A (ja) マイクロコンピュータ、情報処理システム、電子機器及びマイクロコンピュータの起動制御方法
JP4642348B2 (ja) データ処理用lsi
JP2003216420A (ja) 機能可変型dsp装置およびその制御方法およびその制御プログラム
JP2004015698A (ja) プログラムカウンタ回路
JPH09128221A (ja) 信号処理装置
JP2014092723A (ja) 音発生装置
WO2005062183A1 (ja) 共有メモリに対するアクセス競合処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111031

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees