(57)【特許請求の範囲】
【請求項１】
複数のアナログ入力端子から入力されたアナログ信号の一部又は全部からなる複数のアナログ入力信号をそれぞれ取り込む複数のサンプルホールド回路と、
かかる複数のサンプルホールド回路に対してサンプリング動作の指示を行うコントロールロジックと、
上記サンプルホールド回路に取り込まれたアナログ信号を逐次ディジタル信号に変換するＡ／Ｄ変換部とを備えたＡ／Ｄ変換器と、
上記Ａ／Ｄ変換回路と内部バスを介して接続された中央処理装置とを備えた半導体集積回路装置であって、
上記Ａ／Ｄ変換回路は、 上記第１のサンプルホールド回路に保持された第１の入力アナログ信号と第１基準電圧とを比較する第１コンパレータアレイと、かかる第１コンパレータアレイの出力に対応した２進値信号が入力される第１逐次比較レジスタと、かかる第１逐次比較レジスタの出力に対応したアナログ電圧に変換して上記第１基準電圧を形成する第１Ｄ／Ａ変換部と、
上記第２のサンプルホールド回路に保持された第２の入力アナログ信号と第２基準電圧とを比較する第２コンパレータアレイと、かかる第２コンパレータアレイの出力に対応した２進値信号が入力される第２逐次比較レジスタと、かかる第２逐次比較レジスタの出力に対応したアナログ電圧に変換して上記第２基準電圧を形成する第２Ｄ／Ａ変換部と、
それらのコントロールロジックとを備え
上記半導体集積回路装置は、
第１の入力信号を第１のサンプルホールド回路がサンプリングを行う第１動作と、
上記第１動作により第１のサンプルホールド回路に取り込まれた第１の入力信号を上記第１コンパレータアレイを用いてディジタル信号に変換する動作と並行して第２の入力信号を第２のサンプルホールド回路がサンプリング動作を行う第２動作と、
上記第２動作により第２のサンプルホールド回路に取り込まれた第２の入力信号を上記第２コンパレータアレイを用いてディジタル信号に変換する動作と並行して第３の入力信号を第１のサンプリングホールド回路がサンプリング動作を行う第３動作と、
上記第３動作により第１のサンプルホールド回路に取り込まれた第３の入力信号を上記第１コンパレータアレイを用いてディジタル信号に変換する第４動作とを、
順次に行うことが可能な第１モードと、
第１のサンプルホールド回路と第２のサンプルホールド回路とが同時に第１と第２の入力信号のサンプリング動作を行う第５動作と、
上記第５動作により第１のサンプルホールド回路に取り込まれた第１の入力信号を上記第１コンパレータアレイを用いてディジタル信号に変換する第６動作と、
上記第５動作により第２のサンプルホールド回路に取り込まれた第２の入力信号を上記第２コンパレータアレイを用いてディジタル信号に変換する第７動作とを、
順次に行うことが可能な第２モードを有し、
上記基準電圧は、上位、中位及び下位の基準電圧生成回路により形成され、
上位基準電圧生成回路の出力間電圧は、中位基準電圧生成回路を構成する局所分圧回路の基準電圧とし、
かかる中位基準電圧生成回路の出力間電圧は、下位基準電圧生成回路を構成する局所分圧回路の基準電圧とするものであり、
上記第１と第２のサンプルホールド回路は、上記上位基準電圧生成回路の出力によって特定のサブレンジ領域に取り込んだ入力信号をレベルシフトさせるレベルシフト回路を備え、
上記第１、第２コンパレータアレイは、それぞれ複数の比較器と選択回路とを有し、複数の比較器は上記サンプリングホールド回路の出力と選択回路が出力する上位、中位及び下位に対応したディジタル値に対応した複数の基準電圧とを比較するものであり、
上記第１、第２コンパレータアレイの比較器の出力信号は２進信号に変換されて上記第１、第２逐次比較レジスタに格納され、かかる第１、第２逐次比較レジスタの内容に従って中間基準電圧生成回路から下位基準電圧生成回路に供給される出力間電圧が選択されるものであることを特徴とする半導体集積回路装置。
【請求項２】
請求項１において、
上記コントロールロジックは、上記複数のサンプルホールド回路に対して同時にサンプリング動作を指示するか、複数のアナログ入力信号の連続したサンプリング動作とそのディジタル変換動作を指示するかを指定する指定ビットを備えた制御レジスタによりその動作モードが制御され、
上記制御レジスタの指定ビットは、上記中央処理装置から書込まれるものであることを特徴とする半導体集積回路装置。
【請求項３】
請求項１において、
上記コントロールロジックは、上記第１モードで動作することを指示するための第１指定ビットを含む制御レジスタを有し、
上記制御レジスタは、上記中央処理装置から書込まれることを特徴とする半導体集積回路装置。
【請求項４】
請求項１乃至３の何れか１つにおいて、
上記Ａ／Ｄ変換器の変換結果は、データレジスタに格納されるものであり、かかるデータレジスタに空きが無いことを検出して、かかる状態を外部に出力させる手段が設けられるものであることを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、半導体集積回路装置と制御システムに関し、特にアナログ／ディジタル変換回路内蔵のシングルチップのマイクロコンピュータとそれを用いた制御システムに利用して有効な技術に関するものである。
【０００２】
【従来の技術】
シングルチップのマイクロコンピュータは、昭和５９年１１月３０日オーム社発行の「ＬＳＩハンドブック」第５４０頁〜第５４１頁に記載されているように、中央処理装置（ＣＰＵ）を中心にしてプログラム保持用のＲＯＭ（リード・オンリー・メモリ）、データ保持用のＲＡＭ（ランダム・アクセス・メモリ）、及びデータの入出力を行うための入出力回路などの機能ブロックが１つの半導体基板上に形成されてなる。かかる入出力回路にはＡ／Ｄ（アナログ／ディジタル）変換回路も含まれる。Ａ／Ｄ変換回路を内蔵したシングルチップマイクロコンピュータの例としては、平成５年３月（株）日立製作所発行「Ｈ８／３００３  ハードウェアマニュアル」がある。
【０００３】
高速のＡ／Ｄ変換回路の例としては、特開昭６０−１２４１２５号公報、特開平２−１２６７２６号公報等があり、サンプリングホールド回路を複数持ち、共通のＡ／Ｄ変換回路とパイプライン（前回のサンプンリグした結果の変換と次のサンプリングを同時に行う、換言すれば、サンプリング回路が交互に動作する）をさせることによって高速化を実現している。また、サブレンジ方式のＡ／Ｄ変換方式としては、例えば特開平４−１７６２１５号公報があり、部分的なフラッシュ変換を行うことにより、回路規模をさほど増加させずに高速化を実現している。
【０００４】
【発明が解決しようとする課題】
シングルチップマイクロコンピュータに内蔵されたＡ／Ｄ変換回路に設けられた複数のアナログ入力チャンネルは、それが用いられるシステムによってそれぞれ異なる。例えば、モータを制御する場合には、モータ駆動電流を電圧変換した値を入力する。モータの制御が３相であれば、アナログ入力は３乃至６チャンネルとなる。電流値の検出を２相のみでよいならば２チャンネルでよい。上記のシステムにおいて、雰囲気温度やモータの温度などをアナログ入力することが必要である。モータの駆動を内蔵のタイマ出力で行うとすれば、かかる駆動電流の測定は、タイマの所望のタイミングから短時間に行うことが望ましい。３相目の電流値を計算により求めるようにすると、測定対象の２相の電流値を、同時点のアナログ値が得られるようにすること、つまり同時サンプリングを行うことが望ましい。Ａ／Ｄ変換動作の高速化や複数のアナログ入力を同時に得ることによってタイマの所定のタイミングでの、より正確な電流値を得ることができ、ひいてはモータの駆動制御の精度を向上させることができる。これに対して、雰囲気温度やモータの温度などの検出頻度は低くてよく、かつ、モータの駆動タイミングとは独立したタイミングでよい。
【０００５】
入力するアナログ値によって必要な分解能が異なる場合が多い。例えば、上記のモータ駆動電流は１０ビット分解能が必要であるが、雰囲気温度などは８ビット分解能でも十分である場合が多い。上記のＡ／Ｄ変換回路内蔵のシングルチップマイクロコンピュータの例では、変換結果が上位詰めになっているため、８ビット分解能を得る場合には上位バイトのみを読み出せばよい。１０ビット分解能が必要な場合には２バイトをリードすればよい。しかしながら、１０ビットのＡ／Ｄ変換の結果を、他の例えば１０ビットのデータと処理する場合には、いずれかを６ビットシフトしなければならない。このようなデータビットのシフトの処理をソフトウェアにより行うようにすると、その負担はかならずしも無視できるものではない。
【０００６】
Ａ／Ｄ変換動作の起動要因として、ソフトウェアによる起動、及び外部トリガ端子による起動を選択できるようにする事が便利である。また、汎用性を持たせるためには、タイマのコンペアマッチでも起動することが便利となる。例えば、タイマのコンペアマッチによる波形出力によって、モータを制御する場合には、かかるコンペアマッチを利用して同時にモータの駆動電流をモニタするような場合に有効となる。変換モードとしては、１回だけの変換を行うモードと繰り返して変換を行うモード、あるいは１チャンネルの変換を行うモードと、複数のチャンネルを連続して変換するモードなどが考えられる。
【０００７】
かかる複数からなる入力チャンネル、起動要因、及び変換モードを有する場合、マイクロコンピュータを用いたシステムにおていは、これらの入力チャンネル、起動要因及び変換モードが相互に関連していることになる。例えば、上記のモータの例では、モータ駆動電流を電圧変換した値を入力するチャンネル値は、タイマのコンペアマッチで起動され、複数の各チャンネルに供給される入力アナログ信号がＡ／Ｄ変換される。１本の駆動電流を変換して判定しても、その他の起動要因で変換しても都合が悪い。一方、雰囲気温度やモータの温度などを入力するチャンネルは、モータの駆動タイミングとは独立したタイミングで、例えばソフトウェアによってそれぞれ独立して入力アナログ信号のＡ／Ｄ変換がされる。
【０００８】
更に、Ａ／Ｄ変換終了時点で割り込みを発生し、いわゆるデータトランスファコントローラＤＴＣによって、変換結果をメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ；ＲＡＭ）に転送することができる。しかしながら、いわゆるスキャンモードにおいて複数のチャンネルのＡ／Ｄ変換を繰り返して行う場合、指定した全てのチャンネルの変換が終了すると、Ａ／Ｄ変換終了割り込みが発生して、上記ＤＴＣが起動される。一方、Ａ／Ｄ変換回路は再び第１チャンネルから変換を開始する。上記ＤＴＣが起動されてから、実際のデータ転送が行われるまでの時間は、そのほかの動作条件などによって変動するが、前記のシングルチップマイクロコンピュータの例ではデータ転送に３５ステートを必要としてしまう。前記のシングルチップマイクロコンピュータにおけるＡ／Ｄ変換回路の１チャンネル当たりのＡ／Ｄ変換時間は１３５ステートであるが、シングルチップマイクロコンピュータのデータ転送時間を３５ステートのままで、Ａ／Ｄ変換時間をシングルチップマイクロコンピュータのデータ転送時間より高速化（３５ステートより高速化）しようすとると、上記ＤＴＣによる変換結果の読み出し以前に次の変換動作が終了してしまうことがあり得る。例えば、複数チャンネルの第１チャンネルは２回目の変換結果、そのほかは１回目の変換結果となってしまい、第１チャンネルの１回目の変換結果が失われてしまうことがあり得る。
【０００９】
また、前記高速のＡ／Ｄ変換回路は、シングルチップマイクロコンピュータに内蔵させることに考慮されていない。それは単一のアドレス入力を連続かつ高速に変換することが目的であって、この連続かつ高速に変換するアナログ入力が複数あっても、多数の異なるアナログ入力の判定を行うことは考慮されていない。また、連続かつ高速なＡ／Ｄ変換が必要でない応用分野においては、サンプリング回路を複数もっていても、これが有効に利用されなくなる。シングルチップのマイクロコンピュータなどのアナログ入力としては、アナログ入力毎に、必要な分解能が異なったり、連続変換が必要なものがあったり、単一の変換でよくて、パイプライン動作に意味がなくなったり、高速化ができないばかりか、サンプルホールド回路などが無駄になる場合があったり、複数のアナログ入力の相対値が重要であったりする場合等種々である。
【００１０】
Ａ／Ｄ変換回路による変換結果は、ＣＰＵがこれを処理しなければならず、変換結果の一時退避用にデータ転送値による変換結果のリードなどを行う。これらのＣＰＵがＤＴＣの動作状態によっては、常に変換結果のリードや処理が可能とは限らない。ＣＰＵがＡ／Ｄ変換回路の変換結果をリードする場合、前記のシングルチップマイクロコンピュータでは命令実行に６ステートを必要とし、Ａ／Ｄ変換回路の変換動作を高速化すると、ＣＰＵのリード動作と同等時間になってしまい、ＣＰＵがそのほかの処理を行うことができなくなってしまう。この後、リード結果に基づいて所望のデータ処理を行う。シングルチップのマイクロコンピュータの全体的な高速化のためには、これらのリードや処理に必要な負担を軽減することが必要となる。また、半導体集積回路装置に内蔵されるＡ／Ｄ変換回路としては、消費電流が小さいことが望ましい。
【００１１】
この発明の目的は、簡単な構成で多用途に適したＡ／Ｄ変換器を内蔵した半導体集積回路装置と制御システムを提供することにある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【００１２】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。すなわち、
（１）Ａ／Ｄ変換器を内蔵した半導体集積回路装置において、入力チャンネルを複数個設け、各チャンネルから入力された入力アナログ信号を各チャンネルに対応する複数のサンプルホールド回路により保持し、第１のサンプリングを行い、かかるサンプリングよりホールドされたアナログ信号をＡ／Ｄ変換するとともに第２のサンプリングを行い、そのサンプリングされたアナログ信号を次にＡ／Ｄ変換するというパイプライン動作や、上記複数のサンプルホールド回路を用いて同時にサンプリングさせる。
（２）Ａ／Ｄ変換器を内蔵した半導体集積回路装置において、起動信号により直ちに応答してＡ／Ｄ変換動作を行う通常モードと、必要最小なバイアス電流しか流さない状態にあり起動信号が入力されてから安定に動作するまでの一定の時間経過後にＡ／Ｄ変換動作を行う待機モードを上記Ａ／Ｄ変換器に設ける。
（３）Ａ／Ｄ変換器を内蔵した半導体集積回路装置において、Ａ／Ｄ変換結果の読み出し時にバスサイズに対応して内部バスへの出力を最上位又は最下位ビットに合わせられるようにアライメントを行う。
（４）Ａ／Ｄ変換器を内蔵した半導体集積回路装置において、繰り返し変換動作を行うときに、変換結果データの読み出しが完了するまで、新規のＡ／Ｄ変換動作を停止させる。
【００１３】
【作用】
上記した手段によれば、
（１）パイプライン処理を行い、Ａ／Ｄ変換器は複数の入力データを並列処理することができ、実効的にサンプリング時間を無くすことができるから、複数のアナログ入力信号を連続して変換する場合にＡ／Ｄ変換動作の高速化ができる。複数のアナログ入力信号を同時に保持し、その後に順次に変換することにより、回路規模を増加させることなく、複数のアナログ値の相対的な値が重要とされる制御動作の信頼性を高くすることができる。
（２）ソフトウェアの負担なく、変換される入力信号に見合った合理的な変換動作により低消費電力化を図ることができる。
（３）ソフトウェアの負担なく、効率よくＡ／Ｄ変換結果を取り込むことができる。
（４）繰り返し変換動作を行う場合、複数の変換データの相互の関係を保持することができる。
【００１４】
【実施例】
図１には、この発明が適用されたシングルチップのマイクロコンピュータの一実施例のブロック図が示されている。同図の各回路ブロックは、公知の半導体集積回路の製造技術により、単結晶シリコンのような１個の半導体基板上において形成される。
【００１５】
この実施例のシングルチップのマイクロコンピュータは、中央処理装置ＣＰＵ、クロック発生回路ＣＰＧ、データトランスファコントローラ（データ転送装置）ＤＴＣ、割り込みコントローラＩＮＴ、プログラム等が格納されたリード・オンリー・メモリＲＯＭ、一時記憶等に用いられるランダム・アクセス・メモリＲＡＭ、タイマＡとタイマＢ（ＩＴＵ）、シリアルコミュニケーションインターフェイスＳＣＩ、Ａ／Ｄ変換器、第１ないし第９からなる入出力ポートＩＯＰ１〜ＩＯＰ９の各機能ブロック又は機能モジュールから構成される。かかる機能ブロック又は機能モジュールは、内部バスによって相互に接続される。内部バスは、アドレスバス、データバスの他、リード信号、ライト信号を伝達するための制御バスを含み、さらにバスサイズ信号（ＷＯＲＤ）  あるいはシステムクロックなどを含んでよい。上記機能ブロック又は機能モジュールは、内部バスを介して中央処理装置ＣＰＵ又はデータトランスファコントローラＤＴＣによってリード／ライトされる。特に制限されないが、内部バスのバス幅は１６ビットから構成される。
【００１６】
この実施例のシングルチップのマイクロコンピュータは、電源端子として接地電位Ｖｓｓ、電源電圧Ｖｃｃ、アナログ接地電位ＡＶｓｓ、アナログ電源電圧ＡＶｃｃ、アナログ基準電圧Ｖｒｅｆ  、その他専用制御端子としてリセットＲＥＳ、スタイバイＳＴＢＹ、モード制御ＭＤ０，ＭＤ１、クロック入力ＥＸＴＡＬ、ＸＴＡＬ等が設けられる。
【００１７】
各入出力ポートは、アドレスバス、データバス、バス制御信号あるいはタイマ、シリアルコミュニケーションインターフェイスＳＣＩ、Ａ／Ｄ変換器の入出力端子と兼用される。すなわち、タイマ、シリアルコミュニケーションインターフェイスＳＣＩ、Ａ／Ｄ変換器は、それぞれ入出力信号を有し、入出力ポートと兼用された端子を介して外部と入出力されるものである。例えば第５ポートＩＯＰ５、第６ポートＩＯＰ６、第７ポートＩＯＰ７は、タイマＡとＢの入出力端子（タイマＢの出力信号はＵ，Ｖ，ＷとＵ＃，Ｖ＃，Ｗ＃を含み、入力信号はＴＣＬＫＡ、ＴＣＬＫＢを含む。）と兼用、第８ポートＩＯＰ８は、シリアルコミュニケーションインターフェイスＳＣＩの入出力端子と兼用されている。アナログデータの入力ＡＩＮ０〜ＡＩＮ７の端子は、第９ポートＩＯＰ９と兼用されている。外部トリガ信号ＡＤＴＲＧとビジー信号ＢＵＳＹは、上記第８ポートＩＯＰ８と兼用されている。
【００１８】
タイマＡ及びタイマＢのコンペアマッチ信号、オーバーフロー信号、アンダーフロー信号は、Ａ／Ｄ変換開始トリガとしてＡ／Ｄ変換器に与えられる。割り込み信号は、Ａ／Ｄ変換器、タイマＡ、タイマＢ及びシリアルコミュニケーションインターフェイスＳＣＩが出力し、割り込みコントローラＩＮＴがこれを受けて、所定のレジスタなどの指定に基づいて、中央処理装置ＣＰＵに割込要求信号を与えるか、データトランスファコントローラＤＴＣに起動要求信号を与えるかを制御する。かかる切り換えは、ＤＴＥビットによって行われる。つまり、ＤＴＥビットが“１”にセットされている状態で割込要因が発生すると、データトランスファコントローラＤＴＣに対する起動要求信号が発生され、そのデータ転送が行われると自動的に割込要求がクリアされる。一方、ＤＴＥビットが“０”にクリアされている状態で割込要因が発生すると、中央処理装置ＣＰＵに対する起動要求信号が発生され、中央処理装置ＣＰＵが所望のデータ処理を行い、所望のデータ処理後割込要因を示すビットをクリアする。
【００１９】
データトランスファコントローラＤＴＣによるデータ転送時に、所定の条件が成立すると、例えば転送カウンタが０になったりすると、割込要因を示すビットをクリアせずに、対応するＤＴＥビットを“０”にクリアして、中央処理装置ＣＰＵに割込要求を発生するようにする。各割込要因には、独立したＤＴＥビットと独立したベクタが割り当てられている。
【００２０】
データ転送装置としては、上記のようなデータトランスファコントローラＤＴＣのほかに、直接メモリアクセス制御装置ＤＭＡＣのようなものを用いるものであってもよい。上記のようなデータトランスファコントローラＤＴＣの例としては、昭和６３年１２月（株）日立製作所発行「Ｈ８／５３２  ハードウェアマニュアル」などに記載されているものを利用できる。直接メモリアクセス制御装置ＤＭＡＣの例としては、平成５年３月（株）日立製作所発行「Ｈ８／３００３
ハードウェアマニュアル」などに記載されているものを利用できる。
【００２１】
これらのデータ転送装置（ＤＴＣ／ＤＭＡＣ）は、「Ｈ８／３００３  ハードウェアマニュアル」又は特願平４−１３７９５４号に記載されているように、１回の起動によって、複数単位のデータを転送すること、いわゆるブロック転送モードが可能とされる。これらは、ソースアドレスレジスタＳＡＲ、ディスティネーションアドレスレジスタＤＡＲ、ブロックサイズカウンタＴＣＲＨ、ブロックサイズ保持レジスタＴＣＲＬ、ブロック転送カウンタＢＴＣＲを持ち、ブロック単位でのデータ転送を行うことができるようにされる。
【００２２】
タイマＢ（ＩＴＵ；Ｉｎｔｅｇｒａｔｅｄ  Ｔｉｍｅｒ  Ｕｎｉｔ）は、タイマカウンタ、コンペアレジスタ（ＧＲＡ〜ＧＲＤ）を有し、タイマカウンタ０〜ＧＲＡ（レジスタＧＲＡの設定値）でアップ／ダウンカウントを行う。ダウンカウントにより計数値が０になっとときアンダーフロー信号を発生し、アップカウントにより上記ＧＲＡの設定値に一致したとき、コンペアマッチＡを発生する。また、この途中でコンペアレジスタＧＲＢ〜ＧＲＤに設定された値と一致したとき、タイマ出力を変化させる。タイマ出力はそれぞれ正相／逆相の出力を有する。これによって、例えば相補３相のＰＷＭ（パルス幅変調）出力を形成することができる。かかる相補３相のＰＷＭ出力は、上記「Ｈ８／３００３  ハードウェアマニュアル」ｐｐ．３７４〜３８１等に記載されている。上記正相／逆相の出力間にノンオーバーラップ時間を設定するようなカウンタを追加してもよい。
【００２３】
図２には、この発明が適用されたシングルチップマイクロコンピュータに搭載されるＡ／Ｄ変換器の一実施例のブロック図が示されている。Ａ／Ｄ変換器は、コントロールロジック、バスインターフェイス、制御レジスタＡＤＣＳＲ、ＡＤＣＲ、データレジスタＡＤＤＲＡ〜ＡＤＤＲＨ、２ビット分圧、６ビット分圧及び２ビット分圧を行う抵抗分圧回路（Ｄ／Ａ変換）、アナログマルチプレクサ、サンプルホールド・レベルシフト回路Ａ，Ｂ、コンパレータアレイ（差動増幅器）Ａ，Ｂ、逐次比較レジスタから構成される。
【００２４】
シングルチップマイクロコンピュータの外部からの入力としては、電源（Ｖｃｃ、Ｖｓｓ、ＡＶｃｃ、ＡＶｓｓ、Ｖｒｅｆ  ）、アナログ入力ＡＩＮ０〜ＡＩＮ７、外部トリガ信号ＡＤＴＲＧがＡ／Ｄ変換器に供給される。シングルチップマイクロコンピュータの内部信号としては、タイマＡとＢからの起動信号、アドレスバスからのアドレス信号、リード信号、ライト信号、バスサイズ信号、要因クリア信号が与えられ、バスインターフェイスを介して内部データバスとの間でデータの入出力が行われる。また、割込信号ＡＤＩを出力する。かかる割込信号ＡＤＩは、割り込みコントローラＩＮＴに与えられて、上記データトランスファコントローラＤＴＣの起動信号又は中央処理装置ＣＰＵの割込要求とされる。
【００２５】
コントロールロジックは、中央処理装置ＣＰＵから与えられるアドレスバスからのアドレス信号、リード信号、ライト信号に基づいて、内部データバスとの間でバスインターフェイスを介して制御レジスタＡＤＣＳＲ、ＡＤＣＲ、データレジスタＡＤＤＲＡ〜ＡＤＤＲＨとの間でデータの入出力を行う。コントロールロジックには、外部トリガ信号ＡＤＴＲＧ及びタイマＡ，Ｂからの起動信号が入力される。コントロールロジックは、上記制御レジスタＡＤＣＳＲ、ＡＤＣＲの内容に基づいて、アナログ入力動作制御を行う。そして、コントロールロジックは、上記割込信号ＡＤＩを出力する。
【００２６】
制御レジスタＡＤＣＳＲ、ＡＤＣＲは、中央処理装置ＣＰＵから内部データバス、バスインターフェイスを介してリード／ライトが行われ、コントロールロジックの動作を指示し、上記アナログ入力の状態を表示する。つまり、制御レジスタＡＤＣＳＲ、ＡＤＣＲに格納されたデータは、アナログ入力端子（以下、入力チャンネルという）の選択やＡ／Ｄ変化器の変換モードの選択等を示す。Ａ／Ｄ変換モードには、後述するように１チャンネルの変換を行うセレクトモードと、複数チャンネルの変換を行うグループモードがあり、これに加えて１回の変換を行うシングルモードと繰り返して変換を行うスキャンモードがある。
【００２７】
制御レジスタＡＤＣＳＲは、Ａ／Ｄコントロール／スタータスレジスタであり、８ビットのリードＲ又はライトＷが可能なレジスタであり、Ａ／Ｄ変換の動作制御とステータスの表示を行う。このレジスタＡＤＣＲＳはリセット時にＨ’００にイニシャライズ（初期値）にされ、そのビット構成を次の表１に示す。
【００２８】
【表１】
0003565613.tif 000002
【００２９】
ビット７のＡＤＦは、Ａ／Ｄ変換の終了を示すスタータスフラグであり、クリア条件は、ＡＤＦ＝“１”の状態で、ＡＤＦフラグをリードした後にＡＤＦフラグに“０”をライトするとき、あるいは割り込み信号ＡＤＩによる割り込みに従ってデータ転送装置ＤＴＣ又はＤＭＡＣが起動されたときである。セット条件は、シングルモードのときに、指定した全てのチャンネルのＡ／Ｄ変換を終了し、Ａ／Ｄ変換が終了したときと、スキャンモードのときに、指定した全てのチャンネルを一巡して変換したときである。
【００３０】
ビット６のＡＤＩＥは、Ａ／Ｄ変換の終了による割り込み（ＡＤＩ）要求の許可又は禁止を選択する。ＡＤＩＥ＝“０”ならＡ／Ｄ変換の終了による割り込み（ＡＤＩ）要求を禁止し、ＡＤＩＥ＝“１”ならＡ／Ｄ変換の終了による割り込み（ＡＤＩ）要求を許可する。
【００３１】
ビット５のＡＤＳＴは、Ａ／Ｄ変換の開始又は停止を選択する。Ａ／Ｄ変換中は“１”を保持する。ＡＤＳＴは、Ａ／Ｄ外部トリガ入力端子から供給される外部トリガ信号ＡＤＴＲＧ、又はタイマのトリガ信号によって“１”にセットされる。ＡＤＳＴ＝“０”のときはＡ／Ｄ変換を停止し、ＡＤＳＴ＝“１”のときシングルモードならＡ／Ｄ変換を開始し、指定したチャンネルの変換が終了すると自動的に“０”にクリアされる。ＡＤＳＴ＝“１”のときスキャンモードならＡ／Ｄ変換を開始し、ソフトウェアにより“０”にクリアされまで連続変換を行う。
【００３２】
ビット４のＣＫＳは、クロック発生回路ＣＰＧから発生されるクロック信号（φあるいはφ／２）の周期を選択するためのクロックセレクト信号であり、Ａ／Ｄ変換時間の設定を行う。変換時間の切り替えは変換停止中に行われる。ＣＫＳ＝“０”のときには変換時間が２０ステート（基準クロックφを選択）となり、ＣＫＳ＝“１”のときには変換時間が４０ステート（基準クロックφ／２を選択）となる。
【００３３】
ビット３のＧＲＰはグループモード信号であり、Ａ／Ｄ変換チャンネルの選択をセレクトモード又はグループモードに指定する。このＧＲＰビットの設定は、Ａ／Ｄ変換停止中に行われる。ＧＲＰ＝“０”のときにはセレクトモードとされ、ＧＲＰ＝“１”のときにはグループモードとされる。
【００３４】
ビット２〜０はチャンネルセレクト信号であり、上記ＧＲＰビットとともにアナログ入力チャンネルを選択する。入力チャンネルの設定は、Ａ／Ｄ変換停止中に行われる。ＧＲＰ＝“０”のときにはセレクトモードのときには上記３ビットＣＨ２〜ＣＨ０の組み合わせによりＡＩＮ０〜ＡＩＮ７のいずれか１つが選ばれる。ＧＲＰ＝“１”であり、グループモードのときには上記３ビットＣＨ２〜ＣＨ０がＨ’０００ときにＡＩＮ０のみが選択され、それ以外は上記ＡＩＮ０とビットＣＨ１とＣＨ２の組み合わせによりＡＩＮ１〜ＡＩＮ７が上記ＡＩＮ０と同時に選ばれる。
【００３５】
制御レジスタＡＤＣＲは、Ａ／Ｄコントロールレジスタであり、８ビットのリードＲ又はライトＷが可能なレジスタであり、Ａ／Ｄ変換の動作制御を行う。このレジスタＡＤＣＲはリセット時にＨ’００にイニシャライズ（初期値）にされ、そのビット構成を次の表２に示す。
【００３６】
【表２】
0003565613.tif 000003
【００３７】
ビット７のＩＮＦは、インターバルビットであり、インターバル動作を指定する。インターバル動作では、ＢＵＳＹ信号が活性状態のとき、新しいＡ／Ｄ変換動作を開始しない。ＡＤＦフラグを“０”にクリアすることにより、ＢＵＳＹ信号を活性状態にして、新しいＡ／Ｄ変換動作を開始させることができる。ＩＮＦ＝“０”は通常動作であり、ＩＮＦ＝“１”が上記インターバル動作である。
【００３８】
ビット６のＰＷＲは、電源ビットであり、変換開始モードを設定する。変換開始モードについては、後に詳細に説明するように高速変換モードと低消費電力モードからなる。
【００３９】
ビット５〜４のＴＲＧＳ１，ＴＲＧＳ０は、タイマトリガセレクトビットであり、トリガ信号によるＡ／Ｄ変換開始の許可又は禁止を選択する。ＴＲＧＳ１，ＴＲＧＳ０の設定は、Ａ／Ｄ変換停止中に設定される。上記２ビットのＴＲＧＳ１，ＴＲＧＳ０の組み合わせより、次の４通りが選択できる。（１）ソフトウェアによるＡ／Ｄ変換の開始のみを許可する。（２）タイマトリガ（タイマＢ）によるＡ／Ｄ変換の開始を許可する。（３）タイマトリガ（タイマＡ）によるＡ／Ｄ変換の開始を許可する。（４）外部トリガ端子によるＡ／Ｄ変換の開始を許可する。
【００４０】
ビット３のＳＣＡＮは、スキャンモードであり、Ａ／Ｄ変換の動作モードをシングルモード又はスキャンモードの選択を行う。シングルモードとスキャンモードの詳細については後に説明する。ＳＣＡＮ＝“０”ならシングルモードとなり、ＳＣＡＮ＝“１”ならスキャンモードとなる。
【００４１】
ビット２のＤＳＭＰは、同時サンプリングモードであり、２チャンネルの同時サンプリング動作を許可又は禁止する。この同時サンプリング動作の詳細につていは後に説明する。ＤＳＭＰ＝“０”通常サンプリング動作とし、ＤＳＭＰ＝“１”なら同時サンプリング動作とする。
【００４２】
ビット１と０のＢＵＦＥ１，ＢＵＦＥ０はバッファイネーブルであり、データレジスタＡＤＤＲＡ〜ＡＤＤＲＤをバッファレジスタとして使用するかしないかを選択する。このバッファ動作については後に説明する。
【００４３】
データレジスタＡＤＤＲＡ〜ＡＤＤＲＨは、中央処理装置ＣＰＵから内部データバス及びバスインターフェイスを介してリード／ライトが可能であり、アナログ入力データ、言い換えるならば、Ａ／Ｄ変換結果が格納される。特に制限されないが、これらのデータレジスタＡＤＤＲＡ〜ＡＤＤＲＨは、それぞれが１６ビットからなり、後述するようにＡ／Ｄ変換されたデータが１０ビットであるときには、下位８ビットが下位バイト（ビット７〜０）に、上位２ビットが上位バイト（ビット９と８）に転送保持される。上位バイトのビット１５〜１０は使用されないが、リードすると常に“０”が読み出されるようにされる。この実施例では、データの読み出しは、バイト又はワード選択ができるようにされる。つまり、１０ビット分解能のＡ／Ｄ変換出力はワードモードとして読み出され、８ビット分解能のＡ／Ｄ変換出力はバイトモードとして上位８ビット（ビット９〜２）が読み出されるようにされる。
【００４４】
アナログマルチプレクサは、制御レジスタＡＤＣＳＲのビット０〜２（ＣＨ０〜ＣＨ２）とＧＲＰとで示されているデータに基づいてコントールロジックから出力された選択信号に従いアナログ入力ＡＩＮ０〜ＡＩＮ７を選択し、それに対応したアナログ信号を内部に取り込む。このアナログマルチプレクサは、上記図１の入出力ポートＩＯＰ９に含まれるようにしてもよい。
【００４５】
サンプルホールド・レベルシフト回路は、コントロールロジックから出力されるサンプリング信号に基づいて、アナログマルチプレクサで選択されたアナログ入力信号をサンプリングしてホールド（蓄積）する。この実施例では、２個のサンプルホールド回路ＡとＢが設けられており、それぞれには独立したサンプリング信号ＡとＢが与えられる。それ故、上記サンプリング信号ＡとＢにより独立したタイミングでサンプリングすることも、同時にサンプリングすることもできるようにされる。
【００４６】
レベルシフト回路ＡとＢは、レベルシフト信号ＡとＢにより上記ホールドされた入力信号をレベルシフトさせる。このレベルシフト動作は、１回目のＡ／Ｄ変換結果に基づいて行われる。例えば、後述するように基準電圧Ｖｒｅｆ  に対応したアナログ入力範囲を４等分した電圧範囲のうち、Ｖｒｅｆ  ／４〜Ｖｒｅｆ  ／２のサブレンジ領域内に上記ホールドされた入力信号をシフトさせる。
【００４７】
コンパレータアレイＡとＢは、それぞれが５個の差動増幅回路で構成される。これらのコンパレータアレイＡとＢは、サンプルホールド回路ＡとＢにホールドされた入力信号と、局所抵抗分圧回路により形成された複数の基準電圧（５本）とを比較し、比較結果を出力する。すなわち、２ビット分の比較を同時に行うことができる。コンパレータアレイＡとＢのそれぞれの比較結果は、コントロールロジックにより２進信号化されて逐次比較レジスタに格納される。
【００４８】
１回目の比較では、抵抗分圧回路の上位２ビットとの比較を行う。この比較結果に基づいてレベルシフト信号ＡとＢがそれぞれ形成されて、レベルシフト回路ＡとＢにより上記のようにサブレンジ領域内にホールドされた入力信号をシフトさせる。２回目以降の変換動作は、局所分圧回路（６ビット分圧）により１／６４の分圧電圧を形成し、そのうちの２ビット分がセレクタを通して選択され、この選択された分圧電圧の間を更に２ビット分圧により分圧された電圧が上記コンパレータアレイＡ又はＢに供給されることにより行われる。このような動作を繰り返すことにより最下位ビットまでの変換動作が行われる。Ａ／Ｄ変換動作の終了時に、コントロールロジック（逐次比較レジスタ）に保持された変換データがデータレジスタＡＤＤＲＡ〜ＡＤＤＲＨのいずれかに転送される。
【００４９】
抵抗分圧回路（Ｄ／Ａ変換）は、例えば１０ビット分解能とされるときには、基準電圧Ｖｒｅｆ  とアナログ接地電圧ＡＶｓｓの間を１０２４個の抵抗により分圧された分圧電圧を形成することが必要とされる。このようにすると、抵抗数が増大してしまうので、この実施例では上記のように上位２ビット分圧、６ビット分圧及び下位２ビット分圧の３つの分圧回路に分けることにより、抵抗数を大幅に低減させている。つまり、この実施例の分圧抵抗回路は、上位２ビット分圧回路と６ビットと２ビットに分けられた局所分圧回路で構成される。上位２ビット分圧回路は、Ｖｒｅｆ、３Ｖｒｅｆ  ／４、Ｖｒｅｆ  ／２、Ｖｒｅｆ  ／４及び０Ｖを形成して、レジスタシフト回路及びコンパレータアレイに供給する。
【００５０】
６ビット局所分圧回路は、上記Ｖｒｅｆ  ／４〜Ｖｒｅｆ  ／２の範囲を１／６４に分圧してなる６４通りの分圧電圧を形成し、逐次比較レジスタの内容による指定に基づいてセレクタが制御されて上位から順に２ビット分ずつに対応された分圧電圧を出力する。この分圧出力は、さらに下位２ビット分圧により分圧されてコンパレータアレイに供給されてＡ／Ｄ変換動作に用いられる。アナログ電圧ＡＶｃｃ、ＡＶｓｓは、アナログ部（マルチプレクサ、サンプルホールド回路、コンパレータアレイなど）の電源とされる。
【００５１】
図３には、上記Ａ／Ｄ変換器の動作を説明するための基本的タイミング図が示されている。この実施例のＡ／Ｄ変換器は、制御レジスタＡＤＣＳＲのビット４（ＣＫＳ）に格納されているデータに従って、クロック発生回路ＣＰＧが出力するφとφ／２の選択された一方の内部のクロック信号ＣＬＫに同期して動作する。クロック信号ＣＬＫのＴ１〜Ｔ１０の期間では、サンプリング信号がハイレベルとなってアナログマルチプレクサにより選択されたアナログ入力信号がサンプルホールド回路のキャパシタに蓄積される。この蓄積された入力信号は、コンパレータアレイに供給される。
【００５２】
クロック信号ＣＬＫのＴ１０の期間に同期してコントロールロジックから出力された上位変換信号がハイレベルとなり、上位２ビットとの比較動作が行われる。この比較結果は、クロック信号ＣＬＫの次の期間Ｔ１１に同期して出力される。上記上位２ビットの比較結果に基づいて、クロック信号ＣＬＫの期間Ｔ１２に同期してレベルシフト信号が発生されてレベルシフト回路に伝えられる。これにより、上記入力信号がＶｒｅｆ  ／４〜Ｖｒｅｆ  ／２のサブレンジ領域に入るようにレベルシフト動作が行われる。また、クロック信号ＣＬＫの期間Ｔ１２から上記サブレンジ領域Ｖｒｅｆ  ／４〜Ｖｒｅｆ  ／２を下位２ビットＤ／Ａで抵抗分割し、これを４分割するために必要な５レベル（０、１／４、１／２、３／４、１）の基準電圧を発生させる。
【００５３】
クロック信号ＣＬＫの期間Ｔ１３で下位変換信号がハイレベルとなって、第３、第４ビットの比較動作が行われる。この結果は、期間Ｔ１３から出力される。この結果に基づいて、セレクト信号を変更して局所Ｄ／Ａの出力を変更して、下位２ビットＤ／Ａの両端の電圧を変更する。例えば、前記比較結果が５Ｖｒｅｆ  ／１６〜６Ｖｒｅｆ  ／１６の範囲であれば、５Ｖｒｅｆ  ／１６〜６Ｖｒｅｆ  ／１６の電圧を下位２ビット分圧（Ｄ／Ａ）の両端に与え、これを４分割するために必要な５レベルの基準電圧を生成する。クロック信号ＣＬＫの期間Ｔ１５において、下位変換信号がハイレベルとなって第５、第６ビットの比較が行われる。この結果は、期間Ｔ１５から出力される。
【００５４】
以上の動作が繰り返して行われ、クロック信号ＣＬＫの期間Ｔ２０ではラッチ信号がハイレベルとなって、変換結果がデータレジスタＡＤＤＲＡ〜ＡＤＤＲＨの中の所定のレジスタに格納される。また、所定の条件によって、変換終了フラグＡＤＦが“１”にセットされる。
【００５５】
図４には、上記Ａ／Ｄ変換器のサブレンジの電圧変換方式を説明するための電圧分布図が示されている。アナログ入力範囲は０〜Ｖｒｅｆ  であるのに対して、上記サブレンジ領域はＶｒｅｆ  ／４〜Ｖｒｅｆ  ／２のようにアナログ入力範囲の１／４の領域とされる。このサブレンジの範囲は、より分解能の高いＡ／Ｄ変換動作が行われる。つまり、１回目のＡ／Ｄ変換結果により、例えば入力信号ＡＩＮが３Ｖｒｅｆ  ／４〜Ｖｒｅｆ  の範囲であると、レベルシフト回路によりレベルシフトして上記Ｖｒｅｆ  ／４〜Ｖｒｅｆ  ／２の領域にシフトさせる。具体的には、Ｖｒｅｆ  ／２分（減算）させるようにレベルシフトする。以後、上記図３のタイミング図に示したように、このサブレンジの範囲で残り８ビット分の変換を、上位から順に２ビット分ずつ４回に分けて変換動作を行うものである。
【００５６】
図６には、上記サンプルホールド・レベルシフト回路Ａの一実施例の回路図が示されている。サンプルホールド・レベルシフト回路Ａは、Ｐチャンネル型ＭＯＳＦＥＴＱ１、Ｎチャンネル型ＭＯＳＦＥＴＱ２等のようなＣＭＯＳスイッチとキャパシタＣの組み合わせにより構成される。
【００５７】
サンプリング動作のときには、サンプリング信号Ａがハイレベルとなり、上記スイッチＭＯＳＦＥＴＱ１とＱ２がオン状態となり、入力信号ＡｉｎをキャパシタＣの一方の電極に与える。このとき、キャパシタＣの他方の電極には、コントロールロジックから出力されるレベルシフトＡに含まれた制御信号２がハイレベルにされることにより、Ｐチャンネル型ＭＯＳＦＥＴＱ７とＮチャンネル型ＭＯＳＦＥＴＱ８がオン状態となりＶｒｅｆ  ／２の電圧が供給されている。つまり、キャパシタＣに蓄積される信号電荷は、入力信号Ａに対応する電圧ＶｉｎからＶｒｅｆ  ／２だけ差し引いた電圧に相当するものとされる。
【００５８】
上位・下位変換信号がハイレベルに活性化されると、Ｐチャンネル型ＭＯＳＦＥＴＱ３とＮチャンネル型ＭＯＳＦＥＴＱ４がオン状態となり、上記入力電圧Ｖｉｎがサンプルホールド・レベルシフト回路出力として前記コンパレータアレイに伝えられて上位２ビットの分圧電圧（Ｄ／Ａ出力）であるＶｒｅｆ  ／４、３Ｖｒｅｆ  ／４、Ｖｒｅｆ  ／２、Ｖｒｅｆ  ／４、０Ｖ（ＡＶｓｓ）  との比較が行われる。この比較結果により、例えば図４のようにＶｒｅｆ  ＞Ｖｉｎ（ＡＩＮ）＞３Ｖｒｅｆ  ／４なら、制御信号２が非活性化のロウレベルにされ、制御信号０がハイレベルに活性化されてスイッチＭＯＳＦＥＴＱ１１とＱ１２がオン状態となり、キャパシタＣには０Ｖ（ＡＶｓｓ）  が与えられる。これにより、上記入力信号Ｖｉｎは−Ｖｒｅｆ  ／２だけレベルシフトされ、上記サブレンジ領域になるようにされる。
【００５９】
仮に、Ｖｒｅｆ  ／４＞Ｖｉｎ（ＡＩＮ）＞０Ｖのような低い電圧なら、制御信号２が非活性化のロウレベルにされ、制御信号３がハイレベルに活性化されてスイッチＭＯＳＦＥＴＱ５とＱ６がオン状態となり、キャパシタＣには３Ｖｒｅｆ  ／４が与えられる。このため、上記入力信号Ｖｉｎは＋Ｖｒｅｆ  ／４だけレベルシフトされ、上記サブレンジ領域になるようにされる。
【００６０】
また、３Ｖｒｅｆ  ／４＞Ｖｉｎ（ＡＩＮ）＞Ｖｒｅｆ  ／２なら、制御信号２が非活性化のロウレベルにされ、制御信号１がハイレベルに活性化されてスイッチＭＯＳＦＥＴＱ９とＱ１０がオン状態となり、キャパシタＣにはＶｒｅｆ  ／４が与えられる。このため、上記入力信号Ｖｉｎは−Ｖｒｅｆ  ／４だけレベルシフトされ、上記サブレンジ領域になるようにされる。そして、Ｖｒｅｆ  ／２＞Ｖｉｎ（ＡＩＮ）＞Ｖｒｅｆ  ／４のようなサブレンジ領域なら、そのままレベルシフト動作は行わないのはいうまでもない。図６において、サンプルホールド・レベルシフト回路Ａについて説明したが、サンプルホールド・レベルシフト回路Ｂの回路構成及びその動作もこれと同様であるため、サンプルホールド・レベルシフト回路Ｂについての説明は省略する。
【００６１】
図５には、上記コンパレータアレイの概略ブロック図が示されている。コンパレータアレイは、選択回路と５個の差動増幅回路から構成される。選択回路は、上位ビットＤ／Ａ出力（Ｖｒｅｆ  、３Ｖｒｅｆ  ／４、Ｖｒｅｆ  ／２、Ｖｒｅｆ  ／４、ＡＶｓｓ）と下位ビットＤ／Ａ出力のいずれかを選択する。ただし、Ｖｒｅｆ  とＡＶｓｓに対応された比較結果出力は無視される。つまり、３Ｖｒｅｆ  ／４、Ｖｒｅｆ  ／２、Ｖｒｅｆ  ／４の３個の比較出力結果から上位２ビット（９ビットと８ビット）変換出力とそれに対応したレベルシフト制御信号が形成される。
【００６２】
下位ビットＤ／Ａ変換出力は、１回目では上記サブレンジ領域が１〜０の４等分された５通りの電圧が選択される。これにより、範囲外を含めて６領域の判定結果が得られる。範囲外の場合には変換済の上位ビットの補正が行われる。差動増幅回路の数は、特に制限されないが、選択回路を設けずに８個としてもよい。補正を行わないとすれば３乃至６個にできる。なお、３Ｖｒｅｆ  ／４、Ｖｒｅｆ  ／２、Ｖｒｅｆ  ／４を供給するバッファなどに演算増幅回路が設けられる。
【００６３】
図７には、同時サンプリングによるＡ／Ｄ変換動作の代表的な一例を説明するためのフローチャート図が示されている。上記制御レジスタＡＤＣＲのＤＳＭＰビットを“１”に設定し、そのほか制御レジスタの各ビットを所定値に設定する。次いで、制御レジスタＡＤＣＲのＡＤＳＴビットを“１”に設定し、Ａ／Ｄ変換動作を開始させる。このＡ／Ｄ変換動作の開始により、指定された２チャンネルを同時にサンプリング動作が行われる。第１チャンネル変換動作が行われ、その変換結果がデータレジスタ（例えばＡＤＤＲＡ）に格納される。次に、上記同時サンプリングされた第２チャンネルの変換動作が行われ、その変換結果が別のデータレジスタ（例えばＡＤＤＲＢ）に格納される。ＡＤＳＴビットを“０”にクリアされてＡ／Ｄ変換が停止される。
【００６４】
制御レジスタＡＤＣＲのＡＤＦビットが“１”にセットされて変換動作の終了が表示されると、割り込み信号ＡＤＩがコントロールロジックから発生される。割り込み信号ＡＤＩを受けた割り込みコントローラＩＮＴはデータ転送装置ＤＴＣに対して起動要求を行い、上記データレジスタＡＤＤＲＡとＢのリードがデータ転送装置ＤＴＣによって行われる。ＡＤＦビットは、中央処理装置ＣＰＵがビットクリア命令（ＢＣＬＲ）を実行することによってクリアされるか、データ転送装置ＤＴＣによって自動的にクリアされる。中央処理装置ＣＰＵ等により上記変換されたデータ処理が行われる。
【００６５】
図８には、通常サンプリングによるＡ／Ｄ変換動作の代表的な一例を説明するためのフローチャート図が示されている。上記制御レジスタＡＤＣＲのＤＳＭＰビットを“０”に設定し、そのほか制御レジスタの各ビットを所定値にする。次いで、制御レジスタＡＤＣＳＲのＡＤＳＴビットを“１”に設定し、Ａ／Ｄ変換動作を開始させる。このＡ／Ｄ変換動作の開始により、指定された第１チャンネルのサンプリング動作が行われる。第１チャンネル変換動作が行われ、その変換結果がデータレジスタＡＤＤＲに格納されると並行して、第２チャンネルのサンプリング動作が行われる。次に、上記サンプリングされた第２チャンネルの変換動作が行われ、その変換結果が別のデータレジスタＡＤＤＲに格納される。
【００６６】
制御レジスタＡＤＣＳＲのＡＤＦビットが“１”にセットされて変換動作の終了が表示されると、割り込み信号ＡＤＩが割り込みコントローラＩＮＴに出力されて、上記データレジスタＡＤＤＲのリードが行われ、ＡＤＳＴビットを“０”にクリアされてＡ／Ｄ変換が停止される。中央処理装置ＣＰＵ等により上記変換されたデータ処理が行われる。
【００６７】
以上のＡ／Ｄ変換器の概略は次の通りである。Ａ／Ｄ変換器は、１０ビットの分解能を持っている。動作モードとしては、セレクト又はグループ及びシングル又はスキャンの４つのモードにバッファ動作、同時サンプリング動作を組み合わせて設定することできる。セレクトモードは１チャンネルを選択し、グループモードは複数チャンネルを選択する。シングルモードは１回の起動で、選択された全てのチャンネルの変換を行い、スキャンモードでは１回起動すると、ソフトウェアで停止させられるまで繰り返し変換動作を行う。
【００６８】
バッファ動作は当該チャンネルの変換終了時に前回の変換結果をバッファレジスタに退避させる。同時サンプリングモードは２チャンネル同時にアナログ入力電圧をサンプリングし、順次変換する。ＰＷＲビットの設定により高速スタートモードと、低消費電力モードの２つの動作モードが選択できる。動作モードや入力チャンネルを切り替える場合には、ＡＤＳＴビットを“０”にクリアした状態で、制御レジスタＡＤＣＳＲ、ＡＤＣＲの書き換えを行う。制御レジスタＡＤＣＳＲ、ＡＤＣＲの書き換えた後に、ＡＤＳＴビットを“１”にセットすると再びＡ／Ｄ変換を開始する。ＡＤＳＴビットを“０”にクリアすることにより、Ａ／Ｄ変換を停止することができる。
【００６９】
図９には、セレクト・シングルモードを説明するためのタイミング図が示されている。同図には、制御レジスタＡＤＣＳＲの０〜２ビット（ＣＨ０〜ＣＨ２）によってチャンネル１が選択された場合が示されている。セレクト・シングルモード（ＧＲＰ＝０，ＳＣＡＮ＝０）は、１チャンネルのみのＡ／Ｄ変換を行う場合に選択する。ＴＲＧＳ１，０に所定値がセットされた変換開始条件によって、ＡＤＳＴビットが“１”にセットされると、Ａ／Ｄ変換を開始する。ＡＤＳＴビットは、Ａ／Ｄ変換中に“１”を保持しており、変換が終了すると自動的に“０”にクリアされる。変換が終了すると、ＡＤＦフラグが“１”にセットされる。このとき、ＡＤＩＥビットが“１”にセットされていると、割り込み信号ＡＤＩによる割り込みが発生する。ＡＤＦフクグは、制御レジスタＡＤＣＳＲをリードした後、“０”をライトするとクリアされる。また、ビットクリア（ＢＣＬＲ）命令によりクリアすることもできる。
【００７０】
図９において、ＡＤＳＴが“１”にセットされると、図３のようにクロック信号ＣＬＫの期間Ｔ１〜Ｔ１０の間でコントロールロジックから信号される選択信号１Ａによりチャンネル１（ＡＩＮ１）が選択され、サンプリング信号Ａが発生されてその取り込みが行われ、上記最後の期間Ｔ１０に上位２ビットの変換動作が行われる。この変換結果により前記のようにレベルシフト信号Ａが発生され、次に下位変換信号Ａが発生されて２ビットずつ４回に分けたＡ／Ｄ変換動作が行われる。クロック信号ＣＬＫの最後Ｔ２０に同期してコントロールロジックからラッチ信号が発生されて変換結果がデータレジスタＡＤＤＲＢに取り込まれる。上記のようなＡ／Ｄ変換の終了によりＡＤＦフラグが“１”にセットされる。
【００７１】
図１０には、セレクト・スキャンモードを説明するためのタイミング図が示されている。同図には、制御レジスタＡＤＣＳＲの０〜２ビット（ＣＨ０〜ＣＨ２）によってチャンネル１が選択された場合が示されている。セレクト・スキャンモード（ＧＲＰ＝０，ＳＣＡＮ＝１）は、１チャンネルのＡ／Ｄ変換を繰り返し行う場合に選択する。ＴＲＧＳ０，１に所定値がセットされた変換開始条件によって、ＡＤＳＴビットが“１”にセットされると、Ａ／Ｄ変換を開始する。ＡＤＳＴビットは、Ａ／Ｄ変換中に“１”を保持しており、ソフトウェアにより“０”にクリアされるまで、“１”を保持してその間、選択された入力チャンネルのＡ／Ｄ変換を繰り返す。また、最初のＡ／Ｄ変換が終了すると、ＡＤＦフラグが“１”にセットされる。このとき、ＡＤＩＥビットが“１”にセットされていると、割り込み信号ＡＤＩによる割り込みが発生する。ＡＤＦフクグは、制御レジスタＡＤＣＳＲをリードした後、“０”をライトするとクリアされる。また、上記同様にビットクリア（ＢＣＬＲ）命令によりクリアすることもできる。
【００７２】
図１０において、ＡＤＳＴが“１”にセットされると、上記同様に選択信号１Ａによりチャンネル１（ＡＩＮ１）が選択され、サンプリング信号Ａが発生されてその取り込みが行われ、その最後のタイミングで上位２ビットの変換動作が行われる。この変換結果により前記のようにレベルシフト信号Ａが発生され、次に下位変換信号Ａが発生されて２ビットずつ４回に分けたＡ／Ｄ変換動作が行われる。変換動作の最後に同期してラッチ信号が発生されて変換結果がデータレジスタＡＤＤＲＢに取り込まれる。このような最初のＡ／Ｄ変換の終了によりＡＤＦフラグが“１”にセットされる。このような１回目のＡ／Ｄ変換１と同時に２回目のサンプリング２が行われる。
【００７３】
上記ＡＤＳＴが“１”を保持していると、上記サンプリング２により取り込んだ入力信号のＡ／Ｄ変換２が行われ、それと同時に３回目のサンプリング動作が行われる。このようにサンプリング動作とＡ／Ｄ変換動作はパイプライン方式により行われる。変換結果は次々にデータレジスタＡＤＤＲＢに取り込まれる。つまり、前の変換結果は後の変換結果に置き換えられる。
【００７４】
図１１には、グループ・シングルモードを説明するためのタイミング図が示されている。同図には、制御レジスタＡＤＣＳＲの０〜２ビット（ＣＨ０〜ＣＨ２）によってチャンネル０〜２が選択された場合が示されている。グループ・シングルモード（ＧＲＰ＝１，ＳＣＡＮ＝０）は、複数のチャンネルのＡ／Ｄ変換を行う場合に選択する。ＴＲＧＳ０，１に所定値がセットされた変換開始条件によって、ＡＤＳＴビットが“１”にセットされと、Ａ／Ｄ変換を開始する。ＡＤＳＴビットは、Ａ／Ｄ変換中に“１”を保持しており、指定された入力チャンネルの全ての変換が終了すると自動的に“０”にクリアされる。また、指定された入力チャンネルの全ての変換が終了すると、ＡＤＦフラグが“１”にセットされる。このとき、ＡＤＩＥビットが“１”にセットされていると、割り込み信号ＡＤＩによる割り込みが発生する。ＡＤＦフクグは、制御レジスタＡＤＣＳＲをリードした後、“０”をライトするとクリアされる。また、上記同様にビットクリア（ＢＣＬＲ）命令によりクリアすることもできる。
【００７５】
図１１において、ＡＤＳＴが“１”にセットされると、上記同様にコントロールロジックから出力された選択信号０Ａによりチャンネル０（ＡＩＮ０）が選択され、サンプリング信号Ａが発生されてその取り込みが行われその最後に上位２ビットの変換動作が行われる。この変換結果により前記のようにレベルシフト信号Ａが発生され、次に下位変換信号Ａが発生されて２ビットずつ４回に分けたＡ／Ｄ変換１の動作が行われる。変換動作の終了時にラッチ信号Ａが発生されて変換結果１がデータレジスタＡＤＤＲＡに取り込まれる。上記Ａ／Ｄ変換１の動作と並行して、選択信号１Ｂによりチャンネル１（ＡＩＮ１）が選択され、サンプリング信号Ｂが発生されてその取り込みが行われる。
【００７６】
上記チャンネル１の下位８ビットのＡ／Ｄ変換２の動作と並行して、選択信号２Ａが発生されてチャンネル２（ＡＩＮ２）が選択され、サンプリング信号Ａが発生されてその取り込みが行われる。上記チャンネル１のＡ／Ｄ変換結果２がデータレジスタＡＤＤＲＢに取り込まれるとともに、上記チャンネル２（ＡＩＮ２）のＡ／Ｄ変換３の動作が行われる。この最後のチャンネルのＡ／Ｄ変換動作の終了により、ＡＤＦフラグが“１”にセットされる。このように複数チャンネルでのサンプリングとその変換動作とがパイプライン方式により行われる。
【００７７】
図１２には、グループ・スキャンモードを説明するためのタイミング図が示されている。同図には、制御レジスタＡＤＣＳＲの０〜２ビット（ＣＨ０〜ＣＨ２）によってチャンネル０〜２が選択された場合が示されている。グループ・スキャンモード（ＧＲＰ＝１，ＳＣＡＮ＝１）は、複数のチャンネルのＡ／Ｄ変換を繰り返し行う場合に選択する。ＴＲＧＳ１，０に所定値がセットされた変換開始条件によって、ＡＤＳＴビットが“１”にセットされと、Ａ／Ｄ変換を開始する。ＡＤＳＴビットは、Ａ／Ｄ変換中に“１”を保持しており、ソフトウェアにより“０”にクリアされるまで“１”を保持する。指定された入力チャンネルの最初の全ての変換が終了すると、ＡＤＦフラグが“１”にセットされる。このとき、ＡＤＩＥビットが“１”にセットされていると、割り込み信号ＡＤＩによる割り込みが発生する。ＡＤＦフクグは、制御レジスタＡＤＣＳＲをリードした後、“０”をライトするとクリアされる。また、上記同様にビットクリア（ＢＣＬＲ）命令によりクリアすることもできる。
【００７８】
図１２において、ＡＤＳＴが“１”にセットされると、上記同様に選択信号０Ａによりチャンネル０（ＡＩＮ０）が選択され、サンプリング信号Ａが発生されてその取り込み（サンプリグ１）が行われその最後に上位２ビットの変換動作が行われる。この変換結果により前記のようにレベルシフト信号Ａが発生され、次に下位変換信号Ａが発生されて２ビットずつ４回に分けたＡ／Ｄ変換１の動作が行われる。変換動作の終了時にコントロールロジックからラッチ信号Ａが発生されて変換結果１がデータレジスタＡＤＤＲＡに取り込まれる。上記Ａ／Ｄ変換１の動作と並行して、選択信号１Ｂによりチャンネル１（ＡＩＮ１）が選択され、サンプリング信号Ｂが発生されてその取り込み（サンプリング２）が行われる。
【００７９】
上記チャンネル１の下位８ビットのＡ／Ｄ変換２の動作と並行して、選択信号２Ａが発生されてチャンネル２（ＡＩＮ２）が選択され、サンプリング信号Ａが発生されてその取り込み（サンプリング３）が行われる。上記チャンネル１のＡ／Ｄ変換結果２がデータレジスタＡＤＤＲＢに取り込まれるとともに、上記チャンネル２（ＡＩＮ２）のＡ／Ｄ変換３の動作が行われる。このＡ／Ｄ変換３の動作と並行し選択信号０Ｂが発生されてチャンネル０（ＡＩＮ０）が選択され、サンプリング信号Ｂによりその取り込み（サンプリング４）が行われる。この最後のチャンネルのＡ／Ｄ変換動作の終了により、ＡＤＦフラグが“１”にセットされる。このように複数チャンネルでのサンプリングとその変換動作とがパイプライン方式により繰り返し行われ、ソフトウェアによりＡＤＳＴが“０”にクリアされると変換動作が停止される。
【００８０】
図１３には、バッファ動作を説明するためのタイミング図が示されている。同図には、セレクト・スキャンモード（ＧＲＰ＝０，ＳＣＡＮ＝１）の場合が例として示されている。バッファ動作では、当該チャンネルの変換が終了すると、変換結果をデータレジスタＡＤＤＲＡに格納すると同時に、その以前に格納していた変換結果を別のデータレジスタに転送する。バッファ動作には、制御レジスタＡＤＣＲのビット０，１（ＢＵＦＥ０，ＢＵＦＥ１）に格納されているデータに従って、ＡＩＮ０→ＡＤＤＲＡ→ＡＤＤＲＢの２段の動作と、ＡＩＮ０→ＡＤＤＲＡ→ＡＤＤＲＣ、ＡＩＮ１→ＡＤＤＲＢ→ＡＤＤＲＤの２段２組の動作と、ＡＩＮ０→ＡＤＤＲＡ→ＡＤＤＲＢ→ＡＤＤＲＣ→ＡＤＤＲＤの４段１組の動作の中のいずれかを選択できる。この場合でもチャンネル４〜７は通常のＡ／Ｄ変換動作を実行できる。また、バッファレジスタに変換結果が格納されレジスタが飽和（あらかじめ指定されたレジスタの全てにＡ／Ｄ変換済のデータが書き込まれたとき）したとき、ＡＤＦフラグが“１”にセットされる。このとき、ＡＤＩＥビットが“１”にセットされていると、割り込み信号ＡＤＩによる割り込みが発生する。ＡＤＦフクグは、制御レジスタＡＤＣＳＲをリードした後、“０”をライトするとクリアされる。また、上記同様にビットクリア（ＢＣＬＲ）命令によりクリアすることもできる。
【００８１】
図１３は、ＡＩＮ０→ＡＤＤＲＡ→ＡＤＤＲＢの２段の動作の場合が示されている。前記セレクト・スキャンモード（ＧＲＰ＝０，ＳＣＡＮ＝１）により変換結果１がラッチ信号Ａに従ってデータレジスタＡＤＤＲＡに格納され、変換結果２が形成されると上記変換結果１がラッチ信号Ｂに従ってデータレジスタＡＤＤＲＢに転送され、データレジスタＡＤＤＲＡには上記変換結果２がラッチ信号Ａに従って格納される。このようにバッファレジスタに変換結果が格納されレジスタが飽和したとき、ＡＤＦフラグが“１”にセットされる。３回目のＡ／Ｄ変換３の動作が終了した後にソフトウェアによりＡＤＳＴが“０”にクリアされると変換動作が停止され、データレジスタＡＤＤＲＡには変換結果３が、ＡＤＤＲＢには変換結果２が格納されることになる。
【００８２】
図１４は、ＡＩＮ０→ＡＤＤＲＡ→ＡＤＤＲＣ、ＡＩＮ１→ＡＤＤＲＢ→ＡＤＤＲＤの２段２組の動作場合が示されている。前記グループ・スキャンモード（ＧＲＰ＝１，ＳＣＡＮ＝１）により変換結果１がラッチ信号Ａに従ってデータレジスタＡＤＤＲＡに格納され、変換結果２がラッチ信号Ｂに従ってデータレジスタＡＤＤＲＢに格納される。そして、変換結果３が形成されると上記変換結果１がラッチ信号Ｃに従ってデータレジスタＡＤＤＲＣに転送され、データレジスタＡＤＤＲＡにはラッチ信号Ａに従って上記変換結果３が格納される。同様に、変換結果４が形成されると上記変換結果２がラッチ信号Ｄに従ってデータレジスタＡＤＤＲＤに転送され、データレジスタＡＤＤＲＢには上記変換結果４がラッチ信号Ｂに従って格納される。このようにバッファレジスタに変換結果が格納されレジスタが飽和したとき、ＡＤＦフラグが“１”にセットされる。
【００８３】
同時サンプリング動作では、２チャンネルの入力電圧を同時にサンプリングし、連続変換を行う。同時サンプリング動作（ＤＳＭＰ＝１）を指定すると、制御レジスタＡＤＣＳＲのＣＨ２とＣＨ１ビットの指定により、２チャンネルずつの変換を行う。同時サンプリング動作におけるチャンネルの選択方法を次の表３に示す。ＣＨ０ビットは無効である。
【００８４】
【表３】
0003565613.tif 000004
【００８５】
図１５には、同時サンプリング動作を説明するためのタイミング図が示されている。同図には、グループ・シングルモードの場合が例として示されている。同図において、ＤＳＭＰが“１”、ＡＤＳＴが“１”にセットされると、コントロールロジックから出力される選択信号ＡとＢによりチャンネル０と１（ＡＩＮ０とＡＩＮ１）が選択され、サンプリング信号ＡとＢが発生されてその取り込みが同時に行われ、その最後にチャンネル０側で上位２ビットの変換動作が行われる。この変換結果により前記のようにレベルシフト信号Ａが発生され、次にチャンネル０のコントロールロジックから下位変換信号Ａが発生されて２ビットずつ４回に分けたＡ／Ｄ変換１の動作が行われる。変換動作の終了時にコントロールロジックからラッチ信号Ａが発生されて、変換結果１がデータレジスタＡＤＤＲＡに取り込まれる。上記Ａ／Ｄ変換１の動作の終了の次に、上記チャンネル１のＡ／Ｄ変換動作が行われ、その変換結果２がデータレジスタＡＤＤＲＢに取り込まれる。このＡ／Ｄ変換２の動作の終了により、ＡＤＦフラグが“１”にセットされる。
【００８６】
図１６には、同時サンプリング動作を説明するためのタイミング図が示されている。同図には、グループ・スキャンモード場合が例として示されている。同図において（ＤＳＭＰ＝１，ＧＲＰ＝１，ＳＣＡＮ＝１）、ＡＤＳＴが“１”にセットされると、選択信号１Ａと１Ｂによりチャンネル０と１（ＡＩＮ０とＡＩＮ１）が選択され、サンプリング信号１Ａと１Ｂが発生されてその取り込みが同時に行われ、その最後にチャンネル０側で上位２ビットの変換動作が行われる。この変換結果により前記のようにコントロールロジックからレベルシフト信号Ａが発生され、次にチャンネル０の下位変換信号Ａが発生されて２ビットずつ４回に分けたＡ／Ｄ変換１の動作が行われる。変換動作の終了時にコントロールロジックからラッチ信号Ａが発生されて変換結果１がデータレジスタＡＤＤＲＡに取り込まれる。上記Ａ／Ｄ変換１の動作の終了の次に上記チャンネル１のＡ／Ｄ変換動作が行われ、その変換結果２がデータレジスタＡＤＤＲＢに取り込まれる。この最初のＡ／Ｄ変換２の動作の終了により、ＡＤＦフラグが“１”にセットされる。
【００８７】
上記のＡ／Ｄ変換２の動作が終了すると、引き続き選択信号１Ａと１Ｂが発生されてチャンネル０と１（ＡＩＮ０とＡＩＮ１）が再び選択され、サンプリング信号１Ａと１Ｂが発生されてその取り込みが同時に行われる。その後に、ソフトウェアによりＡＤＳＴが“０”にクリアされると、変化動作が停止されて変換待機状態となる。
【００８８】
図１７には、インターバル動作を説明するためのタイミング図が示されている。制御レジスタＡＤＣＲのＩＮＴビットを“１”にセットすると、次のようなインターバル動作が行われる。例えば、グループ・スキャンモードが設定され、制御レジスタＡＤＣＳＲのＣＨ２〜ＣＨ０により０１０を設定して、入力信号ＡＩＮ０〜ＡＩＮ２を選択した場合を例にして説明する。
【００８９】
１回目のＡＩＮ０〜ＡＩＮ２のサンプリング・変換を前記のようなパイプライン方式により順次に行う。ＡＩＮ２のサンプリングのときに、ＢＵＳＹ信号が活性状態になる。以後、新規の変換は開始しない。ＡＩＮ２の変換が終了して、ＡＤＦフクグが“１”にセットされ、割り込み信号ＡＤＩによって割り込みが要求される。中央処理装置ＣＰＵないしデータ転送装置ＤＴＣが、かかる割り込みに応答して、変換結果を読み出して上記ＡＤＦフラグを“０”にクリアする。
【００９０】
特に、データ転送装置ＤＴＣによるＡＤＦフラグのクリアは、指定された全てのデータ転送終了後に行われる。中央処理装置ＣＰＵがＡＤＦフラグを“０”にクリアする場合には、ビットクリア（ＢＣＬＲ）命令により行うようにされる。この動作は、制御レジスタＡＤＣＳＲをバイト単位でリードして、ビット７のみを“０”にクリアして、ほかのビットは保持してバイト単位でライトされる。上記のような命令は、前記「Ｈ８／３００３  ハードウェアマニュアル」のＣＰＵと同様である。上記ＡＤＦフラグが“０”にクリアされると、ＢＵＳＹ信号が非活性状態になる。ＡＤＳＴビットは“１”に保持されていので、新しい変換が開始される。
【００９１】
図１８には、この発明に係るＡ／Ｄ変換器の動作を説明するための概略フローチャート図が示されている。以上のようなＡ／Ｄ変換器の概略動作をまとめて説明すると次のようになる。
【００９２】
ＡＤＳＴが“１”にセットされるまで待機状態になる。ＩＮＦが“１”にされたインターバル動作のときには、ＡＤＦフラグが“０”にクリアされるまで待機状態になる。制御レジスタＡＤＣＳＲ、ＡＤＣＲによって、変換するデータの数ｎを選択する。例えば、セレクトモードでバッファ動作、同時サンプリング以外ではｎ＝１となる。セレクトモードで、４段バッファ動作であれば、ｎ＝４となる。
【００９３】
第１チャンネルのサンプリングを行う。ｎ＞１であれば、サンプリングしたデータを変換するとともに次のサンプリング動作を行う。ｎをデクリメントする。ｎ＝１であれば、すなわち、最後のデータの変換であれば、ＢＵＳＹを“１”にセットする。シングルモードであれば、変換を行い、ＡＤＦフラグを“１”にセット、ＡＤＳＴビットを“０”にクリアして待機状態に戻る。
【００９４】
スキャンモードでインターバル動作でなければ、サンプリングしたデータを変換するとともに次のサンプリングを行う。ｎを再設定（初期値を回復）する。ＡＤＦフラグを“１”にセットし、動作を継続する。スキャンモードでインターバル動作であれば、サンプリングしたデータを変換する。ｎを再設定（初期値を回復）する。ＡＤＦフラグを“１”にセットし、ＡＤＦフラグが“０”にクリアされるまで待機状態になる。同時サンプリング動作の場合も、ＣＨＳ０ビットを“１”とみなすこと、及び２チャンネルの変換に１回２チャンネルのサンプリングを同時に行うことのほかは概略同様である。
【００９５】
ＰＷＲビットは、Ａ／Ｄ変換器の変換開始モードを選択する。ＰＷＲビットを“０”にクリアすると、アナログ回路（Ａ／Ｄ変換器、さらに詳しくは、アナログマルチプレクサ、サンプルホールド・レベルシフト回路Ａ・Ｂ、コンパレータアレイＡ・Ｂ、２ビット分圧、６ビット分圧）は変換動作以外、非アクティブ状態となる。また、ＰＷＲビットを“１”にセットすると高速スタートモードに設定され、アナログ回路は常にアクティブ状態に設定される。
【００９６】
ＰＷＲビットを“０”の低消費電力モードでは、ＡＤＳＴを“１”にセットすると同時にアナログ回路の電源がオン状態となり、制御レジスタＡＤＣＳＲのＣＫＳビットで選択した基準クロックの２００サイクルが経過すると、アナログ回路は変換可能な状態に移行し、１回目のＡ／Ｄ変換を開始する。連続して変換を行う場合、２回目以降のＡ／Ｄ変換動作は１０サイクルで行われる。指定されたＡ／Ｄ変換動作が終了すると、自動的にアナログ回路の電源がオフ状態になり、低消費電力となる。
【００９７】
バスインターフェイスは、データレジスタＡＤＤＲＡ〜ＡＤＤＲＤとバスマスタ（内部データバス）との間のインターフェイスであり、内部データバスは１６ビット幅である。このバスインターフェイスを介したバスマスタからのデータレジスタＡＤＤＲＡ〜ＡＤＤＲＤのリードは、ワード単位またはバイト単位のいずれも可能である。データレジスタＡＤＤＲのワード単位のリードは、データレジスタＡＤＤＲの内容が１６ビット一括してバスマスタへ転送される。また、バイト単位でのリードでは、変換されたデータ（ＡＤ９〜ＡＤ０）の上位ビット（ＡＤ９〜ＡＤ２）の内容がバスマスタへ転送される。下位の８ビットをバイト単位でリードすることはできない。
【００９８】
図１９には、上記バスインターフェイスを含む読み出し制御回路の主要部のブロック図が示されている。データレジスタＡＤＤＲ、モジュール内データバスＭＤＢ、バスインターフェイスＢＩＦは１０ビット構成とされる。同図では、１０ビットのデータは、ビット９−８、ビット７−２、ビット１−０に３分割されている。Ａ／Ｄ変換結果は、データレジスタＡＤＤＲの最上位ビットがビット９に対応するように格納される。
【００９９】
中央処理装置ＣＰＵ又はデータ転送装置ＤＴＣからの読み出しは、内部データバスを介してアドレス信号のデコード結果（デコード信号）、リード信号ＲＤ、ワード信号（ＷＯＲＤ）に基づいて制御されてデータが読み出される。リード時には、デコード信号とリード信号ＲＤとがアンドゲートを介して出力され、データレジスタＡＤＤＲＡ〜ＡＤＤＲＨ又は制御信号ＡＤＣＲ，ＡＤＣＳＲのいずれかが選択される。つまり、各レジスタに対応された出力バッファのいずれかが上記デコード信号により活性化されて、選択されたもののデータがモジュール内バスＭＤ９−０に出力され、かかるモジュール内バスＭＤ９−０を介してバスインターフェイスＢＩＦ９−０に転送される。
【０１００】
上記バスインターフェイスＢＩＦ９−０に取り込まれたデータは、２系統の出力バッフッァを介して出力される。一方は、上記３分割に分けられた１０ビットのデータがそのまま内部データバスＤＢ９−ＤＢ０に対応して出力される。他方は、上位ビットＢＩＦ９−２の８ビットが内部データバスＤＢ７−０に対応して出力される。上記１０ビットの読み出しは、リード信号ＲＤとワード信号ＷＯＲＤとが活性化状態のときにアンドゲート回路を通して上記のような１０ビットのデータを出力させるバッファ回路を活性化させる。このとき、１６ビット幅の内部バスのうち、ＤＢ１５−１０には“０”が出力される。１バイトの読み出しは、リード信号ＲＤとワード信号ＷＯＲＤが非活性状態のときにアンドゲート回路を通して上記８ビットに対応したバッファ回路が活性化される。このようなバイトサイズリードのときには、１０ビット分解能のＡ／Ｄ変換結果のうち、上位８ビットが有効とされ、いいかえるならば、２ビット分下方向にシフトされて内部データバスに出力される。
【０１０１】
この構成では、中央処理装置ＣＰＵ又はデータ転送装置ＤＴＣが随時ワード信号ＷＯＲＤを指定することによって、Ａ／Ｄ変換器の分解能を指定できる。例えば、中央処理装置ＣＰＵが１０ビット分解能の変換結果を得たいときには、上記ワード信号ＷＯＲＤを活性化してリードすればよい。例えば、転送命令ＭＯＶ，Ｗ  ＠ＡＤＤＲ，Ｒ０などを使用する。一方、中央処理装置ＣＰＵが８ビット分解能の変換結果を得たいときには、ワード信号ＷＯＲＤを非活性化してリードすればよい。例えば、転送命令ＭＯＶ，Ｗ  ＠ＡＤＤＲ，Ｒ０Ｈなどを使用する。このようにバスインターフェイスでのデータアライメントを行うようにすることにより、アライメント回路を共通にして論理規模の増加を抑制することができるとともに、ソフトウェアにより行う場合に比べて、シフト処理などを不要としたりして、中央処理装置ＣＰＵの負担が大幅に軽減できる。
【０１０２】
上記のようなバスサイズによる指定の他、アドレスが相異なるように配置してもよい。例えば、図２０のアドレスマップ図に示すように、１０ビットの分解能の変換結果がリードできるアドレスと、８ビット分解能の変換結果がリードできるアドレスとを独立して設けるものであってもよい。１０ビット分解能の変換結果がリードできるデータレジスタＡＤＤＲＡ〜ＡＤＤＲＨのアドレスを、ワード（１６ビット）単位で連続配置し、８ビット分解能の変換結果がリードできるデータレジスタＡＤＤＲＡ〜ＡＤＤＲＨのアドレスを、バイト（８ビット）単位で連続配置するようにすると都合がよい。特に、データ転送装置ＤＴＣによって、８ビット分解能の変換結果を読み出す場合に無駄なリードサイクルが発生しなくてすむ。
【０１０３】
図２０には、相対的なアドレスが表示されている。ＡＤＤＲＡ〜Ｈは、１６ビットレジスタとしてのアドレス（０−Ｆ）と８ビットレジスタとしてのアドレス（１０〜１７）の両方を持つ。相対アドレス０から始まるワードデータをリードすると、ＡＤＤＲＡに格納された変換結果が１０ビット分解能でリードされる。相対アドレス１０のバイトデータをリードすると、ＡＤＤＲＡに格納された変換結果が８ビット分解能（２ビット右シフトした下位側データ）でリードされる。
【０１０４】
図２１には、上記アドレス方式に対応した制御回路の例が示されている。データレジスタは、２つのアドレスに対するデコード信号の論理和信号を与えて読み出す。例えば、ＡＤＤＲＡには、デコード信号Ｗとしてアドレス０の検出信号と、デコード信号Ｂとしてアドレス１０の検出信号が供給される。バスインターフェイスＢＩＦには、アドレス０〜Ｆのいずれかが与えられたことを検出した信号によりバスインターフェイスＢＩＦ９−０を含む全部で１６ビットに対応した上記バッファ回路を活性化させる信号が形成されて１０ビット分解能の変換結果がリードされる。アドレス１０〜１７のいずれかが与えられたことを検出した信号に従ってバスインターフェイスＢＩＦ９−２に対応され、内部データバスの下位バイトに対応したバッファ回路が活性化されて８ビット分解能の変換結果がリードされる。
【０１０５】
図２２には、上記のようなワードデータとバイトデータのリードを説明するためのビット配置図が示されている。１６ビットからなるデータレジスタＡＤＤＲには、９−０に１０ビットからなる変換結果が格納され、１５−１０には“０”が格納されている。これをワードデータ（１０ビット分解能）としてリードするきには、データレジスタＡＤＤＲのビット０〜１５に格納されているデータが内部１６ビットデータバスに出力される。これに対して、バイトデータ（８ビット分解能）としてリードするときには、データレジスタＡＤＤＲのビット２〜９に格納されているデータが内部８ビットデータバスに出力される。
【０１０６】
図２３には、データレジスタＡＤＤＲＡ〜ＡＤＤＲＤの相互の回路構成図が示されている。この回路は、前記バッファ動作に対応されている。各レジスタＡＤＤＲＡ〜ＡＤＤＲＤには、バッファ回路を介して逐次比較レジスタからのデータを入力することができる。それぞれの選択信号ａないしｄが活性状態で、変換終了時のラッチ信号が活性状態になると、選択信号ａ〜ｄのうち上記活性状態に対応されたいずれかのデータレジスタに逐次比較レジスタの内容が取り込まれる。各レジスタＡＤＤＲＡ〜Ｄは、いわゆるマスタースレーブ構成になっている。
【０１０７】
ハッファ動作において、ＢＵＦＥ１，０ビットが０１のとき、バッファ動作１信号が活性状態になる。ＢＵＦＥ１，０ビットが１０のとき、バッファ動作２信号が活性状態になる。ＢＵＦＥ１，０ビットが１１のとき、バッファ動作３信号が活性状態になる。バッファ動作２〜３信号のそれぞれは、制御レジスタＡＤＣＲのＢＯＦＥ１，０にセットされたデータに基づいて、コントロールロジックから出力される。
【０１０８】
上記バッファ動作１信号が活性状態のとき、選択信号ａとラッチ信号が発生すると、データレジスタＡＤＤＲＡの古いデータがバッファ回路を介してデータレジスタＡＤＤＲＢに転送され、逐次比較レジスタの出力がデータレジスタＡＤＤＲＡに取り込まれる。
【０１０９】
上記バッファ動作２信号が活性状態のとき、選択信号ａとラッチ信号が発生すると、データレジスタＡＤＤＲＡの古いデータがバッファ回路を介してデータレジスタＡＤＤＲＣに転送され、逐次比較レジスタの出力がデータレジスタＡＤＤＲＡに取り込まれる。選択信号ｂとラッチ信号が発生すると、データレジスタＡＤＤＲＢの古いデータがバッファ回路を介してデータレジスタＡＤＤＲＤに転送され、逐次比較レジスタの出力がデータレジスタＡＤＤＲＢに取り込まれる。
【０１１０】
上記バッファ動作３信号が活性状態のとき、これにより制御されるバッファ回路により、データレジスタＡＤＤＲＡ→ＡＤＤＲＢ→ＡＤＤＲＣ→ＡＤＤＲＤの順にＡ／Ｄ変換結果の取り込みに同期して転送される。
【０１１１】
図２４には、アナログマルチプレクサの一実施例のブロック図が示されている。アナログ入力ＡＩＮ０〜ＡＩＮ７がＮチャンネル型ＭＯＳＦＥＴとＰチャンネル型ＭＯＳＦＥＴからなる全部で１６個のＣＭＯＳスイッチ回路を介してサンプルホールド・レベルシフト回路ＡとＢに対応した第１入力、第２入力として取り込まれる。スイッチの制御信号である選択信号０Ａ、０Ｂ〜７Ａ、７Ｂは、コントロールロジックから与えられる。例えば、アナログ入力ＡＩＮ４とＡＩＮ５をグループモードでかつ同時サンプリングによりＡ／Ｄ変換する場合には、第１に選択信号４Ａ、５Ｂが活性状態になって、アナログ入力ＡＩＮ４からの入力レベルがサンプルホールド・レベルシフト回路Ａにサンプリングされ、アナログ入力ＡＩＮ５からの入力レベルがサンプルホールド・レベルシフト回路Ｂにサンプリングされる。その後、上記同時サンプリングした結果を順次にＡ／Ｄ変換する。
【０１１２】
図２５には、アナログマルチプレクサの他の一実施例の回路図が示されている。上記同様に入力ポートとしての機能や保護回路などは省略されている。アナログ入力ＡＩＮ０〜ＡＩＮ７がＮチャンネル型ＭＯＳＦＥＴとＰチャンネル型ＭＯＳＦＥＴからなるＣＭＯＳスイッチ回路を介して前記同様な第１入力と第２入力として取り込まれる。この実施例では、２段のスイッチ回路により１つのアナログ入力が選ばれるようにされる。
【０１１３】
選択信号０１、２３、４５、６７及び選択信号ＥＡ、ＯＡ、ＥＢ、ＯＢはコントロールロジックから与えられる。選択信号０１、２３、４５、６７は、それぞれ隣り合ったアナログ入力を２チャンネルずつ選択する。選択信号０１、２３、４５、６７は、セレクトモードのときはＣＨＳ２、１ビットをデコードして生成される。グループモードのときは、コントロールロジック内部の状態信号などに従って生成される。選択信号０１は、前記例の選択信号０Ａ、０Ｂ、１Ａ、１Ｂのオア信号とされる。同様に選択信号２３は、選択信号２Ａ，２Ｂ，３Ａ，３Ｂのオア信号、選択信号４５は選択信号４Ａ，４Ｂ，５Ａ，５Ｂのオア信号、選択信号６７は選択信号６Ａ，６Ｂ，７Ａ，７Ｂのオア信号である。選択信号ＯＡは、選択信号１Ａ，３Ａ，５Ａ，７Ａのオア信号とされる。選択信号ＥＡは、前記選択信号０Ａ、２Ａ、４Ａ、６Ａのオア信号とされる。選択信号ＥＢは選択信号０Ｂ，２Ｂ，４Ｂ，６Ｂのオア信号とされる。選択信号ＯＢは、前記選択信号１Ｂ、３Ｂ、５Ｂ、７Ｂのオア信号とされる。同時サンプリングは、グループモードの奇数番目のサンプリングを、直前の奇数番目のサンプリングと同時に行うものとされる。この構成では、スイッチの数を１２個と減らすことができる。
【０１１４】
図２６には、第８ポートＩＯＰ８に含まれるＢＵＳＹ出力制御回路の一実施例の回路図が示されている。ＢＵＳＹ出力は、データを入出力するポートと兼用にされる。ＢＵＳＹ出力制御回路は、端子、出力バッファ、データディレクションレジスタＤＤＲ、データレジスタＤＲ、入力バッファ、セレクタから構成される。
【０１１５】
データディレクションレジスタＤＤＲは、フリップフロップから構成される。図示されないライト信号とアドレスデコード信号とによって、ライト制御信号が与えられ、データバスの内容が書き込まれる。ＤＤＲを“１”にセットすると、端子は出力状態（出力バッファがイネーブル状態）になり、出力バッファの出力が端子に出力される。セレクタの制御信号は、Ａ／Ｄ変換器がＴＲＧＳ１，０ビットでＡＤＴＲＧによる外部トリガを選択したことを示す信号とされる。外部トリガを選択するとＡ／Ｄ変換器のＢＵＳＹ信号が選択される。外部トリガが非選択の場合には、データレジスタＤＲの出力が選択される。このデータレジスタＤＲは、フリップフロップから構成される。図示されないライト信号とアドレスデコード信号によってライト制御信号が与えられ、データバス上のデータがデータレジスタＤＲに書き込まれる。また、図示されないリード信号とアドレスデコード信号によってリード制御信号が与えられ、端子に供給されたデータがデータバスに読み出される。
【０１１６】
ＢＵＳＹ信号を外部に出力する場合には、ＡＤＴＲＧによる外部トリガを選択し、ＤＤＲを“１”にセットする。ＡＤＴＲＧ以外の変換開始を選択するような場合には、ＡＤＴＲＧを選択しない状態では、ポート出力としてＢＵＳＹ状態と同じレベルを出力しておくようにするとよい。
【０１１７】
ＢＵＳＹ信号は、ＡＤＴＲＧによってサンプリングを開始したときデータバッファに空きが１回分しかないときに活性状態にされる。ＡＤＦフラグが“１”にセットされていると、ＢＵＳＹ信号は活性状態とされる。この後、ＡＤＦフラグが“０”にクリアすると、ＢＵＳＹ信号は非活性状態になる。例えば、ＡＤＦフラグが“０”にクリアされた状態で、セレクトモードで、ＡＤＴＲＧ信号によって動作を開始すると、サンプリング開始時にＢＵＳＹ信号が活性状態になる。変換が終了すると、ＡＤＦフラグが“１”にセットされる。その後、中央処理装置ＣＰＵまたはデータ転送装置ＤＴＣによって、ＡＤＦフラグが“０”にクリアされると、ＢＵＳＹ信号は非活性状態になる。
【０１１８】
ＡＤＦフラグが“０”にクリアされた状態で、グループモードで、ＡＤＴＲＧ信号によって動作を開始すると、最後のチャンネルのサンプリング開始時にＢＵＳＹ信号が活性状態になる。１入力２レジスタのバッファ動作を指定した場合には、２回目のサンプリング時にＢＵＳＹ信号が活性状態になる。１入力４レジスタのバッファ動作を指定した場合には、４回目のサンプリング時にＢＵＳＹ信号が活性状態になる。２入力４レジスタのバッファ動作を指定した場合には、２回目の第２チャンネルのサンプリング時にＢＵＳＹ信号が活性状態になる。
【０１１９】
図２７には、ＰＷＲビットによるＡ／Ｄ変換器の動作を説明するためのタイミング図が示されている。変換待機状態ではＰＷＲビットは“０”にクリアされている。アナログ回路は非活性状態で、消費電流を低減させる。この状態で、ソフトウェア、外部トリガ又はタイマトリガによってＡＤＳＴビットを“１”にセットすると、コントロールロジック内のフラグＩＰＷＲが“１”にセットされる。アナログ回路は活性状態になるが、アナログ回路が安定動作する（演算増幅器のＭＯＳＦＥＴの充電など）まで、２００クロック期間、Ａ／Ｄ変換器は待機状態になる。その後、コントロールロジックから出力されるＰＯＮ信号が“１”になって、最初のＡ／Ｄ変換動作を行う。以後の動作は前記同様である。指定したＡ／Ｄ変換動作終了後、上記ＩＰＷＲフラグが“０”にクリアされ、アナログ回路は非活性状態になる。コントロールロジックに上記２００クロックをカウントするカウンタを持つ。
【０１２０】
予めソフトウェアによりＰＷＲビットを“１”にセットすると、内部ＩＰＷＲフラグが“１”にセットされ、この時点でアナログ回路は活性状態になり、所定の時間（上記２００クロック相当、例えば１０μｓ）を経過すると、Ａ／Ｄ変換器は変換可能状態になる。その後、ソフトウェアまたは外部トリガまたはタイマトリガによって、ＡＤＳＴビットを“１”にセットすると、内部ＰＯＮが“１”になって、直ちにＡ／Ｄ変換が開始される。内部ＩＰＷＲビットは保持される。上記２００クロックをカウントするカウンタは無効になる。
【０１２１】
定期的な外部入力のモニタなどに用いる場合には、例えば２００クロックよりも十分に遅い入力信号を変換する場合には、ＰＷＲビットを“０”にクリアしておき、Ａ／Ｄ変換が可能な場合にＡＤＳＴビットを“１”にセットして、変換を開始させ、Ａ／Ｄ変換終了割り込みルーチンでＰＷＲビットを“０”にクリアし、変換結果を処理するようにすればよい。ソフトウェアが２００クロックを計測する必要がなく（割り込み待ちでよい）、ソフトウェアの負担がない。また、アナログ回路が活性状態の期間を最低限にすることができるから、消費電流を低減することができる。
【０１２２】
所望のタイミングで直ちにＡ／Ｄ変換を開始する必要がある場合には、予め、例えばリセット処理ルーチンでソフトウェアによりＰＷＲビットを“１”にセットしておけばよい。２００クロック相当以上の時間が経過した後、所望の時点でソフトウェアによりＡＤＳＴビットを“１”にセットし、Ａ／Ｄ変換が開始される。上記ＰＷＲビット、ＡＤＳＴビットの以外のビットは任意に設定できる。
【０１２３】
システムないしシングルチップマイクロコンピュータ自体の初期化処理に、２００クロック以上必要とする場合が多いから、実使用上には、常にＡ／Ｄ変換が可能状態になる。その後は、ソフトウェア、外部トリガ又はタイマトリガによって、ＡＤＳＴビットを“１”にセットすることにより、Ａ／Ｄ変換が直ちに開始されるから、処理精度を向上したり、リアルタイム性を向上したりすることができる。
【０１２４】
図２８には、この発明に係るシングルチップマイクロコンピュータを用いた制御システムの一実施例のブロック図が示されている。同図のシングルチップマイクロコンピュータＭＣＵは、図１に示されたシングルチップマイクロコンピュータが用いられる。同図の制御システムは、上記シングルチップマイクロコンピュータを用いて、ＡＣインダクションモータ或いはブラシレスＤＣモータなどのモータ制御に向けられている。
【０１２５】
タイマＢによる相補３相のＰＷＭ出力（Ｕ，Ｕ＃、Ｖ，Ｖ＃、Ｗ，Ｗ＃）を用いて、インバータ回路を介してインバータモータＭを駆動する。かかる相補３相のＰＷＭ出力は、例えば、前記「Ｈ８／３００３  ハードウェアマニュアル」ｐｐ．３７４〜３８１なとに記載されている。前記の通り、正相／逆相の出力間にノーオーバーラップを設定できれば、インバータ回路を構成する直列接続されたトランジスタが同時にオン状態となり、かかるトランジスタを通して大きな貫通電流が発生することが防止できる。
【０１２６】
上記インバータ回路の出力が、モータを駆動する。例えば、上記インバータ回路の出力がモータの内部で、特に制限されないが、いわゆるＹ結線（又はスター結線）、あるいはΔ結線された固定子捲線に与えられる。ＰＷＭ出力の周期（搬送波周期）は、例えば４０００ステート（２０μｓ＝５ＫＨｚ）にされる。
【０１２７】
２相のインバータ駆動電流を検出して、Ａ／Ｄ変換器のアナログ入力ＡＩＮ４，５に入力する。上記の通り、インバータ回路の出力は、Ｙ結線（又はスター結線）、あるいはΔ結線されているから、３相の電流の合計値は０になる。２相の電流を検出することにより、３相目の電流を求めることができる。これらのＡ／Ｄ変換は、上記タイマＢのコンペアマッチＡ及びアンダーフローによって起動され、グループ・シングルモードで変換する。
【０１２８】
すなわち、制御レジスタは、タイマ出力に同期した、モータ電流の計測ができる。ハードウェアによってＡ／Ｄ変換器の起動ができるので、タイマの所定のタイミングから、モータの駆動電流を計測するまでの時間を短縮し、検出精度を向上できる。２０ステート（１μｓ）で、サンプリングを行い、８０ステート（４μｓ）で変換結果を得ることができる。２相分の電流を同時にサンプリングすることにより、電流の検出精度を向上し、タイマ出力に反映でき、制御精度を向上することができる。
【０１２９】
これらは精度が必要であり、ワードサイズで中央処理装置ＣＰＵがリードを行い、１０ビット分解能を得る。データは下位詰めになっているので、他のパラメータと直接演算ができる。中央処理装置ＣＰＵの処理の高速化を図ることができる。例えば、かかる電流の計測結果が意図した電流値と合致するように、ＰＷＭデューティの変更を行う。この発明に係るＡ／Ｄ変換器を用いることにより、測定精度が向上し、ソフトウェアの負担が軽減され、システム全体の処理性能を向上することができる。
【０１３０】
また、雰囲気温度や電圧検出などのセンサ回路の出力を、Ａ／Ｄ変換器のアナログ入力ＡＩＮ０、１、４〜７に入力する。例えば、タイマＡのコンペアマッチまたはオーバーフロー割り込みを、約１００ｍｓ毎に発生するようにする。かかる割り込み処理によって、中央処理装置ＣＰＵが制御レジスタを設定して、アナログ入力ＡＩＮ０、１、４〜７  は、例えばグループ・シングルモードにより一定時間間隔でセンサ情報のサンプリングを行う。
【０１３１】
これらの雰囲気温度や電源電圧等の分解能はさほど必要なく、バイトサイズで中央処理装置ＣＰＵがリードすることによって、８ビット分解能のデータを得ることができる。中央処理装置ＣＰＵは、これらの内容を判定して、各種のパラメータを変更したり、そのほかの入出力処理をする。例えば、タイマＢのＰＷＭデューティを変更する。タイマＡ及びタイマＢのそのほかの出力は、別のドライバ回路を介して別のＤＣモータ或いはステッピングモータを駆動する。入出力ポートＩＯＰ１〜３は、各種スイッチやリレーなどの制御を行う。
【０１３２】
図２９には、上記タイマＢとＡ／Ｄ変換器の動作の一例を説明するためのタイミング図が示されている。タイマＢは、２本のアップダウンカウンタＴＣＮＴ３とＴＣＮＴ４が０と周期設定レジスタとの間をアップ／ダウンの計数動作を行う。これらのカウンタＴＣＮＴ３，４とコンペアレジスタＵとのコンペアマッチによって、タイマ出力Ｕ、Ｕ＃を出力する。Ｕ，Ｕ＃は、互いに相補ノーオーバーラップの関係にあるＰＷＭ出力となる。同様に、図示されないコンペアレジスタＶ，Ｗとのコンペアマッチによってタイマ出力Ｖ，Ｖ＃とＷ，Ｗ＃を出力する。
【０１３３】
中央処理装置ＣＰＵは、タイマＢのチャンネル３の周期設定レジスタとのコンペアマッチ及びチャンネル４のアンダーフローの両方でＡ／Ｄ変換器を起動するようにする。中央処理装置ＣＰＵは、制御レジスタを入力チャンネルＡＩＮ２，３に設定し、タイマＢによる起動を選択した状態にしておく。上記の起動要因が発生しない状態ではＡ／Ｄ変換器は待機状態となっている。
【０１３４】
チャンネル３のコンペアマッチＡ３及びチャンネル４のアンダーフローの論理和信号が、Ａ／Ｄ変換器の起動信号としてタイマからＡ／Ｄ変換器に与えられる。上記の選択した起動信号が発生すると、アナログマルチプレクサ制御信号４Ａと５Ｂが同時に活性状態になり、ＡＩＮ２とＡＩＮ３の入力信号がそれぞれ同時にサンプルホールド・レベルシフト回路ＡとＢに蓄積される。その後に、順次にＡ／Ｄ変換動作ＡとＢが行われ、上記入力信号ＡＩＮ２とＡＩＮ３のＡ／Ｄ変換結果がデータレジスタに格納される。これによって、モータの駆動電流を計測することができる。これらを同時にサンプリングしているので、相対的な電流値を正確に計測することができる。また、これによって、３相目の電流値の計算結果も正確になる。
【０１３５】
図３０には、上記タイマＢとＡ／Ｄ変換器の他の動作の一例を説明するためのタイミング図が示されている。タイマＢは、上記同様に２本のアップダウンカウンタＴＣＮＴ３とＴＣＮＴ４が０、タイマＢ内の周期設定レジスタＧＲＡとの間をアップ／ダウンの計数動作を行う。上記同様に、これらのカウンタＴＣＮＴ３，４とコンペアレジスタＵとのコンペアマッチによって、タイマ出力Ｕ、Ｕ＃を出力する。Ｕ，Ｕ＃は、互いに相補ノーオーバーラップの関係にあるＰＷＭ出力となる。同様に、図示されないコンペアレジスタＶ，Ｗとのコンペアマッチによってタイマ出力Ｖ，Ｖ＃とＷ，Ｗ＃を出力する。
【０１３６】
Ａ／Ｄ変換器は、上記同様にタイマＢのチャンネル３の周期設定レジスタとのコンペアマッチ及びチャンネル４のアンダーフローの両方でＡ／Ｄ変換器を起動するようにする。Ａ／Ｄ変換器は、制御レジスタを入力チャンネルＡＩＮ２，３に設定し、タイマＢによる起動を選択した状態にしておく。上記の起動要因が発生しない状態ではＡ／Ｄ変換器は待機状態となっている。
【０１３７】
チャンネル３のコンペアマッチＡ３及びチャンネル４のアンダーフローの論理和信号が、Ａ／Ｄ変換器の起動信号としてタイマからＡ／Ｄ変換器に与えられる。上記の選択した起動信号が発生すると、上記同様にして上記入力信号ＡＩＮ２とＡＩＮ３のＡ／Ｄ変換結果がデータレジスタに格納される。これによって、モータの駆動電流を計測することができる。
【０１３８】
そのほか、タイマＡのコンペアマッチなどによって、一定時間毎にＡ／Ｄ変換器のそのほかの入力アナログ信号を変換したい場合には、前記タイマＡのコンペアマッチ割り込みで、中央処理装置ＣＰＵに割り込み処理を行わせる。この割り込み処理によって、中央処理装置ＣＰＵはＡ／Ｄ変換器の制御レジスタを再設定して、所望のアナログ入力を変換することにより、そのほかのセンサ情報などを入力することができる。この結果を、例えば中央処理装置ＣＰＵはパラメータ情報として、所望の処理を行い、以降のタイマ出力値の設定に反映させる。かかるＡ／Ｄ変換処理の終了後は、制御レジスタをタイマＢのチャンネル３の周期設定レジスタとのコンペアマッチ及びチャンネル４のアンダーフローの両方でＡ／Ｄ変換器を起動するようしておくことにより、上記入力信号ＡＩＮ２とＡＩＮ３からのモータ駆動電流に対応したＡ／Ｄ変換結果を得ることができる。このようにして、１つのＡ／Ｄ変換器で、ＰＷＭ出力に同期したモータ電流の計測と、そのほかのアナログ入力の変換を行うことができる。
【０１３９】
図３１には、上記シングルチップマイクロコンピュータの動作を説明するためのフローチャート図が示されている。（Ａ）において、リセットを解除すると、マイクロコンピュータの初期化が行われる。この初期化は、前記タイマＩＴＵ、Ａ／Ｄ変換器、データ転送装置ＤＴＣ、Ｉ／Ｏポートなどの初期化を含むものである。Ａ／Ｄ変換器は、タイマＩＴＵのトリガに従って入力チャンネルをＡＩＮ２，ＡＩＮ３を変換するように設定される。タイマＡは、インターバルタイマとして動作を開始させる。
【０１４０】
上記初期化が終了すると、モータの起動要求待ち状態になる。モータの起動要求は、例えば上位の中央処理装置ＣＰＵから入出力ポートを介したりして与えられる。起動要求が発生すると、所望の処理に従って、コンペア値を算出し、これをＲＡＭ上の第１の領域に配置する。
【０１４１】
タイマＩＴＵを起動する。タイマ出力が行われ、割り込み待ち状態になる。図２９のコンペアマッチ信号に対応したＩＭＩＡ３割り込み（山；周期Ｔ０，Ｔ２）あるいはアンダーフロー信号に対応したＵＶＩ４割り込み（谷；周期Ｔ１）が発生すると、Ａ／Ｄ変換器に起動信号が与えられて、自動的またはハードウェア的に初期設定に従って入力チャンネル２と３のＡ／Ｄ変換が行われる。また、上記ＩＭＩＡ３割り込み（山）あるいは上記ＵＶＩ４割り込み（谷）によって、データ転送装置ＤＴＣが起動され、前記ＲＡＭ上の所定のアドレスからタイマＩＴＵのバッファレジスタ（ＴＧＢ、ＤＲＧＣ、ＴＲＧＤ）にコンペア値が転送され、ＰＷＭのデューティが変更される。
【０１４２】
中央処理装置ＣＰＵの割り込み処理ルーチンによって、Ａ／Ｄ変換器の変換結果をリードして、２相分のモータ駆動電流を得る。また、これに基づいて３相目のモータ駆動電流が計算される。そのほか、予めＲＡＭ上の第２の領域に保持していたセンサ回路の入力値をリードする。上記及び図示されていないものの、速度指令やモータの位置・速度、モータ駆動電流、そのほかセンサの入力値を参照して、所望の処理を行って新しいコンペア値を計算する。これをＲＡＭ上の第１の領域に配置する。
【０１４３】
（Ｂ）のように、タイマＡのインターバル割り込みが発生すると、Ａ／Ｄ変換器の設定値変更を行い、ソフトウェアの起動によって、モータ駆動電流以外の、センサの入力値をＡ／Ｄ変換する。変換された結果は、ＲＡＭ上の第２領域に保持させる。Ａ／Ｄ変換器の設定をもとの状態に戻してリターンする。
【０１４４】
図３３には、この発明に係るシングルチップマイクロコンピュータを用いた他の制御システムの一実施例のブロック図が示されている。同図のシングルチップマイクロコンピュータＭＣＵは、図１に示されたシングルチップマイクロコンピュータが用いられる。同図の制御システムは、上記シングルチップマイクロコンピュータを用いて、カメラのレンズ部の自動焦点制御に向けられている。
【０１４５】
レンズ及びハーフミラーなどを通して得られた入力光は、ＣＣＤ（電荷移送素子）あるいはＢＡＳＩＳなどの光電変換素子で電気信号に変換される。かかる光電変換素子の出力は、増幅器やバッファなど等を含むインターフェイス回路を通してアナログ入力としてＡＩＮ０に入力される。また、上記インターフェイス回路が出力するトリガ信号ＡＤＴＲＧを外部トリガ端子を介して入力する。マイクロコンピュータからのＢＵＳＹ信号をインターフェイス回路内の論理ゲート回路に与えて、Ａ／Ｄ変換結果が処理されていない状態では、光電変換されたデータ（ＡＩＮ０）がシングルチップマイクロコンピュータＭＣＵに供給されることを中断するように指示する。インターフェイス回路は、光電変換素子の変換や読み出しの制御を行う。例えば、２次位相差検出方式で焦点の一致、不一致を検出する。
【０１４６】
この実施例のマイクロコンピュータＭＣＵは、レンズマイクロコンピュータＬ−ＭＣＵに対して指令を出力し、レンズのＡＦモータを駆動するようにさせる。上記のＬ−ＭＣＵに対する指令は、シリアルコミュニケーションインターフェイスＳＣＩにより行うようにしてもよいし、２相エンコーダパルスのようなものであってもよいし、あるいはその他のディジタル出力で行うようにしてもよい。また、ＡＦモータのエンコーダ入力をタイマＢのクロック入力（ＴＣＬＫＡ，ＴＣＬＫＢ）に入力して、ＡＦモータの速度／位置を検出する。これらをモニタしつつ、ＡＦモータを駆動する。
【０１４７】
上記シリアルコミュニケーションインターフェイスＳＣＩや入出力ポートを介して、メインマイクロコンピュータＭ−ＭＣＵやレンズマイクロコンピュータＬ−ＭＣＵ、さらにはＥＥＰＲＯＭ（エレクトリカリ・イレーザブル＆プログラマブル・リード・オンリー・メモリ）との通信を行う。ＥＥＰＲＯＭは、各種の制御情報を格納する。例えば、ＥＥＰＲＯＭには、光電変換素子毎の受光感度を補正するためのデータを格納しておく。かかる補正によりＡＦ精度を向上させることができる。メインマイクロコンピュータＭ−ＭＣＵからは、動作モードの指令や焦点検出の開始の指令を入力したり、焦点検出の完了を通知したりする。そのほか、ポートの出力によって、ＬＥＤ（発光ダイオード）を駆動したり、焦点検出時の補助光などのランプを点灯したりそのほか各種スイッチ類などの入力をおこなったりする。
【０１４８】
Ａ／Ｄ変換器は、セレクト・シングルモード、バッファ動作、かつ外部トリガによる変換開始を選択する。変換終了割り込みによって、データ転送装置ＤＴＣを起動し、変換結果をＲＡＭ上に退避させる。図３２（Ａ）に示すように、外部トリガＡＤＴＲＧに所定の信号が発生すると、内部クロックφに同期化されてＡＤＳＴセット信号が発生され、その後半クロック遅れてＡＤＳＴビットが“１”にセットされ、Ａ／Ｄ変換動作が開始する。
【０１４９】
これに対して、前記のようなモータ駆動のような場合には、図３２（Ｂ）に示すように、内部クロックφに同期してコンペアマッチ信号又はアンダーフロー信号が発生され、次のクロックによりＡＤＳＴセット信号が発生され、上記同様に半クロック遅れてＡＤＳＴビットが“１”にセットされ、Ａ／Ｄ変換動作が開始される。
【０１５０】
上記Ａ／Ｄ変換動作が終了すると、変換結果がデータレジスタＡＤＤＲＡに格納され、上記ＡＤＳＴビットが“０”にクリアされて、変化待機状態になる。次の外部トリガ信号ＡＤＴＲＧが発生すると、上記同様にＡＤＳＴビットが“１”にセットされ、ＡＩＮ０の入力がＡ／Ｄ変換される。変換が終了すると、前記のようなバッファ動作によってデータレジスタＡＤＤＲＡの内容がＡＤＤＲＢに転送され、上記変換結果がＡＤＤＲＡに格納される。同様にして、４回の外部トリガ信号ＡＤＴＲＧによって、４回のＡ／Ｄ変換動作が行われてデータレジスタＡＤＤＲＡ〜ＡＤＤＲＤに変換結果が格納されると、ＡＤＦビットが“１”にセットされて変換終了割り込みが発生（コントロールロジックから割り込み信号ＡＤＩが出力される）する。
【０１５１】
変換終了割り込みによって、データ転送装置ＤＴＣを起動することにより、ブロック転送モードで４回分の変換結果がＲＡＭ上に退避される。これを所望の回数（ＤＴＣのカウンタに設定された回数）繰り返すと、中央処理装置ＣＰＵはこれらの情報をまとめて処理する。Ａ／Ｄ変換結果のデータアライメントを読み出す時にハードウェア的に行うようにすることにより、Ａ／Ｄ変換結果と、前記補正データを演算するような場合に、ソフトウェアでアライメントを行う必要がなく、ソフトフェアの負担の軽減と、高速化を図ることができる。前記処理によって得られた、デフォーカス量を、レンズのマイクロコンピュータＬ−ＭＣＵなどとの通信でえられたレンズ情報により、ＡＦモータの移動量（回連量）に換算する。例えば、Ａ／Ｄ変換器によって入力されるデータの量が２００個などとすれば、データ転送装置ＤＴＣの転送回数は５０回になる。
【０１５２】
データ転送装置ＤＴＣは、ＲＡＭ上に転送情報を格納するため、チャンネル数を多くとることができるが、データ転送に先立ってＲＡＭ上から転送情報をリードするなどの処理が必要である。バッファ動作とブロック転送モードを用いることによって、かかるＲＡＭからの転送情報のリードなどのオーバーヘッドを低減することができ、シングルチップマイクロコンピュータの全体的な処理速度を向上することができる。例えば、焦点の動体予測制御などを行う場合は、光電変換素子とＡ／Ｄ変換器とデータ転送装置ＤＴＣによるフォーカスの検出と、前回の検出結果に基づく、中央処理装置ＣＰＵのフォーカスの演算をオーバーラップして行うような場合に、上記ＤＴＣとＣＰＵとがバス権を取り合って、互いに制約しあう頻度を低減し、全体的な処理性能を向上させることができる。
【０１５３】
上記インターフェイス回路は、内部にタイミング回路などを有し、光電変換素子に変換結果の転送を指示する。ＢＵＳＹ信号が活性状態の場合は、かかる転送指示を阻止するようにする。
【０１５４】
図３４には、上記データ転送装置のブロック転送モードによるＡ／Ｄ変換器の読み出しのアドレスマップ図が示されている。データ転送装置ＤＴＣは、ソースアドレスレジスタＳＡＲにデータレジスタＡＤＤＲＡのアドレスを、デスティネーションアドレスレジスタＤＡＲに変換結果を格納するＲＡＭの先頭アドレスを設定する。そして、ソース側をブロック領域としたブロック転送モードを指定する。アドレスカウンタはインクリメントを指定する。データサイズはワードサイズを指定して、１０ビット分解能を得る。ブロックカウンタは４を設定する。転送カウンタは所定の数（Ｎ）、例えば前記例では５０を指定する。
【０１５５】
Ａ／Ｄ変換割り込みを許可し、ＤＴＥビットを“１”にセットして、データ転送装置ＤＴＣの起動要求とする。Ａ／Ｄ変換器は、ＡＩＮ０入力をバッファ動作を使用して変換するようにする。４回のＡ／Ｄ変換動作が行われると、Ａ／Ｄ変換動作終了割り込みによって、データ転送装置ＤＴＣが起動され、データレジスタＡＤＤＲＡからＲＡＭの第１のアドレス、データレジスタＡＤＤＲＢからＲＡＭの第２のアドレスへ、データレジスタＡＤＤＲＣからＲＡＭの第３のアドレスへ、データレジスタＡＤＤＲＤからＲＡＭの第４のアドレスへそれぞれ連続してデータ転送する。この後、上記割り込み要因フラグを自動的に“０”にクリアさせる。これを指定回数（Ｎ）繰り返すと、最後は割り込み要因フクグを“０”にクリアせず、ＤＴＥビットを“０”にクリアして、中央処理装置ＣＰＵにＡ／Ｄ変換終了割り込みを要求する。中央処理装置ＣＰＵは、全ての変換結果をまとめて処理することができる。
【０１５６】
Ａ／Ｄ変換終了割り込み間隔を、８０ステート（２０ステート×４）以上にできる。データ転送装置ＤＴＣの起動頻度と起動間隔を緩和してオーバーヘッド（ＲＡＭ上のレジスタ情報をリード／ライトする）を無くし、また、そのほかのバスマスタとの競合時の制約を緩和することができる。上記データ転送装置ＤＴＣを使用せず、中央処理装置ＣＰＵが割り込み処理などで変換結果を読み出す場合にも、例外処理やリターン命令などのオーバーヘッドを低減することができ、システム全体のスループットを向上させることができる。
【０１５７】
図３５には、上記データ転送装置のブロック転送モードによるＡ／Ｄ変換器の読み出しのタイミング図が示されている。バッファがフル（データレジスタＡＤＤＲＡ−ＨすべてがＡ／Ｄ変換済データを格納している）になるＡ／Ｄ変換のサンプリング動作を行うと、ＢＵＳＹ信号を活性状態にするようにしている。データ転送装置ＤＴＣ又は中央処理装置ＣＰＵが変換結果を読み出して、ＡＤＦフクグを“０”にクリアすると、ＢＵＳＹ信号は非活性状態になる。
【０１５８】
外部の例えば、インターフェイス回路がこの信号をモニタして、ＢＵＳＹ信号が活性状態の場合は、光電変換回路を停止したり、ＡＤＴＲＧ信号によるトリガを抑止したりすることができる。これによって、アナログ入力の変換を抜かされてしまったりすることがない。また、Ａ／Ｄ変換器が動作可能状態にあるときには連続して、アナログ入力を与え、Ａ／Ｄ変換器が動作待機状態にあるときには、アナログ入力を与えないようにすることによって、アナログ入力を最適化できる。つまり、遅い方にチューニングする必要がない。
【０１５９】
以上の実施例から得られる作用効果は、下記の通りである。
（１）２ビットずつのフラッシュ変換によって、Ａ／Ｄ変換の高速化を図ることができ、基準電圧生成回路を上位、中間及び回路のＤ／Ａ変換器（分圧回路）により分圧することにより、抵抗の個数を削減して物理的規模の縮小を図ることができるという効果が得られる。
【０１６０】
（２）２ビットずつのフラッシュ変換を行って、変換動作の高速化を図ってサンプリング時間と同等にすることによって、パイプライン動作を有効に利用することができるという効果が得られる。すなわち、サンプリング精度を低下させないために、サンプリング時間は一定時間より短縮できなく、変換時間はこれより高速化してもパイプラインの効果が少ないからである。
【０１６１】
（３）Ａ／Ｄ変換器がサンプルホールド回路とコンパレータを複数組有し、第１のステップでは第１のサンプリングを行い、第２のステップでは上記第１のサンプルホールド回路とコンパレータを用いた変換を行い、かつ第２のサンプリングを行い、第３のステップでは上記第２のサンプルホールド回路とコンパレータを用いた変換を行い、かつ第３チャンネルの第１のサンプリングを行うようにすることによって、Ａ／Ｄ変換動作の開始から、指定した全てのチャンネルの変換を終了するまでの時間を短縮させることができるという効果が得られる。これにより、信号変化の周波数の高い、複数のアナログ入力の計測精度を向上させることができるという効果が得られる。
【０１６２】
（４）変換結果を格納するデータレジスタの内容が読み出されていない状態で、ＢＵＳＹ信号を出力することによって、外部でＡ／Ｄ変換器の動作が検出できるので、Ａ／Ｄ変換器が動作可能状態では順次アナログ入力を行い、Ａ／Ｄ変換器が動作不能状態（データレジスタがいっぱい）では、アナログ入力を待たせることができ、最適な動作を行うようにすることができるという効果が得られる。これにより、マージンをみて全体的な処理性能を低下させることがない。
【０１６３】
（５）中央処理装置ＣＰＵ及びデータ転送装置ＤＴＣがデータレジスタを読み出すときのデータサイズ（バイト又はワード）を判別して、読み出し分解能を自動的に選択し、読み出しデータをアライメント（読み出し最下位ビットをデータバス又はＣＰＵのレジスタの最下位ビットにする）することによって、ソフトウェアの負担を軽減することができるという効果が得られる。これにより、ＣＰＵにおいてシフト処理、あるいはオーバーフローの検出などを行うことが必要無いから、シングルチップマイクロコンピュータ全体の処理性能を向上させることができる。
【０１６４】
（６）ＰＷＲ＝“０”での変換開始（低速スタート）時では、待機時間後に自動的に変換を開始するので、ソフトウェア負担をかけることなく、消費電流を低減することができる。また、変換終了後に消費電力の低い状態に戻ることによって更に低消費電力化を図ることができるという効果が得られる。
【０１６５】
（７）ＰＷＲ＝“１”での変換開始（高速スタート）時では、変換開始指示からサンプリング完了までの時間を短縮して、測定精度を向上することができる。また、変換終了までの時間を短縮して処理性能の向上を図り、リアルタイム性の向上を実現できる。待機時間をソフトウェアで設定できるので、待機時間を絶対的な時間に従って最適化できるという各効果が得られる。
【０１６６】
（８）上記の高速スタートと低速スタートを切り替え可能にすることによって、多様な使用方法にも対応でき、使い勝手を良くすることができるという効果が得られる。
【０１６７】
（９）Ａ／Ｄ変換器を２個設けることにより、基準電圧生成回路やコントロールロジックを共通化し、物理的規模を縮小することができ、これに伴って消費電流も低減させることができるという効果が得られる。
【０１６８】
（１０）中央処理装置の命令実行ステート数と同等の変換時間でＡ／Ｄ変換の実行を可能にし、変換結果の読み出しや処理を容易にしてシステム全体の処理性能を向上させることができるという効果が得られる。
【０１６９】
（１１）  シングルチップマイクロコンピュータに内蔵したＡ／Ｄ変換器として、多様な応用に応えることができ、また、入力チャンネル毎の多様な変換や読み出しを行うことができるという効果が得られる。
【０１７０】
以上本発明者よりなされた発明を実施例に基づき具体的に説明したが、本願発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、アナログ入力チャンネル数は８チャンネルに限らず、例えば１６チャンネルなどとしてもよい。データレジスタの数も任意の数とすることができる。動作モードや制御レジスタの構成についても種々の変更が可能である。
【０１７１】
例えば、複数のサンプルホールド回路を設けなくてもよい。また、読み出しデータ幅は８／１６ビットに限定されるものではなく、任意のビット幅を設定してもよい。ただし、任意のビット幅に対するデータの出力形式及び出力条件は定めておく必要がある。コントロールロジックは、前記のように１回に１つのＡ／Ｄ変換動作しか行わないから、図２においてコンパレータアレイを複数のサンプルホールド・レベルシフト回路に共通に設けるようにしてもよい。つまり、共通のコンパレータアレイに対してスイッチを介してサンプルホールド・レベルシフト回路の出力を時分割的に伝えるようにしてもよい。
【０１７２】
Ａ／Ｄ変換動作の高精度化のためには、上記実施例のようにサンプルホールド・レベルシフト回路に一対一に対応してコンパレータアレイを設けることが望ましい。なぜなら、半導体集積回路に形成された比較的小さな容量値を持つキャパシタに入力信号を保持させているので、かかるキャパシタとコンパレータアレイとの間の寄生容量の容量値が大きくなると、かかる寄生容量との電荷分散によって比較される入力信号のレベルが変化してしまうからである。また、上記キャパシタの容量値を大きくすると、その分占有面積が増大するとともに、入力信号の取り込みに時間がかかり高速サンプリング動作が妨げられてしまう。
【０１７３】
シングルチップマイクロコンピュータのその他の機能ブロックについても何ら制約されない。タイマの構成やデータ転送装置の構成も応用システムに則して種々変更可能である。応用システムはモータ制御やカメラの自動焦点検出などに限定されないことはいうまでもない。
【０１７４】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるシングルチップのマイクロコンピュータに適用した場合について説明したが、それに限定されるものではなく、その他の半導体集積回路装置又はデータ処理装置にも適用可能であり、本発明は少なくともとＣＰＵ等のデータ処理装置とＡ／Ｄ変換器を内蔵する半導体集積回路装置及びそれを用いた制御システムに広く利用できるものである。
【０１７５】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。すなわち、（１）Ａ／Ｄ変換器を内蔵した半導体集積回路装置において、入力チャンネルを複数個設け、入力アナログ信号を複数のサンプルホールド回路により保持し、第１のサンプリングを行い、かかるサンプリングよりホールドされたアナログ信号をＡ／Ｄ変換するとともに第２のサンプリングを行い、そのサンプリングされたアナログ信号を次にＡ／Ｄ変換するというパイプライン動作や、上記複数のサンプルホールド回路を用いて同時にサンプリングさせる。このようなパイプライン処理を行い、Ａ／Ｄ変換器は複数の入力データを並列処理することができ、実効的にサンプリング時間を無くすことができるから、複数のアナログ入力信号を連続して変換する場合にＡ／Ｄ変換動作の高速化ができる。複数のアナログ入力信号を同時に保持し、その後に順次に変換することにより、回路規模を増加させることなく、複数のアナログ値の相対的な値が重要とされる制御動作の信頼性を高くすることができる。
【０１７６】
（２）Ａ／Ｄ変換器を内蔵した半導体集積回路装置において、起動信号により直ちに応答してＡ／Ｄ変換動作を行う通常モードと、必要最小なバイアス電流しか流さない状態にあり起動信号が入力されてから安定に動作するまでの一定の時間経過後にＡ／Ｄ変換動作を行う待機モードを上記Ａ／Ｄ変換器に設ける。このように、ソフトウェアの負担なく、変換される入力信号に見合った合理的な変換動作により低消費電力化を図ることができるという効果が得られる。
【０１７７】
（３）Ａ／Ｄ変換器を内蔵した半導体集積回路装置において、Ａ／Ｄ変換結果の読み出し時にバスサイズに対応して内部バスに出力時に最上位ビットに合わせられるようにアライメントを行うことにより、ソフトウェアの負担なく、効率よくＡ／Ｄ変換結果を取り込むことができる。
【０１７８】
（４）Ａ／Ｄ変換器を内蔵した半導体集積回路装置において、繰り返し変換動作を行うときに、変換結果データの読み出しが完了するまで、新規のＡ／Ｄ変換動作を停止させることにより、繰り返し変換動作を行う場合、複数の変換データの相互の関係を保持することができる。
【図面の簡単な説明】
【図１】この発明が適用されたシングルチップのマイクロコンピュータの一実施例を示すブロック図である。
【図２】この発明が適用されたシングルチップマイクロコンピュータに搭載されるＡ／Ｄ変換器の一実施例を示すブロック図である。
【図３】上記Ａ／Ｄ変換器の動作を説明するための基本的タイミング図である。
【図４】上記Ａ／Ｄ変換器のサブレンジの電圧変換方式を説明するための電圧分布図である。
【図５】図２におけるコンパレータアレイの概略ブロック図である。
【図６】図２におけるサンプルホールド・レベルシフト回路の一実施例を示す回路図である。
【図７】この発明に係る同時サンプリングによるＡ／Ｄ変換動作の代表的な一例を説明するためのフローチャート図である。
【図８】この発明に係る通常サンプリングによるＡ／Ｄ変換動作の代表的な一例を説明するためのフローチャート図である。
【図９】この発明に係るセレクト・シングルモードを説明するためのタイミング図である。
【図１０】この発明に係るセレクト・スキャンモードを説明するためのタイミング図である。
【図１１】この発明に係るグループ・シングルモードを説明するためのタイミング図である。
【図１２】この発明に係るグループ・スキャンモードを説明するためのタイミング図である。
【図１３】この発明に係るバッファ動作の一例を説明するためのタイミング図である。
【図１４】上記バッファ動作の他の一例を説明するためのタイミング図である。
【図１５】この発明に係る同時サンプリング動作の一例を説明するためのタイミング図である。
【図１６】この発明に係る同時サンプリング動作の他の一例を説明するためのタイミング図である。
【図１７】この発明に係るインターバル動作を説明するためのタイミング図である。
【図１８】この発明に係るＡ／Ｄ変換器の動作を説明するための概略フローチャート図である。
【図１９】図２のバスインターフェイスを含む読み出し制御回路の主要部のブロック図である。
【図２０】上記図２のデータレジスタの相対的なアドレスマップ図である。
【図２１】図２のバスインターフェイスを含む読み出し制御をアドレス方式にしたときの制御回路の回路図である。
【図２２】この発明に係るワードデータとバイトデータのリードを説明するためのビット配置図である。
【図２３】図２のデータレジスタＡＤＤＲＡ〜ＡＤＤＲＤの相互の関係を示す回路構成図である。
【図２４】図２のアナログマルチプレクサの一実施例を示すブロック図である。
【図２５】図２のアナログマルチプレクサの他の一実施例を示すブロック図である。
【図２６】この発明に係るＢＵＳＹ出力制御回路の一実施例を示す回路図である。
【図２７】この発明に係るＡ／Ｄ変換器の動作を説明するためのタイミング図である。
【図２８】この発明に係るシングルチップマイクロコンピュータを用いた制御システムの一実施例を示すブロック図である。
【図２９】この発明に係るタイマＢとＡ／Ｄ変換器の動作の一例を説明するためのタイミング図である。
【図３０】この発明に係るタイマＢとＡ／Ｄ変換器の動作の他の一例を説明するためのタイミング図である。
【図３１】この発明に係るシングルチップマイクロコンピュータの動作を説明するためのフローチャート図である。
【図３２】この発明に係るＡ／Ｄ変換器の外部入力とタイマによる起動動作を説明するためのタイミング図である。
【図３３】この発明に係るシングルチップマイクロコンピュータを用いた制御システムの他の一実施例を示すブロック図である。
【図３４】この発明に係るデータ転送装置のブロック転送モードによるＡ／Ｄ変換器の読み出しのアドレスマップ図である。
【図３５】この発明に係るデータ転送装置のブロック転送モードによるＡ／Ｄ変換器の読み出しのタイミング図である。
【符号の説明】
ＣＰＵ…中央処理装置、ＲＡＭ…ランダム・アクセス・メモリ、ＲＯＭ…リード・オンリー・メモリ、ＳＣＩ…シリアルコミュニケーションインターフェイス、ＩＴＵ…タイマ、ＤＴＣ…データ転送装置（データトランスファコントローラ）、ＣＰＧ…クロック発生回路、ＩＯＰ１〜８…入出力ポート、ＡＤＤＲＡ〜ＡＤＤＲＨ…データレジスタ、ＡＤＣＲ，ＡＤＣＳＲ…制御レジスタ、ＢＩＦ…バッファ回路、ＭＤＢ…モジュール内バス、ＤＢ…内部データバス、ＤＤＲ…データディレクションレジスタ、ＤＲ…データレジスタ、ＭＣＵ…シングルチップマイクロコンピュータ、Ｌ−ＭＣＵ…レンズマイクロコンピュータ、Ｍ−ＭＣＵ…メインマイクロコンピュータ。
【図１】
0003565613.tif 000005
【図２】
0003565613.tif 000006
【図３】
0003565613.tif 000007
【図４】
0003565613.tif 000008
【図５】
0003565613.tif 000009
【図６】
0003565613.tif 000010
【図７】
0003565613.tif 000011
【図８】
0003565613.tif 000012
【図９】
0003565613.tif 000013
【図１０】
0003565613.tif 000014
【図１１】
0003565613.tif 000015
【図１２】
0003565613.tif 000016
【図１３】
0003565613.tif 000017
【図１４】
0003565613.tif 000018
【図１５】
0003565613.tif 000019
【図１６】
0003565613.tif 000020
【図１７】
0003565613.tif 000021
【図１８】
0003565613.tif 000022
【図１９】
0003565613.tif 000023
【図２０】
0003565613.tif 000024
【図２１】
0003565613.tif 000025
【図２２】
0003565613.tif 000026
【図２３】
0003565613.tif 000027
【図２４】
0003565613.tif 000028
【図２５】
0003565613.tif 000029
【図２６】
0003565613.tif 000030
【図２７】
0003565613.tif 000031
【図２８】
0003565613.tif 000032
【図２９】
0003565613.tif 000033
【図３０】
0003565613.tif 000034
【図３１】
0003565613.tif 000035
【図３２】
0003565613.tif 000036
【図３３】
0003565613.tif 000037
【図３４】
0003565613.tif 000038
【図３５】
0003565613.tif 000039