(57)【要約】【課題】従来と同等の記憶容量で各Ａ／Ｄ変換におけるアナログ入力チャネルの選択パターンを増やし、また、基本的な機能のみを有するＡ／Ｄ変換装置を用いてＣＰＵに負荷を与えることなくＡ／Ｄ変換を実行するＡ／Ｄ変換装置およびマイクロコントローラを提供する。【解決手段】各アナログ入力チャネルをＡ／Ｄ変換するかどうかを設定するイネーブルビットとＡ／Ｄ変換の実行回数を設定する複数の回数ビットからなるエントリを１つまたは複数有するＡ／Ｄ変換テーブルをＡ／Ｄ変換装置またはＤＭＡ転送装置に備える。これにより、従来のＡ／Ｄ変換テーブルに対して同程度の記憶容量で約ｎ倍のアナログ入力チャネルの選択パターンを設定できる。また、ＤＭＡ転送装置にＡ／Ｄ変換テーブルを備えることにより、基本的な機能のみを有するＡ／Ｄ変換装置を用いてもＣＰＵに負荷を与えることなく任意のＡ／Ｄ変換を実行できる。【選択図】  図１
2005057374.tif 000002
【特許請求の範囲】
【請求項１】
複数のアナログ入力チャネルを備えるＡ／Ｄ変換装置において、
前記各アナログ入力チャネルをＡ／Ｄ変換するかどうかを設定するイネーブルビットとＡ／Ｄ変換の実行回数を設定する複数の回数ビットからなるエントリを１つまたは複数有するＡ／Ｄ変換テーブルを備えることを特徴とするＡ／Ｄ変換装置。
【請求項２】
複数のアナログ入力チャネルを備えるＡ／Ｄ変換装置において、
前記各アナログ入力チャネルをＡ／Ｄ変換するかどうかを設定するイネーブルビットとＡ／Ｄ変換の実行回数を設定する複数の回数ビットからなるエントリを１つまたは複数有するＡ／Ｄ変換テーブルを備え、
Ａ／Ｄ変換が起動されるとそれに対応する前記エントリを参照して前記イネーブルビットがセットされている前記アナログ入力チャネルのＡ／Ｄ変換を前記回数ビットで設定された回数だけ繰り返し実行することを特徴とするＡ／Ｄ変換装置。
【請求項３】
複数のアナログ入力チャネルを備えるＡ／Ｄ変換装置において、
複数のＡ／Ｄ変換要求から１つのＡ／Ｄ変換要求を選択する要求選択手段と、複数のＡ／Ｄ変換要求の優先順位を設定する優先順位設定手段とを備え、
前記要求選択手段は、複数のＡ／Ｄ変換要求が同時に発生した場合には前記優先順位設定手段を参照して優先順位が高いＡ／Ｄ変換要求を選択し、また、Ａ／Ｄ変換中に新たなＡ／Ｄ変換要求が発生した場合には、前記優先順位設定手段を参照してＡ／Ｄ変換中のＡ／Ｄ変換要求よりも優先順位が高い場合には新たなＡ／Ｄ変換要求を選択することを特徴とするＡ／Ｄ変換装置。
【請求項４】
複数のアナログ入力チャネルを備えるＡ／Ｄ変換装置において、
複数のＡ／Ｄ変換要求から１つのＡ／Ｄ変換要求を選択する要求選択手段と、複数のＡ／Ｄ変換要求の優先順位を設定する優先順位設定手段と、Ａ／Ｄ変換を制御する変換制御手段と、複数のＡ／Ｄ変換要求の各々において変換すべき前記アナログ入力チャネルを設定する複数のエントリを有するＡ／Ｄ変換テーブルとを備え、
前記要求選択手段は、複数のＡ／Ｄ変換要求が同時に発生した場合には前記優先順位設定手段を参照して優先順位が高いＡ／Ｄ変換要求を選択し、また、Ａ／Ｄ変換中に新たなＡ／Ｄ変換要求が発生した場合には、前記優先順位設定手段を参照してＡ／Ｄ変換中のＡ／Ｄ変換要求よりも優先順位が高い場合には新たなＡ／Ｄ変換要求を選択し、前記変換制御手段は、前記要求選択手段が選択したＡ／Ｄ変換要求に対応する前記Ａ／Ｄ変換テーブルの前記エントリを参照してＡ／Ｄ変換を制御し、また、Ａ／Ｄ変換中に要求選択手段が新たなＡ／Ｄ変換要求を選択した場合には、Ａ／Ｄ変換中の実行経過を一時的に退避してＡ／Ｄ変換を中断した後、新たなＡ／Ｄ変換要求のＡ／Ｄ変換を実行し、新たなＡ／Ｄ変換が終了した後、退避した実行経過を戻して中断したＡ／Ｄ変換を再開することを特徴とするＡ／Ｄ変換装置。
【請求項５】
請求項１ないし４のいずれか一項に記載のＡ／Ｄ変換装置を有するマイクロコントローラ。
【請求項６】
メモリと、複数のアナログ入力チャネルを備えるＡ／Ｄ変換装置と、Ａ／Ｄ変換装置からメモリにＡ／Ｄ変換結果を転送するＤＭＡ転送装置とを有するマイクロコントローラにおいて、
前記ＤＭＡ転送装置は、Ａ／Ｄ変換の対象となるアナログ入力チャネルを設定するＡ／Ｄ変換テーブルを備え、
Ａ／Ｄ変換が起動されると前記Ａ／Ｄ変換テーブルを参照して前記Ａ／Ｄ変換装置のＡ／Ｄ変換を起動し、Ａ／Ｄ変換が終了すると、変換結果を前記Ａ／Ｄ変換装置から前記メモリに転送することを特徴とするマイクロコントローラ。
【請求項７】
請求項６に記載のマイクロコントローラにおいて、
前記Ａ／Ｄ変換装置は、Ａ／Ｄ変換の対象となるアナログ入力チャネルを設定する制御レジスタと、前記ＤＭＡ転送装置にＤＭＡ転送を要求するＤＭＡ要求信号とを備え、前記ＤＭＡ転送装置は、前記Ａ／Ｄ変換装置の前記制御レジスタに前記アナログ入力チャネルを設定することによりＡ／Ｄ変換を起動し、Ａ／Ｄ変換後に前記Ａ／Ｄ変換装置が前記ＤＭＡ要求信号を出力するとＤＭＡ転送を開始することを特徴とするマイクロコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のアナログ入力チャネルからの信号をＡ／Ｄ変換（アナログ／デジタル変換）するＡ／Ｄ変換装置に関するものであり、特にマイクロコントローラに内蔵されるＡ／Ｄ変換装置に関するものである。
【０００２】
【従来の技術】
近年のマイクロコントローラは、ＬＳＩ技術の進展により多様な周辺回路を集積するようになってきている。特に、自動車制御システムに適用されるマイクロコントローラは、多数のセンサから得られるアナログ信号をＡ／Ｄ変換するＡ／Ｄ変換装置の役割が重要になってきている。
【０００３】
従来のＡ／Ｄ変換装置は、中央演算処理装置（以下、ＣＰＵと呼ぶ）に負荷をかけることなく複数のアナログ入力チャネルからの信号をＡ／Ｄ変換するためにいくつかの工夫がなされている。
【０００４】
例えば、特開平６−１４９４７９号公報（特許文献１）や特開２００２−３１４４１８号公報（特許文献２）で開示された従来の技術では、Ａ／Ｄ変換するアナログ入力チャネルの選択パターンを設定するために、複数のアナログ入力チャネル番号を記憶するＡ／Ｄ変換テーブルを備え、タイマなどによりＡ／Ｄ変換の起動がかかると、Ａ／Ｄ変換テーブルに設定した順番でアナログ入力チャネルを選択してＡ／Ｄ変換を実行している。
【０００５】
また、特開平８−１６２９５３号公報（特許文献３）で開示された従来の技術では、１つまたは複数のアナログ入力チャネルのＡ／Ｄ変換を繰り返して行う連続Ａ／Ｄ変換動作モードにおいて変換結果を変換結果レジスタに格納するために、変換結果転送制御回路をＡ／Ｄ変換装置に設けている。
【０００６】
【特許文献１】
特開平６−１４９４７９号公報
【０００７】
【特許文献２】
特開２００２−３１４４１８号公報
【０００８】
【特許文献３】
特開平８−１６２９５３号公報
【０００９】
【発明が解決しようとする課題】
上記のＡ／Ｄ変換装置は、ＣＰＵに負荷をかけることなく複数のアナログ入力チャネルからの信号をＡ／Ｄ変換し、さらに変換結果を所定の場所に格納する上で一定の効果を上げている。
【００１０】
一方、自動車制御システムなどでは機能の多様化が求められ、ＣＰＵの処理速度を向上させてより多くのタスクを実行させるようになってきている。このため、Ａ／Ｄ変換におけるアナログ入力チャネルの選択パターンが増加する傾向にある。しかしながら、従来の技術では複数のビットからなるアナログ入力チャネル番号を多数記憶する大容量のＡ／Ｄ変換テーブルを必要とするので、多数のＡ／Ｄ変換テーブルを内蔵するためにはさらに大容量の記憶手段が必要となる。例えば、アナログ入力チャネル数が２ｎチャネルの場合、アナログ入力チャネル番号はｎビットで、２ｎチャネル分を設定するＡ／Ｄ変換テーブルのビット数は２ｎ×ｎとなる。
【００１１】
また、マイクロコントローラに内蔵されるＡ／Ｄ変換装置は、用途の異なる複数のマイクロコントローラに共通して適用されることが多い。この場合、機能の充実よりも低コストを優先したマイクロコントローラもあるので、基本的な機能のみを有するＡ／Ｄ変換装置を用いることになる。しかしながら、従来の技術ではＡ／Ｄ変換テーブルや変換結果転送制御回路などをＡ／Ｄ変換装置に設ける必要があり、Ａ／Ｄ変換装置の共通化が困難である。
【００１２】
本発明の目的は、従来と同等の記憶容量で各Ａ／Ｄ変換におけるアナログ入力チャネルの選択パターンを増やし、また、基本的な機能のみを有するＡ／Ｄ変換装置を用いてＣＰＵに負荷を与えることなくＡ／Ｄ変換を実行するＡ／Ｄ変換装置およびマイクロコントローラを提供することにある。
【００１３】
【課題を解決するための手段】
上記目的を達成するために、複数のアナログ入力チャネルを備えるＡ／Ｄ変換装置において、各アナログ入力チャネルをＡ／Ｄ変換するかどうかを設定するイネーブルビットとＡ／Ｄ変換の実行回数を設定する複数の回数ビットからなるエントリを１つまたは複数有するＡ／Ｄ変換テーブルを備え、
Ａ／Ｄ変換装置は、Ａ／Ｄ変換が起動されるとそれに対応するエントリを参照してイネーブルビットがセットされているアナログ入力チャネルのＡ／Ｄ変換を回数ビットで設定された回数だけ繰り返し実行する。これにより、各Ａ／Ｄ変換におけるアナログ入力チャネルの組み合わせの設定数を従来よりもより少ない記憶容量で増やすことができる。例えば、アナログ入力チャネル数が２ｎチャネルの場合、従来はアナログ入力チャネル番号はｎビットで、２ｎチャネル分を設定するＡ／Ｄ変換テーブルのビット数は２ｎ×ｎとなるが、本発明によれば１つのエントリが２ｎのイネーブルビットとｎビットの回数ビットの合計２ｎ＋ｎビットで構成されるので、従来のＡ／Ｄ変換テーブルに対して約ｎ倍のアナログ入力チャネルの組み合わせが設定できる。
【００１４】
また、複数のアナログ入力チャネルを備えるＡ／Ｄ変換装置において、複数のＡ／Ｄ変換要求から１つのＡ／Ｄ変換要求を選択する要求選択手段と、複数のＡ／Ｄ変換要求の優先順位を設定する優先順位設定手段とを備え、要求選択手段は、複数のＡ／Ｄ変換要求が同時に発生した場合には優先順位設定手段を参照して優先順位が高いＡ／Ｄ変換要求を選択し、また、Ａ／Ｄ変換中に新たなＡ／Ｄ変換要求が発生した場合には、優先順位設定手段を参照してＡ／Ｄ変換中のＡ／Ｄ変換要求よりも優先順位が高い場合には新たなＡ／Ｄ変換要求を選択する。これにより、複数のＡ／Ｄ変換要求の優先順位を任意に設定できる。
【００１５】
また、複数のアナログ入力チャネルを備えるＡ／Ｄ変換装置において、複数のＡ／Ｄ変換要求から１つのＡ／Ｄ変換要求を選択する要求選択手段と、複数のＡ／Ｄ変換要求の優先順位を設定する優先順位設定手段と、Ａ／Ｄ変換を制御する変換制御手段と、複数のＡ／Ｄ変換要求の各々において変換すべきアナログ入力チャネルを設定する複数のエントリを有するＡ／Ｄ変換テーブルとを備え、要求選択手段は、複数のＡ／Ｄ変換要求が同時に発生した場合には優先順位設定手段を参照して優先順位が高いＡ／Ｄ変換要求を選択し、また、Ａ／Ｄ変換中に新たなＡ／Ｄ変換要求が発生した場合には、優先順位設定手段を参照してＡ／Ｄ変換中のＡ／Ｄ変換要求よりも優先順位が高い場合には新たなＡ／Ｄ変換要求を選択し、変換制御手段は、要求選択手段が選択したＡ／Ｄ変換要求に対応するＡ／Ｄ変換テーブルのエントリを参照してＡ／Ｄ変換を制御し、また、Ａ／Ｄ変換中に要求選択手段が新たなＡ／Ｄ変換要求を選択した場合には、Ａ／Ｄ変換中の実行経過を一時的に退避してＡ／Ｄ変換を中断した後、新たなＡ／Ｄ変換要求のＡ／Ｄ変換を実行し、新たなＡ／Ｄ変換が終了した後、退避した実行経過を戻して中断したＡ／Ｄ変換を再開する。これにより、Ａ／Ｄ変換を実行中にそれよりも緊急を要する新たなＡ／Ｄ変換が要求された場合には直ちに新たなＡ／Ｄ変換を実行することができる。
【００１６】
また、メモリと、複数のアナログ入力チャネルを備えるＡ／Ｄ変換装置と、Ａ／Ｄ変換装置からメモリにＡ／Ｄ変換結果を転送するＤＭＡ転送装置とを有するマイクロコントローラにおいて、ＤＭＡ転送装置は、Ａ／Ｄ変換の対象となるアナログ入力チャネルを設定するＡ／Ｄ変換テーブルを備え、Ａ／Ｄ変換が起動されるとＡ／Ｄ変換テーブルを参照してＡ／Ｄ変換装置のＡ／Ｄ変換を起動し、Ａ／Ｄ変換が終了すると、変換結果をＡ／Ｄ変換装置からメモリに転送する。これにより、基本的な機能のみを有するＡ／Ｄ変換装置を用いてもＣＰＵに負荷を与えることなく任意のＡ／Ｄ変換を実行できる。
【００１７】
また、上記のマイクロコントローラにおいて、Ａ／Ｄ変換装置は、Ａ／Ｄ変換の対象となるアナログ入力チャネルを設定する制御レジスタと、ＤＭＡ転送装置にＤＭＡ転送を要求するＤＭＡ要求信号とを備え、ＤＭＡ転送装置は、Ａ／Ｄ変換装置の制御レジスタにアナログ入力チャネルを設定することによりＡ／Ｄ変換を起動し、Ａ／Ｄ変換後にＡ／Ｄ変換装置がＤＭＡ要求信号を出力するとＤＭＡ転送を開始する。これにより、Ａ／Ｄ変換装置とＤＭＡ転送装置のインタフェースを簡素化できる。
【００１８】
【発明の実施の形態】
次に、図１ないし図９を参照して、本発明にかかる第１の実施例を図面に基づいて説明する。
【００１９】
図１は、第１の実施例における演算処理システムの概略構成を示すブロック図である。
【００２０】
演算処理システム１は、中央演算処理装置（以下、ＣＰＵ）２と、メモリ３と、タイマ４と、Ａ／Ｄ変換装置（以下、Ａ／Ｄ変換装置）５を備えており、それぞれシステムバス６で接続されている。
【００２１】
ＣＰＵ２はシステムバス６を経由してメモリ３、タイマ４、Ａ／Ｄ変換装置５にアクセスできる。
【００２２】
メモリ３には演算処理プログラムやデータを格納する記憶手段であり、ＣＰＵ２によって読み出しと書き込みが行われる。
【００２３】
タイマ４は、所定の周期でＡ／Ｄ変換要求信号（ＡＤＲＥＱｔ）を発生する。周期はＣＰＵ２によって設定される。
【００２４】
Ａ／Ｄ変換装置５は、外部から入力されるアナログ信号をデジタルデータに変換する装置であり、変換制御レジスタ５１と、Ａ／Ｄ変換テーブル５２と、変換結果レジスタ５３と、要求選択回路５４と、変換制御回路５５と、マルチプレクサ５６と、Ａ／Ｄ変換回路５７と、インタフェース回路５８と、外部端子である７チャネルのアナログ入力チャネル（ＡＮ０−ＡＮ７）とを有しており、制御レジスタ５１、Ａ／Ｄ変換テーブル５２、結果レジスタ５３はそれぞれ内部バス５９でインタフェース回路５８に接続されている。なお、本実施例では説明のためにアナログ入力を７チャネルとしているが、本発明は任意のチャネル数に対応できる。
【００２５】
変換制御レジスタ５１は、ＣＰＵ２から書き込みや読み出しが可能であり、ＣＰＵ２からの書き込みによってＡ／Ｄ変換を起動したり、Ａ／Ｄ変換の状態を表示するレジスタである。
【００２６】
Ａ／Ｄ変換テーブル５２は、複数のＡ／Ｄ変換要求のそれぞれに応じて選択するアナログ入力チャネルと変換回数を設定するものであり、ＣＰＵ２によって書き込みや読み出しができる。
【００２７】
変換結果レジスタ５３は、Ａ／Ｄ変換結果を格納するためのものである。
【００２８】
要求選択回路５４は、タイマ４のＡ／Ｄ変換要求信号（ＡＤＲＥＱｔ）と、ＣＰＵ２が変換制御レジスタ５１に所定の値を書き込むことによって発生するＡ／Ｄ変換要求信号（ＡＤＲＥＱｒ）と、外部端子からのＡ／Ｄ変換要求（ＡＤＲＥＱｅ）から１つのＡ／Ｄ変換要求を選択して変換制御回路５５に出力する。複数のＡ／Ｄ変換要求が発生した場合には、変換制御レジスタ５１に設定された優先順位に従ってＡ／Ｄ変換要求を選択する。また、変換制御レジスタ５１の設定に応じて、特定のＡ／Ｄ変換要求を選択しないようにすることもできる。
【００２９】
変換制御回路５５は、要求選択回路５４からＡ／Ｄ変換要求の通知を受けると、そのＡ／Ｄ変換要求に対応する１つまたは複数のアナログ入力チャネルを順次選択してＡ／Ｄ変換を実行し、変換結果を変換結果レジスタ５３の所定のアドレスに格納するように、変換テーブル５２を参照してマルチプレクサ５６とＡ／Ｄ変換回路５７と変換結果レジスタ５３を制御する。
【００３０】
マルチプレクサ５６は、複数のアナログ入力チャネルＡＮ０―ＡＮ７のうち変換制御回路５５が指定したチャネルを選択してＡ／Ｄ変換回路５７に出力する。
【００３１】
Ａ／Ｄ変換回路５７は、変換制御回路５５から指示されたタイミングで、マルチプレクサ５６が選択したアナログ入力チャネルをデジタル値に変換して変換結果レジスタ５３に出力する。
【００３２】
変換結果レジスタ５３は、Ａ／Ｄ変換回路５７が出力した変換結果を、変換制御回路５５から指示された指定されたアドレスに格納する。
【００３３】
インタフェース回路５８は、システムバス６と内部バス５９を接続しており、ＣＰＵ２はインタフェース回路５８を経由して変換制御レジスタ５１、Ａ／Ｄ変換テーブル５２、変換結果レジスタ５３にアクセスできる。
【００３４】
図２は、変換制御レジスタ５１の形式を示す図である。
【００３５】
変換制御レジスタ５１は、Ａ／Ｄ変換要求レジスタ（ＡＤＲＥＱＲ）と、Ａ／Ｄ変換モードレジスタ（ＡＤＭＯＤＲ）と、Ａ／Ｄ変換ステータスレジスタ（ＡＤＳＴＡＲ）と、Ａ／Ｄ変換割込みレジスタ（ＡＤＩＮＴＲ）とを有している。
【００３６】
Ａ／Ｄ変換要求レジスタ（ＡＤＲＥＱＲ）は、Ａ／Ｄ要求ビット（ＡＤＲＱ）を有している。これはＣＰＵ２によってＡ／Ｄ変換を要求するためのものであり、ＣＰＵ２がＡＤＲＱをセットすると、Ａ／Ｄ変換要求信号（ＡＤＲＥＱｒ）を要求選択回路５４に出力し、要求選択回路５４がこのＡ／Ｄ変換要求を選択すると、ＡＤＲＱはクリアされる。
【００３７】
Ａ／Ｄ変換モードレジスタ（ＡＤＭＯＤＲ）は、各Ａ／Ｄ変換要求を有効にするかまたは無効にするかを選択する３つのＡ／Ｄ変換要求イネーブル（ＡＤＲＥｒ、ＡＤＲＥｔ、ＡＤＲＥｅ）と、各Ａ／Ｄ変換要求間の優先度を設定する３ビットのＡ／Ｄ変換優先度セレクタ（ＡＲＢ［２−０］）を有している。
【００３８】
Ａ／Ｄ変換要求イネーブル（ＡＤＲＥｒ、ＡＤＲＥｔ、ＡＤＲＥｅ）はそれぞれ、ＣＰＵ２がＡＤＲＱをセットすることによって要求選択回路５４に入力されるＡ／Ｄ変換要求信号（ＡＤＲＥＱｒ）、タイマ４から要求選択回路５４に入力されるＡ／Ｄ変換要求信号（ＡＤＲＥＱｔ）、外部端子から要求選択回路５４に入力されるＡ／Ｄ変換要求信号（ＡＤＲＥＱｅ）の各々に対応しており、要求選択回路５４は、イネーブルがセットされているとそれに対応するＡ／Ｄ変換要求信号を有効と判断して選択対象とし、イネーブルがクリアされているとそれに対応するＡ／Ｄ変換要求信号を無効と判断して選択対象から除外する。
【００３９】
Ａ／Ｄ変換優先度セレクタ（ＡＲＢ［２−０］）は、０００から１０１までの値のいずれかを設定することにより、ＡＤＲＥＱｒ、ＡＤＲＥＱｔ、ＡＤＲＥＱｅの各Ａ／Ｄ変換要求間の優先順位を選択する。ＡＲＢ［２−０］の各値におけるＡ／Ｄ変換要求間の優先順位は図３の通りとなる。
【００４０】
Ａ／Ｄ変換ステータスレジスタ（ＡＤＳＴＡＲ）は、Ａ／Ｄ変換実行中を示す３つのＡ／Ｄ変換実行フラグ（ＡＤＦｒ、ＡＤＦｔ、ＡＤＦｅ）と、Ａ／Ｄ変換終了を示す３つのＡ／Ｄ変換終了フラグ（ＡＤＥＦｒ、ＡＤＥＦｔ、ＡＤＥＦｅ）とを有している。
【００４１】
Ａ／Ｄ変換実行フラグ（ＡＤＦｒ、ＡＤＦｔ、ＡＤＦｅ）はそれぞれ、ＡＤＲＥＱｒ、ＡＤＲＥＱｔ、ＡＤＲＥＱｅの各々のＡ／Ｄ変換要求によるＡ／Ｄ変換に対応しており、それぞれのＡ／Ｄ変換が開始された時にセットされ、Ａ／Ｄ変換が終了した時にクリアされる。
【００４２】
Ａ／Ｄ変換終了フラグ（ＡＤＥＦｒ、ＡＤＥＦｔ、ＡＤＥＦｅ）はそれぞれ、ＡＤＲＥＱｒ、ＡＤＲＥＱｔ、ＡＤＲＥＱｅの各々のＡ／Ｄ変換要求によるＡ／Ｄ変換に対応しており、それぞれのＡ／Ｄ変換が終了した時にセットされ、ＣＰＵ２からの書き込みによってクリアされる。
【００４３】
Ａ／Ｄ変換インタラプトレジスタ（ＡＤＩＮＴＲ）は、各Ａ／Ｄ変換要求によるＡ／Ｄ変換が全て終了した時にＣＰＵ２に対して割り込み信号（ＩＮＴＡ）を出力するかどうかを選択する３つのＡ／Ｄインタラプトイネーブル（ＡＤＩＥｒ、ＡＤＩＥｔ、ＡＤＩＥｅ）を有している。
【００４４】
Ａ／Ｄインタラプトイネーブル（ＡＤＩＥｒ、ＡＤＩＥｔ、ＡＤＩＥｅ）はそれぞれ、ＡＤＲＥＱｒ、ＡＤＲＥＱｔ、ＡＤＲＥＱｅの各々のＡ／Ｄ変換要求によって実行されるＡ／Ｄ変換に対応しており、変換制御回路５５は、イネーブルがセットされているとＡ／Ｄ変換終了後に割り込みを発生し、イネーブルがクリアされているとＡ／Ｄ変換終了後に割り込みを発生しない。
【００４５】
図４は、Ａ／Ｄ変換テーブル５２の形式を示す図である。
【００４６】
Ａ／Ｄ変換テーブル５２は、３つのエントリ（ＡＤＥＮＴｒ、ＡＤＥＮＴｔ、ＡＤＥＮＴｅ）を有しており、それぞれＡ／Ｄ変換制御レジスタ（ＡＤＣＴＬＲ）書き込みによるＡ／Ｄ変換と、タイマ４のＡ／Ｄ変換要求によるＡ／Ｄ変換と、外部端子ＴＲＧからのＡ／Ｄ変換要求によるＡ／Ｄ変換に対応している。
【００４７】
各エントリは、７チャネルのアナログ入力チャネルのそれぞれに対応する７ビットの変換イネーブルビット（ＡＥ０−ＡＥ７）と、３ビットの変換回数ビット（ＲＥ［２−０］）を有している。
【００４８】
変換イネーブルビット（ＡＥ０−ＡＥ７）はそれぞれ、アナログ入力（ＡＮ０−ＡＮ７）をＡ／Ｄ変換するかどうかを設定するものであり、変換制御回路５５は、要求選択回路５４が選択したＡ／Ｄ変換要求に対応するエントリを読み出し、変換イネーブルビットをＡＥ０、ＡＥ２、ＡＥ３、・・・、ＡＥ７の順序でサーチしながら変換イネーブルビットがセットされているアナログ入力のＡ／Ｄ変換を逐次実行する。
【００４９】
変換回数ビット（ＲＥ［２−０］）は、変換イネーブルビットでセットされているアナログ入力の一連のＡ／Ｄ変換の繰り返し回数を設定するものであり、変換制御回路５５は、変換イネーブルビットをＡＥ０、ＡＥ２、ＡＥ３、・・・、ＡＥ７の順序でサーチしながら変換イネーブルビットがセットされているアナログ入力のＡ／Ｄ変換を逐次実行する動作をＲＥ［２−０］に設定された回数だけ繰り返す。
【００５０】
図５は、変換結果レジスタ５３の形式を示す図である。
【００５１】
変換結果レジスタ５３は、３つの結果データバッファ（ＡＤＢＵＦｒ、ＡＤＢＵＦｔ、ＡＤＢＵＦｅ）を有しており、各結果データバッファはそれぞれＮ個の結果レジスタ（ＡＤＤｘ０−ＡＤＤｘ（Ｎ−１））を有している。３つの結果データバッファ（ＡＤＢＵＦｒ、ＡＤＢＵＦｔ、ＡＤＢＵＦｅ）はそれぞれ、ＣＰＵ２がＡＤＲＱをセットすることによって要求選択回路５４に入力されるＡ／Ｄ変換要求信号（ＡＤＲＥＱｒ）、タイマ４から要求選択回路５４に入力されるＡ／Ｄ変換要求信号（ＡＤＲＥＱｔ）、外部端子から要求選択回路５４に入力されるＡ／Ｄ変換要求信号（ＡＤＲＥＱｅ）の各々のＡ／Ｄ変換要求によるＡ／Ｄ変換に対応し、Ａ／Ｄ変換要求に対応した結果データバッファに変換結果を格納する。なお、デジタルデータを格納する結果レジスタは、アナログ入力チャネル番号に関係なくＡＤＤｘ０、ＡＤＤｘ１、ＡＤＤｘ２、・・・の順序とする。Ａ／Ｄ変換が再び起動されたら、ＡＤＤｘ０から格納することになる。
【００５２】
図６は、変換制御回路５５におけるＡ／Ｄ変換テーブル５２の参照制御を示す状態遷移図である。
【００５３】
要求待ち６０１は、Ａ／Ｄ変換を実行しておらず、Ａ／Ｄ変換要求を待っている状態を示す。
【００５４】
エントリフェッチ６０２は、Ａ／Ｄ変換要求を受けてそれに該当する変換テーブル５２のエントリを読み出している状態を示す。
【００５５】
Ａ／Ｄ変換６０３は、読み出したエントリに基づいてＡ／Ｄ変換を実行している状態である。
【００５６】
実行経過退避６０４は、実行中のＡ／Ｄ変換の実行経過を図示していないバッファまたはＦＩＦＯに退避している状態を示す。
【００５７】
実行経過復帰６０５は、実行経過退避６０４で図示していないバッファまたはＦＩＦＯに退避した実行経過を元に戻している状態を示す。
【００５８】
変換制御回路５５は、最所に要求待ち６０１の状態にあり、要求選択回路５４からＡ／Ｄ変換要求を受けるとエントリフェッチ６０２の状態に遷移して（６１１）、Ａ／Ｄ変換テーブル５２から対応するエントリを読み出す。その後、Ａ／Ｄ変換６０３の状態に遷移して（６１２）Ａ／Ｄ変換を実行し、実行中のＡ／Ｄ変換要求よりも優先度の高いＡ／Ｄ変換要求が発生することなく実行中のＡ／Ｄ変換が終了し、かつ、図示しないバッファまたはＦＩＦＯに実行経過が退避されていなければ要求待ち６０１の状態に遷移する（６１３）。
【００５９】
また、変換制御回路５５は、Ａ／Ｄ変換６０３の状態にある時に実行中のＡ／Ｄ変換要求よりも優先度の高いＡ／Ｄ変換要求が発生した場合、実行経過退避６０４の状態に遷移して（６１４）、実行中のＡ／Ｄ変換の実行経過（どのアナログ入力チャネルまで変換したか、Ａ／Ｄ変換を何回実行したか）を図示しないバッファまたはＦＩＦＯに格納し、優先度の高いＡ／Ｄ変換要求のＡ／Ｄ変換を実行するためにエントリフェッチ６０２の状態に遷移する（６１５）。
【００６０】
また、変換制御回路５５は、Ａ／Ｄ変換６０３の状態で（６１２）Ａ／Ｄ変換を実行し、実行中のＡ／Ｄ変換要求よりも優先度の高いＡ／Ｄ変換要求が発生することなく実行中のＡ／Ｄ変換が終了し、かつ、図示しないバッファまたはＦＩＦＯに実行経過が退避されていれば実行経過復帰６０５の状態に遷移して（６１７）、図示しないバッファまたはＦＩＦＯに退避した実行経過を元に戻し、その後Ａ／Ｄ変換６０３の状態に遷移して（６１７）、中断していたＡ／Ｄ変換を再開する。
【００６１】
以上により、変換制御回路５５は優先度の高いＡ／Ｄ変換要求を待たせることは無く、また、バッファまたはＦＩＦＯに複数の実行経過を退避できるようにすることにより、優先度の低いＡ／Ｄ変換の実行を喪失することはない。
【００６２】
図７は、変換制御回路５５におけるＡ／Ｄ変換制御を示すフローチャート図である。
【００６３】
変換制御回路５５は、Ａ／Ｄ変換要求を受けて変換テーブルから対応するエントリを読み出した後、以下のようにＡ／Ｄ変換を制御する。
【００６４】
先ず、変数ｍにエントリの変換回数ＲＥ［２−０］の値を代入し（７０１）、変数ｎに０を代入する（７０２）。
【００６５】
次に、エントリのＡＥｎに１がセットされているかどうかを判定し（７０３）、ＡＥｎに１がセットされていれば、マルチプレクサ５６にアナログ入力チャネルＡＮｎを選択させ（７０４）、選択したアナログ入力チャネルをＡ／Ｄ変換器５７によってＡ／Ｄ変換し（７０５）、変換結果を変換結果レジスタ５３に格納する（７０６）。一方、ＡＥｎに１がセットされていなければこれらの制御をキャンセルする。
【００６６】
次に、ｎが３１であるかどうか、即ち、最後のＡＥかどうかを判定し（７０７）、ｎが７でなければｎに１を加算して（７１０）、次のアナログ入力チャネルＡＮｎのＡ／Ｄ変換を試みる。一方、ｎが７であればアナログ入力ＡＮ０―ＡＮ７の所望のＡ／Ｄ変換が完了したと判断し、Ａ／Ｄ変換を再度繰り返すかどうを判断する。
【００６７】
Ａ／Ｄ変換の繰り返し判定においては、先ず、変数ｍが０であるかどうかを確認する（７０８）。変数ｍが０、即ち、ＲＥ［２−０］が０である場合には、Ａ／Ｄ変換を無限に繰り返すと判断し、そのまま７０２に戻る。一方、変数ｍが０でなければ、ＲＥ［２−０］で指定された回数に達したかどうかを判定する。これは、アナログ入力ＡＮ０―ＡＮ７の所望のＡ／Ｄ変換を実行した後に変数ｍを減算するので、変数ｍが１であるかどうかで判定できる。変数ｍが１であればＡ／Ｄ変換を終了し、変数ｍが１でなければ７０２に戻る。
【００６８】
なお、上記の制御は論理回路などのハードウェアを用いてパイプライン化することにより高速に処理できる。
【００６９】
図８は、Ａ／Ｄ変換装置５の動作例を示すタイムチャート図である。
【００７０】
ＡＤＲＥＱｒはＣＰＵ２によるＡＤＲＥＱのセットで発生するＡ／Ｄ変換要求、ＡＤＲＥＱｔはタイマ４のＡ／Ｄ変換要求、ＡＤＲＥＱｅは外部端子からのＡ／Ｄ変換要求を示している。要求選択は、要求選択回路５４が変換制御回路５５に出力するＡ／Ｄ変換要求を示している。制御状態は、変換制御回路５５の変換テーブル参照の制御状態を示しており、Ｉは要求待ち状態、Ｆはエントリフェッチ状態、ＣはＡ／Ｄ変換状態、Ｓは実行経過退避状態、Ｒは実行経過復帰状態を示している。Ａ／Ｄ変換はＡ／Ｄ変換の対象となるアナログ入力チャネル番号を示している。ＩＮＴＡは、変換制御回路５５がＣＰＵ２に出力する割込み信号を示している。
【００７１】
ＡＤＲＥＱｒ、ＡＤＲＥＱｔ、ＡＤＲＥＱｅのそれぞれに対応するＡ／Ｄ変換テーブル５２のエントリは図９に示すように設定されているものとする。また、変換制御レジスタ５１のＡＤＭＯＤＲは、ＡＤＲＥｒ、ＡＤＲＥｔ、ＡＤＲＥｅの全てが“１”に、ＡＲＢ［２−０］が“０００”設定されいるものとする。即ち、３つのＡ／Ｄ変換要求はいずれも有効であり、優先順位はＡＤＲＥＱｒ、ＡＤＲＥＱｔ、ＡＤＲＥＱｅとなる。
【００７２】
先ず、要求選択回路５４は、タイマ４からＡＤＲＥＱｔが入力されると、Ａ／Ｄ変換要求ＡＤＲＥＱｔを変換制御回路５５に出力し、変換制御回路５５は、エントリフェッチ状態に遷移してエントリＡＤＥＮＴｔを読み出し、Ａ／Ｄ変換状態に遷移して変換イネーブルがセットされているアナログ入力を順次変換していく。
【００７３】
要求選択回路５４は、Ａ／Ｄ変換の途中で高優先度のＡＤＲＥＱｒが入力されると、このＡ／Ｄ変換要求ＡＤＲＥＱｒを変換制御回路５５に出力する。変換制御回路５５は実行経過退避状態に繊維して１回目のアナログ入力チャネル３まで変換が終わったことをバッファまたはＦＩＦＯに退避し、その後エントリフェッチ状態に遷移してエントリＡＤＥＮＴｒを読み出し、Ａ／Ｄ変換状態に遷移して変換イネーブルがセットされているアナログ入力を順次変換していく。
【００７４】
また、要求選択回路５４は、Ａ／Ｄ変換の途中で低優先度のＡＤＲＥＱｅが入力されると、本要求を内部に保持して他の高優先度のＡ／Ｄ変換が終了した後に変換制御回路５５に出力する。
【００７５】
次に、変換制御回路５５は、エントリＡＤＥＮＴｒのＡ／Ｄ変換が終了すると、要求選択回路５４に変換終了を通知するとともにＣＰＵ２にＩＮＴＡを出力する。要求選択回路５４は、変換終了を受けると、先に出力していたＡＤＲＥＱｔを変換制御回路５５に再び出力する。
【００７６】
変換制御回路５５は、実行経過復帰状態に繊維してエントリＡＤＥＮＴｔのＡ／Ｄ変換の実行経過を元に戻し、Ａ／Ｄ変換状態に遷移してＡＤＲＥＱｔのＡ／Ｄ変換を再開する。
【００７７】
次に、変換制御回路５５は、エントリＡＤＥＮＴｔのＡ／Ｄ変換が終了すると、要求選択回路５４に変換終了を通知するとともにＣＰＵ２に再びＩＮＴＡを出力する。要求選択回路５４は、変換終了を受けると、先に入力されたＡＤＲＥＱｅを変換制御回路５５に出力する。
【００７８】
変換制御回路５５は、エントリフェッチ状態に遷移してエントリＡＤＥＮＴｅを読み出し、Ａ／Ｄ変換状態に遷移して変換イネーブルがセットされているアナログ入力を順次変換していく。
【００７９】
最後に、変換制御回路５５は、エントリＡＤＥＮＴｅのＡ／Ｄ変換が終了すると、要求選択回路５４に変換終了を通知するとともにＣＰＵ２に再びＩＮＴＡを出力し、待ち状態に遷移する。
【００８０】
以上、第１の実施例においては、Ａ／Ｄ変換要求とＡ／Ｄ変換テーブル５２内のエントリの数を３として説明したが、Ａ／Ｄ変換要求とエントリをそれぞれ２以下にしてもよいし４つ以上にしてもよい。また、アナログ入力チャネル数を７チャネルとして説明したが、アナログ入力チャネル数を６チャネル以下にしてもよいし８チャネル以上にしてもよい。
【００８１】
次に、図１０ないし図１６を参照して、本発明にかかる第２の実施例を図面に基づいて説明する。
【００８２】
図１０は、第２の実施例における演算処理システムの概略構成を示すブロック図である。
【００８３】
第２の演算処理システム１０は、中央演算処理装置（以下、ＣＰＵと呼ぶ）２と、メモリ３と、タイマ４と、Ａ／Ｄ変換装置（以下、Ａ／Ｄ変換装置と呼ぶ）５と、ダイレクトメモリアクセス（以下、ＤＭＡと呼ぶ）転送装置７と、バスブリッジ８とを備えており、ＣＰＵ２、メモリ３、ＤＭＡ転送装置７はシステムバス６に接続され、タイマ４、Ａ／Ｄ変換装置５、ＤＭＡ転送装置７は周辺バス９に接続され、システムバス６と周辺バス７はバスブリッジ９によって接続されている。システムバス６はＣＰＵ２とＤＭＡ転送装置７がメモリ３に短時間でアクセスできるよう高速にしており、周辺バス９は多数の周辺モジュールを接続するためにシステムバス６よりも低速にしている。なお、周辺バス７とシステムバス６が同じ速度でも構わない。また、システムバス６や周辺バス７の代わりにスイッチ回路を用いて接続してもよい。
【００８４】
ＣＰＵ２は、システムバス６を経由してメモリ３にアクセスし、また、システムバス６とバスブリッジ８と周辺バス９を経由してタイマ４、Ａ／Ｄ変換装置５、ＤＭＡ転送装置７にアクセスする。
【００８５】
メモリ３は、演算処理プログラムやデータを格納する記憶手段であり、ＣＰＵ２によって読み出しと書き込みが行われ、また、ＤＭＡ転送装置７によってデータの書き込みが行われる。
【００８６】
タイマ４は、所定の周期でＡ／Ｄ変換要求信号（ＡＤＲＥＱｔ）を発生する。周期はＣＰＵ２によって設定される。
【００８７】
Ａ／Ｄ変換装置５は、外部から入力されるアナログ信号をデジタルデータに変換する装置であり、変換制御レジスタ５１と、変換結果レジスタ５３と、変換制御回路５５と、マルチプレクサ５６と、Ａ／Ｄ変換回路５７と、インタフェース回路５８と、外部端子である７チャネルのアナログ入力チャネル（ＡＮ０−ＡＮ７）とを有している。変換制御レジスタ５１、変換結果レジスタ５３はそれぞれ内部バス５９を介してインタフェース回路５８に接続されている。なお、本実施例では説明のためにアナログ入力を７チャネルとしているが、本発明は任意のチャネル数に対応できる。
【００８８】
変換制御レジスタ５１は、Ａ／Ｄ変換の起動やＡ／Ｄ変換の状態表示を行うものであり、ＣＰＵ２とＤＭＡ転送装置７によって書き込みや読み出しができる。ＣＰＵ２とＤＭＡ転送装置７は変換制御レジスタ５１に所定の値を書き込むことによってＡ／Ｄ変換を起動することができ、また、Ａ／Ｄ変換の状態を読み出すことができる。
【００８９】
変換結果レジスタ５３は、Ａ／Ｄ変換結果を格納するためのものである。
【００９０】
変換制御回路５５は、ＣＰＵ２またはＤＭＡ転送装置７による制御レジスタ５１への書き込みでＡ／Ｄ変換が起動されると、変換制御レジスタ５１に設定されたアナログ入力チャネルを選択してＡ／Ｄ変換を実行し、変換結果を変換結果レジスタ５３の所定のアドレスに格納するように、マルチプレクサ５６とＡ／Ｄ変換回路５７と変換結果レジスタ５３を制御する。また、変換制御回路５５は、Ａ／Ｄ変換が終了すると、ＤＭＡ転送装置７にＤＭＡ転送要求信号（ＤＲＥＱ）を出力し、ＤＭＡ転送装置７からＤＭＡ要求受理信号（ＤＲＡＣＫ）を受信すると、ＤＲＥＱの出力を解除する。
【００９１】
マルチプレクサ５６は、複数のアナログ入力チャネルＡＮ０―ＡＮ７のうち変換制御回路５５が指定したチャネルを選択してＡ／Ｄ変換回路５７に出力する。
【００９２】
Ａ／Ｄ変換回路５７は、変換制御回路５５から指示されたタイミングで、マルチプレクサ５６が選択したアナログ入力チャネルをデジタル値に変換して変換結果レジスタ５３に出力する。
【００９３】
変換結果レジスタ５３は、Ａ／Ｄ変換回路５７が出力した変換結果を、変換制御回路５５から指示された指定されたアドレスに格納する。
【００９４】
インタフェース回路５８は、周辺バス９と内部バス５９を接続しており、ＣＰＵ２やＤＭＡ転送装置７はインタフェース回路５８を経由して変換制御レジスタ５１と変換結果レジスタ５３にアクセスできる。
【００９５】
ＤＭＡ転送装置７は、Ａ／Ｄ変換結果をＡ／Ｄ変換装置５からメモリ３に転送する装置であり、転送制御レジスタ７１と、Ａ／Ｄ変換テーブル７２と、転送データバッファ７３と、要求選択回路７４と、ＤＭＡ制御回路７５と、システムバスインタフェース回路７６と、周辺バスインタフェース回路７７とを有しており、転送制御レジスタ７１、Ａ／Ｄ変換テーブル７２、転送データバッファ７３はそれぞれ内部バス７８を介して周辺バスインタフェース回路７７に接続され、また、転送データバッファ７３はシステムバスインタフェース回路７６にも接続されている。
【００９６】
一般的に、Ａ／Ｄ変換装置５のような周辺装置からメモリ３のような記憶装置への直接的なデータ転送をダイナミックメモリアクセス（ＤＭＡ）転送と呼ぶ。ＤＭＡ転送はＣＰＵを介さないので、ＣＰＵの処理負荷を削減することができる。
【００９７】
転送制御レジスタ７１は、ＤＭＡ転送を制御するために必要な情報の設定やＤＭＡ転送の状態表示、さらには、Ａ／Ｄ変換要求を行うものであり、ＣＰＵ２によって書き込みや読み出しができる。ＣＰＵ２は転送制御レジスタ７１に所定の値を書き込むことによってＡ／Ｄ変換要求信号（ＡＤＲＥＱｒ）を出力することができる。
【００９８】
Ａ／Ｄ変換テーブル７２は、複数のＡ／Ｄ変換要求のそれぞれに応じて選択するアナログ入力チャネルと変換回数を設定するものであり、ＣＰＵ２によって書き込みや読み出しができる。
【００９９】
転送データバッファ７３は、Ａ／Ｄ変換装置５の変換結果レジスタ５３からメモリ３に変換結果を転送する時に、変換結果を一時的に格納するバッファである。
【０１００】
要求選択回路７４は、タイマ４のＡ／Ｄ変換要求信号（ＡＤＲＥＱｔ）と、ＣＰＵ２が転送制御レジスタ７１に所定の値を書き込むことによって発生するＡ／Ｄ変換要求信号（ＡＤＲＥＱｒ）と、外部端子からのＡ／Ｄ変換要求（ＡＤＲＥＱｅ）から１つのＡ／Ｄ変換要求を選択してＤＭＡ制御回路７５に出力する。複数のＡ／Ｄ変換要求が発生した場合には、転送制御レジスタ７１に設定された優先度に従ってＡ／Ｄ変換要求を選択する。また、転送制御レジスタ７１の設定に応じて、特定のＡ／Ｄ変換要求を選択しないようにすることもできる。
【０１０１】
ＤＭＡ制御回路７５は、要求選択回路７４からＡ／Ｄ変換要求が出力されると、Ａ／Ｄ変換テーブル７２を参照してそのＡ／Ｄ変換要求に対応するアナログ入力チャネルのＡ／Ｄ変換をＡ／Ｄ変換装置５に逐次要求し、Ａ／Ｄ変換終了後に変換結果レジスタ５３から変換結果を読み出してメモリ３にＤＭＡ転送する。Ａ／Ｄ変換テーブル７２の参照制御は、図６で説明した第１の実施形態のＡ／Ｄ変換制御回路５５におけるＡ／Ｄ変換テーブル５２の参照制御と同じである。
【０１０２】
なお、ＤＭＡ制御回路７５は、Ａ／Ｄ変換装置５の変換制御レジスタ５１にアナログ入力チャネル番号を書き込むことによってＡ／Ｄ変換を起動する。
【０１０３】
また、ＤＭＡ制御回路７５は、Ａ／Ｄ変換装置５の変換制御回路５５からＤＲＥＱを受信すると、ＤＲＡＣＫを出力して変換データのＤＭＡ転送を開始する。
【０１０４】
図１１は、変換制御レジスタ５１の形式を示す図である。
【０１０５】
変換制御レジスタ５１は、Ａ／Ｄ変換ステータスレジスタ（ＡＤＳＴＡＲ）と、Ａ／Ｄ変換制御レジスタ（ＡＤＣＴＬＲ）とを有している。
【０１０６】
Ａ／Ｄ変換ステータスレジスタ（ＡＤＳＴＡＲ）は、Ａ／Ｄ変換実行中を示すＡ／Ｄ変換実行フラグ（ＡＤＦ）と、Ａ／Ｄ変換終了を示すＡ／Ｄ変換終了フラグ（ＡＤＥＦ）とを有している。
【０１０７】
Ａ／Ｄ変換実行フラグ（ＡＤＦ）は、Ａ／Ｄ変換が開始された時にセットされ、Ａ／Ｄ変換が終了した時にクリアされる。
【０１０８】
Ａ／Ｄ変換終了フラグ（ＡＤＥＦ）は、Ａ／Ｄ変換が終了した時にセットされ、ＣＰＵ２からの書き込みまたはＤＭＡ制御回路７５からのＤＲＡＣＫ出力によってクリアされる。
【０１０９】
Ａ／Ｄ変換制御レジスタ（ＡＤＣＴＬＲ）は、Ａ／Ｄスタート（ＡＤＳＴ）と、３ビットのチャネルセレクト（ＣＨ［２−０］）を有している。これらはＣＰＵ２またはＤＭＡ転送装置７によってＡ／Ｄ変換を起動するためのものであり、ＣＰＵ２またはＤＭＡ転送装置７がＡＤＳＴをセットすると、Ａ／Ｄ変換を開始し、Ａ／Ｄ変換が終了するとクリアされる。
【０１１０】
図１２は、転送制御レジスタ７１の形式を示す図である。
【０１１１】
転送制御レジスタ７１は、Ａ／Ｄ変換要求レジスタ（ＡＤＲＥＱＲ）と、Ａ／Ｄ変換モードレジスタ（ＡＤＭＯＤＲ）と、ＤＭＡステータスレジスタ（ＤＭＳＴＡＲ）と、ＤＭＡインタラプトレジスタ（ＤＭＩＮＴＲ）と、ＤＭＡ転送先アドレスレジスタ（ＤＭＡＲＨｒ、ＤＭＡＲＬｒ、ＤＭＡＲＨｔ、ＤＭＡＲＬｔ、ＤＭＡＲＨｅ、ＤＭＡＲＬｅ）とを有している。
【０１１２】
Ａ／Ｄ変換要求レジスタ（ＡＤＲＥＱＲ）は、Ａ／Ｄ要求ビット（ＡＤＲＱ）を有している。これはＣＰＵ２によってＡ／Ｄ変換を要求するためのものであり、ＣＰＵ２がＡＤＲＱをセットすると、Ａ／Ｄ変換要求信号（ＡＤＲＥＱｒ）を要求選択回路７４に出力し、要求選択回路５４がこのＡ／Ｄ変換要求を選択すると、ＡＤＲＱはクリアされる。
【０１１３】
Ａ／Ｄ変換モードレジスタ（ＡＤＭＯＤＲ）は、各Ａ／Ｄ変換要求を有効にするかまたは無効にするかを選択する３つのＡ／Ｄ変換要求イネーブル（ＡＤＲＥｒ、ＡＤＲＥｔ、ＡＤＲＥｅ）と、各Ａ／Ｄ変換要求間の優先度を設定する３ビットのＡ／Ｄ変換優先度セレクタ（ＡＲＢ［２−０］）を有している。
【０１１４】
Ａ／Ｄ変換要求イネーブル（ＡＤＲＥｒ、ＡＤＲＥｔ、ＡＤＲＥｅ）はそれぞれ、ＣＰＵ２がＡＤＲＱをセットすることによって要求選択回路７４に入力されるＡ／Ｄ変換要求信号（ＡＤＲＥＱｒ）、タイマ４から要求選択回路７４に入力されるＡ／Ｄ変換要求信号（ＡＤＲＥＱｔ）、外部端子から要求選択回路７４に入力されるＡ／Ｄ変換要求信号（ＡＤＲＥＱｅ）の各々に対応しており、要求選択回路７４は、イネーブルがセットされているとそれに対応するＡ／Ｄ変換要求信号を有効と判断して選択対象とし、イネーブルがクリアされているとそれに対応するＡ／Ｄ変換要求信号を無効と判断して選択対象から除外する。
【０１１５】
Ａ／Ｄ変換優先度セレクタ（ＡＲＢ［２−０］）は、０００から１０１までの値のいずれかを設定することにより、ＡＤＲＥＱｒ、ＡＤＲＥＱｔ、ＡＤＲＥＱｅの各Ａ／Ｄ変換要求間の優先度を選択する。ＡＲＢ［２−０］の各値におけるＡ／Ｄ変換要求間の優先度は、第１の実施例と同様に図３の通りとなる。
【０１１６】
ＤＭＡステータスレジスタ（ＤＭＳＴＡＲ）は、ＤＭＡ転送の終了を示す３つのＤＭＡ終了フラグ（ＤＭＥＦｒ、ＤＭＥＦｔ、ＤＭＥＦｅ）を有している。
【０１１７】
ＤＭＡ終了フラグ（ＤＭＥＦｒ、ＤＭＥＦｔ、ＤＭＥＦｅ）はそれぞれ、ＡＤＲＥＱｒ、ＡＤＲＥＱｔ、ＡＤＲＥＱｅの各々のＡ／Ｄ変換要求によるＡ／Ｄ変換およびＤＭＡ転送に対応しており、各々のＡ／Ｄ変換およびＤＭＡ転送が終了した時にセットされ、ＣＰＵ２からの書き込みによってクリアされる。
【０１１８】
ＤＭＡインタラプトレジスタ（ＤＭＩＮＴＲ）は、各Ａ／Ｄ変換要求によるＡ／Ｄ変換およびＤＭＡ転送が全て終了した時にＣＰＵ２に対して割り込み信号（ＩＮＴＤ）を出力するかどうかを選択する３つのＤＭＡインタラプトイネーブル（ＤＭＩＥｒ、ＤＭＩＥｔ、ＤＭＩＥｅ）を有している。
【０１１９】
ＤＭＡインタラプトイネーブル（ＤＭＩＥｒ、ＤＭＩＥｔ、ＤＭＩＥｅ）はそれぞれ、ＡＤＲＥＱｒ、ＡＤＲＥＱｔ、ＡＤＲＥＱｅの各々のＡ／Ｄ変換要求によって実行されるＡ／Ｄ変換およびＤＭＡ転送に対応しており、ＤＭＡ制御回路７５は、対応するイネーブルがセットされているとＡ／Ｄ変換およびＤＭＡ転送の終了後に割り込み信号（ＩＮＴＤ）を出力し、対応するイネーブルがクリアされているとＡ／Ｄ変換およびＤＭＡ転送の終了後に割り込み信号（ＩＮＴＤ）を出力しない。
【０１２０】
ＤＭＡ転送先アドレスレジスタ（ＤＭＡＲＨｒ、ＤＭＡＲＬｒ）はそれぞれ、ＡＤＲＥＱｒによるＡ／Ｄ変換およびＤＭＡ転送に対応しており、ＡＤＲＥＱｒによるＡ／Ｄ変換データをメモリ３に転送する際の先頭アドレスの上位１６ビットと下位１６ビットを設定する。ＤＭＡ制御回路７５は、ＡＤＲＥＱｒによるＡ／Ｄ変換で得られる１つないし２つ以上の変換データを、メモリ３のアドレスＡＲｒ［３１−０］を先頭とする領域に転送する。
【０１２１】
ＤＭＡ転送先アドレスレジスタ（ＤＭＡＲＨｔ、ＤＭＡＲＬｔ）はそれぞれ、ＡＤＲＥＱｔによるＡ／Ｄ変換およびＤＭＡ転送に対応しており、ＡＤＲＥＱｔによるＡ／Ｄ変換データをメモリ３に転送する際の先頭アドレスの上位１６ビットと下位１６ビットを設定する。ＤＭＡ制御回路７５は、ＡＤＲＥＱｔによるＡ／Ｄ変換で得られる１つないし２つ以上の変換データを、メモリ３のアドレスＡＲｔ［３１−０］を先頭とする領域に転送する。
【０１２２】
ＤＭＡ転送先アドレスレジスタ（ＤＭＡＲＨｅ、ＤＭＡＲＬｅ）はそれぞれ、ＡＤＲＥＱｅによるＡ／Ｄ変換およびＤＭＡ転送に対応しており、ＡＤＲＥＱｅによるＡ／Ｄ変換データをメモリ３に転送する際の先頭アドレスの上位１６ビットと下位１６ビットを設定する。ＤＭＡ制御回路７５は、ＡＤＲＥＱｅによるＡ／Ｄ変換で得られる１つないし２つ以上の変換データを、メモリ３のアドレスＡＲｅ［３１−０］を先頭とする領域に転送する。
【０１２３】
図１３は、変換結果レジスタ５３の形式を示す図である。
【０１２４】
変換結果レジスタ５３は、７ワードの記憶領域（ＡＤＤ０−ＡＤＤ７）を有している。各ワードはそれぞれ、アナログ入力チャネル（ＡＮ０−７）に対応しており、各アナログ入力チャネルの変換結果はそれに対応する変換結果レジスタに格納される。また、変換結果レジスタ５３の先頭アドレスを“ａ”とした場合、各ワードＡＤＤ０、ＡＤＤ１、ＡＤＤ２、・・・、ＡＤＤ７のアドレスはそれぞれ“ａ”、“ａ＋１”  、“ａ＋２”  、・・・、“ａ＋７”  、となる。
【０１２５】
図１４は、ＤＭＡ制御回路７５におけるＡ／Ｄ変換起動およびＤＭＡ転送の制御を示すフローチャート図である。
【０１２６】
ＤＭＡ制御回路７５は、要求選択回路７４からＡ／Ｄ変換要求を受けてＡ／Ｄ変換テーブル７２から対応するエントリを読み出した後、以下のようにＡ／Ｄ変換起動とＤＭＡ転送を制御する。
【０１２７】
先ず、変数ｍにエントリの変換回数ＲＥ［２−０］の値を代入し（１４０１）、変数ｎに０を代入する（１４０２）。
【０１２８】
次に、エントリのＡＥｎに１がセットされているかどうかを判定し（１４０３）、ＡＥｎに１がセットされていれば、Ａ／Ｄ変換制御レジスタ（ＡＤＣＴＬＲ）のＡＤＳＴをセットして、かつ、ＣＨ［４−０］にｎ（ＡＥｎに対応するアナログ入力チャネル番号）を設定してＡ／Ｄ変換を起動し（１４０４）、その後、Ａ／Ｄ変換制御回路がＤＲＥＱ信号を出力するまで待つ（１４０５）。
【０１２９】
Ａ／Ｄ変換制御回路がＤＲＥＱ信号を出力すると、ＤＭＡ制御回路７５はＤＲＡＣＫ信号を出力し（１４０６）、変換結果のＤＭＡ転送を実行する（１４０７）。
【０１３０】
本ＤＭＡ転送においては、変換結果レジスタ５３の先頭アドレスにアナログ入力チャネル番号を加算したアドレスを転送元のワードアドレス、転送制御レジスタ７１のＤＭＡ転送先アドレスレジスタにアナログ入力チャネル番号を加算したアドレスを転送先のワードアドレスとする。あるいは、転送制御レジスタ７１のＤＭＡ転送先アドレスレジスタを順次インクリメントしたアドレスを転送先のワードアドレスとしてもよい。
【０１３１】
一方、１４０３においてＡＥｎに１がセットされていなければこれらの制御をキャンセルする。
【０１３２】
次に、ｎが７であるかどうか、即ち、最後のＡＥかどうかを判定し（１４０８）、ｎが７でなければｎに１を加算して（１４１１）、次のアナログ入力チャネルＡＮｎのＡ／Ｄ変換を試みる。一方、ｎが７であればアナログ入力ＡＮ０―ＡＮ７の所望のＡ／Ｄ変換が完了したと判断し、Ａ／Ｄ変換を再度繰り返すかどうを判断する。
【０１３３】
Ａ／Ｄ変換の繰り返し判定においては、先ず、変数ｍが０であるかどうかを確認する（１４０９）。変数ｍが０、即ち、ＲＥ［２−０］が０である場合には、Ａ／Ｄ変換を無限に繰り返すと判断し、そのまま１４０２に戻る。一方、変数ｍが０でなければ、ＲＥ［２−０］で指定された回数に達したかどうかを判定する（１４１０）。これは、アナログ入力ＡＮ０―ＡＮ７の所望のＡ／Ｄ変換を実行した後に変数ｍを減算するので、変数ｍが１であるかどうかで判定できる。変数ｍが１であればＡ／Ｄ変換を終了し、変数ｍが１でなければ１４０２に戻る。
【０１３４】
なお、上記の制御は論理回路などのハードウェアを用いてパイプライン化することにより高速に処理できる。
【０１３５】
図１５は、ＤＭＡ転送装置７によるＡ／Ｄ変換結果のＤＭＡ転送の動作例を示すタイムチャート図である。本図では、アナログ入力チャネルＡＮ１、ＡＮ２、ＡＮ３の３チャネルのＡ／Ｄ変換を実行し、変換結果をメモリ３にＤＭＡ転送する動作を示している。
【０１３６】
ＡＤＣＴＬＲ書き込みは、ＤＭＡ転送装置７がＡ／Ｄ変換装置５のＡ／Ｄ変換を起動するために行う変換制御レジスタ５１のＡＤＣＴＬＲへの書き込みを示し、Ａ／Ｄ変換は、ＤＭＡ転送装置７のＡＤＣＴＬＲ書き込みによって起動されたＡ／Ｄ変換装置５のＡ／Ｄ変換を示している。また、ＤＭＡ転送、Ｉは要求待ち状態、Ｆはエントリフェッチ状態、ＣはＡ／Ｄ変換状態、Ｓは実行経過退避状態、Ｒは実行経過復帰状態を示している。また、Ａ／Ｄ変換はＡ／Ｄ変換の対象となるアナログ入力チャネル番号を示している。
【０１３７】
ＤＭＡ転送装置７は、Ａ／Ｄ変換要求が発生するとそれに対応するＡ／Ｄ変換テーブル７２のエントリを参照し、ＡＤＣＴＬＲのＣＨ［２−０］にアナログ入力チャネルＡＮ１のチャネル番号を書き込むとともにＡＤＲＥＱをセットする。
【０１３８】
Ａ／Ｄ変換装置５は、ＡＤＣＴＬＲのＡＤＲＥＱがセットされるとＣＨ［２−０］に設定されたアナログ入力チャネルＡＮ１を選択してＡ／Ｄ変換を行い、変換結果を変換結果レジスタ５３に格納してＤＲＥＱを出力する。
【０１３９】
ＤＭＡ転送装置７は、ＤＲＥＱが出力されるとＤＲＡＣＫを出力し、ＡＤＣＴＬＲのＣＨ［２−０］にアナログ入力チャネルＡＮ２のチャネル番号を書き込むとともにＡＤＲＥＱをセットする。また、変換結果レジスタ５３からアナログ入力チャネルＡＮ１の変換結果を読み出して転送バッファ７３に格納する。
【０１４０】
ＤＭＡ転送装置７は、上記の動作をアナログ入力チャネルＡＮ３まで実行した後、転送バッファ７３に格納されたアナログ入力チャネルＡＮ１、ＡＮ２、ＡＮ３の変換結果をメモリ３に転送し、その後ＣＰＵ２にＩＮＴＤを出力する。
【０１４１】
なお、上記の動作では、ＤＭＡ転送装置７は全てのアナログ入力チャネルの変換結果を転送バッファ７３に格納した後にメモリ３に転送しているが、各アナログ入力チャネルの変換結果を転送バッファ７３に格納する毎にメモリ３に転送してもよい。
【０１４２】
以上、第２の実施例においては、Ａ／Ｄ変換要求とＡ／Ｄ変換テーブル７２内のエントリの数を３として説明したが、Ａ／Ｄ変換要求とエントリをそれぞれ２以下にしてもよいし４つ以上にしてもよい。また、アナログ入力チャネル数を７チャネルとして説明したが、アナログ入力チャネル数を６チャネル以下にしてもよいし８チャネル以上にしてもよい。
【０１４３】
【発明の効果】
各アナログ入力チャネルをＡ／Ｄ変換するかどうかを設定するイネーブルビットとＡ／Ｄ変換の実行回数を設定する複数の回数ビットからなるエントリを１つまたは複数有するＡ／Ｄ変換テーブルを用いており、１つのエントリが２ｎのイネーブルビットとｎビットの回数ビットの合計２ｎ＋ｎビットで構成されるので、従来のＡ／Ｄ変換テーブルに対して同程度の記憶容量で約ｎ倍のアナログ入力チャネルの組み合わせが設定できる。
【０１４４】
また、ＤＭＡ転送装置にＡ／Ｄ変換の対象となるアナログ入力チャネルを設定するＡ／Ｄ変換テーブルを備え、これを参照してＡ／Ｄ変換装置のＡ／Ｄ変換を起動し、変換結果をメモリにＤＭＡ転送することにより、基本的な機能のみを有するＡ／Ｄ変換装置を用いてもＣＰＵに負荷を与えることなく任意のＡ／Ｄ変換を実行できる。
【図面の簡単な説明】
【図１】第１の実施例における演算処理システムの概略構成を示す図である。
【図２】変換制御レジスタの形式を示す図である。
【図３】ＡＲＢ［２−０］の各値におけるＡ／Ｄ変換要求間の優先順位を示す図である。
【図４】Ａ／Ｄ変換テーブルの形式を示す図である。
【図５】変換結果レジスタの形式を示す図である。
【図６】変換制御回路におけるＡ／Ｄ変換テーブルの参照制御を示す状態遷移を示す図である。
【図７】変換制御回路におけるＡ／Ｄ変換制御を示すフローチャートである。
【図８】Ａ／Ｄ変換装置の動作例を示すタイムチャートである。
【図９】Ａ／Ｄ変換テーブルのエントリの設定例を示す図である。
【図１０】第２の実施例における演算処理システムの概略構成を示すブロック図である。
【図１１】変換制御レジスタの形式を示す図である。
【図１２】転送制御レジスタの形式を示す図である。
【図１３】変換結果レジスタの形式を示す図である。
【図１４】ＤＭＡ制御回路におけるＡ／Ｄ変換起動およびＤＭＡ転送の制御を示すフローチャートである。
【図１５】ＤＭＡ転送装置によるＡ／Ｄ変換結果のＤＭＡ転送の動作例を示すタイムチャートである。
【符号の説明】
１…演算処理システム、２…ＣＰＵ、３…メモリ、４…タイマ、５…Ａ／Ｄ変換装置、６…システムバス。
【図１】
2005057374.tif 000003
【図２】
2005057374.tif 000004
【図３】
2005057374.tif 000005
【図４】
2005057374.tif 000006
【図５】
2005057374.tif 000007
【図６】
2005057374.tif 000008
【図７】
2005057374.tif 000009
【図８】
2005057374.tif 000010
【図９】
2005057374.tif 000011
【図１０】
2005057374.tif 000012
【図１１】
2005057374.tif 000013
【図１２】
2005057374.tif 000014
【図１３】
2005057374.tif 000015
【図１４】
2005057374.tif 000016
【図１５】
2005057374.tif 000017