(57)【特許請求の範囲】
【請求項１】
時間に同期させて、所定の処理を行う必要のある時間同期データが少なくとも２種類あり、
時間に同期させずに、所定のタイミングで、所定の処理を行う必要のある非時間同期データが少なくとも１種類あり、
これら処理を、ＤＭＡ制御手段を用いて行うもので、
該ＤＭＡ制御手段の行う処理に、Ａ／Ｄ変換手段に対するＡ／Ｄ変換の処理要求を行うデータの送信と、前記Ａ／Ｄ変換手段によってＡ／Ｄ変換されたデータの受信とが含まれる場合のＤＭＡ通信制御方法において、
前記時間同期データについては、ｎ（≧２）個のグループに分割し、
時間に同期させて前記ＤＭＡ制御手段に、第１番目のグループに属する前記時間同期データの処理を要求する第１のデータ処理要求ステップと、
第ｋ（１≦ｋ≦ｎ−１）番目のグループに属する前記時間同期データの処理が終了すると、前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理を要求する第２のデータ処理要求ステップと、
時間ではなく、所定のタイミングに同期させて前記ＤＭＡ制御手段に、前記非時間同期データの処理を要求する第１の非時間同期データ処理要求ステップとを含み、
前記ＤＭＡ制御手段が、第ｋ番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、
第ｋ番目のグループに属する前記時間同期データの処理と第ｋ＋１番目のグループに属する前記時間同期データの処理とを連続して行わせるために、
第ｋ番目のグループに属する前記時間同期データの処理が終了すると間を置かずに、
前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理を要求し、
一方、前記ＤＭＡ制御手段が、第ｋ番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、
第ｋ番目のグループに属する前記時間同期データの処理が終了すると、
前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理を要求するのではなく、前記非時間同期データの処理を要求し、
前記第２のデータ処理要求ステップよりも、前記第１の非時間同期データ処理要求ステップを優先させることを特徴とするＤＭＡ通信制御方法。
【請求項２】
第ｋ番目のグループに属する前記時間同期データの処理終了後に、前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理の要求をしなかった場合には、
前記非時間同期データの処理が終了すると、
前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理を要求する第３のデータ処理要求ステップを含んでいることを特徴とする請求項１記載のＤＭＡ通信制御方法。
【請求項３】
前記ＤＭＡ制御手段が、第ｎ番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、
第ｎ番目のグループに属する前記時間同期データの処理が終了すると、
前記ＤＭＡ制御手段に、前記非時間同期データの処理を要求する第２の非時間同期データ処理要求ステップを含んでいることを特徴とする請求項１又は請求項２記載のＤＭＡ通信制御方法。
【請求項４】
前記ＤＭＡ制御手段が、前記非時間同期データの処理を行っているときに、第１番目のグループに属する前記時間同期データの処理を要求するタイミングになった場合には、
前記非時間同期データの処理が終了すると、
前記ＤＭＡ制御手段に、第１番目のグループに属する前記時間同期データの処理を要求する第４のデータ処理要求ステップを含んでいることを特徴とする請求項１〜３のいずれかの項に記載のＤＭＡ通信制御方法。
【請求項５】
前記ＤＭＡ制御手段から、該ＤＭＡ制御手段との間でシリアル通信を行う相手方へ送信するための送信データを、少なくとも１グループ分まとめて送信テーブルとし、所定の場所に記憶させる第１の送信データ記憶ステップを含んでいることを特徴とする請求項１〜４のいずれかの項に記載のＤＭＡ通信制御方法。
【請求項６】
前記ＤＭＡ制御手段から、該ＤＭＡ制御手段との間でシリアル通信を行う相手方へ送信するための送信データを、少なくとも２グループ分まとめて送信テーブルとし、所定の場所に記憶させる第２の送信データ記憶ステップを含んでいることを特徴とする請求項１〜５のいずれかの項に記載のＤＭＡ通信制御方法。
【請求項７】
前記送信テーブルが、前記時間同期データの優先度に基づいて構成されたものであることを特徴とする請求項５又は請求項６記載のＤＭＡ通信制御方法。
【請求項８】
請求項１〜７のいずれかの項に記載のＤＭＡ通信制御方法を用いて転送されたデータを処理するための転送データ処理方法であって、
転送されたデータを、少なくとも２グループ分まとめて使用して所定の処理を行う転送データ処理ステップを含んでいることを特徴とする転送データ処理方法。
【請求項９】
Ａ／Ｄ変換処理手段に対するＡ／Ｄ変換処理の処理要求データの送信を行う送信処理と、前記Ａ／Ｄ変換処理手段によってＡ／Ｄ変換処理されたＡ／Ｄ変換データの受信を行う受信処理とを、ＤＭＡ制御手段を用いて行う主制御手段を備えたＤＭＡ通信制御装置において、
Ａ／Ｄ変換処理を行うデータに、時間に同期させて処理を行う必要のある時間同期データが少なくとも２種類と、エンジンの回転数に同期させて処理を行う必要のある非時間同期データが少なくとも１種類とが含まれ、
前記ＤＭＡ制御手段が、
前記主制御手段から、Ａ／Ｄ変換処理の前記処理要求データを送信するように指令を受けると、前記送信処理と前記受信処理とを行うものであり、
前記主制御手段が、
前記時間同期データを２個のグループに分割したうちの第１のグループに対し、時間に同期させて、Ａ／Ｄ変換処理の要求を行うための前記処理要求データの送信を前記ＤＭＡ制御手段に指令する第１のデータ処理要求手段と、
前記第１のグループに対する前記送信処理と前記受信処理とが終了すると、前記時間同期データにおける前記第１のグループとは異なる第２のグループに対し、Ａ／Ｄ変換処理の要求を行うための前記処理要求データの送信を前記ＤＭＡ制御手段に指令する第２のデータ処理要求手段と、
前記非時間同期データに対し、エンジン回転数に同期させて、Ａ／Ｄ変換処理の要求を行うための処理要求データの送信を前記ＤＭＡ制御手段に指令する非時間同期データ処理要求手段とを備え、
前記ＤＭＡ制御手段が、前記第１のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、
前記第１のグループに属する前記時間同期データの処理と前記第２のグループに属する前記時間同期データの処理とを連続して行わせるために、
前記第１のグループに属する前記時間同期データの処理が終了すると間を置かずに、
前記第２のグループに対し、Ａ／Ｄ変換処理の要求を行うための処理要求データの送信が前記ＤＭＡ制御手段に指令され、
一方、前記ＤＭＡ制御手段が、第１のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、
第１のグループに属する前記時間同期データの処理が終了すると、
前記非時間同期データに対し、Ａ／Ｄ変換処理の要求を行うための処理要求データの送信が前記ＤＭＡ制御手段に指令され、
前記第２のデータ処理要求手段による処理よりも、前記非時間同期データ処理要求手段による処理を優先するように構成されていることを特徴とするＤＭＡ通信制御装置。
【請求項１０】
Ａ／Ｄ変換処理手段に対するＡ／Ｄ変換処理の処理要求データの送信を行う送信処理と、前記Ａ／Ｄ変換処理手段によってＡ／Ｄ変換処理されたＡ／Ｄ変換データの受信を行う受信処理とを、ＤＭＡ制御手段を用いて行う主制御手段を備えたエンジン制御装置において、
Ａ／Ｄ変換処理を行うデータに、時間に同期させて処理を行う必要のある時間同期データが少なくとも２種類と、エンジンの回転数に同期させて処理を行う必要のある非時間同期データが少なくとも１種類とが含まれ、
前記ＤＭＡ制御手段が、
前記主制御手段から、Ａ／Ｄ変換処理の前記処理要求データを送信するように指令を受けると、前記送信処理と前記受信処理とを行うものであり、
前記主制御手段が、
前記時間同期データを２個のグループに分割したうちの第１のグループに対し、時間に同期させて、Ａ／Ｄ変換処理の要求を行うための前記処理要求データの送信を前記ＤＭＡ制御手段に指令する第１のデータ処理要求手段と、
前記第１のグループに対する前記送信処理と前記受信処理とが終了すると、前記時間同期データにおける前記第１のグループとは異なる第２のグループに対し、Ａ／Ｄ変換処理の要求を行うための前記処理要求データの送信を前記ＤＭＡ制御手段に指令する第２のデータ処理要求手段と、
前記非時間同期データに対し、エンジン回転数に同期させて、Ａ／Ｄ変換処理の要求を行うための処理要求データの送信を前記ＤＭＡ制御手段に指令する非時間同期データ処理要求手段とを備え、
前記ＤＭＡ制御手段が、前記第１のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、
前記第１のグループに属する前記時間同期データの処理と前記第２のグループに属する前記時間同期データの処理とを連続して行わせるために、
前記第１のグループに属する前記時間同期データの処理が終了すると間を置かずに、
前記第２のグループに対し、Ａ／Ｄ変換処理の要求を行うための処理要求データの送信が前記ＤＭＡ制御手段に指令され、
一方、前記ＤＭＡ制御手段が、第１のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、
第１のグループに属する前記時間同期データの処理が終了すると、
前記非時間同期データに対し、Ａ／Ｄ変換処理の要求を行うための処理要求データの送信が前記ＤＭＡ制御手段に指令され、
前記第２のデータ処理要求手段による処理よりも、前記非時間同期データ処理要求手段による処理を優先するように構成されていることを特徴とするエンジン制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＤＭＡ（Direct Memory Access）通信制御方法、転送データ処理方法、ＤＭＡ通信制御装置、及びエンジン制御装置に関し、より詳細には、Ａ／Ｄ変換手段とのデータのやり取りをＤＭＡ制御手段を用いて、シリアル通信で行う場合のＤＭＡ通信制御方法、該ＤＭＡ通信制御方法を用いて転送されたデータを処理するための転送データ処理方法、及び前記ＤＭＡ制御手段を用いて行う主制御手段を備えたＤＭＡ通信制御装置、エンジン制御装置に関する。
【０００２】
【従来の技術】
エンジン制御は、燃料噴射制御を中心に、点火時期制御、ノック制御、アイドル回転数制御、ダイアグノーシスなどをマイクロコンピュータ（以下、単にマイコンと記す）により総合的に制御し、エンジンを最適な状態で作動させることにより、動力性能の改善や排出ガスの浄化、燃費の改善などの効果を得ている。
【０００３】
図１０は、エンジンの電子制御についてのシステムの中枢となる、エンジン制御ＥＣＵ（Electronic Control Unit ）の要部を概略的に示したブロック図である。図中１はＥＣＵを示しており、ＥＣＵ１はマイコン２と、Ａ／Ｄ変換ＩＣ７と、入力処理回路８と、出力処理回路９とを含んで構成され、マイコン２はＣＰＵ３と、ＲＡＭ４と、ＲＯＭ５と、ＤＭＡＣ（Direct Memory Access Controller ）６とを含んで構成されている。
【０００４】
水温センサ、吸気量センサ、油温センサ、エアフローメータ、スロットル開度センサ、ノックセンサなどから出力されるアナログ系信号はＡ／Ｄ変換ＩＣ７でＡ／Ｄ変換され、またクランク角センサ、エンジン回転センサなどから出力されるディジタル系信号は入力処理回路８を介して、マイコン２へ入力されるようになっている。
【０００５】
また、マイコン２はこれら入力された信号に基づいて最適な制御値を演算し、出力処理回路９を介して、ソレノイドやモータなどの各種アクチュエータを駆動したり、ランプを点灯したり、別のＥＣＵを制御するようになっている。また、マイコン２とＡ／Ｄ変換ＩＣ７とのデータのやり取りはシリアル通信ラインＬを介したシリアル通信であり、ＣＰＵ３の負荷を軽減するため、ＤＭＡ通信を行っている。
【０００６】
Ａ／Ｄ変換処理が行われるセンサ信号には、水温、吸気量、油温など（例えば、全部で２０ｃｈ）のように、所定時間（例えば、４ｍ秒）毎に、定期的にＡ／Ｄ変換処理が行われるものと、ノック信号のように、エンジン回転に同期させてＡ／Ｄ変換処理が行われるものとがある。換言すれば、ここでのＡ／Ｄ変換処理には時間同期Ａ／Ｄ変換処理と、エンジン回転同期Ａ／Ｄ変換処理のような非時間同期Ａ／Ｄ変換処理とがあることになる。
【０００７】
このように、起動タイミングの異なる２種類のＡ／Ｄ変換処理が存在すると、図１１に示したように、時間同期Ａ／Ｄ変換処理が実行されている間（すなわち、時間同期Ａ／Ｄ変換処理の要求が発生している間）に、エンジン回転同期Ａ／Ｄ変換処理の要求が発生することがある。また、逆にエンジン回転同期Ａ／Ｄ変換処理が実行されている間（すなわち、エンジン回転同期Ａ／Ｄ変換処理の要求が発生している間）に、時間同期Ａ／Ｄ変換処理要求が発生することがある。
【０００８】
処理要求が重なった場合、そのときのＤＭＡ通信が終了するまで後から発生した要求が待たされてしまうことになる。これは、ＤＭＡ通信は、１回起動を掛けてしまうと、マイコン２のハードウェア機能により自動的に通信が行われ、シリアル通信ラインＬを占有してしまい、他の要求を途中で割り込ますことができないからである。すなわち、ＣＰＵ３がＤＭＡＣ６に対して、１回起動を掛けてしまうと、ＤＭＡＣ６がシリアル通信ラインＬを占有してしまうからである。
【０００９】
従って、時間同期Ａ／Ｄ変換処理が行われている期間（例えば、１．６ｍ秒）は、エンジン回転同期Ａ／Ｄ変換処理を実行することができないので、時間同期Ａ／Ｄ変換処理が終了するまで待たなくてはならず、最大１．６ｍ秒遅れることがある。なお、これは時間に同期させてＡ／Ｄ変換処理するデータが２０ｃｈ分あり、１ｃｈの処理に８０μ秒かかる場合である。
【００１０】
【発明が解決しようとする課題】
しかしながら、ノック信号のＡ／Ｄ変換処理に１ｍ秒以上遅れると、不具合が生じる場合があるため、現在においては、時間同期Ａ／Ｄ変換処理を２分割（前半：１０ｃｈ、後半：１０ｃｈ）し、図１２に示したように、２ｍ秒毎に交互にＡ／Ｄ変換処理を行うようにしてエンジン回転同期Ａ／Ｄ変換処理の遅延を防止している。
【００１１】
次に、水温センサ、吸気量センサ、油温センサなど（全部で２０ｃｈ）から出力されるセンサ信号を、Ａ／Ｄ変換ＩＣ７でＡ／Ｄ変換処理し、Ａ／Ｄ変換処理された２０個のデータを、ＲＡＭ４に書き込む場合を図１３に示したフローチャート、及び図１４に示したタイミングチャートを用いて説明する。
【００１２】
まずＣＰＵ３が、ＲＡＭ４のアドレスＤａ0 〜Ｄａ10に、ＤＭＡＣ６からシリアル通信ラインＬを介してＡ／Ｄ変換ＩＣ７へ送信するための送信データを、送信テーブルＴａ（図１５（ａ）参照）、又は送信テーブルＴｂ（図１５（ｂ）参照）としてセットする（ステップＡ１、ａ１）。
【００１３】
セットが完了すると、送信テーブルＴａ（、Ｔｂ）がセットされているメモリの開始アドレスＤａ0 をＤＭＡＣ６の内部のアドレスレジスタへ、そしてデータ個数１０をＤＭＡＣ６の内部のカウンタへ書き込む（ステップＡ２、ａ２）。
【００１４】
また、Ａ／Ｄ変換ＩＣ７でＡ／Ｄ変換処理が行われ、Ａ／Ｄ変換処理されたデータがＤＭＡＣ６へ送信され、ＤＭＡＣ６でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルＴｗ（ＲＡＭ４）の開始アドレスＤｂ0 をＤＭＡＣ６の内部のアドレスレジスタへ、そしてデータ個数１０をＤＭＡＣ６の内部のカウンタへ書き込む（ステップＡ３、ａ３）。書き込みが完了すると、ＤＭＡＣ６に動作開始指令を発信する（ステップＡ４、ａ４）。
【００１５】
ＤＭＡＣ６は、ＣＰＵ３からの動作開始指令を受信すると、アドレスＤａ0 から順番にメモリされているデータ（すなわち、送信テーブルＴａ、又は送信テーブルＴｂのデータ）を、シリアル通信ラインＬを介してＡ／Ｄ変換ＩＣ７へ送信する（ステップＢ１）。
【００１６】
Ａ／Ｄ変換ＩＣ７は、ＤＭＡＣ６からのデータ（すなわち、Ａ／Ｄ変換処理起動コマンドと、Ａ／Ｄ変換処理すべき信号のチャンネルとを含んだデータ）を受信すると、対応するセンサ信号のＡ／Ｄ変換処理を行って（ステップＣ１）、Ａ／Ｄ変換処理したデータを、シリアル通信ラインＬを介してＤＭＡＣ６へ送信する（ステップＣ２）。
【００１７】
ＤＭＡＣ６は、Ａ／Ｄ変換ＩＣ７から送信されたＡ／Ｄ変換処理されたデータを受信すると、そのデータをアドレスＤｂ0 から順番に転送先テーブルＴｗに書き込んでいく（ステップＢ２）。これら処理が１回終了すると、アドレス信号を１増加させ、図１６に示したように、１０個のデータの受信が完了するまで続け、１０個のデータの受信が完了すると、処理が完了したことを割り込みをかけてＣＰＵ３に知らせる（ステップＢ３）。
【００１８】
ＣＰＵ３は、ＤＭＡＣ６から処理の完了の知らせを受けると、転送先テーブルＴｗに書き込まれているデータを使用して所定の処理を行う（ステップＡ５、ａ５）。
【００１９】
また、図１４に示した、ステップＤ１〜Ｄ３はエンジン回転に同期して行われる処理であり、ＣＰＵ３はノック信号をＡ／Ｄ変換処理させるために、ＲＡＭ４のアドレスＤｃに、ＤＭＡＣ６からシリアル通信ラインＬを介してＡ／Ｄ変換ＩＣ７へ送信するための送信データをセットし（ステップＤ１）、セットが完了すると、アドレスＤｃをＤＭＡＣ６の内部のアドレスレジスタへ、そしてデータ個数１をＤＭＡＣ６の内部のカウンタへ書き込む（ステップＤ２）。
【００２０】
また、Ａ／Ｄ変換ＩＣ７でＡ／Ｄ変換処理が行われ、Ａ／Ｄ変換処理されたデータがＤＭＡＣ６へ送信され、ＤＭＡＣ６でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルＴｘ（ＲＡＭ４）のアドレスＤｄをＤＭＡＣ６の内部のアドレスレジスタへ、そしてデータ個数１をＤＭＡＣ６の内部のカウンタへ書き込み（ステップＤ３）、書き込みが完了すると、ＤＭＡＣ６に動作開始指令を発信する（ステップＤ４）。
【００２１】
ＤＭＡＣ６は、ＣＰＵ３からの動作開始指令を受信すると、アドレスＤｃにメモリされているデータを、シリアル通信ラインＬを介してＡ／Ｄ変換ＩＣ７へ送信する（ステップＢ４）。
【００２２】
Ａ／Ｄ変換ＩＣ７は、ＤＭＡＣ６からのデータ（すなわち、Ａ／Ｄ変換処理起動コマンドと、Ａ／Ｄ変換処理すべきノック信号のチャンネルとを含んだデータ）を受信すると、対応するセンサ信号（ノック信号）のＡ／Ｄ変換処理を行って（ステップＣ３）、Ａ／Ｄ変換処理したデータを、シリアル通信ラインＬを介してＤＭＡＣ６へ送信する（ステップＣ４）。
【００２３】
ＤＭＡＣ６は、Ａ／Ｄ変換ＩＣ７から送信されたＡ／Ｄ変換処理されたデータを受信すると、そのデータを転送先テーブルＴｘのアドレスＤｄに書き込み（ステップＢ５）、この書き込み処理が終了すると、データ個数が１個であるため、処理が完了したことを割り込みをかけてＣＰＵ３に知らせる（ステップＢ６）。
【００２４】
ＣＰＵ３は、ＤＭＡＣ６から処理の完了の知らせを受けると、転送先テーブルＴｘに書き込まれているデータを使用して所定の処理を行う（ステップＤ５）。
【００２５】
上記したように、時間同期Ａ／Ｄ変換処理を２分割して行うことにより、ノック信号のＡ／Ｄ変換処理の最大遅延時間を０．８ｍ秒まで縮めることができるようになった。
【００２６】
ところが、時間同期Ａ／Ｄ変換処理を２分割することにより、Ａ／Ｄ変換処理され、転送先テーブルＴｗに転送された時間同期データを使用した処理や、送信テーブルのセットなど、ＤＭＡＣ６の起動に関する処理が、分割前にはステップＡ５やステップＡ１〜Ａ４だけで良かったのが、分割することによって、ステップａ５やステップａ１〜ａ４が必要となり、ＣＰＵ３の処理負荷が増大するといった問題があった。
【００２７】
本発明は上記課題に鑑みなされたものであって、エンジン回転同期Ａ／Ｄ変換処理のような、時間に同期させずに行う処理の遅延を防止することができると共に、ＣＰＵの処理負荷を軽減することのできるＤＭＡ通信制御方法、該ＤＭＡ通信制御方法を用いて転送されたデータを処理するための転送データ処理方法、ＤＭＡ通信制御装置、及びエンジン制御装置を提供することを目的としている。
【００２８】
【課題を解決するための手段及びその効果】
上記目的を達成するために本発明に係るＤＭＡ通信制御方法（１）は、時間に同期させて、所定の処理を行う必要のある時間同期データが少なくとも２種類あり、時間に同期させずに、所定のタイミングで、所定の処理を行う必要のある非時間同期データが少なくとも１種類あり、これら処理を、ＤＭＡ制御手段を用いて行うもので、該ＤＭＡ制御手段の行う処理に、Ａ／Ｄ変換手段に対するＡ／Ｄ変換の処理要求を行うデータの送信と、前記Ａ／Ｄ変換手段によってＡ／Ｄ変換されたデータの受信とが含まれる場合のＤＭＡ通信制御方法において、前記時間同期データについては、ｎ（≧２）個のグループに分割し、時間に同期させて前記ＤＭＡ制御手段に、第１番目のグループに属する前記時間同期データの処理を要求する第１のデータ処理要求ステップと、第ｋ（１≦ｋ≦ｎ−１）番目のグループに属する前記時間同期データの処理が終了すると、前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理を要求する第２のデータ処理要求ステップと、時間ではなく、所定のタイミングに同期させて前記ＤＭＡ制御手段に、前記非時間同期データの処理を要求する第１の非時間同期データ処理要求ステップとを含み、前記ＤＭＡ制御手段が、第ｋ番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、第ｋ番目のグループに属する前記時間同期データの処理と第ｋ＋１番目のグループに属する前記時間同期データの処理とを連続して行わせるために、第ｋ番目のグループに属する前記時間同期データの処理が終了すると間を置かずに、前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理を要求し、一方、前記ＤＭＡ制御手段が、第ｋ番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、第ｋ番目のグループに属する前記時間同期データの処理が終了すると、前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理を要求するのではなく、前記非時間同期データの処理を要求し、前記第２のデータ処理要求ステップよりも、前記第１の非時間同期データ処理要求ステップを優先させることを特徴としている。
【００２９】
上記したＤＭＡ通信制御方法（１）によれば、前記時間同期データについては、ｎ（≧２）個のグループに分割し、各グループ毎に前記時間同期データの処理を要求するので、各グループに属する前記時間同期データの処理と処理との間に、前記ＤＭＡ制御手段がシリアル通信ラインＬ（図１参照）を占有しない期間をつくることができるため、この期間に非時間同期データの処理を割り込ませることが可能となる。
また、前記第２のデータ処理要求ステップよりも、前記第１の非時間同期データ処理要求ステップを優先させるので、エンジン回転同期Ａ／Ｄ変換処理のような、時間に同期させずに行う処理の遅延を防止することが可能となる。
【００３０】
さらに、前記時間同期データを、ｎ個のグループに分割しているが、第ｋ（１≦ｋ≦ｎ−１）番目のグループに属する前記時間同期データの処理が終了すると、前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理を要求する第２のデータ処理要求ステップとを含んでいるので、例えば、第１番目のグループに属する前記時間同期データの処理が終了すると、前記ＤＭＡ制御手段に、第２番目のグループに属する前記時間同期データの処理を要求する。
【００３１】
また、上記ＤＭＡ通信制御方法（１）によれば、前記ＤＭＡ制御手段が、第ｋ番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、第ｋ番目のグループに属する前記時間同期データの処理と第ｋ＋１番目のグループに属する前記時間同期データの処理とを連続して行わせるために、第ｋ番目のグループに属する前記時間同期データの処理が終了すると間を置かずに、前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理を要求する求するのではなく、前記非時間同期データの処理を要求する。
そのため、例えば、前記時間同期データを、前半グループ（第１番目のグループ）と後半グループ（第２番目のグループであり、最終の第ｎ番目のグループでもある）とに分割したとしても、前記非時間同期データの処理を割り込ませる必要がない場合には、前半グループに属する前記時間同期データの処理と、後半グループに属する前記時間同期データの処理とを連続して行わせるので、これら処理後のデータを使用して、所定の処理を行う場合に、前半グループと後半グループとを合わせて、一度に行うことができる。従って、ＣＰＵにおける処理の負荷の軽減を図ることができる。
【００３３】
また本発明に係るＤＭＡ通信制御方法（２）は、上記ＤＭＡ通信制御方法（１）において、第ｋ番目のグループに属する前記時間同期データの処理終了後に、前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理の要求をしなかった場合には、前記非時間同期データの処理が終了すると、前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理を要求する第３のデータ処理要求ステップを含んでいることを特徴としている。
【００３５】
また、上記したように、第ｋ番目のグループに属する前記時間同期データの処理と、第ｋ＋１番目のグループに属する前記時間同期データの処理との間に、前記非時間同期データの処理を割り込ませたとしても、上記したＤＭＡ通信制御方法（２）によれば、前記非時間同期データの処理が終了すると、前記ＤＭＡ制御手段に、第ｋ＋１番目のグループに属する前記時間同期データの処理を要求する前記第３のデータ処理要求ステップを含んでいるので、第ｋ＋１番目以降のグループに属する前記時間同期データについても確実に処理を行わせることができる。
【００３６】
また本発明に係るＤＭＡ通信制御方法（３）は、上記ＤＭＡ通信制御方法（１）又は（２）において、前記ＤＭＡ制御手段が、第ｎ番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、第ｎ番目のグループに属する前記時間同期データの処理が終了すると、前記ＤＭＡ制御手段に、前記非時間同期データの処理を要求する第２の非時間同期データ処理要求ステップを含んでいることを特徴としている。
【００３７】
上記したＤＭＡ通信制御方法（３）によれば、前記ＤＭＡ制御手段が、第ｎ番目のグループ（すなわち、最終のグループ）に属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、第ｎ番目のグループに属する前記時間同期データの処理が終了すると、前記ＤＭＡ制御手段に、前記非時間同期データの処理を要求する前記第２の非時間同期データ処理要求ステップを含んでいるので、エンジン回転同期Ａ／Ｄ変換処理のような、時間に同期させずに行う処理の遅延を防止することができる。
【００３８】
また本発明に係るＤＭＡ通信制御方法（４）は、上記ＤＭＡ通信制御方法（１）〜（３）のいずれかにおいて、前記ＤＭＡ制御手段が、前記非時間同期データの処理を行っているときに、第１番目のグループに属する前記時間同期データの処理を要求するタイミングになった場合には、前記非時間同期データの処理が終了すると、前記ＤＭＡ制御手段に、第１番目のグループに属する前記時間同期データの処理を要求する第４のデータ処理要求ステップを含んでいることを特徴としている。
【００３９】
上記したＤＭＡ通信制御方法（４）によれば、前記ＤＭＡ制御手段が、前記非時間同期データの処理を行っているときに、第１番目のグループに属する前記時間同期データの処理を要求するタイミングになった場合には、前記非時間同期データの処理が終了すると、前記ＤＭＡ制御手段に、第１番目のグループに属する前記時間同期データの処理を要求する前記第４のデータ処理要求ステップを含んでいるので、前記時間同期データについても確実に処理を行わせることができる。
【００４０】
また本発明に係るＤＭＡ通信制御方法（５）は、上記ＤＭＡ通信制御方法（１）〜（４）のいずれかにおいて、前記ＤＭＡ制御手段から、該ＤＭＡ制御手段との間でシリアル通信を行う相手方へ送信するための送信データを、少なくとも１グループ分まとめて送信テーブルとし、所定の場所に記憶させる第１の送信データ記憶ステップを含んでいることを特徴としている。
【００４１】
また本発明に係るＤＭＡ通信制御方法（６）は、上記ＤＭＡ通信制御方法（１）〜（５）のいずれかにおいて、前記ＤＭＡ制御手段から、該ＤＭＡ制御手段との間でシリアル通信を行う相手方へ送信するための送信データを、少なくとも２グループ分まとめて送信テーブルとし、所定の場所に記憶させる第２の送信データ記憶ステップを含んでいることを特徴としている。
【００４２】
また本発明に係るＤＭＡ通信制御方法（７）は、上記ＤＭＡ通信制御方法（５）又は（６）において、前記送信テーブルが、前記時間同期データの優先度に基づいて構成されたものであることを特徴としている。
【００４３】
「発明が解決しようとする課題」の項目で説明したように、ＣＰＵ３はＤＭＡＣ６へ指示を出すに先駆けて、ＤＭＡＣ６から、ＤＭＡＣ６との間でシリアル通信を行う相手方であるＡ／Ｄ変換ＩＣ７へ送信するための送信データを、ＲＡＭ４に記憶させるようになっている。因に、図１３、図１４ではこの処理をステップＡ１、ａ１の処理で示している。
【００４４】
上記したＤＭＡ通信制御方法（５）〜（７）のいずれかによれば、前記送信データを送信１回分ずつ、所定の場所に記憶させるではなく、少なくとも１グループ分まとめて、送信テーブルとして記憶させるので、ＣＰＵの処理負荷の軽減を図ることができる。
【００４５】
さらに、上記したＤＭＡ通信制御方法（６）によれば、少なくとも２グループ分まとめて、送信テーブルとして記憶させるので、より一層、ＣＰＵの処理負荷の軽減を図ることができる。
【００４６】
また、上記したＤＭＡ通信制御方法（７）によれば、前記時間同期データの優先度に基づいて構成された前記送信テーブルを使用することができるため、必要以上に、通信制御を行うのを回避することができる。
【００４７】
例えば、従来においては、エンジン制御に使用する２０種類の前記時間同期データをどれも４ｍ秒毎にＡ／Ｄ変換処理を行い、同等に扱っていたが、これら２０種類のデータはそれぞれ同レベルではなく、４ｍ秒に１回のＡ／Ｄ変換処理が必要なものもあれば、６４ｍ秒に１回のＡ／Ｄ変換処理で十分なものもある。このため、前記時間同期データの優先度に基づいて構成された前記送信テーブルを使用することにより、効率的な通信を行うことができる。
【００４９】
上記したＤＭＡ通信制御方法（１）〜（７）において、ｎ個のグループそれぞれに、前記時間同期データが略均等に属するように分割すれば、バランスのとれた通信制御を行うことができ、無駄の少ない通信を実現することができる。
【００５０】
また本発明に係る転送データ処理方法（１）は、上記ＤＭＡ通信制御方法（１）〜（７）のいずれかを用いて転送されたデータを処理するための転送データ処理方法であって、転送されたデータを、少なくとも２グループ分まとめて使用して所定の処理を行う転送データ処理ステップを含んでいることを特徴としている。
【００５１】
「発明が解決しようとする課題」の項目で説明したように、従来において、ＣＰＵ３は、ＤＭＡＣ６から処理の完了の知らせを受けると、転送先テーブルＴｗに書き込まれているデータを使用して、所定の処理を行うようになっている。因に、図１３、図１４ではこの処理をステップＡ５、ａ５の処理で示している。
【００５２】
このように、従来においては、時間同期Ａ／Ｄ変換処理を２分割することにより、Ａ／Ｄ変換処理され、転送先テーブルＴｗに転送された前記時間同期データを使用した処理が、分割前にはステップＡ５だけで良かったのが、分割することによって、ステップａ５が必要となり、ＣＰＵ３の処理負荷が増大することになった。
【００５３】
上記した転送データ処理方法（１）によれば、転送されたデータを、少なくとも２グループ分まとめて使用して、所定の処理を行う転送データ処理ステップを含んでいるので、ＣＰＵの処理負荷が増大するのを回避することができる。
【００５４】
また本発明に係るＤＭＡ通信制御装置（１）は、Ａ／Ｄ変換処理手段に対するＡ／Ｄ変換処理の処理要求データの送信を行う送信処理と、前記Ａ／Ｄ変換処理手段によってＡ／Ｄ変換処理されたＡ／Ｄ変換データの受信を行う受信処理とを、ＤＭＡ制御手段を用いて行う主制御手段を備えたＤＭＡ通信制御装置において、Ａ／Ｄ変換処理を行うデータに、時間に同期させて処理を行う必要のある時間同期データが少なくとも２種類と、エンジンの回転数に同期させて処理を行う必要のある非時間同期データが少なくとも１種類とが含まれ、前記ＤＭＡ制御手段が、前記主制御手段から、Ａ／Ｄ変換処理の前記処理要求データを送信するように指令を受けると、前記送信処理と前記受信処理とを行うものであり、前記主制御手段が、前記時間同期データを２個のグループに分割したうちの第１のグループに対し、時間に同期させて、Ａ／Ｄ変換処理の要求を行うための前記処理要求データの送信を前記ＤＭＡ制御手段に指令する第１のデータ処理要求手段と、前記第１のグループに対する前記送信処理と前記受信処理とが終了すると、前記時間同期データにおける前記第１のグループとは異なる第２のグループに対し、Ａ／Ｄ変換処理の要求を行うための前記処理要求データの送信を前記ＤＭＡ制御手段に指令する第２のデータ処理要求手段と、前記非時間同期データに対し、エンジン回転数に同期させて、Ａ／Ｄ変換処理の要求を行うための処理要求データの送信を前記ＤＭＡ制御手段に指令する非時間同期データ処理要求手段とを備え、前記ＤＭＡ制御手段が、前記第１のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、前記第１のグループに属する前記時間同期データの処理と前記第２のグループに属する前記時間同期データの処理とを連続して行わせるために、前記第１のグループに属する前記時間同期データの処理が終了すると間を置かずに、前記第２のグループに対し、Ａ／Ｄ変換処理の要求を行うための処理要求データの送信が前記ＤＭＡ制御手段に指令され、一方、前記ＤＭＡ制御手段が、第１のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、第１のグループに属する前記時間同期データの処理が終了すると、前記非時間同期データに対し、Ａ／Ｄ変換処理の要求を行うための処理要求データの送信が前記ＤＭＡ制御手段に指令され、前記第２のデータ処理要求手段による処理よりも、前記非時間同期データ処理要求手段による処理を優先するように構成されていることを特徴としている。
また本発明に係るエンジン制御装置（１）は、Ａ／Ｄ変換処理手段に対するＡ／Ｄ変換処理の処理要求データの送信を行う送信処理と、前記Ａ／Ｄ変換処理手段によってＡ／Ｄ変換処理されたＡ／Ｄ変換データの受信を行う受信処理とを、ＤＭＡ制御手段を用いて行う主制御手段を備えたエンジン制御装置において、Ａ／Ｄ変換処理を行うデータに、時間に同期させて処理を行う必要のある時間同期データが少なくとも２種類と、エンジンの回転数に同期させて処理を行う必要のある非時間同期データが少なくとも１種類とが含まれ、前記ＤＭＡ制御手段が、前記主制御手段から、Ａ／Ｄ変換処理の前記処理要求データを送信するように指令を受けると、前記送信処理と前記受信処理とを行うものであり、前記主制御手段が、前記時間同期データを２個のグループに分割したうちの第１のグループに対し、時間に同期させて、Ａ／Ｄ変換処理の要求を行うための前記処理要求データの送信を前記ＤＭＡ制御手段に指令する第１のデータ処理要求手段と、前記第１のグループに対する前記送信処理と前記受信処理とが終了すると、前記時間同期データにおける前記第１のグループとは異なる第２のグループに対し、Ａ／Ｄ変換処理の要求を行うための前記処理要求データの送信を前記ＤＭＡ制御手段に指令する第２のデータ処理要求手段と、前記非時間同期データに対し、エンジン回転数に同期させて、Ａ／Ｄ変換処理の要求を行うための処理要求データの送信を前記ＤＭＡ制御手段に指令する非時間同期データ処理要求手段とを備え、前記ＤＭＡ制御手段が、前記第１のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、前記第１のグループに属する前記時間同期データの処理と前記第２のグループに属する前記時間同期データの処理とを連続して行わせるために、前記第１のグループに属する前記時間同期データの処理が終了すると間を置かずに、前記第２のグループに対し、Ａ／Ｄ変換処理の要求を行うための処理要求データの送信が前記ＤＭＡ制御手段に指令され、一方、前記ＤＭＡ制御手段が、第１のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、第１のグループに属する前記時間同期データの処理が終了すると、前記非時間同期データに対し、Ａ／Ｄ変換処理の要求を行うための処理要求データの送信が前記ＤＭＡ制御手段に指令され、前記第２のデータ処理要求手段による処理よりも、前記非時間同期データ処理要求手段による処理を優先するように構成されていることを特徴としている。
【００５５】
上記したＤＭＡ通信制御装置（１）、上記したエンジン制御装置（１）によれば、エンジン回転同期Ａ／Ｄ変換処理のような、時間に同期させずに行う処理の遅延を防止することができる。
【００５６】
さらに、上記したＤＭＡ通信制御装置（１）、上記したエンジン制御装置（１）によれば、前記主制御手段の処理負荷の軽減が図られているので、実用的であり、大変な優れたＤＭＡ通信制御装置、エンジン制御装置を実現することができる。
【００５７】
【発明の実施の形態】
以下、本発明に係るＤＭＡ通信制御方法、転送データ処理方法、ＤＭＡ通信制御装置、及びエンジン制御装置の実施の形態を図面に基づいて説明する。
【００５８】
図１は実施の形態（１）に係るエンジン制御装置が採用されたエンジン制御ＥＣＵの要部を概略的に示したブロック図である。なお、図１０に示したエンジン制御ＥＣＵと同様の構成部分については同符号を付し、ここではその説明を省略する。図中１１はＥＣＵを示しており、ＥＣＵ１１はマイコン１２と、Ａ／Ｄ変換ＩＣ７と、入力処理回路８と、出力処理回路９とを含んで構成され、マイコン１２はＣＰＵ１３と、ＲＡＭ１４と、ＲＯＭ１５と、ＤＭＡＣ１６とを含んで構成されている。
【００５９】
水温センサ、吸気量センサ、油温センサ、エアフローメータ、スロットル開度センサ、ノックセンサなどから出力されるアナログ系信号はＡ／Ｄ変換ＩＣ７でＡ／Ｄ変換され、またクランク角センサ、エンジン回転センサなどから出力されるディジタル系信号は入力処理回路８を介して、マイコン１２へ入力されるようになっている。
【００６０】
また、マイコン１２はこれら入力された信号に基づいて、最適な制御値を演算し、出力処理回路９を介して、ソレノイドやモータなどの各種アクチュエータを駆動したり、ランプを点灯したり、別のＥＣＵを制御するようになっている。また、マイコン１２とＡ／Ｄ変換ＩＣ７とのデータのやり取りはシリアル通信ラインＬを介したシリアル通信であり、ＣＰＵ１３の負荷を軽減するため、ＤＭＡ通信を行っている。
【００６１】
Ａ／Ｄ変換処理を行うセンサ信号には、水温、吸気量、油温など（例えば、全部で２０ｃｈ）のように、所定時間（例えば、４ｍ秒）毎に、定期的にＡ／Ｄ変換処理が行われるものと、ノック信号のように、エンジン回転に同期させて、Ａ／Ｄ変換処理が行われるものとがある。換言すれば、ここでのＡ／Ｄ変換処理には時間同期Ａ／Ｄ変換処理と、エンジン回転同期Ａ／Ｄ変換処理のような非時間同期Ａ／Ｄ変換処理とがあることになる。
【００６２】
次に、実施の形態（１）に係るエンジン制御装置が採用されたエンジン制御ＥＣＵ１１におけるＣＰＵ１３、ＤＭＡＣ１６、及びＡ／Ｄ変換ＩＣ７の行う処理動作について、図２〜図４に示したフローチャート、及び図５〜図８に示したタイミングチャートに基づいて説明する。なお、ここでは所定時間毎にＡ／Ｄ変換処理を行う、全部で２０ｃｈからなる信号を前半グループと後半グループとの２グループに分割した場合について説明する。
【００６３】
また、図５は処理要求に重なりが生じない場合を示し、図６は前半グループに属する時間同期データの処理を行っているときに、非時間同期データの処理を要求するタイミングになった場合を示している。また、図７は後半グループに属する時間同期データの処理を行っているときに、非時間同期データの処理を要求するタイミングになった場合を示し、図８は非時間同期データの処理を行っているときに、時間同期データの処理を要求するタイミングになった場合を示している。
【００６４】
まず、時間に同期して行う、時間同期データに関する処理動作について図２に示したフローチャートに基づいて説明する。４ｍ秒毎に、ＲＡＭ１４のアドレスＤｅ0 〜Ｄｅ21に、ＤＭＡＣ１６からシリアル通信ラインＬを介してＡ／Ｄ変換ＩＣ７へ送信するための送信データを送信テーブルＴｃ（図９参照）としてセットする（ステップＳ１）。
【００６５】
セットが完了すると、前半グループに属する時間同期データの処理を要求したことを示すフラグＦ１exe 、後半グループに属する時間同期データの処理を要求したことを示すフラグＦ２exe 、及び非時間同期データの処理を要求したことを示すフラグＦ３exe がいずれも０であるか否か、すなわち、ＤＭＡＣ１６が時間同期データ、及び非時間同期データのいずれの処理中でもないか否かを判断する（ステップＳ２）。
【００６６】
フラグＦ１exe 、Ｆ２exe 、Ｆ３exe のいずれもが０である、すなわち、ＤＭＡＣ１６が、時間同期データ、及び非時間同期データのいずれの処理中でもないと判断すれば、ＤＭＡＣ１６に対して、時間同期データの処理を要求することができるので、送信テーブルＴｃがセットされているメモリの開始アドレスＤｅ0 をＤＭＡＣ１６の内部のアドレスレジスタへ、そしてデータ個数１０をＤＭＡＣ１６の内部のカウンタへ書き込む（ステップＳ３）。
【００６７】
また、Ａ／Ｄ変換ＩＣ７でＡ／Ｄ変換処理が行われ、Ａ／Ｄ変換処理されたデータがＤＭＡＣ１６へ送信され、ＤＭＡＣ１６でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルＴｙ（ＲＡＭ１４）の開始アドレスＤｆ0 をＤＭＡＣ１６の内部のアドレスレジスタへ、そしてデータ個数１０をＤＭＡＣ１６の内部のカウンタへ書き込む（ステップＳ４）。
【００６８】
これら書き込みが完了すると、ＤＭＡＣ１６に動作開始指令を発信し（ステップＳ５）、その後、前半グループに属する時間同期データの処理を要求したことを示すフラグＦ１exe を１にすると共に（ステップＳ６）、後半グループに属する時間同期データの処理要求が待機状態にあることを示すフラグＦ２req を１にする（ステップＳ８）。
【００６９】
ところで、ＤＭＡＣ１６は、ＣＰＵ１３からの動作開始指令を受信すると、アドレスＤｅ0 から順番にメモリされているデータ（すなわち、送信テーブルＴｃのデータ）を、シリアル通信ラインＬを介してＡ／Ｄ変換ＩＣ７へ送信する（ステップＪ１）。
【００７０】
Ａ／Ｄ変換ＩＣ７は、ＤＭＡＣ１６からのデータ（すなわち、Ａ／Ｄ変換処理起動コマンドと、Ａ／Ｄ変換処理すべき信号のチャンネルとを含んだデータ）を受信すると、対応するセンサ信号のＡ／Ｄ変換処理を行って（ステップＫ１）、Ａ／Ｄ変換処理したデータを、シリアル通信ラインＬを介してＤＭＡＣ１６へ送信する（ステップＫ２）。
【００７１】
ＤＭＡＣ１６は、Ａ／Ｄ変換ＩＣ７から送信されたＡ／Ｄ変換処理されたデータを受信すると、そのデータをアドレスＤｆ0 から順番に転送先テーブルＴｙに書き込んでいく（ステップＪ２）。これら処理が１回終了すると、アドレス信号を１増加させ、１０個のデータの受信が完了するまで続け、１０個のデータの受信が完了すると、処理が完了したことを割り込みをかけてＣＰＵ１３に知らせる（ステップＪ３）。
【００７２】
一方、ステップＳ２における判断処理で、ＣＰＵ１３が、フラグＦ１exe 、Ｆ２exe 、Ｆ３exe のいずれかが１である、すなわち、ＤＭＡＣ１６が、時間同期データ、又は非時間同期データの処理中であると判断すれば、ＤＭＡＣ１６に対して、現時点では時間同期データの処理を要求することができないので、前半グループに属する時間同期データの処理要求が待機状態にあることを示すフラグＦ１req を１にすると共に（ステップＳ７）、後半グループに属する時間同期データの処理要求が待機状態にあることを示すフラグＦ２req を１にする（ステップＳ８）。
【００７３】
次に、エンジン回転に同期して行う、非時間同期データ（ノック信号）に関する処理動作について図３に示したフローチャートに基づいて説明する。エンジン回転に同期して、ＲＡＭ１４のアドレスＤｇに、ＤＭＡＣ１６からシリアル通信ラインＬを介してＡ／Ｄ変換ＩＣ７へ送信するための送信データをセットする（ステップＳ１１）。
【００７４】
セットが完了すると、前半グループに属する時間同期データの処理を要求したことを示すフラグＦ１exe 、後半グループに属する時間同期データの処理を要求したことを示すフラグＦ２exe 、及び非時間同期データの処理を要求したことを示すフラグＦ３exe がいずれも０であるか否か、すなわち、ＤＭＡＣ１６が時間同期データ、及び非時間同期データのいずれの処理中でもないか否かを判断する（ステップＳ１２）。
【００７５】
フラグＦ１exe 、Ｆ２exe 、Ｆ３exe のいずれもが０である、すなわち、ＤＭＡＣ１６が、時間同期データ、及び非時間同期データのいずれの処理中でもないと判断すれば、ＤＭＡＣ１６に対して、時間同期データの処理を要求することができるので、送信データがセットされているメモリのアドレスＤｇをＤＭＡＣ１６の内部のアドレスレジスタへ、そしてデータ個数１をＤＭＡＣ１６の内部のカウンタへ書き込む（ステップＳ１３）。
【００７６】
また、Ａ／Ｄ変換ＩＣ７でＡ／Ｄ変換処理が行われ、Ａ／Ｄ変換処理されたデータがＤＭＡＣ１６へ送信され、ＤＭＡＣ１６でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルＴｚ（ＲＡＭ１４）のアドレスＤｈをＤＭＡＣ１６の内部のアドレスレジスタへ、そしてデータ個数１をＤＭＡＣ１６の内部のカウンタへ書き込む（ステップＳ１４）。
【００７７】
これら書き込みが完了すると、ＤＭＡＣ１６に動作開始指令を発信し（ステップＳ１５）、その後、非時間同期データの処理を要求したことを示すフラグＦ３exe を１にする（ステップＳ１６）。
【００７８】
ところで、ＤＭＡＣ１６は、ＣＰＵ１３からの動作開始指令を受信すると、アドレスＤｇにメモリされているデータを、シリアル通信ラインＬを介してＡ／Ｄ変換ＩＣ７へ送信する（ステップＪ７）。
【００７９】
Ａ／Ｄ変換ＩＣ７は、ＤＭＡＣ１６からのデータ（すなわち、Ａ／Ｄ変換処理起動コマンドと、Ａ／Ｄ変換処理すべきノック信号のチャンネルとを含んだデータ）を受信すると、対応するセンサ信号（ノック信号）のＡ／Ｄ変換処理を行って（ステップＫ５）、Ａ／Ｄ変換処理したデータを、シリアル通信ラインＬを介してＤＭＡＣ１６へ送信する（ステップＫ６）。
【００８０】
ＤＭＡＣ１６は、Ａ／Ｄ変換ＩＣ７から送信されたＡ／Ｄ変換処理されたデータを受信すると、そのデータを転送先テーブルＴｚのアドレスＤｈに書き込み（ステップＪ８）、この書き込み処理が終了すると、データ個数が１個であるため、処理が完了したことを割り込みをかけてＣＰＵ１３に知らせる（ステップＪ９）。
【００８１】
一方、ステップＳ１２における判断処理で、ＣＰＵ１３が、フラグＦ１exe 、Ｆ２exe 、Ｆ３exe のいずれかが１である、すなわち、ＤＭＡＣ１６が、時間同期データ、又は非時間同期データの処理中であると判断すれば、ＤＭＡＣ１６に対して、現時点では非時間同期データの処理を要求することができないので、非時間同期データの処理要求が待機状態にあることを示すフラグＦ３req を１にする（ステップＳ１７）。
【００８２】
次に、ＤＭＡＣ１６の通信完了による割り込み処理に同期して行う、ＣＰＵ１３の処理動作について図４に示したフローチャートに基づいて説明する。ＤＭＡＣ１６からの割り込み処理があると、フラグＦ３exe が１であるか否かを判断し（ステップＳ２１）、フラグＦ３exe が１であると判断すれば、ＤＭＡＣ１６の通信完了は、非時間同期データの処理の完了を意味し、アドレスＤｈに転送された、Ａ／Ｄ変換処理された非時間同期データ（例えば、ノック信号）を使用した所定の処理を行うことが可能となるので、この処理をレディ状態（処理実行可能な状態とし、ＣＰＵ１３内の処理優先順位により実行する）にし（ステップＳ２４）、その後、フラグＦ３exe を０にして（ステップＳ２５）、ステップＳ２９へ進む。
【００８３】
ステップＳ２１における判断処理で、フラグＦ３exe が１でないと判断すれば、フラグＦ２exe が１であるか否かを判断し（ステップＳ２２）、フラグＦ２exe が１であると判断すれば、ＤＭＡＣ１６の通信完了は、後半グループに属する時間同期データの処理の完了を意味し、アドレスＤｆ0 〜Ｄｆ19に転送された、Ａ／Ｄ変換処理された時間同期データを使用した所定の処理を行うことが可能となるので、この処理をレディ状態（処理実行可能な状態とし、ＣＰＵ１３内の処理優先順位により実行する）にし（ステップＳ２６）、その後、フラグＦ２exe を０にして（ステップＳ２７）、ステップＳ２９へ進む。
【００８４】
ステップＳ２２における判断処理で、フラグＦ２exe が１でないと判断すれば、フラグＦ１exe が１であるか否かを判断し（ステップＳ２３）、フラグＦ１exe が１であると判断すれば、ＤＭＡＣ１６の通信完了は、前半グループに属する時間同期データの処理の完了を意味するので、フラグＦ１exe を０にして（ステップＳ２８）、ステップＳ２９へ進む。一方、フラグＦ１exe が１でないと判断すれば、そのままステップＳ２９へ進む。
【００８５】
ステップＳ２９では、前半グループに属する時間同期データの処理要求が待機状態であることを示すフラグＦ１req 、後半グループに属する時間同期データの処理要求が待機状態であることを示すフラグＦ２req 、及び非時間同期データの処理要求が待機状態であることを示すフラグＦ３req がいずれも０であるか否かを判断する。
【００８６】
フラグＦ１req 、Ｆ２req 、Ｆ３req のいずれもが０である、すなわち、時間同期データの処理要求、及び非時間同期データの処理要求のいずれも待機状態でないと判断すれば、ＤＭＡＣ１６に対して、何も処理を行う必要がないので、そのまま処理動作を終了する。
【００８７】
一方、フラグＦ１req 、Ｆ２req 、Ｆ３req のいずれかが１であると判断すれば、まず、フラグＦ３req が１であるか否かを判断し（ステップＳ３０）、フラグＦ３req が１であると判断すれば、非時間同期データの処理要求が待機状態にあるということなので、送信データがセットされているメモリのアドレスＤｇをＤＭＡＣ１６の内部のアドレスレジスタへ、そしてデータ個数１をＤＭＡＣ１６の内部のカウンタへ書き込む（ステップＳ３３）。
【００８８】
また、Ａ／Ｄ変換ＩＣ７でＡ／Ｄ変換処理が行われ、Ａ／Ｄ変換処理されたデータがＤＭＡＣ１６へ送信され、ＤＭＡＣ１６でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルＴｚ（ＲＡＭ１４）のアドレスＤｈをＤＭＡＣ１６の内部のアドレスレジスタへ、そしてデータ個数１をＤＭＡＣ１６の内部のカウンタへ書き込む（ステップＳ３４）。
【００８９】
これら書き込みが完了すると、ＤＭＡＣ１６に動作開始指令を発信し（ステップＳ３５）、その後、非時間同期データの処理を要求したことを示すフラグＦ３exe を１にすると共に（ステップＳ３６）、フラグＦ３req を０にする（ステップＳ３７）。
【００９０】
ところで、ＤＭＡＣ１６は、ＣＰＵ１３からの動作開始指令を受信すると、アドレスＤｇにメモリされているデータを、シリアル通信ラインＬを介してＡ／Ｄ変換ＩＣ７へ送信する（ステップＪ７）。
【００９１】
Ａ／Ｄ変換ＩＣ７は、ＤＭＡＣ１６からのデータ（すなわち、Ａ／Ｄ変換処理起動コマンドと、Ａ／Ｄ変換処理すべきノック信号のチャンネルとを含んだデータ）を受信すると、対応するセンサ信号（ノック信号）のＡ／Ｄ変換処理を行って（ステップＫ５）、Ａ／Ｄ変換処理したデータを、シリアル通信ラインＬを介してＤＭＡＣ１６へ送信する（ステップＫ６）。
【００９２】
ＤＭＡＣ１６は、Ａ／Ｄ変換ＩＣ７から送信されたＡ／Ｄ変換処理されたデータを受信すると、そのデータを転送先テーブルＴｚのアドレスＤｈに書き込み（ステップＪ８）、この書き込み処理が終了すると、データ個数が１個であるため、処理が完了したことを割り込みをかけてＣＰＵ１３に知らせる（ステップＪ９）。
【００９３】
一方、ステップＳ３０における判断処理で、ＣＰＵ１３が、フラグＦ３req が１でないと判断すれば、フラグＦ１req が１であるか否かを判断し（ステップＳ３１）、フラグＦ１req が１であると判断すれば、前半グループに属する時間同期データの処理要求が待機状態にあるということなので、送信テーブルＴｃがセットされているメモリの開始アドレスＤｅ0 をＤＭＡＣ１６の内部のアドレスレジスタへ、そしてデータ個数１０をＤＭＡＣ１６の内部のカウンタへ書き込む（ステップＳ３８）。
【００９４】
また、Ａ／Ｄ変換ＩＣ７でＡ／Ｄ変換処理が行われ、Ａ／Ｄ変換処理されたデータがＤＭＡＣ１６へ送信され、ＤＭＡＣ１６でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルＴｙ（ＲＡＭ１４）の開始アドレスＤｆ0 をＤＭＡＣ１６の内部のアドレスレジスタへ、そしてデータ個数１０をＤＭＡＣ１６の内部のカウンタへ書き込む（ステップＳ３９）。
【００９５】
これら書き込みが完了すると、ＤＭＡＣ１６に動作開始指令を発信し（ステップＳ４０）、その後、前半グループに属する時間同期データの処理を要求したことを示すフラグＦ１exe を１にすると共に（ステップＳ４１）、フラグＦ１req を０にする（ステップＳ４２）。
【００９６】
ところで、ＤＭＡＣ１６は、ＣＰＵ１３からの動作開始指令を受信すると、アドレスＤｅ0 から順番にメモリされているデータ（すなわち、送信テーブルＴｃのデータ）を、シリアル通信ラインＬを介してＡ／Ｄ変換ＩＣ７へ送信する（ステップＪ１）。
【００９７】
Ａ／Ｄ変換ＩＣ７は、ＤＭＡＣ１６からのデータ（すなわち、Ａ／Ｄ変換処理起動コマンドと、Ａ／Ｄ変換処理すべき信号のチャンネルとを含んだデータ）を受信すると、対応するセンサ信号のＡ／Ｄ変換処理を行って（ステップＫ１）、Ａ／Ｄ変換処理したデータを、シリアル通信ラインＬを介してＤＭＡＣ１６へ送信する（ステップＫ２）。
【００９８】
ＤＭＡＣ１６は、Ａ／Ｄ変換ＩＣ７から送信されたＡ／Ｄ変換処理されたデータを受信すると、そのデータをアドレスＤｆ0 から順番に転送先テーブルＴｙに書き込んでいく（ステップＪ２）。これら処理が１回終了すると、アドレス信号を１増加させ、１０個のデータの受信が完了するまで続け、１０個のデータの受信が完了すると、処理が完了したことを割り込みをかけてＣＰＵ１３に知らせる（ステップＪ３）。
【００９９】
一方、ステップＳ３１における判断処理で、ＣＰＵ１３が、フラグＦ１req が１でないと判断すれば、フラグＦ２req が１であるか否かを判断し（ステップＳ３２）、フラグＦ２req が１であると判断すれば、後半グループに属する時間同期データの処理要求が待機状態にあるということなので、送信テーブルＴｃがセットされているメモリの開始アドレスＤｅ0 から１１進んだアドレスＤｅ11をＤＭＡＣ１６の内部のアドレスレジスタへ、そしてデータ個数１０をＤＭＡＣ１６の内部のカウンタへ書き込む（ステップＳ４３）。
【０１００】
また、Ａ／Ｄ変換ＩＣ７でＡ／Ｄ変換処理が行われ、Ａ／Ｄ変換処理されたデータがＤＭＡＣ１６へ送信され、ＤＭＡＣ１６でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルＴｙ（ＲＡＭ１４）の開始アドレスＤｆ0 から１０進んだアドレスＤｆ10をＤＭＡＣ１６の内部のアドレスレジスタへ、そしてデータ個数１０をＤＭＡＣ１６の内部のカウンタへ書き込む（ステップＳ４４）。
【０１０１】
これら書き込みが完了すると、ＤＭＡＣ１６に動作開始指令を発信し（ステップＳ４５）、その後、後半グループに属する時間同期データの処理を要求したことを示すフラグＦ２exe を１にすると共に（ステップＳ４６）、フラグＦ２req を０にする（ステップＳ４７）。
【０１０２】
ところで、ＤＭＡＣ１６は、ＣＰＵ１３からの動作開始指令を受信すると、アドレスＤｅ11から順番にメモリされているデータ（すなわち、送信テーブルＴｃのデータ）を、シリアル通信ラインＬを介してＡ／Ｄ変換ＩＣ７へ送信する（ステップＪ４）。
【０１０３】
Ａ／Ｄ変換ＩＣ７は、ＤＭＡＣ１６からのデータ（すなわち、Ａ／Ｄ変換処理起動コマンドと、Ａ／Ｄ変換処理すべき信号のチャンネルとを含んだデータ）を受信すると、対応するセンサ信号のＡ／Ｄ変換処理を行って（ステップＫ３）、Ａ／Ｄ変換処理したデータを、シリアル通信ラインＬを介してＤＭＡＣ１６へ送信する（ステップＫ４）。
【０１０４】
ＤＭＡＣ１６は、Ａ／Ｄ変換ＩＣ７から送信されたＡ／Ｄ変換処理されたデータを受信すると、そのデータをアドレスＤｆ10から順番に転送先テーブルＴｙに書き込んでいく（ステップＪ５）。これら処理が１回終了すると、アドレス信号を１増加させ、１０個のデータの受信が完了するまで続け、１０個のデータの受信が完了すると、処理が完了したことを割り込みをかけてＣＰＵ１３に知らせる（ステップＪ６）。
【０１０５】
上記実施の形態（１）に係るエンジン制御装置によれば、前記時間同期データについては、２個のグループに分割し、各グループ毎に前記時間同期データの処理を要求するので、各グループに属する前記時間同期データの処理と処理との間に、前記ＤＭＡ制御手段がシリアル通信ラインＬを占有しない期間をつくることができるため、この期間に非時間同期データの処理を割り込ませることが可能となる。従って、エンジン回転同期Ａ／Ｄ変換処理のような、時間に同期させずに行う処理の遅延を防止することができる。
【０１０６】
さらに、Ａ／Ｄ変換処理後のこれらデータを使用して、所定の処理を行う場合に、図４に示したように、前半グループと後半グループとを合わせて、一度に行うので（ステップＳ２６参照）、ＣＰＵにおける処理の負荷の軽減を図ることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態（１）に係るエンジン制御装置が採用されたエンジン制御ＥＣＵの要部を概略的に示したブロック図である。
【図２】〜
【図４】実施の形態（１）に係るエンジン制御装置が採用されたエンジン制御ＥＣＵにおけるＣＰＵの行う処理動作を示したフローチャートである。
【図５】〜
【図８】実施の形態（１）に係るエンジン制御装置が採用されたエンジン制御ＥＣＵにおけるＣＰＵ、ＤＭＡＣ、及びＡ／Ｄ変換ＩＣの行う処理動作を示したタイミングチャートである。
【図９】ＲＡＭに書き込まれた、ＤＭＡＣからシリアル通信ラインを介してＡ／Ｄ変換ＩＣへ送信するための送信データをまとめた送信テーブルを示した図である。
【図１０】従来におけるエンジン制御装置が採用されたエンジン制御ＥＣＵの要部を概略的に示したブロック図である。
【図１１】、
【図１２】時間同期Ａ／Ｄ変換処理と、非時間同期Ａ／Ｄ変換処理との起動タイミングが重なることを説明するための説明図である。
【図１３】従来におけるエンジン制御装置が採用されたエンジン制御ＥＣＵにおけるＣＰＵ、ＤＭＡＣ、及びＡ／Ｄ変換ＩＣの行う処理動作を示したフローチャートである。
【図１４】従来におけるエンジン制御装置が採用されたエンジン制御ＥＣＵにおけるＣＰＵ、ＤＭＡＣ、及びＡ／Ｄ変換ＩＣの行う処理動作を示したタイミングチャートである。
【図１５】（ａ）、（ｂ）は、ＲＡＭに書き込まれた、ＤＭＡＣからシリアル通信ラインを介してＡ／Ｄ変換ＩＣへ送信するための送信データをまとめた送信テーブルを示した図である。
【図１６】ＤＭＡＣとＡ／Ｄ変換ＩＣとのデータのやり取りを説明するための説明図である。
【符号の説明】
７  Ａ／Ｄ変換ＩＣ
１１  ＥＣＵ
１２  マイコン
１３  ＣＰＵ
１４  ＲＡＭ
１５  ＲＯＭ
１６  ＤＭＡＣ
【図１】
0003911386.tif 000002
【図２】
0003911386.tif 000003
【図３】
0003911386.tif 000004
【図４】
0003911386.tif 000005
【図５】
0003911386.tif 000006
【図６】
0003911386.tif 000007
【図７】
0003911386.tif 000008
【図８】
0003911386.tif 000009
【図９】
0003911386.tif 000010
【図１０】
0003911386.tif 000011
【図１１】
0003911386.tif 000012
【図１２】
0003911386.tif 000013
【図１３】
0003911386.tif 000014
【図１４】
0003911386.tif 000015
【図１５】
0003911386.tif 000016
【図１６】
0003911386.tif 000017