(57)【要約】      （修正有）【課題】  簡素な回路構成のもとで、入力処理及び出力処理を適正なタイミングで確実に行うことができ、しかも、制御周期の短縮、入力処理から出力処理までの応答時間の短縮、演算手段の処理負荷の軽減、制御精度の向上等を効果的に図ることができるようにされた電子制御装置を提供する。【解決手段】  外部からの信号を取り込んでＡ／Ｄ変換等の入力処理を行う入力手段４と、該入力手段４の処理結果を受けて所定のプログラムに従って演算処理を実行する演算手段２と、該演算手段２の演算結果に基づいて外部に対する信号の出力処理を行う出力手段６と、前記入力手段４に入力処理を開始させるための入力処理開始信号、前記出力手段に出力処理を開始させるための出力処理開始信号、及び、前記演算手段に演算処理を開始させるための演算処理開始信号のうちの少なくとも２つを出力するタイマ手段５と、を具備して構成される。【選択図】図１
2005142670.tif 000002
【特許請求の範囲】
【請求項１】
外部からの信号を取り込んでＡ／Ｄ変換等の入力処理を行う入力手段と、該入力手段の処理結果を受けて所定のプログラムに従って演算処理を実行する演算手段と、該演算手段の演算結果に基づいて外部に対する信号の出力処理を行う出力手段と、前記入力手段及び又は出力手段の処理開始タイミングを前記演算手段を介することなく個別に独立して設定するタイマ手段と、を備えた電子制御装置。
【請求項２】
前記タイマ手段は、前記演算手段の処理開始タイミングをも設定するようにされていることを特徴とする請求項１に記載の制御装置。
【請求項３】
前記入力手段における入力処理期間、前記演算手段における演算処理期間、及び、前記出力手段における出力処理期間のうちの少なくとも２つが部分的に重なり合うようにされていることを特徴とする請求項１又は２に記載の電子制御装置。
【請求項４】
前記タイマ手段は、前記入力手段、前記演算手段、及び前記出力手段のうちの少なくとも２つにおける処理開始タイミングが、同じタイミングとなるように、又は、それらが一定の時間差を持つように、前記処理開始タイミングを設定することを特徴とする請求項１から３のいずれかに記載の電子制御装置。
【請求項５】
前記タイマ手段は、前記演算手段の演算処理完了前に、前記入力手段に次の入力処理を開始させるべく、前記処理開始タイミングを設定することを特徴とする請求項１から４のいずれかに記載の制御装置。
【請求項６】
外部からの信号を取り込んでＡ／Ｄ変換等の入力処理を行う入力手段と、該入力手段の処理結果を受けて所定のプログラムに従って演算処理を実行する演算手段と、該演算手段の演算結果に基づいて外部に対する信号の出力処理を行う出力手段と、前記入力手段に入力処理を開始させるための入力処理開始信号、前記出力手段に出力処理を開始させるための出力処理開始信号、及び、前記演算手段に演算処理を開始させるための演算処理開始信号のうちの少なくとも２つを出力するタイマ手段と、を備えた電子制御装置。
【請求項７】
前記入力処理、前記演算処理、及び前記出力処理を並列に実行することを特徴とする請求項６に記載の電子制御装置。
【請求項８】
前記タイマ手段は、前記入力手段、前記演算手段、及び前記出力手段のうちの少なくとも２つにおける処理開始タイミングが、同じタイミングとなるように、又は、それらが一定の時間差を持つように、前記処理開始信号を出力することを特徴とする請求項６又は７に記載の電子制御装置。
【請求項９】
前記タイマ手段は、前記演算手段の演算処理完了前に、前記入力手段に次の入力処理を開始させるべく、前記処理開始信号を出力することを特徴とする請求項６から８のいずれかに記載の制御装置。
【請求項１０】
前記入力処理手段は入力処理完了信号を出力するようにされていることを特徴とする請求項６から９のいずれかに記載の電子制御装置。
【請求項１１】
前記演算手段は、それに入力される信号及び演算処理結果に基づいて、前記タイマ手段に、前記入力処理開始信号、前記出力処理開始信号、及び前記演算処理開始信号のうちの少なくとも１つを出力するタイミングを変更させることを特徴とする請求項６から１０のいずれかに記載の電子制御装置。
【請求項１２】
前記演算手段は、前記演算処理開始信号が出力されても、現在の演算処理が完了していない場合は、現在の演算処理を完了してから次の演算処理を開始するようにされていることを特徴とする請求項６から１１のいずれかに記載の電子制御装置。
【請求項１３】
前記出力手段は、前記出力処理開始信号が出力されても、現在の出力処理が完了していない場合は、現在の出力処理を完了してから次の出力処理を開始するようにされていることを特徴とする請求項６から１２のいずれかに記載の電子制御装置。
【請求項１４】
１チップマイクロコントローラで構成されていることを特徴とする請求項１から１３のいずれかに記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力処理（Ａ／Ｄ変換等）、演算処理（プログラム実行）、及び出力処理（シリアル信号等で出力）を所定の周期で繰り返し実行する電子制御装置に関する。
【背景技術】
【０００２】
電力を制御する電力変換システムや電力供給システム、電動機を制御する産業システムや交通システムにおいては、多数のスイッチング素子からなる電力変換器や電動機駆動回路を電子制御装置で制御することにより、電力変換や電動機の駆動を実現している。このような電子制御装置は、電力線や電動機の電流や電圧をサンプリングしてＡ／Ｄ変換を行い、変換したデジタル値に基づいて演算を行い、演算の結果得られた指令値に基づいてパルス信号を発生して電力変換器や電動機駆動回路のスイッチング素子をオン／オフするという動作を予め定められた周期で繰り返し実行している。この周期を制御周期と呼ぶ。
【０００３】
電力制御や電動機制御では、制御精度の高さが求められており、このため制御周期は数百マイクロ秒又は数十マイクロ秒以下と高速な制御が求められている。                      
【０００４】
このような制御では、Ａ／Ｄ変換のサンプリングを所定のタイミングで確実に行うだけでなく、指令値やパルス信号の出力を所定のタイミングで確実に行う必要がある。例えば、Ａ／Ｄ変換のサンプリングが一定周期で所定のタイミングに行われたとしても、演算が完了した後に直ちに指令値やパルス信号の出力を実行すると、演算の所要時間はそのときの条件によって変化するため、指令値やパルス信号の出力タイミングに誤差が生じてしまう。
【０００５】
これを解決するための技術として、例えば下記特許文献１に所載のように、Ａ／Ｄ変換のサンプリング（入力処理）を行う制御周期と、パルス信号を発生するパルス発生（出力処理）周期とを設け、相互の位相差が一定になるようにして、それぞれの周期でＡ／Ｄ変換のサンプリングとオン／オフ・パルスの出力を実行することが知られている。
【０００６】
これにより、Ａ／Ｄ変換のサンプリングとパルス信号の出力を所定のタイミングで確実に行うことができるとともに、予め予想される演算終了タイミングにパルス発生周期を合わせこむことにより、Ａ／Ｄ変換のサンプリング（入力処理）からパルス信号の出力（出力処理）までの応答時間を短縮できる。
【０００７】
一方、例えば、下記特許文献２には、複数の入力チャンネルを有するＡ／Ｄ変換器の制御において、外部からのタイミングでＡ／Ｄ変換後のデータ送り出しを行うようにして、制御回路（演算手段）がＡ／Ｄ変換手段から変換後データの頻繁な割り込みを受けないようになし、これによって、制御回路に対する処理負荷を軽減することが提案されている。
【０００８】
【特許文献１】特開平特開平１０―２８５９１０号公報（第１〜２１頁、図１〜図１５）
【特許文献２】特開平６−３２４８１１号公報（第１〜１５頁、図１〜図９）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１に所載の電子制御装置では、Ａ／Ｄ変換のサンプリングを行うためのタイマと、パルス信号を出力するためのタイマを別々に用意しており、このため、タイマ回路やタイマ同志を同期させるための制御回路が必要になり、回路規模が増大する。
【００１０】
また、上記特許文献２に所載の電子制御装置では、外部からのタイミングでＡ／Ｄ変換後のデータ送り出しを行うようにして制御回路の処理負荷を軽減しているが、制御周期を短縮したり、Ａ／Ｄ変換（入力処理）から指令値等を出力する（出力処理）までの応答時間を、ばらつきを生じさせることなく短縮するという効果は期待できない。
【００１１】
本発明は、前記した如くの課題を解決すべくなされたもので、その目的とするところは、簡素な回路構成のもとで、入力処理及び出力処理を適正なタイミングで確実に行うことができ、しかも、制御周期の短縮、入力処理から出力処理までの応答時間の短縮、演算手段の処理負荷の軽減、制御精度の向上等を効果的に図ることができるようにされた電子制御装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成すべく、本発明に係る電子制御装置は、基本的には、外部からの信号を取り込んでＡ／Ｄ変換等の入力処理を行う入力手段と、該入力手段の処理結果を受けて所定のプログラムに従って演算処理を実行する演算手段と、該演算手段の演算結果に基づいて外部に対する信号の出力処理を行う出力手段と、前記入力手段及び又は出力手段の処理開始タイミングを前記演算手段を介することなく個別に独立して設定するタイマ手段と、を備える。
【００１３】
前記タイマ手段は、好ましくは、前記演算手段の処理開始タイミングをも設定するようにされる。
【００１４】
本発明の好ましい態様では、前記入力手段における入力処理期間、前記演算手段における演算処理期間、及び、前記出力手段における出力処理期間のうちの少なくとも２つが部分的に重なり合うようにされる。
【００１５】
また、前記タイマ手段は、好ましくは、前記入力手段、前記演算手段、及び前記出力手段のうちの少なくとも２つにおける処理開始タイミングが、同じタイミングとなるように、又は、それらが一定の時間差を持つように、前記処理開始タイミングを設定するようにされる。
【００１６】
さらに、前記タイマ手段は、好ましくは、前記演算手段の演算処理完了前に、前記入力手段に次の入力処理を開始させるべく、前記処理開始タイミングを設定するようにされる。
【００１７】
一方、本発明に係るもう一つの電子制御装置は、外部からの信号を取り込んでＡ／Ｄ変換等の入力処理を行う入力手段と、該入力手段の処理結果を受けて所定のプログラムに従って演算処理を実行する演算手段と、該演算手段の演算結果に基づいて外部に対する信号の出力処理を行う出力手段と、前記入力手段に入力処理を開始させるための入力処理開始信号、前記出力手段に出力処理を開始させるための出力処理開始信号、及び、前記演算手段に演算処理を開始させるための演算処理開始信号のうちの少なくとも２つを出力するタイマ手段と、を備える。
【００１８】
本発明の好ましい態様では、前記入力処理、前記演算処理、及び前記出力処理を並列に実行するようにされる。
【００１９】
他の好ましい態様では、前記タイマ手段は、前記入力手段、前記演算手段、及び前記出力手段のうちの少なくとも２つにおける処理開始タイミングが、同じタイミングとなるように、又は、それらが一定の時間差を持つように、前記処理開始信号を出力するようにされる。
【００２０】
また、前記タイマ手段は、好ましくは、前記演算手段の演算処理完了前に、前記入力手段に次の入力処理を開始させるべく、前記処理開始信号を出力するようにされる。
【００２１】
上記の如くの構成とされた本発明に係る電子制御装置は、タイマ手段によって、Ａ／Ｄ変換等の入力処理、演算処理、及びシリアル送信等の出力処理のうちの少なくとも２つ以上についての処理開始タイミングが設定されるので、簡素な回路構成のもとで、入力処理及び出力処理を適正なタイミングで確実に行うことができる。
【００２２】
加えて、入力処理、演算処理、出力処理を並列に（処理期間が部分的に重なり合うように）実行するので、制御周期を短縮できるとともに、入力処理から出力処理までの応答時間を短縮でき、これによって、応答性や制御精度の向上等を効果的に図ることができる。
【００２３】
また、演算手段によって入力手段の起動処理及び又は出力手段の起動処理を行う必要がないので、演算手段の負荷を軽減でき、その軽減された分は、他の処理に割り当てることができる。
【００２４】
さらに、前記入力処理手段が入力処理完了信号を出力し、また、前記演算手段が、それに入力される信号及び演算処理結果に基づいて、前記タイマ手段に、前記入力処理開始信号、前記出力処理開始信号、及び前記演算処理開始信号のうちの少なくとも１つを出力するタイミングを変更させることにより、制御モードを切り替えたりすることができる。
【００２５】
また、前記演算手段が、前記演算処理開始信号が出力されても、現在の演算処理が完了していない場合は、現在の演算処理を完了してから次の演算処理を開始するようにされることにより、演算処理（プログラム実行）が遅延した場合でも、次の演算処理（プログラム実行）を確実に行える。
【００２６】
さらに、前記出力手段が、前記出力処理開始信号が出力されても、現在の出力処理が完了していない場合は、現在の出力処理を完了してから次の出力処理を開始するようにされることにより、現在の出力処理が遅延した場合でも、次の出力処理を確実に行える。
【００２７】
なお、本発明に係る電子制御装置は、１チップのマイクロコントローラＬＳＩで実現してもよいし、２チップ以上のマイクロコントローラＬＳＩ又は入出力制御ＬＳＩで実現してもよい。
【発明の効果】
【００２８】
以上の説明から理解されるように、本発明に係る電子制御装置は、タイマ手段によって、Ａ／Ｄ変換等の入力処理、演算処理、及びシリアル送信等の出力処理のうちの少なくとも２つ以上についての処理開始タイミングが設定されるので、簡素な回路構成のもとで、入力処理及び出力処理を適正なタイミングで確実に行うことができる。
【００２９】
加えて、入力処理、演算処理、出力処理を並列に実行できるので、制御周期を短縮できるとともに、入力処理から出力処理までの応答時間を短縮でき、これによって、応答性や制御精度の向上等を効果的に図ることができる。
【００３０】
また、演算手段によって入力手段の起動処理及び又は出力手段の起動処理を行なう必要がないので、演算手段の処理負荷を軽減でき、その軽減された分は、他の処理に割り当てることができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の電子制御装置の実施の形態を図面を参照しながら説明する。
【００３２】
［第１実施形態］
図１は、本発明に係る電子制御装置の第１実施形態を示す概略構成図である。
図示の第１実施形態の電子制御装置1Ａは、中央演算処理ユニット（ＣＰＵ）２と、メモリ３と、外部に配在された１つ又は複数のセンサからのアナログ信号（検出信号）９を取り込んでデジタル値に変換する入力手段としてのＡ／Ｄ変換器（ＡＤＣ）４と、所定のタイミング（後述）で第１、第２、及び第３コンペアマッチ信号５１、５２、５３を出力するタイマ５と、シリアル伝送路１０を介して他の装置（制御対象）へデータ転送を行なう出力手段としてのシリアル通信モジュール（ＳＣＭ）６と、タイマ５が出力するコンペアマッチ信号５１、５２、５３、Ａ／Ｄ変換器（ＡＤＣ）４が出力するＡ／Ｄ変換完了信号４１、及びシリアル通信モジュール（ＳＣＭ）６が出力する送信完了信号６１を受けて、ＣＰＵ２に割込み信号７１を出力する割込みコントローラ（ＩＮＴＣ）７と、を備えており、これらはシステムバス８で接続されている。
【００３３】
電子制御装置1Ａにおいては、タイマ５のカウント値に基づき、Ａ／Ｄ変換器（ＡＤＣ）４が１つ又は複数のセンサからのアナログ信号（検出信号）９を取り込んでデジタル値に変換する入力処理を行い、ＣＰＵ２がそのデータに基づいて予め定められたプログラムに従って演算処理を実行し、シリアル通信モジュール（ＳＣＭ）６が演算結果をシリアル伝送路１０を介して外部の他の装置（制御対象）に送信する出力処理行う、という一連の制御を一定の周期（以下、制御周期）で繰り返し実行する。
【００３４】
メモリ３には、Ａ／Ｄ変換器（ＡＤＣ）４を起動して入力処理（Ａ／Ｄ変換）を開始させるプログラム、Ａ／Ｄ変換器（ＡＤＣ）４が変換したデジタル値に基づいて演算を実行するプログラム、シリアル通信モジュール（ＳＣＭ）６を起動して出力処理（シリアル転送）を開始させるプログラム等が格納されている。ＣＰＵ２は、割込みコントローラ（ＩＮＴＣ）７が割込みを発生すると、それが示す割込み要因に基づいてこれらのプログラムのいずれかを実行する。
【００３５】
割込みコントローラ（ＩＮＴＣ）７は、タイマ５による第１コンペアマッチ信号５１（ＣＭ１Ｓ）、第２コンペアマッチ信号５２（ＣＭ２Ｓ）、第３コンペアマッチ信号５３（ＣＭ３Ｓ）、Ａ／Ｄ変換器（ＡＤＣ）４によるＡ／Ｄ変換完了信号（入力処理完了信号）４１（ＡＤＥ）、及びシリアル通信モジュール（ＳＣＭ）６による転送完了信号６１（ＴＲＥ）が出力されたことを検知すると、各信号が出力されたことを記憶するとともに、各信号が出力されたことが検知されたとき、ＣＰＵ２にその信号の種類に応じた割込み信号７１（ＩＮＴ）を出力する。
【００３６】
なお、図示はしないが、割込みコントローラ（ＩＮＴＣ）７の各入力信号毎に、信号が出力されたときに割込みを発生するか又は発生しないかを選択するレジスタを設け、ある信号が出力されても割込みを発生しないようにしてもよい。これにより、ＣＰＵ２の不要な割込み処理を削除できる。
【００３７】
図２に、割込みコントローラ（ＩＮＴＣ）７の割込み状態レジスタ（ＩＳＴＲ）７２を示す。割込み状態レジスタ（ＩＳＴＲ）７２は、Ａ／Ｄ変換完了信号ＡＤＥ（４１）が出力されたとき、Ａ／Ｄ変換完了フラグ（ＡＤＥＲ）７３をセットし、転送完了信号ＴＲＥ（６１）が出力されたとき、転送完了フラグ（ＴＲＥＦ）７４をセットし、第１コンペアマッチ信号ＣＭ１Ｓ（５１）が出力されたとき、第１コンペアマッチフラグ（ＣＭ１Ｆ）７５をセットし、第２コンペアマッチ信号ＣＭ２Ｓ（５２）が出力されたとき、第２コンペアマッチフラグ（ＣＭ２Ｆ）７６をセットし、第３コンペアマッチ信号ＣＭ３Ｓ（５３）が出力されたとき、第３コンペアマッチフラグ（ＣＭ３Ｆ）７７をセットするようになっている。
【００３８】
割込み状態レジスタ（ＩＳＴＲ）７２は、ＣＰＵ２からの読み出しと書き込みが可能である。ＣＰＵ２は、割込み状態レジスタ（ＩＳＴＲ）７２を読み出して割込みの要因を判定することができる。また、ＣＰＵ２は各フラグに０又は１を書き込むことによって該当するフラグをクリアすることができる。
【００３９】
図３に、タイマ５の構成の一例を示す。
図示例のタイマ５は、カウントレジスタ（ＣＮＴ）５００と、第１コンペアマッチレジスタ（ＣＭ１Ｒ）５０１と、第２コンペアマッチレジスタ（ＣＭ２Ｒ）５０２と、第３コンペアマッチレジスタ（ＣＭ３Ｒ）５０３と、一致検出回路５０８、５０９、５１０とを有している。カウントレジスタ（ＣＮＴ）５００と、ＣＭ１Ｒ５０１と、ＣＭ２Ｒ５０２と、ＣＭ３Ｒ５０３はモジュール内部バス５１２に接続されており、モジュール内部バス５１２はバスインタフェース回路５１３を介してシステムバス８に接続されている。ＣＰＵ２は、システムバス８と、バスインタフェース回路５１３と、モジュール内部バス５１２を介して各レジスタの読み出しと書き込みを行う。
【００４０】
カウントレジスタ（ＣＮＴ）５００は、所定のクロックサイクルでカウント値を増加していくカウンタであり、カウント値５０４を常時出力する。
【００４１】
ＣＭ１Ｒ５０１、ＣＭ２Ｒ５０２、ＣＭ３Ｒ５０３はそれぞれ、ＣＭ１Ｓ５１、ＣＭ２Ｓ５２、ＣＭ３Ｓ５３を出力するカウント値を設定するレジスタである。
【００４２】
一致検出回路５０８は、カウントレジスタ（ＣＮＴ）５００のカウント値５０４とＣＭ１Ｒ５０１の値を比較しており、両者が一致するとＣＭ１Ｓ５１を出力するとともにＣＮＴクリア信号５１１を出力する。カウントレジスタ（ＣＮＴ）５００はＣＮＴクリア信号５１１の出力によってカウント値を０に戻し、再びカウントを開始する。
【００４３】
一致検出回路５０９は、カウントレジスタ（ＣＮＴ）５００のカウント値５０４とＣＭ２Ｒ５０２の値を比較しており、両者が一致するとＣＭ２Ｓ５２を出力する。
【００４４】
一致検出回路５１０は、カウントレジスタ（ＣＮＴ）５００のカウント値５０４とＣＭ３Ｒ５０３の値を比較しており、両者が一致するとＣＭ２Ｓ５３を出力する。
【００４５】
図４に、タイマ５の動作例を示す。グラフの横軸は時間を示しており、縦軸はカウント値を示している。
【００４６】
カウントレジスタ（ＣＮＴ）５００のカウント値は０から所定のクロックサイクルで増加し、カウント値がＣＭ１Ｒ５０１と一致すると０にクリアされて再び増加を繰り返す。カウントを繰り返す時間（間隔）は制御周期と同じ時間（間隔）にすることが望ましい。
【００４７】
ＣＭ１Ｓ５１、ＣＭ２Ｓ５２、ＣＭ３Ｓ５３はそれぞれ、カウント値がＣＭ１Ｒ５０１、ＣＭ２Ｒ５０２、ＣＭ３Ｒ５０３の値と一致した時にパルスを出力する。これらの信号は同一の時間（間隔）であり、相互の時間差は常に一定である。
【００４８】
なお、図３に示したタイマ５は、カウントレジスタ（ＣＮＴ）５００を所定のクロックサイクルでカウント値を増加しているが、これとは逆に、所定のクロックサイクルでカウント値を減少するようにしてもよい。この場合、カウントレジスタ（ＣＮＴ）５００のカウント値を所定のクロックサイクルで減少させ、カウント値が０になるとＣＭ１Ｒ５０１に設定した値をカウントレジスタ（ＣＮＴ）５００にセットして再び所定のクロックサイクルで減少させればよい。
【００４９】
図５に、Ａ／Ｄ変換器（ＡＤＣ）４の一例の構成を示す。
Ａ／Ｄ変換器（ＡＤＣ）４は、Ａ／Ｄ変換回路４００と、複数のアナログ入力９から１つを選択するアナログマルチプレクサ（ＭＵＸ）４０１と、デジタル値に変換した値を格納するデータバッファ４０２と、Ａ／Ｄ変換する入力チャネルを設定したりする制御レジスタ（ＣＴＬＲ）４０３と、Ａ／Ｄ変換を起動するＡ／Ｄ変換起動レジスタ（ＡＤＴＲ）４０４とを有している。データバッファ４０２、ＣＴＬＲ４０３、ＡＤＴＲ４０４はモジュール内部バス４０６に接続されており、モジュール内部バス４０６はバスインタフェース回路４０５を介してシステムバス８に接続されている。ＣＰＵ２はシステムバス８、バスインタフェース回路４０５、モジュール内部バス４０６を介して各レジスタやデータバッファの読み出しと書き込みを行う。
【００５０】
Ａ／Ｄ変換回路４００は、ＡＤＴＲ４０４がセットされるとＣＴＬＲ４０３の設定に基づいてＡ／Ｄ変換を開始する。
【００５１】
Ａ／Ｄ変換回路４００は、ＣＴＬＲ４０３で指定された入力チャネルをＭＵＸ４０１で選択してアナログ値を取り込み、デジタル値に変換した後にデータバッファ４０２の所定のアドレスに格納する。複数の入力チャネルを変換する場合にはＭＵＸ４０１で１入力チャネルを順次切り替えてデジタル値に変換する。
【００５２】
また、Ａ／Ｄ変換回路４００は、ＣＴＬＲ４０３で指定された入力チャネルのＡ／Ｄ変換が全て完了すると、ＡＤＴＲ４０４を０にクリアするとともにＡ／Ｄ変換完了信号（ＡＤＥ）４１を出力する。
【００５３】
図６に、Ａ／Ｄ変換器（ＡＤＣ）４の動作例を示す。本動作例は４つの入力チャネルの変換を示しており、グラフの横軸は時間を示している。
【００５４】
先ず、ＣＰＵ２がＡＤＴＲ４０４を１にセットすると、Ａ／Ｄ変換回路４００は入力チャネル０、１、２、３の順でアナログ値を取り込んでデジタル値に変換し、デジタル値をデータバッファ４０２の所定のアドレスに格納する。全てのチャネルのＡ／Ｄ変換が完了すると、Ａ／Ｄ変換回路４００はＡＤＴＲ４０４を０にクリアするとともにＡ／Ｄ変換完了信号（ＡＤＥ）４１を出力する。割込みコントローラ（ＩＮＴＣ）７はＡＤＥ４１の出力を検知して割込み信号（ＩＮＴ）７１を出力するので、ＣＰＵ２はＡ／Ｄ変換完了を検知することができる。
【００５５】
図７に、シリアル通信モジュール（ＳＣＭ）６の一例の構成を示す。
シリアル通信モジュール（ＳＣＭ）６は、通信制御回路６００と、送信するデータを格納する送信バッファ（ＴＢＵＦ）６０１と、シリアル送信のための送信シフトレジスタ（ＴＳＲ）６０２と、制御レジスタ（ＣＴＬＲ）６０３と、送信バッファ・エンプティフラグレジスタ（ＴＤＥＲ）６０４とを有している。なお、シリアル通信の受信に係る構成要素は省略している。
【００５６】
ＴＢＵＦ６０１、ＣＴＬＲ６０３、ＴＤＥＲ６０４はモジュール内部バス６０５に接続されており、モジュール内部バス６０５はバスインタフェース回路６０６を介してシステムバス８に接続されている。ＣＰＵ２はシステムバス８、バスインタフェース回路６０６、モジュール内部バス６０５を介して各レジスタやデータバッファの読み出しと書き込みを行う。
【００５７】
ＴＤＥＲ６０４は、ＴＢＵＦ６０１にまだ転送データが格納されていないか、又は格納されたデータが全てＴＳＲ６０２に転送されて空き状態になっていることを示す。初期状態は１にセットされており、ＣＰＵ２による書込みで０にクリアされる。
【００５８】
通信制御回路６００は、ＴＤＥＲ６０４が０にクリアされると、ＴＢＵＦ６０１に転送データが格納されたと見なし、ＴＢＵＦ６０１のデータをＴＳＲ６０２にセットしてシリアル伝送路１０によるデータ送信を開始する。従って、ＣＰＵ２はＴＢＵＦ６０１に転送データを書き込んだ後にＴＤＥＲ６０４を０にクリアするとよい。
【００５９】
また、通信制御回路６００は、ＴＢＵＦ６０１のデータが全てＴＳＲ６０２にセットされてＴＢＵＦ６０１が空き状態になるとＴＤＥＲ６０４を１にセットする。さらに、シリアル伝送路１０によるデータ送信が完了するとデータ送信完了信号（ＴＲＥ）６１を出力する。
【００６０】
図８に、シリアル通信モジュール（ＳＣＭ）６の一例の動作例を示す。グラフの横軸は時間を示している。
先ず、ＣＰＵ２がＴＢＵＦ６０１にデータを書込み、その後にＴＤＥＲ６０４を０にクリアする。
【００６１】
通信制御回路６００は、ＴＤＥＲ６０４が０にクリアされると、ＴＢＵＦ６０１に書き込まれたデータをＴＳＲ６０２にセットしてシリアル伝送路１０によるデータ送信を開始する。ＴＢＵＦ６０１のデータが全てＴＳＲ６０２にセットされると、通信制御回路６００はＴＤＥＲ６０４を１にセットする。さらに、データ送信が完了すると、通信制御回路６００はＴＲＥ６１を出力する。ＴＲＥ６１が出力されると、割込みコントローラ（ＩＮＴＣ）７が割込み信号（ＩＮＴ）７１を出力するので、ＣＰＵ２はデータ送信完了を検知することができる。
【００６２】
本実施形態では、割込みコントローラ（ＩＮＴＣ）７の割込みによって、ＣＰＵ２がＡ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換を起動したり、演算を開始したり、シリアル通信モジュール（ＳＣＭ）６のデータ送信を起動したりする。これらはＣＰＵ２が実行する割り込み処理の中で行われる。
【００６３】
図９に、割込み処理の例を示す。本例では、タイマ５のＣＭ２Ｓ５２出力による割込みによってＡ／Ｄ変換を起動し、Ａ／Ｄ変換器（ＡＤＣ）４のＡＤＥ４１出力による割込みによって演算を開始し、タイマ５のＣＭ３Ｓ５３による割込みによってデータ送信を起動している。
【００６４】
割込みコントローラ（ＩＮＴＣ）７がＩＮＴ７１を出力すると、ＣＰＵ２はＩＮＴ７１の出力を検知して割込み処理を開始する。
【００６５】
先ず、ＣＰＵ２は割込み状態レジスタ（ＩＳＴＲ）７２を読出し（ステップ９０１）、ＡＤＥＲ７３、ＣＭ２Ｆ７６、ＣＭ３Ｆ７７が１であるかどうかを判定する（ステップ９０２、９０６、９０９）。
【００６６】
ＡＤＥＲ７３が１であるならば、ＡＤＥＦ７３をクリアし（ステップ９０３）、Ａ／Ｄ変換器（ＡＤＣ）４のデータバッファ４０２のデータをメモリ３にコピーし（ステップ９０４）、演算を開始する（ステップ９０５）。
【００６７】
ＣＭ２Ｆ７６が１であるならば、ＣＭ２Ｆ７６をクリアし（ステップ９０７）、ＡＤＴＲ４０４をセットしてＡ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換を起動する（９０８）。
【００６８】
ＣＭ３Ｆ７７が１であるならば、ＣＭ３Ｆ７７をクリアし（ステップ９１０）、シリアル通信モジュール（ＳＣＭ）６のＴＢＵＦ６０１に送信データが格納されているかどうかを確認し（ステップ９１１）、送信データが格納されているならばＴＤＥＲ６０４をクリアしてシリアル通信モジュール（ＳＣＭ）６のデータ送信を起動する（ステップ９１２）。なお、割込み処理時にＴＢＵＦ６０１に送信データが格納されていなければ、演算を継続してＴＢＵＦ６０１に送信データを格納した後に、ＴＤＥＲ６０４をクリアしてデータ送信を起動する。
【００６９】
上記以外の割込みフラグが１になっている場合には、それに対応する所定の処理を実行する（ステップ９１３）。
【００７０】
図１０及び図１１に、割込み処理の一例の動作例を示す。
図１０の動作例では、ＣＰＵ２の演算が完了した直後にシリアル通信モジュール（ＳＣＭ）６のデータ送信を起動するようにＣＭ３Ｒ５０３を設定している。
タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ２Ｒ５０２と一致すると、タイマ５はＣＭ２Ｓ５２を出力し、割込みコントローラ（ＩＮＴＣ）７はこれを検知してＩＮＴ７１を出力する。ＣＰＵ２はＩＮＴ７１の出力を検知すると割込み処理によってＡ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換を起動する。
【００７１】
また、Ａ／Ｄ変換器（ＡＤＣ）４はＡ／Ｄ変換が完了するとＡＤＥ４１を出力し、割込みコントローラ（ＩＮＴＣ）７はこれを検知してＩＮＴ７１を出力する。ＣＰＵ２はＩＮＴ７１の出力を検知すると演算を開始する。
【００７２】
また、タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ３Ｒ５０３と一致すると、タイマ５はＣＭ３Ｓ５３を出力し、割込みコントローラ（ＩＮＴＣ）７はこれを検知してＩＮＴ７１を出力する。ＣＰＵ２はＩＮＴ７１の出力を検知すると割込み処理によってシリアル通信モジュール（ＳＣＭ）６のデータ送信を起動する。
【００７３】
本動作例では、Ａ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換と、ＣＰＵ２の演算とシリアル通信モジュール（ＳＣＭ）６のデータ送信を並列に実行しているので、制御周期を短縮することができるとともに、Ａ／Ｄ変換（入力処理）とデータ送信（出力処理）までの応答時間を短縮できる。
【００７４】
一方、図１１の動作例では、ＣＰＵ２の演算が完了した直後にシリアル通信モジュール（ＳＣＭ）６のデータ送信を起動するとともに、Ａ／Ｄ変換器ＡＤＣ４の次のＡ／Ｄ変換を起動するようにＣＭ２Ｒ５０２とＣＭ３Ｒ５０３に同じ値を設定している。
【００７５】
タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ２Ｒ５０２及びＣＭ３Ｒ５０３と一致すると、タイマ５はＣＭ２Ｓ５２とＣＭ３Ｓ５３を出力し、割込みコントローラ（ＩＮＴＣ）７はこれを検知してＩＮＴ７１を出力する。ＣＰＵ２はＩＮＴ７１の出力を検知すると割込み処理によってＡＤＣ４のＡ／Ｄ変換を起動するとともにＳＣＭ６のデータ送信を起動する。なお、Ａ／Ｄ変換の起動とデータ送信の起動の順序は予め定めておく。
【００７６】
また、Ａ／Ｄ変換器（ＡＤＣ）４はＡ／Ｄ変換が完了するとＡＤＥ４１を出力し、割込みコントローラ（ＩＮＴＣ）７はこれを検知してＩＮＴ７１を出力する。ＣＰＵ２はＩＮＴ７１の出力を検知すると演算を開始する。
【００７７】
本動作例では、ＣＭ２Ｓ５２とＣＭ３Ｓ５３を出力するようにしているが、ＣＭ２Ｒ５０２又はＣＭ３Ｒ５０３のいずれか１つだけを用いてＣＭ２Ｓ５２又はＣＭ３Ｓ５３のいずれか１つだけを出力するようにしてもよい。この場合、ＣＰＵ２は割込み処理においてＡＤＣ４のＡ／Ｄ変換とＳＣＭ６のデータ送信を予め定めた順序で起動すればよい。
【００７８】
この例でも、ＡＤＣ４のＡ／Ｄ変換と、ＣＰＵ２の演算とＳＣＭ６のデータ送信を並列に実行しているので、制御周期を短縮することができるとともに、Ａ／Ｄ変換（入力処理）とデータ送信（出力処理）までの応答時間を短縮できる。
【００７９】
なお、本動作例に示すように、Ａ／Ｄ変換やデータ転送を行っている間にＣＰＵ２は別の処理（処理ａ、処理ｂ）を実行できる。
【００８０】
図１２に、割込み処理の他の例を示す。本例は、基本的に図９に示した割込み処理の例と同じであるが、タイマ５のＣＭ１Ｓ５１出力による割込みによって演算を開始する点が異なる。
【００８１】
割込みコントローラ（ＩＮＴＣ）７がＩＮＴ７１を出力すると、ＣＰＵ２はＩＮＴ７１の出力を検知して割込み処理を開始する。
【００８２】
ＣＰＵ２は先ず割込み状態レジスタ（ＩＳＴＲ）７２を読出し（ステップ１２０１）、ＣＭ１Ｆ７５、ＣＭ２Ｆ７６、ＣＭ３Ｆ７７が１であるかどうかを判定する（ステップ１２０２、１２０６、１２０９）。ＣＭ１Ｆ７５が１であるならば、ＣＭ１Ｆ７５をクリアし（ステップ１２０３）、Ａ／Ｄ変換器（ＡＤＣ）４のデータバッファ４０２のデータをメモリ３にコピーし（ステップ１２０４）、演算処理を開始する（ステップ１２０５）。
【００８３】
ＣＭ２Ｆ７６が１であるならば、ＣＭ２Ｆ７６をクリアし（ステップ１２０７）、ＡＤＴＲ４０４をセットしてＡＤＣのＡ／Ｄ変換を起動する（ステップ１２０８）。
【００８４】
ＣＭ３Ｆ７７が１であるならば、ＣＭ３Ｆ７７をクリアし（ステップ１２１０）、ＳＣＭ６のＴＢＵＦ６０１に送信データが格納されているかどうかを確認し（ステップ１２１１）、送信データが格納されているならばＴＤＥＲ６０４をクリアしてＳＣＭ６のデータ送信を起動する（ステップ１２１２）。なお、割込み処理時にＴＢＵＦ６０１に送信データが格納されていなければ、演算を継続してＴＢＵＦ６０１に送信データを格納した後、ＴＤＥＲ６０４をクリアしてデータ送信を起動する。
【００８５】
上記以外の割込みフラグが１になっている場合には、それに対応する所定の処理を実行する（ステップ１２１３）。
【００８６】
図１３に、割込み処理の他の例を用いた動作例を示す。本動作例は図１０に示される動作例と基本的に同じであるが、ＡＤＥ４１の出力で発生する割込みの代わりにＣＭ１Ｓ５１で発生する割込みでＣＰＵ２が演算を開始する点が異なる。
【００８７】
図１３では、Ａ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換が完了した直後にＣＰＵ２の演算を開始するようにＣＭ１Ｒ５０１を設定し、ＣＰＵ２の演算が完了した直後にシリアル通信モジュール（ＳＣＭ）６のデータ送信を起動するようにＣＭ３Ｒ５０３を設定している。
【００８８】
タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ２Ｒ５０２と一致すると、タイマ５はＣＭ２Ｓ５２を出力し、割込みコントローラ（ＩＮＴＣ）７はこれを検知してＩＮＴ７１を出力する。ＣＰＵ２はＩＮＴ７１の出力を検知すると割込み処理によってＡ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換を起動する。
【００８９】
また、タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ１Ｒ５０１と一致すると、タイマ５はＣＭ１Ｓ５１を出力し、割込みコントローラ（ＩＮＴＣ）７はこれを検知してＩＮＴ７１を出力する。ＣＰＵ２はＩＮＴ７１の出力を検知すると演算を開始する。
【００９０】
また、タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ３Ｒ５０３と一致すると、タイマ５はＣＭ３Ｓ５３を出力し、割込みコントローラ（ＩＮＴＣ）７はこれを検知してＩＮＴ７１を出力する。ＣＰＵ２はＩＮＴ７１の出力を検知すると割込み処理によってシリアル通信モジュール（ＳＣＭ）６のデータ送信を起動する。
【００９１】
本例においても、図１０に示した動作例と同様に、Ａ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換と、ＣＰＵ２の演算と、シリアル通信モジュール（ＳＣＭ）６のデータ送信を並列に実行しているので、制御周期を短縮することができるとともに、Ａ／Ｄ変換（入力処理）とデータ送信（出力処理）までの応答時間を短縮できる。
【００９２】
また、ＡＤＥ４１とＣＭ１Ｓ５１を置き換えることにより、図１１に示した例と同様の動作を行うことができる。
【００９３】
以上説明した第１実施形態では、ＣＰＵ２の割込み処理によってＡ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換を起動したり、シリアル通信モジュール（ＳＣＭ）６のデータ送信を起動したり、演算を開始したりしているが、割込み処理の代わりに、ＣＰＵ２が割込みコントローラ（ＩＮＴＣ）７の割込み状態レジスタ（ＩＳＴＲ）７２をポーリングしてＡＤＥＦ７２、ＣＭ１Ｆ７５、ＣＭ２Ｆ７６、ＣＭ３Ｆ７７がそれぞれ１になったときにＡ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換を起動したり、シリアル通信モジュール（ＳＣＭ）６のデータ送信を起動したり、演算を開始したりしてもよい。
【００９４】
なお、本実施形態の電子制御装置1Ａにおいては、Ａ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換の起動タイミングを変更することもできる。例えば、ＣＰＵ２によるｎ回目の演算で、ｎ＋１回目又はｎ＋２回目以降のＡ／Ｄ変換の起動タイミングを決定し、タイマ５のＣＭ２Ｒ５０２を再設定することにより、所望のタイミングでアナログ信号を取り込むことができる。同様に、タイマ５のＣＭ３Ｒ５０３を再設定することにより、所望のタイミングにシリアル通信モジュール（ＳＣＭ）６のデータ転送を起動することもできる。
【００９５】
［第２実施形態］
図１４は、本発明に係る電子制御装置の第２実施形態の概略構成図である。
図示第２実施形態の電子制御装置１Ｂは、図１に示される第１実施形態の電子制御装置１Ａと基本的に同じであるが、Ａ／Ｄ変換器（ＡＤＣ）４とシリアル通信モジュール（ＳＣＭ）６のそれぞれにダイナミック・メモリ・アクセス・コントローラ（ＤＭＡＣ）４１０、６１０を備えた点が異なる。ＤＭＡＣ４１０はＡ／Ｄ変換器（ＡＤＣ）４によって変換されたデータをメモリ３に転送する機能を有している。また、ＤＭＡＣ６１０はメモリ３のデータをシリアル通信モジュール（ＳＣＭ）６に転送してＳＣＭのデータ送信を起動する機能を有している。ここでは、ＤＭＡＣ４１０、６１０によるデータ転送をＤＭＡ転送と呼ぶ。
【００９６】
図１５に、図１４に示されるＡ／Ｄ変換器（ＡＤＣ）４の一例の構成図を示す。本例のＡＤＣ４は、図５に示されるものと基本的に同じであるが、ダイナミック・メモリ・アクセス・コントローラ（ＤＭＡＣ）４１０を備えた点が異なる。なお、ＤＭＡＣ４１０はＡ／Ｄ変換器（ＡＤＣ）４とは独立のモジュールとしても構わない。
【００９７】
ＤＭＡＣ４１０は、転送ペンディングフラグレジスタ（ＴＰＲ）４１１と、転送元アドレスレジスタ（ＳＡＲ）４１２と、転送先アドレスレジスタ（ＤＡＲ）４１３と、転送回数レジスタ（ＴＣＲ）４１４とを有している。
【００９８】
ＴＰＲ４１１は最初に０クリア状態になっており、ＤＭＡ転送が完了すると１にセットされる。その後本レジスタが０クリアされるまでＤＭＡ転送は実行されずペンディング状態になる。
【００９９】
Ａ／Ｄ変換回路４００はＡ／Ｄ変換が完了するとＤＭＡ転送要求信号（ＤＲＥＱ）４０７をアサートする。
【０１００】
ＤＭＡＣ４１０は、ＴＰＲ４１１が０クリア状態でかつＤＲＥＱ４０７がアサート状態であるときに、Ａ／Ｄ変換回路４００にＤＭＡ転送受付信号（ＤＲＡＫ）４１５を出力するとともにＤＭＡ転送を開始する。そしてＴＣＲ４１４に設定した回数のＤＭＡ転送が完了するとＴＰＲ４１１を１にセットするとともにＡ／Ｄ変換完了信号（ＡＤＥ）４１を出力する。
【０１０１】
一方、Ａ／Ｄ変換回路４００はＤＲＡＫ４１５が出力されるとＤＲＥＱ４０７をネゲートする。
【０１０２】
ＤＭＡＣ４１０によるＤＭＡ転送では、ＳＡＲ４１２に設定されたアドレスかデータを読み出してＤＡＲ４１３で指定されたアドレスに書き込む。また、ＴＣＲ４１４に２回以上の転送回数を設定している場合には、１回のＤＭＡ転送毎にＳＡＲ４１２に設定されたアドレスを増加させながらデータを読み出すとともにＤＡＲ４１３に設定されたアドレスを増加させながら書き込む。従って、ＳＡＲ４１２にはＡ／Ｄ変換器（ＡＤＣ）４のデータバッファ４０２で転送すべきデータの先頭アドレスを設定し、ＤＡＲ４１３には変換後のデータを記憶するメモリ３の所定の領域の先頭アドレスを設定し、ＴＣＲ４１４には転送するデータ数を設定するとよい。また、ＴＣＲ４１４に設定した回数だけＤＭＡ転送を実行した後に、ＳＡＲ４１２とＤＡＲ４１３に元の先頭アドレスを自動的にリロードするようにするとよい。
【０１０３】
図１６に、上記Ａ／Ｄ変換器（ＡＤＣ）４の動作例を示す。本動作例は４つの入力チャネルの変換を示しており、グラフの横軸は時間を示している。
【０１０４】
先ず、ＣＰＵ２によってＡＤＴＲ４０４が１にセットされると、Ａ／Ｄ変換回路４００は入力チャネル０、１、２、３の順でアナログ値を取り込んでデジタル値に変換し、デジタル値をデータバッファ４０２の所定のアドレスに格納する。
全てのチャネルのＡ／Ｄ変換が完了すると、Ａ／Ｄ変換回路４００はＡＤＴＲ４０４を０にクリアするとともにＤＲＥＱ４０７をアサートする。
【０１０５】
ＤＭＡＣ４１０は、ＤＲＥＱ４０７がアサートされるとＤＲＡＫ４１５を出力するとともにＤＭＡ転送を開始する。そしてＤＭＡ転送が完了するとＴＰＲ４１１を１にセットするとともにＡ／Ｄ変換完了信号（ＡＤＥ）４１を出力する。ＡＤＥ４１が出力されると、割込みコントローラ（ＩＮＴＣ）７が割込み信号（ＩＮＴ）７１を出力するので、ＣＰＵ２はＡ／Ｄ変換とＤＭＡ転送の完了を検知することができる。
【０１０６】
一方、Ａ／Ｄ変換回路４００はＤＲＡＫ４１５が出力されるとＤＲＥＱ４０７をネゲートする。
【０１０７】
２回目のＡ／Ｄ変換では、Ａ／Ｄ変換回路４００がＡ／Ｄ変換完了後にＤＲＥＱ４０７をアサートしているが、ＴＰＲ４１１が１にセットされた状態であるのでＤＭＡＣ４１０はＤＭＡ転送を開始せず転送ペンディング状態になる。その後、ＣＰＵ２によってＴＰＲ４１１が０にクリアされるとＤＭＡＣ４１０はＤＭＡ転送を開始する。
【０１０８】
なお、本例では、ＤＭＡＣ４１０はＴＰＲ４１１を用いてＤＭＡ転送をペンディング状態にできるようにしているが、ＴＰＲ４１１を用いずに、Ａ／Ｄ変換回路がＤＲＥＱ４０７をアサートしたらＤＭＡ転送を開始するようにしてもよい。
【０１０９】
図１７に、図１４に示されるシリアル通信モジュール（ＳＣＭ）６の構成図を示す。図７に示されるものとの違いは、ダイナミック・メモリ・アクセス・コントローラ（ＤＭＡＣ）６１０を備えた点である。なお、ＤＭＡＣ６１０はシリアル通信モジュール（ＳＣＭ）６とは独立のモジュールとしても構わない。なお、シリアル通信の受信に係る構成要素は省略する。
【０１１０】
ＤＭＡＣ６１０は、メモリ３上のデータをシリアル通信モジュール（ＳＣＭ）６に転送するとともに、シリアル通信モジュール（ＳＣＭ）６によるデータ送信を起動する機能を有している。ＤＭＡＣ６１０は、転送フラグレジスタ（ＴＦＲ）６１１と、転送元アドレスレジスタ（ＳＡＲ）６１２と、転送先アドレスレジスタ（ＤＡＲ）６１３と、転送回数レジスタ（ＴＣＲ）６１４とを有している。ＴＦＲ６１１、ＳＡＲ６１２、ＤＡＲ６１３，ＴＣＲ６１４はＣＰＵ２によって読出しと書込みが可能である。
【０１１１】
ＴＦＲ６１１は最初に０クリア状態になっており、ＣＰＵ２によって１にセットされるとＤＭＡ転送が開始される。その後ＤＭＡ転送が完了すると０にクリアされる。
【０１１２】
通信制御回路６００はＴＢＵＦ６０１が空き状態であればＤＭＡ転送要求信号（ＤＲＥＱ）６０７をアサートする。
【０１１３】
ＤＭＡＣ６１０は、ＴＦＲ６１１が１セット状態でかつＤＲＥＱ６０７がアサート状態であるときに、通信制御回路６００にＤＭＡ転送受付信号（ＤＲＡＫ）６１５を出力するとともに１回のＤＭＡ転送を開始する。そして１回のＤＭＡ転送が完了する時にＤＭＡ転送完了信号（ＤＡＣＫ）６１６を出力する。このＤＭＡ転送動作をＴＣＲ６１４に設定された回数だけ繰り返し、最後のＤＭＡ転送が完了するとデータ送信完了信号（ＴＲＥ）６１を出力する。
【０１１４】
一方、通信制御回路６００はＤＲＡＫ６１５が出力されるとＤＲＥＱ６０７をネゲートし、ＤＡＣＫ６１６が出力されるとＴＤＥＲ６０４を０クリアする。そしてＴＢＵＦ６０１に転送されたデータをＴＳＲ６０２にセットしてシリアル伝送路１０によるデータ送信を開始するとともに、ＴＤＥＲ６０４を再び１にセットしてＤＲＥＱ６０７をアサートする。
【０１１５】
ＤＭＡＣ６１０によるＤＭＡ転送では、ＳＡＲ６１２に設定されたアドレスからデータを読み出してＤＡＲ６１３で指定されたアドレスに書き込む。また、ＴＣＲ６１４に２回以上の転送回数を設定している場合には、１回のＤＭＡ転送毎にＳＡＲ６１２に設定されたアドレスを増加させながらデータを読み出してＤＡＲ６１３で指定されたアドレスに書き込む。従って、ＳＡＲ６１２にはメモリ３にある転送すべきデータの先頭アドレスを設定し、ＤＡＲ６１３にはＴＢＵＦ６０１のアドレスを設定し、ＴＣＲ６１４には転送するデータ数を設定するとよい。また、ＴＣＲ６１４に設定した回数だけＤＭＡ転送を実行した後に、ＳＡＲ６１２に元の先頭アドレスを自動的にリロードするようにするとよい。
【０１１６】
図１８に、上記シリアル通信モジュール（ＳＣＭ）６の動作例を示す。本動作例ではデータ転送回数を３としている。また、グラフの横軸は時間を示している。
【０１１７】
先ず、ＣＰＵ２によってＴＦＲ６１１が１にセットされると、ＤＭＡＣ６１０はＤＲＥＱ６０７のアサートを検知してＤＲＡＫ６１５を出力するとともに１回目のＤＭＡ転送を開始する。そして１回のＤＭＡ転送が完了する時にＤＡＣＫ６１６を出力する。
【０１１８】
一方、通信制御回路６００はＤＲＡＫ６１５が出力されるとＤＲＥＱ６０７をネゲートし、ＤＡＣＫ６１６が出力されるとＴＤＥＲ６０４を０クリアする。そしてＴＢＵＦ６０１に転送されたデータをＴＳＲ６０２にセットしてシリアル伝送路１０によるデータ送信を開始するとともに、ＴＤＥＲ６０４を再び１にセットして次のＤＭＡ転送のためにＤＲＥＱ６０７をアサートする。
【０１１９】
続いて、ＤＭＡＣ６１０はＤＲＥＱ６０７のアサートを検知してＤＲＡＫ６１５を出力するとともにＳＡＲ６１２のアドレスを増加して２回目のＤＭＡ転送を開始する。それ以降の動作は１回目と同じである。
【０１２０】
さらに、３回目のＤＭＡ転送が完了すると、ＤＭＡＣ６１０はＴＲＥ６１を出力する。ＴＲＥ６１が出力されると、割込みコントローラ（ＩＮＴＣ）７が割込み信号（ＩＮＴ）７１を出力するので、ＣＰＵ２はデータ送信のためのＤＭＡ転送完了を検知することができる。
【０１２１】
なお、本例では、最後のＤＭＡ転送が完了した時にＤＭＡＣ６１０がＴＲＥ６１を出力するようにしているが、例えば、通信制御回路６００からＤＭＡＣ６１０に、シリアル送信が完了する毎に送信完了を通知し、ＤＭＡＣ６１０が送信完了通知の回数をカウントしてＴＣＲ６１４と同じ回数だけ通知を受け取った時、すなわち、最後のシリアル送信が完了したときにＴＲＥ６１を出力するようにしてもよい。又は、通信制御回路６００に送信データ数を知らせるためのレジスタを用意しておき、シリアル送信完了の回数がこのレジスタの値と等しくなった時に通信制御回路６００がＴＲＥ６１を出力するようにしてもよい。
【０１２２】
また、本例では、通信制御回路６００はＤＭＡＣ６１０がＤＡＣＫ６１６を出力したことを検知してデータ送信を開始するので、ＣＰＵ２によってＴＤＥＲ６０４を０クリアする必要は無く、ＣＰＵ２によるＴＦＲ６１１の１セットだけでＴＢＵＦ６０１へのデータ書込みとシリアル送信の両方が実行される。
【０１２３】
図１９に、電子制御装置１Ｂにおける割込み処理の一例を示す。本例では、タイマ５のＣＭ２Ｓ５２出力による割込みによってＡ／Ｄ変換を起動し、Ａ／Ｄ変換器（ＡＤＣ）４のＡＤＥ４１出力による割込みによって演算を開始し、タイマ５のＣＭ３Ｓ５３による割込みによってデータ送信を起動している。
【０１２４】
割込みコントローラ（ＩＮＴＣ）７がＩＮＴ７１を出力すると、ＣＰＵ２はＩＮＴ７１の出力を検知して割込み処理を開始する。
【０１２５】
先ず、ＣＰＵ２は割込み状態レジスタ（ＩＳＴＲ）７２を読出し（ステップ１９０１）、ＡＤＥＲ７３、ＣＭ２Ｆ７６、ＣＭ３Ｆ７７が１であるかどうかを判定する（ステップ１９０２、１９０６、１９０９）。
【０１２６】
ＡＤＥＲ７３が１であるならば、ＡＤＥＦ７３をクリアし（ステップ１９０３）、ＴＰＲ４１１をクリアし（ステップ１９０４）、演算を開始する（ステップ１９０５）。
【０１２７】
ＣＭ２Ｆ７６が１であるならば、ＣＭ２Ｆ７６をクリアし（ステップ１９０７）、ＡＤＴＲ４０４をセットしてＡ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換を起動する（ステップ１９０８）。
【０１２８】
ＣＭ３Ｆ７７が１であるならば、ＣＭ３Ｆ７７をクリアし（１９１０）、ＴＦＲ６１１をセットしてシリアル通信モジュール（ＳＣＭ）６のデータ送信を起動する（１９１１）。
【０１２９】
上記以外の割込みフラグが１になっている場合には、それに対応する所定の処理を実行する（１９１２）。
【０１３０】
以上の割込み処理を電子制御装置１Ｂに用いた場合、図１０及び図１１に示される動作と同じ動作を行うことが可能である。さらに、ＤＭＡＣ４１０やＤＭＡＣ６１０によるＤＭＡ転送によって、ＣＰＵ２がＡ／Ｄ変換器（ＡＤＣ）４のデータバッファからメモリ３にデータをコピーしたり、メモリ３のデータをシリアル通信モジュール（ＳＣＭ）６のＴＢＵＦ６０１に格納することが不要になるので、ＣＰＵの負荷を軽減することができる。
【０１３１】
図２０に、電子制御装置１Ｂにおける割込み処理の他の例を示す。本例は基本的には図１９に示される割込み処理の例と同じであるが、タイマ５のＣＭ１Ｓ５１出力による割込みによって演算を開始する点が異なる。
【０１３２】
割込みコントローラ（ＩＮＴＣ）７がＩＮＴ７１を出力すると、ＣＰＵ２はＩＮＴ７１の出力を検知して割込み処理を開始する。
【０１３３】
先ず、ＣＰＵ２は割込み状態レジスタ（ＩＳＴＲ）７２を読出し（ステップ２００１）、ＣＭ１Ｆ７５、ＣＭ２Ｆ７６、ＣＭ３Ｆ７７が１であるかどうかを判定する（ステップ２００２、２００６、２００９）。
【０１３４】
ＣＭ１Ｆ７５が１であるならば、ＣＭ１Ｆ７５をクリアし（ステップ２００３）、ＴＰＲ４１１をクリアし（ステップ２００４）、演算を開始する（ステップ２００５）。
【０１３５】
ＣＭ２Ｆ７６が１であるならば、ＣＭ２Ｆ７６をクリアし（ステップ２００７）、ＡＤＴＲ４０４をセットしてＡ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換を起動する（ステップ２００８）。
【０１３６】
ＣＭ３Ｆ７７が１であるならば、ＣＭ３Ｆ７７をクリアし（２０１０）、ＴＦＲ６１１をセットしてＳＣＭ６のデータ送信を起動する（ステップ２０１１）。
【０１３７】
上記以外の割込みフラグが１になっている場合には、それに対応する所定の処理を実行する（２０１２）。
【０１３８】
以上の割込み処理を実行した場合、図１３に示される動作と同じ動作を行うことができる。また、ＡＤＥ４１とＣＭ１Ｓ５１を置き換えることにより、図１１に示した動作例と同様の動作を行うことができる。
【０１３９】
なお、第２実施形態の電子制御装置１Ｂでは、ＣＰＵ２の割込み処理によってＡ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換を起動したり、シリアル通信モジュール（ＳＣＭ）６のデータ送信を起動したり、演算を開始したりしているが、割込み処理の代わりに、ＣＰＵ２が割込みコントローラ（ＩＮＴＣ）７の割込み状態レジスタ（ＩＳＴＲ）７２をポーリングしてＡＤＥＦ７３、ＣＭ１Ｆ７５、ＣＭ２Ｆ７６、ＣＭ３Ｆ７７がそれぞれ１になった時にＡ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換を起動したり、シリアル通信モジュール（ＳＣＭ）６のデータ送信を起動したり、演算を開始したりしてもよい。
【０１４０】
さらに、ＤＭＡＣ４１０やＤＭＡＣ６１０によるＤＭＡ転送によって、ＣＰＵ２がＡ／Ｄ変換器（ＡＤＣ）４のデータバッファからメモリ３にデータをコピーしたり、メモリ３のデータをシリアル通信モジュール（ＳＣＭ）６のＴＢＵＦ６０１に格納することが不要になるので、ＣＰＵの負荷を削減することができる。
【０１４１】
なお、本発明に係る電子制御装置においては、Ａ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換の起動タイミングを変更することもできる。例えば、ＣＰＵ２によるｎ回目の演算で、ｎ＋１回目又はｎ＋２回目以降のＡ／Ｄ変換の起動タイミングを決定し、タイマ５のＣＭ２Ｒ５０２を再設定することにより、所望のタイミングのアナログ信号を取り込むことができる。同様に、タイマ５のＣＭ３Ｒ５０３を再設定することにより、所望のタイミングにシリアル通信モジュール（ＳＣＭ）６のデータ転送を起動することもできる。
【０１４２】
［第３実施形態］
図２１は、本発明に係る電子制御装置の第３実施形態の概略構成を示す。
図示第３実施形態の電子制御装置１Ｃは、図１に示される第１実施形態の電子制御装置１Ａと基本的には同じであるが、タイマ５のコンペアマッチ２信号（ＣＭ２Ｓ）５２とコンペアマッチ３信号（ＣＭ３Ｓ）５３をそれぞれＡ／Ｄ変換器（ＡＤＣ）４とシリアル通信モジュール（ＳＣＭ）６に接続（出力）している点が異なる。
【０１４３】
電子制御装置１Ｃは、中央演算処理ユニット（ＣＰＵ）２と、メモリ３と、１つ又は複数のセンサから入力されるアナログ信号９を取り込んでデジタル値に変換するアナログ／デジタル変換器（ＡＤＣ）４と、予め定めたタイミングにコンペアマッチ信号５１、５２、５３を出力するタイマ５と、シリアル伝送路１０を介して他の装置とデータ転送を行なうシリアル通信モジュール（ＳＣＭ）６と、タイマ５が出力するコンペアマッチ信号５１や、Ａ／Ｄ変換器（ＡＤＣ）４が出力するＡ／Ｄ変換完了信号４１や、シリアル通信モジュール（ＳＣＭ）６が出力する転送完了信号６１を検知してＣＰＵ２に割込み信号７１を出力する割込みコントローラ（ＩＮＴＣ）７とを備えており、これらはシステムバス８で接続されている。
【０１４４】
電子制御装置１Ｃは、タイマ５のカウント値に基づき、Ａ／Ｄ変換器（ＡＤＣ）４が１つ又は複数のセンサから入力されるアナログ信号９を取り込んでデジタル値に変換し、ＣＰＵ２がそのデータに基づいて演算を実行し、シリアル通信モジュール（ＳＣＭ）６が演算結果をシリアル伝送路１０を介して他の装置に送信するという制御を一定の周期（以下、制御周期）で繰り返し実行する。
【０１４５】
メモリ３には、Ａ／Ｄ変換器（ＡＤＣ）４が変換したデジタル値に基づいて演算を実行するプログラムが格納されている。ＣＰＵ２は、割込みコントローラ（ＩＮＴＣ）７が割込みを発生するとその割込み要因に基づいてこのプログラムを実行する。
【０１４６】
割込みコントローラ（ＩＮＴＣ）７は、タイマ５によるコンペアマッチ１信号（ＣＭ１Ｓ）５１の出力と、Ａ／Ｄ変換器（ＡＤＣ）４によるＡ／Ｄ変換完了信号（ＡＤＥ）４１の出力と、シリアル通信モジュール（ＳＣＭ）６による転送完了信号（ＴＲＥ）６１の出力を検知し、各信号が出力されたことを記憶するとともに、少なくとも１つの信号の出力を検知するとＣＰＵ２に割込み信号（ＩＮＴ）７１を出力する。
【０１４７】
なお、図示はしないが、割込みコントローラ（ＩＮＴＣ）７の各入力信号毎に、信号出力を検知したときに割込みを発生するか又は発生しないかを選択するレジスタを設け、ある信号が出力されても割込みを発生しないようにしてもよい。これにより、ＣＰＵ２の不要な割込み処理を削除できる。
【０１４８】
図２２に、割込みコントローラ（ＩＮＴＣ）７の割込み状態レジスタ（ＩＳＴＲ）７２を示す。
割込み状態レジスタ（ＩＳＴＲ）７２は、ＡＤＥ４１が出力されたときにセットされるＡ／Ｄ変換完了フラグ（ＡＤＥＲ）７３と、ＴＲＥ６１が出力されたときにセットされる転送完了フラグ（ＴＲＥＦ）７４と、ＣＭ１Ｓ５１が出力されたときにセットされるコンペアマッチ１フラグ（ＣＭ１Ｆ）７５とを有している。
【０１４９】
割込み状態レジスタ（ＩＳＴＲ）７２はＣＰＵ２からの読み出しと書き込みが可能である。ＣＰＵ２は割込み状態レジスタ（ＩＳＴＲ）７２を読み出して割込みの要因を判定することができる。また、ＣＰＵ２は各フラグに０又は１を書き込むことによって該当するフラグをクリアすることができる。
タイマ５は、図３に示されるものと同じ構成なので説明を省略する。
【０１５０】
図２３に、本実施形態のＡ／Ｄ変換器（ＡＤＣ）４の構成を示す。
Ａ／Ｄ変換器（ＡＤＣ）４は、図５に示されるものと基本的に同じであるが、タイマ５が出力するＣＭ２Ｓ５２によってＡ／Ｄ変換を起動する点が異なる。これに伴い、Ａ／Ｄ変換を起動するＡ／Ｄ変換起動レジスタ（ＡＤＴＲ）４０４を削除している。
【０１５１】
Ａ／Ｄ変換器（ＡＤＣ）４は、Ａ／Ｄ変換回路４００と、複数のアナログ入力９から１つを選択するアナログマルチプレクサ（ＭＵＸ）４０１と、デジタル値に変換した値を格納するデータバッファ４０２と、Ａ／Ｄ変換する入力チャネルを設定したりする制御レジスタ（ＣＴＬＲ）４０３とを有している。データバッファ４０２、ＣＴＬＲ４０３はモジュール内部バス４０６に接続されており、モジュール内部バス４０６はバスインタフェース回路４０５を介してシステムバス８に接続されている。ＣＰＵ２はシステムバス８、バスインタフェース回路４０５、モジュール内部バス４０６を介して各レジスタやデータバッファの読み出しと書き込みを行う。
【０１５２】
Ａ／Ｄ変換回路４００は、タイマ５のＣＭ２Ｓ５２の出力を検知するとＣＴＬＲ４０３の設定に基づいてＡ／Ｄ変換を開始する。
【０１５３】
Ａ／Ｄ変換回路４００は、ＣＴＬＲ４０３で指定された入力チャネルをＭＵＸ４０１で選択してアナログ値を取り込み、デジタル値に変換した後にデータバッファ４０２の所定のアドレスに格納する。複数の入力チャネルを変換する場合にはＭＵＸ４０１で１入力チャネルを順次切り替えてデジタル値に変換する。
【０１５４】
また、Ａ／Ｄ変換回路４００は、ＣＴＬＲ４０３で指定された入力チャネルのＡ／Ｄ変換が全て完了すると、Ａ／Ｄ変換完了信号（ＡＤＥ）４１を出力する。
【０１５５】
図２４に、上記Ａ／Ｄ変換器（ＡＤＣ）４の動作例を示す。本動作例は４つの入力チャネルの変換を示しており、グラフの横軸は時間を示している。
【０１５６】
先ず、タイマ５がＣＭ２Ｓ５２を出力すると、Ａ／Ｄ変換回路４００は入力チャネル０、１、２、３の順でアナログ値を取り込んでデジタル値に変換し、デジタル値をデータバッファ４０２の所定のアドレスに格納する。全てのチャネルのＡ／Ｄ変換が完了すると、Ａ／Ｄ変換回路４００はＡ／Ｄ変換完了信号（ＡＤＥ）４１を出力する。割込みコントローラ（ＩＮＴＣ）７はＡＤＥ４１の出力を検知して割込み信号（ＩＮＴ）７１を出力するので、ＣＰＵ２はＡ／Ｄ変換完了を検知することができる。
【０１５７】
図２５に、図２１に示されるシリアル通信モジュール（ＳＣＭ）６の構成を示す。
シリアル通信モジュール（ＳＣＭ）６は、図７に示したＳＣＭと基本的に同じであるが、タイマ５が出力するＣＭ３Ｓ５３によってデータ送信を起動する点が異なる。
【０１５８】
ＳＣＭ６は、通信制御回路６００と、送信するデータを格納する送信バッファ（ＴＢＵＦ）６０１と、シリアル送信のための送信シフトレジスタ（ＴＳＲ）６０２と、制御レジスタ（ＣＴＬＲ）６０３と、送信バッファ・エンプティフラグレジスタ（ＴＤＥＲ）６０４とを有している。なお、シリアル通信の受信に係る構成要素は省略している。
【０１５９】
ＴＢＵＦ６０１、ＣＴＬＲ６０３、ＴＤＥＲ６０４はモジュール内部バス６０５に接続されており、モジュール内部バス６０５はバスインタフェース回路６０６を介してシステムバス８に接続されている。ＣＰＵ２はシステムバス８、バスインタフェース回路６０６、モジュール内部バス６０５を介して各レジスタやデータバッファの読み出しと書き込みを行う。
【０１６０】
ＴＤＥＲ６０４は、ＴＢＵＦ６０１にまだ転送データが格納されていないか、又は格納されたデータが全てＴＳＲ６０２に転送されて空き状態になっていることを示す。初期状態は１にセットされており、ＣＰＵ２による書込みで０にクリアされる。
【０１６１】
通信制御回路６００は、ＴＤＥＲ６０４が０にクリアされているときにタイマ５のＣＭ３Ｓ５３出力を検知すると、ＴＢＵＦ６０１に転送データが格納されている見なし、ＴＢＵＦ６０１のデータをＴＳＲ６０２にセットしてシリアル伝送路１０によるデータ送信を開始する。これにより、所定のタイミングにデータを転送する必要がある場合、タイマ５のＣＭ３Ｒ５０３に所定のカウント値を設定すれば、シリアル通信モジュール（ＳＣＭ）６のデータ送信が所定のタイミングに自動的に行われ、ＣＰＵ２によるデータ送信の起動処理が不要になる。
【０１６２】
また、通信制御回路６００は、ＴＢＵＦ６０１のデータが全てＴＳＲ６０２にセットされてＴＢＵＦ６０１が空き状態になるとＴＤＥＲ６０４を１にセットする。さらに、シリアル伝送路１０によるデータ送信が完了するとデータ送信完了信号（ＴＲＥ）６１を出力する。
【０１６３】
図２６に、本実施形態のシリアル通信モジュール（ＳＣＭ）６の動作例を示す。グラフの横軸は時間を示している。
【０１６４】
先ず、ＣＰＵ２がＴＢＵＦ６０１にデータを書き込こんでＴＤＥＲ６０４を０にクリアした後、タイマ５が所定のタイミングにＣＭ３Ｓ５３を出力する。
【０１６５】
通信制御回路６００は、ＴＤＥＲ６０４が０にクリアされているときにＣＭ３Ｓ５３の出力を検知すると、ＴＢＵＦ６０１に書き込まれたデータをＴＳＲ６０２にセットしてシリアル伝送路１０によるデータ送信を開始する。
【０１６６】
ＴＢＵＦ６０１のデータが全てＴＳＲ６０２にセットされると、通信制御回路６００はＴＤＥＲ６０４を１にセットする。
【０１６７】
さらに、データ送信が完了すると、通信制御回路６００はＴＲＥ６１を出力する。ＴＲＥ６１が出力されると、割込みコントローラ（ＩＮＴＣ）７が割込み信号（ＩＮＴ）７１を出力するので、ＣＰＵ２はデータ送信完了を検知することができる。
【０１６８】
なお、通信制御回路６００は、ＴＤＥＲ６０４が１にセットされているときにタイマ５のＣＭ３Ｓ５３出力を検知した場合、ＣＭ３Ｓ５３出力を記憶しておき、その後にＴＤＥＲ６０４が０にクリアされたときにデータ送信を開始するようにしてもよい。
【０１６９】
また、通信制御回路６００は、ＴＤＥＲ６０４が０にクリアされたときにＴＢＵＦ６０１のデータをＴＳＲ６０２にセットしてデータ送信待ち状態となり、その後、タイマ５のＣＭ３Ｓ５３出力を検知してデータ送信を開始してもよい。
【０１７０】
さらにシリアル通信モジュール（ＳＣＭ）６は、ＴＤＥＲ６０４が０にクリアされたときにデータ送信を開始するか、又は、タイマ５のＣＭ３Ｓ５３出力を検知したときにデータ送信を開始するかを選択するレジスタを備えてもよい。
【０１７１】
本実施形態の電子制御装置１Ｃでは、タイマ５のコンペアマッチ信号ＣＭ２Ｓ５２、ＣＭ３Ｓ５３の出力によって、Ａ／Ｄ変換器（ＡＤＣ）４がＡ／Ｄ変換を開始したり、シリアル通信モジュール（ＳＣＭ）６がデータ送信を開始したりする。これらはＣＰＵ２の処理を必要としない。
【０１７２】
一方、ＣＰＵ２は、Ａ／Ｄ変換器（ＡＤＣ）４のＡＤＥ４１の出力、又は、タイマ５のコンペアマッチ信号ＣＭ１Ｓ５１の出力によって発生する割込みコントローラ（ＩＮＴＣ）７の割込みによって演算を開始する。
【０１７３】
図２７、図２８及び図２９に、第３実施形態の動作例を示す。
図２７の動作例では、ＣＰＵ２の演算が完了した直後にシリアル通信モジュール（ＳＣＭ）６のデータ送信を起動するようにＣＭ３Ｒ５０３を設定している。
タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ２Ｒ５０２と一致すると、タイマ５はＣＭ２Ｓ５２を出力し、Ａ／Ｄ変換器（ＡＤＣ）４はこれを検知してＡ／Ｄ変換を開始する。
【０１７４】
また、Ａ／Ｄ変換器（ＡＤＣ）４はＡ／Ｄ変換が完了するとＡＤＥ４１を出力し、割込みコントローラ（ＩＮＴＣ）７はこれを検知してＩＮＴ７１を出力する。ＣＰＵ２はＩＮＴ７１の出力を検知すると演算を開始する。
【０１７５】
また、タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ３Ｒ５０３と一致すると、タイマ５はＣＭ３Ｓ５３を出力し、シリアル通信モジュール（ＳＣＭ）６はこれを検知してデータ送信を開始する。
【０１７６】
図２７の動作例では、Ａ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換と、ＣＰＵ２の演算と、シリアル通信モジュール（ＳＣＭ）６のデータ送信を並列に実行しているので、制御周期を短縮することができるとともに、Ａ／Ｄ変換（入力処理）とデータ送信（出力処理）までの応答時間を短縮できる。さらに、ＣＰＵ２はＡ／Ｄ変換の起動やデータ送信の起動を処理する必要がないので、ＣＰＵ２の負荷を軽減できる。
【０１７７】
一方、図２８の動作例では、ＣＰＵ２の演算が完了した直後にシリアル通信モジュール（ＳＣＭ）６のデータ送信を開始するとともにＡＣＤの次のＡ／Ｄ変換を開始するようにＣＭ２Ｒ５０２とＣＭ３Ｒ５０３に同じ値を設定している。
タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ２Ｒ５０２及びＣＭ３Ｒ５０３と一致すると、タイマ５はＣＭ２Ｓ５２とＣＭ３Ｓ５３を出力する。Ａ／Ｄ変換器（ＡＤＣ）４はＣＭ２Ｓ５２の出力を検知してＡ／Ｄ変換を開始し、シリアル通信モジュール（ＳＣＭ）６はＣＭ３Ｓ５３の出力を検知してデータ送信を起動する。
【０１７８】
また、Ａ／Ｄ変換器（ＡＤＣ）４はＡ／Ｄ変換が完了するとＡＤＥ４１を出力し、割込みコントローラ（ＩＮＴＣ）７はこれを検知してＩＮＴ７１を出力する。ＣＰＵ２はＩＮＴ７１の出力を検知すると演算を開始する。
【０１７９】
本動作例では、ＣＭ２Ｓ５２とＣＭ３Ｓ５３を出力するようにしているが、ＣＭ２Ｒ５０２又はＣＭ３Ｒ５０３のいずれか１つだけを用いてＣＭ２Ｓ５２又はＣＭ３Ｓ５３のいずれか１つだけを出力するようにしてもよい。この場合、Ａ／Ｄ変換器（ＡＤＣ）４とシリアル通信モジュール（ＳＣＭ）６は同一のコンペアマッチ信号によってそれぞれＡ／Ｄ変換とデータ送信を開始する。
【０１８０】
なお、本動作例に示すように、Ａ／Ｄ変換やデータ転送を行っている間にＣＰＵ２は別の処理（処理ａ、処理ｂ）を実行できる。
【０１８１】
図２９の動作例は、図２８の動作例と基本的に同じであるが、ＡＤＥ４１の出力で発生する割込みの代わりにＣＭ１Ｓ５１で発生する割込みでＣＰＵ２が演算を開始する点が異なる。
【０１８２】
本動作例では、Ａ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換が完了した直後にＣＰＵ２の演算を開始するようにＣＭ１Ｒ５０１を設定し、ＣＰＵ２の演算が完了した直後にシリアル通信モジュール（ＳＣＭ）６のデータ送信を開始するようにＣＭ３Ｒ５０３を設定している。
【０１８３】
タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ２Ｒ５０２と一致すると、タイマ５はＣＭ２Ｓ５２を出力し、Ａ／Ｄ変換器（ＡＤＣ）４はこれを検知すると変換を開始する。
【０１８４】
また、タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ１Ｒ５０１と一致すると、タイマ５はＣＭ１Ｓ５１を出力し、割込みコントローラ（ＩＮＴＣ）７はこれを検知してＩＮＴ７１を出力する。ＣＰＵ２はＩＮＴ７１の出力を検知すると演算を開始する。
【０１８５】
また、タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ３Ｒ５０３と一致すると、タイマ５はＣＭ３Ｓ５３を出力し、シリアル通信モジュール（ＳＣＭ）６はこれを検知するとデータ送信を開始する。
【０１８６】
本動作例では、図２８の動作例と同様に、Ａ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換と、ＣＰＵ２の演算と、シリアル通信モジュール（ＳＣＭ）６のデータ送信を並列に実行しており、制御周期を短縮することができるとともに、Ａ／Ｄ変換（入力処理）とデータ送信（出力処理）までの応答時間を短縮できる。
【０１８７】
また、ＡＤＥ４１とＣＭ１Ｓ５１を置き換えることにより、図２８の動作例と同様の動作を行うことができる。
【０１８８】
以上説明した本発明に係る第３実施形態の電子制御装置１Ｃでは、ＣＰＵ２は割込みコントローラ（ＩＮＴＣ）７からの割込みによって演算を開始しているが、割込み処理の代わりに、ＣＰＵ２が割込みコントローラ（ＩＮＴＣ）７の割込み状態レジスタ（ＩＳＴＲ）７２をポーリングしてＡＤＥＦ７２又はＣＭ１Ｆ７５が１になった時に演算を開始してもよい。
【０１８９】
なお、本実施形態の電子制御装置１Ｃにおいては、Ａ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換の起動タイミングを変更することもできる。例えば、ＣＰＵ２によるｎ回目の演算で、ｎ＋１回目又はｎ＋２回目以降のＡ／Ｄ変換の起動タイミングを決定し、タイマ５のＣＭ２Ｒ５０２を再設定することにより、所望のタイミングのアナログ信号を取り込むことができる。同様に、タイマ５のＣＭ３Ｒ５０３を再設定することにより、所望のタイミングにシリアル通信モジュール（ＳＣＭ）６のデータ転送を起動することもできる。
【０１９０】
［第４実施形態］
図３０は、本発明に係る電子制御装置の第４実施形態の概略構成を示す。
図示第４実施形態の電子制御装置１Ｄは、図２１に示される第３実施形態の電子制御装置１Ｃと基本的には同じであるが、Ａ／Ｄ変換器（ＡＤＣ）４とシリアル通信モジュール（ＳＣＭ）６のそれぞれにダイナミック・メモリ・アクセス・コントローラ（ＤＭＡＣ）４１０、６１０を備えた点が異なる。
【０１９１】
ＤＭＡＣ４１０はＡ／Ｄ変換器（ＡＤＣ）４によって変換されたデータをメモリ３に転送する機能を有している。また、ＤＭＡＣ６１０はメモリ３のデータをシリアル通信モジュール（ＳＣＭ）６に転送してＳＣＭのデータ送信を起動する機能を有している。ここでは、ＤＭＡＣ４１０、６１０によるデータ転送をＤＭＡ転送と呼ぶ。
【０１９２】
図３１に、図３０に示されるＡ／Ｄ変換器（ＡＤＣ）４の構成を示す。本例のＡＤＣ４は、図２３に示されるものと基本的に同じであるが、ダイナミック・メモリ・アクセス・コントローラ（ＤＭＡＣ）４１０を備えた点が異なる。なお、ＤＭＡＣ４１０はＡ／Ｄ変換器（ＡＤＣ）４とは独立のモジュールとしても構わない。
【０１９３】
ＤＭＡＣ４１０は、転送ペンディングフラグレジスタ（ＴＰＲ）４１１と、転送元アドレスレジスタ（ＳＡＲ）４１２と、転送先アドレスレジスタ（ＤＡＲ）４１３と、転送回数レジスタ（ＴＣＲ）４１４とを有している。
【０１９４】
ＴＰＲ４１１は最初に０クリア状態になっており、ＤＭＡ転送が完了すると１にセットされる。その後本レジスタが０クリアされるまでＤＭＡ転送は実行されずペンディング状態になる。
【０１９５】
Ａ／Ｄ変換回路４００は、ＣＭ２Ｓ５２の出力を検知するとＡ／Ｄ変換を開始し、Ａ／Ｄ変換が完了するとＤＭＡ転送要求信号（ＤＲＥＱ）４０７をアサートする。
【０１９６】
ＤＭＡＣ４１０は、ＴＰＲ４１１が０クリア状態でかつＤＲＥＱ４０７がアサート状態であるときに、Ａ／Ｄ変換回路４００にＤＭＡ転送受付信号（ＤＲＡＫ）４１５を出力するとともにＤＭＡ転送を開始する。そしてＴＣＲ４１４に設定した回数のＤＭＡ転送が完了するとＴＰＲ４１１を１にセットするとともにＡ／Ｄ変換完了信号（ＡＤＥ）４１を出力する。
【０１９７】
一方、Ａ／Ｄ変換回路４００はＤＡＣＫ４１５が出力されるとＤＲＥＱ４０７をネゲートする。
【０１９８】
ＤＭＡＣ４１０によるＤＭＡ転送では、ＳＡＲ４１２に設定されたアドレスかデータを読み出してＤＡＲ４１３で指定されたアドレスに書き込む。また、ＴＣＲ４１４に２回以上の転送回数を設定している場合には、１回のＤＭＡ転送毎にＳＡＲ４１２に設定されたアドレスを増加させながらデータを読み出すとともにＤＡＲ４１３に設定されたアドレスを増加させながら書き込む。従って、ＳＡＲ４１２にはＡ／Ｄ変換器（ＡＤＣ）４のデータバッファ４０２で転送すべきデータの先頭アドレスを設定し、ＤＡＲ４１３には変換後のデータを記憶するメモリ３の所定の領域の先頭アドレスを設定し、ＴＣＲ４１４には転送するデータ数を設定するとよい。また、ＴＣＲ４１４に設定した回数だけＤＭＡ転送を実行した後に、ＳＡＲ４１２とＤＡＲ４１３に元の先頭アドレスを自動的にリロードするようにするとよい。
【０１９９】
図３２に、上記Ａ／Ｄ変換器（ＡＤＣ）４の動作例を示す。本動作例は４つの入力チャネルの変換を示しており、グラフの横軸は時間を示している。
【０２００】
先ず、タイマ５がＣＭ２Ｓ５２を出力すると、Ａ／Ｄ変換回路４００は入力チャネル０、１、２、３の順でアナログ値を取り込んでデジタル値に変換し、デジタル値をデータバッファ４０２の所定のアドレスに格納する。
全てのチャネルのＡ／Ｄ変換が完了すると、Ａ／Ｄ変換回路４００はＤＲＥＱ４０７をアサートする。
【０２０１】
ＤＭＡＣ４１０は、ＤＲＥＱ４０７がアサートされるとＤＲＡＫ４１５を出力するとともにＤＭＡ転送を開始する。そしてＤＭＡ転送が完了するとＴＰＲ４１１を１にセットするとともにＡ／Ｄ変換完了信号（ＡＤＥ）４１を出力する。ＡＤＥ４１が出力されると、割込みコントローラ（ＩＮＴＣ）７が割込み信号７１を出力するので、ＣＰＵ２はＡ／Ｄ変換とＤＭＡ転送の完了を検知することができる。
【０２０２】
一方、Ａ／Ｄ変換回路４００はＤＲＡＫ４１５が出力されるとＤＲＥＱ４０７をネゲートする。
【０２０３】
２回目のＡ／Ｄ変換では、Ａ／Ｄ変換回路４００がＡ／Ｄ変換完了後にＤＲＥＱ４０７をアサートしているが、ＴＰＲ４１１が１にセットされた状態であるのでＤＭＡＣ４１０はＤＭＡ転送を開始せず転送ペンディング状態になる。その後、ＣＰＵ２によってＴＰＲ４１１が０にクリアされるとＤＭＡＣ４１０はＤＭＡ転送を開始する。
【０２０４】
なお、本例では、ＤＭＡＣ４１０はＴＰＲ４１１を用いてＤＭＡ転送をペンディング状態にできるようにしているが、ＴＰＲ４１１を用いずに、Ａ／Ｄ変換回路がＤＲＥＱ４０７をアサートしたらＤＭＡ転送を開始するようにしてもよい。
【０２０５】
図３３に、図３０に示されるシリアル通信モジュール（ＳＣＭ）６の構成を示す。図２５に示される第３実施形態のものとの違いは、ダイナミック・メモリ・アクセス・コントローラ（ＤＭＡＣ）６１０を備えた点である。なお、ＤＭＡＣ６１０はシリアル通信モジュール（ＳＣＭ）６とは独立のモジュールとしても構わない。また、シリアル通信の受信に係る構成要素は省略する。
【０２０６】
ＤＭＡＣ６１０は、メモリ３上のデータをシリアル通信モジュール（ＳＣＭ）６に転送するとともに、シリアル通信モジュール（ＳＣＭ）６によるデータ送信を起動する機能を有している。ＤＭＡＣ６１０は、転送フラグレジスタ（ＴＦＲ）６１１と、転送元アドレスレジスタ（ＳＡＲ）６１２と、転送先アドレスレジスタ（ＤＡＲ）６１３と、転送回数レジスタ（ＴＣＲ）６１４とを有している。ＴＦＲ６１１、ＳＡＲ６１２、ＤＡＲ６１３，ＴＣＲ６１４はＣＰＵ２によって読出しと書込みが可能である。
【０２０７】
ＴＦＲ６１１は最初に０クリア状態になっており、ＣＰＵ２によって１にセットされるとＤＭＡ転送が可能な状態になる。ＴＦＲ６１１はＣＰＵ２によって０にクリアされるまではセット状態を維持する。
【０２０８】
通信制御回路６００は、ＴＢＵＦ６０１が空き状態であればＤＭＡ転送要求信号（ＤＲＥＱ）６０７をアサートする。
【０２０９】
ＤＭＡＣ６１０は、ＴＦＲ６１１が１セット状態でかつＤＲＥＱ６０７がアサート状態であるときに、タイマ５のＣＭ３Ｓ５３の出力を検知すると、通信制御回路６００にＤＭＡ転送受付信号（ＤＲＡＫ）６１５を出力するとともに１回のＤＭＡ転送を開始する。そして１回のＤＭＡ転送が完了する時にＤＭＡ転送完了信号（ＤＡＣＫ）６１６を出力する。このＤＭＡ転送動作をＴＣＲ６１４に設定された回数だけ繰り返し、最後のＤＭＡ転送が完了するとデータ送信完了信号（ＴＲＥ）６１を出力する。
【０２１０】
一方、通信制御回路６００はＤＲＡＫ６１５が出力されるとＤＲＥＱ６０７をネゲートし、ＤＡＣＫ６１６が出力されるとＴＤＥＲ６０４を０クリアする。そしてＴＢＵＦ６０１に転送されたデータをＴＳＲ６０２にセットしてシリアル伝送路１０によるデータ送信を開始するとともに、ＴＤＥＲ６０４を再び１にセットしてＤＲＥＱ６０７をアサートする。
【０２１１】
ＤＭＡＣ６１０によるＤＭＡ転送では、ＳＡＲ６１２に設定されたアドレスからデータを読み出してＤＡＲ６１３で指定されたアドレスに書き込む。また、ＴＣＲ６１４に２回以上の転送回数を設定している場合には、１回のＤＭＡ転送毎にＳＡＲ６１２に設定されたアドレスを増加させながらデータを読み出してＤＡＲ６１３で指定されたアドレスに書き込む。従って、ＳＡＲ６１２にはメモリ３にある転送すべきデータの先頭アドレスを設定し、ＤＡＲ６１３にはＴＢＵＦ６０１のアドレスを設定し、ＴＣＲ６１４には転送するデータ数を設定するとよい。また、ＴＣＲ６１４に設定した回数だけＤＭＡ転送を実行した後に、ＳＡＲ６１２に元の先頭アドレスを自動的にリロードするようにするとよい。
【０２１２】
図３４に、上記シリアル通信モジュール（ＳＣＭ）６の動作例を示す。本動作例ではデータ転送回数を３としている。また、グラフの横軸は時間を示している。
【０２１３】
先ず、ＣＰＵ２によってＴＦＲ６１１が１にセットされ、その後にタイマ５がＣＭ３Ｓ５３を出力すると、ＤＭＡＣ６１０はＤＲＥＱ６０７のアサートを検知してＤＲＡＫ６１５を出力するとともに１回目のＤＭＡ転送を開始する。そして１回のＤＭＡ転送が完了する時にＤＡＣＫ６１６を出力する。
【０２１４】
一方、通信制御回路６００はＤＲＡＫ６１５が出力されるとＤＲＥＱ６０７をネゲートし、ＤＡＣＫ６１６が出力されるとＴＤＥＲ６０４を０クリアする。そしてＴＢＵＦ６０１に転送されたデータをＴＳＲ６０２にセットしてシリアル伝送路１０によるデータ送信を開始するとともに、ＴＤＥＲ６０４を再び１にセットして次のＤＭＡ転送のためにＤＲＥＱ６０７をアサートする。
【０２１５】
続いて、ＤＭＡＣ６１０はＤＲＥＱ６０７のアサートを検知してＤＲＡＫ６１５を出力するとともにＳＡＲ６１２のアドレスを増加して２回目のＤＭＡ転送を開始する。それ以降の動作は１回目と同じである。
【０２１６】
さらに、３回目のＤＭＡ転送が完了すると、ＤＭＡＣ６１０はＴＲＥ６１を出力する。ＴＲＥ６１が出力されると、割込みコントローラ（ＩＮＴＣ）７が割込み信号（ＩＮＴ）７１を出力するので、ＣＰＵ２はデータ送信のためのＤＭＡ転送完了を検知することができる。
【０２１７】
なお、本例では、最後のＤＭＡ転送が完了した時にＤＭＡＣ６１０がＴＲＥ６１を出力するようにしているが、例えば、通信制御回路６００からＤＭＡＣ６１０に、シリアル送信が完了する毎に送信完了を通知し、ＤＭＡＣ６１０が送信完了通知の回数をカウントしてＴＣＲ６１４と同じ回数だけ通知を受け取った時、すなわち、最後のシリアル送信が完了したときにＴＲＥ６１を出力するようにしてもよい。又は、通信制御回路６００に送信データ数を知られめるためのレジスタを用意しておき、シリアル送信完了の回数がこのレジスタの値と等しくなった時に通信制御回路６００がＴＲＥ６１を出力するようにしてもよい。
【０２１８】
また、本例では、ＤＭＡＣ６１０はタイマ５のＣＭ３Ｓ５３出力によって送信データのＤＭＡ転送を開始し、さらに、通信制御回路６００はＤＭＡＣ６１０のＤＡＣＫ６１６出力によってデータ送信を開始するので、ＣＰＵ２はシリアル通信モジュール（ＳＣＭ）６のデータ送信に係る処理を行う必要が無く、ＣＰＵ２の負荷を削減することができる。
【０２１９】
以上説明した第４実施形態の電子制御装置１Ｄにおいても、図２７、図２８、図２９に示した第３の実施形態の動作例と同様の動作を行うことができる。
【０２２０】
また、第３実施形態と同様に、割込み処理によってＣＰＵ２の演算を開始する代わりに、ＣＰＵ２が割込みコントローラ（ＩＮＴＣ）７の割込み状態レジスタ（ＩＳＴＲ）７２をポーリングしてＡＤＥＦ７３又はＣＭ１Ｆ７５が１になった時に演算を開始してもよい。
【０２２１】
なお、本実施形態の電子制御装置１Ｄにおいては、Ａ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換の起動タイミングを変更することもできる。例えば、ＣＰＵ２によるｎ回目の演算で、ｎ＋１回目又はｎ＋２回目以降のＡ／Ｄ変換の起動タイミングを決定し、タイマ５のＣＭ２Ｒ５０２を再設定することにより、所望のタイミングのアナログ信号を取り込むことができる。同様に、タイマ５のＣＭ３Ｒ５０３を再設定することにより、所望のタイミングにシリアル通信モジュール（ＳＣＭ）６のデータ転送を起動することもできる。
【０２２２】
図３５に、タイマ５の他の例の構成を示す。
図示のタイマ５は、図３に示されるものと基本的に同じであるが、ダウンカウント２レジスタ（ＤＣ２Ｒ）５１４によってＣＭ２Ｓ５２を出力し、ダウンカウント３レジスタ（ＤＣ３Ｒ）５１５によってＣＭ３Ｓ５３を出力するようにした点が異なる。
【０２２３】
ダウンカウント２レジスタ（ＤＣ２Ｒ）５１４とダウンカウント３レジスタ（ＤＣ３Ｒ）５１５はバスインタフェース回路５１３を介してシステムバス８に接続されている。ＣＰＵ２は、システムバス８と、バスインタフェース回路５１３と、モジュール内部バス５１２を介して各レジスタの読み出しと書き込みを行う。
【０２２４】
ＤＣ２Ｒ５１４は、ＣＰＵ２によって値が設定されると、その直後から所定のクロックサイクルで設定値を減少していくカウンタであり、値が０になるとＣＭ２Ｓ５２を出力して停止する。同様に、ＤＣ３Ｒ５１５は、ＣＰＵ２によって値が設定されると、その直後から所定のクロックサイクルで設定値を減少していくカウンタであり、値が０になるとＣＭ３Ｓ５３を出力して停止する。
【０２２５】
なお、ＤＣ２Ｒ５１４とＤＣ３Ｒ５１５はそれぞれ独立に動作する。これらのレジスタにより、タイマ５はＣＰＵ２によるレジスタ設定から任意の時間後にＣＭ２Ｓ５２とＣＭ３Ｓ５３をそれぞれ出力することができる。
【０２２６】
図３６に、上記タイマ５の割込み処理の例を示す。本例では、タイマ５のＣＭ２Ｓ５２出力による割込みによってＡ／Ｄ変換を起動し、タイマ５のＣＭ１Ｓ５１出力による割込みによって演算を開始し、タイマ５のＣＭ３Ｓ５３による割込みによってデータ送信を起動している。
【０２２７】
割込みコントローラ（ＩＮＴＣ）７がＩＮＴ７１を出力すると、ＣＰＵ２はＩＮＴ７１の出力を検知して割込み処理を開始する。
【０２２８】
先ず、ＣＰＵ２は割込み状態レジスタ（ＩＳＴＲ）７２を読出し（ステップ３６０１）、ＣＭ１Ｆ７５が１であるかどうかを判定する（ステップ３６０２）。
【０２２９】
ＣＭ１Ｆ７５が１であるならば、ＣＭ１Ｆ７５をクリアし（ステップ３６０３）、ＤＣ２Ｒ５１４にＡ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換を起動するまでの時間を設定し（ステップ３６０４）、ＤＣ３Ｒ５１５にシリアル通信モジュール（ＳＣＭ）６のデータ送信を起動するまでの時間を設定し（ステップ３６０５）、その後、演算を開始する（ステップ３６０６）。
【０２３０】
ＣＭ１Ｆ７５以外の割込みフラグが１になっている場合には、それに対応する所定の処理を実行する（ステップ３６０７）。
【０２３１】
図３７に、上記他の例のタイマ５を適用した場合の動作例を示す。
タイマ５のカウントレジスタ（ＣＮＴ）５００のカウント値がＣＭ１Ｒ５０１と一致すると、タイマ５はＣＭ１Ｓ５１を出力し、割込みコントローラ（ＩＮＴＣ）７はこれを検知してＩＮＴ７１を出力する。ＣＰＵ２はＩＮＴ７１の出力を検知すると、Ａ／Ｄ変換を起動するまでの時間をタイマ５のＤＣ２Ｒ５１４に設定し、データ送信を起動するまでの時間をタイマ５のＤＣ３Ｒ５１５に設定し、その後、演算を開始する。
【０２３２】
ＤＣ２Ｒ５１４に設定する時間は、次のＡ／Ｄ変換の終了が次の演算開始の直前になる時間にすることが望ましく、また、ＤＣ３Ｒ５１５に設定する時間は、これから実行する演算が完了する直後になる時間にすることが望ましい。
【０２３３】
タイマ５のＤＣ２Ｒ５１４は、ＣＰＵ２による設定の直後からダウンカウントを開始し、値が０になるとＣＭＳ２Ｓ５２を出力して停止する。
Ａ／Ｄ変換器（ＡＤＣ）４は、ＣＭＳ２Ｓ５２の出力を検知してＡ／Ｄ変換を開始する。
【０２３４】
タイマ５のＤＣ３Ｒ５１５は、ＣＰＵ２による設定の直後からダウンカウントを開始し、値が０になるとＣＭＳ３Ｓ５３を出力して停止する。
シリアル通信モジュール（ＳＣＭ）６は、ＣＭＳ３Ｓ５３の出力を検知してデータ送信を開始する。
【０２３５】
本例でも、Ａ／Ｄ変換器（ＡＤＣ）４のＡ／Ｄ変換と、ＣＰＵ２の演算と、シリアル通信モジュール（ＳＣＭ）６のデータ送信を並列に実行しており、制御周期を短縮することができるとともに、Ａ／Ｄ変換（入力処理）とデータ送信（出力処理）までの応答時間を短縮できる。
【０２３６】
以上説明した第１、第２、第３及び第４実施形態の電子制御装置１Ａ、１Ｂ、１Ｃ、１Ｄは、いずれも１チップのマイクロコントローラＬＳＩで実現してもよいし、２チップ以上のマイクロコントローラＬＳＩ又は入出力制御ＬＳＩで実現してもよい。
【図面の簡単な説明】
【０２３７】
【図１】本発明に係る電子制御装置の第１実施形態を示す概略構成図。
【図２】第１実施形態における割り込みコントローラの割込み状態レジスタの説明に供される図。
【図３】第１実施形態のタイマの一例の構成図。
【図４】図３に示されるタイマの動作例を示すタイムチャート。
【図５】第１実施形態のＡ／Ｄ変換器の一例の構成図。
【図６】図５に示されるＡ／Ｄ変換器の動作例を示すタイムチャート。
【図７】第１実施形態のシリアル通信モジュールの一例の構成図。
【図８】図７に示されるシリアル通信モジュールの動作例を示すタイムチャート。
【図９】第１実施形態における割込み処理の一例を示すフローチャート。
【図１０】第１実施形態の電子制御装置における一動作例の説明に供されるタイムチャート。
【図１１】第１実施形態の電子制御装置における他の動作例の説明に供されるタイムチャート。
【図１２】第１実施形態における割込み処理の他の例を示すフローチャート。
【図１３】第１実施形態の電子制御装置における別の動作例の説明に供されるタイムチャート。
【図１４】本発明に係る電子制御装置の第２実施形態を示す概略構成図。
【図１５】第２実施形態のＡ／Ｄ変換器の構成図。
【図１６】図１５に示されるＡ／Ｄ変換器の動作例を示すタイムチャート。
【図１７】第２実施形態のシリアル通信モジュールの構成図。
【図１８】図１７に示されるシリアル通信モジュールの動作例を示すタイムチャート。
【図１９】第２実施形態における割込み処理の一例を示すフローチャート。
【図２０】第２実施形態における割込み処理の他の例を示すタイムチャート。
【図２１】本発明に係る電子制御装置の第３実施形態を示す概略構成図。
【図２２】第３実施形態における割り込みコントローラの割込み状態レジスタの説明に供される図。
【図２３】第３実施形態のＡ／Ｄ変換器の構成図。
【図２４】図２３に示されるＡ／Ｄ変換器の動作例を示すタイムチャート。
【図２５】第３実施形態のシリアル通信モジュールの構成図。
【図２６】図２５に示されるシリアル通信モジュールの動作例を示すタイムチャート。
【図２７】第３実施形態の電子制御装置における一動作例の説明に供されるタイムチャート。
【図２８】第３実施形態の電子制御装置における他の動作例の説明に供されるタイムチャート。
【図２９】第３実施形態の電子制御装置における別の動作例の説明に供されるタイムチャート。
【図３０】本発明に係る電子制御装置の第４実施形態を示す概略構成図。
【図３１】第４実施形態のＡ／Ｄ変換器の構成図。
【図３２】図３１に示されるＡ／Ｄ変換器の動作例を示すタイムチャート。
【図３３】第４実施形態のシリアル通信モジュールの構成図。
【図３４】図３３に示されるシリアル通信モジュールの動作例を示すタイムチャート。
【図３５】第４実施形態のタイマの構成図。
【図３６】第４実施形態における割込み処理の例を示すフローチャート。
【図３７】第４実施形態の電子制御装置における一動作例の説明に供されるタイムチャート。
【符号の説明】
【０２３８】
１Ａ、１Ｂ、１Ｃ、１Ｄ…第１、第２、第３、第４実施形態の電子制御装置、２…中央演算処理ユニット（ＣＰＵ）、３…メモリ、４…Ａ／Ｄ変換器（ＡＤＣ）、５…タイマ、６…シリアル通信モジュール（ＳＣＭ）、７…割込みコントローラ（ＩＮＴＣ）、８…システムバス、９…アナログ信号、１０…シリアル伝送路、５１、５２、５３…コンペアマッチ信号
【図１】
2005142670.tif 000003
【図２】
2005142670.tif 000004
【図３】
2005142670.tif 000005
【図４】
2005142670.tif 000006
【図５】
2005142670.tif 000007
【図６】
2005142670.tif 000008
【図７】
2005142670.tif 000009
【図８】
2005142670.tif 000010
【図９】
2005142670.tif 000011
【図１０】
2005142670.tif 000012
【図１１】
2005142670.tif 000013
【図１２】
2005142670.tif 000014
【図１３】
2005142670.tif 000015
【図１４】
2005142670.tif 000016
【図１５】
2005142670.tif 000017
【図１６】
2005142670.tif 000018
【図１７】
2005142670.tif 000019
【図１８】
2005142670.tif 000020
【図１９】
2005142670.tif 000021
【図２０】
2005142670.tif 000022
【図２１】
2005142670.tif 000023
【図２２】
2005142670.tif 000024
【図２３】
2005142670.tif 000025
【図２４】
2005142670.tif 000026
【図２５】
2005142670.tif 000027
【図２６】
2005142670.tif 000028
【図２７】
2005142670.tif 000029
【図２８】
2005142670.tif 000030
【図２９】
2005142670.tif 000031
【図３０】
2005142670.tif 000032
【図３１】
2005142670.tif 000033
【図３２】
2005142670.tif 000034
【図３３】
2005142670.tif 000035
【図３４】
2005142670.tif 000036
【図３５】
2005142670.tif 000037
【図３６】
2005142670.tif 000038
【図３７】
2005142670.tif 000039