JPH10149281A - 信号処理装置 - Google Patents

信号処理装置

Info

Publication number
JPH10149281A
JPH10149281A JP31860896A JP31860896A JPH10149281A JP H10149281 A JPH10149281 A JP H10149281A JP 31860896 A JP31860896 A JP 31860896A JP 31860896 A JP31860896 A JP 31860896A JP H10149281 A JPH10149281 A JP H10149281A
Authority
JP
Japan
Prior art keywords
program
input
output
program memory
signal
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.)
Pending
Application number
JP31860896A
Other languages
English (en)
Inventor
Goro Sakata
吾朗 坂田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP31860896A priority Critical patent/JPH10149281A/ja
Publication of JPH10149281A publication Critical patent/JPH10149281A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 信号の発生を中断することなく信号処理のプ
ログラムを変更することができるようにする。 【解決手段】 DSP11にはROM12及びRAM1
3が接続され、ホストマイコン14から得られるプログ
ラムをプログラムローダ15に記憶して、演算器部16
においてその記憶したプログラムに基づく演算を行う。
DSP11で処理された信号は、D/Aコンバータ17
を介して出力部18から送出される。プログラムローダ
15のプログラムの一部を書き換える期間中は、書き換
えのためにプログラムローダに入力されるプログラムの
一部を演算器部16に入力することにより、楽音の発生
を中断することなくプログラムを変更する。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】この発明は、所定のプログラ
ムにしたがって処理した信号を発生する信号処理装置に
関する。
【0002】
【従来の技術】このような信号処理装置においては、信
号処理のアルゴリズムのプログラムをあらかじめメモリ
に記憶させておき、そのプログラムを読み出して信号処
理を行っている。例えば、電子楽器やエフェクタ等にお
いては、1サンプリングの音色作成アルゴリズムや効果
処理アルゴリズムのプログラムをDSP(デジタル信号
処理プロセッサ)のメモリにロードしておき、発音する
楽音の音色や効果を制御している。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
信号処理装置においては、プログラムを変更する場合に
は、装置の動作を停止してプログラムの書き換えをしな
ければならない。例えば、電子楽器やエフェクタ等にお
いては、DSPに求められる信号処理の種類が増加して
おり、演奏中に音色や効果を変更することも望まれてき
ている。ところが、演奏中に音色作成アルゴリズムや効
果処理アルゴリズムを変更するために、ホストマイコン
(メインCPU)から与えられるプログラムによってメ
モリの内容を書き換える場合には、その間、DSPの動
作を停止させてプログラムの書き換えをしなければなら
ない。このため、DSPの動作停止によって楽音の発生
が中断するので、音の中断による耳ざわりな音が発生す
るという問題があった。この発明の課題は、発生する信
号を中断することなく信号処理のプログラムを変更する
ことができるようにすることである。
【0004】
【課題を解決するための手段】この発明は、信号処理の
ためのプログラムを記憶する記憶手段と、この記憶手段
から読み出された前記プログラムに応じた演算により信
号を発生する演算手段と、この演算手段の演算中に前記
記憶手段のプログラムの一部を書き換える書換手段と、
この書換手段が前記プログラムの一部を書き換える期間
中は、前記演算手段に対して信号の発生を停止させない
ための所定の制御指令を与える制御手段と、を備えた構
成になっている。この発明によれば、発生する信号が中
断することにより不具合が生じる信号処理装置におい
て、プログラムの一部を書き換える期間中は、例えば、
書き換えのために記憶手段に入力されるプログラムの一
部を演算手段に入力する指令等のように、信号の発生を
停止させないための所定の制御指令を与えるので、装置
の動作中にプログラムの一部を書き換える際にも、信号
の発生が中断することがない。
【0005】
【発明の実施の形態】以下、図1〜図7を参照して、こ
の発明を電子楽器に適用した場合の第1〜第4実施形態
を説明する。各実施形態の電子楽器においては、図1に
示すように、OSC1、OSC2……からなる複数の音
源手段1からの原信号をMIXER2で合成して合成信
号を生成し、EFFECT1、EFFECT2からなる
複数の効果手段3によって合成信号を加工して効果信号
を生成し、さらに合成信号、効果信号をMIXER4で
合成して出力している。音源手段1、MIXER2、効
果手段3、MIXER4は、電子楽器のホストマイコン
から与えられるプログラムによりDSPで実現すること
ができる。
【0006】したがって、各実施形態における電子楽器
は、図2に示すようなシステム構成となる。DSP11
にはROM12及びRAM13が接続され、ホストマイ
コン14から得られるプログラムをプログラムローダ1
5に記憶して、演算器部16においてその記憶したプロ
グラムに基づく演算を行う。DSP11で処理された信
号は、D/Aコンバータ17を介して出力部18から送
出される。プログラムローダ15には、図3に示すよう
に、OSC1〜MIXERの複数のブロックのアルゴリ
ズムのプログラムが記憶される。
【0007】次に、この発明の第1実施形態について図
2及び図4を参照して説明する。図2のDSP11のプ
ログラムローダ15は、図4に示すように、BUS(シ
ステムバス)101にDR(ライトデータレジスタ)1
02、CR(コマンドレジスタ)103、AR(アドレ
スレジスタ)104のそれぞれの入力が接続されてい
る。そして、DR102の出力はプログラムメモリ10
5の入力DI、及びSEL(セレクタ)106の一方の
入力aに接続され、プログラムメモリ105の出力DO
はSEL106の他方の入力bに接続されている。ま
た、CR103の出力はAND(2入力アンド回路)1
07の一方の入力aに接続され、AR104の出力はC
MP(比較回路)108の一方の入力aに接続されてい
る。
【0008】CMP108の他方の入力b及びプログラ
ムメモリ105のアドレス入力Aには、1サンプリング
期間においてプログラムメモリ105のアドレスをカウ
ントするためのPC(プログラムカウンタ)109が接
続されている。そして、CMP108の出力はAND1
07の他方の入力bに接続されている。また、AND1
07の出力はプログラムメモリ105の書込制御入力W
E、及びSEL106の選択入力cに接続されている。
プログラムメモリ105は、WEが1(ハイレベル;以
下同様)のときに、DIに入力されたプログラムデータ
がアドレス入力Aから与えられるアドレスのエリアに書
き込まれる。また、SEL106は、選択制御入力cが
1のときはDR102からのプログラムデータを選択し
て出力し、選択制御入力cが0(ローレベル;以下同
様)のときはプログラムメモリ105のDOから読み出
されたプログラムデータを選択して出力する。
【0009】SEL106の選択出力はIR(インスト
ラクションレジスタ)110の入力に接続され、IR1
10の出力はPD(プログラムデコーダ)111の入力
に接続されている。そして、PD111の出力は図2に
示す演算器部16に接続されている。演算器部16で
は、PD111からのプログラムをPC109のカウン
トアップにより1ステップづつ実行して、DA17に出
力するための楽音信号を生成する。
【0010】次に、第1実施形態の動作について説明す
る。今、図4のプログラムメモリ105に所定のプログ
ラムがロードされているとする。このプログラムは複数
のステップで構成され、プログラムを実行する場合に
は、CR103は0にセットされ、AND107の出力
は0になっている。したがって、プログラムメモリ10
5のWEは0であり、SEL106の選択制御入力cは
0である。この場合には、プログラムメモリ105は読
出モードであり、かつ、SEL106はプログラムメモ
リ105側を選択する。そして、PC109のカウント
値に応じて、プログラムメモリ105にロードされてい
るプログラムが1ステップづつ読み出されて、IR11
0及びPD111を介して図2の演算器部16に入力さ
れる。
【0011】次に、プログラムメモリ105のプログラ
ムの一部を変更する場合には、変更するステップのアド
レスをAR104にセットする。例えば、ステップ3の
内容を変更する場合にはAR104に3をセットする。
さらに、CR103に1をセットする。したがって、A
ND107の一方の入力aは1、CMP108の一方の
入力aは3になる。そして、PC109がカウントを0
から開始すると、0〜2まではCMP108の出力すな
わちAND107の他方の入力bは0である。したがっ
て、この間はプログラムメモリ105のWE及びSEL
106の選択制御入力cは0である。この結果、プログ
ラムメモリ105は読出モードとなり、プログラムのス
テップ0〜2が読み出されて演算器部16に入力され
る。
【0012】次に、PC108のカウント値が3になる
と、CMP108の2つの入力a、bが一致してその出
力が1すなわちAND107の他方の入力bが1にな
る。すると、プログラムメモリ105のWE及びSEL
106の選択制御入力cは1になる。したがって、プロ
グラムメモリ105は書込モードになるとともに、SE
L106はDR102側を選択する。この結果、プログ
ラムメモリ105にはDIに入力されたステップ3のプ
ログラムデータが書き込まれ、同時にSEL106から
はDR102からのステップ3のプログラムデータが演
算器部16に入力される。
【0013】次に、PC108のカウント値が4になる
と、CMP108の2つの入力a、bが一致せずその出
力が0すなわちAND107の他方の入力bが0になる
ので、プログラムメモリ105のWE及びSEL106
の選択制御入力cは0になる。したがって、プログラム
メモリ105は再び読出モードになるとともに、SEL
106はプログラムメモリ105側を選択する。この結
果、プログラムのステップ4が読み出されて演算器部1
6に入力される。この後、PC109のカウント値が5
〜最終ステップと変化すると、プログラムのステップ5
〜最終ステップが順に読み出されて演算器部16に入力
される。
【0014】次のサンプリング期間に、PC109のカ
ウント値が0に戻って0〜最終ステップとカウントアッ
プすると、プログラムメモリ105は読出モードを維持
した状態で、1サンプリングのプログラムがステップ0
〜最終ステップの順に読み出されて演算器部16に入力
される。この場合には、当然のことながら、ステップ3
の内容は変更されたプログラムデータになっている。
【0015】プログラムメモリ105にロードされてい
るプログラムにおいて複数のステップの内容を変更する
場合には、各サンプリングごとに1つのステップを書き
込んで変更するが、アドレスレジスタARを複数設け
て、その複数に相当するステップ数を1サンプリング期
間に一度に変更する構成にしてもよい。
【0016】このように、上記第1実施形態によれば、
DSP11は、演算器部16の演算中にプログラムメモ
リ105のプログラムの一部を書き換えるとともに、書
き換え期間中は、書き換えのためにプログラムメモリ1
05に入力されるプログラムの一部を演算器部105に
入力する指令、すなわち楽音信号の発生を停止させない
ための所定の制御指令を発する。したがって、DSP1
1の動作中にプログラムの一部を書き換える際にも、楽
音の発生が中断することがないので、音の中断による耳
ざわりなクリック音が発生しない。
【0017】次に、この発明の第2実施形態について図
2及び図5を参照して説明する。図2のDSP11のプ
ログラムローダ15は、図5に示すように、BUS(シ
ステムバス)201にDR(ライトデータレジスタ)2
02、CR(コマンドレジスタ)203、AR(アドレ
スレジスタ)204のそれぞれの入力が接続されてい
る。そして、DR202の出力は2つのプログラムメモ
リ205A、205Bの入力DIに接続され、それぞれ
の出力はSEL(セレクタ)206の各入力a、bに接
続されている。また、CR103の出力はAND(2入
力アンド回路)207Aの一方の入力a、及び別のAN
D207Bの一方の入力aに接続されている。そして、
AND207A、207Bの各出力はプログラムメモリ
205A、205Bの各書込制御入力WEに接続されて
いる。
【0018】AR204の出力はSEL208A、20
8Bのそれぞれ一方の入力aに接続されている。このS
EL208A、208Bのそれぞれ他方の入力bには、
1サンプリング期間を0〜最終ステップまでカウントす
るPC(プログラムカウンタ)209が接続されてい
る。このPC209は、1サンプリング期間を0から最
終ステップまでカウントし、そのカウント値をSEL2
08A、208Bに入力する。SEL208A、208
Bの出力はそれぞれプログラムメモリ205A、205
Bのアドレス入力Aに接続されている。
【0019】TMG(タイミングジェネレータ)210
は、SEL206の選択制御入力c、AND207Bの
一方の入力b、SEL208Bの選択制御入力c、及び
INV(インバータ)211の入力に接続され、1サン
プリング期間ごとに反転するタイミングパルスをそれぞ
れに入力する。そして、INV211の出力は、AND
207Aの一方の入力b、SEL208Aの選択制御入
力cに接続され、INV211で反転されたタイミング
パルスをそれぞれに入力する。
【0020】そして、SEL206の選択出力はIR
(インストラクションレジスタ)212の入力に接続さ
れ、IR212の出力はPD(プログラムデコーダ)2
13の入力に接続されている。そして、PDの出力は図
2に示す演算器部16に接続されている。演算器部16
では、PD213からのプログラムをPC209のカウ
ントアップにより1ステップづつ実行して、DA17に
出力する楽音信号を生成する。
【0021】次に、第2実施形態の動作について説明す
る。今、図5のプログラムメモリ205A及び205B
にステップ0から最終ステップまでのプログラムがロー
ドされているとする。このプログラムを実行する場合に
は、CR203は0にセットされ、AND207A、2
07Bの出力は0になっている。したがって、プログラ
ムメモリ205A、205BのWEは0になっている。
この場合には、プログラムメモリ205A、205Bは
読出モードになっている。したがって、それぞれSEL
208A、208Bの出力であるアドレスのプログラム
データが読み出される。この場合、SEL208A、2
08Bの選択制御入力cには、1サンプリングごとに反
転するタイミングパルスが互いに異なる値1及び0で入
力される。
【0022】この結果、値1のタイミングパルスが入力
されたSELに接続されているプログラムメモリのプロ
グラムがPC209のカウントに応じて、ステップ0か
ら最終ステップまで順に読み出されてSEL206に入
力される。このとき、SEL206の選択制御入力cは
読み出し中のプログラムメモリを選択するようになって
いるので、読み出されたプログラムがIR212、PD
213を介して図2の演算器部16に入力される。次の
サンプリング期間になると、他方のプログラムメモリの
プログラムがPC209のカウントに応じて、ステップ
0から最終ステップまで順に読み出されてSEL206
に入力され、IR212、PD213を介して演算器部
16に入力される。
【0023】次に、プログラムの一部を変更する場合に
は、変更するステップのアドレスをAR204にセット
する。したがって、SEL208A、208Bのそれぞ
れの一方の入力aに変更するステップのアドレスが入力
される。この場合において、TMG210のタイミング
パルスが1であるとすると、SEL208Aは選択制御
入力cが0であるのでPC209からの入力を選択出力
とし、SEL208Bは選択制御入力cが1であるので
AR204からの入力を選択出力とする。またこの場
合、SEL206は選択制御入力cが1であるのでプロ
グラムメモリ205Aから読み出されるプログラムを選
択出力とする。また、AND207Aの一方の入力bは
0、AND207Bの一方の入力bは1となっている。
【0024】この状態で、PC209が0から最終ステ
ップまでカウントアップすると、プログラムメモリ20
5Aに記憶されているプログラムが各ステップごとに読
み出されて、SEL206を経て、IR212、PD2
13を介して演算器部16に入力される。その読み出し
中において、PC209のカウント値が変更するステッ
プのアドレスになったとき、CR203に1をセットす
る。すると、AND207Bの出力が1になり、プログ
ラムメモリ205Bが書込モードとなる。この結果、D
R202からプログラムメモリ205Bに入力されたプ
ログラムデータがAR204にセットされているアドレ
スのエリアに書き込まれる。書き込み後は、CR203
に0をセットして書き込みを禁止する。
【0025】次に、サンプリング期間が終了してTMG
210のタイミングパルスが0になると、AND207
Bの一方の入力bが0になるとともに、SEL208B
の選択制御入力cが0になり、SEL206の選択制御
入力cが0(プログラムメモリ205Bを選択)にな
る。したがって、プログラムメモリ205Bは読出モー
ドになり、PC209が0から最終ステップまでカウン
トアップすると、プログラムメモリ205Bの変更され
たプログラムが1ステップづつ読み出されて、演算器部
16に入力される。
【0026】一方、INV211の出力が1になるの
で、AND207Aの一方の入力bが1になるととも
に、SEL208Aの選択制御入力cが1になる。この
ときCR203に1をセットすると、プログラムメモリ
205Aは書込モードになる。したがって、プログラム
の一部を変更する場合には、変更するステップのアドレ
スをAR204にセットすることにより、そのステップ
のプログラムがプログラムメモリ205Aに書き込まれ
る。そして、次のサンプリング期間に変更されたプログ
ラムがプログラムメモリ205Aから読み出されて、演
算器部16に入力されることになる。
【0027】このように、上記第2実施形態によれば、
2つのプログラムメモリ205A及び205Bをサンプ
リング期間ごとに交互に、その一方を読出モード他方を
書込モードにすることにより、一方のプログラムメモリ
からプログラムを読み出しているときに、他方のプログ
ラムメモリに変更するプログラムを書き込むことができ
る。したがって、DSP11の動作中にプログラムの一
部を書き換える際にも、楽音の発生が中断することがな
いので、音の中断による耳ざわりなクリック音が発生し
ない。
【0028】なお、上記第2実施形態においては、別々
の2つのプログラムメモリ205A及び205Bを設け
る構成にしたが、同一のメモリに2つのエリアを設け
て、交互にアクセスする構成にしてもよい。
【0029】次に、この発明の第3実施形態について図
2及び図6を参照して説明する。図2のDSP11のプ
ログラムローダ15は、図6に示すように、BUS(シ
ステムバス)301にDR(ライトデータレジスタ)3
02、CR(コマンドレジスタ)303、AR(アドレ
スレジスタ)304のそれぞれの入力が接続されてい
る。そして、DR302の出力はプログラムメモリ30
5の入力DIに接続されている。また、CR103の出
力はAND(2入力アンド回路)306の一方の入力a
に接続され、AND306の他方の入力bにはCMP
(比較回路)307の出力が接続されている。そして、
このCMP307の一方の入力aにはAR304の出力
が接続され、他方の入力bにはPC(プログラムカウン
タ)308が接続されている。PC308はプログラム
メモリ305のアドレス入力Aにも接続され、1サンプ
リング期間において0から最終ステップまでのカウント
値をプログラムメモリ305にアドレスとして入力す
る。
【0030】AND306の出力はプログラムメモリ3
05の書込制御入力WEに接続されているとともに、I
NV(インバータ)309の入力に接続されている。I
NV309の出力はAND(2入力アンド回路)310
の一方の入力aに接続され、AND310の他方の入力
bにはプログラムメモリ305の出力DOが接続されて
いる。そして、AND310の出力はIR(インストラ
クションレジスタ)311の入力に接続され、IR31
1の出力はPD(プログラムデコーダ)312の入力に
接続されている。
【0031】次に、第3実施形態の動作について説明す
る。通常は、CR303に0がセットされている。この
場合には、プログラムメモリ305の書込制御入力WE
は0となるので、プログラムメモリ305は読出モード
になる。また、INV309の入力が0すなわち出力が
1になるので、AND310の一方の入力aも1にな
り、AND310は導通状態となり他方の入力bが出力
される。したがって、PC308が0から最終ステップ
までカウントアップすると、プログラムメモリ305の
プログラムが1ステップづつ読み出されて、IR311
及びPD312を介して図2の演算器部16に入力され
る。
【0032】次に、プログラムの一部を変更する場合に
は、CR303に1をセットするとともに、変更するス
テップのアドレスをAR304にセットする。したがっ
て、AND306の一方の入力aが1になる。この場合
において、PC308のカウント値が変更するステップ
のアドレスに一致すると、CMP307の出力が1にな
り、AND306の他方の入力bが1になる。このた
め、AND306の出力が1すなわちプログラムメモリ
205のWEが1、及びINV309の入力が1にな
る。したがって、プログラムメモリ205が書込モード
になるとともに、INV309の出力0を一方の入力a
に受けたAND310が遮断状態となる。そして、変更
されたプログラムデータが、プログラムメモリ305の
AR304にセットしたアドレスのエリアに書き込まれ
る。また、このとき、プログラムメモリ305のDOか
らのプログラムはAND310で遮断されて、IR31
1はNOPとなり、演算器部16は直前の状態を保持す
る。この場合でも、DSP11の動作が停止することは
ないので、発生する楽音が停止することはない。
【0033】この後、PC308がカウントアップして
変更するステップのアドレスを超えると、CMP307
の出力が0になるので、再び、プログラムメモリ205
のWEが0となって読出モードとなり、AND310は
導通状態となる。したがって、PC308がカウントア
ップすると、変更されたプログラムデータの次のステッ
プから再びプログラムが読み出され、演算器部16に入
力される。そして、次のサンプリング期間になると、C
R303に0をセットし、AND306の出力を0にし
てプログラムメモリ305を読出モードにする。したが
って、PC308が0から最終ステップまでカウントア
ップしていくと、プログラムメモリ305からは変更さ
れたプログラムが読み出されて演算器部16に入力され
る。
【0034】このように、上記第3実施形態によれば、
プログラムメモリ305のプログラムを変更する場合に
は、変更されたプログラムデータを書き込む期間は、プ
ログラムメモリ305からのプログラムの読み出しを停
止する。このときは、演算器部16にはプログラムが入
力されないので、正規の楽音ではなくなるが、発音その
ものは中断しない。したがって、DSP11の動作中に
プログラムの一部を書き換える際に、音の中断による耳
ざわりなクリック音が発生しない。
【0035】次に、この発明の第4実施形態について図
2、図3及び図7を参照して説明する。図2のDSP1
1のプログラム・ローダ15は、図7に示すように、B
US(システムバス)401にDR(ライトデータレジ
スタ)402、CR(コマンドレジスタ)403、3つ
のAR(アドレスレジスタ)すなわちAR404、AR
405、AR406のそれぞれの入力が接続されてい
る。そして、DR402の出力はプログラムメモリ40
7の入力DIに接続されている。また、CR403の出
力はAND(2入力アンド回路)408の一方の入力a
に接続されている。
【0036】AR404の出力は2つのCMP(比較回
路)の1つであるCMP409の一方の入力aに接続さ
れ、AR405の出力はもう1つのCMP410の一方
の入力aに接続されている。そして、それぞれのCMP
409、410の他方の入力bにはPC(プログラムカ
ウンタ)411が接続されている。CMP409は、P
C411のカウント値がAR404のアドレスの値以上
のとき1その他のときは0となる。また、CMP410
は、PC411のカウント値がAR405のアドレスの
値以下のとき1その他のときは0となる。これら2つの
CMP409、410の各出力はAND412の各入力
a、bに接続されている。そして、AND412の出力
は、一方の入力aがCR403が接続されているAND
408の他方の入力bに接続されている。
【0037】PC411はSEL413の一方aにも接
続され、SEL411の他方の入力bにはAR406の
出力が接続されている。SEL413の出力はプログラ
ムメモリ405のアドレス入力Aに接続され、SEL4
13の選択制御入力cにはAND408の出力が接続さ
れている。そして、この入力SEL413の選択制御入
力cが0のときはPC411のカウント値がアドレス入
力Aになり、選択制御入力が1のときはAR406のア
ドレスがアドレス入力Aになる。AND408の出力
は、プログラムメモリ405の書込制御入力WEに接続
され、さらにINV(インバータ)414の入力に接続
されている。
【0038】INV414の出力はAND415の一方
の入力aに接続され、AND415の他方の入力bには
プログラムメモリ407の出力DOが接続されている。
そして、AND415の出力はIR(インストラクショ
ンレジスタ)416の入力に接続され、IR416の出
力はPD(プログラムデコーダ)417の入力に接続さ
れている。
【0039】次に、第4実施形態の動作について説明す
る。通常は、CR403には0がセットされている。こ
の場合には、プログラムメモリ407の書込制御入力W
Eは0であり、プログラムメモリ407は読出モードに
なっている。また、この場合には、INV414の入力
が0すなわち出力が1になっているので、AND415
の一方の入力aも1になり、AND415は他方の入力
bが出力される導通状態となる。したがって、PC41
1が0から最終ステップまでカウントアップすると、プ
ログラムメモリ407のプログラムが1ステップづつ読
み出されて、IR416及びPD417を介して図2の
演算器部16に入力される。
【0040】次に、図3に示したプログラムのOSC2
のアルゴリズムの一部を変更する場合には、CR403
に1をセットするとともに、OSC2のアドレスの範囲
の開始アドレス(例えば31)をAR404にセット
し、最終アドレス(例えば70)をAR405にセット
する。この場合において、PC411のカウント値が0
〜30の間はCMP409の出力が0であるので、AN
D412の出力が0であり、AND408の出力すなわ
ちプログラムメモリ407のWEが0である。この場合
はSEL413の選択制御入力cが0であり、PC41
1のカウント値がプログラムメモリ407のAに入力さ
れる。またこの場合はINV414の出力が1であり、
AND415の一方の入力aは1である。したがって、
プログラムメモリ407は読出モードになっていて、P
C411のカウントアップに応じて読み出されたプログ
ラムが導通状態のAND415を通り、IR416及び
PD417を介して図2の演算器部16に入力される。
【0041】PC411のカウント値が31〜70の間
は、CMP409の出力及びCMP410の出力がとも
に1になり、AND412の出力が1になる。また、C
R404の出力が1であるので、AND408の出力が
1すなわちプログラムメモリ407のWEが1、INV
414の入力が1で出力が0である。この場合は、プロ
グラムメモリ407は書込モードになり、AND415
は遮断状態になる。またこの場合、SEL413の選択
制御入力cが1になり、AR406にセットされたアド
レスがプログラムメモリ407のAに入力される。この
とき、プログラムメモリ407のDOからのプログラム
はAND415で遮断されて、IR416はNOPとな
り、演算器部16は直前の状態を保持する。この場合で
も、DSP11の動作が停止することはないので、発生
する楽音が停止することはない。
【0042】例えば、図3に示したOSC2のブロック
の35、50、65のアドレスのプログラムデータを変
更する場合、まずAR406に35をセットするととも
に、変更するプログラムデータをDR402にセットす
る。このときは、プログラムメモリ407のAは35に
なり、そのアドレスのプログラムデータを書き換える。
同様に、AR406に50、65をセットするととも
に、変更するプログラムデータをDR402にセットす
る。そして、プログラムメモリ407の50、65のア
ドレスのプログラムデータを書き換える。この場合の書
き換えは、1サンプリング内にすべて行うようにしても
よく、1サンプリングごとに1回の書き換えを行うよう
にしてもよい。
【0043】次に、PC411のカウント値が71以上
になると、CMP410の出力が0であるので、AND
412の出力が0であり、AND408の出力すなわち
プログラムメモリ407のWEが0である。この場合は
SEL413の選択制御入力cが0であり、PC411
のカウント値がプログラムメモリ407のAに入力され
る。またこの場合はINV414の出力が1であり、A
ND415の一方の入力は1である。したがって、プロ
グラムメモリ407は再び読出モードになっていて、P
C411のカウントアップに応じて読み出されたOSC
3以降のプログラムが導通状態のAND415を通り、
IR416及びPD417を介して図2の演算器部16
に入力される。
【0044】このように、上記第4実施形態によれば、
プログラムの一部を変更する場合は、変更対象となるプ
ログラムデータが存在するアルゴリズム全体の読み出し
を停止して、その間に変更対象のプログラムデータのア
ドレスをPC411とは別のAR406にセットして書
き換えを行う。この場合、変更対象となるプログラムデ
ータが存在するアルゴリズムは演算器部16に入力され
ないので、正規の楽音ではなくなるが、発音そのものは
中断しない。したがって、DSP11の動作中にプログ
ラムの一部を書き換える際に、音の中断による耳ざわり
なクリック音が発生しない。また、プログラムメモリ4
07の書き込みタイミングをPC411のカウントに同
期させる必要がないので書き込み処理が簡単になる。
【0045】なお、上記各実施形態においては、信号処
理装置として電子楽器を例に採ってこの発明を説明した
が、例えば、第1実施形態及び第2実施形態については
電子楽器以外のほとんどのシステムにも適用することが
できる。また、第3実施形態及び第4実施形態について
も、一時的なNOP状態がシステムに影響しない場合に
は、そのシステムに適用することができる。
【0046】
【発明の効果】この発明によれば、発生する信号が中断
することにより不具合が生じる信号処理装置において、
プログラムの一部を書き換える期間中は、例えば、書き
換えのために記憶手段に入力されるプログラムの一部を
演算手段に入力する指令等のように、信号の発生を停止
させないための所定の制御指令を与えるので、装置の動
作中にプログラムの一部を書き換える際にも、信号の発
生が中断することがない。
【図面の簡単な説明】
【図1】この発明の各実施形態における電子楽器におけ
るDSPの動作を説明する図。
【図2】各実施形態のシステム構成を示すブロック図。
【図3】各実施形態においてプログラムメモリにロード
されるアルゴリズムのマップ。
【図4】第1実施形態におけるプログラムローダの構成
を示す回路図。
【図5】第2実施形態におけるプログラムローダの構成
を示す回路図。
【図6】第3実施形態におけるプログラムローダの構成
を示す回路図。
【図7】第4実施形態におけるプログラムローダの構成
を示す回路図。
【図】 【符号の説明】
11 DSP 12 ROM 13 RAM 14 ホストマイコン 15 プログラムローダ 16 演算器部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 信号処理のためのプログラムを記憶する
    記憶手段と、 この記憶手段から読み出された前記プログラムに応じた
    演算により信号を発生する演算手段と、 この演算手段の演算中に前記記憶手段のプログラムの一
    部を書き換える書換手段と、 この書換手段が前記プログラムの一部を書き換える期間
    中は、前記演算手段に対して信号の発生を停止させない
    ための所定の制御指令を与える制御手段と、 を備えたことを特徴とする信号処理装置。
  2. 【請求項2】 前記制御指令は、書き換えのために前記
    記憶手段に入力されるプログラムの一部を前記演算手段
    に入力する指令であることを特徴とする請求項1記載の
    信号処理装置。
  3. 【請求項3】 前記記憶手段は、前記プログラムを記憶
    する複数のエリアを有し、 前記制御指令は、前記プログラムの一部が書き換えられ
    ているエリア以外のエリアからプログラムを読み出して
    前記演算手段に入力する指令であることを特徴とする請
    求項1記載の信号処理装置。
  4. 【請求項4】 前記制御指令は、前記演算手段に演算を
    停止させた状態で前記信号を発生させる指令であること
    を特徴とする請求項1記載の信号処理装置。
JP31860896A 1996-11-15 1996-11-15 信号処理装置 Pending JPH10149281A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31860896A JPH10149281A (ja) 1996-11-15 1996-11-15 信号処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31860896A JPH10149281A (ja) 1996-11-15 1996-11-15 信号処理装置

Publications (1)

Publication Number Publication Date
JPH10149281A true JPH10149281A (ja) 1998-06-02

Family

ID=18101045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31860896A Pending JPH10149281A (ja) 1996-11-15 1996-11-15 信号処理装置

Country Status (1)

Country Link
JP (1) JPH10149281A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268409A (ja) * 2005-03-24 2006-10-05 Sony Corp 信号処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268409A (ja) * 2005-03-24 2006-10-05 Sony Corp 信号処理装置

Similar Documents

Publication Publication Date Title
JPH10149281A (ja) 信号処理装置
JPH0969064A (ja) 外部メモリーシステム
US5442125A (en) Signal processing apparatus for repeatedly performing a same processing on respective output channels in time sharing manner
JP3696625B2 (ja) データ駆動型情報処理装置
JP2924643B2 (ja) ディジタル信号処理方法及び装置
JPH05119811A (ja) プログラマブルコントローラ
JP3050779B2 (ja) 信号処理装置
JP2523662B2 (ja) メモリアクセス回路
JP3531208B2 (ja) ディジタル信号処理装置
JP2000293169A (ja) 楽音生成装置
JPH1194920A (ja) 半導体試験装置用パターン発生装置
JP3505907B2 (ja) 信号遅延装置およびデジタル信号処理装置
JP3230413B2 (ja) 信号処理装置および信号処理装置のマイクロプログラム書き換え方法
JPS6086625A (ja) デ−タ処理装置
JP3164690B2 (ja) アドレス制御装置
JP2533893B2 (ja) デ―タ処理装置
JPH02103643A (ja) デバッグ用割込発生回路
JP2682384B2 (ja) 電子機器
JPH11161564A (ja) 記憶装置へのバストレース格納装置と方法および記録媒 体
JPS63123137A (ja) アドレス一致信号発生方式
JPH09128221A (ja) 信号処理装置
JP2003216416A (ja) 論理演算回路
JPH0683986A (ja) シングルチップ・マイクロコンピュータ
JPS6129956A (ja) メモリ制御装置
JPH10332796A (ja) Icテスタ