(57)【特許請求の範囲】
【請求項１】
中央処理装置と、
第１および第２の周辺回路を含む複数の周辺回路と、
１または複数の第１のチャネルおよび１または複数の第２のチャネルを含む複数の入力チャネルを有し、前記複数の入力チャネルのうちの１つの入力チャネルを選択し、選択中の入力チャネルに入力された信号をＡ／Ｄ変換する変換部とを備え、
前記１または複数の第１のチャネルに入力された信号のＡ／Ｄ変換結果は、前記第１の周辺回路での信号処理に用いられ、
前記１または複数の第２のチャネルに入力された信号のＡ／Ｄ変換結果は、前記第２の周辺回路での信号処理に用いられ、
前記１または複数の第１のチャネルに入力される信号は、前記１または複数の第２のチャネルに入力される信号よりも高速の処理が必要とされ、
前記変換部は、前記中央処理装置または前記複数の周辺回路のいずれかから受けたスキャン変換指令に応答して、前記複数の入力チャネルを所定の選択順に従って順次選択して連続的にＡ／Ｄ変換を行ない、
前記変換部は、前記スキャン変換指令に応答して、さらに、前記１または複数の第１のチャネルに入力された信号のＡ／Ｄ変換が完了した後でありかつ全入力チャネルの入力信号のＡ／Ｄ変換が完了する前に、Ａ／Ｄ変換の完了を前記第１の周辺回路に通知し、全入力チャネルの入力信号のＡ／Ｄ変換が完了した後に、Ａ／Ｄ変換の完了を前記第２の周辺回路に通知する、半導体装置。
【請求項２】
前記変換部は、前記１または複数の第１のチャネルに入力された信号のＡ／Ｄ変換の完了を、前記中央処理装置を介さずに前記第１の周辺回路に通知する、請求項１に記載の半導体装置。
【請求項３】
前記変換部は、
前記複数の入力チャネルを選択するための選択信号に応じて、１つの入力チャネルの入力信号を出力するチャネル選択部と、
前記選択信号を生成し、前記チャネル選択部から出力された信号のＡ／Ｄ変換を行なうＡ／Ｄ変換器とを含み、
前記Ａ／Ｄ変換器は、前記選択信号に基づいて、前記１または複数の第１のチャネルのうちで最終選択順に設定された第１のチャネルの選択を解除したタイミングを表わす信号、または前記最終選択順の第１のチャネルの次の選択順に設定された入力チャネルの選択を開始するタイミングを表わす信号を前記第１の周辺回路に出力することによって、前記第１の周辺回路にＡ／Ｄ変換の完了を通知する、請求項１または２に記載の半導体装置。
【請求項４】
前記変換部は、前記複数の入力チャネルにそれぞれ対応して設けられた複数のデータレジスタをさらに含み、
前記複数のデータレジスタの各々は、対応の入力チャネルに入力された信号のＡ／Ｄ変換結果を格納し、
前記第１の周辺回路は、前記１または複数の第１のチャネルの各々に対応するデータレジスタに格納されたＡ／Ｄ変換結果を、前記中央処理装置を介さずに読出可能である、請求項３に記載の半導体装置。
【請求項５】
前記変換部は、
前記複数の入力チャネルのうち１つの入力チャネルを選択し、選択した入力チャネルに入力された信号を出力するチャネル選択部と、
前記チャネル選択部から出力された信号のＡ／Ｄ変換を行なうＡ／Ｄ変換器と、
前記複数の入力チャネルにそれぞれ対応して設けられ、各々が、対応の入力チャネルに入力された信号のＡ／Ｄ変換結果を格納する複数のデータレジスタと、
前記１または複数の第１のチャネルにそれぞれ対応して設けられた１または複数のフラグレジスタとを含み、
前記１または複数のフラグレジスタの内容は、前記中央処理装置を介さずに前記第１の周辺回路から読出可能であり、
前記Ａ／Ｄ変換器は、前記１または複数の第１のチャネルの各々に入力された信号のＡ／Ｄ変換が完了したときに、対応のフラグレジスタをＡ／Ｄ変換が完了したことを表わす値に設定することによって、前記第１の周辺回路にＡ／Ｄ変換の完了を通知する、請求項１または２に記載の半導体装置。
【請求項６】
前記１または複数の第１のチャネルにそれぞれ対応する１または複数のデータレジスタに格納されたＡ／Ｄ変換結果は、前記中央処理装置を介さずに前記第１の周辺回路から読出可能であり、
前記第１の周辺回路は、前記１または複数の第１のチャネルの各々について、対応のデータレジスタに格納されたＡ／Ｄ変換結果を読出したときに、対応のフラグレジスタをＡ／Ｄ変換が未完了であることを表わす値に設定する、請求項５に記載の半導体装置。
【請求項７】
前記半導体装置は、バッファメモリをさらに備え、
前記第１の周辺回路は、前記中央処理装置を介さずに、前記バッファメモリに格納されたデータを読出可能であるとともに前記バッファメモリにデータが格納されているか否かを検知可能であり、
前記変換部は、前記第１または複数の第１のチャネルの各々に入力された信号のＡ／Ｄ変換結果を前記バッファメモリに書込むことによって、前記第１の周辺回路にＡ／Ｄ変換の完了を通知する、請求項１または２に記載の半導体装置。
【請求項８】
前記変換部は、前記１または複数の第１のチャネルにそれぞれ入力された信号を取り込む１または複数のサンプルホールド回路を含み、
前記変換部は、前記１または複数の第１のチャネルの各々について、対応のサンプルホールド回路に取り込まれている信号をＡ／Ｄ変換する、請求項１または２に記載の半導体装置。
【請求項９】
前記半導体装置は、前記スキャン変換指令を受けた前記変換部が全入力チャネルの入力信号のＡ／Ｄ変換が完了したときに、前記変換部から受けたＡ／Ｄ変換の完了の通知に応答して前記中央処理装置に対して割り込み信号を出力する割り込み制御回路をさらに備える、請求項１または２に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、アナログ／デジタル変換器を備えた半導体装置に関する。
【背景技術】
【０００２】
複数のチャネルから入力されるアナログ信号を、チャネルを切替えながらＡ／Ｄ（Analog  to  Digital）変換を行なうＡ／Ｄ変換器では、高速処理が必要な信号と低速処理が可能な信号とが混在して入力される場合が多い。この場合、高速処理の必要な信号のＡ／Ｄ変換が所望の時刻までに完了しないという処理遅延が生じることがある。
【０００３】
たとえば、特開２０１０−４１１５２号公報（特許文献１）には、このような処理遅延を低減するための技術が開示されている。この文献に記載の技術では、Ａ／Ｄ変換器の起動セットを行ってからＡ／Ｄ変換器の起動が行われるまで、既にセットしたチャネルとは異なるチャネルについての非同期のＡ／Ｄ変換要求があると、Ａ／Ｄ変換要求のあった複数のチャネルについてのＡ／Ｄ変換を行なうのに要する時間を考慮した所定時間後にＡ／Ｄ変換が行われるように、ＡＤ変換器の起動セットが再度行なわれる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−４１１５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、複数の入力チャネルを有するＡ／Ｄ変換器では、通常、複数の入力チャネルを順次選択して全チャネルの入力信号を連続的にＡ／Ｄ変換するスキャン変換モードが用意されている。この場合、全チャネルのＡ／Ｄ変換結果は一旦レジスタに格納され、一連のＡ／Ｄ変換が完了した時点で中央処理装置（ＣＰＵ：Central  Processing  Unit）に割り込みをかけてレジスタに格納されたデータが読出される。
【０００６】
しかしながら、このような方法では、全チャネルのＡ／Ｄ変換が終了するまでＡ／Ｄ変換後のデータの処理が行なえないので、高速処理の必要な信号について処理遅延が生じてしまうおそれがある。
【０００７】
この発明は上記の問題を考慮してなされたものである。この発明の目的は、複数のチャネルに入力された信号をスキャン変換するＡ／Ｄ変換器を備えた半導体装置において、比較的高速処理の必要な入力信号の処理の遅延を従来よりも低減することである。
【課題を解決するための手段】
【０００８】
この発明の実施の一形態による半導体装置は、中央処理装置と、第１および第２の周辺回路を含む複数の周辺回路と、変換部とを備える。変換部は、１または複数の第１のチャネルおよび１または複数の第２のチャネルを含む複数の入力チャネルを有し、複数の入力チャネルのうちの１つの入力チャネルを選択し、選択中の入力チャネルに入力された信号をＡ／Ｄ変換する。ここで、１または複数の第１のチャネルに入力された信号のＡ／Ｄ変換結果は、第１の周辺回路での信号処理に用いられる。１または複数の第２のチャネルに入力された信号のＡ／Ｄ変換結果は、第２の周辺回路での信号処理に用いられる。１または複数の第１のチャネルに入力される信号は、１または複数の第２のチャネルに入力される信号よりも高速の処理が必要とされる。上記の変換部は、中央処理装置または複数の周辺回路のいずれかからスキャン変換指令を受けた場合に、複数の入力チャネルを所定の選択順で順次選択して連続的にＡ／Ｄ変換を行なう。変換部は、スキャン変換指令を受けた場合に、１または複数の第１のチャネルに入力された信号のＡ／Ｄ変換が完了した後でありかつ全入力チャネルの入力信号のＡ／Ｄ変換が完了する前に、Ａ／Ｄ変換の完了を第１の周辺回路に通知し、全入力チャネルの入力信号のＡ／Ｄ変換が完了した後に、Ａ／Ｄ変換の完了を第２の周辺回路に通知する。
【発明の効果】
【０００９】
上記の実施の形態によれば、１または複数の第１のチャネルに入力される比較的高速処理の必要な入力信号の処理の遅延を従来よりも低減することができる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１によるマイクロコントローラ１００の構成を示すブロック図である。
【図２】図１のマイクロコントローラ１００の動作を説明するためのタイミング図である。
【図３】この発明の実施の形態１の変形例によるマイクロコントローラ１００Ａの構成を示すブロック図である。
【図４】図３のマイクロコントローラ１００Ａの動作を説明するためのタイミング図である。
【図５】この発明の実施の形態２によるマイクロコントローラ１００Ｂの構成を示すブロック図である。
【図６】図５のマイクロコントローラ１００Ｂの動作を説明するためのタイミング図である。
【図７】この発明の実施の形態３によるマイクロコントローラ１００Ｃの構成を示すブロック図である。
【図８】図７のマイクロコントローラ１００Ｃの動作を説明するためのタイミング図である。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態について図面を参照して詳しく説明する。なお、同一または相当する部分には同一の参照符号を付して、その説明を繰返さない。
【００１２】
＜実施の形態１＞
図１は、この発明の実施の形態１によるマイクロコントローラ１００の構成を示すブロック図である。
【００１３】
図１では一例としてマイクロコントローラ１００が三相同期モータの制御に用いられる例が示される。マイクロコントローラ１００は入力端子Ｔ０〜Ｔ５を有する。入力端子Ｔ０〜Ｔ２は同期モータ１０１に接続され、各相のモータ電流の検出信号が入力される。入力端子Ｔ３，Ｔ４はそれぞれ温度センサ１０２，１０３に接続され、温度センサ１０２，１０３の検出信号が入力される。温度センサ１０２，１０３は、たとえばインバータ回路に設けられたスイッチング素子の温度を検出したり、同期モータの電機子巻線の温度を検出したりするのに用いられる。入力端子Ｔ５はファンモータ１０４に接続され、ファンモータ１０４の駆動電圧の検出値が入力される。入力端子Ｔ０〜Ｔ２に入力されるモータ電流の検出信号は同期モータのフィードバック制御に用いられるので、温度センサの検出信号やファンモータのモータ電圧の検出信号に比べて高速の処理が必要である。
【００１４】
図１に示すように、マイクロコントローラ（半導体装置）１００は、ＣＰＵ１と、変換部２と、周辺回路ＩＰ０，ＩＰ１，ＩＰ２と、割り込み制御回路３と、ＤＭＡ制御回路４と、共通バス５とを含む。ＣＰＵ１、変換部２、周辺回路ＩＰ０，ＩＰ１，ＩＰ２、およびＤＭＡ制御回路４は、共通バス５を介して接続される。
【００１５】
ＣＰＵ１は、図示を省略したメモリ回路に記憶されたプログラムに従って動作し、マイクロコントローラ１００全体の動作を制御する。
【００１６】
変換部２は、複数の入力チャネルＣＨ０〜ＣＨ５（総称する場合、入力チャネルＣＨとも称する）を有し、ＣＰＵ１または周辺回路ＩＰ０〜ＩＰ２などの要求に応じて、選択した１つの入力チャネルの入力信号をＡ／Ｄ変換する。変換部２は、動作モードとして、入力チャネルＣＨ０〜ＣＨ５をこの順に順次選択して全チャネルの入力信号を連続的にＡ／Ｄ変換するスキャン変換モードを有する。
【００１７】
実施の形態１の場合、入力チャネルＣＨ０〜ＣＨ２には比較的高速の処理が必要な各相のモータ電流の検出信号が入力される。入力チャネルＣＨ３，ＣＨ４には温度センサ１０２，１０３の検出信号がそれぞれ入力される。入力チャネルＣＨ５にはファンモータ１０４のモータ電圧の検出信号が入力される。
【００１８】
変換部２は、チャネル選択部１１と、Ａ／Ｄ変換器１２と、レジスタ群１３とを含む。チャネル選択部１１は、Ａ／Ｄ変換器１２から受けた選択信号ＳＥＬに従って、入力チャネルＣＨ０〜ＣＨ５に入力された信号のうち１つの信号を選択し、選択した信号を出力する。実施の形態１の場合、選択信号ＳＥＬは６ビットの信号であるとし、各ビット信号が変換部２の各チャネルＣＨに対応する。各入力チャネルＣＨは、対応のビット信号がＨレベルのときに選択中になる。
【００１９】
Ａ／Ｄ変換器１２は、上記の選択信号ＳＥＬを生成し、選択信号ＳＥＬに応答してチャネル選択部１１から出力された信号のＡ／Ｄ変換を行なう。レジスタ群１３は、入力チャネルＣＨ０〜ＣＨ５にそれぞれ対応するデータレジスタＲＡ０〜ＲＡ５（総称する場合、データレジスタＲＡとも称する）を含む。各データレジスタＲＡは、対応の入力チャネルＣＨに入力された信号のＡ／Ｄ変換結果を格納する。
【００２０】
周辺回路ＩＰ０は、入力チャネルＣＨ０〜ＣＨ２に入力されたモータ電流の検出信号のＡ／Ｄ変換結果を用いて信号処理を行なう。周辺回路ＩＰ０は、入力チャネルＣＨ０〜ＣＨ２にそれぞれ対応して設けられたデータレジスタＲＡ０〜ＲＡ２と専用線を介して接続され、ＣＰＵ１を介さずにデータレジスタＲＡ０〜ＲＡ２に格納されたＡ／Ｄ変換結果を読み出すことができる。
【００２１】
周辺回路ＩＰ０には、Ａ／Ｄ変換器１２によって生成された選択信号ＳＥＬのうち一部のビット信号が入力される。図２で説明するように、選択信号ＳＥＬはＡ／Ｄ変換の完了を通知するための信号として用いられる。変換部２がスキャン変換を行なう場合に、この選択信号ＳＥＬによって周辺回路ＩＰ０は全入力信号のＡ／Ｄ変換が完了する前に入力チャネルＣＨ０〜ＣＨ２の入力信号のＡ／Ｄ変換が完了したことを知得することができる。
【００２２】
周辺回路ＩＰ１は、入力チャネルＣＨ３，ＣＨ４に入力された温度センサ１０２，１０３の検出信号のＡ／Ｄ変換結果を用いた信号処理を行なう。図１の場合には、周辺回路ＩＰ１は、データレジスタＲＡ３，ＲＡ４と専用線を介して接続され、ＣＰＵ１を介さずにデータレジスタＲＡ３，ＲＡ４に格納された入力チャネルＣＨ３，ＣＨ４の入力信号のＡ／Ｄ変換結果を読み出すことができる。専用線を介して接続した場合、当該専用線を配線するための面積が必要なこと、一方で温度センサ１０２，１０３の検出信号は高速の処理を必要としないので、専用線を用いずに共通バス５およびＣＰＵ１を介して、データレジスタＲＡ３，ＲＡ４に格納されたＡ／Ｄ変換結果を周辺回路ＩＰ１に転送するようにしてもよい。
【００２３】
周辺回路ＩＰ２は、入力チャネルＣＨ５に入力されたファンモータ１０４のモータ電圧の検出信号を用いて信号処理を行なう。図１の場合には、周辺回路ＩＰ２は、データレジスタＲＡ５と専用線を介して接続され、ＣＰＵ１を介さずにデータレジスタＲＡ５に格納された入力チャネルＣＨ５の入力信号のＡ／Ｄ変換結果を読み出すことができる。周辺回路ＩＰ１と同様に、ファンモータ１０４のモータ電圧の検出信号は高速の処理を必要としないので、専用線を用いずに共通バス５およびＣＰＵ１を介して、データレジスタＲＡ５に格納されたＡ／Ｄ変換結果を周辺回路ＩＰ１に転送するようにしてもよい。
【００２４】
割り込み制御回路３は、ＣＰＵ１で実行中の処理を中断して優先度の高い処理を行なう割り込み動作を制御するための回路であり、変換部２や周辺回路などが発行する割り込み要求に応じて、ＣＰＵ１に対して割り込み発生を通知する。変換部２がスキャン変換を実行した場合には、割り込み制御回路３は、全入力チャネルのＡ／Ｄ変換が完了したときに変換部２からＡ／Ｄ変換完了を通知する完了通知信号ＣＭＰを受け、ＣＰＵ１に対して割り込み信号を出力する。
【００２５】
ＤＭＡ制御回路４は、ＣＰＵ１を介さずにデータ転送を行なうＤＭＡ（Direct  Memory  Access）転送を制御するための回路である。ＣＰＵ１は、スキャン変換の完了による割り込み制御信号を割り込み制御回路３から受けた場合に、ＤＭＡ制御回路４に対して、Ａ／Ｄ変換結果を周辺回路ＩＰ１，ＩＰ２に転送するように指令する。周辺回路ＩＰ１，ＩＰ２はＤＭＡ制御回路４からの制御信号によってＡ／Ｄ変換の完了を知得する。データレジスタＲＡ３，ＲＡ４に格納されたＡ／Ｄ変換結果は専用線を介して周辺回路ＩＰ１に転送され、データレジスタＲＡ５に格納されたＡ／Ｄ変換結果は専用線を介して周辺回路ＩＰ２に転送される。
【００２６】
図２は、図１のマイクロコントローラ１００の動作を説明するためのタイミング図である。図２では、図１の変換部２がＣＰＵ１または周辺回路ＩＰ０〜ＩＰ２のいずれかから、スキャン変換指令を受けた場合の動作が示される。図２では、上から順に、入力チャネルＣＨ０〜ＣＨ５を選択するための選択信号ＳＥＬの各ビット波形、完了通知信号ＣＭＰの波形、およびデータレジスタＲＡ０〜ＲＡ５の動作（書込中（Ｗ）または読出中（Ｒ））が示される。
【００２７】
図１、図２を参照して、時刻ｔ１から時刻ｔ２まではチャネルＣＨ０が選択され、チャネルＣＨ０に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ０に書込まれる。時刻ｔ３から時刻ｔ４まではチャネルＣＨ１が選択され、チャネルＣＨ１に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ１に書込まれる。時刻ｔ５から時刻ｔ６まではチャネルＣＨ２が選択され、チャネルＣＨ２に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ２に書込まれる。時刻ｔ７から時刻ｔ９まではチャネルＣＨ３が選択され、チャネルＣＨ３に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ３に書込まれる。時刻ｔ１０から時刻ｔ１１まではチャネルＣＨ４が選択され、チャネルＣＨ４に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ４に書込まれる。時刻ｔ１２から時刻ｔ１３まではチャネルＣＨ５が選択され、入力チャネルＣＨ５に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ５に書込まれる。
【００２８】
周辺回路ＩＰ０は、選択信号ＳＥＬのうち入力チャネルＣＨ３を選択するためのビット信号ＳＥＬ（ＣＨ３）をＡ／Ｄ変換器１２から受信する。入力チャネルＣＨ３の選択順は、周辺回路ＩＰ０に関係するチャネルＣＨ０〜ＣＨ２のうちで最終選択順の入力チャネルＣＨ２の次に設定されている。周辺回路ＩＰ０は、時刻ｔ７に入力チャネルＣＨ３がＨレベルになるタイミング（入力チャネルＣＨ３の選択が開始されるタイミング）をビット信号ＳＥＬ（ＣＨ３）から検知することによって、入力チャネルＣＨ０〜ＣＨ２に入力された信号のＡ／Ｄ変換の完了の通知を変換部２から受けたことになる。
【００２９】
Ａ／Ｄ変換の完了通知を受けた周辺回路ＩＰ０は、時刻ｔ８に、データレジスタＲＡ０〜ＲＡ２に格納されたＡ／Ｄ変換結果の読出を開始する。
【００３０】
全入力チャネルの入力信号に対するＡ／Ｄ変換が完了した後の時刻ｔ１４に、Ａ／Ｄ変換器１２は、割り込み制御回路３にＡ／Ｄ変換の完了を示す完了通知信号ＣＭＰを出力する。割り込み制御回路３から割り込み制御信号を受けたＣＰＵ１は、ＤＭＡ制御回路４にＡ／Ｄ変換結果の転送を指令する。次の時刻ｔ１５に、ＤＭＡ制御回路４は、データレジスタＲＡ３〜ＲＡ５から周辺回路ＩＰ１，ＩＰ２へＡ／Ｄ変換結果の転送を開始する。
【００３１】
上記のとおり実施の形態１のマイクロコントローラ１００によれば、周辺回路ＩＰ０にＡ／Ｄ変換の完了を通知するための信号として選択信号ＳＥＬが用いられる。これによって、周辺回路ＩＰ０は全入力チャネルの入力信号のＡ／Ｄ変換が完了する前にＡ／Ｄ変換結果を読み出すことができる。完了通知に選択信号ＳＥＬを用いる方法は、周辺回路ＩＰ０に選択信号ＳＥＬを受けるためのインターフェース部を付加することによって実現できるので、従来技術に比べて回路面積の増加は小さくて済む。
【００３２】
選択信号ＳＥＬのうち入力チャネルＣＨ２を選択するためのビット信号ＳＥＬ（ＣＨ２）をＡ／Ｄ変換完了を周辺回路ＩＰ０に通知するための信号として用いてもよい。この場合、周辺回路ＩＰ０は、入力チャネルＣＨ２を選択するためのビット信号ＳＥＬ（ＣＨ２）がＬレベルに切替わること（入力チャネルＣＨ２の選択が完了すること）を検出することによってＡ／Ｄ変換の完了を知得する。
【００３３】
上記の実施の形態では、チャネルＣＨ２に入力された信号のＡ／Ｄ変換の完了が周辺回路ＩＰ０に通知されたが、これに加えて、チャネルＣＨ０，ＣＨ１に入力される信号のＡ／Ｄ変換の完了を周辺回路ＩＰ０に通知するようにしてもよい。そうすると、周辺回路ＩＰ０は、チャネルＣＨ０，ＣＨ１に入力された信号のＡ／Ｄ変換が完了した直後からこれらのＡ／Ｄ変換結果をデータレジスタＲＡ０，ＲＡ１から読み出すことができる。
【００３４】
＜実施の形態１の変形例＞
図３は、この発明の実施の形態１の変形例によるマイクロコントローラ１００Ａの構成を示すブロック図である。図３に示す変換部２Ａは、入力チャネルＣＨ０〜ＣＨ２にそれぞれ対応するサンプルホールド回路ＳＨ０〜ＳＨ２（総称する場合、サンプルホールド回路ＳＨと記載する）をさらに含む点で図１に示す変換部２と異なる。図３のその他の点は図１と同じであるので、同一または相当する部分には同一の参照符号を付して説明を繰り返さない。
【００３５】
各サンプルホールド回路ＳＨは、対応の入力チャネルＣＨに入力された信号をサンプルホールドする。入力チャネルＣＨ０〜ＣＨ２に入力された信号のＡ／Ｄ変換は、サンプルホールド回路ＳＨ０〜ＳＨ２に取込まれた信号が用いられる。
【００３６】
サンプルホールド回路ＳＨが設けられていない場合、入力チャネルＣＨ０〜ＣＨ２の入力信号の時間変化がＡ／Ｄ変換に要する時間に比べて速い場合には、検出誤差が大きくなってしまう。図３のように、サンプルホールド回路ＳＨを設けることによって、同一のタイミングでサンプリングされた信号に対してＡ／Ｄ変換を行なうことができる。
【００３７】
図４は、図３のマイクロコントローラ１００Ａの動作を説明するためのタイミング図である。図４では、図３の変換部２ＡがＣＰＵ１または周辺回路ＩＰ０〜ＩＰ２のいずれかから、スキャン変換指令を受けた場合の動作が示される。図４には、上から順に、選択信号のうちチャネルＣＨ０を選択するビット信号の波形（ＳＥＬ（ＣＨ０））、チャネルＣＨ０の入力信号に対する変換部２Ａの動作（Ａ／Ｄ（ＣＨ０））、選択信号のうちチャネルＣＨ１を選択するビット信号の波形（ＳＥＬ（ＣＨ１））、チャネルＣＨ１の入力信号に対する変換部２Ａの動作（Ａ／Ｄ（ＣＨ１））、選択信号のうちチャネルＣＨ２を選択するビット信号の波形（ＳＥＬ（ＣＨ２））、チャネルＣＨ２の入力信号に対する変換部の動作（Ａ／Ｄ（ＣＨ２））が示される。さらに、選択信号ＳＥＬのうち入力チャネルＣＨ３〜ＣＨ５を選択するビット信号の波形、完了通知信号ＣＭＰの波形、およびデータレジスタＲＡ０〜ＲＡ５の動作（書込中（Ｗ）または読出中（Ｒ））が示される。
【００３８】
図３、図４を参照して、まず、時刻ｔｓに、チャネルＣＨ０〜ＣＨ２に入力された信号のサンプリングが開始される。次の時刻ｔｈに、チャネルＣＨ０〜ＣＨ２に入力された信号のサンプリングが終了し、サンプリングされた信号がホールドされる。サンプルホールド回路ＳＨ０にホールドされた入力信号は時刻ｔ１から時刻ｔ２の間にＡ／Ｄ変換が実行される。サンプルホールド回路ＳＨ１にホールドされた入力信号は時刻ｔ３から時刻ｔ４の間にＡ／Ｄ変換が実行される。サンプルホールド回路ＳＨ０にホールドされた入力信号は時刻ｔ５から時刻ｔ６の間にＡ／Ｄ変換が実行される。図４のその他の点については図２の場合と同じであるので、同一または相当する部分には同一の参照符号を付して説明を繰返さない。
【００３９】
＜実施の形態２＞
図５は、この発明の実施の形態２によるマイクロコントローラ１００Ｂの構成を示すブロック図である。
【００４０】
図５を参照して、マイクロコントローラ１００Ｂは、変換部２Ｂに設けられたレジスタ群１３Ａが入力チャネルＣＨ０〜ＣＨ２にそれぞれ対応して設けられたフラグレジスタＲＢ０〜ＲＢ２（総称する場合、フラグレジスタＲＢとも称する）をさらに含む点で、図１のマイクロコントローラ１００と異なる。さらに、図５のマイクロコントローラ１００Ｂでは、選択信号ＳＥＬの一部が周辺回路ＩＰ０に出力されない点で、図１のマイクロコントローラ１００と異なる。図５のその他の構成は図１の場合と同じであるので、同一または相当する部分には同一の参照符号を付して説明を繰返さない。
【００４１】
周辺回路ＩＰ０は、専用線を介して各フラグレジスタＲＢの内容の読出および書換が可能である。Ａ／Ｄ変換器１２は、入力チャネルＣＨ０〜ＣＨ２の各々に入力された信号のＡ／Ｄ変換が完了したときに対応のフラグレジスタＲＢを、Ａ／Ｄ変換の完了を表わす「１」に書換えることによって、周辺回路ＩＰ０にＡ／Ｄ変換の完了を通知する。周辺回路ＩＰ０は、データレジスタＲＡ０〜ＲＡ２に格納されたＡ／Ｄ変換結果を読み出したときに、各データレジスタＲＡに対応するフラグレジスタＲＢを、Ａ／Ｄ変換の未完了を表わす「０」に書き戻すことによって、変換部２にデータ読出の完了を通知する。
【００４２】
図６は、図５のマイクロコントローラ１００Ｂの動作を説明するためのタイミング図である。図６では、図５の変換部２ＢがＣＰＵ１または周辺回路ＩＰ０〜ＩＰ２のいずれかから、スキャン変換指令を受けた場合の動作が示される。図６では、上から順に、入力チャネルＣＨ０〜ＣＨ５を選択するための選択信号ＳＥＬの各ビット波形、完了通知信号ＣＭＰの波形、フラグレジスタＲＢ０〜ＲＢ２の状態（ハイレベル「１」またはローレベル「０」）、およびデータレジスタＲＡ０〜ＲＡ５の動作（書込中（Ｗ）または読出中（Ｒ））が示される。
【００４３】
図５、図６を参照して、時刻ｔ１から時刻ｔ２まではチャネルＣＨ０が選択され、入力チャネルＣＨ０に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ０に書込まれる。時刻ｔ２において、Ａ／Ｄ変換器１２は、入力チャネルＣＨ０に入力された信号のＡ／Ｄ変換完了を周辺回路ＩＰ０に通知するために、フラグレジスタＲＢ０を「１」に書換える。
【００４４】
時刻ｔ３から時刻ｔ４まではチャネルＣＨ１が選択され、入力チャネルＣＨ１に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ１に書込まれる。時刻ｔ４において、Ａ／Ｄ変換器１２は、入力チャネルＣＨ１に入力された信号のＡ／Ｄ変換完了を周辺回路ＩＰ０に通知するために、フラグレジスタＲＢ１を「１」に書換える。
【００４５】
時刻ｔ５から時刻ｔ６まではチャネルＣＨ２が選択され、入力チャネルＣＨ２に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ２に書込まれる。時刻ｔ６において、Ａ／Ｄ変換器１２は、入力チャネルＣＨ２に入力された信号のＡ／Ｄ変換完了を周辺回路ＩＰ０に通知するために、フラグレジスタＲＢ２を「１」に書換える。
【００４６】
時刻ｔ７から時刻ｔ９まではチャネルＣＨ３が選択され、入力チャネルＣＨ３に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ３に書込まれる。時刻ｔ１０から時刻ｔ１１まではチャネルＣＨ４が選択され、入力チャネルＣＨ４に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ４に書込まれる。時刻ｔ１２から時刻ｔ１３まではチャネルＣＨ５が選択され、入力チャネルＣＨ５に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ５に書込まれる。
【００４７】
周辺回路ＩＰ０は、フラグレジスタＲＢ０〜ＲＢ２のデータ「１」を読み出すことによって、入力チャネルＣＨ０〜ＣＨ２に入力された信号のＡ／Ｄ変換が完了したことを知得する。このフラグレジスタＲＢの読出結果を受けて、周辺回路ＩＰ０は、時刻ｔ８から時刻ｔ１０までの間にデータレジスタＲＡ０〜ＲＡ２に格納されているＡ／Ｄ変換結果を読み出す。時刻ｔ１０にＡ／Ｄ変換結果の読み出しが完了すると、周辺回路ＩＰ０は、読出完了をＡ／Ｄ変換器に通知するために、フラグレジスタＲＢ０〜ＲＢ２に「０」を書込む。
【００４８】
全入力チャネルの入力信号に対するＡ／Ｄ変換の完了した後の時刻ｔ１４に、Ａ／Ｄ変換器１２は、割り込み制御回路３にＡ／Ｄ変換の完了を示す完了通知信号ＣＭＰを出力する。割り込み制御回路３から割り込み制御信号を受けたＣＰＵ１は、ＤＭＡ制御回路４にＡ／Ｄ変換結果の転送を指令する。次の時刻ｔ１５に、ＤＭＡ制御回路４は、データレジスタＲＡ３〜ＲＡ５から周辺回路ＩＰ１，ＩＰ２へＡ／Ｄ変換結果の転送を開始する。
【００４９】
上記のとおり、実施の形態２のマイクロコントローラ１００Ｂによれば、入力チャネルＣＨ０〜ＣＨ２の各々に入力された信号のＡ／Ｄ変換完了した時点でＡ／Ｄ変換の終了を知得することができるので、従来よりもＡ／Ｄ変換結果の読出のタイミングを早めることができる。
【００５０】
さらに、実施の形態２の場合には、フラグレジスタＲＢ０〜ＲＢ２が「０」に書き戻されることによってＡ／Ｄ変換結果が周辺回路ＩＰ０に読込まれたことをＡ／Ｄ変換器１２が確認できるので、Ａ／Ｄ変換結果が周辺回路ＩＰ０に読込まれないうちにデータが上書きされてしまうような事態を避けることができる。実施の形態１の場合には、周辺回路ＩＰ０がＡ／Ｄ変換結果を読込んだか否かの確認がＡ／Ｄ変換器１２によって行なわれていないので上書きの可能性があったが、実施の形態２の場合にはこの点が改善されている。
【００５１】
なお、実施の形態２によるマイクロコントローラ１００Ｂの場合にも、実施の形態１の変形例の場合と同様に、サンプルホールド回路ＳＨ０〜ＳＨ２を設けることができる。
【００５２】
＜実施の形態３＞
図７は、この発明の実施の形態３によるマイクロコントローラ１００Ｃの構成を示すブロック図である。
【００５３】
図７を参照して、マイクロコントローラ１００Ｃは、ＦＩＦＯ（First-In  First-Out）方式のバッファメモリ６をさらに含む点で図１のマイクロコントローラ１００と異なる。さらに、図７のマイクロコントローラ１００Ｃでは、選択信号ＳＥＬの一部が周辺回路ＩＰ０に出力されない点で、図１のマイクロコントローラ１００と異なる。図７のその他の構成は図１の場合と同じであるので、同一または相当する部分には同一の参照符号を付して説明を繰返さない。
【００５４】
周辺回路ＩＰ０は、専用線を介してバッファメモリ６からデータ読出が可能である。バッファメモリ６の記憶容量は、入力チャネルＣＨ０〜ＣＨ２について複数回のＡ／Ｄ変換結果の格納が可能な程度であるとする。バッファメモリ６は、通常のＦＩＦＯと同様に、メモリが空のときに「１」になるエンプティ・フラグ（ＥＦ：Empty Flag）と、メモリが満杯のとき「１」になるフル・フラグ（ＦＦ：Full  flag）と、書込み位置および読み出し位置を示すための書込みポインタおよび読み出しポインタとを有する。
【００５５】
Ａ／Ｄ変換器１２は、入力チャネルＣＨ０〜ＣＨ２に入力された信号のＡ／Ｄ変換結果をデータレジスタＲＡ０〜ＲＡ２に書込むとともにバッファメモリ６にも書込むことによって、Ａ／Ｄ変換の完了を周辺回路ＩＰ０に知得させる。周辺回路ＩＰ０は、エンプティ・フラグが「０」になることを検出することによって、Ａ／Ｄ変換の完了を検知する。
【００５６】
図８は、図７のマイクロコントローラ１００Ｃの動作を説明するためのタイミング図である。図８では、図７の変換部２がＣＰＵ１または周辺回路ＩＰ０〜ＩＰ２のいずれかから、スキャン変換指令を受けた場合の動作が示される。図８では、上から順に、入力チャネルＣＨ０〜ＣＨ５を選択するための選択信号ＳＥＬの各ビット波形、完了通知信号ＣＭＰの波形、バッファメモリ６に設けられたエンプティ・フラグの状態（ハイレベル「１」またはローレベル「０」）、バッファメモリ６への書込データの内容、およびバッファメモリ６からの読出データ内容を示す。
【００５７】
図７、図８を参照して、時刻ｔ１から時刻ｔ２まではチャネルＣＨ０が選択され、入力チャネルＣＨ０に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ０に書込まれる。Ａ／Ｄ変換完了後の時刻ｔ２から時刻ｔ４までの間に、ＣＨ０に入力された信号のＡ／Ｄ変換結果がバッファメモリ６に書込まれる。時刻ｔ４に、バッファメモリ６への書込が終了すると、バッファメモリ６に設けられたエンプティ・フラグが「１」から「０」に変わる。
【００５８】
時刻ｔ３から時刻ｔ５まではチャネルＣＨ１が選択され、入力チャネルＣＨ１に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ１に書込まれる。Ａ／Ｄ変換完了後の時刻ｔ５から時刻ｔ７までの間に、ＣＨ１に入力された信号のＡ／Ｄ変換結果がバッファメモリ６に書込まれる。
【００５９】
時刻ｔ６から時刻ｔ８まではチャネルＣＨ２が選択され、入力チャネルＣＨ２に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ２に書込まれる。Ａ／Ｄ変換完了後の時刻ｔ８から時刻ｔ１０までの間に、ＣＨ２に入力された信号のＡ／Ｄ変換結果がバッファメモリ６に書込まれる。
【００６０】
時刻ｔ９から時刻ｔ１１まではチャネルＣＨ３が選択され、入力チャネルＣＨ３に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ３に書込まれる。時刻ｔ１２から時刻ｔ１３まではチャネルＣＨ４が選択され、入力チャネルＣＨ４に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ４に書込まれる。時刻ｔ１４から時刻ｔ１５まではチャネルＣＨ５が選択され、入力チャネルＣＨ５に入力された信号のＡ／Ｄ変換結果がデータレジスタＲＡ５に書込まれる。
【００６１】
周辺回路ＩＰ０は、エンプティ・フラグを定期的にチェックし、エンプティ・フラグが「０」であることを検出することによって、入力チャネルＣＨ０〜ＣＨ２のいずれかに入力された信号のＡ／Ｄ変換が完了していることを知得する。このエンプティ・フラグの検出結果を受けて、周辺回路ＩＰ０は、時刻ｔ７から時刻ｔ１１までの間にデータレジスタＲＡ０〜ＲＡ２に格納されているＡ／Ｄ変換結果を順に読み出す。時刻ｔ１１にＡ／Ｄ変換結果の読み出しが完了すると、バッファメモリ６に設けられたエンプティ・フラグは「０」から「１」に戻るように構成され、または周辺回路ＩＰ０が再設定する。
【００６２】
全入力チャネルの入力信号に対するＡ／Ｄ変換の完了した後の時刻ｔ１６に、Ａ／Ｄ変換器１２は、割り込み制御回路３にＡ／Ｄ変換の完了を示す完了通知信号ＣＭＰを出力する。割り込み制御回路３から割り込み制御信号を受けたＣＰＵ１は、ＤＭＡ制御回路４にＡ／Ｄ変換結果の転送を指令する。そして、ＤＭＡ制御回路４は、データレジスタＲＡ３〜ＲＡ５から周辺回路ＩＰ１，ＩＰ２へＡ／Ｄ変換結果の転送を開始する。
【００６３】
上記のとおり、実施の形態３のマイクロコントローラ１００Ｃによれば、ＦＩＦＯ式のバッファメモリ６を設けることによって、入力チャネルＣＨ０〜ＣＨ２の各々に入力された信号のＡ／Ｄ変換結果がバッファメモリ６が書込まれた時点で、周辺回路ＩＰ０はＡ／Ｄ変換の終了を知得することができるので、従来よりもＡ／Ｄ変換結果の読出のタイミングを早めることができる。
【００６４】
実施の形態２によるマイクロコントローラ１００Ｂの場合には、フラグレジスタＲＢ０〜ＲＢ２の内容をＡ／Ｄ変換器１２が確認するように構成されていた。このため、周辺回路ＩＰ０によるデータ処理が何らかの原因で遅れた場合に、Ａ／Ｄ変換処理が停止する可能性があった。これに対して、実施の形態３によるマイクロコントローラ１００Ｃの場合には、バッファメモリ６が満杯になるまでＡ／Ｄ変換結果を書込むことができるので、周辺回路ＩＰ０によるデータ処理が何らかの原因で遅れたとしても、Ａ／Ｄ変換処理に遅れが生じる可能性は低減している。
【００６５】
上記の実施の形態３ではＦＩＦＯ方式のバッファメモリ６の例を挙げたが、必ずしもＦＩＦＯ方式に限られるものではない。アドレス指定方式のメモリであってもよく、フラグレジスタなどを設けることによってメモリにＡ／Ｄ変換結果が書込まれていることを周辺回路ＩＰ０がＣＰＵ１を介さずに検知可能であり、書込まれたデータを周辺回路ＩＰ０がＣＰＵ１を介さずに専用線を介して読出可能に構成されていれば、上記のバッファメモリ６に代えて利用することができる。
【００６６】
なお、実施の形態３のマイクロコントローラ１００Ｃの場合にも、実施の形態１の変形例の場合と同様に、サンプルホールド回路ＳＨ０〜ＳＨ２を設けることができる。
【００６７】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００６８】
１  ＣＰＵ、２，２Ａ，２Ｂ  変換部、５  共通バス、６  バッファメモリ、１１  チャネル選択部、１２  変換器、１３，１３Ａ  レジスタ群、１００，１００Ａ，１００Ｂ，１００Ｃ  マイクロコントローラ、ＣＨ０〜ＣＨ５  入力チャネル、ＣＭＰ  完了通知信号、ＩＰ０〜ＩＰ２  周辺回路、ＲＡ０〜ＲＡ５  データレジスタ、ＲＢ０〜ＲＢ２  フラグレジスタ、ＳＥＬ  選択信号、ＳＨ０〜ＳＨ２  サンプルホールド回路、Ｔ０〜Ｔ５  入力端子。
【図１】
0005593212.tif 000002
【図２】
0005593212.tif 000003
【図３】
0005593212.tif 000004
【図４】
0005593212.tif 000005
【図５】
0005593212.tif 000006
【図６】
0005593212.tif 000007
【図７】
0005593212.tif 000008
【図８】
0005593212.tif 000009