(57)【要約】【課題】  制御システムにおける制御の高精度化に伴い、アナログ信号の短周期のサンプリングやオーバーサンプリングなど多様なパターンのＡ／Ｄ変換を実行する必要がある場合においても、ＣＰＵの周辺モジュール制御に関わる負荷を減らすこと。【解決手段】  マイクロコントローラ１は、タイマユニット４が、Ａ／Ｄ変換器５に対してＡ／Ｄ変換処理属性の異なる複数のＡ／Ｄ変換処理パターンに対応した複数種類のＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋを生成及び出力してＡ／Ｄ変換を開始、実行させることが可能であり、Ａ／Ｄ変換のトリガ信号であるＡ／Ｄ変換要求信号ＡＤＲＥＱｔの出力周期、出力回数、モード、カウンタ選択、イネーブル等の属性は、タイマユニット４に内蔵の制御レジスタにより設定できるように構成される。【選択図】  図１
2005190195.tif 000002
【特許請求の範囲】
【請求項１】
中央演算処理装置と、メモリと、タイマユニットと、アナログ／デジタル変換器と、ダイレクトメモリアクセス転送装置とを備え、前記アナログ／デジタル変換器は複数のアナログ入力チャネルからいずれか一つを選択してアナログ／デジタル変換する機能を有し、前記ダイレクトメモリアクセス転送装置は前記アナログ／デジタル変換の結果データを前記メモリへダイレクトメモリアクセス転送する機能を有するマイクロコントローラであって、
前記タイマユニットは、前記Ａ／Ｄ変換器を起動する機能として、複数のアナログ／デジタル変換処理パターンに対応した複数種類のアナログ／デジタル変換要求信号を生成して前記アナログ／デジタル変換器に対し出力してアナログ／デジタル変換を開始させる機能を有することを特徴とするマイクロコントローラ。
【請求項２】
請求項１記載のマイクロコントローラにおいて、
前記タイマユニットは、前記複数種類のアナログ／デジタル変換要求信号の生成及び出力のための制御情報の設定を格納する制御レジスタを有し、前記制御レジスタに、前記アナログ／デジタル変換要求信号ごとの出力周期、出力回数を設定するフィールドを有し、前記制御レジスタの設定に基づき前記アナログ／デジタル変換要求信号の生成及び出力を行うことを特徴とするマイクロコントローラ。
【請求項３】
請求項２記載のマイクロコントローラにおいて、
前記アナログ／デジタル変換器は、アナログ／デジタル変換制御情報の設定を格納する変換制御レジスタに、前記アナログ入力チャネルごとのアナログ／デジタル変換開始要因を設定するフィールドを有し、前記タイマユニットから前記アナログ／デジタル変換要求信号が入力されると、前記変換制御レジスタの設定に基づき、前記入力されたアナログ／デジタル変換要求信号をアナログ／デジタル変換開始要因とするアナログ入力チャネルについてアナログ／デジタル変換を開始することを特徴とするマイクロコントローラ。
【請求項４】
請求項３記載のマイクロコントローラにおいて、
前記アナログ／デジタル変換器は、アナログ／デジタル変換が終了するごとに前記ダイレクトメモリアクセス転送装置に対し転送要求信号を出力して前記アナログ／デジタル変換の結果データを前記メモリへ転送させ、また前記変換制御レジスタに、ＣＰＵ割り込み生成単位となるアナログ／デジタル変換回数を設定するフィールドを有し、前記メモリへの前記アナログ／デジタル変換の結果データの転送回数が前記変換制御レジスタに設定されたアナログ／デジタル変換回数に達した時点で前記ダイレクトメモリアクセス転送装置により前記ＣＰＵへの割り込みを生成させることを特徴とするマイクロコントローラ。
【請求項５】
請求項２記載のマイクロコントローラにおいて、
前記タイマユニットの制御レジスタは、前記タイマユニットが備えるカウンタのいずれかを選択するフィールドと、所定のアナログ／デジタル変換処理パターンに対応した前記アナログ／デジタル変換要求信号の生成及び出力のモードを選択するフィールドと、前記アナログ／デジタル変換要求信号の出力を許可／禁止するステータスを設定するフィールドとを有し、
前記タイマユニットは、前記制御レジスタの設定に基づき選択されたカウンタ、モード、及びステータスにおいて前記アナログ／デジタル変換要求信号の生成及び出力を行うことを特徴とするマイクロコントローラ。
【請求項６】
請求項５記載のマイクロコントローラにおいて、
前記タイマユニットにおける前記アナログ／デジタル変換要求信号の生成及び出力のモードの一つは、前記制御レジスタにおける出力周期の設定値をｎとすると、前記選択されたカウンタのｎビット目が０から１に変化するごとにアナログ／デジタル変換要求信号を出力するモードであることを特徴とするマイクロコントローラ。
【請求項７】
請求項５記載のマイクロコントローラにおいて、
前記タイマユニットにおける前記アナログ／デジタル変換要求信号の生成及び出力のモードの一つは、前記制御レジスタにおける出力周期の設定値をＴ、前記選択されたカウンタのインクリメントあるいはデクリメント周期をΔｔとすると、Ｔ×Δｔの周期ごとにアナログ／デジタル変換要求信号を出力するモードであることを特徴とするマイクロコントローラ。
【請求項８】
請求項５記載のマイクロコントローラにおいて、
前記タイマユニットにおける前記アナログ／デジタル変換要求信号の生成及び出力のモードの一つは、前記制御レジスタにおける第1の出力周期の設定値をｎ、第２の出力周期の設定値をＴ、前記出力回数の設定値をＮ、前記選択されたカウンタのインクリメントあるいはデクリメント周期をΔｔとすると、２n×Δｔの周期ごとに、Ｔ×Δｔの時間間隔でＮ回連続でアナログ／デジタル変換要求信号を出力するモードであることを特徴とするマイクロコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種機器の制御を行うマイクロコントローラに関し、特にタイマユニットからアナログ／デジタル（以下、Ａ／Ｄと称する）変換器を起動する機能を有するマイクロコントローラに関するものである。
【背景技術】
【０００２】
集積回路技術の発展に伴い、中央演算処理装置（以下、ＣＰＵと称する）と、メモリと、タイマユニット、Ａ／Ｄ変換器、ダイレクトメモリアクセス（以下、ＤＭＡと称する）転送装置などの周辺モジュールとを一つのチップに備えたマイクロコントローラが、各種機器を制御する半導体装置として広く使用されるようになってきている。
【０００３】
このようなマイクロコントローラにおいては、ＣＰＵが逐一これら周辺モジュールを制御するのではなく、周辺モジュールが制御レジスタを備える構成でＣＰＵが制御レジスタに設定を行うことにより周辺モジュールを動作させる。このように周辺モジュールをＣＰＵと独立して動作させることによりＣＰＵの負荷を減らし、結果としてマイクロコントローラ全体の性能を向上させることができる。
【０００４】
例えば、本発明の対象となる要素であるタイマユニットとＡ／Ｄ変換器についてみてみると、非特許文献１によれば、シングルチップ・マイコンにおけるＡ／Ｄ変換の制御として、ＣＰＵや外部端子以外に、タイマユニットにより周期的にＡ／Ｄ変換起動信号を生成できるように構成されている。タイマユニットの備える制御レジスタ（「インターバル・インタラプト・リクエスト・レジスタ（ＩＴＶＲＲ）」）によりその設定が可能となっている。
【０００５】
また、特許文献１に記載の技術においては、Ａ／Ｄ変換器のコントローラから生成されるパルス信号に同期して、予め設定したパルス番号に対応するＡ／Ｄ入力チャネルについてＡ／Ｄ変換されるように構成されている。Ａ／Ｄ入力チャネルごとに異なる変換周期でＡ／Ｄ変換ができる旨が記載されている。
【特許文献１】特開２００２−３１４４１８号公報
【非特許文献１】「日立SuperH RISC engine SH-2E SH7055F-ZTAT  ハードウェアマニュアル」，株式会社日立製作所，平成１２年１１月，第４版，ｐ．３２８
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記非特許文献１や特許文献１などの従来技術によれば、ＣＰＵとは独立して周辺モジュールを動作させることでＣＰＵの負荷を軽減し、結果としてマイクロコントローラ全体の性能を向上させることが可能である。
【０００７】
しかしながら、上記非特許文献１のタイマユニットは、Ａ／Ｄ入力チャネルごとに、異なる属性のＡ／Ｄ変換起動信号によりＡ／Ｄ変換器を起動できるように考慮すると更に種々の用途に活用しやすいものとなる。
【０００８】
また、特許文献１記載の技術では、Ａ／Ｄ変換処理における変換周期を基準クロックの倍数となる値にしか設定できず、また例えば外部入力をトリガとした非同期のＡ／Ｄ変換要求には対応できないなどの限界があり、更なるＡ／Ｄ変換処理のフレキシビリティ向上を要求されるシステムには適さない可能性がある。
【０００９】
例えば、自動車エンジン制御システムでは、機能の多様化や高性能化が求められており、ＣＰＵの処理速度を向上させてより多くのタスクを実行させるようになってきている。Ａ／Ｄ変換処理に関しても、アナログ信号の短周期のサンプリングや、オーバーサンプリング、エンジン回転に同期した種々のタイミングでのサンプリングなど、多様なパターンのＡ／Ｄ変換を実行する必要があるが、これらの制御をＣＰＵが実行するとＣＰＵの負荷は大幅に増えてしまう。
【００１０】
本発明は、以上のような問題に鑑みてなされたものであり、その目的は、タイマユニット、Ａ／Ｄ変換器、ＤＭＡ転送装置などの周辺モジュールを備え、タイマユニットがＡ／Ｄ変換器を起動する機能を有し、上記のような多様なパターンのＡ／Ｄ変換の必要に対応してアナログ入力チャネルごとに種々のパターンのＡ／Ｄ変換を行うことができ、かつＣＰＵの周辺モジュール制御の負荷を減らすことができるマイクロコントローラを提供することである。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１２】
（１）前記課題を解決するために、本発明のマイクロコントローラは、ＣＰＵと、メモリと、タイマユニットと、Ａ／Ｄ変換器と、ＤＭＡ転送装置とを備え、Ａ／Ｄ変換器は複数のアナログ入力チャネルからいずれか一つを選択してＡ／Ｄ変換する機能を有し、ＤＭＡ転送装置はＡ／Ｄ変換の結果データをメモリへＤＭＡ転送する機能を有するマイクロコントローラであって、タイマユニットは、Ａ／Ｄ変換器を起動する機能として、Ａ／Ｄ変換処理の属性（Ａ／Ｄ変換周期等）の指定で定まる複数のＡ／Ｄ変換処理パターンにそれぞれ対応した複数種類のＡ／Ｄ変換要求信号（ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋ）を生成してＡ／Ｄ変換器に対し出力してこれをトリガ信号としてＡ／Ｄ変換を開始、実行させる機能を有することを特徴とする。タイマユニットが同一のＡ／Ｄ変換器に対して上記複数種類のＡ／Ｄ変換要求信号を出力可能な構成となっており、Ａ／Ｄ変換器側は、上記複数種類のＡ／Ｄ変換要求信号をトリガ信号として入力してＡ／Ｄ変換を行う。上記構成により、アナログ入力の特性に応じた複数のパターンのＡ／Ｄ変換処理をタイマユニットから起動、開始させる。
【００１３】
（２）また、本発明のマイクロコントローラは、前記（１）のマイクロコントローラにおいて、タイマユニットは、複数種類のＡ／Ｄ変換要求信号の生成及び出力のための制御情報（トリガ制御情報）の設定を格納する制御レジスタ（トリガ制御レジスタ）を有し、制御レジスタに、Ａ／Ｄ変換要求信号ごとの出力周期（トリガ周期）、出力回数（トリガ発生回数）を設定するフィールドを有し、制御レジスタの設定に基づきＡ／Ｄ変換要求信号の生成及び出力を行うことを特徴とする。上記制御情報（トリガ制御情報）によってＡ／Ｄ変換処理の属性が指定される。上記出力周期によってＡ／Ｄ変換周期が指定される。また上記出力回数によって、連続して行うＡ／Ｄ変換回数が指定される。
【００１４】
（３）また、本発明のマイクロコントローラは、前記（２）のマイクロコントローラにおいて、Ａ／Ｄ変換器は、Ａ／Ｄ変換制御情報の設定を格納する変換制御レジスタに、アナログ入力チャネルごとのＡ／Ｄ変換開始要因（上記Ａ／Ｄ変換要求信号の選択）を設定するフィールドを有し、タイマユニットからＡ／Ｄ変換要求信号が入力されると、変換制御レジスタにおける設定に基づき、入力されたＡ／Ｄ変換要求信号をＡ／Ｄ変換開始要因とするアナログ入力チャネルについてＡ／Ｄ変換を開始することを特徴とする。これにより、各アナログ入力チャネルにおいて、Ａ／Ｄ変換開始要因の設定に基づいてＡ／Ｄ変換要求信号が選択され、指定の属性でのＡ／Ｄ変換処理が実行される。
【００１５】
（４）また、本発明のマイクロコントローラは、前記（３）のマイクロコントローラにおいて、Ａ／Ｄ変換器は、Ａ／Ｄ変換が終了するごとにＤＭＡ転送装置に対し転送要求信号（ＤＲＥＱ）を出力してＡ／Ｄ変換の結果データをメモリへ転送させ、また変換制御レジスタに、ＣＰＵ割り込み生成単位となるＡ／Ｄ変換回数を設定するフィールドを有し、メモリへのＡ／Ｄ変換の結果データの転送回数が変換制御レジスタに設定されたＡ／Ｄ変換回数に達した時点でＤＭＡ転送装置によりＣＰＵへの割り込みを生成させること（ＣＰＵ割り込み信号（ＩＮＴＤ）の出力）を特徴とする。Ａ／Ｄ変換器におけるＡ／Ｄ変換結果データがＤＭＡ転送装置によりメモリ（ＲＡＭ）へ転送されるので、ＣＰＵはＡ／Ｄ変換器の起動及びＡ／Ｄ変換結果データ転送のための短周期タスクを行う必要はない。ＣＰＵは、上記割り込みを受けるまでは所定のタスクを実行しつつ、上記割り込みを受けるとＡ／Ｄ変換結果データを用いたタスクを実行する。
【００１６】
（５）また、本発明のマイクロコントローラは、前記（２）のマイクロコントローラにおいて、タイマユニットの制御レジスタは、前記タイマユニットが備えるカウンタのいずれかを選択するフィールド（カウンタセレクト）と、所定のＡ／Ｄ変換処理パターンに対応したＡ／Ｄ変換要求信号の生成及び出力のモード（トリガモード）を選択するフィールドと、Ａ／Ｄ変換要求信号の出力を許可／禁止するステータスを設定するフィールド（トリガイネーブル）とを有し、タイマユニットは、制御レジスタの設定に基づき選択されたカウンタ、モード、及びステータスにおいてＡ／Ｄ変換要求信号の生成及び出力を行うことを特徴とする。
【００１７】
（６）また、本発明のマイクロコントローラは、前記（５）のマイクロコントローラにおいて、タイマユニットにおけるＡ／Ｄ変換要求信号の生成及び出力のモードの一つは、制御レジスタにおける出力周期の設定値をｎとすると、選択されたカウンタのｎビット目が０から１に変化するごとにＡ／Ｄ変換要求信号を出力するモードであることを特徴とする。
【００１８】
（７）また、本発明のマイクロコントローラは、前記（５）のマイクロコントローラにおいて、タイマユニットにおけるＡ／Ｄ変換要求信号の生成及び出力のモードの一つは、制御レジスタにおける出力周期の設定値をＴ、選択されたカウンタのインクリメントあるいはデクリメント周期をΔｔとすると、Ｔ×Δｔの周期ごとにＡ／Ｄ変換要求信号を出力するモードであることを特徴とする。
【００１９】
（８）また、本発明のマイクロコントローラは、前記（５）のマイクロコントローラにおいて、タイマユニットにおけるＡ／Ｄ変換要求信号の生成及び出力のモードの一つは、制御レジスタの第1の出力周期の設定値をｎ、第２の出力周期の設定値をＴ、出力回数の設定値をＮ、選択されたカウンタのインクリメントあるいはデクリメント周期をΔｔとすると、２n×Δｔの周期ごとに、Ｔ×Δｔの時間間隔でＮ回連続でＡ／Ｄ変換要求信号を出力するモードであることを特徴とする。
【発明の効果】
【００２０】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２１】
本発明のマイクロコントローラによれば、タイマユニットの制御レジスタへの設定に基づきアナログ入力チャネルごとに種々のパターンのＡ／Ｄ変換を行うことができ、かつＣＰＵの周辺モジュール制御に関わる負荷を大幅に低減することができる。これにより、今後の制御システムにおける制御の高精度化に伴い、アナログ信号の短周期のサンプリングや、オーバーサンプリング、エンジン回転に同期した種々のタイミングでのサンプリングなど、多様なＡ／Ｄ変換処理を必要とされる各種用途に適用することのできるマイクロコントローラを提供できる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。以下の実施の形態は、本発明のマイクロコントローラを、自動車エンジン制御を行う自動車用電子制御装置として適用する例を想定している。
【００２３】
図１は、本発明の実施の形態におけるマイクロコントローラ１の構成を示すブロック図である。マイクロコントローラ１は、ＣＰＵ２、メモリ３、タイマユニット４、Ａ／Ｄ変換器５、ＤＭＡ転送装置７、およびバスブリッジ８を備えた半導体装置である。ＣＰＵ２、メモリ３、ＤＭＡ転送装置７はシステムバス６に接続され、タイマユニット４、Ａ／Ｄ変換器５、ＤＭＡ転送装置７は周辺バス９に接続され、システムバス６と周辺バス９はバスブリッジ８によって接続されている。マイクロコントローラ１は、ＣＰＵ２やメモリ３の周辺モジュールとしてタイマユニット４、Ａ／Ｄ変換器５、ＤＭＡ転送装置７を有している。
【００２４】
システムバス６は、ＣＰＵ２とＤＭＡ転送装置７がメモリ３に短時間でアクセスできるよう高速にしており、周辺バス９は、多数の周辺モジュールを接続するためにシステムバス６よりも低速にしている。なお、周辺バス９とシステムバス６が同じ速度の構成であっても構わない。また、システムバス６や周辺バス９の代わりにスイッチ回路を用いて接続してもよい。
【００２５】
ＣＰＵ２は、マイクロコントローラ１の主要な制御を行うプロセッサであり、システムバス６を経由してメモリ３にアクセスし、また、システムバス６とバスブリッジ８と周辺バス９とを経由してタイマユニット４、Ａ／Ｄ変換器５、ＤＭＡ転送装置７などの周辺モジュールにアクセスする。ＣＰＵ２は、タイマユニット４やＡ／Ｄ変換器５に対してＡ／Ｄ変換処理の制御のための設定を行う。
【００２６】
メモリ３は、演算処理プログラムやデータを格納するＲＡＭなどの記憶手段であり、ＣＰＵ２によって読み出しと書き込みの動作が行われ、また、ＤＭＡ転送装置７によってデータ特にＡ／Ｄ変換結果データの書き込みが行われる。
【００２７】
タイマユニット４は、入力パルス信号のインプットキャプチャやコンペアマッチによるＰＷＭ（パルス幅変調）信号出力などを実行するモジュールである。タイマユニット４は、Ａ／Ｄ変換器５を起動してＡ／Ｄ変換を開始、実行させる機能を持つ。特に本実施の形態におけるタイマユニット４は、ＣＰＵ２によるタイマユニット４に内蔵の制御レジスタへの設定に基づいてＡ／Ｄ変換処理属性の異なる複数のＡ／Ｄ変換処理パターンにそれぞれ対応した複数種類のＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋを生成しＡ／Ｄ変換器５に対してトリガ信号として出力する機能を持つ。Ａ／Ｄ変換器５側はこれをＡ／Ｄ変換のトリガ信号として入力してＡ／Ｄ変換を開始、実行する。Ａ／Ｄ変換要求信号ＡＤＲＥＱｔの出力周期、出力回数等の属性は、タイマユニット４の制御レジスタにより設定できるように構成されている。
【００２８】
Ａ／Ｄ変換器５は、複数のアナログ入力チャネルＡＮ０−ＡＮｎにおいて外部から入力されるアナログ信号を選択しこれをＡ／Ｄ変換して変換結果のデジタルデータを格納する装置である。Ａ／Ｄ変換器５は、複数種類のＡ／Ｄ変換要求信号ＡＤＲＥＱをトリガ信号として受け付ける構成を有し、Ａ／Ｄ変換要求信号ＡＤＲＥＱによりＡ／Ｄ変換器５が起動されＡ／Ｄ変換を開始、実行する。Ａ／Ｄ変換要求信号ＡＤＲＥＱのうち、特にタイマユニット４をＡ／Ｄ変換起動、開始の要因とするＡ／Ｄ変換要求信号をＡＤＲＥＱｔとしている。Ａ／Ｄ変換器５は、Ａ／Ｄ変換のトリガ信号としてタイマユニット４からの複数のＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋを直接に入力する構成である。またＡ／Ｄ変換器５は、Ａ／Ｄ変換終了ごとにＤＭＡ転送要求信号ＤＲＥＱをＤＭＡ転送装置７に対して出力する機能、及び所定タイミングでＣＰＵ割り込み要求信号ＩＮＴＤＲＥＱをＤＭＡ転送装置７に対して出力する機能を持つ。
【００２９】
ＤＭＡ転送装置７は、Ａ／Ｄ変換器５がＡ／Ｄ変換終了時に出力するＤＭＡ転送要求信号ＤＲＥＱを受信するとＡ／Ｄ変換結果データをＡ／Ｄ変換器５の変換結果レジスタ５３からメモリ３にＤＭＡ転送する機能を持つ。また、ＤＭＡ転送装置７は、メモリ３への必要なＡ／Ｄ変換結果データの転送動作が終了した時点でＣＰＵ２に対しＣＰＵ割り込み信号ＩＮＴＤを生成する機能を持つ。
【００３０】
図２は、マイクロコントローラ１におけるＡ／Ｄ変換器５の構成を示すブロック図である。Ａ／Ｄ変換器５は、変換制御レジスタ５１、変換結果レジスタ５３、要求選択回路５４、変換制御回路５５、マルチプレクサ（ＭＵＸ）５６、Ａ／Ｄ変換回路５７、インタフェース回路（Ｉ／Ｆ）５８、外部端子である複数のアナログ入力チャネルＡＮ０−ＡＮｎを有している。変換制御レジスタ５１、変換結果レジスタ５３はそれぞれ内部バス５９を介してインタフェース回路５８に接続されている。インタフェース回路５８は周辺バス９に接続されている。
【００３１】
マルチプレクサ５６は、複数のアナログ入力チャネルＡＮ０−ＡＮｎのうち変換制御回路５５が指定したチャネルを選択してＡ／Ｄ変換回路５７に出力する。Ａ／Ｄ変換回路５７は、変換制御回路５５から指示されたタイミングで、マルチプレクサ５６が選択したアナログ入力チャネルのアナログ値をデジタル値に変換して変換結果レジスタ５３に出力する。複数のアナログ入力チャネルＡＮ０−ＡＮｎに関しスキャン動作つまりアナログ入力チャネルを順次選択しながらＡ／Ｄ変換が行われる。
【００３２】
インタフェース回路５８は、周辺バス９と内部バス５９を接続しており、ＣＰＵ２とＤＭＡ転送装置７は、インタフェース回路５８を経由して変換制御レジスタ５１や変換結果レジスタ５３にアクセスできる。
【００３３】
変換制御レジスタ５１は、ＣＰＵ２からの書き込みや読み出しが可能であり、変換制御回路５５でのＡ／Ｄ変換制御を行うためのＡ／Ｄ変換制御情報が設定される。変換制御レジスタ５１は、ＣＰＵ２からＡ／Ｄ変換の起動を指示する書き込みが行われたり、またＡ／Ｄ変換の状態を表示したりするレジスタである。
【００３４】
変換結果レジスタ５３は、Ａ／Ｄ変換回路５７によるＡ／Ｄ変換の結果のデジタルデータを格納するためのレジスタである。変換結果レジスタ５３に格納されたＡ／Ｄ変換結果データは、ＤＭＡ転送装置７によりメモリ３へＤＭＡ転送処理される。
【００３５】
要求選択回路５４は、複数のＡ／Ｄ変換要求信号ＡＤＲＥＱのアービトレーションを行う回路である。要求選択回路５４は、タイマユニット４からのＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋ、ＣＰＵ２が変換制御レジスタ５１にＡ／Ｄ変換開始を示す所定値を書き込むことによって発生するＡ／Ｄ変換要求信号ＡＤＲＥＱｒ、外部端子からのＡ／Ｄ変換要求ＡＤＲＥＱｅの内から一つのＡ／Ｄ変換要求信号を選択して変換制御回路５５に出力する。複数のＡ／Ｄ変換要求信号が同時に発生した場合には、変換制御レジスタ５１に設定された優先順位に従ってＡ／Ｄ変換要求信号ＡＤＲＥＱを選択する。
【００３６】
本実施の形態の場合、Ａ／Ｄ変換起動、開始の要因となる内のタイマユニット４を要因とするＡ／Ｄ変換要求信号ＡＤＲＥＱｔが、Ａ／Ｄ変換処理の属性の異なる複数種類のＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋで構成されているが、他の要因のＡ／Ｄ変換要求信号ＡＤＲＥＱｒやＡＤＲＥＱｅについても上記ＡＤＲＥＱｔと同様にＡ／Ｄ変換処理の属性の異なる複数種類のＡ／Ｄ変換要求信号を備える構成としてもよい。
【００３７】
上記Ａ／Ｄ変換要求信号ＡＤＲＥＱのいずれかによりＡ／Ｄ変換器５が起動されると、変換制御回路５５は、変換制御レジスタ５１の設定に基づき、入力されたＡ／Ｄ変換要求信号ＡＤＲＥＱに対応する変換対象アナログ入力チャネルを選択し、そのアナログ入力についてのＡ／Ｄ変換を実行し、Ａ／Ｄ変換結果データを変換結果レジスタ５３の所定アドレスに格納するように、マルチプレクサ５６、Ａ／Ｄ変換回路５７、及び変換結果レジスタ５３を制御する。
【００３８】
また、変換制御回路５５は、選択されたアナログ入力チャネルにおけるＡ／Ｄ変換単位動作が終了すると、ＤＭＡ転送装置７に対しＤＭＡ転送要求信号ＤＲＥＱを出力する。これにより、変換結果レジスタ５３におけるＡ／Ｄ変換結果データがＤＭＡ転送装置７によりメモリ３にＤＭＡ転送される。さらに、あるアナログ入力チャネルのＡ／Ｄ変換結果データの転送回数が、設定されている所定回数に達すると、変換制御回路５５はＤＭＡ転送装置７に対しＣＰＵ割り込み要求信号ＩＮＴＤＲＥＱを出力し、これによりＤＭＡ転送装置７にＣＰＵ割り込み信号ＩＮＴＤを生成させる。
【００３９】
図３は、マイクロコントローラ１のＡ／Ｄ変換器５における変換制御レジスタ５１の形式の一構成例を示した図である。本例では、変換制御レジスタ５１は、各アナログ入力チャネルＡＮ０−ＡＮｎについてそれぞれの変換制御情報のエントリを持つ構成であり、各エントリは、変換開始要因フィールド５１１、変換回数フィールド５１２を有する。アナログ入力チャネルごとのエントリを持つレジスタ形式により、アナログ入力チャネルごとに異なる属性でのＡ／Ｄ変換処理を行わせることができる。
【００４０】
変換制御レジスタ５１において、変換開始要因フィールド５１１は、対応するアナログ入力についてのＡ／Ｄ変換の開始の要因を指定する情報を設定するフィールドである。つまりＡ／Ｄ変換開始要因として複数種類存在するＡ／Ｄ変換要求信号ＡＤＲＥＱの内のいずれの入力をトリガとして対応するアナログ入力チャネルのＡ／Ｄ変換を開始するかを設定するフィールドである。本実施の形態では、Ａ／Ｄ変換開始要因に対応するＡ／Ｄ変換要求信号ＡＤＲＥＱとして、ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋ（タイマユニット４からの複数種類のＡ／Ｄ変換要求信号）、ＡＤＲＥＱｒ（ＣＰＵ２からの変換制御レジスタ５１への書き込みに基づくＡ／Ｄ変換要求信号）、ＡＤＲＥＱｅ（外部端子を通じて入力されるＡ／Ｄ変換要求信号）を有する。これらＡ／Ｄ変換要求信号ＡＤＲＥＱがＡ／Ｄ変換のトリガ信号としてＡ／Ｄ変換器５へ入力されると、変換制御レジスタ５１の設定に基づいて対応するアナログ入力チャネルにおけるＡ／Ｄ変換が開始される。
【００４１】
例えば、あるアナログ入力チャネルの変換開始要因として、タイマユニット４からの複数のＡ／Ｄ変換要求信号ＡＤＲＥＱｔの内のいずれか例えばＡＤＲＥＱｔ０を示す値が変換制御レジスタ５１の変換開始要因フィールド５１１に設定される。変換制御レジスタ５１におけるあるアナログ入力チャネル例えばＡＮ０とＡＮ２についてのエントリにおいて、その変換開始要因フィールド５１１の設定値がＡＤＲＥＱｔ０を示す値である場合、Ａ／Ｄ変換器５は、タイマユニット４からＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０が入力されると、上記設定に基づきアナログ入力チャネルＡＮ０及びＡＮ２についてのＡ／Ｄ変換を実行する。
【００４２】
変換制御レジスタ５１において、変換回数フィールド５１２は、そのアナログ入力チャネルについて何回Ａ／Ｄ変換した後にＤＭＡ転送装置７にＣＰＵ割り込み要求信号ＩＮＴＤＲＥＱを出力するか、すなわちＤＭＡ転送によりメモリ３に何回分のＡ／Ｄ変換結果データが転送及びストアされた後にＤＭＡ転送装置７がＣＰＵ割り込み信号ＩＮＴＤを生成するか、ＣＰＵ割り込み生成単位を設定するフィールドである。例えばこの変換回数フィールド５１２に“４”と設定すれば、メモリ３の所定領域に該当アナログ入力チャネルのＡ／Ｄ変換結果データが４個ストアされるごとに、ＣＰＵ２は、ＤＭＡ転送装置７から転送終了を示す割り込みであるＣＰＵ割り込み信号ＩＮＴＤを受け、これをもとに過去の４個のＡ／Ｄ変換結果データを用いてフィルタ演算処理などの所定の処理を実行する。
【００４３】
図４は、マイクロコントローラ１におけるタイマユニット４の構成を示すブロック図である。タイマユニット４は、プリスケーラ６１、複数のカウンタ６２、トリガ制御レジスタ６３、トリガ生成回路６４、タイマユニットチャネル制御回路６５、インタフェース回路（Ｉ／Ｆ）６６、内部バス６７、外部端子である複数のタイマユニット入出力チャネルＴＩ０−ＴＩｎを有している。トリガ制御レジスタ６３とタイマユニットチャネル制御回路６５は、それぞれ内部バス６７を介してインタフェース回路６６に接続されている。
【００４４】
プリスケーラ６１は、基準となるクロック信号ＣＬＫを入力して分周を行い、この分周されたクロック信号により複数のカウンタ６２がインクリメントまたはデクリメントされる。また図示していない制御レジスタにより複数のカウンタ６２のそれぞれの分周比を設定することができる。
【００４５】
トリガ制御レジスタ６３は、周辺バス９及び内部バス６７を介してＣＰＵ２からの書き込みや読み出しが可能であり、ＣＰＵ２から、Ａ／Ｄ変換器５の起動のためのトリガ信号つまりＡ／Ｄ変換要求信号ＡＤＲＥＱｔの生成及び出力のための制御情報の設定が行われる。この制御情報をトリガ制御情報と呼ぶことにする。また、トリガ制御レジスタ６３は、トリガ生成回路６４の状態を表示する。ＣＰＵ２は、タイマユニット４を変換起動、開始の要因とした所定のパターンのＡ／Ｄ変換処理を実行させたい場合に、トリガ制御レジスタ６３におけるトリガ制御情報として、目的とするＡ／Ｄ変換処理の属性を指定する情報、代表的にはＡ／Ｄ変換周期やＡ／Ｄ変換回数などに対応するトリガ信号の出力周期や出力回数などの情報を設定する。
【００４６】
トリガ生成回路６４は、カウンタ６２を用いて、トリガ制御レジスタ６３に設定されたトリガ制御情報に基づき、適切なタイミングでＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋを生成してＡ／Ｄ変換器５に対して出力し、また、図示していないＤＭＡ転送装置起動信号を生成及び出力する。
【００４７】
タイマユニットチャネル制御回路６５は、カウンタ６２を用いて、入力パルス信号のインプットキャプチャや、コンペアマッチによるＰＷＭ（パルス幅変調）信号出力などを行う。
【００４８】
インタフェース回路６６は、周辺バス９と内部バス６７を接続しており、ＣＰＵ２とＤＭＡ転送装置７は、インタフェース回路６６を経由してトリガ制御レジスタ６３やタイマユニットチャネル制御回路６５にアクセスできる。
【００４９】
次に、マイクロコントローラ１のタイマユニット４におけるＡ／Ｄ変換要求信号ＡＤＲＥＱｔ（ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋ）の生成方法について、図５〜図９を参照して詳細に説明する。
【００５０】
図５は、タイマユニット４におけるトリガ制御レジスタ６３の形式の一構成例を示す図である。本構成例では、トリガ制御レジスタ６３は、複数種類のＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋに関して、各Ａ／Ｄ変換要求信号ＡＤＲＥＱｔごとのトリガ制御情報のエントリを有する。各トリガ制御情報のエントリは、トリガモードフィールド６３１、カウンタセレクトフィールド６３２、第１トリガ周期フィールド６３３、第２トリガ周期フィールド６３４、トリガ発生回数フィールド６３５、及びトリガイネーブルフィールド６３６を有している。
【００５１】
このトリガ制御レジスタ６３の構成例では、トリガ制御レジスタ６３の設定により、異なるパターンのＡ／Ｄ変換処理に対応した複数種類のＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋについて、各Ａ／Ｄ変換処理の属性を設定することができる。
【００５２】
トリガ制御レジスタ６３におけるトリガモードフィールド６３１は、所定のＡ／Ｄ変換処理パターンに対応したＡ／Ｄ変換要求信号ＡＤＲＥＱｔの生成及び出力のモード（これを以下、トリガモードと称する）すなわち所定のＡ／Ｄ変換処理モードを選択するフィールドである。トリガモードは、Ａ／Ｄ変換処理属性の指定によって定まるＡ／Ｄ変換処理パターンのうち、特定のＡ／Ｄ変換処理パターンを指定するためのものである。
【００５３】
カウンタセレクトフィールド６３２は、複数のカウンタ６２の中から適当なインクリメントあるいはデクリメント周期を持つカウンタを選択するためのフィールドである。選択されたカウンタをベースとした周期でＡ／Ｄ変換要求信号ＡＤＲＥＱｔが出力されることとなる。
【００５４】
第１トリガ周期フィールド６３３、第２トリガ周期フィールド６３４は、それぞれ、トリガ信号すなわちＡ／Ｄ変換要求信号ＡＤＲＥＱｔの生成及び出力の周期を設定するフィールドである。ここで設定される周期は、Ａ／Ｄ変換器５におけるＡ／Ｄ変換周期に対応する。
【００５５】
トリガ発生回数フィールド６３５は、トリガ信号すなわちＡ／Ｄ変換要求信号ＡＤＲＥＱｔを連続して生成及び出力する回数を設定するフィールドである。ここで設定される回数は、Ａ／Ｄ変換器５における連続したＡ／Ｄ変換回数に対応する。第1トリガ周期フィールド６３３または第２トリガ周期フィールド６３４で設定された周期、トリガ発生回数フィールド６３５で設定されたトリガ発生回数に従ってトリガ信号が生成及び出力される。
【００５６】
トリガイネーブルフィールド６３６は、トリガ信号すなわちＡ／Ｄ変換要求信号ＡＤＲＥＱｔの出力を許可（イネーブル）または禁止（ディセーブル）するステータスを設定するためのフィールドである。禁止のステータスの場合はトリガ信号が出力されない。
【００５７】
複数種類のＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋの各々について生成及び出力の属性すなわちＡ／Ｄ変換処理属性の設定を異なるものにすることで、異なるＡ／Ｄ変換処理パターンを定義できる。
【００５８】
次に、図６を参照して、上記トリガモードについて説明する。図６は、タイマユニット４のトリガ制御レジスタ６３における、所定のＡ／Ｄ変換処理パターンに対応するトリガモードの形式の例について示す図である。本実施の形態では、トリガモードとして特に「ＭＯＤＥ０」，「ＭＯＤＥ１」，「ＭＯＤＥ２」の三種類を設けているが、所定のトリガ制御情報の形式とすることでさらに種類を増やすことも可能である。図６では、各トリガモードについて、トリガ制御情報のエントリにおいて有効となるフィールドを特別に示している（斜線部分：有効フィールド）。なお有効フィールド以外にデータを書き込んでもその設定は動作に何ら影響を与えない。
【００５９】
まず、トリガモード「ＭＯＤＥ０」（トリガモードフィールド６３１の設定値：０）は、カウンタセレクトフィールド６３２により選択したカウンタの特定のビットが０から１に変化するごとにトリガ信号（ＡＤＲＥＱｔ）を生成及び出力するモードである。このビット位置を第１トリガ周期フィールド６３３に書き込む。第２トリガ周期フィールド６３４とトリガ発生回数フィールド６３５は無効である。トリガイネーブルフィールド６３６にはトリガ信号出力の許可／禁止を必要に応じて設定する。
【００６０】
図７は、トリガモード「ＭＯＤＥ０」における設定例（図７（ａ））とこれに対応するトリガ信号出力の様子を示す図（図７（ｂ））である。図７（ａ）に示すように、あるＡ／Ｄ変換要求信号ＡＤＲＥＱｔｘについてのトリガ制御情報のエントリにおいて、トリガモードフィールド６３１にトリガモード「ＭＯＤＥ０」を示す０が設定される。カウンタセレクトフィールド６３２により、インクリメント周期がΔｔのカウンタＮがセレクトされる。第１トリガ周期フィールド６３３に書き込まれた値がｎの場合は、ＣＰＵ２がトリガイネーブルフィールド６３６に１（許可）を書き込んだ後、カウンタＮのｎビット目が０から１に変化した時にトリガ信号つまり対応するＡ／Ｄ変換要求信号ＡＤＲＥＱｔｘ（図７（ｂ）におけるＡＤＲＥＱ）が出力され、これ以降、２n×Δｔの時間間隔で繰り返しＡ／Ｄ変換要求信号（ＡＤＲＥＱ）が出力される。Ａ／Ｄ変換器５側は、これらトリガ信号（ＡＤＲＥＱ）の入力に基づき、変換対象のアナログ入力チャネルについてＡ／Ｄ変換を実行する。トリガモード「ＭＯＤＥ０」では、連続的にトリガ信号出力周期を設定することはできない。
【００６１】
これに対して、トリガモード「ＭＯＤＥ１」（トリガモードフィールド６３１の設定値：１）は、カウンタセレクトフィールド６３２により選択したカウンタＮのインクリメント周期を最小として任意の周期を設定することができる。設定したい周期を、カウンタＮのインクリメント周期Δｔで割った値をＴとして第２トリガ周期フィールド６３４に書き込む。第１トリガ周期フィールド６３３とトリガ発生回数フィールド６３５は無効である。トリガイネーブルフィールド６３６にはトリガ信号出力の許可／禁止を必要に応じて設定する。
【００６２】
図８は、トリガモード「ＭＯＤＥ１」における設定例（図８（ａ））とこれに対応するトリガ信号出力の様子を示す図（図８（ｂ）、（ｃ））である。図８（ａ）に示すように、あるＡ／Ｄ変換要求信号ＡＤＲＥＱｔｘについてのトリガ制御情報のエントリにおいて、カウンタセレクトフィールド６３２により、インクリメント周期がΔｔのカウンタＮがセレクトされる。ＣＰＵ２がトリガイネーブルフィールド６３６に１（許可）を書き込んだ直後にＡ／Ｄ変換要求信号ＡＤＲＥＱｔｘ（図８（ｂ）におけるＡＤＲＥＱ）が出力され、第２トリガ周期フィールド６３４に書き込まれた値がＴの場合は、これ以降、Ｔ×Δｔの時間間隔でＡ／Ｄ変換要求信号（ＡＤＲＥＱ）が出力される。Ａ／Ｄ変換器５側は、これらトリガ信号（ＡＤＲＥＱ）の入力に基づき、変換対象のアナログ入力チャネルについてＡ／Ｄ変換を実行する。
【００６３】
Ａ／Ｄ変換要求信号ＡＤＲＥＱｔの生成及び出力のモードとしてトリガモードを上記「ＭＯＤＥ０」あるいは「ＭＯＤＥ１」に設定することにより、Ａ／Ｄ変換器５は、タイマユニット４のトリガ制御レジスタ６３に設定された周期でアナログ入力チャネルへの入力センサ信号をサンプリング（Ａ／Ｄ変換）することができる。
【００６４】
ＣＰＵ２がトリガイネーブルフィールド６３６をクリアすると（設定値：０）、該当のＡ／Ｄ変換要求信号ＡＤＲＥＲＱｔは出力されなくなるため、トリガイネーブルの設定により対象アナログ入力チャネルのＡ／Ｄ変換時間幅を限定して、ある任意の期間内に、所望の周期で入力信号のサンプリングを行う処理も可能である（図８（ｃ）参照）。例えば自動車エンジン制御の場合、エンジンのピストンが特定区間に位置している間に、エンジンのノッキングを検出するセンサの信号を連続的にサンプリングし、このデータを用いて制御を行うことが可能となる。
【００６５】
一方、トリガモード「ＭＯＤＥ２」（トリガモードフィールド６３１の設定値：２）は、トリガモード「ＭＯＤＥ０」と「ＭＯＤＥ１」の特徴を併せたモードであり、トリガ制御情報のエントリにおけるフィールドが全て有効になる。
【００６６】
図９は、トリガモード「ＭＯＤＥ２」における設定例（図９（ａ））とこれに対応するトリガ信号出力の様子を示す図（図９（ｂ））である。図９（ａ）に示すように、あるＡ／Ｄ変換要求信号ＡＤＲＥＱｔｘについてのトリガ制御情報のエントリにおいて、カウンタセレクトフィールド６３２により、インクリメント周期がΔｔのカウンタＮがセレクトされる。トリガ発生回数フィールド６３５により、第２トリガ周期での連続的なトリガ信号発生の回数が設定される。本設定例では、対応するＡ／Ｄ変換要求信号ＡＤＲＥＱｔｘ（図９（ｂ）におけるＡＤＲＥＱ）が、２n×Δｔの周期ごとに、Ｔ×Δｔの時間間隔で、トリガ発生回数フィールド６３５で設定した回数である４回連続出力される処理となる。最初のＡ／Ｄ変換要求信号出力は、ＣＰＵ２がトリガイネーブルフィールド６３６に１（許可）を書き込んだ後、カウンタＮのｎビット目が０から１に変化した時になされる。
【００６７】
トリガモード「ＭＯＤＥ２」に設定することにより例えば、Ａ／Ｄ変換器５は、周期的に入力センサ信号をオーバーサンプリングＡ／Ｄ変換処理することができる。また、そのオーバーサンプリング比もトリガ発生回数フィールド６３５で任意に設定できる。なお、通常はオーバーサンプリング比を２のべき乗とする場合が多いので、オーバーサンプリング比を２mと表し、トリガ発生回数フィールド６３５にはｍを設定する形式とすれば、トリガ制御レジスタ６３のビット数を削減することができる。
【００６８】
なお、本実施の形態のマイクロコントローラ１では、上記のように特定のＡ／Ｄ変換処理パターンに応するＡ／Ｄ変換要求信号の生成及び出力のモードであるトリガモード「ＭＯＤＥ０」、「ＭＯＤＥ１」、「ＭＯＤＥ２」を明示的に設けてこれを指定してＡ／Ｄ変換処理を行わせる構成としたが、特定のモードを明示的に設けない構成も可能であり、タイマユニット４のトリガ制御レジスタ６３に必要なトリガ制御情報（Ａ／Ｄ変換処理属性）の設定を行うことにより所望のＡ／Ｄ変換処理パターンに対応したＡ／Ｄ変換要求信号でＡ／Ｄ変換処理を行わせることができる。
【００６９】
図１０および図１１に、本マイクロコントローラ１における複数のアナログ入力チャネルについてのＡ／Ｄ変換処理の実行例について示す。図１０は、Ａ／Ｄ変換処理の制御情報の設定例として、アナログ入力チャネルＡＮ０，ＡＮ１，ＡＮ２の三つの入力についての変換制御レジスタ５１における変換制御情報の設定例（図１０（ａ））と、トリガ制御レジスタ６３における二種類のＡ／Ｄ変換処理に対応したＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０，ＡＤＲＥＱｔ１についてのトリガ制御情報の設定例（図１０（ｂ））とを示す図である。また図１１は、図１０に示すＡ／Ｄ変換処理の制御情報の設定例に対応したＡ／Ｄ変換処理の実行の様子を時間軸上で示す図である。
【００７０】
図１０（ａ）において、Ａ／Ｄ変換器５の変換制御レジスタ５１に、アナログ入力チャネルＡＮ０，ＡＮ１，ＡＮ２についての各エントリで、各入力チャネルに対応する変換開始要因と変換回数が設定されている。この設定例では、アナログ入力ＡＮ０及びＡＮ２については、変換開始要因としてＡ／Ｄ変換要求信号ＡＤＲＥＱｔ１を示す１が設定されており、アナログ入力ＡＮ１については、変換開始要因としてＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０を示す０が設定されている。これにより、アナログ入力ＡＮ０及びＡＮ２は、Ａ／Ｄ変換要求信号ＡＤＲＥＱｔ１の入力によりＡ／Ｄ変換が実行される。またアナログ入力ＡＮ１は、Ａ／Ｄ変換要求信号ＡＤＲＥＱｔ０の入力によりＡ／Ｄ変換が実行される。
【００７１】
Ａ／Ｄ変換要求信号ＡＤＲＥＱｔ０，ＡＤＲＥＱｔ１の生成及び出力のパターンは、タイマユニット４のトリガ制御レジスタ６３におけるトリガ制御情報のエントリの設定により規定されている。本例では、Ａ／Ｄ変換要求信号ＡＤＲＥＱｔ０に対応するＡ／Ｄ変換処理においては、トリガモード「ＭＯＤＥ０」での処理を行う設定であり、そのトリガ信号出力周期つまりＡ／Ｄ変換周期Ｔ０は２n×Δｔとなる。また、Ａ／Ｄ変換要求信号ＡＤＲＥＱｔ１に対応するＡ／Ｄ変換処理においては、トリガモード「ＭＯＤＥ１」で処理を行う設定であり、そのトリガ信号出力周期つまりＡ／Ｄ変換周期Ｔ１はＴ×Δｔとなる。いずれのＡ／Ｄ変換処理におけるトリガ信号もカウンタＮをベースとして出力される。
【００７２】
このＡ／Ｄ変換処理例では、二種類のＡ／Ｄ変換処理を同時に実行している。アナログ入力ＡＮ１についての変換周期Ｔ０＝２n×ΔｔでのＡ／Ｄ変換の処理と、アナログ入力ＡＮ０及びＡＮ２についてのそれぞれ変換周期Ｔ１＝Ｔ×ΔｔでのＡ／Ｄ変換の処理とが同時に実行されている。図中、斜線三角形はトリガ信号としてＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０の入力に対応するＡ／Ｄ変換を示し、また白三角形はトリガ信号としてＡ／Ｄ変換要求信号ＡＤＲＥＱｔ１の入力に対応するＡ／Ｄ変換を示す。アナログ入力ＡＮ０とＡＮ２については、Ａ／Ｄ変換要求信号ＡＤＲＥＱｔ１がＡ／Ｄ変換器５に入力された時に変換制御レジスタ５１の設定によってＡ／Ｄ変換対象アナログ入力チャネルとして選択され、ここではアナログ入力番号の小さい順にＡＮ０，ＡＮ２の順でスキャンされＡ／Ｄ変換が行われる様子を示している。
【００７３】
Ａ／Ｄ変換器５に対しトリガ信号として異なるＡ／Ｄ変換要求信号ＡＤＲＥＱが同時に入力された場合は、要求選択回路５４がアービトレーションを行う。タイマユニット４からのＡ／Ｄ変換要求信号ＡＤＲＥＱｔ０−ＡＤＲＥＱｔｋに関しては、例えば、番号が小さいＡ／Ｄ変換要求信号ほど変換実行の優先順位が高くなるように設定しておくなどの方法がある。
【００７４】
図１１に示すように、Ａ／Ｄ変換器５における個々のＡ／Ｄ変換の終了ごとに、Ａ／Ｄ変換器５がＤＭＡ転送装置７に対し、対応するアナログ入力チャネルに対応したＤＭＡ転送要求信号ＤＲＥＱを送信する。これにより、対応するアナログ入力チャネルにおけるＡ／Ｄ変換結果データがＤＭＡ転送装置７によってメモリ３にＤＭＡ転送される。図中の曲線矢印は、Ａ／Ｄ変換結果データのメモリ３へのＤＭＡ転送処理を表す。また、アナログ入力ＡＮ１については、変換制御レジスタ５１での変換回数フィールド５１２における指定の変換回数（つまり転送終了を示すＣＰＵ割り込みの生成単位）である４回のＡ／Ｄ変換が終了し、メモリ３への転送が終了した時点で、Ａ／Ｄ変換器５がＤＭＡ転送装置７に対しＣＰＵ割り込み要求信号ＩＮＴＤＲＥＱを送信し、これを受けてＤＭＡ転送装置７はＣＰＵ２に対しＣＰＵ割り込み信号ＩＮＴＤを生成する。図中の白直線矢印は、ＤＭＡ転送装置７がＣＰＵ割り込み信号ＩＮＴＤを生成する処理を表す。
【００７５】
同様に、アナログ入力ＡＮ０，ＡＮ２については、指定の変換回数である２回のＡ／Ｄ変換が終了すると、ＤＭＡ転送装置７がＣＰＵ２に対しＣＰＵ割り込み信号ＩＮＴＤを生成することとなる。ＣＰＵ２は、このＣＰＵ割り込み信号ＩＮＴＤを受けて、ＤＭＡ転送装置７内に設けられた図示していないＩＮＴＤＲＥＱ要因フラグを見ることにより、どのアナログ入力チャネルのＡ／Ｄ変換結果データがメモリ３に転送されたのかを知る。そしてＣＰＵ２は、メモリ３にアクセスし、過去の指定変換回数（上記処理例では２回または４回）分のＡ／Ｄ変換データを用いて各種フィルタ演算などの所定の処理を実行する。
【００７６】
本発明の実施の形態のマイクロコントローラ１による動作及び効果について、図１２のタイムチャートを参照して説明する。図１２は、本発明の実施の形態のマイクロコントローラ１により、タイマユニット４を起動要因として、あるアナログ入力チャネルに入力された信号について一定周期でＡ／Ｄ変換（サンプリング）し、４回分のサンプリングデータをもとにＣＰＵ２がフィルタ演算処理を実行する場合の動作を示すタイムチャートである。
【００７７】
タイマユニット４は、予めトリガ制御レジスタ６３に設定されたトリガ信号出力周期でＡ／Ｄ変換要求信号ＡＤＲＥＱｔを生成してＡ／Ｄ変換器５に出力し、これをトリガ信号としてＡ／Ｄ変換が実行される（図１２、斜線部）。Ａ／Ｄ変換器５は、一回のＡ／Ｄ変換ごとにＤＭＡ転送装置７にＤＭＡ転送要求信号ＤＲＥＱを出力し、これによりＤＭＡ転送装置７がＡ／Ｄ変換結果データをメモリ３にＤＭＡ転送する（図１２、横線部）。変換制御レジスタ５１における指定の変換回数である４回分のサンプリングデータ（Ａ／Ｄ変換結果データ）のメモリ３へのＤＭＡ転送が終了した時点で、初めてＣＰＵ２は転送終了割り込み（ＣＰＵ割り込み信号ＩＮＴＤ）をＤＭＡ転送装置７から受ける。
【００７８】
以上の処理動作の間、ＣＰＵ２は、タイマユニット４、Ａ／Ｄ変換器５、ＤＭＡ転送装置７などの周辺モジュールの設定処理を一切行う必要がない。このため、上記Ａ／Ｄ変換結果データを使用しない制御タスクＡの実行に専念することができる。上記Ａ／Ｄ変換結果データを使用する制御タスクＢは、ＤＭＡ転送装置７からの転送終了割り込み（ＣＰＵ割り込み信号ＩＮＴＤ）により起動される。
【００７９】
これに対して、Ａ／Ｄ変換器の周期的な起動をＣＰＵから行う従来のマイクロコントローラの構成では、上記のようなＡ／Ｄ変換結果データをメモリへ収集するためにＡ／Ｄ変換器の起動およびデータ転送を行う短周期のタスクが必要であり、この短周期タスクを実行している間は上記制御タスクＡのようなＡ／Ｄ変換結果データを使用しないタスクも中断されてしまう。
【００８０】
以上の構成から、本発明の実施の形態によるマイクロコントローラ１において、タイマユニット４を起動要因としてアナログ入力チャネルごとに多様なパターンのＡ／Ｄ変換処理を実行でき、かつＣＰＵ２の周辺モジュール制御に関わる負荷を大幅に低減することができる。この効果は、例えば今後の自動車制御システムにおいて高精度な制御のためにアナログ信号を数１０〜数１００μｓオーダーの周期でサンプリングする場合や、エンジン回転に同期した種々のタイミングでサンプリングする場合など、高度なＡ／Ｄ変換処理を要求される場合において顕著に現れると考えられる。さらに、Ａ／Ｄ変換結果データの取得のためのＡ／Ｄ変換器の起動およびデータ転送を行う短周期のタスクを無くすことができるため、ＯＳのタスク構成を簡単にして効率良く処理を行うことができる。
【００８１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【００８２】
本発明のマイクロコントローラは、自動車エンジン制御システムなどのＡ／Ｄ変換処理を行う各種システムに利用可能である。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施の形態におけるマイクロコントローラの構成を示すブロック図である。
【図２】マイクロコントローラにおけるＡ／Ｄ変換器の構成を示すブロック図である。
【図３】マイクロコントローラのＡ／Ｄ変換器における変換制御レジスタの形式の一構成例を示す図である。
【図４】マイクロコントローラにおけるタイマユニットの構成を示すブロック図である。
【図５】マイクロコントローラのタイマユニットにおけるトリガ制御レジスタの形式の一構成例を示す図である。
【図６】所定のＡ／Ｄ変換処理パターンに対応するトリガモードの形式の例について示す図である。
【図７】（ａ），（ｂ）は、トリガモード「ＭＯＤＥ０」における設定例と、これに対応するＡ／Ｄ変換要求信号の出力パターンを示した図である。
【図８】（ａ）〜（ｃ）は、トリガモード「ＭＯＤＥ１」における設定例と、これに対応するＡ／Ｄ変換要求信号の出力パターンを示した図である。
【図９】（ａ），（ｂ）は、トリガモード「ＭＯＤＥ２」における設定例と、これに対応するＡ／Ｄ変換要求信号の出力パターンを示した図である。
【図１０】（ａ），（ｂ）は、複数のアナログ入力チャネルについてＡ／Ｄ変換処理する場合の制御情報の設定例を示す図である。
【図１１】図１０に示す制御情報の設定例に対応するＡ／Ｄ変換処理の実行の様子を示した図である。
【図１２】本発明の実施の形態のマイクロコントローラによる動作及び効果について示すタイムチャートである。
【符号の説明】
【００８４】
１…マイクロコントローラ、２…ＣＰＵ、３…メモリ、４…タイマユニット、５…Ａ／Ｄ変換器、６…システムバス、７…ＤＭＡ転送装置、８…バスブリッジ、９…周辺バス、５１…変換制御レジスタ、５３…変換結果レジスタ、５４…要求選択回路、５５…変換制御回路、５６…マルチプレクサ、５７…Ａ／Ｄ変換回路、５８…インタフェース回路、５９…内部バス、６１…プリスケーラ、６２…カウンタ、６３…トリガ制御レジスタ、６４…トリガ生成回路、６５…タイマユニットチャネル制御回路、６６…インタフェース回路、６７…内部バス、５１１…変換開始要因フィールド、５１２…変換回数フィールド、６３１…トリガモードフィールド、６３２…カウンタセレクトフィールド、６３３…第１トリガ周期フィールド、６３４…第２トリガ周期フィールド、６３５…トリガ発生回数フィールド、６３６…トリガイネーブルフィールド。
【図１】
2005190195.tif 000003
【図２】
2005190195.tif 000004
【図３】
2005190195.tif 000005
【図４】
2005190195.tif 000006
【図５】
2005190195.tif 000007
【図６】
2005190195.tif 000008
【図７】
2005190195.tif 000009
【図８】
2005190195.tif 000010
【図９】
2005190195.tif 000011
【図１０】
2005190195.tif 000012
【図１１】
2005190195.tif 000013
【図１２】
2005190195.tif 000014