JP4400373B2 - Data processing circuit - Google Patents
Data processing circuit Download PDFInfo
- Publication number
- JP4400373B2 JP4400373B2 JP2004240706A JP2004240706A JP4400373B2 JP 4400373 B2 JP4400373 B2 JP 4400373B2 JP 2004240706 A JP2004240706 A JP 2004240706A JP 2004240706 A JP2004240706 A JP 2004240706A JP 4400373 B2 JP4400373 B2 JP 4400373B2
- Authority
- JP
- Japan
- Prior art keywords
- coefficient
- program
- memory
- new
- ram
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Description
本発明は、ディジタル楽音信号の生成等に用いて好適なデータ処理回路に関する。 The present invention relates to a data processing circuit suitable for use in generating a digital musical tone signal.
楽音信号をディジタル技術によって生成する場合、音源回路によって生成したディジタル楽音信号(PCM(Pulse Code Moduration)データ)や、外部から受けたPCMデータを効果付与回路へ入力し、この効果付与回路においてエフェクト(効果)や立体音響効果を付与することが行われる。この効果付与回路は、FIRフィルタやIIRフィルタ等の複数のディジタルフィルタを有して構成され、通常、各フィルタはDSP(ディジタルシグナルプロセッサ)によって構成される。 When a musical sound signal is generated by digital technology, a digital musical sound signal (PCM (Pulse Code Moduration) data) generated by a tone generator circuit or PCM data received from the outside is input to an effect applying circuit, and an effect ( Effect) and a stereophonic effect. This effect applying circuit is configured to include a plurality of digital filters such as an FIR filter and an IIR filter, and each filter is generally configured by a DSP (digital signal processor).
DSPは、周知のように、内部にプログラムRAM(ランダムアクセスメモリ)、係数RAM、楽音データが一時記憶されるデータRAM、演算回路等を有し、プログラムRAM内のプログラムに基づいてデータRAMから楽音データが読み出され、その楽音データに対し演算回路において、プログラムRAMから読み出されたプログラムおよび係数RAMから読み出された係数に基づいてフィルタ演算が行われる。そして、その演算結果が次段のDAC(ディジタル/アナログコンバータ)によってアナログ信号に変換され、スピーカへ出力される。 As is well known, the DSP has a program RAM (random access memory), a coefficient RAM, a data RAM in which musical tone data is temporarily stored, an arithmetic circuit, and the like, and from the data RAM based on a program in the program RAM. Data is read out, and a filter operation is performed on the musical tone data based on the program read from the program RAM and the coefficient read from the coefficient RAM in the arithmetic circuit. Then, the calculation result is converted into an analog signal by a next-stage DAC (digital / analog converter) and output to a speaker.
また、DSPにおけるPCMデータの処理においては、多彩な楽音を生成するため、上述した演算回路の係数をしばしば変化させる。この処理は、外部のCPU(中央処理装置)から出力される係数によって上記の係数RAMを書き換えることによって行われる。しかし、係数RAMをいきなり書き換えると、PCMデータにノイズが乗ってしまう問題がある。そこで、係数RAMを2個設け、書き換えるべき係数を第2の係数RAMに書き込み、現在使用されている第1の係数RAMの係数から第2の係数RAMの係数へ徐々に係数を変化させる係数補間回路が設けられている。
なお、本願に関わる従来の技術文献として特許文献1〜3が知られている。
ところで、上述したDSPにおいては、楽音データの処理途中においてプログラムの変更が行われる場合がある。この場合、同時に係数の変更も行われる。このプログラム変更においては、CPUから出力されたプログラムがプログラムRAMに書き込まれ、また、この書き込み動作中はプログラムRAMの出力がNOP(NO−オペレーション)に変更される。またこの時、同時にCPUから係数が出力され、この係数が上述した第2の係数RAMに書き込まれる。 By the way, in the above-described DSP, there is a case where a program is changed during the processing of musical sound data. In this case, the coefficient is also changed at the same time. In this program change, the program output from the CPU is written into the program RAM, and the output of the program RAM is changed to NOP (NO-operation) during this write operation. At this time, a coefficient is simultaneously output from the CPU, and this coefficient is written into the above-described second coefficient RAM.
しかしながら、このようなプログラム変更処理にあっては、変更前のプログラムの係数が第1の係数RAM内にあり、変更後のプログラムの係数が第2の係数RAMに書き込まれることから、プログラム変更前の係数とプログラム変更後の係数との間において上述した補間処理が行われることになり、補間処理後に得られる係数が本来の係数と全く違う係数となり、この結果、出力されるPCMデータにノイズが含まれてしまう。
本発明は上記事情を考慮してなされたもので、その目的は、プログラム変更時においても出力にノイズが含まれることがないデータ処理回路を提供することにある。
However, in such a program change process, the coefficient of the program before the change is in the first coefficient RAM, and the coefficient of the program after the change is written in the second coefficient RAM. Thus, the interpolation processing described above is performed between the coefficient and the coefficient after the program change, and the coefficient obtained after the interpolation processing is completely different from the original coefficient. As a result, noise is present in the output PCM data. It will be included.
The present invention has been made in view of the above circumstances, and an object thereof is to provide a data processing circuit in which noise is not included in the output even when a program is changed.
この発明は上記の課題を解決するためになされたもので、本発明は、プログラムが記憶されたプログラムメモリと、係数が記憶された係数メモリと、前記プログラムメモリ内のプログラムおよび前記係数メモリ内の係数を読み出すプログラムカウンタと、前記プログラムおよび前記係数に従って動作する演算回路とを具備するデータ処理回路において、前記係数の変更後の新係数が記憶される新係数メモリと、前記係数の変更前の旧係数が記憶される旧係数メモリと、前記旧係数メモリ内の係数から新係数メモリ内の係数に向かって順次変化する係数を生成し、前記演算回路へ出力する係数補間手段と、前記プログラムおよび係数の変更指示を受けると、前記新係数メモリと前記旧係数メモリを共に新係数に書き換える書き換え手段とを具備することを特徴とするデータ処理回路である。 The present invention has been made to solve the above problems, and the present invention provides a program memory in which a program is stored, a coefficient memory in which a coefficient is stored, a program in the program memory, and a program in the coefficient memory. In a data processing circuit comprising a program counter for reading a coefficient, and an arithmetic circuit that operates according to the program and the coefficient, a new coefficient memory for storing the new coefficient after the change of the coefficient, and an old one before the change of the coefficient An old coefficient memory in which coefficients are stored, a coefficient interpolating means for sequentially generating coefficients from the coefficients in the old coefficient memory toward the coefficients in the new coefficient memory, and outputting them to the arithmetic circuit; the program and the coefficients Upon receiving the change instruction, and a rewriting means for rewriting said new coefficient memory are both new coefficients the old coefficient memory A data processing circuit according to claim Rukoto.
本発明は、プログラムが記憶されたプログラムメモリと、係数が記憶された係数メモリと、前記プログラムメモリ内のプログラムおよび前記係数メモリ内の係数を読み出すプログラムカウンタと、前記プログラムおよび前記係数に従って動作する演算回路とを具備するデータ処理回路において、前記係数の変更後の新係数が記憶される新係数メモリと、前記係数の変更前の旧係数が記憶される旧係数メモリと、前記新係数と前記旧係数とを補間した係数が記憶される中間係数メモリと、前記新係数メモリ内の係数と前記旧係数メモリ内の係数との差分の1/X(Xは1より大きい実数)を求める減算手段と、前記減算手段の出力と中間係数メモリ内の係数とを加算し、加算結果を前記演算回路へ出力すると共に前記中間係数メモリに書き込む係数補間手段と、前記プログラムおよび係数の変更指示を受けると、前記新係数メモリ、前記旧係数メモリおよび前記中間係数メモリを共に新係数に書き換える書き換え手段とを具備することを特徴とするデータ処理回路。
本発明は、前記プログラムおよび係数の変更指示を受けると、前記演算回路に動作を中止させる命令を出力する手段を具備することを特徴とする請求項1又は請求項2に記載のデータ処理回路。 The present invention includes a program memory in which a program is stored, a coefficient memory in which a coefficient is stored, a program counter that reads a program in the program memory and a coefficient in the coefficient memory, and an operation that operates according to the program and the coefficient A new coefficient memory for storing the new coefficient after the change of the coefficient, an old coefficient memory for storing the old coefficient before the change of the coefficient, the new coefficient and the old An intermediate coefficient memory in which a coefficient interpolated with the coefficient is stored, and a subtracting means for obtaining 1 / X (X is a real number greater than 1) of a difference between the coefficient in the new coefficient memory and the coefficient in the old coefficient memory; The output of the subtracting means and the coefficient in the intermediate coefficient memory are added, and the addition result is output to the arithmetic circuit and written to the intermediate coefficient memory. The number interpolating means, when receiving a change instruction of the program and coefficients, said new coefficient memory, the old coefficient memory and a data processing circuit which is characterized by comprising a rewriting unit operable to rewrite the intermediate coefficient memory are both new coefficients .
The present invention receives a change instruction of the program and the coefficient, the data processing circuit according to
この発明によれば、プログラム変更時においても出力にノイズが含まれることがない利点が得られ、特に、ディジタル楽音信号の生成に用いて好適である。 According to the present invention, there is an advantage that noise is not included in the output even when the program is changed, and it is particularly suitable for generating a digital musical tone signal.
以下、図面を参照し、この発明の実施の形態について説明する。図1はこの発明の一実施の形態によるデータ処理回路(以下、DSP(ディジタルシグナルプロセッサ)という)を適用した楽音信号生成回路Gの構成を示すブロック図、 図2は図1に示す楽音信号生成回路Gを用いた携帯電話機の構成を示すブロック図である。図2において、符号1は回路各部を制御するCPU(中央処理装置)であり、通常の通信、通話処理を行うと共に、ゲームプログラムの処理等を行う。2はCPU1において実行されるプログラム、すなわち、通信・通話処理プログラム、ゲームプログラム、音楽再生処理プログラム等が記憶されたROM(リードオンリメモリ)である。3はデータ記憶用の不揮発性RAM(ランダムアクセスメモリ)であり、CPU1が各処理の過程においてデータを一時記憶させる。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a musical tone signal generation circuit G to which a data processing circuit (hereinafter referred to as a DSP (digital signal processor)) according to an embodiment of the present invention is applied, and FIG. 2 is a musical tone signal generation shown in FIG. 2 is a block diagram illustrating a configuration of a mobile phone using a circuit G. FIG. In FIG. 2,
4は電話番号入力用のテンキー、各種ファンクションキー等が設けられた入力部、5は液晶表示器による表示部である。6はアンテナ7を有する通信部であり、送信データによって搬送波を変調してアンテナ7から送信し、また、アンテナ7を介して受信した着信信号を復調してCPU1または音声処理部8へ出力する。音声処理部8はマイクロフォン9から出力された音声信号をディジタルデータに変換し、さらに圧縮し送信データとして通信部6へ出力し、また、通信部6から出力される圧縮音声データを伸張し、アナログ音声信号に変換してスピーカ10へ出力する。楽音信号生成回路Gは、着信メロディ、ゲームの効果音楽,鑑賞用音楽等、各種の楽音信号を生成し、スピーカ16へ出力する。
4 is an input unit provided with a numeric keypad for inputting a telephone number and various function keys , and 5 is a display unit using a liquid crystal display. 6 is a communication unit having an
次に、図1を参照して楽音信号生成回路Gについて詳述する。
図1において、12はCPU1からバスラインBを介して供給される各種のデータおよび制御命令が一時記憶されるバッファレジスタである。13は音源回路であり、CPU1からバッファレジスタ12を介して着信メロディ生成指令を受けて着信メロディのディジタル楽音信号(PCMデータ)を生成して出力する。また、CPU1からゲームの効果音の生成指令を受けた時は、ゲームの効果音のPCMデータを生成して出力する。DSP14は、音源回路13から出力されるディジタル楽音信号にエフェクト、立体音響効果(3D)、ワイドステレオ効果を付与してDAC(ディジタル/アナログプロセッサ)15へ出力する。DAC15はDSP14から出力されるディジタル楽音信号をアナログ楽音信号に変換し、スピーカ16へ出力する。
Next, the tone signal generation circuit G will be described in detail with reference to FIG.
In FIG. 1,
次に、DSP14において、21はデータRAMであり、音源回路13から出力されるPCMデータを一時記憶し、記憶したデータをプログラムRAM22から出力されるプログラムに従って演算回路23へ出力する。演算回路23はデータRAM21から出力されるPCMデータに、プログラムRAM22から出力されるプログラムが指定する演算を行って出力する。この場合、演算係数としてセレクタ43から出力される係数Kが用いられる。24はバッファメモリであり、演算回路23から出力されるPCMデータを一時記憶し、クロックパルスCLK1のタイミングでDAC15へ出力する。ここで、クロックパルスCLK1はPCMデータのサンプリング周波数と同じ周波数(48KHz)のクロックパルスである。
Next, in the
プログラムRAM22は、予め、エフェクト用プログラム、立体音響効果用プログラム、ワイドステレオ効果用プログラム等が各々記憶されたRAMであり、各プログラムはCPU1から出力されるプログラムによって書き換え可能である。このプログラムRAM22は、最大768ステップのプログラムが記憶できるもので、各ステップがプログラムカウンタ27から出力されるアドレスデータに従って順次読み出され出力される。例えば、エフェクト用プログラム、立体音響効果用プログラム、ワイドステレオ効果用プログラム等の1つまたは複数が768ステップに記憶されている。そして、アドレス端子へ供給されるプログラムカウンタ27のカウント出力に従って、エフェクト用プログラムが読み出され、これにより、データRAM21から出力されるPCMデータにエフェクトが付与されたり、立体音響効果用プログラムが読み出されたり、また、ワイドステレオ効果用プログラムが読み出され、これによりPCMデータにワイドステレオ効果が付与される。プログラムカウンタ27は768進のカウンタであり、次式の周波数のクロックパルスCLK2に従って0〜767のカウント出力を繰り返し出力する。
周波数=48KHz×768=36.864MHz
The
Frequency = 48KHz × 768 = 36.864MHz
31〜34はいずれも演算回路23において使用される演算係数が記憶される係数RAMであり、係数RAM(前段)31、係数RAM(新)32、係数RAM(中間)34は各々768ワード(1ワード=16ビット)の記憶容量を有し、係数RAM(旧)33は768バイトの記憶容量を有している。ここで、係数のビット数は16であり、したがって、係数RAM(前段)31、係数RAM(新)32、係数RAM(中間)34は各々768個の係数を記憶可能であり、また、係数RAM(旧)33は768個の係数の上位8ビットが記憶可能である。また、各係数RAM31〜34のアドレス端子にはいずれもプログラムカウンタ27のカウント出力が加えられており、プログラムカウンタ27のカウント出力によって指定されるアドレスに対しデータ書き込み/読み出しが行われる。すなわち、係数RAM31〜34内の各係数は各々プログラムRAM22の各プログラムステップに対応している。
31 to 34 are coefficient RAMs for storing calculation coefficients used in the
また、係数RAM(前段)31はCPU1から出力される係数によって書き換えられ、また、係数RAM(新)32は係数RAM(前段)31から出力される係数によって書き換えられる。また、係数RAM(旧)33は係数RAM(前段)31またはセレクタ43から出力される係数によって書き換えられる。この場合、セレクタ36によって入力データの切り換えが行われる。また、係数RAM(中間)34は係数RAM(前段)31またはセレクタ43から出力される係数によって書き換えられる。この場合、セレクタ37によって入力データの切り換えが行われる。
Further, the coefficient RAM (previous stage) 31 is rewritten by the coefficient output from the
40は係数補間回路である。この係数補間回路40は係数変更の場合に、いきなり係数を変更すると、出力されるPCMデータにノイズが含まれる虞があるので、変更前の係数から変更後の係数まで、クロックパルスCLK1の256クロックタイムをかけて徐々に係数を変化させるための回路であり、係数RAM(新)32の出力の上位8ビットから係数RAM(旧)33の出力を減算する減算回路41と、減算回路41の出力と係数RAM(中間)34の出力とを加算する加算回路42と、係数RAM(新)32の出力または加算回路42の出力の一方を選択し、係数Kとして演算回路23へ出力するセレクタ43と、補間終了を判定する終了判定回路44とから構成されている。なお、この係数補間回路40の動作は後に詳述する。
51、52は各々スタートレジスタおよびエンドレジスタであり、プログラム変更時において、CPU1から出力される変更すべきプログラムのスタートアドレスおよびエンドアドレスが書き込まれる。例えば、プログラムRAM22のアドレス0〜150に記憶されているエフェクト用プログラムの書き換えが行われる時は、スタートレジスタ51に「0」が、エンドレジスタ52に「150」が書き込まれる。54は比較回路であり、プログラムカウンタ27の出力と、スタートレジスタ51、エンドレジスタ52のデータとを比較し、プログラムカウンタ27の出力がスタートレジスタ51のデータと、エンドレジスタ52のデータとの間にある場合に”1”を、それ以外の場合に”0”を出力する。
55はアンドゲート(プログラムRAM22の出力のビット数分)であり、比較回路54の出力が”1”の時は閉状態となって、データ「0(全ビット”0”)」を出力し、比較回路54の出力が”0”の時は開状態となって、プログラムRAM22から出力されるプログラムステップをデータRAM21および演算回路23へ出力する。データ「0」はNOP(No Operation)命令としてあるので、書き換え中の誤動作を防ぐことができる。(NOP命令が「0」でない場合はアンドゲート55はそのビット配列に合わせて変更する。)
55 is an AND gate (corresponding to the number of bits of the output of the program RAM 22). When the output of the
次に、上述した楽音信号生成回路Gの動作を説明する。
まず、プログラムRAM22のアドレス0〜150にエフェクト用プログラムが、アドレス151〜767に立体音響効果用プログラムが記憶されているとする。この場合、係数RAM31、32、34の各アドレス0〜150に各々、同一のエフェクト用プログラムの係数が記憶され、アドレス151〜767に各々、同一の立体音響効果用プログラムの係数が記憶されている。また、係数RAM(旧)33には係数RAM(前段)31内の各係数の上位8ビットが記憶されている。
Next, the operation of the above-described tone signal generation circuit G will be described.
First, it is assumed that an effect program is stored in
このような状態において、CPU1から、例えば着信メロディ生成指令が音源回路13へ出力されると、音源回路13が着信メロディのディジタル楽音信号(PCMデータ)を生成し、DSP14へ出力する。出力されたPCMデータはデータRAM21に一時記憶され、同時に、プログラムカウンタ27がクロックパルスCLK2のアップカウントを開始する。プログラムカウンタ27がクロックパルスCLK2によってアップカウントを行うと、プログラムRAM22からプログラムステップが順次出力され、アンドゲート55を介してデータRAM21および演算回路23へ供給される。
In this state, for example, when an incoming melody generation command is output from the
一方、プログラムカウンタ27がクロックパルスCLK2のアップカウントを行うと、係数RAM(新)32、係数RAM(旧)33および係数RAM(中間)34から係数が順次読み出され、減算回路41および加算回路42へ出力される。しかし、上述したように、係数変更がない状態では、係数RAM(新)32のデータの上位8ビットと係数RAM(旧)33のデータは同一であり、したがって、減算回路41の出力は「0」となる。この結果、加算回路42から係数RAM(中間)34の出力データが出力され、セレクタ43を介して演算回路23へ供給されると共にセレクタ37を介して係数RAM(中間)34に書き込まれる。
On the other hand, when the
このように、プログラムカウンタ27がクロックパルスCLK2によってアップカウントを行うと、データRAM21および演算回路23へプログラムRAM22から読み出されたプログラムが順次送られ、また、係数RAM(中間)34から読み出された係数が係数補間回路40を介して演算回路23へ送られる。これにより、エフェクト用プログラム、立体音響効果用プログラムが順次繰り返し実行される。また、係数RAM(中間)34から読み出された係数は再び同係数RAM34に戻され、同じアドレスに書き込まれる。したがって、係数RAM(中間)34のデータに変化はない。
As described above, when the
次に、係数変更の場合の動作を説明する。
係数変更が行われる場合、まず、CPU1が出力した変更後の係数(新係数という)が係数RAM(前段)31に書き込まれる。例えば、エフェクト用プログラムの係数変更が行われる場合は、CPU1が出力した新係数が係数RAM(前段)31のアドレス0〜150に書き込まれる。
Next, the operation for changing the coefficient will be described.
When the coefficient is changed, first, the changed coefficient (referred to as a new coefficient) output from the
また、係数RAM(新)32内の係数は、プログラムカウンタ27のカウント出力によって読み出される毎に、係数RAM(前段)31から読み出された新係数と比較器により比較され、一致していない場合は係数RAM(新)32内の係数が新係数に書き換えられる。そして、書き換えられた新係数が減算回路41へ出力される。減算回路41はこの新係数の上位8ビットから係数RAM(旧)33から出力される変更前の係数(旧係数という)の8ビットを減算する。減算結果を係数RAM(中間)34の出力(16ビット)の下位8ビットに加算器42で加算する。符号は上位ビットに拡張する。図5に具体的な構成例を示す。減算回路41は入力A(8ビット)から入力B(8ビット)を減算する。出力A−Bは符号(SIGN1ビット)が付加されて9ビットとなる(B>Aの時負の値となるため)。加算器42は入力A(16ビット)と入力B(16ビット)を加算する。入力Aには、減算器41の出力が差分データとして入力される。符号(SIGN)は入力AのMSBから8ビットに入力され、下位はそれ以下の8ビットに入力される。すなわち、加算器42の入力Aは減算器41の出力を下位方向に8ビットシフトした差分データが入力されることになる。ここで、よく知られるように、2進数を下位方向に8ビットシフトすると、その2進数を「256」で割ったことになり、したがって、新係数の上位8ビットから旧係数の上位8ビットを減算し、減算器42下位8ビット入力することは、次の差分データを加算器42の入力Aに与えることを意味している。
差分データ=(新係数−旧係数)/256・・・(1)
Each time the coefficient in the coefficient RAM (new) 32 is read by the count output of the
Difference data = (new coefficient−old coefficient) / 256 (1)
加算回路42は、係数RAM(中間)34から出力される係数に上記の差分データを加算し、次式の加算結果(中間係数という)をセレクタ43を介して演算回路23へ出力する。
中間係数=旧係数+差分データ・・・(2)
またこの時、セレクタ37が切り換えられ、セレクタ43から出力された中間係数が係数RAM(中間)34に書き込まれる。
The
Intermediate coefficient = old coefficient + difference data (2)
At this time, the
次に、クロックパルスCLK1の1クロック後(クロックパルスCLK2の768クロック後)、再び係数RAM(新)32から同じ新係数が読み出されると、減算回路41において上記(1)式の減算が行われ、係数RAM(中間)34から読み出された中間係数(旧係数+差分データ)に差分データがさらに加算され、次の中間係数が得られる。
中間係数=旧係数+2×差分データ・・・(3)
そして、この中間係数がセレクタ43を介して演算回路23へ出力されると共に、係数RAM(中間)34に書き込まれる。
Next, when the same new coefficient is read again from the coefficient RAM (new) 32 after one clock of the clock pulse CLK1 (after 768 clocks of the clock pulse CLK2), the
Intermediate coefficient = old coefficient + 2 x difference data (3)
The intermediate coefficient is output to the
以下、クロックパルスCLK1の1周期が経過する毎に同様の動作が繰り返され、これにより、セレクタ43から出力される中間係数が、図3(a)に示すように、旧係数から新係数まで、クロックパルスCLK1のタイミングで、かつ、上記差分データのピッチで単調に増加(差分データが正の場合)または減少(差分データが負の場合)する。
Thereafter, the same operation is repeated every time one cycle of the clock pulse CLK1 elapses, whereby the intermediate coefficient output from the
そして、中間係数と新係数との差が上記(1)式の差分データより小になると、終了判定回路44がそれを検知し、終了信号を出力する。この終了信号が出力されると、セレクタ36、37、43が切り換えられ、係数RAM(新)32内の新係数が係数RAM(旧)33(上位8ビット)および係数RAM(中間)34に書き込まれる。また、上記終了信号が出力される前にCPU1によって係数RAM(前段)31が書き換えられた場合は、その時点における中間係数の上位8ビットが係数RAM(旧)に書き込まれる。これにより、以後、図3(b)に示すように、その中間係数から新たな新係数(新々係数)に向かって中間係数が逐次変化する。
When the difference between the intermediate coefficient and the new coefficient becomes smaller than the difference data of the above equation (1), the
なお、上記説明は係数RAM31(前段)の1つのアドレスについてであるが、他のアドレスの係数についても同様の動作が行われる。すなわち、CPU1によって新係数が、例えば、係数RAM(前段)31のアドレス0〜150に書き込まれた場合、各アドレス0〜150の新係数のそれぞれについて、上述した単調増加または減少による補間処理が行われる。
Although the above description is for one address of the coefficient RAM 31 (previous stage), the same operation is performed for the coefficients of other addresses. That is, when a new coefficient is written by the
次に、プログラム変更の場合について図4のフローチャートを参照して説明する。プログラムを変更する場合には、通常、係数も変更される。
プログラムおよび係数変更が行われる場合、CPU1が、まず、書き換え範囲を指定するデータを出力する。出力されたデータはスタートレジスタ51およびエンドレジスタ52に書き込まれる(ステップS1)。例えば、エフェクト用プログラムを書き換える場合、CPU1がアドレス0およびアドレス150を出力し、これらのアドレスがスタートレジスタ51およびエンドレジスタ52に書き込まれる。このスタートレジスタ51およびエンドレジスタ52の書き込みが行われると、以後、プログラムカウンタ27の出力がスタートアドレスからエンドアドレスの間の場合に比較回路54から”1”が出力され、これにより、アンドゲート55から全ビット”0”(NOP命令)が出力される(ステップS2)。
Next, the case of program change will be described with reference to the flowchart of FIG. When changing the program, the coefficients are usually changed.
When the program and coefficient are changed, the
また、プログラムおよび係数変更が行われる場合、セレクタ36、37が切り換えられ、係数RAM32〜34の各々に係数RAM(前段)31の出力が書き込まれる状態となる。すなわち、係数補間回路40における係数補間処理が実質的に行われない状態となる(ステップS3)。
When the program and the coefficient are changed, the
次に、CPU1が新プログラムおよび新係数を出力する。出力された新プログラムはプログラムRAM22に書き込まれ、また、この書き込みの間、アンドゲート55からNOP命令が出力される。したがって、書き込みの間、演算回路23が異常な出力を出すことはない。また、CPU1から出力された新係数は係数RAM(前段)31に書き込まれ、次いで、係数RAM32〜34に書き込まれる(ステップS4)。係数RAM32〜34の書き込みが終了すると、スタートレジスタ51およびエンドレジスタ52がクリアされ(ステップS5)、以後、新プログラムがアンドゲート55から出力される。また、新プログラムに同期して、係数RAM32〜34から新係数が出力されるが、これらは同じ係数であり、したがって、減算回路41の出力が「0」となり、係数補間回路40における旧係数から新係数への補間処理は行われない。この結果、プログラム変更時において、変更前の係数と変更後の係数との間で補間処理が行われるという不都合を防ぐことができる。
Next, the
この発明は、携帯端末における着信音やゲームの効果音の生成等に用いられる。 The present invention is used for generating ringtones and game sound effects in a portable terminal.
1…CPU、12…バッファレジスタ、13…音源回路、14…データ処理回路(DSP)、21…データRAM、22…プログラムRAM、23…演算回路、24…バッファメモリ、27…プログラムカウンタ、31…係数RAM(前段)、32…係数RAM(新)、33…係数RAM(旧)、34…係数RAM(中間)、36、37、43…セレクタ、40…係数補間回路、41…減算回路、42…加算回路、44…終了判定回路。
DESCRIPTION OF
Claims (3)
係数が記憶された係数メモリと、
前記プログラムメモリ内のプログラムおよび前記係数メモリ内の係数を読み出すプログラムカウンタと、
前記プログラムおよび前記係数に従って動作する演算回路とを具備するデータ処理回路において、
前記係数の変更後の新係数が記憶される新係数メモリと、
前記係数の変更前の旧係数が記憶される旧係数メモリと、
前記旧係数メモリ内の係数から新係数メモリ内の係数に向かって順次変化する係数を生成し、前記演算回路へ出力する係数補間手段と、
前記プログラムおよび係数の変更指示を受けると、前記新係数メモリと前記旧係数メモリを共に新係数に書き換える書き換え手段と、
を具備することを特徴とするデータ処理回路。 A program memory in which the program is stored;
A coefficient memory in which the coefficients are stored;
A program counter for reading a program in the program memory and a coefficient in the coefficient memory;
In a data processing circuit comprising the arithmetic circuit that operates according to the program and the coefficient,
A new coefficient memory for storing the new coefficient after the change of the coefficient;
An old coefficient memory in which the old coefficient before the coefficient change is stored;
Coefficient interpolation means for generating a coefficient that sequentially changes from the coefficient in the old coefficient memory toward the coefficient in the new coefficient memory, and outputting the coefficient to the arithmetic circuit;
Rewriting means for rewriting the new coefficient memory and the old coefficient memory with new coefficients when receiving the program and coefficient change instruction ;
A data processing circuit comprising:
係数が記憶された係数メモリと、
前記プログラムメモリ内のプログラムおよび前記係数メモリ内の係数を読み出すプログラムカウンタと、
前記プログラムおよび前記係数に従って動作する演算回路とを具備するデータ処理回路において、
前記係数の変更後の新係数が記憶される新係数メモリと、
前記係数の変更前の旧係数が記憶される旧係数メモリと、
前記新係数と前記旧係数とを補間した係数が記憶される中間係数メモリと、
前記新係数メモリ内の係数と前記旧係数メモリ内の係数との差分の1/X(Xは1より大きい実数)を求める減算手段と、
前記減算手段の出力と前記中間係数メモリ内の係数とを加算し、加算結果を前記演算回路へ出力すると共に前記中間係数メモリに書き込む係数補間手段と、
前記プログラムおよび係数の変更指示を受けると、前記新係数メモリ、前記旧係数メモリおよび前記中間係数メモリを共に新係数に書き換える書き換え手段と、
を具備することを特徴とするデータ処理回路。 A program memory in which the program is stored;
A coefficient memory in which the coefficients are stored;
A program counter for reading a program in the program memory and a coefficient in the coefficient memory;
In a data processing circuit comprising the arithmetic circuit that operates according to the program and the coefficient,
A new coefficient memory for storing the new coefficient after the change of the coefficient;
An old coefficient memory in which the old coefficient before the coefficient change is stored;
An intermediate coefficient memory in which a coefficient obtained by interpolating the new coefficient and the old coefficient is stored;
Subtracting means for obtaining 1 / X (X is a real number greater than 1) of the difference between the coefficient in the new coefficient memory and the coefficient in the old coefficient memory;
A coefficient interpolation means for writing to said intermediate coefficient memory with the said output of the subtracting means adds the coefficients of the intermediate coefficients in memory, and outputs the addition result to the arithmetic circuit,
Rewriting means for rewriting the new coefficient memory, the old coefficient memory, and the intermediate coefficient memory with new coefficients when receiving the program and coefficient change instruction ;
A data processing circuit comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004240706A JP4400373B2 (en) | 2004-08-20 | 2004-08-20 | Data processing circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004240706A JP4400373B2 (en) | 2004-08-20 | 2004-08-20 | Data processing circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006058625A JP2006058625A (en) | 2006-03-02 |
JP4400373B2 true JP4400373B2 (en) | 2010-01-20 |
Family
ID=36106134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004240706A Expired - Fee Related JP4400373B2 (en) | 2004-08-20 | 2004-08-20 | Data processing circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4400373B2 (en) |
-
2004
- 2004-08-20 JP JP2004240706A patent/JP4400373B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006058625A (en) | 2006-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006304084A (en) | MULTIBIT DeltaSigma MODULATION TYPE DA CONVERTER | |
US8175525B2 (en) | Conversion from note-based audio format to PCM-based audio format | |
JP4400373B2 (en) | Data processing circuit | |
JP4385893B2 (en) | Coefficient interpolation circuit in data processing circuit | |
US20080263268A1 (en) | Digital signal processor | |
US5956670A (en) | Speech reproducing device capable of reproducing long-time speech with reduced memory | |
JPH11168552A (en) | Portable telephone set | |
CA2568117C (en) | Conversion from note-based audio format to pcm-based audio format | |
JP4306944B2 (en) | Music playback device | |
JPH02135564A (en) | Data processor | |
KR970024776A (en) | Pending melody tone control and method of telephone | |
JP2008047223A (en) | Audio reproduction circuit | |
JP2684820B2 (en) | Surround circuit | |
JPH03201900A (en) | Sound field correction device | |
JP3383474B2 (en) | Sound effect giving device and sound effect giving system | |
JP2008009031A (en) | Sound source processing apparatus and method, and electronic equipment using the same | |
JP2008061053A (en) | Signal processing apparatus | |
JP2006098859A (en) | Musical sound generating device and program for musical sound generation processing | |
JPS6327898B2 (en) | ||
JPS6325680B2 (en) | ||
JPH04129497A (en) | Master slave telephone system and facsimile equipment | |
JPH02137893A (en) | Continuous sound source data reproducing device | |
JPH06169500A (en) | Surround system | |
JPH11224090A (en) | Sound generator | |
JPH02137895A (en) | Sound source device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070618 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080815 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080902 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081104 |
|
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: 20091006 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4400373 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091019 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121106 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121106 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131106 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |