JP3562126B2 - Dma制御装置 - Google Patents

Dma制御装置 Download PDF

Info

Publication number
JP3562126B2
JP3562126B2 JP08648396A JP8648396A JP3562126B2 JP 3562126 B2 JP3562126 B2 JP 3562126B2 JP 08648396 A JP08648396 A JP 08648396A JP 8648396 A JP8648396 A JP 8648396A JP 3562126 B2 JP3562126 B2 JP 3562126B2
Authority
JP
Japan
Prior art keywords
data
write
data set
read
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP08648396A
Other languages
English (en)
Other versions
JPH09282265A (ja
Inventor
隆芳 本多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP08648396A priority Critical patent/JP3562126B2/ja
Priority to US08/833,005 priority patent/US6115757A/en
Publication of JPH09282265A publication Critical patent/JPH09282265A/ja
Application granted granted Critical
Publication of JP3562126B2 publication Critical patent/JP3562126B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、例えばエンジン制御などに用いられる複数の電子制御装置間で授受されるデータのメモリアクセスを制御するDMA(ダイレクトメモリアクセス)制御装置に関し、特に所定バイト単位でシリアル通信されるデータの複数によって1つの情報が形成されるデータセットを扱う上で有益なデータアクセス構造の具現に関する。
【0002】
【従来の技術】
近年のエンジン制御をとりまく法規制(排気ガス規制等)の強化や燃費の低減化、診断処理の複雑化等に伴い、その電子制御装置としても1つの電子制御装置にて全ての制御や処理を統括的に行う方向から、複数の電子制御装置にてそれら制御や処理を分散して、すなわち機能分担して行う方向に移行しつつある。
【0003】
因みに、エンジン制御をこのような複数の電子制御装置にて機能分担して行う場合、エンジン各部に配設されたセンサによって検出される冷却水温情報や空気流量情報、回転数情報、等々を各電子制御装置に取り込むとともに、それら情報に応じた燃料噴射量や点火時期等に関する演算、並びに対応するアクチュエータの駆動制御等をそれら電子制御装置にて各別に実行することとなる。
【0004】
ただし、上記複数の電子制御装置の各々にそれら必要とされる情報を各別に取り込んだのでは入力ポート数が増大して、入力回路の複雑化を招く。
そこで従来は、それら電子制御装置で共通に必要とされる情報については1つの制御装置に代表して取り込み、これを適宜の通信手段によって他の制御装置に転送するなどの手法を講じている。
【0005】
そして一般に、こうした制御装置間でのデータ通信には、それら制御装置のCPUに演算負担をかけることなく直接メモリをアクセスすることのできるDMA(ダイレクトメモリアクセス)制御方式が採用されている。
【0006】
因みにこのDMA制御方式において、一方の電子制御装置から他方の電子制御装置に対してデータの転送を行う場合、基本的には、以下に列記するような処理が実行される。
(1)送信側電子制御装置のCPUがそのDMA制御部を起動してマップデータ等、所望データの転送を指示する。
(2)起動されたDMA制御部では、同制御装置内のROM(読み出し専用メモリ)若しくはRAM(ランダムアクセスメモリ)に格納されている当該データを順次読み込みつつ、これをシフトクロックに基づき受信側電子制御装置のDMA制御部にシリアル送信する。なお、この送信されるデータには、書き込みを指示するコマンドとともにそれぞれその書き込み先(受信側電子制御装置のRAMのバンク情報)が添付される。
(3)受信側電子制御装置のDMA制御部では、この受信されたコマンドに基づいて当該データが書き込み指示されたデータである旨認識し、同じく受信された書き込み先(RAM内の指定されたバンク)に当該データを書き込む。なおこの際、同一の書き込み先をもつ複数のデータが転送される場合には、それら複数のデータがその指定されたバンクに順番に書き込まれるようになる。
【0007】
このように、DMA制御方式による電子制御装置間でのデータ転送にあっては通常、シリアル通信の開始・停止等の主導権は、送信側の一方の電子制御装置におかれる。また、受信側の電子制御装置において、CPUによるRAMアクセスは、DMA制御部によるこうしたRAMアクセスとは非同期に実行される。
【0008】
【発明が解決しようとする課題】
ところで、上記DMA制御方式によるシリアル通信に際してその1度の通信で転送できるデータは通常、1バイト(8ビット)のデータである。したがって、例えば2バイトのデータで1つの情報が形成されるデータセットを転送しようとする場合には、同シリアル通信を2度行う必要がある。そしてそのような場合、受信側電子制御装置のDMA制御部においても、こうしたデータセットをRAMに書き込むためには、2度に亘って同RAMをアクセスする必要がある。
【0009】
一方、上記電子制御装置を構成するマイクロコンピュータにあって、CPUによるRAMアクセスは、バイト単位でのアクセスもあれば、ワード(2バイト=16ビット)単位でのアクセスもある。これらアクセス単位は、同CPUがその都度実行するプログラムの内容に応じて随時決定される。
【0010】
ところが上述のように、受信側の電子制御装置においては、これらDMA制御部によるRAMアクセスとCPUによるRAMアクセスとが非同期に実行されることから、RAMに対するそれらアクセスのタイミングによっては、図19に例示するような不都合が生じることともなっている。
【0011】
すなわちこの図19は、送信側の電子制御装置を構成する第1のマイクロコンピュータ1から受信側の電子制御装置を構成する第2のマイクロコンピュータ2のRAM23に対し、DMA制御部27を介してデータ1の書き込みが行われた直後、同第2のマイクロコンピュータ2のCPU22によってこのRAM23に対するワード単位でのアクセスが行われた様子を模式的に示している。
【0012】
このとき、上記RAM23に書き込まれるデータが、例えば上述した2バイトのデータで1つの情報が形成されるデータセットであったとすると、CPU22がこのRAM23から取り込むデータは、同図19に示されるように、更新された「新データ1」と更新される前の「旧データ2」とが混同されたデータセットとなる。そして、このデータセットが例えばマップデータであって、マップ内容がこれら「新データ」と「旧データ」とで大きく変更されているような場合には、それに基づき制御される内容にも矛盾が生じることとなる。
【0013】
またこのような問題は、更に多くのマイクロコンピュータ間において処理速度(通信速度)の異なるDMA制御部を介してデータ転送が行われる場合にも発生する。
【0014】
すなわち図20に例示するように、第1のマイクロコンピュータ1から第2のマイクロコンピュータ2へは処理速度の遅いDMA制御部28を介してデータの転送を行い、第2のマイクロコンピュータ2から第3のマイクロコンピュータ3へは処理速度の速いDMA制御部29及び31を介してデータの転送行うような場合には、
・第1のマイクロコンピュータ1からRAM23に対し、遅いDMA制御部28を介してデータ1の更新が行われる。
・その後、データ2の更新が行われる以前に、速いDMA制御部29及び31によって、その更新された「新データ1」及び更新以前の「旧データ2」がRAM23からRAM33に順次転送される。
といった態様でそれらデータの転送が行われることもある。そしてそのような場合、上記RAM33には、一時的ではあれ、これら「新データ1」と「旧データ2」とが混同して格納されるようになる。
【0015】
したがって、ここでもそれら転送されるデータが上述した2バイトのデータで1つの情報が形成されるデータセットであり、またCPU32でも、このRAM33に対しワード単位でのアクセスを行うような場合には、上記と同様、やはり何らかの矛盾が生じることとなる。
【0016】
なお従来、例えば特開平7−13897号公報に記載の装置のように、
・2バイトのデータで1つの情報が形成されるデータセットについてそれら1バイトのデータ毎にインデックスを付与する。
或いは特開平5−173935号公報に記載の方法のように、
・複数バイトのデータで1つの情報が形成されるデータセットを、スタートデータとエンドデータとで挟み込む。
等々によってそれらデータセットの判別を可能とした技術も確かに知られてはいる。
【0017】
しかし、前者の技術の場合、送信するデータに対して毎回インデックスを付与しなければならず、また受信する側でも常にこの付与されたインデックスを参照しなければならないなど、データ転送にかかる処理負荷が増大する不都合がある。しかもこの手法では、例えば2バイトのデータで1つの情報が形成されるデータセットと4バイトのデータで1つの情報が形成されるデータセットとが混在して転送されるようないわゆる可変長データを扱うこともできない。
【0018】
一方、後者の技術の場合、上記可変長データを扱うことはできるものの、やはりこの場合も、それらデータセット毎にスタートデータとエンドデータとを付与する必要があるとともに、CPU側でこれらスタートデータやエンドデータをチェックしなければならず、データ転送にかかる処理負荷は確実に増大する。またこの場合、データそのものにこれらスタートデータやエンドデータと同一の値を用いることができないなどの制限もある。
【0019】
この発明は、こうした実情に鑑みてなされたものであり、複数バイトのデータで1つの情報が形成されるデータセットであれ、それらデータが混同されることなく、しかも効率よく、これを転送することのできるDMA制御装置を提供することを目的とする。
【0020】
またこの発明は、可変長データについても、スタートデータやエンドデータの付与を不要として、これを確実、且つ効率よく転送することのできるDMA制御装置を提供することを目的とする。
【0021】
【課題を解決するための手段】
こうした目的を達成するため、この発明では、所定バイト長の複数のデータによって形成されるデータセットを、前記データ単位でシリアル通信してメモリに書き込み、若しくはメモリから読み出すDMA制御装置として、請求項1に記載したように、
(a)前記データセットを形成するデータの数n(nは自然数)より一つ少ない数のデータが一時貯蔵されるデータセット調整レジスタ。
(b)このレジスタに貯蔵される第1番目〜第(n−1)番目のデータと第n番目にシリアル通信されるデータとで形成されるデータセットにて前記メモリを一括アクセスする制御手段。
をそれぞれ具える構成とする。
【0022】
DMA制御装置としてのこのような構成によれば、例えば前述した2バイトのデータで1つの情報が形成されるデータセットの転送に際し、同データセットを形成する一方のデータのみを対象として上記メモリ(通常はRAM)がアクセスされることはなくなる。すなわちこうしたデータセットの場合、少なくともその両方のデータが揃っていることを条件に、当該データセットを対象とする一括したメモリアクセスが行われるようになる。
【0023】
したがって、前述したCPU等から同メモリに対して、例えばワード単位での非同期アクセスが行われる場合であれ、それらデータセット以外のデータが混同してアクセスされることはなくなり、矛盾した制御が行われるなどの不都合も自ずと解消されるようになる。
【0026】
一方、上記データセット調整レジスタ、及び制御手段に更に加えて、
(c)前記データセットを形成するデータの数として記憶されているバイト長メモリ。
を併せ具えるとともに、上記制御手段を、
(b3)前記バイト長メモリに記憶された値より一つ少ない数のデータを前記データセット調整レジスタに一時貯蔵し、同貯蔵されるデータと当該シリアル通信されるデータとのデータセットにて前記メモリを一括アクセスするもの。
として構成すれば、如何なるバイト長からなるデータセットについても、それらデータが揃っていることを条件に、同データセットを対象とする一括したメモリアクセスが行われるようになる。
【0027】
したがってこの場合も、CPU等から同メモリに対して、例えばワード単位での非同期アクセスが行われる場合であれ、それらデータセット以外のデータが混同してアクセスされることはなくなり、矛盾した制御が行われるなどの不都合も解消されるようになる。
【0028】
なおこの場合、例えば請求項2記載の発明によるように、
(c1)上記バイト長メモリに記憶される前記データセットを形成するデータの数nを固定値とする。
といった構成によれば、固定されたバイト長を単位としてデータ転送が行われるシステムにとっては、極めて簡易な構成にてこうしたデータセットを対象とする一括したメモリアクセスが行われるようになり、また請求項記載の発明によるように、
(c2)上記バイト長メモリに記憶される前記データセットを形成するデータの数nは外部から可変設定される。
といった構成によれば、前述した可変長データについても、それらデータセットを対象とする柔軟且つ効率のよいメモリアクセスが行われるようになる。
【0029】
そして、特にこの請求項3記載の発明に関しては、更に請求項4記載の発明によるように、
(c21)前記バイト長メモリに記憶される前記データセットを形成するデータの数nは、前記シリアル通信されるデータに先立ち、同シリアル通信されるデータの1つとしてその旨示す適宜のコマンドと共に転送される。
(b31)前記制御手段は、前記データセットを形成するデータの数nが受信される都度これを前記バイト長メモリに更新登録する。
といった構成によって、上記データセットを形成するデータの数nを外部から可変設定するための手段を特に設けずとも、当該シリアル通信系をそのまま流用して同データセットを形成するデータの数nの可変設定を行うことができるようになる。
【0030】
しかも同構成では、転送対象となるデータセットのバイト長を変更するときにのみ上記データセットを形成するデータの数nを転送すればよく、少なくとも前述したスタートデータやエンドデータを付与する場合に比べてその処理負荷は大きく軽減される。
【0031】
またこの場合、上記データセットを形成するデータの数nには別途のコマンドが付与されて転送されることから、転送対象となるデータと該データセットを形成するデータの数nとが混同されることもない。
すなわち、データとして用いることのできる値に制限が加わるようなことも一切ない。
【0032】
なお、前記データが1バイト単位でシリアル通信されるとき、請求項5記載の発明によるように、上記制御手段を、
(b4)第1番目から第(n−1)番目まで受信されるデータを順次前記データセット調整レジスタに一時貯蔵しつつ、これを第n番目に受信されるデータと共に一括して前記メモリに書き込み制御するもの。
として構成することで、この場合もそれらデータが混同されることなく、しかも効率のよいメモリへのデータセット書き込み処理が実現されるようになる。
【0033】
また、同じく前記データが1バイト単位でシリアル通信されれるとき、請求項6記載の発明によるように、上記制御手段を、
(b5)前記メモリからnバイトのデータセットを一括して読み込むとともにその第2番目から第n番目のデータを前記データセット調整レジスタに一時貯蔵し、第1番目のデータを送信した後、該貯蔵した第2番目から第n番目のデータを順次送信するもの。
として構成することで、上述同様、それらデータが混同されずに且つ効率のよいメモリからのデータセット読み出し処理が実現されるようになる。
また、請求項7記載の発明は、書き込み要求コマンドと書き込み指定バンクと書き込みデータとからなるシリアルデータを受信するマイクロコンピュータと、前記書き込み指定バンクに前記書き込みデータを記憶するメモリと、カウンタと、該カウンタを制御する制御手段と、前記書き込みデータを一時貯蔵するデータセット調整レジスタとを具え、前記制御手段は、前記書き込み指定バンクが、前回指定された書き込み指定バンクと異なる場合には前記カウンタに1をセットし、前記書き込み指定バンクが、前回指定された書き込み指定バンクと同一である場合には前記カウンタをインクリメントし、前記マイクロコンピュータは、前記カウンタが奇数の場合には今回受信された前記書き込みデータを前記データセット調整レジスタに一時貯蔵し、前記カウンタが偶数の場合には前記データセット調整レジスタの値と今回受信された前記書き込みデータとを一括して前記メモリ内の指定された前記書き込み指定バンクへ書き込むことを要旨とする。
そして、請求項8記載の発明は、読み出し要求コマンドと読み出し指定バンクとからなるシリアルデータを受信するとともに、前記読み出し指定バンクにより指定されたデータを読み出しデータとして出力するマイクロコンピュータと、前記読み出し指定バンクに前記読み出しデータを記憶するメモリと、カウンタと、該カウンタを制御する制御手段と、前記読み出しデータを一時貯蔵するデータセット調整レジスタとを具え、前記制御手段は、前記読み出し指定バンクが、前回指定された読み出し指定バンクと異なる場合には前記カウンタに1をセットし、前記読み出し指定バンクが、前回指定された読み出し指定バンクと同一である場合には前記カウンタをインクリメントし、前記マイクロコンピュータは、前記カウンタが奇数の場合には前記読み出し指定バンクに格納されている2つの連続するデータを読み込み、該2つの連続するデータのうち1番目のデータを前記読み出しデータとして出力するとともに2番目のデータを前記データセット調整レジスタに一時貯蔵し、前記カウンタが偶数の場合には前記データセット調整レジスタの値を前記読み出しデータとして出力することを要旨とする。
【0034】
【発明の実施の形態】
(第1実施形態)
図1に、この発明にかかるDMA(ダイレクトメモリアクセス)制御装置についてその第1の実施形態を示す。
【0035】
この第1の実施形態の装置は、例えばエンジン制御用のマルチCPUシステムにあって、前述したDMA方式によるバイトデータを単位としてのシリアル通信に際し、2バイトのデータで1つの情報が形成されるデータセットが転送される場合であっても、それらデータが混同されることなくメモリへの書き込み、或いはメモリからの読み出しを行うことのできる装置として構成されている。
【0036】
はじめに、図1を参照して、同実施形態の装置が適用されるエンジン制御用のマルチCPUシステムについてその全体の構成を説明する。
同システムにおいて、エンジン制御装置としての主制御装置を構成する第1のマイクロコンピュータ1は、エンジン(図示せず)の燃料噴射量制御や点火時期制御等、エンジンの運転状態を直接制御するマイクロコンピュータである。
【0037】
該第1のマイクロコンピュータ1には、以下に説明する補助制御装置としての第2のマイクロコンピュータ2との間で前述したDMA方式によるデータ通信を行うDMA制御部11をはじめ、上記制御量としての燃料噴射量や点火時期等を演算するCPU12、主にデータメモリとして用いられるRAM13、そして主にプログラムメモリとして用いられるROM14等が内蔵されている。
【0038】
ここで、上記DMA制御部11は、CPU12によって起動されることによりRAM13やROM14に格納されているデータを第2のマイクロコンピュータ2に転送したり、同第2のマイクロコンピュータ2から必要なデータを取り込む部分である。
【0039】
なお、該DMA制御部11によってこれらRAM13やROM14がアクセスされている期間は、それらメモリに対するCPU12からの重複したアクセスが行われないよう、同DMA制御部11からCPU12に対してホールド要求Hreqが出力される。CPU12では、該ホールド要求Hreqが出力されている間、メモリアクセス等を控えて待機する。
【0040】
またCPU12は、上記RAM13やROM14はもとより、第2のマイクロコンピュータ2の後述するRAM23についても、その何処にどのようなデータが格納されているかを把握している。
【0041】
一方、補助制御装置としての第2のマイクロコンピュータ2は、エンジンに取り付けられた各種センサ(図示せず)からそれらセンシングデータを取り込むとともに、例えばノック制御や負荷制御等の補助的な制御を主に実行するマイクロコンピュータである。
【0042】
この第2のマイクロコンピュータ2には、上記第1のマイクロコンピュータ1のDMA制御部11との間でデータ通信を行うDMA制御部21をはじめ、上記ノック制御や負荷制御にかかる制御量を演算するCPU22、主にデータメモリとして用いられるRAM23、プログラムメモリとして用いられるROM24、更には水温センサや吸気温センサ、エアフローメータなどによるアナログセンシングデータをディジタル量に変換するA/D変換器25、並びにそれらディジタル量に変換すべきデータを選択するマルチプレクサ26等が内蔵されている。
【0043】
ここで、DMA制御部21は、上記DMA制御部11から受信されるコマンドに基づいて、RAM23へのデータ書き込みやRAM23からのデータ読み出しにかかるメモリアクセス、並びにA/D変換器25を起動してのA/D変換処理やその処理結果の返信等を行う部分である。これらDMA制御部11及びDMA制御部21の詳細、並びにそれらデータの通信構造については、後に、図2〜図14を参照して詳述する。
【0044】
なお、この第2のマイクロコンピュータ2にあっても、DMA制御部21によってRAM23がアクセスされている期間は、同RAM23に対するCPU22からの重複したアクセスが行われないよう、DMA制御部21からCPU22に対してホールド要求Hreqが出力される。CPU22では、このホールド要求Hreqが出力されている間、メモリアクセス等を控えて待機する。
【0045】
また前述のように、同第2のマイクロコンピュータ2において、CPU22によるRAM23のアクセスは、DMA制御部21による上述したRAM23へのアクセスとは非同期に実行される。
【0046】
また、CPU22にあっては、このRAM23の何処にどのようなデータが格納されているかを常に把握しており、上記ノック制御や負荷制御等に際して必要なときに、それら必要とされるデータをRAM23から読み込み、或いはRAM23に書き込む。
【0047】
図2は、同第1の実施形態の装置のDMA制御部11及びDMA制御部21についてその具体構成を示したものであり、次に、同図2を併せ参照して、それらDMA制御部におけるデータ通信構造を更に詳述する。
【0048】
この図2に示されるように、DMA制御部11は、16ステージからなるシフトレジスタ111とシフトクロック発生回路112とを具えて構成されており、DMA制御部21は、同じく16ステージからなるシフトレジスタ211とシリアルI/Oコントローラ212、及びデータセット調整レジスタ213を具えて構成されている。
【0049】
ここで、これら各DMA制御部のシフトレジスタ111及び211は、同図2に示される態様でループ状に接続されており、DMA制御部11側に設けられたシフトクロック発生回路112から出力されるシフトクロックSCLKに基づいて互いのデータが交換されるようになる。
【0050】
すなわちこれらシフトレジスタ111及び211では、このシフトクロックSCLKの1クロック毎に、
・シフトレジスタ111の先頭ビット(bit15)がシフトレジスタ211の最終ビット(bit0)に転送される(DMA制御部21からみたシリアル受信信号Sin)。
・シフトレジスタ211の先頭ビット(bit15)がシフトレジスタ111の最終ビット(bit0)に転送される(DMA制御部21からみたシリアル送信信号Sout)。
といったシフト動作が同時に実行されるものであり、ここでの例の場合、シフトクロックSCLKが16クロック出力されることで、それら各シフトレジスタ111及び211にセットされている16ビット分のデータ(メッセージ)が全て交換されるようになる。
【0051】
図3に、同クロックSCLKに基づくそれらDMA制御部11及びDMA制御部21でのビットデータサンプリング態様を参考までに示す。
この図3に示されるように、同実施形態の装置にあっては、シフトクロックSCLKの立下りに同期して上記ビットデータの送信が行われ、同シフトクロックSCLKの立上りに同期して当該ビットデータのサンプリングが行われる。
【0052】
なお、DMA制御部11において、上記シフトレジスタ111にセットされる16ビットのメッセージには、授受の対象となる通常1バイト(8ビット)からなるデータの他に、
(A)RAM23へのデータ書き込み要求コマンド
(B)RAM23からのデータ読み出し要求コマンド
(C)A/D変換要求コマンド
等のコマンドが含まれる。
【0053】
一方、DMA制御部21において、シリアルI/Oコントローラ212は、上記シフトクロックSCLKに基づくいわゆるハンドシェイクでのシリアルデータ交換に際し、その受信されたメッセージの上記コマンドを解読してRAM23や上記A/D変換器25に対するアクセスを実行する部分である。
【0054】
また、同シリアルI/Oコントローラ212では、それら要求されるアクセスを終え、上記シフトレジスタ211に該当するデータをセットするなどその要求に応じる用意ができた時点で、処理完了信号EOCTを上記DMA制御部11に対し出力する(正確にはその論理レベルを論理ハイレベルに立ち上げる)。DMA制御部11では、シリアルI/Oコントローラ212からこうして処理完了信号EOCTが出力されることによって当該要求に応じる用意ができた旨判断し、上記シフトクロック発生回路112を再起動して、上記シフトレジスタ111にセットしたデータの転送、或いは同シフトレジスタ111へのデータの取り込みを行うこととなる。
【0055】
以下に、同システムにおいて実行されるデータ通信の具体例について、上記各コマンドによる要求内容との対応のもとに順次列記する。
(A)RAM23へのデータ書き込み要求
同システムにおいて、上記エンジン制御装置(主制御装置)を構成する第1のマイクロコンピュータ1から上記補助制御装置を構成する第2のマイクロコンピュータ2のRAM23に対して書き込み要求されるデータとしては、例えば図4に例示するようなノック制御用のデータがある。
【0056】
すなわち同図4において、図4(a)は、上記第1のマイクロコンピュータ1のROM14に予め登録されている
・ノック判定補正値のマップデータ
・フェイル判定レベルのマップデータ
・ゲート区間のマップデータ
等々についてその記憶構造を模式的に示したものであり、また図4(b)は、それらデータの転送先(書き込み先)である上記第2のマイクロコンピュータ2のRAM23についてそのバンク構造を模式的に示したものである。
【0057】
同システムにあっては図4(a)に付記するように、上記ROM14に予め登録されているデータのうち、「ノック判定補正値のマップデータ」はRAM23の「バンク0」に、「フェイル判定レベルのマップデータ」はRAM23の「バンク1」に、「ゲート区間のマップデータ」はRAM23の「バンク2」にそれぞれ書き込まれるものとしている。RAM23の「バンク3」には、例えば上述した負荷制御用のデータなどが書き込まれる。
【0058】
なお、上記ノック制御用のデータにおいて、「ノック判定補正値のマップデータ」とは、エンジンのノック判定の際に使用される補正値についてこれをマップ化したデータである。また「フェイル判定レベルのマップデータ」とは、ノックセンサ(図示せず)の断線検出を行う際に使用される基準値(比較値)についてこれをマップ化したデータである。そして、ノック制御にあっては通常、ノックセンサの出力をピークホールドし、そのピークホールドレベルに応じた振動抑制制御を行うこととなる。「ゲート区間のマップデータ」とは、このノックセンサの出力をピークホールドする区間についてこれをマップ化したデータである。
【0059】
図5(a)及び(b)に、こうしたRAM23へのデータ書き込み要求に際してDMA制御部11を通じて上記シフトレジスタ111にセットされるシリアルデータのデータ構造、並びにDMA制御部21を通じて上記シフトレジスタ211にセットされるシリアルデータのデータ構造をそれぞれ示す。
【0060】
すなわち、同データ書き込み要求に際し、DMA制御部11からは図5(a)に示されるように、
・書き込み要求コマンド「011」(bit15〜bit13)
・RAM23内の書き込み指定バンク(bit12〜bit9)
・ダミーデータ(bit8)
・上記各マップデータ等の書き込みデータ(bit7〜bit0)
といったデータ構造にて上記16ビットからなるメッセージが送信される。
【0061】
一方、こうしたメッセージを受信したDMA制御部21からは、図5(b)に示されるように、
・ダミーデータ(bit15〜bit6)
・当該データ書き込みが正常終了したか否かを示す判別ビット(bit5)
・ダミーデータ(bit4)
・RAM23内の書き込みバンク(bit3〜bit0)
といったデータ構造にて、これも上記16ビットからなるメッセージが返信される。なお、bit3〜bit0の「RAM23内の書き込みバンク」としては、上記受信メッセージのbit12〜bit9にある「RAM23内の書き込み指定バンク」のコピーが用いられる。
【0062】
図6は、DMA制御部11とDMA制御部21とでこうしたデータ構造を持つメッセージが授受される該データ書き込み要求時のデータ転送態様を示したものであり、次に、この図6を併せ参照して、データ書き込み要求時におけるDMA制御部11並びにDMA制御部21の基本動作を説明する。
【0063】
この場合、DMA制御部11にあっては先のCPU12からの指示に基づき、図5(a)に示したメッセージがそのシフトレジスタ111に予めセットされ、他方のDMA制御部21にあっては、ダミーデータがそのシフトレジスタ211に予めセットされる。
【0064】
こうした状態において、時刻t11に、シフトクロックSCLKがDMA制御部11側から発せられたとすると(図6(a))、このクロックSCLKの最初の立下りに同期して上記信号EOCTがひとまず論理ハイレベルに立ち上げられるとともに(図6(d))、同クロックSCLKの16クロック出力に基づいて、それら各シフトレジスタ111及び211にセットされているメッセージが先の図2及び図3に示される態様で交換される(図6(b)及び(c))。
【0065】
その結果、DMA制御部21のシフトレジスタ211には、上記書き込み要求コマンド「011」をはじめ、RAM23内の書き込み指定バンク、並びに上記各マップデータ等からなるとする第1番目の書き込みデータ(データ1)が受信されることとなる。
【0066】
DMA制御部21のシリアルI/Oコントローラ212では、この受信メッセージに含まれる上記書き込み要求コマンド「011」に基づいて当該メッセージがRAM23への書き込み要求である旨を判断し、当該データ1をRAM23内の指定されたバンクに書き込むなど、同要求に応ずるべく所定の処理を実行した後、図5(b)に示した構造の返信メッセージをシフトレジスタ211にセットする。そしてその後、上記信号EOCTを論理ハイレベルに立ち上げて、該処理が完了した旨をDMA制御部11に通知する(図6(d)時刻t13、なお同信号EOCTは上記シフトクロックSCLKの最後の立上り(時刻t12)に同期して論理ハイレベルに立ち下げられている)。
【0067】
他方、DMA制御部11では上述のように、該信号EOCTが論理ハイレベルに立ち上げられることによって先の要求が満たされた旨判断する。そして、引き続き、図5(a)に示したデータ構造にて、書き込み要求コマンド「011」をはじめ、RAM23内の書き込み指定バンク、並びに第2番目の書き込みデータ(データ2)をそのシフトレジスタ111にセットした後、時刻t14に、シフトクロック発生回路112を起動して、同メッセージとDMA制御部21のシフトレジスタ211にセットされている上記返信メッセージとを交換する。
【0068】
以後は、同図6に示される態様で、上記に準じた処理が、これらDMA制御部11及びDMA制御部21を通じて繰り返し実行されることとなる(時刻t15、時刻t16、…)。
(B)RAM23からのデータ読み出し要求
同システムにおいて、上記エンジン制御装置(主制御装置)を構成する第1のマイクロコンピュータ1が上記補助制御装置を構成する第2のマイクロコンピュータ2のRAM23から読み出し要求するデータとしては、同第2のマイクロコンピュータ2による例えば負荷状態等についての演算値がある。
【0069】
図7(a)及び(b)に、こうしたRAM23からのデータ読み出し要求に際してDMA制御部11を通じて上記シフトレジスタ111にセットされるシリアルデータのデータ構造、並びにDMA制御部21を通じて上記シフトレジスタ211にセットされるシリアルデータのデータ構造をそれぞれ示す。
【0070】
すなわち、同データ読み出し要求に際し、DMA制御部11からは図7(a)に示されるように、
・読み出し要求コマンド「010」(bit15〜bit13)
・RAM23内の読み出し指定バンク(bit12〜bit9)
・ダミーデータ(bit8〜bit0)
といったデータ構造にて上記16ビットからなるメッセージが送信される。
【0071】
一方、こうしたメッセージを受信したDMA制御部21からは、図7(b)に示されるように、
・RAM23からの指定された読み出しデータ(bit15〜bit8)
・ダミーデータ(bit7〜bit6)
・当該データ読み出しが正常終了したか否かを示す判別ビット(bit5)
・ダミーデータ(bit4)
・RAM23内の読み出しバンク(bit3〜bit0)
といったデータ構造にて、これも上記16ビットからなるメッセージが返信される。なお、bit3〜bit0の「RAM23内の読み出しバンク」としても、上記受信メッセージのbit12〜bit9にある「RAM23内の読み出し指定バンク」のコピーが用いられる。
【0072】
図8は、DMA制御部11とDMA制御部21とでこうしたデータ構造を持つメッセージが授受される該データ読み出し要求時のデータ転送態様を示したものであり、次に、この図8を併せ参照して、データ読み出し要求時におけるDMA制御部11並びにDMA制御部21の基本動作を説明する。
【0073】
この場合、DMA制御部11にあっては先のCPU12からの指示に基づき、図7(a)に示したメッセージがそのシフトレジスタ111に予めセットされ、他方のDMA制御部21にあっては、ダミーデータがそのシフトレジスタ211に予めセットされる。
【0074】
こうした状態において、時刻t21に、シフトクロックSCLKがDMA制御部11側から発せられたとすると(図8(a))、このクロックSCLKの最初の立下りに同期して上記信号EOCTがひとまず論理ハイレベルに立ち上げられるとともに(図8(d))、同クロックSCLKの16クロック出力に基づいて、それら各シフトレジスタ111及び211にセットされているメッセージが先の図2及び図3に示される態様で交換される(図8(b)及び(c))。
【0075】
その結果、DMA制御部21のシフトレジスタ211には、上記読み出し要求コマンド「010」をはじめ、RAM23内の読み出し指定バンクが受信されることとなる。
【0076】
DMA制御部21のシリアルI/Oコントローラ212では、この受信メッセージに含まれる上記読み出し要求コマンド「010」に基づいて当該メッセージがRAM23からの読み出し要求である旨を判断し、上記演算値からなるとする第1番目の読み出しデータ(データ1)をRAM23内の指定されたバンクから読み出すなど、同要求に応ずるべく所定の処理を実行した後、図7(b)に示した構造の返信メッセージをシフトレジスタ211にセットする。そしてその後、上記信号EOCTを論理ハイレベルに立ち上げて、該処理が完了した旨をDMA制御部11に通知する(図8(d)時刻t23、なお同信号EOCTは上記シフトクロックSCLKの最後の立上り(時刻t22)に同期して論理ハイレベルに立ち下げられている)。
【0077】
他方、DMA制御部11では上述のように、該信号EOCTが論理ハイレベルに立ち上げられることによって先の要求が満たされた旨判断する。そして、引き続き、図7(a)に示したデータ構造にて、読み出し要求コマンド「010」をはじめ、RAM23内の読み出し指定バンクをそのシフトレジスタ111にセットした後、時刻t24に、シフトクロック発生回路112を起動して、同メッセージとDMA制御部21のシフトレジスタ211にセットされている上記返信メッセージとを交換する。この交換された返信メッセージのうち、上記読み出しデータ(データ1)は、同DMA制御部11を通じて、第1のマイクロコンピュータ1のRAM13に格納される。
【0078】
以後は、同図8に示される態様で、上記に準じた処理が、これらDMA制御部11及びDMA制御部21を通じて繰り返し実行されることとなる(時刻t25、時刻t26、…)。
(C)A/D変換要求
同システムにおいて、上記エンジン制御装置(主制御装置)を構成する第1のマイクロコンピュータ1自身は、先の図1に示されるようにA/D変換器を持たない。このため、前述した燃料噴射量制御や点火時期制御に際して、例えば冷却水温等についてのセンシングデータを取り込む必要が生じた場合には、上記補助制御装置を構成する第2のマイクロコンピュータ2に対してA/D変換要求を発し、前記A/D変換器25を通じてA/D変換処理された結果を転送してもらうこととなる。
【0079】
図9(a)及び(b)に、こうしたA/D変換要求に際してDMA制御部11を通じて上記シフトレジスタ111にセットされるシリアルデータのデータ構造、並びにDMA制御部21を通じて上記シフトレジスタ211にセットされるシリアルデータのデータ構造をそれぞれ示す。
【0080】
すなわち、同A/D変換要求に際し、DMA制御部11からは図9(a)に示されるように、
・A/D変換要求コマンド「001」(bit15〜bit13)
・A/D変換の指定チャネル(bit12〜bit8)
・ダミーデータ(bit7〜bit0)
といったデータ構造にて上記16ビットからなるメッセージが送信される。
【0081】
一方、こうしたメッセージを受信したDMA制御部21からは、図9(b)に示されるように、
・A/D変換結果(bit15〜bit8、若しくはbit6)
・当該A/D変換が正常終了したか否かを示す判別ビット(bit5)
・指定されたA/D変換チャネル(bit4〜bit0)
といったデータ構造にて、これも上記16ビットからなるメッセージが返信される。なお、上記「A/D変換結果」は、8ビットからなるデータ(bit15〜bit8)と10ビットからなるデータ(bit15〜bit6)との2種類のデータに対応できるようになっている。また、bit4〜bit0の「指定されたA/D変換チャネル(ch)」としては、これも上記受信メッセージのbit12〜bit8にある「A/D変換の指定チャネル」のコピーが用いられる。
【0082】
図10は、DMA制御部11とDMA制御部21とでこうしたデータ構造を持つメッセージが授受される該A/D変換要求時のデータ転送態様を示したものであり、次に、この図10を併せ参照して、A/D変換要求時におけるDMA制御部11並びにDMA制御部21の基本動作を説明する。
【0083】
この場合、DMA制御部11にあっては先のCPU12からの指示に基づき、図9(a)に示したメッセージがそのシフトレジスタ111に予めセットされ、他方のDMA制御部21にあっては、ダミーデータがそのシフトレジスタ211に予めセットされる。
【0084】
こうした状態において、時刻t31に、シフトクロックSCLKがDMA制御部11側から発せられたとすると(図10(a))、このクロックSCLKの最初の立下りに同期して上記信号EOCTがひとまず論理ハイレベルに立ち上げられるとともに(図10(d))、同クロックSCLKの16クロック出力に基づいて、それら各シフトレジスタ111及び211にセットされているメッセージが先の図2及び図3に示される態様で交換される(図10(b)及び(c))。
【0085】
その結果、DMA制御部21のシフトレジスタ211には、上記A/D変換要求コマンド「001」をはじめ、A/D変換の指定チャネルが受信されることとなる。
【0086】
DMA制御部21のシリアルI/Oコントローラ212では、この受信メッセージに含まれる上記A/D変換要求コマンド「001」に基づいて当該メッセージがA/D変換要求である旨を判断し、前記A/D変換器25を起動してその指定されたチャネル(ch0)のA/D変換を行わしめ、その結果を取り込むなど、同要求に応ずるべく所定の処理を実行した後、図9(b)に示した構造の返信メッセージをシフトレジスタ211にセットする。そしてその後、上記信号EOCTを論理ハイレベルに立ち上げて、該処理が完了した旨をDMA制御部11に通知する(図10(d)時刻t33、なお同信号EOCTは上記シフトクロックSCLKの最後の立上り(時刻t32)に同期して論理ハイレベルに立ち下げられている)。
【0087】
他方、DMA制御部11では上述のように、該信号EOCTが論理ハイレベルに立ち上げられることによって先の要求が満たされた旨判断する。そして、引き続き、図9(a)に示したデータ構造にて、A/D変換要求コマンド「001」をはじめ、A/D変換の指定チャネルをそのシフトレジスタ111にセットした後、時刻t34に、シフトクロック発生回路112を起動して、同メッセージとDMA制御部21のシフトレジスタ211にセットされている上記返信メッセージとを交換する。この交換された返信メッセージのうち、上記A/D変換結果(ch0のデータ)は、同DMA制御部11を通じて、第1のマイクロコンピュータ1のRAM13に格納される。
【0088】
以後は、同図10に示される態様で、上記に準じた処理が、これらDMA制御部11及びDMA制御部21を通じて繰り返し実行されることとなる(時刻t35、時刻t36、…)。
ところで、これら処理のうち、特に(A)の「RAM23へのデータ書き込み要求」や(B)の「RAM23からのデータ読み出し要求」においては上述のように、その1度の通信で転送することのできるデータが1バイト(8ビット)のデータとなっている。このため前述のように、例えば2バイトのデータで1つの情報が形成されるデータセットを転送しようとする場合には、同シリアル通信を2度に亘って実行する必要がある。
【0089】
一方、上記補助制御装置を構成する第2のマイクロコンピュータ2にあって、CPU22によるRAM23に対するアクセスはワード(2バイト=16ビット)単位で行われることもあること、しかもこのCPU22によるRAM23へのアクセスは上記DMA制御部21による同RAM23へのアクセスとは非同期に行われることも前述した。
【0090】
したがって、同第2のマイクロコンピュータ2において、前記ホールド要求Hreqにより上記RAM23に対するCPU22の重複したアクセスが制限されるとはいえ、DMA制御部21によって例えば第1番目のデータ(データ1)がRAM23に書き込まれた直後、すなわちこのホールド要求Hreqが一旦解除された直後、CPU22によって同RAM23に対するワード単位でのアクセスが行われたような場合には、やはり先の図19に例示したような不都合が生じることとなる。
【0091】
そこで同実施形態の装置では、先の図2に示したように、DMA制御部21にデータセット調整レジスタ213を設け、該データセット調整レジスタ213を通じてそれらデータの混同を回避するようにしている。
【0092】
図11は、このDMA制御部21の上記シリアルI/Oコントローラ212を通じて実行されるI/O制御ルーチン(実際にはこれと同等の処理がハードウェアによる論理演算によって実現される)を示したものであり、次に、この図11を併せ参照して、同実施形態のDMA制御装置によるデータ転送構造を更に詳述する。
【0093】
同図11に示されるように、シリアルI/Oコントローラ212では、シフトクロックSCLKの状態に基づいてDMA制御部11からの受信メッセージの有無を常時監視している。そして、この受信メッセージの到来があると、ステップS100にて、これに含まれるコマンド(上位3ビット)を解読し、該解読したコマンドの内容に応じて、上述した
(A)RAM23へのデータ書き込み要求
(B)RAM23からのデータ読み出し要求
(C)A/D変換要求
にそれぞれ対応したステップS110以降の処理、ステップS120以降の処理、及びステップS130以降の処理を実行する。
【0094】
すなわちいま、上記解読したコマンドが「RAM23へのデータ書き込み要求(011)」であったとすると、シリアルI/Oコントローラ212はまず、ステップS110にて、その指定されているバンクが前回指定されたバンクと同一であるか否かを判断する。
【0095】
この結果、当該指定バンクが前回指定されたバンクと同一ではない旨判断される場合、シリアルI/Oコントローラ212は、その内蔵するカウンタCNTに値「1」をセットし(ステップS111)、当該メッセージに含まれるデータを上記データセット調整レジスタ213に一時貯蔵する(ステップS112)。
【0096】
そしてその後は、上記シフトレジスタ211にダミーデータをセットし(ステップS113)、処理完了信号EOCTを論理ハイレベルに立ち上げて(ステップS140)、当該処理を一旦終える。
【0097】
一方、上記指定バンクの比較の結果、当該指定バンクが前回指定されたバンクと同一である旨判断される場合、シリアルI/Oコントローラ212は、上記カウンタCNTの値を「CNT←CNT+1」といった態様でインクリメントする(ステップS114)。
【0098】
そして、このインクリメントしたカウンタCNTの値が奇数か偶数かを更に判断し(ステップS115)、奇数であった場合には、上記ステップS112の処理に移行する。すなわち、当該メッセージに含まれるデータを上記データセット調整レジスタ213に一時貯蔵し、シフトレジスタ211にダミーデータをセットした上で処理完了信号EOCTを論理ハイレベルに立ち上げ、当該処理を一旦終える。
【0099】
他方、同カウンタCNTの値が偶数であった場合には、その時点で上記データセット調整レジスタ213に貯蔵されているデータと当該メッセージに含まれるデータとを一括してRAM23の当該指定バンクに書き込む(ステップS116)。
【0100】
そして、その後は同様に、上記シフトレジスタ211にダミーデータをセットし(ステップS117)、処理完了信号EOCTを論理ハイレベルに立ち上げて(ステップS140)、当該処理を一旦終える。
【0101】
DMA制御部21を通じてこうした書き込み制御が繰り返されることにより、例えば図4に例示したマップデータを構成するデータのうちの各連続する奇数番目のバイトデータと偶数番目のバイトデータとは、常に2バイトの対のデータとしてRAM23に書き込まれるようになる。
【0102】
このため、例えば図12に模式的に示すように、奇数番目のデータである「新データ1」の転送が終了された直後に、CPU22からRAM23に対しワードアクセスが行われたとしても、それらCPU22に取り込まれるワードデータは何れも「旧データ」のままである。したがって、少なくともこのワードデータに基づく制御が行われたとしても、その制御に大きな矛盾を生じることはない。
【0103】
また一方、例えば図13に模式的に示すように、偶数番目のデータである「新データ2」の転送が終了された後であれば、RAM23にはそれら対となるべく「新データ1」と「新データ2」とが常に同時に存在するようになる。したがってこの場合、CPU22からRAM23に対しワードアクセスが行われたとき、同CPU22に取り込まれるワードデータは何れも「新データ」となる。そしてこのときには勿論、それら「新データ」に基づく制御が正常に実行されるようになる。
【0104】
図11に戻り、同I/O制御ルーチンにおいて、上記解読したコマンドが「RAM23からのデータ読み出し要求(010)」であったとすると、シリアルI/Oコントローラ212は、ステップS120にて、その指定されているバンクが前回指定されたバンクと同一であるか否かを判断する。
【0105】
この結果、当該指定バンクが前回指定されたバンクと同一ではない旨判断される場合、シリアルI/Oコントローラ212は、その内蔵するカウンタCNTに値「1」をセットする(ステップS121)。そしてその後、当該メッセージに含まれる指定バンクに基づいてRAM23の当該バンクに格納されている2つの連続するバイトデータを読み込み、その1番目(奇数番目)のデータについてはこれを上記シフトレジスタ211にセットし、また2番目(偶数番目)のデータについてはこれを上記データセット調整レジスタ213に一時貯蔵する(ステップS122)。
【0106】
そしてその後は、処理完了信号EOCTを論理ハイレベルに立ち上げて(ステップS140)、当該処理を一旦終える。
一方、上記指定バンクの比較の結果、当該指定バンクが前回指定されたバンクと同一である旨判断される場合、シリアルI/Oコントローラ212は、上記カウンタCNTの値を「CNT←CNT+1」といった態様でインクリメントする(ステップS123)。
【0107】
そして、このインクリメントしたカウンタCNTの値が奇数か偶数かを更に判断し(ステップS124)、奇数であった場合には、上記ステップS122の処理に移行する。すなわち、当該メッセージに含まれる指定バンクに基づいてRAM23の当該バンクに格納されている2つの連続するバイトデータを読み込み、その1番目(奇数番目)のデータについてはこれを上記シフトレジスタ211にセットし、また2番目(偶数番目)のデータについてはこれを上記データセット調整レジスタ213に一時貯蔵した上で処理完了信号EOCTを論理ハイレベルに立ち上げ、当該処理を一旦終える。
【0108】
他方、同カウンタCNTの値が偶数であった場合には、その時点で上記データセット調整レジスタ213に貯蔵されているデータを上記シフトレジスタ211にセットする(ステップS125)。
【0109】
そして、その後は同様に、処理完了信号EOCTを論理ハイレベルに立ち上げて(ステップS140)、当該処理を一旦終える。
DMA制御部21を通じてこうした読み出し制御が繰り返されることにより、例えば図14に模式的に示すように、RAM23に格納されているデータのうちの各連続する奇数番目のバイトデータと偶数番目のバイトデータとは、常に2バイトの対のデータとして同RAM23から読み出されるようになる。したがって、例えばCPU22のワードアクセスにより、それら連続する2バイトのデータが同時に書き換えられるような場合であれ、それら読み出されるデータに矛盾が生じることもなくなる。
【0110】
また、図11のI/O制御ルーチンにおいて、上記解読したコマンドが「A/D変換要求(001)」であった場合、シリアルI/Oコントローラ212は、ステップS130にて、その指定されているA/D変換チャネル(ch)を選択し、前記A/D変換器25を起動する。そしてその後は、そのA/D変換結果を上記シフトレジスタ211にセットし(ステップS131)、処理完了信号EOCTを論理ハイレベルに立ち上げて(ステップS140)、当該処理を一旦終える。なおこの場合、上記データセット調整レジスタ213は用いられない。
【0111】
以上説明したように、同実施形態にかかるDMA制御装置によれば、
(イ)2バイトのデータで1つの情報が形成されるデータセットの転送に際し、同データセットを形成する一方のデータのみを対象としてRAM23がアクセスされることはなくなる。すなわちこうしたデータセットの場合、少なくともその両方のデータが揃っていることを条件に、当該データセットを対象とする一括したメモリアクセスが行われるようになる。
(ロ)またこのため、CPU22からRAM23に対して、例えばワード単位での非同期アクセスが行われる場合であれ、それらデータセット以外のデータが混同してアクセスされることはなくなり、矛盾した制御が行われるなどの不都合も自ずと解消されるようになる。
(ハ)また更に、RAM23に格納されているデータのうちの各連続するバイトデータも、常に2バイトの対のデータとして同RAM23から読み出されるようになる。したがって、例えばCPU22のワードアクセスにより、それら連続する2バイトのデータが同時に書き換えられるような場合であれ、それら読み出されるデータに矛盾が生じることもなくなる。
(ニ)しかも、このような好適なデータ転送を実現するのに、それら授受されるメッセージ自体には何等の変更も要しない。
等々、多くの優れた効果が奏せられるようになる。
【0112】
なお、図11に示したI/O制御ルーチンからも明らかなように、同実施形態の装置にあっては、上記データセットが偶数バイトのデータからなることを想定している。このため、例えばRAM23へのデータ書き込み要求に際して、偶数バイトからなるデータセットについてはそれらデータの全てをRAM23に書き込むことができるが、奇数バイトからなるデータセットの場合、或いは通信異常等によって偶数番目のデータが送られてこなかったような場合には、その最後のデータ、或いは通信異常となる直前のデータが上記データセット調整レジスタ213において廃棄(上書き)されてしまうことになる。ただし、そのような場合であっても、
・偶数番目のデータとしてダミーデータを別途転送する。
・偶数番目のデータであるにも拘わらずコマンド若しくは指定バンクが前回のメッセージと異なるとき、上記データセット調整レジスタ213に貯蔵されているデータを単独でRAM23のそれまでの指定バンクに強制書き込みする。
等々の制御手法を併用することで、こうした不都合を解消することができるようになる。
【0113】
(第2実施形態)
図15に、この発明にかかるDMA制御装置の第2の実施形態を示す。
この第2の実施形態の装置も、基本的には先の第1の実施形態の装置と同様、例えばエンジン制御用のマルチCPUシステムにあって、複数バイトのデータで1つの情報が形成されるデータセットのDMA転送を適正に実現することのできる装置として構成されている。ただし、この第2の実施形態の装置にあっては、補助制御装置(第2のマイクロコンピュータ)側のDMA制御部に変更を加え、前述した可変長データをも扱うことができるようにしている。
【0114】
以下、先の第1の実施形態の装置との相違点を中心に、同第2の実施形態にかかる装置の構成、並びにデータ転送構造を詳述する。
さて同第2の実施形態の装置では、図15に示されるように、第2のマイクロコンピュータに配されるDMA制御部21’が、前記データセット調整レジスタ213に加え、バイト長メモリ214を具える構成となっている。
【0115】
このバイト長メモリ214とは、第1のマイクロコンピュータ側のDMA制御部11とこのDMA制御部21’との間で転送されるデータセットが何バイトのデータからなるかを示す情報、すなわちデータセットのバイト長情報BLが格納されるメモリである。
【0116】
同DMA制御部21’の場合、シリアルI/Oコントローラ212では、このバイト長メモリ214に格納されているバイト長情報BLを併せ参照して、上記データセット調整レジスタ213の操作、並びにRAM23のアクセスを実行することとなる。
【0117】
図16は、このDMA制御部21’の上記シリアルI/Oコントローラ212を通じて実行されるI/O制御ルーチン(これも実際には、これと同等の処理がハードウェアによる論理演算によって実現される)を示したものであり、次に、この図16を併せ参照して、同実施形態のDMA制御装置によるデータ転送構造を更に詳述する。
【0118】
同図16に示されるように、シリアルI/Oコントローラ212ではこの場合も、シフトクロックSCLKの状態に基づいてDMA制御部11からの受信メッセージの有無を常時監視している。そして、この受信メッセージの到来があると、ステップS200にて、これに含まれるコマンド(上位3ビット)を解読し、該解読したコマンドの内容に応じて、前述した
(A)RAM23へのデータ書き込み要求
(B)RAM23からのデータ読み出し要求
(C)A/D変換要求
にそれぞれ対応したステップS210以降の処理、ステップS220以降の処理、及びステップS230以降の処理を実行する。
【0119】
すなわちいま、上記解読したコマンドが「RAM23へのデータ書き込み要求(011)」であったとすると、シリアルI/Oコントローラ212はまず、ステップS210にて、その指定されているバンクが前回指定されたバンクと同一であるか否かを判断する。
【0120】
この結果、当該指定バンクが前回指定されたバンクと同一ではない旨判断される場合、シリアルI/Oコントローラ212は、その内蔵するカウンタCNTに値「1」をセットし(ステップS211)、当該メッセージに含まれるデータを上記データセット調整レジスタ213に一時貯蔵する(ステップS212)。
【0121】
そしてその後は、前記シフトレジスタ211にダミーデータをセットし(ステップS213)、処理完了信号EOCTを論理ハイレベルに立ち上げて(ステップS240)、当該処理を一旦終える。
【0122】
一方、上記指定バンクの比較の結果、当該指定バンクが前回指定されたバンクと同一である旨判断される場合、シリアルI/Oコントローラ212は、上記カウンタCNTの値を「CNT←CNT+1」といった態様でインクリメントする(ステップS214)。
【0123】
そして同実施形態の装置の場合、このインクリメントしたカウンタCNTの値が上記バイト長メモリ214に格納されているバイト長情報BLの倍数か否かを更に判断し(ステップS215)、倍数でなかった場合には、上記ステップS212の処理に移行する。すなわち、当該メッセージに含まれるデータを上記データセット調整レジスタ213に一時貯蔵し、シフトレジスタ211にダミーデータをセットした上で処理完了信号EOCTを論理ハイレベルに立ち上げ、当該処理を一旦終える。
【0124】
他方、同カウンタCNTの値がバイト長情報BLの倍数であった場合には、その時点で上記データセット調整レジスタ213に貯蔵されているデータ群と当該メッセージに含まれるデータとを一括してRAM23の当該指定バンクに書き込む(ステップS216)。
【0125】
そして、その後は同様に、上記シフトレジスタ211にダミーデータをセットし(ステップS217)、処理完了信号EOCTを論理ハイレベルに立ち上げて(ステップS240)、当該処理を一旦終える。
【0126】
DMA制御部21’を通じてこうした書き込み制御が繰り返されることにより、例えば先の図4に例示したマップデータを構成するデータのうちの各連続して1つの情報を形成するバイトデータ群は、常にそれらがセットとしてRAM23に書き込まれるようになる。
【0127】
このため、例えば図17に模式的に示すように、上記バイト長メモリ214に格納されているバイト長情報BLが「4」であった場合には、「新データ1」〜「新データ3」までが上記データセット調整レジスタ213に順次一時貯蔵され、「新データ4」が受信されたとき、これら「新データ1」〜「新データ4」からなる4バイト(32ビット)のデータセットが一括してRAM23に書き込まれるようになる。したがって、もしも前記CPU22によってこのRAM23に対するワードアクセスが行われる場合であれ、この場合も「新データ」と「旧データ」とが混同されることなく、適正に取り込まれるようになる。
【0128】
また、図16に示すI/O制御ルーチンにおいて、上記解読したコマンドが「RAM23からのデータ読み出し要求(010)」であったとすると、シリアルI/Oコントローラ212は、ステップS220にて、その指定されているバンクが前回指定されたバンクと同一であるか否かを判断する。
【0129】
この結果、当該指定バンクが前回指定されたバンクと同一ではない旨判断される場合、シリアルI/Oコントローラ212は、その内蔵するカウンタCNTに値「1」をセットする(ステップS221)。そしてその後、上記バイト長メモリ214に格納されているバイト長情報BLの参照のもとに、RAM23の当該指定バンクからBLバイトのデータ群(データセット)を一括して読み込む。そして、その1番目のデータについてはこれを上記シフトレジスタ211にセットし、また2番目以降のデータについてはこれをその順番に従って上記データセット調整レジスタ213に一時貯蔵する(ステップS222)。
【0130】
そしてその後は、処理完了信号EOCTを論理ハイレベルに立ち上げて(ステップS240)、当該処理を一旦終える。
一方、上記指定バンクの比較の結果、当該指定バンクが前回指定されたバンクと同一である旨判断される場合、シリアルI/Oコントローラ212は、上記カウンタCNTの値を「CNT←CNT+1」といった態様でインクリメントする(ステップS223)。
【0131】
そして、このインクリメントしたカウンタCNTの値が上記バイト長情報BLの「倍数+1」か否かを更に判断し(ステップS224)、該バイト長情報BLの「倍数+1」であった場合には、上記ステップS222の処理に移行する。
【0132】
他方、同カウンタCNTの値が上記バイト長情報BLの「倍数+1」ではなかった場合には、上記データセット調整レジスタ213に貯蔵されている当該データセットの2番目以降のデータを、同一ルーチンが繰り返される都度、順番に上記シフトレジスタ211にセットする(ステップS225)。
【0133】
そして、その後は同様に、処理完了信号EOCTを論理ハイレベルに立ち上げて(ステップS240)、当該処理を一旦終える。
DMA制御部21’を通じてこうした読み出し制御が実行されることにより、RAM23に格納されているバイトデータがそれらデータセットを単位として一括して同DMA制御部21’に読み込まれるようになる。
【0134】
このため、例えば図18に模式的に示すように、上記バイト長メモリ214に格納されているバイト長情報BLが「4」であった場合には、RAM23に格納されているデータのうちの各連続する4バイトからなるデータセットが一括してDMA制御部21’に読み込まれることとなる。したがってこの場合も、例えばCPU22のワードアクセスにより、それら連続するデータ群が同時に書き換えられるような場合であれ、それら読み出されるデータに矛盾が生じることはなくなる。
【0135】
なお、この図16のI/O制御ルーチンにおいても、上記解読したコマンドが「A/D変換要求(001)」であった場合には、ステップS230にて、その指定されているA/D変換チャネル(ch)の選択、並びにA/D変換器25の起動が行われ、ステップS231にて、そのA/D変換結果が上記シフトレジスタ211にセットされる。
【0136】
以上説明したように、同第2の実施形態にかかるDMA制御装置によれば、先の実施形態での効果に加えて、
(ホ)如何なるバイト長からなるデータセットについても、それらデータが揃っていることを条件に同データセットを対象とする一括したメモリアクセスが行われるようになる。
(ヘ)したがってこの場合も、CPU22からRAM23に対して例えばワード単位での非同期アクセスが行われる場合であれ、それらデータセット以外のデータが混同してアクセスされることはなくなる。
など、同DMA制御装置として更に望ましい効果が奏せられるようになる。
【0137】
なお、同第2の実施形態の装置において、上記バイト長メモリ214に格納されるバイト長情報BLの設定手法は任意であり、少なくとも同バイト長情報BLが外部から可変設定されるようにすることで、前述した可変長データについてもそれらデータセットを対象とする柔軟且つ効率のよいメモリアクセスが行われるようになる。
【0138】
またこの場合、特に
・バイト長メモリ214に格納されるバイト長情報BLは、前記シリアル通信されるデータに先立ち、同シリアル通信されるデータの1つとして、DMA制御部11からその旨示す適宜のコマンド(例えば「111」等、前記(A)〜(C)の各コマンドとは異なるコマンド)と共にDMA制御部21’に転送される。
・DMA制御部21’のシリアルI/Oコントローラ212では、該バイト長情報BLが受信される都度これをバイト長メモリ214に更新登録する。
といった構成を採用すれば、同バイト長情報BLを外部から可変設定するための手段を特に設けずとも、当該シリアル通信系をそのまま流用してその可変設定を行うことができるようになる。
【0139】
しかも同構成では、転送対象となるデータセットのバイト長を変更するときにのみ上記バイト長情報BLを転送すればよく、少なくとも前述したスタートデータやエンドデータを付与する場合に比べてその処理負荷は大きく軽減される。
【0140】
またこの場合、上記バイト長情報BLには別途のコマンドが付与されて転送されることから、転送対象となるデータと該バイト長情報BLとが混同されることもない。すなわち、データとして用いることのできる値に制限が加わることは一切ない。
【0141】
また一方、上記バイト長メモリ214に設定されるバイト長情報BLは固定であってもよい。
この場合、可変長データを扱うことはできないが、固定されたバイト長を単位としてデータ転送が行われるシステムにとっては、極めて簡易な構成にてこうしたデータセットを対象とする一括したメモリアクセスが行われるようになる。
【0142】
また、以上では説明の便宜上、先の図19に例示したようなデータ混同を回避する場合について説明したが、この発明にかかるDMA制御装置の上記構成が、先の図20に例示したような、更に多くのマイクロコンピュータ間で処理速度(通信速度)の異なるDMA制御部を介してデータ転送が行われる場合にも有効であることは云うまでもない。
【0143】
更にはまた、上記実施形態の装置では何れも、そのデータ通信(データ交換)方式としてシリアルデータによるハンドシェイク通信を採用した。このため、より少ない配線(通信線)に基づく高速なデータ通信が実現されるようになる。ただし、同データ通信方式として、必ずしもこのような通信方式だけが有効であるとは限らない。他に例えば、データを一旦受け取ってから送信データを返すいわゆる全2重通信インターフェースを利用したシリアル通信回路なども適宜採用することができる。
【0144】
また、同じく上記各実施形態の装置では、マルチCPUシステムとして、車載用エンジンの電子制御装置を例にとったが、この発明にかかるDMA制御装置がこのようなエンジン制御システムに限定されるものでないことは勿論である。
【0145】
すなわち、複数のCPU或いはメモリにて入出力装置を非同期的に共有しつつその分担された処理を実行するシステムであれば、他の如何なるシステムについても、この発明にかかるDMA制御装置を適用することはできる。
【図面の簡単な説明】
【図1】この発明のDMA制御装置の第1の実施形態を示すブロック図。
【図2】同実施形態のDMA制御部の具体構成を示すブロック図。
【図3】同DMA制御部でのデータ取り込み態様を示すタイムチャート。
【図4】DMA制御において転送対象となるデータ例を示す略図。
【図5】データ書き込み要求時のシリアルデータ構造例を示す略図。
【図6】データ書き込み要求時のデータ転送態様を示すタイムチャート。
【図7】データ読み出し要求時のシリアルデータ構造例を示す略図。
【図8】データ読み出し要求時のデータ転送態様を示すタイムチャート。
【図9】A/D変換要求時のシリアルデータ構造例を示す略図。
【図10】A/D変換要求時のデータ転送態様を示すタイムチャート。
【図11】DMA制御部のI/O制御ルーチンを示すフローチャート。
【図12】同I/O制御によるデータ書き込み態様を模式的に示す略図。
【図13】同I/O制御によるデータ書き込み態様を模式的に示す略図。
【図14】同I/O制御によるデータ読み出し態様を模式的に示す略図。
【図15】この発明のDMA制御装置の第2の実施形態を示すブロック図。
【図16】同実施形態のI/O制御ルーチンを示すフローチャート。
【図17】同I/O制御によるデータ書き込み態様を模式的に示す略図。
【図18】同I/O制御によるデータ読み出し態様を模式的に示す略図。
【図19】従来のDMAによるデータ書き込み態様を模式的に示す略図。
【図20】従来のDMAによるデータ書き込み態様を模式的に示す略図。
【符号の説明】
1…第1マイクロコンピュータ、11…DMA制御部、111…シフトレジスタ、112…シフトクロック発生回路、12…CPU、13…RAM、14…ROM、2…第2マイクロコンピュータ、21…DMA制御部、211…シフトレジスタ、212…シリアルI/Oコントローラ、213…データセット調整レジスタ、214…バイト長メモリ、22…CPU、23…RAM、24…ROM、25…A/D変換器、26…マルチプレクサ、27…DMA制御部、28…遅いDMA制御部、29…速いDMA制御部、3…第3マイクロコンピュータ、31…速いDMA制御部、32…CPU、33…RAM。

Claims (8)

  1. 所定バイト長の複数のデータによって形成されるデータセットを、前記データ単位でシリアル通信してメモリに書き込み、若しくはメモリから読み出すDMA制御装置であって、
    前記データセットを形成するデータの数n(nは自然数)より一つ少ない数のデータが一時貯蔵されるデータセット調整レジスタと、
    前記データセットを形成するデータの数として記憶されているバイト長メモリと
    前記バイト長メモリに記憶された値より一つ少ない第1番目〜第(n−1)番目までのデータを前記データセット調整レジスタに一時貯蔵させ前記貯蔵された第1番目〜第(n−1)番目のデータと第n番目にシリアル通信されるデータとで形成されるデータセットにて前記メモリを一括アクセスする制御手段と
    を具えることを特徴とするDMA制御装置。
  2. 前記バイト長メモリに記憶される前記データセットを形成するデータの数nは固定値である
    請求項1記載のDMA制御装置。
  3. 前記バイト長メモリに記憶される前記データセットを形成するデータの数nは、外部から可変設定される値である
    請求項1記載のDMA制御装置。
  4. 前記バイト長メモリに記憶される前記データセットを形成するデータの数nは、前記シリアル通信されるデータに先立ち、同シリアル通信されるデータの1つとしてその旨示す適宜のコマンドと共に転送され、
    前記制御手段は、前記データセットを形成するデータの数nが受信される都度これを前記バイト長メモリに更新登録する
    請求項3記載のDMA制御装置。
  5. 前記データは1バイト単位でシリアル通信され
    前記制御手段は、第1番目から第(n−1)番目まで受信されるデータを順次前記データセット調整レジスタに一時貯蔵しつつ、これを第n番目に受信されるデータと共に一括して前記メモリに書き込み制御する
    請求項1〜4の何れかに記載のDMA制御装置。
  6. 前記データは1バイト単位でシリアル通信され
    前記制御手段は、前記メモリからnバイトのデータセットを一括して読み込むとともにその第2番目から第n番目のデータを前記データセット調整レジスタに一時貯蔵し、第1番目のデータを送信した後、該貯蔵した第2番目から第n番目のデータを順次送信する
    請求項1〜4の何れかに記載のDMA制御装置。
  7. 書き込み要求コマンドと書き込み指定バンクと書き込みデータとからなるシリアルデータを受信するマイクロコンピュータと、
    前記書き込み指定バンクに前記書き込みデータを記憶するメモリと、
    カウンタと、
    該カウンタを制御する制御手段と、
    前記書き込みデータを一時貯蔵するデータセット調整レジスタと
    を具え、
    前記制御手段は、前記書き込み指定バンクが、前回指定された書き込み指定バンクと異なる場合には前記カウンタに1をセットし、前記書き込み指定バンクが、前回指定された書き込み指定バンクと同一である場合には前記カウンタをインクリメントし、
    前記マイクロコンピュータは、前記カウンタが奇数の場合には今回受信された前記書き込みデータを前記データセット調整レジスタに一時貯蔵し、前記カウンタが偶数の場合には前記データセット調整レジスタの値と今回受信された前記書き込みデータとを一括して前記メモリ内の指定された前記書き込み指定バンクへ書き込む
    ことを特徴とするDMA制御装置。
  8. 読み出し要求コマンドと読み出し指定バンクとからなるシリアルデータを受信するとともに、前記読み出し指定バンクにより指定されたデータを読み出しデータとして出力するマイクロコンピュータと、
    前記読み出し指定バンクに前記読み出しデータを記憶するメモリと、
    カウンタと、
    該カウンタを制御する制御手段と、
    前記読み出しデータを一時貯蔵するデータセット調整レジスタと
    を具え、
    前記制御手段は、前記読み出し指定バンクが、前回指定された読み出し指定バンクと異なる場合には前記カウンタに1をセットし、前記読み出し指定バンクが、前回指定された読み出し指定バンクと同一である場合には前記カウンタをインクリメントし、
    前記マイクロコンピュータは、前記カウンタが奇数の場合には前記読み出し指定バンクに格納されている2つの連続するデータを読み込み、該2つの連続するデータのうち1番目のデータを前記読み出しデータとして出力するとともに2番目のデータを前記データセット調整レジスタに一時貯蔵し、前記カウンタが偶数の場合には前記データセット調整レジスタの値を前記読み出しデータとして出力する
    ことを特徴とするDMA制御装置
JP08648396A 1996-04-09 1996-04-09 Dma制御装置 Expired - Fee Related JP3562126B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP08648396A JP3562126B2 (ja) 1996-04-09 1996-04-09 Dma制御装置
US08/833,005 US6115757A (en) 1996-04-09 1997-04-04 DMA control apparatus for multi-byte serial-bit transfer in a predetermined byte pattern and between memories associated with different asynchronously operating processors for a distributed system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08648396A JP3562126B2 (ja) 1996-04-09 1996-04-09 Dma制御装置

Publications (2)

Publication Number Publication Date
JPH09282265A JPH09282265A (ja) 1997-10-31
JP3562126B2 true JP3562126B2 (ja) 2004-09-08

Family

ID=13888235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08648396A Expired - Fee Related JP3562126B2 (ja) 1996-04-09 1996-04-09 Dma制御装置

Country Status (2)

Country Link
US (1) US6115757A (ja)
JP (1) JP3562126B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3602293B2 (ja) * 1997-04-22 2004-12-15 株式会社ソニー・コンピュータエンタテインメント データ転送方法及び装置
JP4006871B2 (ja) 1999-02-25 2007-11-14 株式会社デンソー シリアル通信装置
US7116812B2 (en) * 2003-01-29 2006-10-03 General Electric Company Method and apparatus for providing a standard video interface
JP4175296B2 (ja) * 2004-06-25 2008-11-05 キャタピラージャパン株式会社 建設機械のデータ処理装置及び建設機械のデータ処理方法
US9235871B2 (en) 2014-02-06 2016-01-12 Oxide Interactive, LLC Method and system of a command buffer between a CPU and GPU

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3916388A (en) * 1974-05-30 1975-10-28 Ibm Shifting apparatus for automatic data alignment
US4376933A (en) * 1979-02-22 1983-03-15 Xerox Corporation Circuit for compacting data
JPS5779551A (en) * 1980-11-06 1982-05-18 Nec Corp Information transfer device
US4424565A (en) * 1981-06-22 1984-01-03 Bell Telephone Laboratories, Incorporated Channel interface circuit with high speed data message header field translation and direct memory access
US4716527A (en) * 1984-12-10 1987-12-29 Ing. C. Olivetti Bus converter
US4823305A (en) * 1986-07-18 1989-04-18 Chrysler Motors Corporation Serial data direct memory access system
JPS6420757A (en) * 1987-07-15 1989-01-24 Kanebo Ltd Unidirectional synchronizing communication equipment
US5187783A (en) * 1989-03-15 1993-02-16 Micral, Inc. Controller for direct memory access
JP2502403B2 (ja) * 1990-07-20 1996-05-29 三菱電機株式会社 Dma制御装置
US5398183A (en) * 1990-12-10 1995-03-14 Biomedical Systems Corporation Holter ECG report generating system
JPH04314157A (ja) * 1991-04-12 1992-11-05 Nippondenso Co Ltd 通信装置
JPH0546529A (ja) * 1991-07-25 1993-02-26 Fujitsu Ltd ダイレクトメモリアクセス方式
JP3186150B2 (ja) * 1991-12-24 2001-07-11 株式会社デンソー データ転送装置
JP3187539B2 (ja) * 1992-07-28 2001-07-11 株式会社東芝 データ転送装置
US5465332A (en) * 1992-09-21 1995-11-07 International Business Machines Corporation Selectable 8/16 bit DMA channels for "ISA" bus
US5371736A (en) * 1992-12-21 1994-12-06 Abb Power T&D Company, Inc. Universal protocol programmable communications interface
JPH0713897A (ja) * 1993-06-15 1995-01-17 Nippondenso Co Ltd データのシリアル通信装置
ES2171447T3 (es) * 1993-11-30 2002-09-16 Gen Electric Indicador de palabra de datos en un sistema para el ensamblaje de paquetes de datos para su transporte.
US5655151A (en) * 1994-01-28 1997-08-05 Apple Computer, Inc. DMA controller having a plurality of DMA channels each having multiple register sets storing different information controlling respective data transfer
JP3529429B2 (ja) * 1994-06-10 2004-05-24 富士通株式会社 データ送信装置、データ受信装置、データ伝送装置及びデータ伝送方法
US5561820A (en) * 1994-11-30 1996-10-01 International Business Machines Corporation Bridge for interfacing buses in computer system with a direct memory access controller having dynamically configurable direct memory access channels

Also Published As

Publication number Publication date
JPH09282265A (ja) 1997-10-31
US6115757A (en) 2000-09-05

Similar Documents

Publication Publication Date Title
US4799199A (en) Bus master having burst transfer mode
KR100381823B1 (ko) 가변성의폭데이터전송들을위해조정가능한깊이/폭의fifo버퍼를포함한데이터처리시스템
KR100225744B1 (ko) 동적연쇄화조작동안레이스상태를막는방법및장치
US5392406A (en) DMA data path aligner and network adaptor utilizing same
US20040107265A1 (en) Shared memory data transfer apparatus
EP0141742A2 (en) Buffer system for input/output portion of digital data processing system
US20050210221A1 (en) Microcomputer and microcomputer system
US5537659A (en) Bus controller for adjusting port size communication between a bus master and bus slave using bus master information
US5448521A (en) Connecting a short word length non-volatile memory to a long word length address/data multiplexed bus
JP3562126B2 (ja) Dma制御装置
EP0473059B1 (en) Communication control system
US5588120A (en) Communication control system for transmitting, from one data processing device to another, data of different formats along with an identification of the format and its corresponding DMA controller
US6681273B1 (en) High performance, variable data width FIFO buffer
US20040093439A1 (en) Data processing control apparatus and DMA controller
JP3304395B2 (ja) データ転送装置及びデータ転送方法
CN113032301B (zh) 存储控制器及其片上系统以及电子设备
JP3905660B2 (ja) マイクロコンピュータ及びマイクロコンピュータシステム
JPH09305530A (ja) Dmaコントローラ
JP2608286B2 (ja) データ転送装置
JPH0635841A (ja) バス制御装置
JPH0425581B2 (ja)
JPH0713814B2 (ja) バス制御方式
JPS6155763A (ja) 制御装置におけるチヤネルデ−タ格納制御方式
JPS6019023B2 (ja) デ−タ処理装置
JPS5860347A (ja) 通信制御装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040511

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040524

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees