JPH0719246B2 - Digital signal processor - Google Patents
Digital signal processorInfo
- Publication number
- JPH0719246B2 JPH0719246B2 JP63003346A JP334688A JPH0719246B2 JP H0719246 B2 JPH0719246 B2 JP H0719246B2 JP 63003346 A JP63003346 A JP 63003346A JP 334688 A JP334688 A JP 334688A JP H0719246 B2 JPH0719246 B2 JP H0719246B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- digital
- output
- register
- 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 - Lifetime
Links
- 238000012545 processing Methods 0.000 claims description 62
- 238000000034 method Methods 0.000 claims description 13
- 238000012546 transfer Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 17
- 239000002131 composite material Substances 0.000 description 10
- 238000001914 filtration Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000005070 sampling Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 125000004122 cyclic group Chemical group 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 7
- 101000579490 Solanum lycopersicum Suberization-associated anionic peroxidase 1 Proteins 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 101710130550 Class E basic helix-loop-helix protein 40 Proteins 0.000 description 2
- 102100025314 Deleted in esophageal cancer 1 Human genes 0.000 description 2
- 101100533511 Drosophila melanogaster SIFaR gene Proteins 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101100013558 Arabidopsis thaliana FTSH2 gene Proteins 0.000 description 1
- 101100503482 Arabidopsis thaliana FTSH5 gene Proteins 0.000 description 1
- 241001673391 Entandrophragma candollei Species 0.000 description 1
- 101001073211 Solanum lycopersicum Suberization-associated anionic peroxidase 2 Proteins 0.000 description 1
- 101150082136 VAR1 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 (イ)産業上の利用分野 本発明は、時系列で入力されるデータを所定のアルゴリ
ズムに基いて処理し、時系列データとして出力するデジ
タル信号処理装置及び信号処理方法に関する。The present invention relates to a digital signal processing device and a signal processing method for processing time-series input data based on a predetermined algorithm and outputting it as time-series data. Regarding
(ロ)従来の技術 一般に、音声や画像等のように我々の周囲に存在する原
始情報源は、アナログ信号であることが多い。このアナ
ログ信号をデジタル的な手法によって処理するシステム
がデジタル信号処理装置(デジタル・シグナル・プロセ
ッシング・システム:DSPシステム)である。(B) Conventional Technology In general, primitive information sources existing around us, such as voices and images, are often analog signals. A system that processes this analog signal by a digital method is a digital signal processing device (digital signal processing system: DSP system).
近年、デジタル回路のLSI化が急速に進み、ワンチップ
上にDSPシステムが容易に実現できるようになり、更
に、アナログ信号処理に比べて高精度処理が可能、パラ
メータの設定により任意の特性が安定して均一に得られ
る、無調整化が可能となる等の特徴を有するため、DSP
システムが急速に実用化されるようになった。また、DS
Pシステムの応用範囲は、音声信号処理、通信信号処
理、計測信号処理、画像信号処理、地震波信号処理、水
中音響信号処理等に広がり利用されている。In recent years, digital circuits are rapidly becoming LSIs, and DSP systems can be easily realized on a single chip. Furthermore, high-accuracy processing is possible compared to analog signal processing, and arbitrary characteristics are stabilized by setting parameters. Since it has the characteristics that it can be uniformly obtained and adjustment can be made, DSP
The system came into practical use rapidly. Also, DS
The application range of the P system is broadly used for voice signal processing, communication signal processing, measurement signal processing, image signal processing, seismic wave signal processing, underwater acoustic signal processing, and the like.
また、オーディオ分野に於いてもCD(コンパクト・ディ
スク)プレーヤやDAT(デジタル・オーディオ・テー
プ)プレーヤの如く、オーディオ信号のデジタル処理化
が進むに伴って、オーディオ信号をデジタル処理するDS
Pシステムが実用化されている。Also in the audio field, a DS (digital compact disc) player or a DAT (digital audio tape) player, which processes audio signals digitally as digital processing of audio signals progresses.
P system has been put to practical use.
従来のDSPシステムは、デジタルフィルタを容易に形成
できるように第12図に示すアーキテクチャを有してい
る。A conventional DSP system has an architecture shown in FIG. 12 so that a digital filter can be easily formed.
第12図に於いて、データバス(1)には、入出力回路
(I/O)(2)、データRAM(3)、乗算器(4)、演算
回路(ALU)(5)、アキュームレータ(ACC)(6)等
が接続され、データRAM(3)の出力とデータROM(7)
の出力が乗算器(4)に接続され、乗算器(4)の乗算
結果出力がALU(5)の一方の入力に印加されている。
これらの各回路は、プログラムROM(8)から順次読み
出される命令を解読するデコーダ(9)からその命令に
応じて出力されるマイクロコード信号によって制御され
る。In FIG. 12, the data bus (1) has an input / output circuit (I / O) (2), a data RAM (3), a multiplier (4), an arithmetic circuit (ALU) (5), and an accumulator ( ACC) (6) etc. are connected, output of data RAM (3) and data ROM (7)
Is connected to the multiplier (4), and the multiplication result output of the multiplier (4) is applied to one input of the ALU (5).
Each of these circuits is controlled by a microcode signal output from a decoder (9) that decodes the instructions sequentially read from the program ROM (8) in response to the instructions.
デジタルフィルタの実現に於いては Y=A・Xi+B・Xi-1+CXi-2…… という形の積和演算が繰返し表われる。このデジタルフ
ィルタをDSPシステムで実現する場合には、フィルタ内
の節点の計算順序を決定して、プログラムを作成し、そ
のプログラムをプログラムROM(8)に格納すると共に
データROM(7)内に計算式の定数を格納しておく。そ
して、プログラムを実行することにより、積和演算が為
され、演算結果はデータRAM(3)に順次記憶される。In the realization of a digital filter, the multiply-accumulate operation of the form Y = A.Xi + B.Xi - 1 + CXi- 2 appears repeatedly. When this digital filter is realized by a DSP system, the calculation order of the nodes in the filter is determined, a program is created, the program is stored in the program ROM (8), and the calculation is performed in the data ROM (7). Stores the constant of the expression. Then, by executing the program, the sum of products operation is performed, and the operation result is sequentially stored in the data RAM (3).
(ハ)発明が解決しようとする課題 第12図に示されたDSPシステムをオーディオ分野に使用
した場合、グラフィックイコライザ機能、バス・トレブ
ル、ラウドネス、ローブースト機能、サラウンド効果機
能等のオーディオに必要な機能を実現できるが、オーデ
ィオ信号は左と右の2チャンネルの信号があるため、上
述の機能を実現するための処理を左と右のチャンネルの
信号に各々施さなければならない。また、左と右のチャ
ンネルを独立して特性を変えるためには、各々異なった
定数をデータROMに書き込んでおかなければならない。(C) Problems to be solved by the invention When the DSP system shown in FIG. 12 is used in the audio field, it is necessary for audio such as graphic equalizer function, bass treble, loudness, low boost function, and surround effect function. Although the function can be realized, since there are left and right two-channel signals in the audio signal, the processing for realizing the above-mentioned function must be applied to the left and right channel signals, respectively. In order to change the characteristics of the left and right channels independently, different constants must be written in the data ROM.
従って、CDプレーヤやDATプレーヤでは、信号のサンプ
リング周期が44.1KHzや48KHzのように高い周波数である
ため、上述の機能を実現するための処理をすべてサンプ
リング周期の間に、左と右のチャンネルの各々に実行し
終えなければならない。ゆえに、DSPシステムの処理速
度に応じては、上述の機能のいずれかが実現できなくな
ることもある。即ち、DSPシステムのスループットが悪
くなる欠点があった。Therefore, in a CD player or DAT player, the signal sampling cycle has a high frequency such as 44.1 KHz or 48 KHz. Therefore, all the processing for realizing the above-mentioned function is performed on the left and right channels during the sampling cycle. You have to finish each one. Therefore, depending on the processing speed of the DSP system, it may not be possible to realize any of the functions described above. That is, there is a drawback that the throughput of the DSP system deteriorates.
(ニ)課題を解決するための手段 本発明は、上述した点に鑑みて創作されたものであり、
デジタルデータを転送するための一対のデータバスと、
該データバスに各々接続された一対のデジタル処理手段
と、該一対のデジタル処理手段の動作を予めプログラム
された手順に従って同時に制御する制御手段と、外部に
接続される記憶装置にアドレスデータを送り、デジタル
データの送受を行うための外部メモリインターフェイス
手段と、外部から印加されるデジタルデータを外部から
印加される制御信号に基いて入力し、その入力された複
数のデジタルデータを定められた順序に従って前記一対
のデータバスに転送すると共に、一対のデータバスに送
出された処理済のデータを外部に出力するインターフェ
イス手段と、該インターフェイス手段から一対のデータ
バスに送出されたデジタルデータを一対のデジタル処理
手段の内部に記憶させるか否かを制御する記憶制御レジ
スタ手段と、前記一対のデータバス間に互いのデジタル
データを交換するデジタルデータ交換手段と、前記一対
のデータバスの一方又は両方に送出されたデータが設定
され、そのデータに基いてジャンプ条件を制御する条件
分岐制御手段とを備えたものであり、更に、前記デジタ
ル処理手段は、外部接続される記憶装置の特定メモリ領
域を巡回してアクセスするためのアドレスデータ、入力
されるデジタルデータに乗算される係数を作成するため
の定数「1」、「a」、「b」、デジタルフィルタを構
成するための係数、処理前及び処理中のデジタルデータ
等を記憶する記憶手段と、乗算手段及び演算手段とを備
え、また、前記制御回路は、プログラムを記憶するプロ
グラムメモリ手段と、該プログラムメモリ手段のアドレ
スを指定するプログラムカウンタ手段と、前記プログラ
ムメモリ手段から読み出された命令を解読するデコーダ
手段と、前記一対のデータバスの一方あるいは両方に接
続されたジャンプ先のアドレスデータが設定されるジャ
ンプアドレス手段と、該ジャンプアドレス手段に設定さ
れたジャンプ先アドレスを選択的に前記プログラムカウ
ンタ手段に印加するマルチプレクサ手段と、前記一対の
データバスの一方あるいは両方に接続され、同じ命令の
実行回数が設定されるループカウンタとを備えることに
より、定められた期間内に効率よく多くの機能を達成す
ることを目的とする。(D) Means for Solving the Problems The present invention has been created in view of the above points,
A pair of data buses for transferring digital data,
A pair of digital processing means each connected to the data bus, a control means for simultaneously controlling the operation of the pair of digital processing means according to a pre-programmed procedure, and sending address data to an externally connected storage device, External memory interface means for transmitting and receiving digital data and digital data applied from the outside are input based on a control signal applied from the outside, and the plurality of input digital data are input in a predetermined order. Interface means for transferring to the pair of data buses and outputting processed data sent to the pair of data buses to the outside, and a pair of digital processing means for digital data sent from the interface means to the pair of data buses Storage control register means for controlling whether or not to store inside Digital data exchange means for exchanging digital data of each other between a pair of data buses and data sent to one or both of the pair of data buses are set, and conditional branch control for controlling a jump condition based on the data. The digital processing means further creates address data for circulating and accessing a specific memory area of an externally connected storage device, and coefficient for multiplying input digital data. Storage means for storing constants “1”, “a”, “b” for setting, coefficients for configuring a digital filter, digital data before and during processing, a multiplication means and a calculation means, Further, the control circuit has a program memory unit for storing a program and a program counter unit for designating an address of the program memory unit. A decoder means for decoding an instruction read from the program memory means, a jump address means connected to one or both of the pair of data buses for setting jump destination address data, and the jump address means. Multiplexer means for selectively applying the jump destination address set to the program counter means to the program counter means, and a loop counter connected to one or both of the pair of data buses to set the number of times of execution of the same instruction. The purpose is to achieve many functions efficiently within a specified period.
(ホ)作用 上述した手段に於いて、外部メモリインターフェイス手
段を介して外部接続された記憶装置の特定メモリ領域を
巡回アクセスする場合、デジタル処理手段の記憶手段か
らアドレスデータを読み出して演算手段でインクリメン
トあるいはデクリメントし、その結果が特定メモリ領域
の境界でないときにはその結果を出力し、特定メモリ領
域の境界であるときには記憶手段に記憶されている所定
値を出力する動作が単一の命令で行われ、その出力のア
ドレスデータを再び記憶手段に転送すると共にアドレス
データに特定メモリ領域の先頭アドレスを加算して実ア
ドレスデータを作成し、外部メモリインターフェイス手
段に送出することにより、外部接続された記憶装置のア
クセスが容易になる。(E) Operation In the above-mentioned means, when the specific memory area of the externally connected storage device is cyclically accessed through the external memory interface means, the address data is read from the storage means of the digital processing means and incremented by the arithmetic means. Alternatively, the operation of decrementing, outputting the result when the result is not the boundary of the specific memory area, and outputting the predetermined value stored in the storage means when the boundary is the boundary of the specific memory area is performed by a single instruction, The output address data is transferred to the storage means again, and at the same time, the start address of the specific memory area is added to the address data to create real address data, which is sent to the external memory interface means. Easy to access.
また、外部から入力されたデジタルデータをデジタル処
理手段で処理中にオーバーフローが生じた場合、次に入
力されるデジタルデータに乗算する係数を調整するため
に、記憶手段に記憶された定数「1」、「a」、「b」
(a<1、b<1)を選択し、そのときの係数に乗算す
ることによって入力されたデジタルデータのレベルをオ
ーバーフローが生じない大きさに調整する。Further, when an overflow occurs during the processing of the digital data input from the outside by the digital processing means, a constant "1" stored in the storage means for adjusting the coefficient by which the digital data input next is adjusted. , "A", "b"
By selecting (a <1, b <1) and multiplying the coefficient at that time, the level of the input digital data is adjusted to a size at which overflow does not occur.
また、デジタル処理手段内に記憶手段に外部からデータ
を書き込む場合、書き込むデジタルデータとそのデータ
数を示す値、書き込み先アドレス、及び、一対のデジタ
ル処理手段のいずれかを指示するデータの複合データを
インターフェイス手段に印加し保持させると、最初に複
合データがインターフェイス手段から取り出され、制御
手段のループカウンタ手段、記憶手段のアドレスを指定
するアドレス指定手段、及び記憶制御レジスタ手段に各
々のデータがセットされ、これらに基いて書き込まれる
べきデータがそのデータ数だけインターフェイス手段か
ら取り出され、記憶手段に書き込まれるので、外部から
のデータ転送が容易になる。In addition, when data is externally written to the storage means in the digital processing means, the composite data of the digital data to be written, a value indicating the number of the data, a write destination address, and data indicating one of the pair of digital processing means is written. When applied to the interface means and held, the composite data is first taken out from the interface means, and each data is set in the loop counter means of the control means, the address designating means for designating the address of the storage means and the storage control register means. The number of data to be written based on these is taken out from the interface means and written in the storage means, so that data transfer from the outside becomes easy.
更に、デジタルデータ交換手段によって、一対のデータ
バスに送出されたデジタルデータ、あるいは、一対のデ
ジタル処理手段の内部データを一命令の実行によって互
いに交換することが可能になる。Further, the digital data exchange means makes it possible to exchange the digital data sent to the pair of data buses or the internal data of the pair of digital processing means with each other by executing one command.
また、制御手段内に設けられたジャンプアドレスレジス
タ手段にインターフェイス手段を介してジャンプ先アド
レスデータを外部からセットすることにより、ジャップ
命令や条件分岐命令の実行時に、プログラムカウンタ手
段にジャンプアドレスレジスタ手段のアドレスデータが
転送されるため、プログラムの流れを外部から制御する
ことが可能となる。Further, by setting the jump destination address data from the outside to the jump address register means provided in the control means through the interface means, the program counter means can be configured to execute the jump address register means of the jump address register means at the time of executing the Jap instruction or the conditional branch instruction. Since the address data is transferred, the flow of the program can be controlled externally.
更に、条件分岐制御手段内の条件設定レジスタ手段に設
定されたデータにより、各々のデジタル処理手段に接続
されたフラグ手段の出力を選択し、ジャンプ制御信号を
発生するために、一方のデジタル処理手段のみ、あるい
は、他方のデジタル処理手段のみ条件が成立した場合、
あるいは、いずれか一方のデジタル処理手段の条件が成
立した場合、両方のデジタル処理手段の条件が成立した
場合をプログラムあるいは外部からのデータで選択する
ことができる。Further, the data set in the condition setting register means in the conditional branch control means selects the output of the flag means connected to each digital processing means, and one digital processing means for generating the jump control signal. Or only the condition of the other digital processing means is satisfied,
Alternatively, when the condition of either one of the digital processing means is satisfied, or when the condition of both digital processing means is satisfied, it can be selected by a program or data from the outside.
上述の作用により、機能の向上と共に動作の効率化が図
られ、デジタル信号処理装置のスループットが向上する
のである。With the above operation, the function is improved and the operation efficiency is improved, and the throughput of the digital signal processing device is improved.
(ヘ)実施例 第1図は、本発明の実施例を示すブロック図であり、一
対のデータバス(BUS1)(BUS2)(11)と、該データバ
ス(BUS1)(BUS2)(11)に接続されたデジタル処理回
路(12)(13)と、同様にデータバス(BUS1)(BUS2)
(11)に接続されたデータ入出力回路(14)、インター
フェイス回路(15)、外部メモリインターフェイス回路
(16)、データ交換レジスタ(17)と、データバス(BU
S2)に接続された記憶制御レジスタ(18)、条件分岐制
御回路(19)と、データバス(BUS2)に接続され、前記
各回路の動作を制御する制御回路(20)とから構成され
たオーディオ信号処理用のDSPシステムであり、このDSP
システムはワンチップ半導体素子上に集積されるもので
ある。(F) Embodiment FIG. 1 is a block diagram showing an embodiment of the present invention, in which a pair of data buses (BUS1) (BUS2) (11) and the data buses (BUS1) (BUS2) (11) are provided. Connected digital processing circuits (12) (13) as well as data bus (BUS1) (BUS2)
A data input / output circuit (14) connected to (11), an interface circuit (15), an external memory interface circuit (16), a data exchange register (17), and a data bus (BU).
Audio including a storage control register (18) connected to S2), a conditional branch control circuit (19), and a control circuit (20) connected to the data bus (BUS2) and controlling the operation of each circuit. This is a DSP system for signal processing.
The system is integrated on a one-chip semiconductor device.
データバス(11)は、各々8ビット×3の24ビットで構
成される。データ入出力回路(14)は、入力端子INに外
部から印加される16ビットの左チャンネルと右チャンネ
ルのサンプリングデータ(例えば、CDプレーヤの場合は
サンプリング周波数が44.1KHzでサンプリングされたデ
ジタルデータ)をシリアルに入力し、右チャンネルのデ
ータはデータバスBUS1に、左チャンネルのデータはデー
タバスBUS2に送出し、更に、データバスBUS1に送出され
た処理済の右チャンネルのデータとデータバスBUS2に送
出された処理済の左チャンネルのデータを受け取り、出
力端子OUTから交互にシリアル出力するものである。The data bus (11) is composed of 24 bits of 8 bits × 3. The data input / output circuit (14) receives 16-bit left-channel and right-channel sampling data (for example, digital data sampled at a sampling frequency of 44.1 KHz in the case of a CD player) externally applied to the input terminal IN. Serially input, the data of the right channel is sent to the data bus BUS1, the data of the left channel is sent to the data bus BUS2, and the processed right channel data sent to the data bus BUS1 and the data bus BUS2 are sent. The processed left channel data is received and serially output alternately from the output terminal OUT.
データ処理回路(12)は右チャンネルのデータ処理用
で、データ処理回路(13)は左チャンネルのデータ処理
用であり、各々全く同じ構成である。即ち、データ処理
回路(12)(13)は、データRAM(21)、定数RAM(2
2)、定数ROM(23)、アドレスポインタ(24)(25)
(26)、乗算器(MUL)(27)、ALU(28)、アキューム
レータ(ACC)(29)、テンポラリーレジスタ(TMP1〜T
MP8)(30)を有している。データRAM(21)は、データ
入出力回路(14)から送出された処理前のデータ、及
び、演算処理後のデータを記憶する24ビット×128の容
量を有し、データバス(11)及び乗算器(27)の入力に
接続される。定数RAM(22)は、インターフェイス回路
(15)から送出されるデジタルフィルタの係数、及び、
外部メモリインターフェイス回路(16)を介して接続さ
れる外部メモリ装置(図示せず)のアドレスデータ等を
記憶する16ビット×256の容量を有し、データバス(1
1)、乗算器(27)の入力、及び、ALU(28)の入力に接
続される。また、定数ROM(23)は、外部メモリ装置に
設定された特定メモリ領域の先頭アドレスデータ、及
び、アドレス幅やデータ入出力回路(14)から送出され
たデジタルデータに乗算する係数を作成するための定数
「1」、「a」(例えばa=0.99)、「b」(例えばb
=1.01)や乗算あるいは演算結果がオーバーフローした
ときに設定される最大値及び最小値等を固定記憶する24
ビット×256のリードオンリメモリであり、データバス
(11)及び乗算器(27)の入力に接続される。The data processing circuit (12) is for right-channel data processing, and the data processing circuit (13) is for left-channel data processing. That is, the data processing circuits (12) (13) are composed of a data RAM (21) and a constant RAM (2
2), constant ROM (23), address pointer (24) (25)
(26), multiplier (MUL) (27), ALU (28), accumulator (ACC) (29), temporary registers (TMP1 to T
It has MP8) (30). The data RAM (21) has a capacity of 24 bits × 128 for storing the data before processing transmitted from the data input / output circuit (14) and the data after the arithmetic processing, and has a data bus (11) and multiplication. Connected to the input of the container (27). The constant RAM (22) is a coefficient of the digital filter sent from the interface circuit (15), and
It has a capacity of 16 bits × 256 for storing address data and the like of an external memory device (not shown) connected through the external memory interface circuit (16), and has a data bus (1
1), the input of the multiplier (27), and the input of the ALU (28). Further, the constant ROM (23) is for creating a coefficient for multiplying the head address data of the specific memory area set in the external memory device, the address width and the digital data sent from the data input / output circuit (14). Constants "1", "a" (eg a = 0.99), "b" (eg b
= 1.01) and the maximum and minimum values that are set when the multiplication or calculation result overflows
It is a read-only memory of 256 bits and is connected to the input of the data bus (11) and the multiplier (27).
アドレスポインタ(24)は、8ビットで構成されデータ
RAM(21)のアドレス指定を行うものであり、制御回路
(20)から出力されるマイクロコードINC1及びDEC1で制
御され、保持しているアドレスデータをインクリメント
(+1)及びデクリメント(−1)する機能、及び、ア
ドレスデータ「0」と設定値の間を循環する循環アドレ
ス機能を有している。また、アドレスポインタ(25)は
定数RAM(22)のアドレスを指定する10ビットのポイン
タであり、制御回路(20)から出力されるマイクロコー
ドINC2で制御され、アドレスデータをインクリメントす
る機能と、制御回路(20)から出力されるマイクロコー
ドCLEAR2によって「0」にクリアされる機能を有してい
る。更に、アドレスポインタ(26)は、定数ROM(23)
のアドレスを指定する8ビットのポインタであり、制御
回路(20)から出力されるマイクロコードDEC3によって
アドレスデータをデクリメントする機能を有している。The address pointer (24) consists of 8 bits
A function for addressing the RAM (21), which is controlled by the microcode INC1 and DEC1 output from the control circuit (20) and increments (+1) and decrements (-1) the held address data. , And a circulating address function of circulating between address data “0” and a set value. The address pointer (25) is a 10-bit pointer that specifies the address of the constant RAM (22), and is controlled by the microcode INC2 output from the control circuit (20). It has the function of being cleared to "0" by the microcode CLEAR2 output from the circuit (20). Furthermore, the address pointer (26) is a constant ROM (23)
Is an 8-bit pointer that designates the address of the address, and has the function of decrementing the address data by the microcode DEC3 output from the control circuit (20).
乗算器(27)は、24ビット×16ビットの乗算をするもの
であり、A入力は24ビット、B入力は16ビットで、その
乗算結果は1サイクル後に確定するものである。更に、
乗算器(27)のA入力とB入力には、入力選択回路MPXA
とMPXBが設けられ、入力選択回路MPXAは、制御回路(2
0)からのマイクロコードA−BUSによりデータバス(1
1)を選択し、マイクロコードA−DRAMによりデータRAM
(21)を選択してA入力に印加し、入力選択回路MPXB
は、マイクロコードB−BUSによりデータバス(11)を
選択し、マイクロコードB−CRAMにより定数RAM(22)
を選択し、マイクロコードB−CRAMにより定数ROM(2
3)を選択してB入力に印加する。乗算結果は32ビット
で出力される。The multiplier (27) performs multiplication of 24 bits × 16 bits, the A input is 24 bits and the B input is 16 bits, and the multiplication result is determined after one cycle. Furthermore,
The input selection circuit MPXA is used for the A and B inputs of the multiplier (27).
And MPXB are provided, and the input selection circuit MPXA is connected to the control circuit (2
Data bus (1 by microcode A-BUS from 0)
Select 1) and use microcode A-DRAM to data RAM
(21) is selected and applied to the A input, and the input selection circuit MPXB
Selects the data bus (11) with the microcode B-BUS and the constant RAM (22) with the microcode B-CRAM.
, And select the constant ROM (2
Select 3) and apply to the B input. The multiplication result is output in 32 bits.
ALU(28)は32ビットの演算回路であり、一方に入力さ
れた32ビットの乗算結果と他方に入力された32ビットの
ACC(29)のデータをマイクロコードADDによって加算処
理して、その結果をACC(29)に転送する。ACC(29)の
32ビットのうち、上位24ビットはデータバス(11)と接
続され、下位8ビットは補助バス(31)によってテンポ
ラリーレジスタ(30)の下位8ビットと接続されてい
る。テンポラリーレジスタ(30)は、32ビットのレジス
タTMP1,TMP2……TMP8で構成され、32ビットのデータを
最大8個保持するレジスタであり、各々の上位24ビット
はデータバス(11)と接続される。データバス(11)と
補助バス(31)によって、テンポラリーレジスタ(30)
とACC(29)間で32ビットデータの転送が行われる。The ALU (28) is a 32-bit arithmetic circuit. The 32-bit multiplication result input to one side and the 32-bit arithmetic result input to the other side.
The data of ACC (29) is added by the microcode ADD and the result is transferred to ACC (29). ACC (29)
Of the 32 bits, the upper 24 bits are connected to the data bus (11), and the lower 8 bits are connected to the lower 8 bits of the temporary register (30) by the auxiliary bus (31). The temporary register (30) is composed of 32-bit registers TMP1, TMP2 ... TMP8, and holds up to eight 32-bit data. The upper 24 bits of each are connected to the data bus (11). . Temporary register (30) by data bus (11) and auxiliary bus (31)
32-bit data is transferred between ACC and ACC (29).
制御回路(20)は、予めプログラムされた手順に従っ
て、各部回路を制御するものであり、その構成は第2図
に示される如く、命令コードの組み合わせから成るプロ
グラムを記憶するプログラムROM(32)と、プログラムR
OM(32)のアドレスを指定するプログラムカウンタ(P
C)(33)と、プログラムROM(32)から読み出された命
令を解読し、各種制御信号を出力するインストラクショ
ンデコーダ(I−DEC)(34)と、プログラムカウンタ
(33)のアドレスデータをインクリメントするインクリ
メンタ(35)と、割込み処理時の戻り先アドレスを記憶
するスタック(36)と、データバスBUS2に接続されジャ
ンプ先アドレスデータがプリセットされるジャンプアド
レスレジスタ(VAR1)(37)及び(VAR2)(38)と、イ
ンクリメンタ(35)の出力、スタック(36)の出力、ジ
ャンプアドレスレジスタ(37)及び(38)の出力、及
び、プログラムROM(32)に記憶されたアドレスデータ
出力を選択するマルチプレクサ(39)と、プログラムカ
ウンタ(33)のデータをそのままにして同じ命令を実行
させる回数が設定されるループカウンタ(LOOP)(40)
とから成る。プログラムROM(32)は32ビット×512の容
量を有し、デジタルフィルタを実現するためのプログラ
ム、外部接続された外部メモリ装置のアドレス指定を行
うプログラム、インターフェイス回路(15)からデジタ
ルデータを取り出すプログラム、及び、その他必要なプ
ログラムが格納される。また、プログラムROM(32)か
らは読み出された命令コード中に含まれるダジタルデー
タやアドレスデータがデータバス(11)に送出できるよ
うにもなっている。インストラクションデコーダ(34)
からは、アドレスポインタ(24)(25)(26)を制御す
るINC1,INC2,DEC1,CLEAR2,DEC3や、入力選択回路MPXA,M
PXBも制御するA−BUS,A−DRAM,B−BUS,B−CRAM,B−CRO
Mや、ALU(28)を制御するADD,THR,MDや、データ交換レ
ジスタ(17)を制御するCHGや、条件分岐制御回路(1
9)を制御するOVFR,SIFR,CAFR,BOFRや、記憶制御レジス
タ(18)を制御するMBDL等が出力される。また、マルチ
プレクサ(39)は、条件分岐制御回路(19)から出力さ
れるジャンプ制御信号JMPとインストラクションデコー
ダ(34)からジャンプ命令、スキップ命令、あるいはリ
ターン命令等の実行時に出力される制御信号PRGCによっ
て、その選択動作が制御される。ループカウンタ(40)
は、データバスBUS2に接続され、インターフェイス回路
(15)からデータを取り出す際の最初の転送命令の実行
時にインストラクションデコーダ(34)から出力される
制御信号MBDLにより、データバスBUS2に送出されたデー
タを入力する。The control circuit (20) controls each circuit according to a pre-programmed procedure, and its configuration is, as shown in FIG. 2, a program ROM (32) for storing a program including a combination of instruction codes and a program ROM (32). , Program R
Program counter (P that specifies the address of OM (32)
C) (33) and instruction decoder (I-DEC) (34) that decodes the instruction read from the program ROM (32) and outputs various control signals, and increments the address data of the program counter (33) Incrementer (35), stack (36) for storing return address during interrupt processing, jump address registers (VAR1) (37) and (VAR2) connected to data bus BUS2 and preset with jump destination address data ) (38), output of incrementer (35), output of stack (36), output of jump address registers (37) and (38), and output of address data stored in program ROM (32) The multiplexer (39) and the loop counter (which sets the number of times the same instruction is executed while leaving the data in the program counter (33) unchanged. LOOP) (40)
It consists of and. The program ROM (32) has a capacity of 32 bits × 512 and is a program for realizing a digital filter, a program for addressing an externally connected external memory device, and a program for extracting digital data from the interface circuit (15). , And other necessary programs are stored. Further, the digital data and address data contained in the instruction code read from the program ROM (32) can be sent to the data bus (11). Instruction decoder (34)
From, INC1, INC2, DEC1, CLEAR2, DEC3 for controlling the address pointers (24) (25) (26) and the input selection circuit MPXA, M
A-BUS, A-DRAM, B-BUS, B-CRAM, B-CRO that also controls PXB
M, ADD, THR, MD for controlling ALU (28), CHG for controlling data exchange register (17), conditional branch control circuit (1
OVFR, SIFR, CAFR, BOFR for controlling 9) and MBDL for controlling the storage control register (18) are output. Further, the multiplexer (39) receives the jump control signal JMP output from the conditional branch control circuit (19) and the control signal PRGC output from the instruction decoder (34) when the jump instruction, the skip instruction, or the return instruction is executed. , Its selection operation is controlled. Loop counter (40)
Is connected to the data bus BUS2 and controls the data sent to the data bus BUS2 by the control signal MBDL output from the instruction decoder (34) when the first transfer instruction is executed when the data is fetched from the interface circuit (15). input.
インターフェイス回路(15)は、DSPシステムと外部の
制御装置、例えば、マイクロコンピータ(不図示)の間
のデータ送受を行うものであり、第3図に示される如
く、入力レジスタ(SIPO)(41)と、保持レジスタ(LI
FO)(42)と、転送終了フラグ(F)(43)と、出力レ
ジスタ(44)とを備えている。入力レジスタ(41)は、
マイクロコンピータから印加されるシリアル入力データ
SINを同期クロックSCLKによって順次入力する16ビット
のシフトレジスタであり、16ビットのデータ入力が終了
するとそのパラレル出力により、入力されたデジタルデ
ータが保持レジスタ(42)に保持される。保持レジスタ
(42)は16ビット×8の容量を有するレジスタであり、
保持レジスタ(42)の8アドレスは、アドレスポインタ
(45)によって指定される。アドレスポインタ(45)
は、保持レジスタ(42)に書き込みが為される毎にイン
クリメントされ、また、読み出しが為される毎にデクリ
メントされるものであり、従って、保持レジスタ(42)
を読み出す際には、書き込まれた順序とは逆の順序でデ
ジタルデータの取り出しが為される。保持レジスタ(4
2)の読み出しの結果、アドレスポインタ(45)が
「0」になると、読み出しが終了したことを示す信号SE
MPがマイクロコンピータに出力される。一方、マイクロ
コンピータは、データの転送が終了すると終了信号SRDY
を印加し転送終了フラグ(43)をセットする。出力レジ
スタ(44)は、データバスBUS1及びBUS2に接続された16
ビットのシフトレジスタであり、データバス(11)に転
送されたデータをパラレルに入力し、マイクロコンピー
タからの転送クロックSOCLKにより、シリアルデータSOU
Tを出力する。The interface circuit (15) is for transmitting and receiving data between the DSP system and an external control device, for example, a micro computer (not shown), and as shown in FIG. 3, an input register (SIPO) (41). And the holding register (LI
FO) (42), transfer end flag (F) (43), and output register (44). The input register (41) is
Serial input data applied from the micro computer
It is a 16-bit shift register that sequentially inputs SIN by a synchronous clock SCLK. When 16-bit data input is completed, the parallel output holds the input digital data in the holding register (42). The holding register (42) is a register having a capacity of 16 bits × 8,
The eight addresses of the holding register (42) are designated by the address pointer (45). Address pointer (45)
Is incremented each time writing is performed to the holding register (42) and decremented each time reading is performed. Therefore, the holding register (42) is decremented.
When reading out, the digital data is taken out in the reverse order of the written order. Holding register (4
When the address pointer (45) becomes "0" as a result of the reading in 2), the signal SE indicating that the reading is completed
MP is output to the micro computer. On the other hand, when the data transfer is completed, the micro computer will end signal SRDY.
Is applied and the transfer end flag (43) is set. The output register (44) is connected to the data buses BUS1 and BUS2
It is a bit shift register that inputs the data transferred to the data bus (11) in parallel and uses the transfer clock SOCLK from the micro computer to output the serial data SOU.
Output T.
外部メモリインターフェイス回路(16)は、DSPシステ
ムに外部接続されるメモリとの間で、アドレス指定及び
データの送受を行うための回路で、第4図の如く、デー
タバス(11)に接続されたアドレス保持レジスタ(RMA
D)(46)(47)と、アドレス保持レジスタ(46)(4
7)に接続された出力レジスタ(48)と、外部メモリ装
置(不図示)から取り出されたデジタルデータを入力す
る入力レジスタ(49)と、入力レジスタ(49)とデータ
バス(11)に接続された入力データ保持レジスタ(RMR
D)(50)(51)と、データバス(11)に接続された出
力データ保持レジスタ(RMWR)(52)(53)と、出力レ
ジスタ(54)とから構成される。アドレス保持レジスタ
(46)(47)は各々17ビットであり、出力レジスタ(4
8)は、17ビットのアドレスデータを9ビットと8ビッ
トに分割して異なるタイミングで外部メモリ装置に印加
するものである。入力レジスタ(49)は、外部メモリ装
置から読み出された16ビットのデータが8ビットに分割
されて印加され、これらを16ビットにまとめて、16ビッ
トの入力データ保持レジスタ(50)(51)に印加するも
のである。また、出力データ保持レジスタ(52)(53)
は、16ビットで構成され、データバス(11)に送出され
た出力データを保持し、出力レジスタ(54)に出力す
る。出力レジスタ(54)は、16ビットに出力データを8
ビットに分割して外部メモリ装置に出力する。The external memory interface circuit (16) is a circuit for addressing and transmitting / receiving data to / from a memory externally connected to the DSP system, and is connected to the data bus (11) as shown in FIG. Address holding register (RMA
D) (46) (47) and address holding registers (46) (4
Output register (48) connected to 7), input register (49) for inputting digital data fetched from an external memory device (not shown), connected to input register (49) and data bus (11) Input data holding register (RMR
D) (50) (51), output data holding registers (RMWR) (52) (53) connected to the data bus (11), and an output register (54). The address holding registers (46) and (47) each have 17 bits, and the output register (4
In 8), 17-bit address data is divided into 9 bits and 8 bits and applied to the external memory device at different timings. The 16-bit data read from the external memory device is divided into 8 bits and applied to the input register (49). These 16-bit data are combined into 16-bit input data holding registers (50) (51). Is to be applied to. The output data holding register (52) (53)
Is composed of 16 bits, holds the output data sent to the data bus (11), and outputs it to the output register (54). The output register (54) outputs the output data in 16 bits.
It is divided into bits and output to an external memory device.
本実施例において、外部メモリ装置は、反射音及び残響
音の作成に使用されるものであり、例えば、第5図に示
される如く、領域が分けられている。第5図に於いて、
外部メモリ装置のアドレス「0」から「A−1」まで
は、1次反射音、2次反射音、3次反射音…m次反射音
を作成するための領域でオーディオ信号のデジタルデー
タを遅延するために使用され、「A」から「A+n」ま
での領域は残響音を作成するための領域で、独立したア
ドレスデータ「0」〜「n」で巡回してアクセスするこ
とができるようになっている。そのための処理について
は後に述べる。In this embodiment, the external memory device is used to create a reflected sound and a reverberant sound, and the areas are divided as shown in FIG. 5, for example. In Figure 5,
From the address "0" to "A-1" of the external memory device, the digital data of the audio signal is delayed in the area for creating the primary reflected sound, the secondary reflected sound, the tertiary reflected sound ... The area from "A" to "A + n" is an area for creating reverberation sound, and can be accessed by circulating with independent address data "0" to "n". ing. The processing for that will be described later.
データ交換レジスタ(17)は、データバスBUS1に送出さ
れたデータを保持し、データバスBUS2に出力する24ビッ
トのR→Lレジスタ(17a)と、データバスBUS2に送出
されたデータを保持し、データバスBUS1に出力する24ビ
ットのL→Rレジスタ(17b)から構成され、交換命令
の実行時に制御回路(20)から出力される制御信号CHG
により、1命令サイクル中に、データの保持と出力がR
→Lレジスタ(17a)及びL→Rレジスタ(17b)で同時
に行われる。従って、右チャンネルのデジタルデータと
左チャンネルのデジタルデータを互いに交換し、各々相
手チャンネルのデータに所定の係数を乗算し、自分のデ
ジタルデータに加算あるいは減算するといった信号操作
が行える。The data exchange register (17) holds the data sent to the data bus BUS1 and holds the 24-bit R → L register (17a) that outputs to the data bus BUS2 and the data sent to the data bus BUS2. Control signal CHG that consists of a 24-bit L → R register (17b) that outputs to the data bus BUS1, and that is output from the control circuit (20) when executing the exchange instruction.
Therefore, the data holding and output are R in one instruction cycle.
→ L register (17a) and L → R register (17b) are performed simultaneously. Therefore, it is possible to perform a signal operation such that the right channel digital data and the left channel digital data are exchanged with each other, each partner channel data is multiplied by a predetermined coefficient, and the own digital data is added or subtracted.
記憶制御レジスタ(18)は、2ビットのレジスタであ
り、インターフェイス回路(15)からデータを取り出す
ための転送命令が実行されたとき、制御回路(20)から
出力される制御信号MBDLによって、2ビットのデータが
セットされる。記憶制御レジスタ(18)の2ビット出力
は、各々デジタル処理回路(12)(13)のデータRAM(2
1)及び定数RAM(22)に印加され、それらの書き込み動
作を制御している。即ち、インターフェイス回路(15)
から取り出したデータをデータRAM(21)あるいは定数R
AM(22)に転送する転送命令実行時に、その書き込み動
作の制御が為される。例えば、定数RAM(22)に書き込
まれたデジタルフィルタの定数を変える場合、右チャン
ネル及び左チャンネルを一度に変えるには、予め記憶制
御レジスタ(18)の2ビット共に「1」をセットすれば
良く、右チャンネルと左チャンネルを独立して変えるに
は、変えたい方のチャンネルに対応するビットを
「1」、他方のビット「0」とすれば良い。この記憶制
御レジスタ(18)へのデータセットは、制御回路(20)
のループカウンタ(40)(第2図)とアドレスポインタ
(24)(25)へのデータセットと同時に行われる。即
ち、マイクロコンピータは、インターフェイス回路(1
5)の保持レジスタ(42)(第3図)にデータを転送す
る際に、そのデータ数を示すデータとそのデータを書き
込む先頭アドレスを示すアドレスデータと右チャンネル
あるいは左チャンネルを示すデータから成る複合データ
を最後に転送する。複合データの割当ては、第6図に示
す如く、16ビットのデータのうち、下位10ビットがアド
レスデータを示し、上位4ビットがデータ数を示し、残
り2ビットが右チャンネルと左チャンネルを指定するデ
ータである。従って、インターフェイス回路(15)から
データを取り出す際に、最初ループカウンタ(40)、ア
ドレスポインタ(25)、記憶制御レジスタ(18)への転
送命令を実行することにより、複合データが取り出さ
れ、各々のセットが為されるのであり、次の転送命令の
実行では複合データの内容に基いた転送が為されるので
ある。The storage control register (18) is a 2-bit register, and when a transfer instruction for fetching data from the interface circuit (15) is executed, a 2-bit control signal MBDL output from the control circuit (20) Data is set. The 2-bit output of the storage control register (18) is the data RAM (2) of the digital processing circuit (12) (13).
1) and a constant RAM (22) applied to control their write operations. That is, the interface circuit (15)
The data retrieved from the data RAM (21) or constant R
The write operation is controlled when the transfer instruction to transfer to AM (22) is executed. For example, when changing the constant of the digital filter written in the constant RAM (22), the right channel and the left channel can be changed at once by setting "1" to both 2 bits of the storage control register (18) in advance. To change the right channel and the left channel independently, the bit corresponding to the channel to be changed may be set to "1" and the other bit to "0". The data set to this storage control register (18) is stored in the control circuit (20).
It is performed simultaneously with the data setting to the loop counter (40) (Fig. 2) and the address pointers (24) and (25). That is, the micro computer is connected to the interface circuit (1
When data is transferred to the holding register (42) (Fig. 3) of 5), it is composed of data indicating the number of data, address data indicating the start address to write the data, and data indicating the right channel or the left channel. Transfer data last. As shown in FIG. 6, in the allocation of the composite data, among the 16-bit data, the lower 10 bits indicate the address data, the upper 4 bits indicate the number of data, and the remaining 2 bits specify the right channel and the left channel. The data. Therefore, when data is fetched from the interface circuit (15), composite data is fetched by first executing a transfer instruction to the loop counter (40), address pointer (25) and storage control register (18). Is set, and in the execution of the next transfer instruction, the transfer is performed based on the content of the composite data.
条件分岐制御回路(19)は、各々のデジタル処理回路
(12)(13)のALU(28)のデジタル処理出力が所定の
状態になったときに出力される信号を、データバスBUS2
から印加されたデータに基いて選択しジャンプ制御信号
JMPを発生するものであり、第7図に示される如く、2
ビットの条件設定レジスタ(55)と、各々のALU(28)
から出力されるボロー信号BOR(R),(L)でセット
されるボローフラグ(R),(L)(56)と、キャリー
信号CAY(R),(L)でセットされるキャリーフラグ
(R),(L)(57)と、ALU(28)で処理した結果の
データが負であることを示すサイン信号SIN(R),
(L)でセットされるサインフラグ(R),(L)(5
8)と、デジタルデータがオーバーフロー、即ち、「7FF
FFFFF」(36ビット)以上になったとき、及び、「80000
000」(36ビット)以下(負のオーバーフロー)になっ
たとき出力されるオーバーフロー信号OVF(R),
(L)でセットされるオーバーフローフラグ(R),
(L)(59)と、条件設定レジスタ(55)の2ビット出
力及びその反転出力で制御され、各々のフラグ(56)
(57)(58)(59)の(R)と(L)の出力を選択する
選択回路(60)とから構成される。この選択回路(60)
は、ANDゲート(61)とORゲート(62)で構成され、条
件設定レジスタ(55)のB1,B2が各々「1」「1」の場
合には、各々のフラグ(56)(57)(58)(59)の
(R)あるいは(L)のいずれか一方がセットされれば
ジャンプ制御信号JMPが出力され、B1,B2が各々「1」
「0」の場合には各々のフラグ(56)(57)(58)(5
9)の(R)側のみ、即ち、デジタル処理回路(12)の
条件のみでジャンプ制御信号JMPが出力され、逆にB1,B2
が各々「0」「1」の場合には、各々のフラグ(56)
(57)(58)(59)の(L)側のみ、即ち、デジタル処
理回路(13)の条件のみでジャンプ制御信号JMPが出力
され、B1,B2が共に「0」の場合には、各々のフラグ(5
6)(57)(58)(59)の(R)及び(L)の両方が共
にセットされたときだけジャンプ制御信号JMPが出力さ
れるのである。従って、条件設定レジスタ(55)にセッ
トするデータの内容により、ジャンプの条件を設定でき
るのである。また、ボローフラグ(56)、キャリーフラ
グ(57)、及びサインフラグ(58)は、条件分岐命令の
実行サイクルにおける最後のタイミングで制御回路(2
0)のインスタラクションデコーダ(34)から出力され
るリセット信号BOFR,CAFR,及び、SIFRによって各々リセ
ットされるが、オーバーフローフラグ(59)は、オーバ
ーフローフラグに基く条件分岐命令の実行サイクルでは
リセットされず、単独のオーバーフローフラグリセット
命令の実行によってインスタラクションデコーダ(34)
から出力される制御信号OVFRによってリセットされる。The conditional branch control circuit (19) outputs a signal output when the digital processing output of the ALU (28) of each digital processing circuit (12) (13) reaches a predetermined state to the data bus BUS2.
Select jump control signal based on the data applied from
JMP is generated, and as shown in FIG.
Bit condition setting register (55) and each ALU (28)
Borrow flags (R) and (L) (56) set by borrow signals BOR (R) and (L) output from the same, and carry flags (R) set by carry signals CAY (R) and (L). , (L) (57) and a sine signal SIN (R) indicating that the result data processed by the ALU (28) is negative,
Sign flags (R), (L) (5) set by (L)
8) and digital data overflow, that is, "7FF
FFFFF ”(36 bits) or more, and“ 80000
Overflow signal OVF (R), which is output when 000 ”(36 bits) or less (negative overflow)
Overflow flag (R) set by (L),
(L) (59) and the 2-bit output of the condition setting register (55) and its inverted output to control each flag (56)
(57) (58) (59) (R) and (L) selection circuit (60) for selecting the output. This selection circuit (60)
Is composed of an AND gate (61) and an OR gate (62). When B 1 and B 2 of the condition setting register (55) are “1” and “1”, respectively, the respective flags (56) (57) ) (58) and (59) (R) or (L) is set, the jump control signal JMP is output and B 1 and B 2 are "1" respectively.
In the case of "0", each flag (56) (57) (58) (5
The jump control signal JMP is output only on the (R) side of 9), that is, only under the condition of the digital processing circuit (12), and conversely B 1 , B 2
If each is "0" or "1", each flag (56)
If the jump control signal JMP is output only on the (L) side of (57), (58) and (59), that is, only under the condition of the digital processing circuit (13), and B 1 and B 2 are both “0”, , Each flag (5
6) The jump control signal JMP is output only when both (R) and (L) of (57) (58) (59) are set. Therefore, the jump condition can be set according to the contents of the data set in the condition setting register (55). The borrow flag (56), the carry flag (57), and the sign flag (58) are set in the control circuit (2) at the last timing in the execution cycle of the conditional branch instruction.
0) is reset by the reset signals BOFR, CAFR, and SIFR output from the installation decoder (34), but the overflow flag (59) is not reset in the execution cycle of the conditional branch instruction based on the overflow flag. , An installation decoder by executing a single overflow flag reset instruction (34)
It is reset by the control signal OVFR output from.
次に、第1図に示されたDSPシステムを用いて各種機能
を実現するための動作を説明する。Next, operations for realizing various functions using the DSP system shown in FIG. 1 will be described.
例えば、オーディオの信号処理に於いて、グラフィック
イコライザを実現する場合、 yi=xiA+xi-1B+xi-2C+yi-1D+yi-2E (A,B,C,D,Eはフィルタ定数) で表わされる積和演算によって実現される帯域デジタル
フィルタを複数段接続することによって得られる。For example, when implementing a graphic equalizer in audio signal processing, the product represented by yi = xiA + xi -1 B + xi -2 C + yi -1 D + yi -2 E (A, B, C, D, E are filter constants) It is obtained by connecting a plurality of band digital filters realized by the sum operation.
第8図は、2次の直接型IIRフィルタの帯域デジタルフ
ィルタを2段縦接続することによって2バンドのグラフ
ィックイコライザを実現するものである。第8図に於い
てZ-1(63)は単位時間(ここではサンプリング周期)
の遅延素子であり、(64)は定数A〜Jの乗算素子、
(65)は加算素子である。FIG. 8 shows a 2-band graphic equalizer realized by vertically connecting two stages of band digital filters of a second-order direct IIR filter. In Figure 8, Z -1 (63) is the unit time (sampling cycle here).
(64) is a multiplication element of constants A to J,
(65) is an addition element.
第9図は、第8図のデジタルフィルタを実現するプログ
ラムを示す図であり、第10図は、データRAM(21)と定
数RAM(22)に記憶されるデータの割り付け図である。
第9図のプログラムは、定数の乗算をC,B,A,E,D,H,G,F,
J,Iの順で行うために、定数RAM(22)のアドレス「0」
から「9」までには同一順序で定数が格納される。一
方、データRAM(21)に、xi,yi,ziのデータが3アドレ
スおきに書き込まれるが、サンプリング周期、即ち、一
つの入力データxi+1に対するフィルタ処理時間毎に、1
アドレスずらしてxi+1,yi+1,zi+1を書き込むことによ
り、遅延素子(63)による遅延データを作成している。
よって、アドレスポインタ(24)は「0」〜「7」の循
環アドレス指定、及び、アドレスポインタ(25)は
「0」〜「9」の循環アドレス指定となるように予めプ
ログラムによって設定しておく。FIG. 9 is a diagram showing a program for realizing the digital filter of FIG. 8, and FIG. 10 is an allocation diagram of data stored in the data RAM (21) and the constant RAM (22).
The program shown in FIG. 9 performs multiplication of constants by C, B, A, E, D, H, G, F,
In order of J and I, the constant RAM (22) address "0"
From "9" to "9", constants are stored in the same order. On the other hand, the data xi, yi, and zi are written into the data RAM (21) at every 3 addresses, but the sampling period, that is, 1 at each filter processing time for one input data xi +1 .
The delay data is created by the delay element (63) by shifting the address and writing xi +1 , yi +1 , zi +1 .
Therefore, the address pointer (24) is set in advance by a program so that the address pointer (24) is cyclically addressed from "0" to "7" and the address pointer (25) is cyclically addressed from "0" to "9". .
ここで、入力データxiに対して第9図のプログラムのス
テップ「0」を実行する時点に於いて、データRAM(2
1)の内容が第10図(イ)の如くであり、アドレスポイ
ンタ(24)(25)が共にアドレス「0」であるとき、ス
テップ「0」が実行されると、乗算器(27)の入力A及
びBには、データRAM(21)のアドレス「0」に記憶さ
れているデータxi-2(2サンプル前の入力データ)と定
数RAM(22)のアドレス「0」に記憶されている係数C
が印加されるが、その乗算結果は、次のステップで確定
し出力される。また、ステップ「0」の最後に、命令AP
1INC,AP2INCにより、アドレスポインタ(24)(25)が
共にインクリメントされ、その内容が「1」となる。Here, at the time when step “0” of the program of FIG. 9 is executed for the input data xi, the data RAM (2
When the content of 1) is as shown in FIG. 10 (a), and when the address pointers (24) and (25) are both addresses "0", when step "0" is executed, the multiplier (27) For inputs A and B, data xi -2 (input data two samples before) stored in address "0" of data RAM (21) and address "0" of constant RAM (22) are stored. Coefficient C
Is applied, but the multiplication result is determined and output in the next step. At the end of step "0", the command AP
The address pointers (24) and (25) are both incremented by 1INC and AP2INC, and the content becomes "1".
ステップ「1」が実行されると、ステップ「0」と同様
にデータRAM(21)と定数RAM(22)が乗算器(27)の入
力として選択され、各々、アドレス「1」に記憶された
データxi-1と定数Bが乗算器(27)に印加される。ま
た、前回のステップ「0」で乗算された結果は、命令AL
UTHRにより、ALU(28)を素通りしてACC(29)に最初の
乗算結果C・xi-2がストアされる。ステップ「1」の最
後に、命令AP1INC,AP2INCにより、アドレスポインタ(2
4)(25)がインクリメントされ、その内容はアドレス
「2」となる。When the step "1" is executed, the data RAM (21) and the constant RAM (22) are selected as the inputs of the multiplier (27) as in the step "0", and are respectively stored in the address "1". The data xi -1 and the constant B are applied to the multiplier (27). In addition, the result of multiplication at the previous step "0" is the instruction AL.
By UTHR, the first multiplication result C · xi −2 is stored in ACC (29) without passing through ALU (28). At the end of the step "1", the address pointer (2
4) (25) is incremented and the content becomes address "2".
次に、ステップ「2」が実行されると、命令MULA−BUS,
B−CRAMにより、乗算器(27)の入力Aにはデータバス
(11)、入力Bには定数RAM(22)が選択される。一
方、命令TMP1Sにより、テンポラリーレジスタTMP1の内
容がデータバス(11)に送出され、命令RAM1Dにより、
データバス(11)に送出されたデータが、アドレスポイ
ンタ(24)で指定されるデータRAM(21)のアドレス
「2」にストアされる。このとき、テンポラリーレジス
タTMP1には、サンプリング周期毎にデータ入力回路(1
4)に外部から印加された入力データxiが予めストアさ
れている。従って、入力データxiは、乗算器(27)によ
って定数RAM(22)から読み出された定数Aと乗算され
ると共に、データRAM(21)のアドレス「2」にストア
される。一方、命令ALUADDにより、ACC(29)にストア
されているC・xi-2とステップ「1」の乗算結果B・xi
-1の加算が行われ、その結果B・xi-1+C・xi-2がACC
(29)にストアされる。ステップ「2」の最後に、アド
レスポインタ(24)(25)がインクリメントされ、その
内容はアドレス「3」となる。Next, when step "2" is executed, the command MULA-BUS,
The B-CRAM selects the data bus (11) for the input A and the constant RAM (22) for the input B of the multiplier (27). On the other hand, the instruction TMP1S sends the contents of the temporary register TMP1 to the data bus (11), and the instruction RAM1D
The data sent to the data bus (11) is stored in the address "2" of the data RAM (21) designated by the address pointer (24). At this time, the temporary register TMP1 has a data input circuit (1
Input data xi applied from the outside is stored in advance in 4). Therefore, the input data xi is multiplied by the constant A read from the constant RAM (22) by the multiplier (27) and is stored in the address “2” of the data RAM (21). On the other hand, by the instruction ALUADD, the multiplication result B.xi of step "1" and C.xi -2 stored in ACC (29)
-1 is added, and as a result, B · xi −1 + C · xi −2 becomes ACC.
Stored at (29). At the end of step "2", the address pointers (24) and (25) are incremented, and the contents become the address "3".
ステップ「3」が実行されると、乗算器(27)の入力A
及びBには、データRAM(21)と定数RAM(22)のアドレ
ス「3」にストアされているデータyi-2と定数Eが印加
され、命令ALUADDにより、ステップ「2」の乗算結果A
・xiとACC(29)の内容B・xi-1+C・xi-2がALU(28)
に於いて加算され、加算結果A・xi+B・xi-1+C・xi
-2がACC(29)にストアされる。ストップ「3」の最後
にアドレスポインタ(24)(25)がインクリメントさ
れ、アドレス「4」となる。When step "3" is executed, the input A of the multiplier (27)
The data yi -2 and the constant E stored in the address "3" of the data RAM (21) and the constant RAM (22) are applied to B and B, and the multiplication result A of the step "2" is given by the instruction ALUADD.
・ Contents of xi and ACC (29) B ・ xi -1 + C ・ xi -2 are ALU (28)
And the addition result is A · xi + B · xi −1 + C · xi
-2 is stored in ACC (29). At the end of the stop "3", the address pointers (24) and (25) are incremented to become the address "4".
ステップ「4」が実行されると、乗算器(27)の入力A
及びBには、データRAM(21)と定数RAM(22)のアドレ
ス「4」にストアされているデータyi-1と定数Dが印加
され、命令ALUADDにより、ステップ「3」の乗算結果E
・yi-2とACC(29)の内容Axi+B・xi-1+C・xi-2がAL
U(28)に於いて加算され、加算結果A・xi+B・xi-1
+C・xi-2+E・yi-2がACC(29)にストアされる。ス
テップ「4」の最後に、命令AP1DEC,AP2INCにより、ア
ドレスポインタ(24)はデクリメントされ、アドレス
「3」となり、アドレスポインタ(25)はインクリメン
トされて、アドレス「5」となる。When step "4" is executed, the input A of the multiplier (27)
The data yi -1 and the constant D stored in the address "4" of the data RAM (21) and the constant RAM (22) are applied to B and B, and the multiplication result E of the step "3" is given by the instruction ALUADD.
・ Contents of yi -2 and ACC (29) Axi + B, xi -1 + C, xi -2 is AL
It is added at U (28) and the result is A ・ xi + B ・ xi -1
+ C · xi −2 + E · yi −2 is stored in ACC (29). At the end of step "4", the instructions AP1DEC and AP2INC decrement the address pointer (24) to an address "3", and the address pointer (25) is incremented to an address "5".
ステップ「5」が実行されると、乗算器(27)の入力A
及びBには、データRAM(21)のアドレス「3」にスト
アされたデータyi-2と定数RAM(22)のアドレス「5」
にストアされた定数Hが印加される。即ち、乗算器(2
7)は、このステップ「5」から第8図に示されたデジ
タルフィルタの2段目の乗算を行う。一方、命令ALUADD
により、ステップ「4」の乗算結果D・yi-1とACC(2
9)の内容A・xi+B・xi-1+C・xi-2+E・yi-2がALU
(28)に於いて加算され、加算結果A・xi+B・xi-1+
C・xi-2+D・yi-1+E・yi-2がACC(29)にストアさ
れる。このときのACC(29)の内容は、1段目のデジタ
ルフィルタの出力yiとなる。ステップ「5」の最後にア
ドレスポインタ(24)はインクリメントされてアドレス
「4」となり、アドレスポインタ(25)はインクリメン
トされてアドレス「6」となる。When step "5" is executed, the input A of the multiplier (27)
In and B, the data yi -2 stored in the address "3" of the data RAM (21) and the address "5" of the constant RAM (22).
The constant H stored in is applied. That is, the multiplier (2
In step 7), the second-stage multiplication of the digital filter shown in FIG. 8 is performed from step "5". Meanwhile, the instruction ALUADD
Results in multiplication result of step “4” D · yi −1 and ACC (2
9) Content A ・ xi + B ・ xi -1 + C ・ xi -2 + E ・ yi -2 is ALU
It is added in (28) and the addition result is A ・ xi + B ・ xi -1 +
C · xi −2 + D · yi −1 + E · yi −2 is stored in ACC (29). The contents of ACC (29) at this time become the output yi of the first-stage digital filter. At the end of step "5", the address pointer (24) is incremented to become the address "4", and the address pointer (25) is incremented to become the address "6".
以下ステップ「6」〜「11」までを実行することによ
り、入力データxiに対するフィルタ処理が行われ、デー
タRAM(21)の内容が第10図(ロ)の如く変化し、フィ
ルタ処理ziが得られる。そして、スタートアドレスを1
アドレス先に進めて同様の動作を繰り返えすことによ
り、第10図(ハ)(ニ)の如くデータRAM(21)が変化
し、フィルタ出力zi+1,zi+2…が得られる。この動作
は、デジタル処理回路(12)(13)の両方に対して同時
に行われるため、右チャンネルと左チャンネルのフィル
タ処理が同時に行われるのである。By performing steps "6" to "11" below, the filtering process is performed on the input data xi, the contents of the data RAM (21) are changed as shown in Fig. 10 (b), and the filtering process zi is obtained. To be And the start address is 1
By advancing to the address destination and repeating the same operation, the data RAM (21) changes as shown in FIGS. 10 (c) and 10 (d), and the filter outputs zi + 1 , zi + 2 ... Are obtained. Since this operation is simultaneously performed on both the digital processing circuits (12) and (13), the filtering processing for the right channel and the left channel is performed at the same time.
次に、外部メモリ装置の巡回メモリ領域を巡回アクセス
する動作について説明する。第5図に示された如く、巡
回メモリ領域は、独立したメモリとして「0」〜「n」
までのアドレスデータでアクセス可能であり、前回のア
ドレスデータXは、定数RAM(22)の所定アドレスに保
持されている。そこで、アドレス「n」からアドレス
「0」の方向に1アドレスづつアクセスする場合につい
て述べる。Next, an operation of cyclically accessing the cyclic memory area of the external memory device will be described. As shown in FIG. 5, the cyclic memory area is "0" to "n" as an independent memory.
Can be accessed with the address data up to, and the previous address data X is held at a predetermined address of the constant RAM (22). Therefore, a case where one address is accessed in the direction from the address “n” to the address “0” will be described.
先ず、アドレスポインタ(25)にアドレスデータXの記
憶されているアドレスをセットし、MD命令を実行する。
このMD命令は、定数RAM(22)からアドレスデータXを
読み出し、制御信号MDによりALU(28)に於いてデクリ
メントを行って、その結果X−1をACC(29)に保持さ
せるが、X−1の結果ボローが生じた場合には、定数RO
M(23)の所定アドレスに記憶されている巡回メモリ領
域の終了アドレス「n」を読み出し、ACC(29)にX−
1の代りに保持させる。これらの動作は、MD命令の実行
サイクル内にすべて行われる。次に、転送命令により、
今までアドレスデータ「X」の記憶されていた定数RAM
(22)のアドレスに、ACC(29)のデータを転送し保持
させる。更に、加算命令ADDを実行し、定数ROM(23)内
に記憶されている巡回メモリ領域の先頭アドレス「A」
を読み出し、ACC(29)に保持されているデータと加算
し、その加算結果、即ち、「X−1+A」を再びACC(2
9)に保持する。これにより、ACC(29)に保持されたア
ドレスデータは、外部メモリ装置の実アドレスデータと
なる。これを、外部メモリ装置に印加するために、転送
命令を実行し、ACC(29)内のアドレスデータを外部メ
モリインターフェイス回路(16)のアドレス保持レジス
タRMAD(第4図)のいずれか一方に転送する。これによ
り、アドレスデータ「X−1+A」は、出力レジスタ
(48)により外部メモリ装置に印加される。First, the address where the address data X is stored is set in the address pointer (25) and the MD instruction is executed.
This MD instruction reads the address data X from the constant RAM (22), decrements it in the ALU (28) by the control signal MD, and as a result holds X-1 in ACC (29). If a borrow occurs as a result of 1, the constant RO
The end address "n" of the cyclic memory area stored at the predetermined address of M (23) is read out, and X- is stored in ACC (29).
Hold instead of 1. All of these operations are performed within the execution cycle of the MD instruction. Next, by the transfer command,
Constant RAM where address data "X" has been stored until now
The data of ACC (29) is transferred to and held at the address of (22). Further, the addition instruction ADD is executed, and the start address “A” of the cyclic memory area stored in the constant ROM (23)
Is read out and added to the data held in ACC (29), and the addition result, that is, "X-1 + A" is again read in ACC (2
Hold on to 9). As a result, the address data held in the ACC (29) becomes the real address data of the external memory device. In order to apply this to the external memory device, a transfer instruction is executed and the address data in ACC (29) is transferred to one of the address holding registers RMAD (Fig. 4) of the external memory interface circuit (16). To do. As a result, the address data "X-1 + A" is applied to the external memory device by the output register (48).
ここで、外部メモリ装置にD−RAM(ダイナミック・ラ
ンダム・アクセス・メモリ)を使用した場合、巡回メモ
リ領域を巡回アクセスすることで、D−RAMのリフレッ
シュが行われるようになっている。即ち、実際のアドレ
スデータ「X−1+A」が16ビットであるとき、巡回メ
モリ領域をアドレス指定する「X」は「0」〜「n」で
あるから、巡回アクセスによって変化するビットは16ビ
ットのアドレスデータのうちの一部である。従って、第
4図に示された出力レジスタ(48)は、その変化するビ
ットをD−RAMのローアドレスデータとして出力するよ
うに構成される。また、アドレスデータが16ビットであ
るのに対し、アドレス保持レジスタ(46)(47)及び出
力レジスタ(48)が17ビットで構成されているのは、変
化するビットがD−RAMのローアドレスデータのビット
数に満たない場合に、残り1ビットをローアドレスデー
タの1ビットとして出力し、この1ビットを操作するこ
とにより、すべてのリフレッシュを行うためである。When a D-RAM (dynamic random access memory) is used as the external memory device, the D-RAM is refreshed by cyclically accessing the cyclic memory area. That is, when the actual address data "X-1 + A" is 16 bits, "X" for addressing the cyclic memory area is "0" to "n". Therefore, the bit changed by the cyclic access is 16 bits. It is a part of the address data. Therefore, the output register (48) shown in FIG. 4 is configured to output the changing bit as row address data of the D-RAM. Further, the address data is 16 bits, whereas the address holding registers (46) (47) and the output register (48) are composed of 17 bits, which means that the changing bits are the row address data of the D-RAM. This is because when the number of bits is less than 1, the remaining 1 bit is output as 1 bit of the row address data, and all the refresh is performed by operating this 1 bit.
実アドレスデータ「X−1+A」の出力により、読み出
されたデータは、入力レジスタ(49)及び入力データ保
持レジスタRMRD(50)又は(51)を介してデータバス
(11)に取り込まれ、また、書き込むデータは、出力デ
ータ保持レジスタRMWR(52)又は(53)と出力レジスタ
(54)を介して外部メモリ装置に書き込まれる。By the output of the real address data "X-1 + A", the read data is taken in the data bus (11) via the input register (49) and the input data holding register RMRD (50) or (51), and The data to be written is written to the external memory device via the output data holding register RMWR (52) or (53) and the output register (54).
このように、MD命令の実行サイクル内で、デクリメント
とその結果に基く転送動作を行うので、アドレスデータ
を作成するプログラムステップが短かくなるのである。In this way, since the decrement and the transfer operation based on the result are performed within the execution cycle of the MD instruction, the program step for creating the address data becomes short.
次に、入力データのレベル調整の機能について説明す
る。サンプリング周期毎に入力されるデジタルデータ
は、前述した如くデジタルフィルタによって処理される
が、入力データのレベルが大きすぎたり、小さすぎる
と、乗算及び演算時にオーバーフローが発生する。この
オーバーフローが発生した状態のフィルタ出力をアナロ
グ変換してオーディオ信号とするとノイズとして再生さ
れることになる。Next, the function of adjusting the level of input data will be described. The digital data input in each sampling cycle is processed by the digital filter as described above, but if the level of the input data is too large or too small, overflow occurs during multiplication and calculation. When the filter output in the state where the overflow has occurred is converted into an analog signal to be an audio signal, it is reproduced as noise.
そこで、第1図に示されたDSPシステムでは、オーバー
フローを検出して、フィルタ出力を制御すると共に入力
データのレベルを調整できるようになっている。その動
作の例を第11図に示し説明する。Therefore, in the DSP system shown in FIG. 1, it is possible to detect the overflow, control the filter output, and adjust the level of the input data. An example of the operation will be described with reference to FIG.
サンプリング周期毎に入力されるデジタルデータをその
ままフィルタ処理するのではなく係数Kを乗算し、その
乗算結果を入力デジタルデータxiとしてフィルタ処理を
行う。第11図に於いて、先ず、データ入出力回路(14)
からデジタルデータを入力し、データRAM(21)内の所
定アドレスに一時保持しておく。そして、乗算命令MUL
により、データRAM(21)から読み出した未処理のデジ
タルデータとテンポラリーレジスタTMP3に保持されてい
る係数Kとの乗算を行う。このテンポラリーレジスタTM
P3は、係数Kの保持用として利用され、初期状態では、
定数ROM(23)に記憶されている定数「1」が予め転送
されている。乗算後に、条件分岐制御回路(19)内のオ
ーバーフローフラグ(R),(L)(59)をリセットす
るための命令を実行し、オーバーフローフラグ(R),
(L)(59)をリセットし、そして、係数Kの乗算結果
が保持されているデジタルデータxiをテンポラリーレジ
スタTMP1に転送する。このテンポラリーレジスタTMP1
は、前述した如く、フィルタ処理を行う際の入力デジタ
ルデータxiの保持用として利用され、入力デジタルデー
タxiは、前述した如くフィルタ処理される。フィルタ処
理が終了すると、そのフィルタ処理中の乗算あるいは演
算によってオーバーフローが発生したか否かをオーバー
フローフラグの判定命令によって判定する。このとき、
条件分岐制御回路(19)の条件設定レジスタ(55)(第
7図)には、「1」「1」を設定し、左右いずれのオー
バーフローも判定できるようにしておく。判定の結果、
オーバーフローが発生していなければそのまま次のフィ
ルタ処理を続けるが、オーバーフローが発生した場合に
は、フィルタ処理の出力データを見て、そのオーバーフ
ローが正のオーバーフローであるか負のオーバーフロー
であるかを判別する。正のオーバーフローである場合に
は、定数ROM(23)の所定アドレスに記憶されている最
大値「7FFFFFFF」を取り出して、フィルタ出力ziとして
データRAM(21)に設定し、負のオーバーフローである
場合には定数ROM(23)に記憶されている最小値「80000
000」を取り出して、フィルタ出力ziとしてデータRAM
(21)に記憶させる。そして、フィルタ処理がすべて終
了したら、データRAM(21)内に記憶された出力データz
iを処理済デジタルデータとしてデータ入出力回路(1
4)に転送し出力する。ここで、次の入力データの処理
に移る前に、再びオーバーフローがあったか否かを判定
する。第7図に示されたオーバーフローフラグ(R),
(L)(59)は、オーバーフローフラグの判定命令の実
行時にはリセットされないので、前のフィルタ処理でオ
ーバーフローがあればセットされたままとなっている。
判定の結果、オーバーフローがあった場合には、入力さ
れたデジタルデータのレベルが大きすぎるのであるから
係数Kを小さくすべく、定数ROM(23)に記憶されてい
る定数「a」(a=0.99)のアドレスをアドレスポイン
タ(26)に設定する。一方、オーバーフローが無かった
場合には、テンポラリーレジスタTMP3に保持されている
係数Kが「1」であるか否かを判定する。係数Kが
「1」である場合には、係数Kを変える必要がないの
で、定数ROM(23)の定数「1」の記憶されたアドレス
をアドレスポインタ(26)に設定し、係数Kが「1」で
ない場合には、K>1であるかK<1であるかを判定す
る、係数K>1のときには、「1」に近づけるため定数
「a」を選択し、係数K<1のときには定数「b」を選
択する。そして、乗算命令により、定数ROM(23)から
アドレスポインタ(26)でアドレスされた定数を読み出
し、テンポラリーレジスタTMP3に保持された係数Kと乗
算し、その結果をテンポラリーレジスタTMP3に新しい係
数Kとして転送する。そして、再び次の入力されたデジ
タルデータと係数Kの乗算を行うのである。セットされ
たオーバーフローフラグ(R),(L)(59)は、乗算
後のリセット命令によってリセットされる。Instead of directly filtering the digital data input for each sampling cycle, the coefficient K is multiplied, and the multiplication result is used as the input digital data xi for filtering. In FIG. 11, first, the data input / output circuit (14)
Digital data is input from and is temporarily held at a predetermined address in the data RAM (21). And the multiplication instruction MUL
Thus, the unprocessed digital data read from the data RAM (21) is multiplied by the coefficient K held in the temporary register TMP3. This temporary register TM
P3 is used for holding the coefficient K, and in the initial state,
The constant "1" stored in the constant ROM (23) has been transferred in advance. After the multiplication, the instruction for resetting the overflow flags (R), (L) (59) in the conditional branch control circuit (19) is executed, and the overflow flag (R),
(L) and (59) are reset, and the digital data xi holding the multiplication result of the coefficient K is transferred to the temporary register TMP1. This temporary register TMP1
Is used for holding the input digital data xi when performing the filter processing as described above, and the input digital data xi is filtered as described above. When the filtering process ends, it is determined by an overflow flag determination command whether or not an overflow has occurred due to multiplication or calculation during the filtering process. At this time,
"1" and "1" are set in the condition setting register (55) (FIG. 7) of the conditional branch control circuit (19) so that it is possible to determine either the left or right overflow. Judgment result,
If no overflow has occurred, continue the next filtering process. If an overflow occurs, look at the output data of the filtering process and determine whether the overflow is a positive overflow or a negative overflow. To do. If it is a positive overflow, take out the maximum value "7FFFFFFF" stored at the specified address in the constant ROM (23) and set it in the data RAM (21) as the filter output zi. If it is a negative overflow Is the minimum value "80000" stored in the constant ROM (23).
000 ”is taken out and data RAM is output as filter output zi
Store it in (21). Then, when the filtering process is completed, the output data z stored in the data RAM (21) is stored.
Data input / output circuit (1
4) Transfer to and output. Here, before proceeding to the processing of the next input data, it is judged again whether or not overflow has occurred. Overflow flag (R) shown in FIG.
Since (L) and (59) are not reset when the overflow flag determination instruction is executed, they are still set if there is an overflow in the previous filter processing.
If the result of the determination is that there is an overflow, the level of the input digital data is too high, so in order to reduce the coefficient K, the constant "a" (a = 0.99) stored in the constant ROM (23). ) Address is set in the address pointer (26). On the other hand, if there is no overflow, it is determined whether the coefficient K held in the temporary register TMP3 is "1". When the coefficient K is "1", it is not necessary to change the coefficient K, so the address in which the constant "1" of the constant ROM (23) is stored is set in the address pointer (26), and the coefficient K is "1". If it is not "1", it is determined whether K> 1 or K <1. When the coefficient K> 1, the constant "a" is selected to bring it closer to "1". When the coefficient K <1, Select the constant "b". Then, by the multiplication instruction, the constant addressed by the address pointer (26) is read from the constant ROM (23), multiplied by the coefficient K held in the temporary register TMP3, and the result is transferred to the temporary register TMP3 as a new coefficient K. To do. Then, the next input digital data is multiplied by the coefficient K again. The set overflow flags (R), (L) (59) are reset by the reset instruction after multiplication.
このように、乗算あるいは演算時にオーバーフローが発
生した場合には、サンプリング周期毎に係数Kが徐々に
増減されるため、入力されたデジタルデータのレベルが
なだらかに変化する。また、オーバーフローが無くなっ
た場合にも、係数Kが「1」となるようになだらかに変
化するので、出力されたデジタルデータをアナログ変換
して再生したときに急激な音の変化が無くなるのであ
る。In this way, when an overflow occurs during multiplication or calculation, the coefficient K is gradually increased / decreased every sampling cycle, so that the level of the input digital data changes gently. Further, even when the overflow disappears, the coefficient K gradually changes so as to become "1", so that when the output digital data is converted to analog and reproduced, there is no sudden change in sound.
次に、定数RAM(22)に記憶されたデジタルフィルタを
構成するためのフィルタ係数を変更あるいは書き込む場
合の動作を説明する。デジタルフィルタの係数を変更す
る場合、外部に接続されたマイクロコンピータが係数を
送出して来る。デジタルフィルタは第8図に示される構
成であるが、係数の変更は、各段一度に変更しなければ
ならない。例えば、一段目のフィルタ動作中に係数を変
えてしまうと、一段目のフィルタ出力yiは、正しくフィ
ルタされない歪んだものとなってしまう。そこで、一段
目のフィルタ係数A,B,C,D,Eの5個の係数を変更する場
合を説明する。Next, the operation when changing or writing the filter coefficient for configuring the digital filter stored in the constant RAM (22) will be described. When changing the coefficient of the digital filter, an externally connected micro computer sends the coefficient. Although the digital filter has the configuration shown in FIG. 8, the coefficient must be changed at each stage once. For example, if the coefficient is changed during the filter operation of the first stage, the filter output yi of the first stage becomes a distorted one that is not properly filtered. Therefore, a case will be described in which the five filter coefficients A, B, C, D, and E of the first stage are changed.
定数RAM(22)には、第10図に示した如く、アドレス
「0」から「4」までの間のフィルタ係数がC,B,A,E,D
の順に記憶されている。第3図に示されたインターフェ
イス回路(15)の保持レジスタ(42)は、書き込まれる
順序とは逆の順序で読み出しが為されるため、マイクロ
コンピータは、フィルタ係数をD,E,A,B,Cの順序で転送
し、更に係数Cの後に、第6図に示された複合データを
送って来る。この場合、複合データの下位10ビットは、
定数RAM(22)の係数Cが記憶されるアドレス、即ち、
「0」となっており、また、上位4ビットは、係数の個
数、即ち、「5」を示すデータである。係数A,B,C,D,E
の右チャンネル及び左チャンネル共に変える場合には、
複合データの残り2ビットは共に「1」であり、独立し
て変える場合には変更するチャンネルに対応するビット
のみを「1」とする。As shown in FIG. 10, the constant RAM (22) has filter coefficients C, B, A, E, D between addresses “0” to “4”.
Are stored in this order. Since the holding register (42) of the interface circuit (15) shown in FIG. 3 is read out in the order opposite to the order in which it is written, the microcomputer sets the filter coefficients D, E, A, B. , C in this order, and after the coefficient C, the composite data shown in FIG. 6 is sent. In this case, the lower 10 bits of the composite data are
The address where the coefficient C of the constant RAM (22) is stored, that is,
It is “0”, and the upper 4 bits are data indicating the number of coefficients, that is, “5”. Coefficients A, B, C, D, E
To change both the right and left channels of
The remaining 2 bits of the composite data are both "1", and when changing independently, only the bit corresponding to the channel to be changed is set to "1".
マイクロコンピータが係数D,E,A,B,C及び複合データを
転送し終わると、転送終了フラグ(43)をセットするた
め、DSPシステムは、転送終了フラグ(43)の判定命令
により、転送終了を検出し、先ず、インターフェイス回
路(15)からループカウンタ(40)、記憶制御レジスタ
(18)、及び、アドレスポインタ(25)への転送命令を
実行する。これにより、ループカウンタ(40)には
「5」、アドレスポインタ(25)には「0」、記憶制御
レジスタ(18)には、例えば「11」がセットされる。次
に、インターフェイス回路(15)から定数RAM(22)へ
の転送命令がループカウンタ(40)に設定された回数、
即ち、5回実行され、保持レジスタ(42)から取り出さ
れた定数はC,B,A,E,Dの順序で定数RAM(22)に転送され
る。アドレスポインタ(25)は転送命令の実行毎にイン
クリメントされるため、定数C,B,A,E,Dは、第10図に示
される如く、各々のアドレスに記憶されることになる。When the micro computer finishes transferring the coefficients D, E, A, B, C and the composite data, the transfer end flag (43) is set, so that the DSP system terminates the transfer by the transfer end flag (43) determination command. Is detected, first, a transfer instruction from the interface circuit (15) to the loop counter (40), the storage control register (18), and the address pointer (25) is executed. As a result, "5" is set in the loop counter (40), "0" is set in the address pointer (25), and "11" is set in the storage control register (18). Next, the number of times the transfer instruction from the interface circuit (15) to the constant RAM (22) is set in the loop counter (40),
That is, the constants executed five times and fetched from the holding register (42) are transferred to the constant RAM (22) in the order of C, B, A, E and D. Since the address pointer (25) is incremented each time the transfer instruction is executed, the constants C, B, A, E and D are stored at the respective addresses as shown in FIG.
従って、インターフェイス回路(15)からデータを転送
するためのプログラムは、2つの転送命令のみで実現で
きるので、プログラムステップ数の短縮化が図れるので
ある。Therefore, since the program for transferring the data from the interface circuit (15) can be realized by only two transfer instructions, the number of program steps can be shortened.
(ト)発明の効果 上述の如く、本発明によれば、多機能でスループットの
高いDSPシステムが実現できるものであり、また、ワン
チップ半導体素子上に集積化し易い、外部装置との接続
も容易となる利点を有する。特に、オーディオ信号処理
に利用した場合、オーディオ装置の機能向上に多大なる
効果を奏するものである。(G) Effect of the Invention As described above, according to the present invention, a multi-function and high-throughput DSP system can be realized, and it is easy to integrate it on a one-chip semiconductor element and easy to connect to an external device. Has the advantage that In particular, when used for audio signal processing, it has a great effect on improving the function of the audio device.
第1図は本発明の実施例を示すブロック図、第2図乃至
第4図は、第1図に示されたブロックの更に詳細なブロ
ック図、第5図は、外部メモリ装置の領域を示す図、第
6図は、第1図に示されたDSPシステムに外部から印加
する複合データを示す図、第7図は第1図に示されたブ
ロックの内部回路、第8図は、デジタルフィルタを示す
図、第9図は第8図のデジタルフィルタを実現するプロ
グラムを示す図、第10図は、第8図のデジタルフィルタ
を実現する際のデータRAM及び定数RAMのアドレス割り付
け図、第11図は第1図の実施例の一機能の動作を示すフ
ロー図、第12図は従来例を示す図である。 (11)……データバス、(12)(13)……デジタル処理
回路、(14)……データ入出力回路、(15)……インタ
ーフェイス回路、(16)……外部メモリインターフェイ
ス回路、(17)……データ交換レジスタ、(18)……記
憶制御レジスタ、(19)……条件分岐制御回路、(20)
……制御回路、(21)……データRAM、(22)……定数R
AM、(23)……定数ROM、(24)(25)(26)……アド
レスポインタ、(27)……乗算器、(28)……ALU、(2
9)……ACC、(30)……テンポラリーレジスタ。FIG. 1 is a block diagram showing an embodiment of the present invention, FIGS. 2 to 4 are more detailed block diagrams of the blocks shown in FIG. 1, and FIG. 5 shows an area of an external memory device. 6 and 6 are diagrams showing composite data externally applied to the DSP system shown in FIG. 1, FIG. 7 is an internal circuit of the block shown in FIG. 1, and FIG. 8 is a digital filter. FIG. 9, FIG. 9 is a diagram showing a program for realizing the digital filter of FIG. 8, and FIG. 10 is an address allocation diagram of a data RAM and a constant RAM for realizing the digital filter of FIG. FIG. 12 is a flow chart showing the operation of one function of the embodiment shown in FIG. 1, and FIG. 12 is a diagram showing a conventional example. (11) …… Data bus, (12) (13) …… Digital processing circuit, (14) …… Data input / output circuit, (15) …… Interface circuit, (16) …… External memory interface circuit, (17) ) …… Data exchange register, (18) …… Storage control register, (19) …… Conditional branch control circuit, (20)
...... Control circuit, (21) …… Data RAM, (22) …… Constant R
AM, (23) ... constant ROM, (24) (25) (26) ... address pointer, (27) ... multiplier, (28) ... ALU, (2
9) …… ACC, (30) …… temporary register.
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H03H 17/02 P 8842−5J (72)発明者 川口 正樹 大阪府守口市京阪本通2丁目18番地 三洋 電機株式会社内 (56)参考文献 特開 昭61−110256(JP,A) 特開 昭60−27977(JP,A)─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Internal reference number FI Technical indication location H03H 17/02 P 8842-5J (72) Inventor Masaki Kawaguchi 2-18, Keihanhondori, Moriguchi-shi, Osaka Address within Sanyo Electric Co., Ltd. (56) Reference JP 61-110256 (JP, A) JP 60-27977 (JP, A)
Claims (1)
ータバスと、該データバスに各々接続された一対のデジ
タル処理手段と、該一対のデジタル処理手段の動作を予
めプログラムされた手順に従って同時に制御する制御手
段とを備えたデジタル信号処理装置に於いて、前記一対
のデータバス間にデジタルデータ交換手段を設け、該デ
ジタルデータ交換手段は、一方のデータバスに送出され
たデジタルデータを保持し他方のデータバスに出力する
第1レジスタ手段と他方のデータバスに送出されたデジ
タルデータを保持し一方のデータバスに出力する第2レ
ジスタ手段から構成され、前記第1及び第2のレジスタ
手段の動作が同時に行われることを特徴とするデジタル
信号処理装置。1. A pair of data buses for transferring digital data, a pair of digital processing means respectively connected to the data buses, and operations of the pair of digital processing means are simultaneously controlled in accordance with a pre-programmed procedure. In the digital signal processing device, the digital data exchange means is provided between the pair of data buses, and the digital data exchange means holds the digital data sent to one of the data buses and holds the other. Of the first and second register means for holding the digital data sent to the other data bus and outputting it to one of the data buses. A digital signal processing device, characterized in that
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63003346A JPH0719246B2 (en) | 1988-01-11 | 1988-01-11 | Digital signal processor |
KR1019880008911A KR0134042B1 (en) | 1987-07-17 | 1988-07-16 | Digital Signal Processing Device and Signal Processing Method |
EP88111551A EP0299537B1 (en) | 1987-07-17 | 1988-07-18 | Apparatus and Method for processing digital signal |
DE3853025T DE3853025T2 (en) | 1987-07-17 | 1988-07-18 | Arrangement and method for digital signal processing. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63003346A JPH0719246B2 (en) | 1988-01-11 | 1988-01-11 | Digital signal processor |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6184924A Division JP3022186B2 (en) | 1994-08-05 | 1994-08-05 | Digital signal processor |
JP18492294A Division JP2686234B2 (en) | 1994-08-05 | 1994-08-05 | Digital signal processing device and signal processing method |
JP6184923A Division JP2766191B2 (en) | 1994-08-05 | 1994-08-05 | Digital signal processing device and signal processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01179515A JPH01179515A (en) | 1989-07-17 |
JPH0719246B2 true JPH0719246B2 (en) | 1995-03-06 |
Family
ID=11554796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63003346A Expired - Lifetime JPH0719246B2 (en) | 1987-07-17 | 1988-01-11 | Digital signal processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0719246B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3658072B2 (en) * | 1996-02-07 | 2005-06-08 | 株式会社ルネサステクノロジ | Data processing apparatus and data processing method |
CN111210012B (en) * | 2018-11-21 | 2022-12-09 | 上海寒武纪信息科技有限公司 | Data processing method and device and related products |
EP3869352A4 (en) | 2018-10-18 | 2022-06-22 | Shanghai Cambricon Information Technology Co., Ltd | Network-on-chip data processing method and device |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5433825A (en) * | 1977-08-22 | 1979-03-12 | Daido Metal Co Ltd | Bearing metal for large engine |
JPS5661086A (en) * | 1979-10-23 | 1981-05-26 | Toshiba Corp | Refresh system for dynamic memory |
JPS58176749A (en) * | 1982-04-09 | 1983-10-17 | Nec Corp | Microprogram controller |
JPS605339A (en) * | 1983-06-23 | 1985-01-11 | Sony Corp | Processing device of digital signal |
JPS6027977A (en) * | 1983-07-27 | 1985-02-13 | Matsushita Electric Ind Co Ltd | Parallel processor |
JPH0652517B2 (en) * | 1984-03-16 | 1994-07-06 | 株式会社日立製作所 | Data processing device |
JPS60258647A (en) * | 1984-06-06 | 1985-12-20 | Fujitsu Ltd | Conditional branch control circuit |
JPS6133229A (en) * | 1984-07-23 | 1986-02-17 | Mitsubishi Heavy Ind Ltd | Fluidized bed heating furnace |
JPS61110256A (en) * | 1984-11-02 | 1986-05-28 | Hitachi Ltd | Processor having plural arithmetic |
-
1988
- 1988-01-11 JP JP63003346A patent/JPH0719246B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH01179515A (en) | 1989-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5065433A (en) | Audio signal data processing system | |
JPH02110597A (en) | Address control circuit | |
US5386529A (en) | Digital signal processor for use in sound quality treatment by filtering | |
JPH0719246B2 (en) | Digital signal processor | |
EP0299537B1 (en) | Apparatus and Method for processing digital signal | |
US6031916A (en) | Sound effect adding device using DSP | |
JP2686234B2 (en) | Digital signal processing device and signal processing method | |
JP3022186B2 (en) | Digital signal processor | |
JP2766191B2 (en) | Digital signal processing device and signal processing method | |
US5442125A (en) | Signal processing apparatus for repeatedly performing a same processing on respective output channels in time sharing manner | |
US5689079A (en) | Musical tone generator | |
JPH07121181A (en) | Sound information processor | |
JPH052479A (en) | Digital signal processor | |
JP2834746B2 (en) | Digital signal processing device and address data generating method thereof | |
JP2943112B2 (en) | Digital signal processor | |
JP2684820B2 (en) | Surround circuit | |
JPH052391A (en) | Signal processor | |
JPH0544040B2 (en) | ||
JPH07101835B2 (en) | Digital signal processor | |
US5822775A (en) | Efficient data processing method for coefficient data in a digital dignal, processor | |
JPH02132497A (en) | Device and method for processing digital signal | |
JPH03201900A (en) | Sound field correction device | |
JPS59128644A (en) | Sequence control circuit | |
JPH0443398A (en) | Effect sound adding device | |
JPH07334151A (en) | Effect adding device and musical tone generating device using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |