(57)【特許請求の範囲】
【請求項１】
所定バイト長の複数のデータによって形成されるデータセットを、前記データ単位でシリアル通信してメモリに書き込み、若しくはメモリから読み出すＤＭＡ制御装置であって、
前記データセットを形成するデータの数ｎ（ｎは自然数）より一つ少ない数のデータが一時貯蔵されるデータセット調整レジスタと、
前記データセットを形成するデータの数ｎが値として記憶されているバイト長メモリと、
前記バイト長メモリに記憶された値より一つ少ない第１番目〜第（ｎ−１）番目までのデータを前記データセット調整レジスタに一時貯蔵させ、前記貯蔵された第１番目〜第（ｎ−１）番目のデータと第ｎ番目にシリアル通信されるデータとで形成されるデータセットにて前記メモリを一括アクセスする制御手段と
を具えることを特徴とするＤＭＡ制御装置。
【請求項２】
前記バイト長メモリに記憶される前記データセットを形成するデータの数ｎは固定値である
請求項１記載のＤＭＡ制御装置。
【請求項３】
前記バイト長メモリに記憶される前記データセットを形成するデータの数ｎは、外部から可変設定される値である
請求項１記載のＤＭＡ制御装置。
【請求項４】
前記バイト長メモリに記憶される前記データセットを形成するデータの数ｎは、前記シリアル通信されるデータに先立ち、同シリアル通信されるデータの１つとしてその旨示す適宜のコマンドと共に転送され、
前記制御手段は、前記データセットを形成するデータの数ｎが受信される都度これを前記バイト長メモリに更新登録する
請求項３記載のＤＭＡ制御装置。
【請求項５】
前記データは１バイト単位でシリアル通信され、
前記制御手段は、第１番目から第（ｎ−１）番目まで受信されるデータを順次前記データセット調整レジスタに一時貯蔵しつつ、これを第ｎ番目に受信されるデータと共に一括して前記メモリに書き込み制御する
請求項１〜４の何れかに記載のＤＭＡ制御装置。
【請求項６】
前記データは１バイト単位でシリアル通信され、
前記制御手段は、前記メモリからｎバイトのデータセットを一括して読み込むとともにその第２番目から第ｎ番目のデータを前記データセット調整レジスタに一時貯蔵し、第１番目のデータを送信した後、該貯蔵した第２番目から第ｎ番目のデータを順次送信する
請求項１〜４の何れかに記載のＤＭＡ制御装置。
【請求項７】
書き込み要求コマンドと書き込み指定バンクと書き込みデータとからなるシリアルデータを受信するマイクロコンピュータと、
前記書き込み指定バンクに前記書き込みデータを記憶するメモリと、
カウンタと、
該カウンタを制御する制御手段と、
前記書き込みデータを一時貯蔵するデータセット調整レジスタと
を具え、
前記制御手段は、前記書き込み指定バンクが、前回指定された書き込み指定バンクと異なる場合には前記カウンタに１をセットし、前記書き込み指定バンクが、前回指定された書き込み指定バンクと同一である場合には前記カウンタをインクリメントし、
前記マイクロコンピュータは、前記カウンタが奇数の場合には今回受信された前記書き込みデータを前記データセット調整レジスタに一時貯蔵し、前記カウンタが偶数の場合には前記データセット調整レジスタの値と今回受信された前記書き込みデータとを一括して前記メモリ内の指定された前記書き込み指定バンクへ書き込む
ことを特徴とするＤＭＡ制御装置。
【請求項８】
読み出し要求コマンドと読み出し指定バンクとからなるシリアルデータを受信するとともに、前記読み出し指定バンクにより指定されたデータを読み出しデータとして出力するマイクロコンピュータと、
前記読み出し指定バンクに前記読み出しデータを記憶するメモリと、
カウンタと、
該カウンタを制御する制御手段と、
前記読み出しデータを一時貯蔵するデータセット調整レジスタと
を具え、
前記制御手段は、前記読み出し指定バンクが、前回指定された読み出し指定バンクと異なる場合には前記カウンタに１をセットし、前記読み出し指定バンクが、前回指定された読み出し指定バンクと同一である場合には前記カウンタをインクリメントし、
前記マイクロコンピュータは、前記カウンタが奇数の場合には前記読み出し指定バンクに格納されている２つの連続するデータを読み込み、該２つの連続するデータのうち１番目のデータを前記読み出しデータとして出力するとともに２番目のデータを前記データセット調整レジスタに一時貯蔵し、前記カウンタが偶数の場合には前記データセット調整レジスタの値を前記読み出しデータとして出力する
ことを特徴とするＤＭＡ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えばエンジン制御などに用いられる複数の電子制御装置間で授受されるデータのメモリアクセスを制御するＤＭＡ（ダイレクトメモリアクセス）制御装置に関し、特に所定バイト単位でシリアル通信されるデータの複数によって１つの情報が形成されるデータセットを扱う上で有益なデータアクセス構造の具現に関する。
【０００２】
【従来の技術】
近年のエンジン制御をとりまく法規制（排気ガス規制等）の強化や燃費の低減化、診断処理の複雑化等に伴い、その電子制御装置としても１つの電子制御装置にて全ての制御や処理を統括的に行う方向から、複数の電子制御装置にてそれら制御や処理を分散して、すなわち機能分担して行う方向に移行しつつある。
【０００３】
因みに、エンジン制御をこのような複数の電子制御装置にて機能分担して行う場合、エンジン各部に配設されたセンサによって検出される冷却水温情報や空気流量情報、回転数情報、等々を各電子制御装置に取り込むとともに、それら情報に応じた燃料噴射量や点火時期等に関する演算、並びに対応するアクチュエータの駆動制御等をそれら電子制御装置にて各別に実行することとなる。
【０００４】
ただし、上記複数の電子制御装置の各々にそれら必要とされる情報を各別に取り込んだのでは入力ポート数が増大して、入力回路の複雑化を招く。
そこで従来は、それら電子制御装置で共通に必要とされる情報については１つの制御装置に代表して取り込み、これを適宜の通信手段によって他の制御装置に転送するなどの手法を講じている。
【０００５】
そして一般に、こうした制御装置間でのデータ通信には、それら制御装置のＣＰＵに演算負担をかけることなく直接メモリをアクセスすることのできるＤＭＡ（ダイレクトメモリアクセス）制御方式が採用されている。
【０００６】
因みにこのＤＭＡ制御方式において、一方の電子制御装置から他方の電子制御装置に対してデータの転送を行う場合、基本的には、以下に列記するような処理が実行される。
（１）送信側電子制御装置のＣＰＵがそのＤＭＡ制御部を起動してマップデータ等、所望データの転送を指示する。
（２）起動されたＤＭＡ制御部では、同制御装置内のＲＯＭ（読み出し専用メモリ）若しくはＲＡＭ（ランダムアクセスメモリ）に格納されている当該データを順次読み込みつつ、これをシフトクロックに基づき受信側電子制御装置のＤＭＡ制御部にシリアル送信する。なお、この送信されるデータには、書き込みを指示するコマンドとともにそれぞれその書き込み先（受信側電子制御装置のＲＡＭのバンク情報）が添付される。
（３）受信側電子制御装置のＤＭＡ制御部では、この受信されたコマンドに基づいて当該データが書き込み指示されたデータである旨認識し、同じく受信された書き込み先（ＲＡＭ内の指定されたバンク）に当該データを書き込む。なおこの際、同一の書き込み先をもつ複数のデータが転送される場合には、それら複数のデータがその指定されたバンクに順番に書き込まれるようになる。
【０００７】
このように、ＤＭＡ制御方式による電子制御装置間でのデータ転送にあっては通常、シリアル通信の開始・停止等の主導権は、送信側の一方の電子制御装置におかれる。また、受信側の電子制御装置において、ＣＰＵによるＲＡＭアクセスは、ＤＭＡ制御部によるこうしたＲＡＭアクセスとは非同期に実行される。
【０００８】
【発明が解決しようとする課題】
ところで、上記ＤＭＡ制御方式によるシリアル通信に際してその１度の通信で転送できるデータは通常、１バイト（８ビット）のデータである。したがって、例えば２バイトのデータで１つの情報が形成されるデータセットを転送しようとする場合には、同シリアル通信を２度行う必要がある。そしてそのような場合、受信側電子制御装置のＤＭＡ制御部においても、こうしたデータセットをＲＡＭに書き込むためには、２度に亘って同ＲＡＭをアクセスする必要がある。
【０００９】
一方、上記電子制御装置を構成するマイクロコンピュータにあって、ＣＰＵによるＲＡＭアクセスは、バイト単位でのアクセスもあれば、ワード（２バイト＝１６ビット）単位でのアクセスもある。これらアクセス単位は、同ＣＰＵがその都度実行するプログラムの内容に応じて随時決定される。
【００１０】
ところが上述のように、受信側の電子制御装置においては、これらＤＭＡ制御部によるＲＡＭアクセスとＣＰＵによるＲＡＭアクセスとが非同期に実行されることから、ＲＡＭに対するそれらアクセスのタイミングによっては、図１９に例示するような不都合が生じることともなっている。
【００１１】
すなわちこの図１９は、送信側の電子制御装置を構成する第１のマイクロコンピュータ１から受信側の電子制御装置を構成する第２のマイクロコンピュータ２のＲＡＭ２３に対し、ＤＭＡ制御部２７を介してデータ１の書き込みが行われた直後、同第２のマイクロコンピュータ２のＣＰＵ２２によってこのＲＡＭ２３に対するワード単位でのアクセスが行われた様子を模式的に示している。
【００１２】
このとき、上記ＲＡＭ２３に書き込まれるデータが、例えば上述した２バイトのデータで１つの情報が形成されるデータセットであったとすると、ＣＰＵ２２がこのＲＡＭ２３から取り込むデータは、同図１９に示されるように、更新された「新データ１」と更新される前の「旧データ２」とが混同されたデータセットとなる。そして、このデータセットが例えばマップデータであって、マップ内容がこれら「新データ」と「旧データ」とで大きく変更されているような場合には、それに基づき制御される内容にも矛盾が生じることとなる。
【００１３】
またこのような問題は、更に多くのマイクロコンピュータ間において処理速度（通信速度）の異なるＤＭＡ制御部を介してデータ転送が行われる場合にも発生する。
【００１４】
すなわち図２０に例示するように、第１のマイクロコンピュータ１から第２のマイクロコンピュータ２へは処理速度の遅いＤＭＡ制御部２８を介してデータの転送を行い、第２のマイクロコンピュータ２から第３のマイクロコンピュータ３へは処理速度の速いＤＭＡ制御部２９及び３１を介してデータの転送行うような場合には、
・第１のマイクロコンピュータ１からＲＡＭ２３に対し、遅いＤＭＡ制御部２８を介してデータ１の更新が行われる。
・その後、データ２の更新が行われる以前に、速いＤＭＡ制御部２９及び３１によって、その更新された「新データ１」及び更新以前の「旧データ２」がＲＡＭ２３からＲＡＭ３３に順次転送される。
といった態様でそれらデータの転送が行われることもある。そしてそのような場合、上記ＲＡＭ３３には、一時的ではあれ、これら「新データ１」と「旧データ２」とが混同して格納されるようになる。
【００１５】
したがって、ここでもそれら転送されるデータが上述した２バイトのデータで１つの情報が形成されるデータセットであり、またＣＰＵ３２でも、このＲＡＭ３３に対しワード単位でのアクセスを行うような場合には、上記と同様、やはり何らかの矛盾が生じることとなる。
【００１６】
なお従来、例えば特開平７−１３８９７号公報に記載の装置のように、
・２バイトのデータで１つの情報が形成されるデータセットについてそれら１バイトのデータ毎にインデックスを付与する。
或いは特開平５−１７３９３５号公報に記載の方法のように、
・複数バイトのデータで１つの情報が形成されるデータセットを、スタートデータとエンドデータとで挟み込む。
等々によってそれらデータセットの判別を可能とした技術も確かに知られてはいる。
【００１７】
しかし、前者の技術の場合、送信するデータに対して毎回インデックスを付与しなければならず、また受信する側でも常にこの付与されたインデックスを参照しなければならないなど、データ転送にかかる処理負荷が増大する不都合がある。しかもこの手法では、例えば２バイトのデータで１つの情報が形成されるデータセットと４バイトのデータで１つの情報が形成されるデータセットとが混在して転送されるようないわゆる可変長データを扱うこともできない。
【００１８】
一方、後者の技術の場合、上記可変長データを扱うことはできるものの、やはりこの場合も、それらデータセット毎にスタートデータとエンドデータとを付与する必要があるとともに、ＣＰＵ側でこれらスタートデータやエンドデータをチェックしなければならず、データ転送にかかる処理負荷は確実に増大する。またこの場合、データそのものにこれらスタートデータやエンドデータと同一の値を用いることができないなどの制限もある。
【００１９】
この発明は、こうした実情に鑑みてなされたものであり、複数バイトのデータで１つの情報が形成されるデータセットであれ、それらデータが混同されることなく、しかも効率よく、これを転送することのできるＤＭＡ制御装置を提供することを目的とする。
【００２０】
またこの発明は、可変長データについても、スタートデータやエンドデータの付与を不要として、これを確実、且つ効率よく転送することのできるＤＭＡ制御装置を提供することを目的とする。
【００２１】
【課題を解決するための手段】
こうした目的を達成するため、この発明では、所定バイト長の複数のデータによって形成されるデータセットを、前記データ単位でシリアル通信してメモリに書き込み、若しくはメモリから読み出すＤＭＡ制御装置として、請求項１に記載したように、
（ａ）前記データセットを形成するデータの数ｎ（ｎは自然数）より一つ少ない数のデータが一時貯蔵されるデータセット調整レジスタ。
（ｂ）このレジスタに貯蔵される第１番目〜第（ｎ−１）番目のデータと第ｎ番目にシリアル通信されるデータとで形成されるデータセットにて前記メモリを一括アクセスする制御手段。
をそれぞれ具える構成とする。
【００２２】
ＤＭＡ制御装置としてのこのような構成によれば、例えば前述した２バイトのデータで１つの情報が形成されるデータセットの転送に際し、同データセットを形成する一方のデータのみを対象として上記メモリ（通常はＲＡＭ）がアクセスされることはなくなる。すなわちこうしたデータセットの場合、少なくともその両方のデータが揃っていることを条件に、当該データセットを対象とする一括したメモリアクセスが行われるようになる。
【００２３】
したがって、前述したＣＰＵ等から同メモリに対して、例えばワード単位での非同期アクセスが行われる場合であれ、それらデータセット以外のデータが混同してアクセスされることはなくなり、矛盾した制御が行われるなどの不都合も自ずと解消されるようになる。
【００２６】
一方、上記データセット調整レジスタ、及び制御手段に更に加えて、
（ｃ）前記データセットを形成するデータの数ｎが値として記憶されているバイト長メモリ。
を併せ具えるとともに、上記制御手段を、
（ｂ３）前記バイト長メモリに記憶された値より一つ少ない数のデータを前記データセット調整レジスタに一時貯蔵し、同貯蔵されるデータと当該シリアル通信されるデータとのデータセットにて前記メモリを一括アクセスするもの。
として構成すれば、如何なるバイト長からなるデータセットについても、それらデータが揃っていることを条件に、同データセットを対象とする一括したメモリアクセスが行われるようになる。
【００２７】
したがってこの場合も、ＣＰＵ等から同メモリに対して、例えばワード単位での非同期アクセスが行われる場合であれ、それらデータセット以外のデータが混同してアクセスされることはなくなり、矛盾した制御が行われるなどの不都合も解消されるようになる。
【００２８】
なおこの場合、例えば請求項２記載の発明によるように、
（ｃ１）上記バイト長メモリに記憶される前記データセットを形成するデータの数ｎを固定値とする。
といった構成によれば、固定されたバイト長を単位としてデータ転送が行われるシステムにとっては、極めて簡易な構成にてこうしたデータセットを対象とする一括したメモリアクセスが行われるようになり、また請求項３記載の発明によるように、
（ｃ２）上記バイト長メモリに記憶される前記データセットを形成するデータの数ｎは外部から可変設定される。
といった構成によれば、前述した可変長データについても、それらデータセットを対象とする柔軟且つ効率のよいメモリアクセスが行われるようになる。
【００２９】
そして、特にこの請求項３記載の発明に関しては、更に請求項４記載の発明によるように、
（ｃ２１）前記バイト長メモリに記憶される前記データセットを形成するデータの数ｎは、前記シリアル通信されるデータに先立ち、同シリアル通信されるデータの１つとしてその旨示す適宜のコマンドと共に転送される。
（ｂ３１）前記制御手段は、前記データセットを形成するデータの数ｎが受信される都度これを前記バイト長メモリに更新登録する。
といった構成によって、上記データセットを形成するデータの数ｎを外部から可変設定するための手段を特に設けずとも、当該シリアル通信系をそのまま流用して同データセットを形成するデータの数ｎの可変設定を行うことができるようになる。
【００３０】
しかも同構成では、転送対象となるデータセットのバイト長を変更するときにのみ上記データセットを形成するデータの数ｎを転送すればよく、少なくとも前述したスタートデータやエンドデータを付与する場合に比べてその処理負荷は大きく軽減される。
【００３１】
またこの場合、上記データセットを形成するデータの数ｎには別途のコマンドが付与されて転送されることから、転送対象となるデータと該データセットを形成するデータの数ｎとが混同されることもない。
すなわち、データとして用いることのできる値に制限が加わるようなことも一切ない。
【００３２】
なお、前記データが１バイト単位でシリアル通信されるとき、請求項５記載の発明によるように、上記制御手段を、
（ｂ４）第１番目から第（ｎ−１）番目まで受信されるデータを順次前記データセット調整レジスタに一時貯蔵しつつ、これを第ｎ番目に受信されるデータと共に一括して前記メモリに書き込み制御するもの。
として構成することで、この場合もそれらデータが混同されることなく、しかも効率のよいメモリへのデータセット書き込み処理が実現されるようになる。
【００３３】
また、同じく前記データが１バイト単位でシリアル通信されれるとき、請求項６記載の発明によるように、上記制御手段を、
（ｂ５）前記メモリからｎバイトのデータセットを一括して読み込むとともにその第２番目から第ｎ番目のデータを前記データセット調整レジスタに一時貯蔵し、第１番目のデータを送信した後、該貯蔵した第２番目から第ｎ番目のデータを順次送信するもの。
として構成することで、上述同様、それらデータが混同されずに且つ効率のよいメモリからのデータセット読み出し処理が実現されるようになる。
また、請求項７記載の発明は、書き込み要求コマンドと書き込み指定バンクと書き込みデータとからなるシリアルデータを受信するマイクロコンピュータと、前記書き込み指定バンクに前記書き込みデータを記憶するメモリと、カウンタと、該カウンタを制御する制御手段と、前記書き込みデータを一時貯蔵するデータセット調整レジスタとを具え、前記制御手段は、前記書き込み指定バンクが、前回指定された書き込み指定バンクと異なる場合には前記カウンタに１をセットし、前記書き込み指定バンクが、前回指定された書き込み指定バンクと同一である場合には前記カウンタをインクリメントし、前記マイクロコンピュータは、前記カウンタが奇数の場合には今回受信された前記書き込みデータを前記データセット調整レジスタに一時貯蔵し、前記カウンタが偶数の場合には前記データセット調整レジスタの値と今回受信された前記書き込みデータとを一括して前記メモリ内の指定された前記書き込み指定バンクへ書き込むことを要旨とする。
そして、請求項８記載の発明は、読み出し要求コマンドと読み出し指定バンクとからなるシリアルデータを受信するとともに、前記読み出し指定バンクにより指定されたデータを読み出しデータとして出力するマイクロコンピュータと、前記読み出し指定バンクに前記読み出しデータを記憶するメモリと、カウンタと、該カウンタを制御する制御手段と、前記読み出しデータを一時貯蔵するデータセット調整レジスタとを具え、前記制御手段は、前記読み出し指定バンクが、前回指定された読み出し指定バンクと異なる場合には前記カウンタに１をセットし、前記読み出し指定バンクが、前回指定された読み出し指定バンクと同一である場合には前記カウンタをインクリメントし、前記マイクロコンピュータは、前記カウンタが奇数の場合には前記読み出し指定バンクに格納されている２つの連続するデータを読み込み、該２つの連続するデータのうち１番目のデータを前記読み出しデータとして出力するとともに２番目のデータを前記データセット調整レジスタに一時貯蔵し、前記カウンタが偶数の場合には前記データセット調整レジスタの値を前記読み出しデータとして出力することを要旨とする。
【００３４】
【発明の実施の形態】
（第１実施形態）
図１に、この発明にかかるＤＭＡ（ダイレクトメモリアクセス）制御装置についてその第１の実施形態を示す。
【００３５】
この第１の実施形態の装置は、例えばエンジン制御用のマルチＣＰＵシステムにあって、前述したＤＭＡ方式によるバイトデータを単位としてのシリアル通信に際し、２バイトのデータで１つの情報が形成されるデータセットが転送される場合であっても、それらデータが混同されることなくメモリへの書き込み、或いはメモリからの読み出しを行うことのできる装置として構成されている。
【００３６】
はじめに、図１を参照して、同実施形態の装置が適用されるエンジン制御用のマルチＣＰＵシステムについてその全体の構成を説明する。
同システムにおいて、エンジン制御装置としての主制御装置を構成する第１のマイクロコンピュータ１は、エンジン（図示せず）の燃料噴射量制御や点火時期制御等、エンジンの運転状態を直接制御するマイクロコンピュータである。
【００３７】
該第１のマイクロコンピュータ１には、以下に説明する補助制御装置としての第２のマイクロコンピュータ２との間で前述したＤＭＡ方式によるデータ通信を行うＤＭＡ制御部１１をはじめ、上記制御量としての燃料噴射量や点火時期等を演算するＣＰＵ１２、主にデータメモリとして用いられるＲＡＭ１３、そして主にプログラムメモリとして用いられるＲＯＭ１４等が内蔵されている。
【００３８】
ここで、上記ＤＭＡ制御部１１は、ＣＰＵ１２によって起動されることによりＲＡＭ１３やＲＯＭ１４に格納されているデータを第２のマイクロコンピュータ２に転送したり、同第２のマイクロコンピュータ２から必要なデータを取り込む部分である。
【００３９】
なお、該ＤＭＡ制御部１１によってこれらＲＡＭ１３やＲＯＭ１４がアクセスされている期間は、それらメモリに対するＣＰＵ１２からの重複したアクセスが行われないよう、同ＤＭＡ制御部１１からＣＰＵ１２に対してホールド要求Ｈｒｅｑが出力される。ＣＰＵ１２では、該ホールド要求Ｈｒｅｑが出力されている間、メモリアクセス等を控えて待機する。
【００４０】
またＣＰＵ１２は、上記ＲＡＭ１３やＲＯＭ１４はもとより、第２のマイクロコンピュータ２の後述するＲＡＭ２３についても、その何処にどのようなデータが格納されているかを把握している。
【００４１】
一方、補助制御装置としての第２のマイクロコンピュータ２は、エンジンに取り付けられた各種センサ（図示せず）からそれらセンシングデータを取り込むとともに、例えばノック制御や負荷制御等の補助的な制御を主に実行するマイクロコンピュータである。
【００４２】
この第２のマイクロコンピュータ２には、上記第１のマイクロコンピュータ１のＤＭＡ制御部１１との間でデータ通信を行うＤＭＡ制御部２１をはじめ、上記ノック制御や負荷制御にかかる制御量を演算するＣＰＵ２２、主にデータメモリとして用いられるＲＡＭ２３、プログラムメモリとして用いられるＲＯＭ２４、更には水温センサや吸気温センサ、エアフローメータなどによるアナログセンシングデータをディジタル量に変換するＡ／Ｄ変換器２５、並びにそれらディジタル量に変換すべきデータを選択するマルチプレクサ２６等が内蔵されている。
【００４３】
ここで、ＤＭＡ制御部２１は、上記ＤＭＡ制御部１１から受信されるコマンドに基づいて、ＲＡＭ２３へのデータ書き込みやＲＡＭ２３からのデータ読み出しにかかるメモリアクセス、並びにＡ／Ｄ変換器２５を起動してのＡ／Ｄ変換処理やその処理結果の返信等を行う部分である。これらＤＭＡ制御部１１及びＤＭＡ制御部２１の詳細、並びにそれらデータの通信構造については、後に、図２〜図１４を参照して詳述する。
【００４４】
なお、この第２のマイクロコンピュータ２にあっても、ＤＭＡ制御部２１によってＲＡＭ２３がアクセスされている期間は、同ＲＡＭ２３に対するＣＰＵ２２からの重複したアクセスが行われないよう、ＤＭＡ制御部２１からＣＰＵ２２に対してホールド要求Ｈｒｅｑが出力される。ＣＰＵ２２では、このホールド要求Ｈｒｅｑが出力されている間、メモリアクセス等を控えて待機する。
【００４５】
また前述のように、同第２のマイクロコンピュータ２において、ＣＰＵ２２によるＲＡＭ２３のアクセスは、ＤＭＡ制御部２１による上述したＲＡＭ２３へのアクセスとは非同期に実行される。
【００４６】
また、ＣＰＵ２２にあっては、このＲＡＭ２３の何処にどのようなデータが格納されているかを常に把握しており、上記ノック制御や負荷制御等に際して必要なときに、それら必要とされるデータをＲＡＭ２３から読み込み、或いはＲＡＭ２３に書き込む。
【００４７】
図２は、同第１の実施形態の装置のＤＭＡ制御部１１及びＤＭＡ制御部２１についてその具体構成を示したものであり、次に、同図２を併せ参照して、それらＤＭＡ制御部におけるデータ通信構造を更に詳述する。
【００４８】
この図２に示されるように、ＤＭＡ制御部１１は、１６ステージからなるシフトレジスタ１１１とシフトクロック発生回路１１２とを具えて構成されており、ＤＭＡ制御部２１は、同じく１６ステージからなるシフトレジスタ２１１とシリアルＩ／Ｏコントローラ２１２、及びデータセット調整レジスタ２１３を具えて構成されている。
【００４９】
ここで、これら各ＤＭＡ制御部のシフトレジスタ１１１及び２１１は、同図２に示される態様でループ状に接続されており、ＤＭＡ制御部１１側に設けられたシフトクロック発生回路１１２から出力されるシフトクロックＳＣＬＫに基づいて互いのデータが交換されるようになる。
【００５０】
すなわちこれらシフトレジスタ１１１及び２１１では、このシフトクロックＳＣＬＫの１クロック毎に、
・シフトレジスタ１１１の先頭ビット（ｂｉｔ１５）がシフトレジスタ２１１の最終ビット（ｂｉｔ０）に転送される（ＤＭＡ制御部２１からみたシリアル受信信号Ｓｉｎ）。
・シフトレジスタ２１１の先頭ビット（ｂｉｔ１５）がシフトレジスタ１１１の最終ビット（ｂｉｔ０）に転送される（ＤＭＡ制御部２１からみたシリアル送信信号Ｓｏｕｔ）。
といったシフト動作が同時に実行されるものであり、ここでの例の場合、シフトクロックＳＣＬＫが１６クロック出力されることで、それら各シフトレジスタ１１１及び２１１にセットされている１６ビット分のデータ（メッセージ）が全て交換されるようになる。
【００５１】
図３に、同クロックＳＣＬＫに基づくそれらＤＭＡ制御部１１及びＤＭＡ制御部２１でのビットデータサンプリング態様を参考までに示す。
この図３に示されるように、同実施形態の装置にあっては、シフトクロックＳＣＬＫの立下りに同期して上記ビットデータの送信が行われ、同シフトクロックＳＣＬＫの立上りに同期して当該ビットデータのサンプリングが行われる。
【００５２】
なお、ＤＭＡ制御部１１において、上記シフトレジスタ１１１にセットされる１６ビットのメッセージには、授受の対象となる通常１バイト（８ビット）からなるデータの他に、
（Ａ）ＲＡＭ２３へのデータ書き込み要求コマンド
（Ｂ）ＲＡＭ２３からのデータ読み出し要求コマンド
（Ｃ）Ａ／Ｄ変換要求コマンド
等のコマンドが含まれる。
【００５３】
一方、ＤＭＡ制御部２１において、シリアルＩ／Ｏコントローラ２１２は、上記シフトクロックＳＣＬＫに基づくいわゆるハンドシェイクでのシリアルデータ交換に際し、その受信されたメッセージの上記コマンドを解読してＲＡＭ２３や上記Ａ／Ｄ変換器２５に対するアクセスを実行する部分である。
【００５４】
また、同シリアルＩ／Ｏコントローラ２１２では、それら要求されるアクセスを終え、上記シフトレジスタ２１１に該当するデータをセットするなどその要求に応じる用意ができた時点で、処理完了信号ＥＯＣＴを上記ＤＭＡ制御部１１に対し出力する（正確にはその論理レベルを論理ハイレベルに立ち上げる）。ＤＭＡ制御部１１では、シリアルＩ／Ｏコントローラ２１２からこうして処理完了信号ＥＯＣＴが出力されることによって当該要求に応じる用意ができた旨判断し、上記シフトクロック発生回路１１２を再起動して、上記シフトレジスタ１１１にセットしたデータの転送、或いは同シフトレジスタ１１１へのデータの取り込みを行うこととなる。
【００５５】
以下に、同システムにおいて実行されるデータ通信の具体例について、上記各コマンドによる要求内容との対応のもとに順次列記する。
（Ａ）ＲＡＭ２３へのデータ書き込み要求
同システムにおいて、上記エンジン制御装置（主制御装置）を構成する第１のマイクロコンピュータ１から上記補助制御装置を構成する第２のマイクロコンピュータ２のＲＡＭ２３に対して書き込み要求されるデータとしては、例えば図４に例示するようなノック制御用のデータがある。
【００５６】
すなわち同図４において、図４（ａ）は、上記第１のマイクロコンピュータ１のＲＯＭ１４に予め登録されている
・ノック判定補正値のマップデータ
・フェイル判定レベルのマップデータ
・ゲート区間のマップデータ
等々についてその記憶構造を模式的に示したものであり、また図４（ｂ）は、それらデータの転送先（書き込み先）である上記第２のマイクロコンピュータ２のＲＡＭ２３についてそのバンク構造を模式的に示したものである。
【００５７】
同システムにあっては図４（ａ）に付記するように、上記ＲＯＭ１４に予め登録されているデータのうち、「ノック判定補正値のマップデータ」はＲＡＭ２３の「バンク０」に、「フェイル判定レベルのマップデータ」はＲＡＭ２３の「バンク１」に、「ゲート区間のマップデータ」はＲＡＭ２３の「バンク２」にそれぞれ書き込まれるものとしている。ＲＡＭ２３の「バンク３」には、例えば上述した負荷制御用のデータなどが書き込まれる。
【００５８】
なお、上記ノック制御用のデータにおいて、「ノック判定補正値のマップデータ」とは、エンジンのノック判定の際に使用される補正値についてこれをマップ化したデータである。また「フェイル判定レベルのマップデータ」とは、ノックセンサ（図示せず）の断線検出を行う際に使用される基準値（比較値）についてこれをマップ化したデータである。そして、ノック制御にあっては通常、ノックセンサの出力をピークホールドし、そのピークホールドレベルに応じた振動抑制制御を行うこととなる。「ゲート区間のマップデータ」とは、このノックセンサの出力をピークホールドする区間についてこれをマップ化したデータである。
【００５９】
図５（ａ）及び（ｂ）に、こうしたＲＡＭ２３へのデータ書き込み要求に際してＤＭＡ制御部１１を通じて上記シフトレジスタ１１１にセットされるシリアルデータのデータ構造、並びにＤＭＡ制御部２１を通じて上記シフトレジスタ２１１にセットされるシリアルデータのデータ構造をそれぞれ示す。
【００６０】
すなわち、同データ書き込み要求に際し、ＤＭＡ制御部１１からは図５（ａ）に示されるように、
・書き込み要求コマンド「０１１」（ｂｉｔ１５〜ｂｉｔ１３）
・ＲＡＭ２３内の書き込み指定バンク（ｂｉｔ１２〜ｂｉｔ９）
・ダミーデータ（ｂｉｔ８）
・上記各マップデータ等の書き込みデータ（ｂｉｔ７〜ｂｉｔ０）
といったデータ構造にて上記１６ビットからなるメッセージが送信される。
【００６１】
一方、こうしたメッセージを受信したＤＭＡ制御部２１からは、図５（ｂ）に示されるように、
・ダミーデータ（ｂｉｔ１５〜ｂｉｔ６）
・当該データ書き込みが正常終了したか否かを示す判別ビット（ｂｉｔ５）
・ダミーデータ（ｂｉｔ４）
・ＲＡＭ２３内の書き込みバンク（ｂｉｔ３〜ｂｉｔ０）
といったデータ構造にて、これも上記１６ビットからなるメッセージが返信される。なお、ｂｉｔ３〜ｂｉｔ０の「ＲＡＭ２３内の書き込みバンク」としては、上記受信メッセージのｂｉｔ１２〜ｂｉｔ９にある「ＲＡＭ２３内の書き込み指定バンク」のコピーが用いられる。
【００６２】
図６は、ＤＭＡ制御部１１とＤＭＡ制御部２１とでこうしたデータ構造を持つメッセージが授受される該データ書き込み要求時のデータ転送態様を示したものであり、次に、この図６を併せ参照して、データ書き込み要求時におけるＤＭＡ制御部１１並びにＤＭＡ制御部２１の基本動作を説明する。
【００６３】
この場合、ＤＭＡ制御部１１にあっては先のＣＰＵ１２からの指示に基づき、図５（ａ）に示したメッセージがそのシフトレジスタ１１１に予めセットされ、他方のＤＭＡ制御部２１にあっては、ダミーデータがそのシフトレジスタ２１１に予めセットされる。
【００６４】
こうした状態において、時刻ｔ１１に、シフトクロックＳＣＬＫがＤＭＡ制御部１１側から発せられたとすると（図６（ａ））、このクロックＳＣＬＫの最初の立下りに同期して上記信号ＥＯＣＴがひとまず論理ハイレベルに立ち上げられるとともに（図６（ｄ））、同クロックＳＣＬＫの１６クロック出力に基づいて、それら各シフトレジスタ１１１及び２１１にセットされているメッセージが先の図２及び図３に示される態様で交換される（図６（ｂ）及び（ｃ））。
【００６５】
その結果、ＤＭＡ制御部２１のシフトレジスタ２１１には、上記書き込み要求コマンド「０１１」をはじめ、ＲＡＭ２３内の書き込み指定バンク、並びに上記各マップデータ等からなるとする第１番目の書き込みデータ（データ１）が受信されることとなる。
【００６６】
ＤＭＡ制御部２１のシリアルＩ／Ｏコントローラ２１２では、この受信メッセージに含まれる上記書き込み要求コマンド「０１１」に基づいて当該メッセージがＲＡＭ２３への書き込み要求である旨を判断し、当該データ１をＲＡＭ２３内の指定されたバンクに書き込むなど、同要求に応ずるべく所定の処理を実行した後、図５（ｂ）に示した構造の返信メッセージをシフトレジスタ２１１にセットする。そしてその後、上記信号ＥＯＣＴを論理ハイレベルに立ち上げて、該処理が完了した旨をＤＭＡ制御部１１に通知する（図６（ｄ）時刻ｔ１３、なお同信号ＥＯＣＴは上記シフトクロックＳＣＬＫの最後の立上り（時刻ｔ１２）に同期して論理ハイレベルに立ち下げられている）。
【００６７】
他方、ＤＭＡ制御部１１では上述のように、該信号ＥＯＣＴが論理ハイレベルに立ち上げられることによって先の要求が満たされた旨判断する。そして、引き続き、図５（ａ）に示したデータ構造にて、書き込み要求コマンド「０１１」をはじめ、ＲＡＭ２３内の書き込み指定バンク、並びに第２番目の書き込みデータ（データ２）をそのシフトレジスタ１１１にセットした後、時刻ｔ１４に、シフトクロック発生回路１１２を起動して、同メッセージとＤＭＡ制御部２１のシフトレジスタ２１１にセットされている上記返信メッセージとを交換する。
【００６８】
以後は、同図６に示される態様で、上記に準じた処理が、これらＤＭＡ制御部１１及びＤＭＡ制御部２１を通じて繰り返し実行されることとなる（時刻ｔ１５、時刻ｔ１６、…）。
（Ｂ）ＲＡＭ２３からのデータ読み出し要求
同システムにおいて、上記エンジン制御装置（主制御装置）を構成する第１のマイクロコンピュータ１が上記補助制御装置を構成する第２のマイクロコンピュータ２のＲＡＭ２３から読み出し要求するデータとしては、同第２のマイクロコンピュータ２による例えば負荷状態等についての演算値がある。
【００６９】
図７（ａ）及び（ｂ）に、こうしたＲＡＭ２３からのデータ読み出し要求に際してＤＭＡ制御部１１を通じて上記シフトレジスタ１１１にセットされるシリアルデータのデータ構造、並びにＤＭＡ制御部２１を通じて上記シフトレジスタ２１１にセットされるシリアルデータのデータ構造をそれぞれ示す。
【００７０】
すなわち、同データ読み出し要求に際し、ＤＭＡ制御部１１からは図７（ａ）に示されるように、
・読み出し要求コマンド「０１０」（ｂｉｔ１５〜ｂｉｔ１３）
・ＲＡＭ２３内の読み出し指定バンク（ｂｉｔ１２〜ｂｉｔ９）
・ダミーデータ（ｂｉｔ８〜ｂｉｔ０）
といったデータ構造にて上記１６ビットからなるメッセージが送信される。
【００７１】
一方、こうしたメッセージを受信したＤＭＡ制御部２１からは、図７（ｂ）に示されるように、
・ＲＡＭ２３からの指定された読み出しデータ（ｂｉｔ１５〜ｂｉｔ８）
・ダミーデータ（ｂｉｔ７〜ｂｉｔ６）
・当該データ読み出しが正常終了したか否かを示す判別ビット（ｂｉｔ５）
・ダミーデータ（ｂｉｔ４）
・ＲＡＭ２３内の読み出しバンク（ｂｉｔ３〜ｂｉｔ０）
といったデータ構造にて、これも上記１６ビットからなるメッセージが返信される。なお、ｂｉｔ３〜ｂｉｔ０の「ＲＡＭ２３内の読み出しバンク」としても、上記受信メッセージのｂｉｔ１２〜ｂｉｔ９にある「ＲＡＭ２３内の読み出し指定バンク」のコピーが用いられる。
【００７２】
図８は、ＤＭＡ制御部１１とＤＭＡ制御部２１とでこうしたデータ構造を持つメッセージが授受される該データ読み出し要求時のデータ転送態様を示したものであり、次に、この図８を併せ参照して、データ読み出し要求時におけるＤＭＡ制御部１１並びにＤＭＡ制御部２１の基本動作を説明する。
【００７３】
この場合、ＤＭＡ制御部１１にあっては先のＣＰＵ１２からの指示に基づき、図７（ａ）に示したメッセージがそのシフトレジスタ１１１に予めセットされ、他方のＤＭＡ制御部２１にあっては、ダミーデータがそのシフトレジスタ２１１に予めセットされる。
【００７４】
こうした状態において、時刻ｔ２１に、シフトクロックＳＣＬＫがＤＭＡ制御部１１側から発せられたとすると（図８（ａ））、このクロックＳＣＬＫの最初の立下りに同期して上記信号ＥＯＣＴがひとまず論理ハイレベルに立ち上げられるとともに（図８（ｄ））、同クロックＳＣＬＫの１６クロック出力に基づいて、それら各シフトレジスタ１１１及び２１１にセットされているメッセージが先の図２及び図３に示される態様で交換される（図８（ｂ）及び（ｃ））。
【００７５】
その結果、ＤＭＡ制御部２１のシフトレジスタ２１１には、上記読み出し要求コマンド「０１０」をはじめ、ＲＡＭ２３内の読み出し指定バンクが受信されることとなる。
【００７６】
ＤＭＡ制御部２１のシリアルＩ／Ｏコントローラ２１２では、この受信メッセージに含まれる上記読み出し要求コマンド「０１０」に基づいて当該メッセージがＲＡＭ２３からの読み出し要求である旨を判断し、上記演算値からなるとする第１番目の読み出しデータ（データ１）をＲＡＭ２３内の指定されたバンクから読み出すなど、同要求に応ずるべく所定の処理を実行した後、図７（ｂ）に示した構造の返信メッセージをシフトレジスタ２１１にセットする。そしてその後、上記信号ＥＯＣＴを論理ハイレベルに立ち上げて、該処理が完了した旨をＤＭＡ制御部１１に通知する（図８（ｄ）時刻ｔ２３、なお同信号ＥＯＣＴは上記シフトクロックＳＣＬＫの最後の立上り（時刻ｔ２２）に同期して論理ハイレベルに立ち下げられている）。
【００７７】
他方、ＤＭＡ制御部１１では上述のように、該信号ＥＯＣＴが論理ハイレベルに立ち上げられることによって先の要求が満たされた旨判断する。そして、引き続き、図７（ａ）に示したデータ構造にて、読み出し要求コマンド「０１０」をはじめ、ＲＡＭ２３内の読み出し指定バンクをそのシフトレジスタ１１１にセットした後、時刻ｔ２４に、シフトクロック発生回路１１２を起動して、同メッセージとＤＭＡ制御部２１のシフトレジスタ２１１にセットされている上記返信メッセージとを交換する。この交換された返信メッセージのうち、上記読み出しデータ（データ１）は、同ＤＭＡ制御部１１を通じて、第１のマイクロコンピュータ１のＲＡＭ１３に格納される。
【００７８】
以後は、同図８に示される態様で、上記に準じた処理が、これらＤＭＡ制御部１１及びＤＭＡ制御部２１を通じて繰り返し実行されることとなる（時刻ｔ２５、時刻ｔ２６、…）。
（Ｃ）Ａ／Ｄ変換要求
同システムにおいて、上記エンジン制御装置（主制御装置）を構成する第１のマイクロコンピュータ１自身は、先の図１に示されるようにＡ／Ｄ変換器を持たない。このため、前述した燃料噴射量制御や点火時期制御に際して、例えば冷却水温等についてのセンシングデータを取り込む必要が生じた場合には、上記補助制御装置を構成する第２のマイクロコンピュータ２に対してＡ／Ｄ変換要求を発し、前記Ａ／Ｄ変換器２５を通じてＡ／Ｄ変換処理された結果を転送してもらうこととなる。
【００７９】
図９（ａ）及び（ｂ）に、こうしたＡ／Ｄ変換要求に際してＤＭＡ制御部１１を通じて上記シフトレジスタ１１１にセットされるシリアルデータのデータ構造、並びにＤＭＡ制御部２１を通じて上記シフトレジスタ２１１にセットされるシリアルデータのデータ構造をそれぞれ示す。
【００８０】
すなわち、同Ａ／Ｄ変換要求に際し、ＤＭＡ制御部１１からは図９（ａ）に示されるように、
・Ａ／Ｄ変換要求コマンド「００１」（ｂｉｔ１５〜ｂｉｔ１３）
・Ａ／Ｄ変換の指定チャネル（ｂｉｔ１２〜ｂｉｔ８）
・ダミーデータ（ｂｉｔ７〜ｂｉｔ０）
といったデータ構造にて上記１６ビットからなるメッセージが送信される。
【００８１】
一方、こうしたメッセージを受信したＤＭＡ制御部２１からは、図９（ｂ）に示されるように、
・Ａ／Ｄ変換結果（ｂｉｔ１５〜ｂｉｔ８、若しくはｂｉｔ６）
・当該Ａ／Ｄ変換が正常終了したか否かを示す判別ビット（ｂｉｔ５）
・指定されたＡ／Ｄ変換チャネル（ｂｉｔ４〜ｂｉｔ０）
といったデータ構造にて、これも上記１６ビットからなるメッセージが返信される。なお、上記「Ａ／Ｄ変換結果」は、８ビットからなるデータ（ｂｉｔ１５〜ｂｉｔ８）と１０ビットからなるデータ（ｂｉｔ１５〜ｂｉｔ６）との２種類のデータに対応できるようになっている。また、ｂｉｔ４〜ｂｉｔ０の「指定されたＡ／Ｄ変換チャネル（ｃｈ）」としては、これも上記受信メッセージのｂｉｔ１２〜ｂｉｔ８にある「Ａ／Ｄ変換の指定チャネル」のコピーが用いられる。
【００８２】
図１０は、ＤＭＡ制御部１１とＤＭＡ制御部２１とでこうしたデータ構造を持つメッセージが授受される該Ａ／Ｄ変換要求時のデータ転送態様を示したものであり、次に、この図１０を併せ参照して、Ａ／Ｄ変換要求時におけるＤＭＡ制御部１１並びにＤＭＡ制御部２１の基本動作を説明する。
【００８３】
この場合、ＤＭＡ制御部１１にあっては先のＣＰＵ１２からの指示に基づき、図９（ａ）に示したメッセージがそのシフトレジスタ１１１に予めセットされ、他方のＤＭＡ制御部２１にあっては、ダミーデータがそのシフトレジスタ２１１に予めセットされる。
【００８４】
こうした状態において、時刻ｔ３１に、シフトクロックＳＣＬＫがＤＭＡ制御部１１側から発せられたとすると（図１０（ａ））、このクロックＳＣＬＫの最初の立下りに同期して上記信号ＥＯＣＴがひとまず論理ハイレベルに立ち上げられるとともに（図１０（ｄ））、同クロックＳＣＬＫの１６クロック出力に基づいて、それら各シフトレジスタ１１１及び２１１にセットされているメッセージが先の図２及び図３に示される態様で交換される（図１０（ｂ）及び（ｃ））。
【００８５】
その結果、ＤＭＡ制御部２１のシフトレジスタ２１１には、上記Ａ／Ｄ変換要求コマンド「００１」をはじめ、Ａ／Ｄ変換の指定チャネルが受信されることとなる。
【００８６】
ＤＭＡ制御部２１のシリアルＩ／Ｏコントローラ２１２では、この受信メッセージに含まれる上記Ａ／Ｄ変換要求コマンド「００１」に基づいて当該メッセージがＡ／Ｄ変換要求である旨を判断し、前記Ａ／Ｄ変換器２５を起動してその指定されたチャネル（ｃｈ０）のＡ／Ｄ変換を行わしめ、その結果を取り込むなど、同要求に応ずるべく所定の処理を実行した後、図９（ｂ）に示した構造の返信メッセージをシフトレジスタ２１１にセットする。そしてその後、上記信号ＥＯＣＴを論理ハイレベルに立ち上げて、該処理が完了した旨をＤＭＡ制御部１１に通知する（図１０（ｄ）時刻ｔ３３、なお同信号ＥＯＣＴは上記シフトクロックＳＣＬＫの最後の立上り（時刻ｔ３２）に同期して論理ハイレベルに立ち下げられている）。
【００８７】
他方、ＤＭＡ制御部１１では上述のように、該信号ＥＯＣＴが論理ハイレベルに立ち上げられることによって先の要求が満たされた旨判断する。そして、引き続き、図９（ａ）に示したデータ構造にて、Ａ／Ｄ変換要求コマンド「００１」をはじめ、Ａ／Ｄ変換の指定チャネルをそのシフトレジスタ１１１にセットした後、時刻ｔ３４に、シフトクロック発生回路１１２を起動して、同メッセージとＤＭＡ制御部２１のシフトレジスタ２１１にセットされている上記返信メッセージとを交換する。この交換された返信メッセージのうち、上記Ａ／Ｄ変換結果（ｃｈ０のデータ）は、同ＤＭＡ制御部１１を通じて、第１のマイクロコンピュータ１のＲＡＭ１３に格納される。
【００８８】
以後は、同図１０に示される態様で、上記に準じた処理が、これらＤＭＡ制御部１１及びＤＭＡ制御部２１を通じて繰り返し実行されることとなる（時刻ｔ３５、時刻ｔ３６、…）。
ところで、これら処理のうち、特に（Ａ）の「ＲＡＭ２３へのデータ書き込み要求」や（Ｂ）の「ＲＡＭ２３からのデータ読み出し要求」においては上述のように、その１度の通信で転送することのできるデータが１バイト（８ビット）のデータとなっている。このため前述のように、例えば２バイトのデータで１つの情報が形成されるデータセットを転送しようとする場合には、同シリアル通信を２度に亘って実行する必要がある。
【００８９】
一方、上記補助制御装置を構成する第２のマイクロコンピュータ２にあって、ＣＰＵ２２によるＲＡＭ２３に対するアクセスはワード（２バイト＝１６ビット）単位で行われることもあること、しかもこのＣＰＵ２２によるＲＡＭ２３へのアクセスは上記ＤＭＡ制御部２１による同ＲＡＭ２３へのアクセスとは非同期に行われることも前述した。
【００９０】
したがって、同第２のマイクロコンピュータ２において、前記ホールド要求Ｈｒｅｑにより上記ＲＡＭ２３に対するＣＰＵ２２の重複したアクセスが制限されるとはいえ、ＤＭＡ制御部２１によって例えば第１番目のデータ（データ１）がＲＡＭ２３に書き込まれた直後、すなわちこのホールド要求Ｈｒｅｑが一旦解除された直後、ＣＰＵ２２によって同ＲＡＭ２３に対するワード単位でのアクセスが行われたような場合には、やはり先の図１９に例示したような不都合が生じることとなる。
【００９１】
そこで同実施形態の装置では、先の図２に示したように、ＤＭＡ制御部２１にデータセット調整レジスタ２１３を設け、該データセット調整レジスタ２１３を通じてそれらデータの混同を回避するようにしている。
【００９２】
図１１は、このＤＭＡ制御部２１の上記シリアルＩ／Ｏコントローラ２１２を通じて実行されるＩ／Ｏ制御ルーチン（実際にはこれと同等の処理がハードウェアによる論理演算によって実現される）を示したものであり、次に、この図１１を併せ参照して、同実施形態のＤＭＡ制御装置によるデータ転送構造を更に詳述する。
【００９３】
同図１１に示されるように、シリアルＩ／Ｏコントローラ２１２では、シフトクロックＳＣＬＫの状態に基づいてＤＭＡ制御部１１からの受信メッセージの有無を常時監視している。そして、この受信メッセージの到来があると、ステップＳ１００にて、これに含まれるコマンド（上位３ビット）を解読し、該解読したコマンドの内容に応じて、上述した
（Ａ）ＲＡＭ２３へのデータ書き込み要求
（Ｂ）ＲＡＭ２３からのデータ読み出し要求
（Ｃ）Ａ／Ｄ変換要求
にそれぞれ対応したステップＳ１１０以降の処理、ステップＳ１２０以降の処理、及びステップＳ１３０以降の処理を実行する。
【００９４】
すなわちいま、上記解読したコマンドが「ＲＡＭ２３へのデータ書き込み要求（０１１）」であったとすると、シリアルＩ／Ｏコントローラ２１２はまず、ステップＳ１１０にて、その指定されているバンクが前回指定されたバンクと同一であるか否かを判断する。
【００９５】
この結果、当該指定バンクが前回指定されたバンクと同一ではない旨判断される場合、シリアルＩ／Ｏコントローラ２１２は、その内蔵するカウンタＣＮＴに値「１」をセットし（ステップＳ１１１）、当該メッセージに含まれるデータを上記データセット調整レジスタ２１３に一時貯蔵する（ステップＳ１１２）。
【００９６】
そしてその後は、上記シフトレジスタ２１１にダミーデータをセットし（ステップＳ１１３）、処理完了信号ＥＯＣＴを論理ハイレベルに立ち上げて（ステップＳ１４０）、当該処理を一旦終える。
【００９７】
一方、上記指定バンクの比較の結果、当該指定バンクが前回指定されたバンクと同一である旨判断される場合、シリアルＩ／Ｏコントローラ２１２は、上記カウンタＣＮＴの値を「ＣＮＴ←ＣＮＴ＋１」といった態様でインクリメントする（ステップＳ１１４）。
【００９８】
そして、このインクリメントしたカウンタＣＮＴの値が奇数か偶数かを更に判断し（ステップＳ１１５）、奇数であった場合には、上記ステップＳ１１２の処理に移行する。すなわち、当該メッセージに含まれるデータを上記データセット調整レジスタ２１３に一時貯蔵し、シフトレジスタ２１１にダミーデータをセットした上で処理完了信号ＥＯＣＴを論理ハイレベルに立ち上げ、当該処理を一旦終える。
【００９９】
他方、同カウンタＣＮＴの値が偶数であった場合には、その時点で上記データセット調整レジスタ２１３に貯蔵されているデータと当該メッセージに含まれるデータとを一括してＲＡＭ２３の当該指定バンクに書き込む（ステップＳ１１６）。
【０１００】
そして、その後は同様に、上記シフトレジスタ２１１にダミーデータをセットし（ステップＳ１１７）、処理完了信号ＥＯＣＴを論理ハイレベルに立ち上げて（ステップＳ１４０）、当該処理を一旦終える。
【０１０１】
ＤＭＡ制御部２１を通じてこうした書き込み制御が繰り返されることにより、例えば図４に例示したマップデータを構成するデータのうちの各連続する奇数番目のバイトデータと偶数番目のバイトデータとは、常に２バイトの対のデータとしてＲＡＭ２３に書き込まれるようになる。
【０１０２】
このため、例えば図１２に模式的に示すように、奇数番目のデータである「新データ１」の転送が終了された直後に、ＣＰＵ２２からＲＡＭ２３に対しワードアクセスが行われたとしても、それらＣＰＵ２２に取り込まれるワードデータは何れも「旧データ」のままである。したがって、少なくともこのワードデータに基づく制御が行われたとしても、その制御に大きな矛盾を生じることはない。
【０１０３】
また一方、例えば図１３に模式的に示すように、偶数番目のデータである「新データ２」の転送が終了された後であれば、ＲＡＭ２３にはそれら対となるべく「新データ１」と「新データ２」とが常に同時に存在するようになる。したがってこの場合、ＣＰＵ２２からＲＡＭ２３に対しワードアクセスが行われたとき、同ＣＰＵ２２に取り込まれるワードデータは何れも「新データ」となる。そしてこのときには勿論、それら「新データ」に基づく制御が正常に実行されるようになる。
【０１０４】
図１１に戻り、同Ｉ／Ｏ制御ルーチンにおいて、上記解読したコマンドが「ＲＡＭ２３からのデータ読み出し要求（０１０）」であったとすると、シリアルＩ／Ｏコントローラ２１２は、ステップＳ１２０にて、その指定されているバンクが前回指定されたバンクと同一であるか否かを判断する。
【０１０５】
この結果、当該指定バンクが前回指定されたバンクと同一ではない旨判断される場合、シリアルＩ／Ｏコントローラ２１２は、その内蔵するカウンタＣＮＴに値「１」をセットする（ステップＳ１２１）。そしてその後、当該メッセージに含まれる指定バンクに基づいてＲＡＭ２３の当該バンクに格納されている２つの連続するバイトデータを読み込み、その１番目（奇数番目）のデータについてはこれを上記シフトレジスタ２１１にセットし、また２番目（偶数番目）のデータについてはこれを上記データセット調整レジスタ２１３に一時貯蔵する（ステップＳ１２２）。
【０１０６】
そしてその後は、処理完了信号ＥＯＣＴを論理ハイレベルに立ち上げて（ステップＳ１４０）、当該処理を一旦終える。
一方、上記指定バンクの比較の結果、当該指定バンクが前回指定されたバンクと同一である旨判断される場合、シリアルＩ／Ｏコントローラ２１２は、上記カウンタＣＮＴの値を「ＣＮＴ←ＣＮＴ＋１」といった態様でインクリメントする（ステップＳ１２３）。
【０１０７】
そして、このインクリメントしたカウンタＣＮＴの値が奇数か偶数かを更に判断し（ステップＳ１２４）、奇数であった場合には、上記ステップＳ１２２の処理に移行する。すなわち、当該メッセージに含まれる指定バンクに基づいてＲＡＭ２３の当該バンクに格納されている２つの連続するバイトデータを読み込み、その１番目（奇数番目）のデータについてはこれを上記シフトレジスタ２１１にセットし、また２番目（偶数番目）のデータについてはこれを上記データセット調整レジスタ２１３に一時貯蔵した上で処理完了信号ＥＯＣＴを論理ハイレベルに立ち上げ、当該処理を一旦終える。
【０１０８】
他方、同カウンタＣＮＴの値が偶数であった場合には、その時点で上記データセット調整レジスタ２１３に貯蔵されているデータを上記シフトレジスタ２１１にセットする（ステップＳ１２５）。
【０１０９】
そして、その後は同様に、処理完了信号ＥＯＣＴを論理ハイレベルに立ち上げて（ステップＳ１４０）、当該処理を一旦終える。
ＤＭＡ制御部２１を通じてこうした読み出し制御が繰り返されることにより、例えば図１４に模式的に示すように、ＲＡＭ２３に格納されているデータのうちの各連続する奇数番目のバイトデータと偶数番目のバイトデータとは、常に２バイトの対のデータとして同ＲＡＭ２３から読み出されるようになる。したがって、例えばＣＰＵ２２のワードアクセスにより、それら連続する２バイトのデータが同時に書き換えられるような場合であれ、それら読み出されるデータに矛盾が生じることもなくなる。
【０１１０】
また、図１１のＩ／Ｏ制御ルーチンにおいて、上記解読したコマンドが「Ａ／Ｄ変換要求（００１）」であった場合、シリアルＩ／Ｏコントローラ２１２は、ステップＳ１３０にて、その指定されているＡ／Ｄ変換チャネル（ｃｈ）を選択し、前記Ａ／Ｄ変換器２５を起動する。そしてその後は、そのＡ／Ｄ変換結果を上記シフトレジスタ２１１にセットし（ステップＳ１３１）、処理完了信号ＥＯＣＴを論理ハイレベルに立ち上げて（ステップＳ１４０）、当該処理を一旦終える。なおこの場合、上記データセット調整レジスタ２１３は用いられない。
【０１１１】
以上説明したように、同実施形態にかかるＤＭＡ制御装置によれば、
（イ）２バイトのデータで１つの情報が形成されるデータセットの転送に際し、同データセットを形成する一方のデータのみを対象としてＲＡＭ２３がアクセスされることはなくなる。すなわちこうしたデータセットの場合、少なくともその両方のデータが揃っていることを条件に、当該データセットを対象とする一括したメモリアクセスが行われるようになる。
（ロ）またこのため、ＣＰＵ２２からＲＡＭ２３に対して、例えばワード単位での非同期アクセスが行われる場合であれ、それらデータセット以外のデータが混同してアクセスされることはなくなり、矛盾した制御が行われるなどの不都合も自ずと解消されるようになる。
（ハ）また更に、ＲＡＭ２３に格納されているデータのうちの各連続するバイトデータも、常に２バイトの対のデータとして同ＲＡＭ２３から読み出されるようになる。したがって、例えばＣＰＵ２２のワードアクセスにより、それら連続する２バイトのデータが同時に書き換えられるような場合であれ、それら読み出されるデータに矛盾が生じることもなくなる。
（ニ）しかも、このような好適なデータ転送を実現するのに、それら授受されるメッセージ自体には何等の変更も要しない。
等々、多くの優れた効果が奏せられるようになる。
【０１１２】
なお、図１１に示したＩ／Ｏ制御ルーチンからも明らかなように、同実施形態の装置にあっては、上記データセットが偶数バイトのデータからなることを想定している。このため、例えばＲＡＭ２３へのデータ書き込み要求に際して、偶数バイトからなるデータセットについてはそれらデータの全てをＲＡＭ２３に書き込むことができるが、奇数バイトからなるデータセットの場合、或いは通信異常等によって偶数番目のデータが送られてこなかったような場合には、その最後のデータ、或いは通信異常となる直前のデータが上記データセット調整レジスタ２１３において廃棄（上書き）されてしまうことになる。ただし、そのような場合であっても、
・偶数番目のデータとしてダミーデータを別途転送する。
・偶数番目のデータであるにも拘わらずコマンド若しくは指定バンクが前回のメッセージと異なるとき、上記データセット調整レジスタ２１３に貯蔵されているデータを単独でＲＡＭ２３のそれまでの指定バンクに強制書き込みする。
等々の制御手法を併用することで、こうした不都合を解消することができるようになる。
【０１１３】
（第２実施形態）
図１５に、この発明にかかるＤＭＡ制御装置の第２の実施形態を示す。
この第２の実施形態の装置も、基本的には先の第１の実施形態の装置と同様、例えばエンジン制御用のマルチＣＰＵシステムにあって、複数バイトのデータで１つの情報が形成されるデータセットのＤＭＡ転送を適正に実現することのできる装置として構成されている。ただし、この第２の実施形態の装置にあっては、補助制御装置（第２のマイクロコンピュータ）側のＤＭＡ制御部に変更を加え、前述した可変長データをも扱うことができるようにしている。
【０１１４】
以下、先の第１の実施形態の装置との相違点を中心に、同第２の実施形態にかかる装置の構成、並びにデータ転送構造を詳述する。
さて同第２の実施形態の装置では、図１５に示されるように、第２のマイクロコンピュータに配されるＤＭＡ制御部２１’が、前記データセット調整レジスタ２１３に加え、バイト長メモリ２１４を具える構成となっている。
【０１１５】
このバイト長メモリ２１４とは、第１のマイクロコンピュータ側のＤＭＡ制御部１１とこのＤＭＡ制御部２１’との間で転送されるデータセットが何バイトのデータからなるかを示す情報、すなわちデータセットのバイト長情報ＢＬが格納されるメモリである。
【０１１６】
同ＤＭＡ制御部２１’の場合、シリアルＩ／Ｏコントローラ２１２では、このバイト長メモリ２１４に格納されているバイト長情報ＢＬを併せ参照して、上記データセット調整レジスタ２１３の操作、並びにＲＡＭ２３のアクセスを実行することとなる。
【０１１７】
図１６は、このＤＭＡ制御部２１’の上記シリアルＩ／Ｏコントローラ２１２を通じて実行されるＩ／Ｏ制御ルーチン（これも実際には、これと同等の処理がハードウェアによる論理演算によって実現される）を示したものであり、次に、この図１６を併せ参照して、同実施形態のＤＭＡ制御装置によるデータ転送構造を更に詳述する。
【０１１８】
同図１６に示されるように、シリアルＩ／Ｏコントローラ２１２ではこの場合も、シフトクロックＳＣＬＫの状態に基づいてＤＭＡ制御部１１からの受信メッセージの有無を常時監視している。そして、この受信メッセージの到来があると、ステップＳ２００にて、これに含まれるコマンド（上位３ビット）を解読し、該解読したコマンドの内容に応じて、前述した
（Ａ）ＲＡＭ２３へのデータ書き込み要求
（Ｂ）ＲＡＭ２３からのデータ読み出し要求
（Ｃ）Ａ／Ｄ変換要求
にそれぞれ対応したステップＳ２１０以降の処理、ステップＳ２２０以降の処理、及びステップＳ２３０以降の処理を実行する。
【０１１９】
すなわちいま、上記解読したコマンドが「ＲＡＭ２３へのデータ書き込み要求（０１１）」であったとすると、シリアルＩ／Ｏコントローラ２１２はまず、ステップＳ２１０にて、その指定されているバンクが前回指定されたバンクと同一であるか否かを判断する。
【０１２０】
この結果、当該指定バンクが前回指定されたバンクと同一ではない旨判断される場合、シリアルＩ／Ｏコントローラ２１２は、その内蔵するカウンタＣＮＴに値「１」をセットし（ステップＳ２１１）、当該メッセージに含まれるデータを上記データセット調整レジスタ２１３に一時貯蔵する（ステップＳ２１２）。
【０１２１】
そしてその後は、前記シフトレジスタ２１１にダミーデータをセットし（ステップＳ２１３）、処理完了信号ＥＯＣＴを論理ハイレベルに立ち上げて（ステップＳ２４０）、当該処理を一旦終える。
【０１２２】
一方、上記指定バンクの比較の結果、当該指定バンクが前回指定されたバンクと同一である旨判断される場合、シリアルＩ／Ｏコントローラ２１２は、上記カウンタＣＮＴの値を「ＣＮＴ←ＣＮＴ＋１」といった態様でインクリメントする（ステップＳ２１４）。
【０１２３】
そして同実施形態の装置の場合、このインクリメントしたカウンタＣＮＴの値が上記バイト長メモリ２１４に格納されているバイト長情報ＢＬの倍数か否かを更に判断し（ステップＳ２１５）、倍数でなかった場合には、上記ステップＳ２１２の処理に移行する。すなわち、当該メッセージに含まれるデータを上記データセット調整レジスタ２１３に一時貯蔵し、シフトレジスタ２１１にダミーデータをセットした上で処理完了信号ＥＯＣＴを論理ハイレベルに立ち上げ、当該処理を一旦終える。
【０１２４】
他方、同カウンタＣＮＴの値がバイト長情報ＢＬの倍数であった場合には、その時点で上記データセット調整レジスタ２１３に貯蔵されているデータ群と当該メッセージに含まれるデータとを一括してＲＡＭ２３の当該指定バンクに書き込む（ステップＳ２１６）。
【０１２５】
そして、その後は同様に、上記シフトレジスタ２１１にダミーデータをセットし（ステップＳ２１７）、処理完了信号ＥＯＣＴを論理ハイレベルに立ち上げて（ステップＳ２４０）、当該処理を一旦終える。
【０１２６】
ＤＭＡ制御部２１’を通じてこうした書き込み制御が繰り返されることにより、例えば先の図４に例示したマップデータを構成するデータのうちの各連続して１つの情報を形成するバイトデータ群は、常にそれらがセットとしてＲＡＭ２３に書き込まれるようになる。
【０１２７】
このため、例えば図１７に模式的に示すように、上記バイト長メモリ２１４に格納されているバイト長情報ＢＬが「４」であった場合には、「新データ１」〜「新データ３」までが上記データセット調整レジスタ２１３に順次一時貯蔵され、「新データ４」が受信されたとき、これら「新データ１」〜「新データ４」からなる４バイト（３２ビット）のデータセットが一括してＲＡＭ２３に書き込まれるようになる。したがって、もしも前記ＣＰＵ２２によってこのＲＡＭ２３に対するワードアクセスが行われる場合であれ、この場合も「新データ」と「旧データ」とが混同されることなく、適正に取り込まれるようになる。
【０１２８】
また、図１６に示すＩ／Ｏ制御ルーチンにおいて、上記解読したコマンドが「ＲＡＭ２３からのデータ読み出し要求（０１０）」であったとすると、シリアルＩ／Ｏコントローラ２１２は、ステップＳ２２０にて、その指定されているバンクが前回指定されたバンクと同一であるか否かを判断する。
【０１２９】
この結果、当該指定バンクが前回指定されたバンクと同一ではない旨判断される場合、シリアルＩ／Ｏコントローラ２１２は、その内蔵するカウンタＣＮＴに値「１」をセットする（ステップＳ２２１）。そしてその後、上記バイト長メモリ２１４に格納されているバイト長情報ＢＬの参照のもとに、ＲＡＭ２３の当該指定バンクからＢＬバイトのデータ群（データセット）を一括して読み込む。そして、その１番目のデータについてはこれを上記シフトレジスタ２１１にセットし、また２番目以降のデータについてはこれをその順番に従って上記データセット調整レジスタ２１３に一時貯蔵する（ステップＳ２２２）。
【０１３０】
そしてその後は、処理完了信号ＥＯＣＴを論理ハイレベルに立ち上げて（ステップＳ２４０）、当該処理を一旦終える。
一方、上記指定バンクの比較の結果、当該指定バンクが前回指定されたバンクと同一である旨判断される場合、シリアルＩ／Ｏコントローラ２１２は、上記カウンタＣＮＴの値を「ＣＮＴ←ＣＮＴ＋１」といった態様でインクリメントする（ステップＳ２２３）。
【０１３１】
そして、このインクリメントしたカウンタＣＮＴの値が上記バイト長情報ＢＬの「倍数＋１」か否かを更に判断し（ステップＳ２２４）、該バイト長情報ＢＬの「倍数＋１」であった場合には、上記ステップＳ２２２の処理に移行する。
【０１３２】
他方、同カウンタＣＮＴの値が上記バイト長情報ＢＬの「倍数＋１」ではなかった場合には、上記データセット調整レジスタ２１３に貯蔵されている当該データセットの２番目以降のデータを、同一ルーチンが繰り返される都度、順番に上記シフトレジスタ２１１にセットする（ステップＳ２２５）。
【０１３３】
そして、その後は同様に、処理完了信号ＥＯＣＴを論理ハイレベルに立ち上げて（ステップＳ２４０）、当該処理を一旦終える。
ＤＭＡ制御部２１’を通じてこうした読み出し制御が実行されることにより、ＲＡＭ２３に格納されているバイトデータがそれらデータセットを単位として一括して同ＤＭＡ制御部２１’に読み込まれるようになる。
【０１３４】
このため、例えば図１８に模式的に示すように、上記バイト長メモリ２１４に格納されているバイト長情報ＢＬが「４」であった場合には、ＲＡＭ２３に格納されているデータのうちの各連続する４バイトからなるデータセットが一括してＤＭＡ制御部２１’に読み込まれることとなる。したがってこの場合も、例えばＣＰＵ２２のワードアクセスにより、それら連続するデータ群が同時に書き換えられるような場合であれ、それら読み出されるデータに矛盾が生じることはなくなる。
【０１３５】
なお、この図１６のＩ／Ｏ制御ルーチンにおいても、上記解読したコマンドが「Ａ／Ｄ変換要求（００１）」であった場合には、ステップＳ２３０にて、その指定されているＡ／Ｄ変換チャネル（ｃｈ）の選択、並びにＡ／Ｄ変換器２５の起動が行われ、ステップＳ２３１にて、そのＡ／Ｄ変換結果が上記シフトレジスタ２１１にセットされる。
【０１３６】
以上説明したように、同第２の実施形態にかかるＤＭＡ制御装置によれば、先の実施形態での効果に加えて、
（ホ）如何なるバイト長からなるデータセットについても、それらデータが揃っていることを条件に同データセットを対象とする一括したメモリアクセスが行われるようになる。
（ヘ）したがってこの場合も、ＣＰＵ２２からＲＡＭ２３に対して例えばワード単位での非同期アクセスが行われる場合であれ、それらデータセット以外のデータが混同してアクセスされることはなくなる。
など、同ＤＭＡ制御装置として更に望ましい効果が奏せられるようになる。
【０１３７】
なお、同第２の実施形態の装置において、上記バイト長メモリ２１４に格納されるバイト長情報ＢＬの設定手法は任意であり、少なくとも同バイト長情報ＢＬが外部から可変設定されるようにすることで、前述した可変長データについてもそれらデータセットを対象とする柔軟且つ効率のよいメモリアクセスが行われるようになる。
【０１３８】
またこの場合、特に
・バイト長メモリ２１４に格納されるバイト長情報ＢＬは、前記シリアル通信されるデータに先立ち、同シリアル通信されるデータの１つとして、ＤＭＡ制御部１１からその旨示す適宜のコマンド（例えば「１１１」等、前記（Ａ）〜（Ｃ）の各コマンドとは異なるコマンド）と共にＤＭＡ制御部２１’に転送される。
・ＤＭＡ制御部２１’のシリアルＩ／Ｏコントローラ２１２では、該バイト長情報ＢＬが受信される都度これをバイト長メモリ２１４に更新登録する。
といった構成を採用すれば、同バイト長情報ＢＬを外部から可変設定するための手段を特に設けずとも、当該シリアル通信系をそのまま流用してその可変設定を行うことができるようになる。
【０１３９】
しかも同構成では、転送対象となるデータセットのバイト長を変更するときにのみ上記バイト長情報ＢＬを転送すればよく、少なくとも前述したスタートデータやエンドデータを付与する場合に比べてその処理負荷は大きく軽減される。
【０１４０】
またこの場合、上記バイト長情報ＢＬには別途のコマンドが付与されて転送されることから、転送対象となるデータと該バイト長情報ＢＬとが混同されることもない。すなわち、データとして用いることのできる値に制限が加わることは一切ない。
【０１４１】
また一方、上記バイト長メモリ２１４に設定されるバイト長情報ＢＬは固定であってもよい。
この場合、可変長データを扱うことはできないが、固定されたバイト長を単位としてデータ転送が行われるシステムにとっては、極めて簡易な構成にてこうしたデータセットを対象とする一括したメモリアクセスが行われるようになる。
【０１４２】
また、以上では説明の便宜上、先の図１９に例示したようなデータ混同を回避する場合について説明したが、この発明にかかるＤＭＡ制御装置の上記構成が、先の図２０に例示したような、更に多くのマイクロコンピュータ間で処理速度（通信速度）の異なるＤＭＡ制御部を介してデータ転送が行われる場合にも有効であることは云うまでもない。
【０１４３】
更にはまた、上記実施形態の装置では何れも、そのデータ通信（データ交換）方式としてシリアルデータによるハンドシェイク通信を採用した。このため、より少ない配線（通信線）に基づく高速なデータ通信が実現されるようになる。ただし、同データ通信方式として、必ずしもこのような通信方式だけが有効であるとは限らない。他に例えば、データを一旦受け取ってから送信データを返すいわゆる全２重通信インターフェースを利用したシリアル通信回路なども適宜採用することができる。
【０１４４】
また、同じく上記各実施形態の装置では、マルチＣＰＵシステムとして、車載用エンジンの電子制御装置を例にとったが、この発明にかかるＤＭＡ制御装置がこのようなエンジン制御システムに限定されるものでないことは勿論である。
【０１４５】
すなわち、複数のＣＰＵ或いはメモリにて入出力装置を非同期的に共有しつつその分担された処理を実行するシステムであれば、他の如何なるシステムについても、この発明にかかるＤＭＡ制御装置を適用することはできる。
【図面の簡単な説明】
【図１】この発明のＤＭＡ制御装置の第１の実施形態を示すブロック図。
【図２】同実施形態のＤＭＡ制御部の具体構成を示すブロック図。
【図３】同ＤＭＡ制御部でのデータ取り込み態様を示すタイムチャート。
【図４】ＤＭＡ制御において転送対象となるデータ例を示す略図。
【図５】データ書き込み要求時のシリアルデータ構造例を示す略図。
【図６】データ書き込み要求時のデータ転送態様を示すタイムチャート。
【図７】データ読み出し要求時のシリアルデータ構造例を示す略図。
【図８】データ読み出し要求時のデータ転送態様を示すタイムチャート。
【図９】Ａ／Ｄ変換要求時のシリアルデータ構造例を示す略図。
【図１０】Ａ／Ｄ変換要求時のデータ転送態様を示すタイムチャート。
【図１１】ＤＭＡ制御部のＩ／Ｏ制御ルーチンを示すフローチャート。
【図１２】同Ｉ／Ｏ制御によるデータ書き込み態様を模式的に示す略図。
【図１３】同Ｉ／Ｏ制御によるデータ書き込み態様を模式的に示す略図。
【図１４】同Ｉ／Ｏ制御によるデータ読み出し態様を模式的に示す略図。
【図１５】この発明のＤＭＡ制御装置の第２の実施形態を示すブロック図。
【図１６】同実施形態のＩ／Ｏ制御ルーチンを示すフローチャート。
【図１７】同Ｉ／Ｏ制御によるデータ書き込み態様を模式的に示す略図。
【図１８】同Ｉ／Ｏ制御によるデータ読み出し態様を模式的に示す略図。
【図１９】従来のＤＭＡによるデータ書き込み態様を模式的に示す略図。
【図２０】従来のＤＭＡによるデータ書き込み態様を模式的に示す略図。
【符号の説明】
１…第１マイクロコンピュータ、１１…ＤＭＡ制御部、１１１…シフトレジスタ、１１２…シフトクロック発生回路、１２…ＣＰＵ、１３…ＲＡＭ、１４…ＲＯＭ、２…第２マイクロコンピュータ、２１…ＤＭＡ制御部、２１１…シフトレジスタ、２１２…シリアルＩ／Ｏコントローラ、２１３…データセット調整レジスタ、２１４…バイト長メモリ、２２…ＣＰＵ、２３…ＲＡＭ、２４…ＲＯＭ、２５…Ａ／Ｄ変換器、２６…マルチプレクサ、２７…ＤＭＡ制御部、２８…遅いＤＭＡ制御部、２９…速いＤＭＡ制御部、３…第３マイクロコンピュータ、３１…速いＤＭＡ制御部、３２…ＣＰＵ、３３…ＲＡＭ。
【図１】
0003562126.tif 000002
【図２】
0003562126.tif 000003
【図３】
0003562126.tif 000004
【図４】
0003562126.tif 000005
【図５】
0003562126.tif 000006
【図６】
0003562126.tif 000007
【図７】
0003562126.tif 000008
【図８】
0003562126.tif 000009
【図９】
0003562126.tif 000010
【図１０】
0003562126.tif 000011
【図１１】
0003562126.tif 000012
【図１２】
0003562126.tif 000013
【図１３】
0003562126.tif 000014
【図１４】
0003562126.tif 000015
【図１５】
0003562126.tif 000016
【図１６】
0003562126.tif 000017
【図１７】
0003562126.tif 000018
【図１８】
0003562126.tif 000019
【図１９】
0003562126.tif 000020
【図２０】
0003562126.tif 000021