(57)【特許請求の範囲】
【請求項１】
アドレスバスに接続され、該アドレスバスを介して入力される信号に基づいて選択又は非選択され、選択時にデータバスからのデータを記憶する第１のレジスタと、
前記第１のレジスタの記憶データがアドレス信号として入力され、該アドレス信号に基づくデータの入出力を前記データバスとの間で行うメモリと、を備え、
前記第１のレジスタには前記アドレスバスに接続された処理部がデータの入力又は出力をする場合に出力する第１アドレスが割り当てられ、前記第１のレジスタは該アドレスバスを介して入力される前記信号として前記割り当てられた前記第１アドレスが入力されることにより選択され、
前記メモリと前記データバスとの間に接続され、前記処理部が前記データの入力又は出力をする場合に出力する第２アドレスが割り当てられ、前記アドレスバスを介して入力される前記信号として前記第２アドレスが入力されることにより選択され、選択時に前記データバスからのデータを記憶する、又は選択時に記憶データを前記データバスに出力する第２のレジスタを備えることを特徴とするデータ入出力システム。
【請求項２】
請求項１に記載のデータ入出力システムにおいて、
前記メモリに対して連続してアクセスするように発生したアドレス信号を前記メモリ又は前記第１のレジスタに出力するアドレス発生手段を備えたことを特徴とするデータ入出力システム。
【請求項３】
請求項２に記載のデータ入出力システムにおいて、
前記メモリより読み出されたデータをアナログ信号に変換するＤ／Ａ変換器を備え、連続アクセスによりアナログ信号を連続的に出力するデータ入出力システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はメモリを内蔵する機能ブロックを備えたデータ入出力システムに関するものである。
【０００２】
近年、携帯端末は、システムの軽量化や部品数の削減とともに、ＤＶＤ−ＲＯＭ等の記録装置や音声信号の入出力を行う機能を搭載する高機能化が求められている。このような携帯端末のデータ入出力システムには、記録装置のヘッドを移動させるステッピングモータの駆動信号を出力する機能ブロックや、音声信号を入出力する機能ブロックが設けられている。そして、このアナログ信号の入出力を容易にするとともに、ＣＰＵの負担を軽減する要求がある。
【０００３】
【従来の技術】
従来、携帯端末等に備えられたデータ入出力システムとしてのマイクロプロセッサシステムには、アナログ信号を取り扱う（入出力する）機能ブロックが搭載されている。
【０００４】
例えば、１つの機能ブロックは、携帯端末に搭載されたＤＶＤ−ＲＯＭ等の記録装置のヘッドを移動させるステッピングモータを駆動する機能ブロックであり、この機能ブロックにはＤ／Ａ変換器が備えられ、そのＤ／Ａ変換器はマイクロプロセッサシステムのＣＰＵや主メモリと同様にアドレスバス及びデータバスに接続されている。
【０００５】
ＣＰＵは、主メモリに所定数（ステッピングモータを１回転させるだけに必要な数）の駆動データ（ディジタルデータ）を格納する。そして、ＣＰＵは、所定時間毎に駆動データをメモリからＤＡ変換器へ順次転送する、即ち主メモリから所定時間毎に順次読み出した駆動データをＤ／Ａ変換器に出力する。Ｄ／Ａ変換器は駆動データに応じた電圧を持つ駆動信号を出力する。
【０００６】
そして、ＣＰＵは、主メモリの駆動データを周期的にＤ／Ａ変換器へ転送する。これにより、所定のアナログ波形を持つ駆動信号がステッピングモータに供給され、それによりステッピングモータが連続的に回転する。
【０００７】
【発明が解決しようとする課題】
ところで、ステッピングモータを連続的に回転させるためには、周期的に駆動データをメモリからＤ／Ａ変換器へ転送しなければならない。このため、ＣＰＵに負担がかかる。また、他のアプリケーションがＣＰＵを占有しているときには、周期的に駆動データを転送できないため、所望のアナログ波形を得ることができなかった。
【０００８】
Ｄ／Ａ変換器を含む機能ブロックに更にメモリを備えることで、ＣＰＵの負担を軽減することができる。しかし、機能ブロック内のメモリはアドレスバス及びデータバスに直接接続されないため、少なくともメモリに書き込むデータの数だけはメモリに対して、ＣＰＵが機能ブロックに対してデータの入出力を行う際に利用するアドレスであるＩ／Ｏポート・アドレス(I/O port address)を割り当てる必要がある。このため、複数の機能ブロックを備えたマイクロプロセッサシステムでは、Ｉ／Ｏポート・アドレスが不足するという問題があった。
【０００９】
本発明は上記問題点を解決するためになされたものであって、その目的はアドレスバスと非接続なメモリに対して少ないＩ／Ｏポート・アドレスにてデータを入出力することのできるデータ入出力システムを提供することにある。
【００１０】
また、ＣＰＵに負担をかけずにメモリを連続的にアクセスすることができるデータ入出力システムを提供することにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明によれば、アドレスバスに接続され、該アドレスバスを介して入力される信号に基づいて選択又は非選択され、選択時にデータバスからのデータを記憶する第１のレジスタと、前記第１のレジスタの記憶データがアドレス信号として入力され、該アドレス信号に基づくデータの入出力を前記データバスとの間で行うメモリと、を備えた。また、前記第１のレジスタには前記アドレスバスに接続された処理部がデータの入力又は出力をする場合に出力する第１アドレスが割り当てられ、前記第１のレジスタは該アドレスバスを介して入力される前記信号として前記割り当てられた前記第１アドレスが入力されることにより選択されるようにした。これにより、メモリの全領域を第１レジスタを指定することでアクセスすることができるため、メモリをアクセスするためのＩ／Ｏポート・アドレスが少なくてすむ。
【００１２】
また、前記メモリと前記データバスとの間に接続され、前記処理部が前記データの入力又は出力をする場合に出力する第２アドレスが割り当てられ、前記アドレスバスを介して入力される前記信号として前記第２アドレスが入力されることにより選択され、選択時に前記データバスからのデータを記憶する、又は選択時に記憶データを前記データバスに出力する第２のレジスタを備えた。
【００１４】
請求項２に記載の発明によれば、請求項１に記載のデータ入出力システムにおいて、前記メモリに対して連続してアクセスするように発生したアドレス信号を前記メモリ又は前記第１のレジスタに出力するアドレス発生手段を備えた。これにより、アドレスバスをアクセスする回路に負担をかけずにメモリを連続的にアクセスすることができる。
【００１５】
請求項３に記載の発明によれば、請求項２に記載のデータ入出力システムにおいて、前記メモリより読み出されたデータをアナログ信号に変換するＤ／Ａ変換器を備え、連続アクセスによりアナログ信号を連続的に出力する。
【００１６】
【発明の実施の形態】
以下、本発明を具体化した一実施の形態を図１〜図９に従って説明する。
図１は、本実施形態のデータ入出力システムとしてのマイクロプロセッサシステム１のブロック回路図である。このマイクロプロセッサシステム１は、携帯機器に備えられ、ＤＶＤ−ＲＯＭ装置のヘッドを移動させるステッピングモータ２の駆動信号φ１，φ２を出力する機能を持つ。
【００１７】
マイクロプロセッサシステム１は、ＣＰＵ１１、第１のメモリとしての主メモリ１２、複数（本実施形態では３つ）の機能ブロック１３，１４，１５を備え、それらはシステムバス１６により相互に接続されている。
【００１８】
主メモリ１２にはＣＰＵ１１が実行するプログラム及び実行に必要なデータが記憶され、ＣＰＵ１１はシステムバス１６を介して主メモリ１２を直接アクセスする。
【００１９】
第１及び第２の機能ブロック１３，１４は、データ記憶機能とＤ／Ａ変換機能を有し、ＣＰＵ１１からの駆動データをそれぞれ記憶する。駆動データは、ステッピングモータ２を所定回転（例えば１回転）させるのに必要なデータ数のディジタルデータであり、各機能ブロック１３，１４はそのディジタルデータを記憶するに充分な記憶容量を持つ。
【００２０】
そして、第１及び第２機能ブロック１３，１４は、ＣＰＵ１１からの駆動指令に基づいて、Ｄ／Ａ変換機能により駆動データを駆動信号φ１，φ２に順次繰り返しＤ／Ａ変換する。これにより、ステッピングモータ２には、所定の周期波形を持つ駆動信号φ１，φ２が供給される。即ち、第１及び第２の機能ブロック１３，１４には、駆動信号φ１，φ２の１周期分の駆動データが記憶される。尚、本実施形態では、駆動信号φ１，φ２をほぼ正弦波とするように駆動データの値が設定されている。
【００２１】
第３の機能ブロック１５は、例えばカウンタ回路、タイマ回路、シリアル通信回路等のように、予め設定された機能を提供するための回路により構成されている。
【００２２】
図２は、第１及び第２の機能ブロック１３，１４のブロック回路図である。
第１の機能ブロック１３は、波形発生器２１とＤ／Ａ変換器２２を備え、波形発生器２１は、メモリ制御部２３とアドレス発生部２４とから構成されている。
【００２３】
メモリ制御部２３は、所定容量のメモリを持ち、そのメモリには図１のＣＰＵ１１から駆動データが記憶される。アドレス発生部２４は、駆動データを記録したメモリを繰り返し指すように循環するアドレス信号ＡＤＤ１を生成し、そのアドレス信号ＡＤＤ１をメモリ制御部２３に出力する。メモリ制御部２３は、アドレス信号ＡＤＤ１に応答して読み出した駆動データをＤ／Ａ変換器２２に出力する。Ｄ／Ａ変換器２２は、駆動データを駆動信号φ１にＤ／Ａ変換して出力する。
【００２４】
このように、波形発生器２１は、メモリ制御部２３に記憶された駆動データを循環的にＤ／Ａ変換器２２に出力する。これにより、本実施形態のＣＰＵ１１は、駆動信号φ１の１周期分の駆動データを一度メモリ制御部２３に書き込むことと、アドレス発生部２４に対してアドレス信号ＡＤＤ１の生成・停止を指示するだけでよい。従って、従来のようにＣＰＵ１１が駆動データを所定時間毎にＤ／Ａ変換器２２に直接書き込む方式に比べて、ＣＰＵ１１の負荷が著しく減少する。
【００２５】
第２の機能ブロック１４は、第１の機能ブロック１３と同様に構成されている。即ち、第２の機能ブロック１４は、波形発生器２５とＤ／Ａ変換器２６を備え、波形発生器２５はメモリ制御部２７とアドレス発生部２８とから構成されている。そして、第２の機能ブロック１４は、ＣＰＵ１１からシステムバス１６を介して入力される波形データをメモリ制御部２７にて記憶し、アドレス発生部２８にて発生する循環アドレス信号ＡＤＤ２に応答して駆動データを循環的にＤ／Ａ変換器２６に出力する。そのＤ／Ａ変換器２６は、駆動データを駆動信号φ２にＤ／Ａ変換して出力する。従って、この機能ブロック１４においても、駆動信号φ２を出力する際に、ＣＰＵ１１の負荷が従来に比べて著しく減少する。
【００２６】
次に、波形発生器２１を構成するメモリ制御部２３及びアドレス発生部２４の構成を説明する。尚、波形発生器２５のメモリ制御部２７及びアドレス発生部２８の構成は、波形発生器２１のそれらと同じであるため、図面及び説明を省略する。
【００２７】
先ず、メモリ制御部２３の構成を図３に従って説明する。
メモリ制御部２３は、データ記憶機能を提供するための第２のメモリ３１、アドレスレジスタ３２、データレジスタ３３を含む。
【００２８】
第２のメモリ３１は所定の記憶容量（本実施形態では００Ｈ〜ＦＦＨの８ビットアドレスにて指定される容量）を持つＲＡＭであり、各アドレスには８ビットのデータが記憶される。
【００２９】
システムバス１６はアドレスバス１６ａと８ビットのバス幅を持つデータバス１６ｂを含む。アドレスレジスタ３２及びデータレジスタ３３はアドレスバス１６ａ及びデータバス１６ｂに接続され、ＣＰＵ１１からアドレスＡＤとデータＤＴが入力されるとともに、ＣＰＵ１１からリードストローブＲＤ及びライトストローブＷＲが入力される。
【００３０】
アドレスレジスタ３２及びデータレジスタ３３は、第２のメモリ３１のアドレス及びデータに対応するビット数（８ビット）のレジスタであり、それぞれ所定のＩ／Ｏ空間にマッピングされている。尚、本実施形態ではＩ／Ｏポート・アドレスの「１０Ｈ」にアドレスレジスタ３２が、「１１Ｈ」にデータレジスタ３３がマッピングされている。
【００３１】
従って、アドレスレジスタ３２は、ＣＰＵ１１からのアドレスＡＤが番地「１０Ｈ」を指し、ライトストローブＷＲがアクティブな時、ＣＰＵ１１からのデータＤＴをレジスタ値として記憶する。これにより、ＣＰＵ１１からのデータＤＴがアドレスレジスタ３２に書き込まれる。
【００３２】
また、アドレスレジスタ３２は、ＣＰＵ１１からのアドレスＡＤが番地「１０Ｈ」を指し、リードストローブＲＤがアクティブな時、レジスタ値に対応するデータＤＴを出力する。これによりアドレスレジスタ３２の値がデータＤＴとしてＣＰＵ１１に読み出される。
【００３３】
同様に、データレジスタ３３は、ＣＰＵ１１からのアドレスＡＤが番地「１１Ｈ」を指し、ライトストローブＷＲがアクティブな時、ＣＰＵ１１からのデータＤＴをレジスタ値として記憶する。これにより、ＣＰＵ１１からのデータＤＴがデータレジスタ３３に書き込まれる。
【００３４】
また、データレジスタ３３は、ＣＰＵ１１からのアドレスＡＤが番地「１１Ｈ」を指し、リードストローブＲＤがアクティブな時、レジスタ値に対応するデータＤＴを出力する。これによりデータレジスタ３３の値がデータＤＴとしてＣＰＵ１１に読み出される。
【００３５】
第２のメモリ３１のアドレス端子はアドレスレジスタ３２に接続され、データ端子はデータレジスタ３３に接続され、ＣＰＵ１１からリードストローブＲＤ及びライトストローブＷＲが入力される。従って、第２のメモリ３１は、アドレスレジスタ３２に記憶された８ビットのデータをアドレス信号として受け取る。そして、メモリ３１は、リードストローブＲＤがアクティブな時にアドレス信号に応答して読み出したデータをデータレジスタ３３に出力するリード動作ど実行し、ライトストローブＷＲがアクティブな時には、データレジスタ３３の値を記憶するライト動作を実行する。
【００３６】
図４は、第２のメモリ３１に対するアクセスを示すタイミングチャートである。
先ず、第２のメモリ３１に対するライト動作を説明する。
【００３７】
図４において、第３サイクルＴ３から第６サイクルＴ６までが、第２のメモリ３１に対するライト動作のタイミングチャートである。
先ず、ＣＰＵ１１は、第３サイクルＴ３において第２のメモリ３１のライトアドレス「００Ｈ」をアドレスレジスタ３２に書き込む（アドレスレジスタ３２のＩ／Ｏポート・アドレス「１０Ｈ」をアドレスＡＤとし、ライトアドレスをデータＤＴとして送出する）。そのアドレス「００Ｈ」は、アドレスレジスタ３２から第２のメモリ３１に供給される。
【００３８】
次に、ＣＰＵ１１は、第４サイクルＴ４において第２のメモリ３１に書き込むデータ「８０Ｈ」をデータレジスタ３３に書き込む。そのデータ「８０Ｈ」は、データレジスタ３３から第２のメモリ３１に供給される。これにより、第２のメモリ３１は、アドレス「００Ｈ」にデータ「８０Ｈ」を記憶する。
【００３９】
同様にして、先ず、ＣＰＵ１１は、第５サイクルＴ５において第２のメモリ３１のライトアドレス「０４Ｈ」をアドレスレジスタ３２に書き込み、そのアドレスが第２のメモリ３１に供給される。次に、ＣＰＵ１１は、第６サイクルにおいて第２のメモリ３１のライトデータ「ＦＦＨ」をデータレジスタ３３に書き込み、そのライトデータが第２のメモリ３１に供給される。これにより、第２のメモリ３１は、アドレス「０４Ｈ」にデータ「ＦＦＨ」を記憶する。
【００４０】
次に、アドレスレジスタ３２、データレジスタ３３に対するリード動作を説明する。
図４において、第７サイクルＴ７がアドレスレジスタ３２に対するリード動作を、第８サイクルＴ８がデータレジスタ３３に対するリード動作のタイミングチャートである。
【００４１】
ＣＰＵ１１は、第７サイクルＴ７においてアドレスレジスタ３２のＩ／Ｏポート・アドレス「１０Ｈ」をリードすると、このレジスタ３２に最終に書き込まれたアドレス、即ち第５サイクルＴ５にて当該レジスタ３２に書き込まれたアドレス「０４Ｈ」がデータＤＴとして読み出される。
【００４２】
同様に、ＣＰＵ１１は、第８サイクルＴ８においてデータレジスタ３３のＩ／Ｏポート・アドレス「１１Ｈ」をリードすると、このレジスタ３３に最終に書き込まれたデータ、即ち第６サイクルＴ６において当該レジスタ３３に書き込まれたデータ「ＦＦＨ」がデータＤＴとして読み出される。
【００４３】
次に、第２のメモリ３１に対するリード動作を説明する。
図４において、第９サイクルＴ９及び第１０サイクルＴ１０が、第２のメモリ３１に対するリード動作のタイミングチャートである。
【００４４】
先ず、ＣＰＵ１１は、第９サイクルＴ９において第２のメモリ３１のリードアドレス「００Ｈ」をアドレスレジスタ３２に書き込み、そのリードアドレスは第２のメモリ３１に供給される。第２のメモリ３１はリードアドレス「００Ｈ」から読み出したデータをデータレジスタ３３に出力する。
【００４５】
次に、ＣＰＵ１１は、第１０サイクルＴ１０においてデータレジスタ３３のＩ／Ｏポート・アドレス「１１Ｈ」をリードすると、このレジスタ３３に最終に書き込まれたデータ、即ち第９サイクルＴ９において第２のメモリ３１から読み出されレジスタ３３に書き込まれたデータ「８０Ｈ」がデータＤＴとして読み出される。
【００４６】
次に、アドレス発生部２４の構成を、図５に従って説明する。
アドレス発生部２４は、コントロールレジスタ３４、アップダウンカウンタ３５、比較器３６を含む。
【００４７】
コントロールレジスタ３４は、所定のビット数のレジスタであり、所定のＩ／Ｏ空間（例えば、Ｉ／Ｏポート・アドレスが１８Ｈ）にマッピングされている。コントロールレジスタ３４はシステムバス１６に接続され、ＣＰＵ１１からコントロールデータ及びカウント終了アドレスが書き込まれる。
【００４８】
コントロールデータは、アップダウンカウンタ３５の起動・停止を制御するためのイネーブルデータと、アップダウンカウンタ３５のカウント方向を切り替える切り替えデータを含む。コントロールレジスタ３４は、イネーブルデータに対応するイネーブル信号ＥＮをアップダウンカウンタ３５に出力する。また、コントロールレジスタ３４は、切り替えデータに応じた切替信号ＤＩＲをアップダウンカウンタ３５に出力する。
【００４９】
カウント終了アドレスは、循環アドレス信号ＡＤＤ１を生成するため、アップダウンカウンタ３５にカウント初期値ＬＡとして、比較器３６に終了値ＥＡとして与えられる。
【００５０】
アップダウンカウンタ３５は、コントロールレジスタ３４からのイネーブル信号ＥＮに応答して入力されるクロック信号ＣＫのカウント動作を実行・停止する。アップダウンカウンタ３５は、アップカウント動作とダウンカウント動作を切り替える機能を持ち、コントロールレジスタ３４からのＨレベルの切替信号ＤＩＲに応答してアップカウント動作を実行し、Ｌレベルの切替信号ＤＩＲに応答してダウンカウント動作を実行する。そして、各カウント動作によるカウント値をアドレス信号ＡＤＤ１として出力する。
【００５１】
比較器３６は、コントロールレジスタ３４からの終了値と、アップダウンカウンタ３５からのカウント値（アドレス信号ＡＤＤ１）とに基づいて生成したクリア信号ＣＬＲ及びロード信号ＬＯＡＤをアップダウンカウンタ３５に出力する。詳述すると、比較器３６は、アップダウンカウンタ３５のアップカウント動作時に、終了値とカウント値を比較し、カウント値が終了値と一致したときにクリア信号ＣＬＲをアクティブにする。また、比較器３６は、アップダウンカウンタ３５のダウンカウント動作時に、カウント値がアンダーフローした時にロード信号ＬＯＡＤをアクティブにする。
【００５２】
アップダウンカウンタ３５は、アクティブなクリア信号ＣＬＲに応答してカウント値をクリアする、即ちカウント値を「００Ｈ」にする。従って、終了値（終了アドレス）が例えば「１ＦＨ」の場合、カウント値即ちアドレス信号ＡＤＤ１は、「…，１Ｅ，１Ｆ，０，１，２，…」と変化する。これにより、アドレス発生部２４は、「０」から終了値までの間を増加（アップカウント）しながら循環するアドレス信号ＡＤＤ１を生成する。
【００５３】
また、アップダウンカウンタ３５は、アクティブなロード信号ＬＯＡＤに応答して初期値をロードする、即ちカウント値を初期値に設定する。従って、初期値が例えば「１ＦＨ」の場合、カウント値（アドレス信号ＡＤＤ１）は、「…，２，１，０，１Ｆ，１Ｅ，…」と変化する。これにより、アドレス発生部２４は、「０」から終了値までの間を減少（ダウンカウント）しながら循環するアドレス信号ＡＤＤ１を生成する。
【００５４】
図６は、アップダウンカウンタ３５の回路図である。尚、図６では、イネーブル信号ＥＮに応答してカウント動作を実行・停止するための構成、及び初期値をロードするための構成は、公知であるため省略してある。
【００５５】
アップダウンカウンタ３５は、直列接続された複数（生成するアドレス信号ＡＤＤ１のビット数に対応する数）のフリップフロップ４１１，４１２，…，４１ｎ（本実施形態の場合、ｎ＝７）を備えている。初段のフリップフロップ４１１のクロック入力端子には、クロック信号ＣＫをインバータ回路４２に反転した信号ＣＫ０が入力され、これにより、アップダウンカウンタ３５はクロック信号ＣＫの立ち下がりエッジをカウントする。
【００５６】
各段のフリップフロップ４１１〜４１７の間には、それぞれカウント方向を切り替えるための切替回路４３１，４３２，…と、カウント方向の切替時に発生する不要なパルスを除くためのフリップフロップ４４１，４４２，…が接続されている。
【００５７】
詳述すると、フリップフロップ４１１は反転出力端子ＸＱと入力端子Ｄが接続され、出力端子Ｑから１ビット目のアドレス信号Ａ０を出力する。フリップフロップ４１１の出力端子Ｑと反転出力端子ＸＱは切替回路４３１に接続されている。切替回路４３１は、ナンド回路４５，４６、インバータ回路４７、オア回路４８から構成されている。
【００５８】
フリップフロップ４１１の出力端子Ｑはナンド回路４５に接続され、フリップフロップ４１１の反転出力端子ＸＱはナンド回路４６に接続されている。ナンド回路４５には切替信号ＤＩＲをインバータ回路４７により反転した信号が入力され、ナンド回路４６には切替信号ＤＩＲが入力される。両ナンド回路４５，４６の出力端子はオア回路４８に接続され、そのオア回路４８の出力端子はフリップフロップ４４１の入力端子Ｄに接続されている。フリップフロップ４４１のクロック入力端子にはクロック信号ＣＫ０が入力され、出力端子Ｑから次段のフリップフロップ４１２に供給するクロック信号ＣＫ１が出力される。
【００５９】
両フリップフロップ４１１，４４１のクリア端子ＣＬにはクリア信号ＣＬＲが入力され、フリップフロップ４１１のプリセット端子ＰＲには初期値の１ビット目の信号が入力される。
【００６０】
尚、次段のフリップフロップ４１２以降の接続は、上記と同様であるため、説明を省略する。
図７は、アップダウンカウンタ３５の動作波形図である。
【００６１】
アップダウンカウンタ３５は、クリア信号ＣＬＲがＬレベルになると、Ｈレベルの切替信号ＤＩＲによりクロック信号ＣＫの立ち下がりエッジをアップカウント、そのカウント値「００，０１，０２，…」を持つアドレス信号ＡＤＤ１を出力する。
【００６２】
そして、切替信号ＤＩＲがＬレベルになると、アップダウンカウンタ３５はダウンカウントを開始する。この時、図７にて丸で囲んだように、フリップフロップ４４１の入力端子Ｄに受ける信号に不要なパルスが発生する。しかし、フリップフロップ４４１は、クロック入力端子に受けるクロック信号ＣＫ０が立ち上がらないため、このパルスを含まない即ちＬレベルのクロック信号ＣＫ１を次段のフリップフロップ４１２に出力する。この結果、アップダウンカウンタ３５は、正確にガウンカウントしたカウント値に基づくアドレス信号ＡＤＤ１を出力する。同様に、フリップフロップ４４２はその入力端子Ｄに受ける信号に不要なパルスが発生するが、クロック入力端子に受けるクロック信号ＣＫ１が立ち上がらないため、このパルスを含まないクロック信号ＣＫ２を次段のフリップフロップに出力する。
【００６３】
図８は、アドレス発生部２４の動作波形図である。
例えば、図５の比較器３６には終了値「１ＦＨ」が供給され、アップダウンカウンタ３５はコントロールレジスタ３４からのＨレベルの切替信号ＤＩＲに基づいてアップカウント動作し、カウント値を「１８，１９，１Ａ，…」とアップさせる。そして、カウント値が終了値と一致した時、比較器３６はＨレベルのクリア信号ＣＬＲをアップダウンカウンタ３５に出力し、そのカウンタ３５はクリア信号ＣＬＲに応答してカウント値をクリアする。このように、アドレス発生部２４は、値が「００，０１，…，１Ｆ，００，…」のように巡回するアドレス信号ＡＤＤ１を発生させる。
【００６４】
次に、上記のように構成されたマイクロプロセッサシステム１における機能ブロック１３，１４の作用を図９に従って説明する。
先ず、図１のＣＰＵ１１は、第１の機能ブロック１３のメモリ３１に、ステッピングモータ２を駆動するための１周期分のデータがアドレス「０Ｈ」〜「ＦＨ」に格納し、そのデータと９０度の位相差を持つデータを第２の機能ブロック１４のメモリ３１に格納する。
【００６５】
次に、ＣＰＵ１１は、両機能ブロック１３，１４のアドレス発生部２４，２８にカウント終了アドレス「ＦＨ」を格納する。更に、ＣＰＵ１１は、ステッピングモータ２の回転方向に応じた切り替えデータを両アドレス発生部２４，２８に格納する。
【００６６】
次に、ＣＰＵ１１は、アドレス発生部２４，２８を動作させるべくイネーブルデータを格納する。すると、両アドレス発生部２４，２８は、供給されるクロック信号ＣＫをカウントし、それぞれ値が「０，１，２，…，Ｆ，０，…」のように変化する循環アドレス信号ＡＤＤ１，ＡＤＤ２を発生させる。メモリ制御部２３，２７は、それぞれアドレス信号ＡＤＤ１，ＡＤＤ２に応答して読み出した波形データをＤ／Ａ変換器２２，２６に出力する。これにより、Ｄ／Ａ変換器２２，２６は、９０度位相の異なるアナログ波形を持つ駆動信号φ１，φ２を出力し、それら駆動信号φ１，φ２によりステッピングモータ２が所定方向に回転する。
【００６７】
尚、ステッピングモータ２の回転方向は、両機能ブロック１３，１４に格納したデータの位相関係と、両アドレス発生部２４，２８のカウント方向により決定される。例えば、両アドレス発生部２４，２８がアップカウントする時に出力される波形データによりステッピングモータ２が正転する場合、両アドレス発生部２４，２８をダウンカウントさせることでステッピングモータ２は逆転する。
【００６８】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
（１）アドレスレジスタ３２はアドレスバス１６ａに接続され、該アドレスバス１６ａを介して入力される信号に基づいて選択又は非選択され、選択時にデータバス１６ｂからのデータを記憶する。アドレスバス１６ａに接続されないメモリ３１は、アドレスレジスタ３２の記憶データがアドレス信号として入力され、そのアドレス信号に基づいてデータバス１６ｂとの間でデータの入出力を行うようにした。その結果、メモリ３１の全領域をアドレスレジスタ３２を指定することでアクセスすることができるため、メモリ３１をアクセスするためのＩ／Ｏポート・アドレスの占有を少なくすることができる。
【００６９】
（２）第１及び第２の機能ブロック１３，１４の波形発生器２１，２５には、メモリ制御部２３，２７のメモリ３１を連続してアクセスするためのアドレス信号ＡＤＤ１，ＡＤＤ２を生成するアドレス発生部２４，２８を備えた。これにより、ＣＰＵ１１に負担をかけずにメモリ３１を連続的にアクセスしてそのメモリ３１に記録した波形データをＤ／Ａ変換器２２，２６に出力することができ、アナログ信号としての駆動信号φ１，φ２を連続的に出力することができる。
【００７０】
（３）アドレス発生部２４，２８は、メモリ制御部２２，２７に対して循環するアドレス信号ＡＤＤ１，ＡＤＤ２を出力するように構成されている。従って、Ｄ／Ａ変換器２２，２６には波形データが循環して出力されるため、周期波形を持つアナログ信号として駆動信号φ１，φ２を容易に出力することができる。
【００７１】
尚、前記実施形態は、以下の態様に変更してもよい。
○上記実施形態では、第２のメモリ３１のアドレス及びデータのビット数がシステムバス１６（詳しくはデータバス１６ｂ）のバス幅と同一（８ビット）の場合について説明したが、それらのビット数が異なっていても良い。
【００７２】
例えば、図１０のメモリ制御部２３ａは、アドレス及びデータの幅が１６ビットの第２のメモリ３１ａと、それに対応するアドレスレジスタ３２ａ及びデータレジスタ３３ａを備えている。図１１は、その動作波形図である。１６ビット構成のアドレスレジスタ３２ａは８ビットずつ２つのＩ／Ｏポート・アドレス「１０Ｈ」，「１１Ｈ」にマッピングされる。同じく、１６ビット構成のデータレジスタ３３ａは、８ビットずつＩ／Ｏポート・アドレス「１２Ｈ」，「１３Ｈ」にマッピングされる。そして、アドレスレジスタ３２ａ及びデータレジスタ３３ａは、１６ビット分のデータが格納されたときに、所望の動作をする。
【００７３】
また、図１２は、第２のメモリ３１ｂのアドレス及びデータが８ビットであるのに対し、１６ビットのバス幅を持つデータバス１６ｃの場合の構成を示し、その時の動作波形図を図１３に示す。第２のメモリ３１ｂにデータをライトする場合、アドレスレジスタ３２のみにデータをライトするのか、データレジスタ３３のみにデータをライトするのか、両方同時にデータをライトするのかは、ＣＰＵ１１が出力するライトストローブＷＲＨ，ＷＲＬで決定される。ＣＰＵ１１は、バイトアクセスの時、偶数番地（図１２ではアドレスレジスタ３２）に対するアクセスを行うときにはライトストローブＷＲＬをアクティブに、奇数番地（データレジスタ３３）に対するアクセスを行うときにはライトストローブＷＲＨをアクティブにする。従って、ＣＰＵ１１は、両ライトストローブＷＲＨ，ＷＲＬを同時にアクティブにすることで、アドレスレジスタ３２とデータレジスタ３３の双方に１サイクルでデータをライトできる。データをリードする際、ＣＰＵ１１は、バイトアクセスでアドレスレジスタ３２の値を第２のメモリ３１のアドレスに変更した後、バイトアクセスでデータレジスタ３３をアクセスすることで、第２のメモリ３１から読み出したデータが得られる。
【００７４】
○上記実施形態及び別例では、データレジスタ３３，３３ａを介して第２のメモリ３１，３１ａにタイするデータのアクセス（読み出し／書き込み）を行うようにしたが、レジスタ以外を用いてアクセスを可能に構成しても良い。
【００７５】
例えば、図１４は、アドレスデコーダによりデータのアクセスを可能にした例を示し、図１５はその動作波形図を示す。即ち、メモリ制御部２３ｂは、第２のメモリ３１、アドレスレジスタ３２、アドレスデコーダ５１、スイッチ回路５２を備えている。アドレスデコーダ５１は、Ｉ／Ｏポート・アドレス「１１Ｈ」にマッピングされ、ＣＰＵ１１からのアクセスに応答して制御信号Ｓ１をスイッチ回路５２に出力する。スイッチ回路５２は第２のメモリ３１のデータと同じビット幅を持ち、制御信号Ｓ１に応答してオン・オフする。従って、第２のメモリ回路３１のデータ端子は、アドレスデコーダ５１がアクセスされることによりシステムバス１６（データバス１６ｂ）と接続される。
【００７６】
第２のメモリ３１のデータ入出力端子とデータバス１６ｂが接続された状態で、をリード・ライトする場合、ＣＰＵ１１はライトストローブＷＲをアクティブにすることでデータライトが可能となり、リードストローブＲＤをアクティブにすることでデータリードが可能となる。このとき、アドレスレジスタ３２の示すデータ（格納されたデータ）が第２のメモリ３１のアドレスとして有効となり、第２のメモリ３１に対してデータが入出力される。
【００７７】
○上記実施形態及び各別例において、更に、他の機能ブロックを備えたマイクロプロセッサシステムに具体化して実施しても良い。例えば、図１６に示すように、マイクロプロセッサシステム１ｂは、図２の第１及び第２の機能ブロック１３，１４に加えて第３の機能ブロック６１を備える。第３の機能ブロック６１は、波形記録器６２とＡ／Ｄ変換器６３を備え、そのＡ／Ｄ変換器６３は入力されるアナログ信号Ａｉｎをディジタル信号にＡ／Ｄ変換して波形記録器６２に出力する。波形記録器６２はメモリ制御部６４とアドレス発生部６５とから構成され、メモリ制御部６４は、アドレス発生部６５にて発生したアドレス信号にてＡ／Ｄ変換器６３からのディジタル信号を記録する。
【００７８】
そして、アナログ信号Ａｉｎに代えて第１及び第２の機能ブロック１３，１４からの駆動信号φ１，φ２を第３の機能ブロック６１に入力する。これにより、メモリ制御部６４には、第１又は第２の駆動信号φ１,φ２をＡ／Ｄ変換したディジタル信号が記録される。ＣＰＵ１１は、このディジタル信号に基づいて第１又は第２の機能ブロック１３，１４のメモリ制御部２３，２７に記録した波形データを、駆動信号φ１，φ２が期待通りの波形を持つように補正する、即ち駆動信号φ１，φ２を波形データにフィードバックする。これにより、より精度の高いアナログ波形を持つ駆動信号φ１，φ２を生成することができる。
【００７９】
○上記実施形態及び各別例では、図１のステッピングモータ２を駆動するマイクロプロセッサシステムに具体化したが、その他のアナログ信号を取り扱うシステムに具体化して実施しても良い。例えば、図１７に示すように、システム１ｃは、機能ブロック７１，７２を含む。第１の機能ブロック７１は図２の機能ブロック１３，１４と同様に波形発生器７３とＤ／Ａ変換器７４を備え、波形発生器７３はメモリ制御部７５とアドレス発生部７６とから構成される。第２の機能ブロック７２は図１６と同様に波形記録器７７とＡ／Ｄ変換器７８を備え、波形記録器７７はメモリ制御部７９とアドレス発生部８０とから構成される。そして、第１の機能ブロック７１にはスピーカ８１が接続され、第２の機能ブロック７２にはマイク８２が接続される。そして、波形発生器７３のメモリ制御部７５にディジタル音声データを格納しておくことで、音声をスピーカ８１から再生することができる。また、マイク８２からのアナログ信号をＡ／Ｄ変換器７８を介して波形記録器７７のメモリ制御部７９にディジタル音声データとして格納することができる。尚、第１及び第２の機能ブロック７１，７２の何れか一方のみを搭載したシステムに具体化しても良い。また、これら機能ブロック７１，７２と、上記実施形態及び別例の機能ブロック１３，１４，６１を適宜組み合わせて搭載したシステムに具体化しても良い。
【００８０】
○上記実施形態では、比較器３６に終了値として「１ＦＨ」を供給する場合について説明したが、この終了値を任意に変更しても良く、一実施形態のように波形データを図３のメモリ３１から出力させようとする場合、そのデータの最終アドレスを終了値として設定する。
【００８１】
○上記実施形態では、図３のメモリ３１から出力するデータの個数（最終アドレス）を変更可能に構成したが、これを固定値として実施しても良い。その際、終了値に応じて比較器３６をアンド回路にて置き換えて実施しても良い。例えば、終了値が「ＦＦＨ」に固定されている場合、比較器を８入力アンド回路とする。また、終了値を任意の固定値とした場合、その終了値にのビット数に応じた入力端子を備えたアンド回路とそのアンド回路の入力端子に終了値に応じて接続したインバータ回路により比較手段を構成しても良い。
【００８２】
○上記実施形態では、機能ブロック１３，１４のアドレス発生部２４，２８のカウント方向を切り替えることによりステッピングモータ２の回転方向を変更するようにしたが、メモリ制御部２３，２７のメモリ３１に記憶させる波形データの位相関係を変更することでステッピングモータ２の回転方向を変更しても良い。即ち、メモリ制御部２３のメモリ３１に格納した波形データがメモリ制御部２７のメモリ３１に格納した波形データよりも位相が９０度進んでいる場合、そのデータの位相を逆に９０度遅らせることにより、ステッピングモータ２の回転方向を変更することができる。このようにすれば、ＣＰＵ１１がステッピングモータ２の回転方向を変更する毎に両メモリ制御部２３，２７の少なくとも一方の波形データを書き換える必要があるが、アドレス発生部２４，２８はアップカウント動作又はダウンカウント動作のみを行う構成であればよい。従って、図６に示すアップダウンカウンタ３５の構成から切替回路４３１，４３２，…、及びフリップフロップ４４１，４４２，…  を省略することができ、両機能ブロック１３，１４の素子数を少なくして占有面積を少なくすることができる。
【００８３】
○上記実施形態及び各別例では、１つの機能を有する機能ブロック１３，１４，６１，７１，７２に具体化したが、複数の機能を有する機能ブロックに具体化して実施しても良い。
【００８４】
以上の実施形態をまとめ、本発明の構成に関する以下の事項を開示する。
（１）  請求項５に記載のデータ入出力システムにおいて、前記アドレス発生手段は、循環アドレスを発生するように構成され、周期波形の前記アナログ信号を出力することを特徴とするデータ入出力システム。これにより、周期波形のアナログ信号を他に負担をかけずに容易に出力することができる。
【００８５】
（２）  請求項４に記載のデータ入出力システムにおいて、アナログ信号をディジタル信号に変換して前記メモリに出力するＡ／Ｄ変換器を備え、前記連続アクセスによりアナログ信号を連続的に記録することを特徴とするデータ入出力システム。これにより、他に負担をかけずにアナログ信号の記録が容易になる。
【００８６】
（３）  請求項４に記載のデータ入出力システムにおいて、前記メモリより読み出されたデータをアナログ信号に変換するＤ／Ａ変換器と、前記Ｄ／Ａ変換器から出力されるアナログ信号が入力されるＡ／Ｄ変換器とを備え、前記Ａ／Ｄ変換器からのディジタルデータにより前記メモリに記録したデータを前記Ｄ／Ａ変換器からのアナログ信号の波形が所望の波形となるように補正することを特徴とするデータ入出力システム。
【００８７】
（４）  請求項４に記載のデータ入出力システムにおいて、前記アドレス発生手段は、クロック信号をカウントし、そのカウント値を持つアドレス信号を出力するカウンタと、前記メモリに記録されたデータの最終アドレスが記憶されるコントロールレジスタと、前記最終アドレスと前記アドレス信号とが入力され、前記最終アドレスと前記アドレス信号を比較し、その比較結果に基づいて前記最終アドレスと前記アドレス信号が一致する時に前記カウンタにカウント値をクリアする信号を出力する比較器と、を備えたことを特徴とするデータ入出力システム。
【００８８】
（５）  上記（４）に記載のデータ入出力システムにおいて、前記カウンタは切替信号に応答してアップカウント動作又はダウンカウント動作するアップダウンカウンタであり、アップカウント時には前記クリア信号によりカウント値をクリアし、ダウンカウント時にはカウント値がアンダーフローした時に前記最終アドレスをカウント値にロードし、前記コントロールレジスタには、前記カウンタのカウント方向を制御する制御信号を出力するために切り替えデータが記録されることを特徴とするデータ入出力システム。これにより、カウント方向によりアナログ信号の波形を容易に変更することができるとともに、そのためのカウント方向の切り替えが容易になる。
【００８９】
（６）アドレスバスからのアドレス信号に基づいてデータを前記アドレスバスと非接続された記憶手段に書き込むステップと、循環アドレスを発生させるステップと、前記循環アドレスに基づいて前記記憶手段から前記データを読み出してＤ／Ａ変換器に供給するステップと、を含むことを特徴とするデータ入出力方法。これにより、記憶手段からＤ／Ａ変換器へのデータの転送をアドレスバスを介さずに行うことができるとともに、そのＤ／Ａ変換器にて循環アドレスに対応した周期波形を有するアナログ信号を容易に生成することができる。
【００９０】
【発明の効果】
以上詳述したように、本発明によれば、第１のレジスタはアドレスバスに接続され、該アドレスバスを介して入力される信号に基づいて選択又は非選択され、選択時にデータバスからのデータを記憶する。アドレスバスに接続されないメモリは、アドレスレジスタの記憶データがアドレス信号として入力され、そのアドレス信号に基づいてデータバスとの間でデータの入出力を行うようにした。その結果、メモリの全領域を第１のレジスタを指定することでアクセスすることができるため、メモリをアクセスするためのＩ／Ｏポート・アドレスの占有を少なくすることができる。
【００９１】
また、メモリに対して連続してアクセスするように発生したアドレス信号を前記メモリ又は前記第１のレジスタに出力するアドレス発生手段を備えた。これにより、アドレスバスをアクセスする回路に負担をかけずにメモリを連続的にアクセスすることができる。
【００９２】
また、アドレス発生手段は、循環アドレスを発生するように構成され、周期波形の前記アナログ信号を出力する。これにより、周期波形のアナログ信号を他に負担をかけずに容易に出力することができる。
【図面の簡単な説明】
【図１】  マイクロプロセッサシステムのブロック回路図である。
【図２】  機能ブロックのブロック回路図である。
【図３】  メモリ制御部の回路図である。
【図４】  メモリ制御部の動作波形図である。
【図５】  アドレス発生器のブロック回路図である。
【図６】  アップダウンカウンタの回路図である。
【図７】  アップダウンカウンタの動作波形図である。
【図８】  アドレス発生器の動作波形図である。
【図９】  第一実施形態の作用説明図である。
【図１０】  別のメモリ制御部のブロック回路図である。
【図１１】  図１０のメモリ制御部の動作波形図である。
【図１２】  別のメモリ制御部のブロック回路図である。
【図１３】  図１２のメモリ制御部の動作波形図である。
【図１４】  別のメモリ制御部のブロック回路図である。
【図１５】  図１４のメモリ制御部の動作波形図である。
【図１６】  別のマイクロプロセッサシステムのブロック回路図である。
【図１７】  別のマイクロプロセッサシステムのブロック回路図である。
【符号の説明】
１６ａ  アドレスバス
１６ｂ  データバス
２２，２６  Ｄ／Ａ変換器
２３，２７  メモリ制御部
２４，２８  アドレス発生手段としてのアドレス発生部
３１  メモリ
３２  第１のレジスタとしてのアドレスレジスタ
３３  第２のレジスタとしてのデータレジスタ
３４  コントロールレジスタ
３５  アップダウンカウンタ
３６  比較器
５１  アドレスデコーダ
５２  スイッチ回路
６３  Ａ／Ｄ変換器
【図１】
0004517316.tif 000002
【図２】
0004517316.tif 000003
【図３】
0004517316.tif 000004
【図４】
0004517316.tif 000005
【図５】
0004517316.tif 000006
【図６】
0004517316.tif 000007
【図７】
0004517316.tif 000008
【図８】
0004517316.tif 000009
【図９】
0004517316.tif 000010
【図１０】
0004517316.tif 000011
【図１１】
0004517316.tif 000012
【図１２】
0004517316.tif 000013
【図１３】
0004517316.tif 000014
【図１４】
0004517316.tif 000015
【図１５】
0004517316.tif 000016
【図１６】
0004517316.tif 000017
【図１７】
0004517316.tif 000018