JPH09282265A - Dma制御装置 - Google Patents
Dma制御装置Info
- Publication number
- JPH09282265A JPH09282265A JP8086483A JP8648396A JPH09282265A JP H09282265 A JPH09282265 A JP H09282265A JP 8086483 A JP8086483 A JP 8086483A JP 8648396 A JP8648396 A JP 8648396A JP H09282265 A JPH09282265 A JP H09282265A
- Authority
- JP
- Japan
- Prior art keywords
- data
- byte
- memory
- dma
- byte length
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling 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)
Abstract
データセットであれ、それらデータが混同されることな
く、しかも効率よく、これを転送することのできるDM
A制御装置を提供する。 【解決手段】DMA制御部21は、DMA制御部11か
らバイト単位でシリアル送信されるデータを受信してこ
れをRAM23に書き込む。このとき、シリアル送信さ
れるデータが2バイトで1つの情報が形成されるデータ
セットからなるとするとき、DMA制御部21では、奇
数番目に受信されるデータをデータセット調整レジスタ
に一時貯蔵しつつ、これを偶数番目に受信されるデータ
と共に一括してRAM23に書き込み制御する。これに
より、CPU22からRAM23に対しワード単位での
非同期アクセスが行われる場合であれ、それらデータセ
ット以外のデータが混同してアクセスされることはなく
なる。
Description
制御などに用いられる複数の電子制御装置間で授受され
るデータのメモリアクセスを制御するDMA(ダイレク
トメモリアクセス)制御装置に関し、特に所定バイト単
位でシリアル通信されるデータの複数によって1つの情
報が形成されるデータセットを扱う上で有益なデータア
クセス構造の具現に関する。
(排気ガス規制等)の強化や燃費の低減化、診断処理の
複雑化等に伴い、その電子制御装置としても1つの電子
制御装置にて全ての制御や処理を統括的に行う方向か
ら、複数の電子制御装置にてそれら制御や処理を分散し
て、すなわち機能分担して行う方向に移行しつつある。
電子制御装置にて機能分担して行う場合、エンジン各部
に配設されたセンサによって検出される冷却水温情報や
空気流量情報、回転数情報、等々を各電子制御装置に取
り込むとともに、それら情報に応じた燃料噴射量や点火
時期等に関する演算、並びに対応するアクチュエータの
駆動制御等をそれら電子制御装置にて各別に実行するこ
ととなる。
それら必要とされる情報を各別に取り込んだのでは入力
ポート数が増大して、入力回路の複雑化を招く。そこで
従来は、それら電子制御装置で共通に必要とされる情報
については1つの制御装置に代表して取り込み、これを
適宜の通信手段によって他の制御装置に転送するなどの
手法を講じている。
ータ通信には、それら制御装置のCPUに演算負担をか
けることなく直接メモリをアクセスすることのできるD
MA(ダイレクトメモリアクセス)制御方式が採用され
ている。
の電子制御装置から他方の電子制御装置に対してデータ
の転送を行う場合、基本的には、以下に列記するような
処理が実行される。 (1)送信側電子制御装置のCPUがそのDMA制御部
を起動してマップデータ等、所望データの転送を指示す
る。 (2)起動されたDMA制御部では、同制御装置内のR
OM(読み出し専用メモリ)若しくはRAM(ランダム
アクセスメモリ)に格納されている当該データを順次読
み込みつつ、これをシフトクロックに基づき受信側電子
制御装置のDMA制御部にシリアル送信する。なお、こ
の送信されるデータには、書き込みを指示するコマンド
とともにそれぞれその書き込み先(受信側電子制御装置
のRAMのバンク情報)が添付される。 (3)受信側電子制御装置のDMA制御部では、この受
信されたコマンドに基づいて当該データが書き込み指示
されたデータである旨認識し、同じく受信された書き込
み先(RAM内の指定されたバンク)に当該データを書
き込む。なおこの際、同一の書き込み先をもつ複数のデ
ータが転送される場合には、それら複数のデータがその
指定されたバンクに順番に書き込まれるようになる。
御装置間でのデータ転送にあっては通常、シリアル通信
の開始・停止等の主導権は、送信側の一方の電子制御装
置におかれる。また、受信側の電子制御装置において、
CPUによるRAMアクセスは、DMA制御部によるこ
うしたRAMアクセスとは非同期に実行される。
制御方式によるシリアル通信に際してその1度の通信で
転送できるデータは通常、1バイト(8ビット)のデー
タである。したがって、例えば2バイトのデータで1つ
の情報が形成されるデータセットを転送しようとする場
合には、同シリアル通信を2度行う必要がある。そして
そのような場合、受信側電子制御装置のDMA制御部に
おいても、こうしたデータセットをRAMに書き込むた
めには、2度に亘って同RAMをアクセスする必要があ
る。
ロコンピュータにあって、CPUによるRAMアクセス
は、バイト単位でのアクセスもあれば、ワード(2バイ
ト=16ビット)単位でのアクセスもある。これらアク
セス単位は、同CPUがその都度実行するプログラムの
内容に応じて随時決定される。
装置においては、これらDMA制御部によるRAMアク
セスとCPUによるRAMアクセスとが非同期に実行さ
れることから、RAMに対するそれらアクセスのタイミ
ングによっては、図19に例示するような不都合が生じ
ることともなっている。
装置を構成する第1のマイクロコンピュータ1から受信
側の電子制御装置を構成する第2のマイクロコンピュー
タ2のRAM23に対し、DMA制御部27を介してデ
ータ1の書き込みが行われた直後、同第2のマイクロコ
ンピュータ2のCPU22によってこのRAM23に対
するワード単位でのアクセスが行われた様子を模式的に
示している。
データが、例えば上述した2バイトのデータで1つの情
報が形成されるデータセットであったとすると、CPU
22がこのRAM23から取り込むデータは、同図19
に示されるように、更新された「新データ1」と更新さ
れる前の「旧データ2」とが混同されたデータセットと
なる。そして、このデータセットが例えばマップデータ
であって、マップ内容がこれら「新データ」と「旧デー
タ」とで大きく変更されているような場合には、それに
基づき制御される内容にも矛盾が生じることとなる。
ロコンピュータ間において処理速度(通信速度)の異な
るDMA制御部を介してデータ転送が行われる場合にも
発生する。
マイクロコンピュータ1から第2のマイクロコンピュー
タ2へは処理速度の遅いDMA制御部28を介してデー
タの転送を行い、第2のマイクロコンピュータ2から第
3のマイクロコンピュータ3へは処理速度の速いDMA
制御部29及び31を介してデータの転送行うような場
合には、 ・第1のマイクロコンピュータ1からRAM23に対
し、遅いDMA制御部28を介してデータ1の更新が行
われる。 ・その後、データ2の更新が行われる以前に、速いDM
A制御部29及び31によって、その更新された「新デ
ータ1」及び更新以前の「旧データ2」がRAM23か
らRAM33に順次転送される。 といった態様でそれらデータの転送が行われることもあ
る。そしてそのような場合、上記RAM33には、一時
的ではあれ、これら「新データ1」と「旧データ2」と
が混同して格納されるようになる。
ータが上述した2バイトのデータで1つの情報が形成さ
れるデータセットであり、またCPU32でも、このR
AM33に対しワード単位でのアクセスを行うような場
合には、上記と同様、やはり何らかの矛盾が生じること
となる。
公報に記載の装置のように、 ・2バイトのデータで1つの情報が形成されるデータセ
ットについてそれら1バイトのデータ毎にインデックス
を付与する。或いは特開平5−173935号公報に記
載の方法のように、 ・複数バイトのデータで1つの情報が形成されるデータ
セットを、スタートデータとエンドデータとで挟み込
む。 等々によってそれらデータセットの判別を可能とした技
術も確かに知られてはいる。
タに対して毎回インデックスを付与しなければならず、
また受信する側でも常にこの付与されたインデックスを
参照しなければならないなど、データ転送にかかる処理
負荷が増大する不都合がある。しかもこの手法では、例
えば2バイトのデータで1つの情報が形成されるデータ
セットと4バイトのデータで1つの情報が形成されるデ
ータセットとが混在して転送されるようないわゆる可変
長データを扱うこともできない。
タを扱うことはできるものの、やはりこの場合も、それ
らデータセット毎にスタートデータとエンドデータとを
付与する必要があるとともに、CPU側でこれらスター
トデータやエンドデータをチェックしなければならず、
データ転送にかかる処理負荷は確実に増大する。またこ
の場合、データそのものにこれらスタートデータやエン
ドデータと同一の値を用いることができないなどの制限
もある。
たものであり、複数バイトのデータで1つの情報が形成
されるデータセットであれ、それらデータが混同される
ことなく、しかも効率よく、これを転送することのでき
るDMA制御装置を提供することを目的とする。
も、スタートデータやエンドデータの付与を不要とし
て、これを確実、且つ効率よく転送することのできるD
MA制御装置を提供することを目的とする。
ため、この発明では、所定バイト単位でシリアル通信さ
れるデータの複数によって1つの情報が形成されるデー
タセットをメモリに書き込み、若しくはメモリから読み
出すDMA制御装置として、請求項1に記載したよう
に、 (a)前記データセットを形成するデータの数から前記
シリアル通信されるデータを引いた数のデータが一時貯
蔵されるデータセット調整レジスタ。 (b)このレジスタに貯蔵されるデータと当該シリアル
通信されるデータとのデータセットにて前記メモリを一
括アクセスする制御手段。をそれぞれ具える構成とす
る。
よれば、例えば前述した2バイトのデータで1つの情報
が形成されるデータセットの転送に際し、同データセッ
トを形成する一方のデータのみを対象として上記メモリ
(通常はRAM)がアクセスされることはなくなる。す
なわちこうしたデータセットの場合、少なくともその両
方のデータが揃っていることを条件に、当該データセッ
トを対象とする一括したメモリアクセスが行われるよう
になる。
リに対して、例えばワード単位での非同期アクセスが行
われる場合であれ、それらデータセット以外のデータが
混同してアクセスされることはなくなり、矛盾した制御
が行われるなどの不都合も自ずと解消されるようにな
る。
1バイト単位でシリアル通信され、前記データセットが
2バイトのデータで1つの情報が形成されるときには、
請求項2記載の発明によるように、上記制御手段を、
(b1)奇数番目に受信されるデータを前記データセッ
ト調整レジスタに一時貯蔵しつつ、これを偶数番目に受
信されるデータと共に一括して前記メモリに書き込み制
御するもの。として構成することで、それらデータが混
同されることなく、しかも効率のよいメモリへのデータ
セット書き込み処理が実現されるようになる。
項3記載の発明によるように、上記制御手段を、(b
2)前記メモリから前記データセットを一括して読み込
むとともにその偶数番目のデータを前記データセット調
整レジスタに一時貯蔵し、奇数番目のデータを送信した
後、該貯蔵した偶数番目のデータを送信するもの。とし
て構成することで、この場合もそれらデータが混同され
ずに且つ効率のよいメモリからのデータセット読み出し
処理が実現されるようになる。
上記データセット調整レジスタ、及び制御手段に更に加
えて、 (c)前記データセットを形成するデータの数がバイト
長情報として記憶されるバイト長メモリ。を併せ具える
とともに、上記制御手段を、(b3)前記バイト長メモ
リに記憶された値−1の数のデータを前記データセット
調整レジスタに一時貯蔵し、同貯蔵されるデータと当該
シリアル通信されるデータとのデータセットにて前記メ
モリを一括アクセスするもの。として構成すれば、如何
なるバイト長からなるデータセットについても、それら
データが揃っていることを条件に、同データセットを対
象とする一括したメモリアクセスが行われるようにな
る。
モリに対して、例えばワード単位での非同期アクセスが
行われる場合であれ、それらデータセット以外のデータ
が混同してアクセスされることはなくなり、矛盾した制
御が行われるなどの不都合も解消されるようになる。
によるように、(c1)上記バイト長メモリに記憶され
るバイト長情報を固定値とする。といった構成によれ
ば、固定されたバイト長を単位としてデータ転送が行わ
れるシステムにとっては、極めて簡易な構成にてこうし
たデータセットを対象とする一括したメモリアクセスが
行われるようになり、また請求項6記載の発明によるよ
うに、(c2)上記バイト長メモリに記憶されるバイト
長情報は外部から可変設定される。といった構成によれ
ば、前述した可変長データについても、それらデータセ
ットを対象とする柔軟且つ効率のよいメモリアクセスが
行われるようになる。
しては、更に請求項7記載の発明によるように、(c2
1)前記バイト長メモリに記憶されるバイト長情報は、
前記シリアル通信されるデータに先立ち、同シリアル通
信されるデータの1つとしてその旨示す適宜のコマンド
と共に転送される。(b31)前記制御手段は、該バイ
ト長情報が受信される都度これを前記バイト長メモリに
更新登録する。といった構成によって、上記バイト長情
報を外部から可変設定するための手段を特に設けずと
も、当該シリアル通信系をそのまま流用して同バイト長
情報の可変設定を行うことができるようになる。
セットのバイト長を変更するときにのみ上記バイト長情
報を転送すればよく、少なくとも前述したスタートデー
タやエンドデータを付与する場合に比べてその処理負荷
は大きく軽減される。
のコマンドが付与されて転送されることから、転送対象
となるデータと該バイト長情報とが混同されることもな
い。すなわち、データとして用いることのできる値に制
限が加わるようなことも一切ない。
ル通信され、前記バイト長メモリに記憶されるバイト長
情報がn(nは自然数)であるとするとき、請求項8記
載の発明によるように、上記制御手段を、(b4)第1
番目から第(n−1)番目まで受信されるデータを順次
前記データセット調整レジスタに一時貯蔵しつつ、これ
を第n番目に受信されるデータと共に一括して前記メモ
リに書き込み制御するもの。として構成することで、こ
の場合もそれらデータが混同されることなく、しかも効
率のよいメモリへのデータセット書き込み処理が実現さ
れるようになる。
シリアル通信され、前記バイト長メモリに記憶されるバ
イト長情報がn(nは自然数)であるとするとき、請求
項9記載の発明によるように、上記制御手段を、(b
5)前記メモリからnバイトのデータセットを一括して
読み込むとともにその第2番目から第n番目のデータを
前記データセット調整レジスタに一時貯蔵し、第1番目
のデータを送信した後、該貯蔵した第2番目から第n番
目のデータを順次送信するもの。として構成すること
で、上述同様、それらデータが混同されずに且つ効率の
よいメモリからのデータセット読み出し処理が実現され
るようになる。
イレクトメモリアクセス)制御装置についてその第1の
実施形態を示す。
ジン制御用のマルチCPUシステムにあって、前述した
DMA方式によるバイトデータを単位としてのシリアル
通信に際し、2バイトのデータで1つの情報が形成され
るデータセットが転送される場合であっても、それらデ
ータが混同されることなくメモリへの書き込み、或いは
メモリからの読み出しを行うことのできる装置として構
成されている。
装置が適用されるエンジン制御用のマルチCPUシステ
ムについてその全体の構成を説明する。同システムにお
いて、エンジン制御装置としての主制御装置を構成する
第1のマイクロコンピュータ1は、エンジン(図示せ
ず)の燃料噴射量制御や点火時期制御等、エンジンの運
転状態を直接制御するマイクロコンピュータである。
下に説明する補助制御装置としての第2のマイクロコン
ピュータ2との間で前述したDMA方式によるデータ通
信を行うDMA制御部11をはじめ、上記制御量として
の燃料噴射量や点火時期等を演算するCPU12、主に
データメモリとして用いられるRAM13、そして主に
プログラムメモリとして用いられるROM14等が内蔵
されている。
12によって起動されることによりRAM13やROM
14に格納されているデータを第2のマイクロコンピュ
ータ2に転送したり、同第2のマイクロコンピュータ2
から必要なデータを取り込む部分である。
RAM13やROM14がアクセスされている期間は、
それらメモリに対するCPU12からの重複したアクセ
スが行われないよう、同DMA制御部11からCPU1
2に対してホールド要求Hreqが出力される。CPU
12では、該ホールド要求Hreqが出力されている
間、メモリアクセス等を控えて待機する。
M14はもとより、第2のマイクロコンピュータ2の後
述するRAM23についても、その何処にどのようなデ
ータが格納されているかを把握している。
ロコンピュータ2は、エンジンに取り付けられた各種セ
ンサ(図示せず)からそれらセンシングデータを取り込
むとともに、例えばノック制御や負荷制御等の補助的な
制御を主に実行するマイクロコンピュータである。
上記第1のマイクロコンピュータ1のDMA制御部11
との間でデータ通信を行うDMA制御部21をはじめ、
上記ノック制御や負荷制御にかかる制御量を演算するC
PU22、主にデータメモリとして用いられるRAM2
3、プログラムメモリとして用いられるROM24、更
には水温センサや吸気温センサ、エアフローメータなど
によるアナログセンシングデータをディジタル量に変換
するA/D変換器25、並びにそれらディジタル量に変
換すべきデータを選択するマルチプレクサ26等が内蔵
されている。
制御部11から受信されるコマンドに基づいて、RAM
23へのデータ書き込みやRAM23からのデータ読み
出しにかかるメモリアクセス、並びにA/D変換器25
を起動してのA/D変換処理やその処理結果の返信等を
行う部分である。これらDMA制御部11及びDMA制
御部21の詳細、並びにそれらデータの通信構造につい
ては、後に、図2〜図14を参照して詳述する。
にあっても、DMA制御部21によってRAM23がア
クセスされている期間は、同RAM23に対するCPU
22からの重複したアクセスが行われないよう、DMA
制御部21からCPU22に対してホールド要求Hre
qが出力される。CPU22では、このホールド要求H
reqが出力されている間、メモリアクセス等を控えて
待機する。
ピュータ2において、CPU22によるRAM23のア
クセスは、DMA制御部21による上述したRAM23
へのアクセスとは非同期に実行される。
23の何処にどのようなデータが格納されているかを常
に把握しており、上記ノック制御や負荷制御等に際して
必要なときに、それら必要とされるデータをRAM23
から読み込み、或いはRAM23に書き込む。
制御部11及びDMA制御部21についてその具体構成
を示したものであり、次に、同図2を併せ参照して、そ
れらDMA制御部におけるデータ通信構造を更に詳述す
る。
11は、16ステージからなるシフトレジスタ111と
シフトクロック発生回路112とを具えて構成されてお
り、DMA制御部21は、同じく16ステージからなる
シフトレジスタ211とシリアルI/Oコントローラ2
12、及びデータセット調整レジスタ213を具えて構
成されている。
ジスタ111及び211は、同図2に示される態様でル
ープ状に接続されており、DMA制御部11側に設けら
れたシフトクロック発生回路112から出力されるシフ
トクロックSCLKに基づいて互いのデータが交換され
るようになる。
211では、このシフトクロックSCLKの1クロック
毎に、・シフトレジスタ111の先頭ビット(bit1
5)がシフトレジスタ211の最終ビット(bit0)
に転送される(DMA制御部21からみたシリアル受信
信号Sin)。・シフトレジスタ211の先頭ビット
(bit15)がシフトレジスタ111の最終ビット
(bit0)に転送される(DMA制御部21からみた
シリアル送信信号Sout)。といったシフト動作が同
時に実行されるものであり、ここでの例の場合、シフト
クロックSCLKが16クロック出力されることで、そ
れら各シフトレジスタ111及び211にセットされて
いる16ビット分のデータ(メッセージ)が全て交換さ
れるようになる。
らDMA制御部11及びDMA制御部21でのビットデ
ータサンプリング態様を参考までに示す。この図3に示
されるように、同実施形態の装置にあっては、シフトク
ロックSCLKの立下りに同期して上記ビットデータの
送信が行われ、同シフトクロックSCLKの立上りに同
期して当該ビットデータのサンプリングが行われる。
フトレジスタ111にセットされる16ビットのメッセ
ージには、授受の対象となる通常1バイト(8ビット)
からなるデータの他に、 (A)RAM23へのデータ書き込み要求コマンド (B)RAM23からのデータ読み出し要求コマンド (C)A/D変換要求コマンド 等のコマンドが含まれる。
ルI/Oコントローラ212は、上記シフトクロックS
CLKに基づくいわゆるハンドシェイクでのシリアルデ
ータ交換に際し、その受信されたメッセージの上記コマ
ンドを解読してRAM23や上記A/D変換器25に対
するアクセスを実行する部分である。
2では、それら要求されるアクセスを終え、上記シフト
レジスタ211に該当するデータをセットするなどその
要求に応じる用意ができた時点で、処理完了信号EOC
Tを上記DMA制御部11に対し出力する(正確にはそ
の論理レベルを論理ハイレベルに立ち上げる)。DMA
制御部11では、シリアルI/Oコントローラ212か
らこうして処理完了信号EOCTが出力されることによ
って当該要求に応じる用意ができた旨判断し、上記シフ
トクロック発生回路112を再起動して、上記シフトレ
ジスタ111にセットしたデータの転送、或いは同シフ
トレジスタ111へのデータの取り込みを行うこととな
る。
ータ通信の具体例について、上記各コマンドによる要求
内容との対応のもとに順次列記する。 (A)RAM23へのデータ書き込み要求 同システムにおいて、上記エンジン制御装置(主制御装
置)を構成する第1のマイクロコンピュータ1から上記
補助制御装置を構成する第2のマイクロコンピュータ2
のRAM23に対して書き込み要求されるデータとして
は、例えば図4に例示するようなノック制御用のデータ
がある。
上記第1のマイクロコンピュータ1のROM14に予め
登録されている ・ノック判定補正値のマップデータ ・フェイル判定レベルのマップデータ ・ゲート区間のマップデータ 等々についてその記憶構造を模式的に示したものであ
り、また図4(b)は、それらデータの転送先(書き込
み先)である上記第2のマイクロコンピュータ2のRA
M23についてそのバンク構造を模式的に示したもので
ある。
るように、上記ROM14に予め登録されているデータ
のうち、「ノック判定補正値のマップデータ」はRAM
23の「バンク0」に、「フェイル判定レベルのマップ
データ」はRAM23の「バンク1」に、「ゲート区間
のマップデータ」はRAM23の「バンク2」にそれぞ
れ書き込まれるものとしている。RAM23の「バンク
3」には、例えば上述した負荷制御用のデータなどが書
き込まれる。
て、「ノック判定補正値のマップデータ」とは、エンジ
ンのノック判定の際に使用される補正値についてこれを
マップ化したデータである。また「フェイル判定レベル
のマップデータ」とは、ノックセンサ(図示せず)の断
線検出を行う際に使用される基準値(比較値)について
これをマップ化したデータである。そして、ノック制御
にあっては通常、ノックセンサの出力をピークホールド
し、そのピークホールドレベルに応じた振動抑制制御を
行うこととなる。「ゲート区間のマップデータ」とは、
このノックセンサの出力をピークホールドする区間につ
いてこれをマップ化したデータである。
23へのデータ書き込み要求に際してDMA制御部11
を通じて上記シフトレジスタ111にセットされるシリ
アルデータのデータ構造、並びにDMA制御部21を通
じて上記シフトレジスタ211にセットされるシリアル
データのデータ構造をそれぞれ示す。
DMA制御部11からは図5(a)に示されるように、 ・書き込み要求コマンド「011」(bit15〜bi
t13) ・RAM23内の書き込み指定バンク(bit12〜b
it9) ・ダミーデータ(bit8) ・上記各マップデータ等の書き込みデータ(bit7〜
bit0) といったデータ構造にて上記16ビットからなるメッセ
ージが送信される。
A制御部21からは、図5(b)に示されるように、 ・ダミーデータ(bit15〜bit6) ・当該データ書き込みが正常終了したか否かを示す判別
ビット(bit5) ・ダミーデータ(bit4) ・RAM23内の書き込みバンク(bit3〜bit
0) といったデータ構造にて、これも上記16ビットからな
るメッセージが返信される。なお、bit3〜bit0
の「RAM23内の書き込みバンク」としては、上記受
信メッセージのbit12〜bit9にある「RAM2
3内の書き込み指定バンク」のコピーが用いられる。
21とでこうしたデータ構造を持つメッセージが授受さ
れる該データ書き込み要求時のデータ転送態様を示した
ものであり、次に、この図6を併せ参照して、データ書
き込み要求時におけるDMA制御部11並びにDMA制
御部21の基本動作を説明する。
のCPU12からの指示に基づき、図5(a)に示した
メッセージがそのシフトレジスタ111に予めセットさ
れ、他方のDMA制御部21にあっては、ダミーデータ
がそのシフトレジスタ211に予めセットされる。
トクロックSCLKがDMA制御部11側から発せられ
たとすると(図6(a))、このクロックSCLKの最
初の立下りに同期して上記信号EOCTがひとまず論理
ハイレベルに立ち上げられるとともに(図6(d))、
同クロックSCLKの16クロック出力に基づいて、そ
れら各シフトレジスタ111及び211にセットされて
いるメッセージが先の図2及び図3に示される態様で交
換される(図6(b)及び(c))。
スタ211には、上記書き込み要求コマンド「011」
をはじめ、RAM23内の書き込み指定バンク、並びに
上記各マップデータ等からなるとする第1番目の書き込
みデータ(データ1)が受信されることとなる。
ローラ212では、この受信メッセージに含まれる上記
書き込み要求コマンド「011」に基づいて当該メッセ
ージがRAM23への書き込み要求である旨を判断し、
当該データ1をRAM23内の指定されたバンクに書き
込むなど、同要求に応ずるべく所定の処理を実行した
後、図5(b)に示した構造の返信メッセージをシフト
レジスタ211にセットする。そしてその後、上記信号
EOCTを論理ハイレベルに立ち上げて、該処理が完了
した旨をDMA制御部11に通知する(図6(d)時刻
t13、なお同信号EOCTは上記シフトクロックSCL
Kの最後の立上り(時刻t12)に同期して論理ハイレベ
ルに立ち下げられている)。
に、該信号EOCTが論理ハイレベルに立ち上げられる
ことによって先の要求が満たされた旨判断する。そし
て、引き続き、図5(a)に示したデータ構造にて、書
き込み要求コマンド「011」をはじめ、RAM23内
の書き込み指定バンク、並びに第2番目の書き込みデー
タ(データ2)をそのシフトレジスタ111にセットし
た後、時刻t14に、シフトクロック発生回路112を起
動して、同メッセージとDMA制御部21のシフトレジ
スタ211にセットされている上記返信メッセージとを
交換する。
準じた処理が、これらDMA制御部11及びDMA制御
部21を通じて繰り返し実行されることとなる(時刻t
15、時刻t16、…)。 (B)RAM23からのデータ読み出し要求 同システムにおいて、上記エンジン制御装置(主制御装
置)を構成する第1のマイクロコンピュータ1が上記補
助制御装置を構成する第2のマイクロコンピュータ2の
RAM23から読み出し要求するデータとしては、同第
2のマイクロコンピュータ2による例えば負荷状態等に
ついての演算値がある。
23からのデータ読み出し要求に際してDMA制御部1
1を通じて上記シフトレジスタ111にセットされるシ
リアルデータのデータ構造、並びにDMA制御部21を
通じて上記シフトレジスタ211にセットされるシリア
ルデータのデータ構造をそれぞれ示す。
DMA制御部11からは図7(a)に示されるように、 ・読み出し要求コマンド「010」(bit15〜bi
t13) ・RAM23内の読み出し指定バンク(bit12〜b
it9) ・ダミーデータ(bit8〜bit0) といったデータ構造にて上記16ビットからなるメッセ
ージが送信される。
A制御部21からは、図7(b)に示されるように、 ・RAM23からの指定された読み出しデータ(bit
15〜bit8) ・ダミーデータ(bit7〜bit6) ・当該データ読み出しが正常終了したか否かを示す判別
ビット(bit5) ・ダミーデータ(bit4) ・RAM23内の読み出しバンク(bit3〜bit
0) といったデータ構造にて、これも上記16ビットからな
るメッセージが返信される。なお、bit3〜bit0
の「RAM23内の読み出しバンク」としても、上記受
信メッセージのbit12〜bit9にある「RAM2
3内の読み出し指定バンク」のコピーが用いられる。
21とでこうしたデータ構造を持つメッセージが授受さ
れる該データ読み出し要求時のデータ転送態様を示した
ものであり、次に、この図8を併せ参照して、データ読
み出し要求時におけるDMA制御部11並びにDMA制
御部21の基本動作を説明する。
のCPU12からの指示に基づき、図7(a)に示した
メッセージがそのシフトレジスタ111に予めセットさ
れ、他方のDMA制御部21にあっては、ダミーデータ
がそのシフトレジスタ211に予めセットされる。
トクロックSCLKがDMA制御部11側から発せられ
たとすると(図8(a))、このクロックSCLKの最
初の立下りに同期して上記信号EOCTがひとまず論理
ハイレベルに立ち上げられるとともに(図8(d))、
同クロックSCLKの16クロック出力に基づいて、そ
れら各シフトレジスタ111及び211にセットされて
いるメッセージが先の図2及び図3に示される態様で交
換される(図8(b)及び(c))。
スタ211には、上記読み出し要求コマンド「010」
をはじめ、RAM23内の読み出し指定バンクが受信さ
れることとなる。
ローラ212では、この受信メッセージに含まれる上記
読み出し要求コマンド「010」に基づいて当該メッセ
ージがRAM23からの読み出し要求である旨を判断
し、上記演算値からなるとする第1番目の読み出しデー
タ(データ1)をRAM23内の指定されたバンクから
読み出すなど、同要求に応ずるべく所定の処理を実行し
た後、図7(b)に示した構造の返信メッセージをシフ
トレジスタ211にセットする。そしてその後、上記信
号EOCTを論理ハイレベルに立ち上げて、該処理が完
了した旨をDMA制御部11に通知する(図8(d)時
刻t23、なお同信号EOCTは上記シフトクロックSC
LKの最後の立上り(時刻t22)に同期して論理ハイレ
ベルに立ち下げられている)。
に、該信号EOCTが論理ハイレベルに立ち上げられる
ことによって先の要求が満たされた旨判断する。そし
て、引き続き、図7(a)に示したデータ構造にて、読
み出し要求コマンド「010」をはじめ、RAM23内
の読み出し指定バンクをそのシフトレジスタ111にセ
ットした後、時刻t24に、シフトクロック発生回路11
2を起動して、同メッセージとDMA制御部21のシフ
トレジスタ211にセットされている上記返信メッセー
ジとを交換する。この交換された返信メッセージのう
ち、上記読み出しデータ(データ1)は、同DMA制御
部11を通じて、第1のマイクロコンピュータ1のRA
M13に格納される。
準じた処理が、これらDMA制御部11及びDMA制御
部21を通じて繰り返し実行されることとなる(時刻t
25、時刻t26、…)。 (C)A/D変換要求 同システムにおいて、上記エンジン制御装置(主制御装
置)を構成する第1のマイクロコンピュータ1自身は、
先の図1に示されるようにA/D変換器を持たない。こ
のため、前述した燃料噴射量制御や点火時期制御に際し
て、例えば冷却水温等についてのセンシングデータを取
り込む必要が生じた場合には、上記補助制御装置を構成
する第2のマイクロコンピュータ2に対してA/D変換
要求を発し、前記A/D変換器25を通じてA/D変換
処理された結果を転送してもらうこととなる。
変換要求に際してDMA制御部11を通じて上記シフト
レジスタ111にセットされるシリアルデータのデータ
構造、並びにDMA制御部21を通じて上記シフトレジ
スタ211にセットされるシリアルデータのデータ構造
をそれぞれ示す。
A制御部11からは図9(a)に示されるように、 ・A/D変換要求コマンド「001」(bit15〜b
it13) ・A/D変換の指定チャネル(bit12〜bit8) ・ダミーデータ(bit7〜bit0) といったデータ構造にて上記16ビットからなるメッセ
ージが送信される。
A制御部21からは、図9(b)に示されるように、 ・A/D変換結果(bit15〜bit8、若しくはb
it6) ・当該A/D変換が正常終了したか否かを示す判別ビッ
ト(bit5) ・指定されたA/D変換チャネル(bit4〜bit
0) といったデータ構造にて、これも上記16ビットからな
るメッセージが返信される。なお、上記「A/D変換結
果」は、8ビットからなるデータ(bit15〜bit
8)と10ビットからなるデータ(bit15〜bit
6)との2種類のデータに対応できるようになってい
る。また、bit4〜bit0の「指定されたA/D変
換チャネル(ch)」としては、これも上記受信メッセ
ージのbit12〜bit8にある「A/D変換の指定
チャネル」のコピーが用いられる。
部21とでこうしたデータ構造を持つメッセージが授受
される該A/D変換要求時のデータ転送態様を示したも
のであり、次に、この図10を併せ参照して、A/D変
換要求時におけるDMA制御部11並びにDMA制御部
21の基本動作を説明する。
のCPU12からの指示に基づき、図9(a)に示した
メッセージがそのシフトレジスタ111に予めセットさ
れ、他方のDMA制御部21にあっては、ダミーデータ
がそのシフトレジスタ211に予めセットされる。
トクロックSCLKがDMA制御部11側から発せられ
たとすると(図10(a))、このクロックSCLKの
最初の立下りに同期して上記信号EOCTがひとまず論
理ハイレベルに立ち上げられるとともに(図10
(d))、同クロックSCLKの16クロック出力に基
づいて、それら各シフトレジスタ111及び211にセ
ットされているメッセージが先の図2及び図3に示され
る態様で交換される(図10(b)及び(c))。
スタ211には、上記A/D変換要求コマンド「00
1」をはじめ、A/D変換の指定チャネルが受信される
こととなる。
ローラ212では、この受信メッセージに含まれる上記
A/D変換要求コマンド「001」に基づいて当該メッ
セージがA/D変換要求である旨を判断し、前記A/D
変換器25を起動してその指定されたチャネル(ch
0)のA/D変換を行わしめ、その結果を取り込むな
ど、同要求に応ずるべく所定の処理を実行した後、図9
(b)に示した構造の返信メッセージをシフトレジスタ
211にセットする。そしてその後、上記信号EOCT
を論理ハイレベルに立ち上げて、該処理が完了した旨を
DMA制御部11に通知する(図10(d)時刻t33、
なお同信号EOCTは上記シフトクロックSCLKの最
後の立上り(時刻t32)に同期して論理ハイレベルに立
ち下げられている)。
に、該信号EOCTが論理ハイレベルに立ち上げられる
ことによって先の要求が満たされた旨判断する。そし
て、引き続き、図9(a)に示したデータ構造にて、A
/D変換要求コマンド「001」をはじめ、A/D変換
の指定チャネルをそのシフトレジスタ111にセットし
た後、時刻t34に、シフトクロック発生回路112を起
動して、同メッセージとDMA制御部21のシフトレジ
スタ211にセットされている上記返信メッセージとを
交換する。この交換された返信メッセージのうち、上記
A/D変換結果(ch0のデータ)は、同DMA制御部
11を通じて、第1のマイクロコンピュータ1のRAM
13に格納される。
に準じた処理が、これらDMA制御部11及びDMA制
御部21を通じて繰り返し実行されることとなる(時刻
t35、時刻t36、…)。ところで、これら処理のうち、
特に(A)の「RAM23へのデータ書き込み要求」や
(B)の「RAM23からのデータ読み出し要求」にお
いては上述のように、その1度の通信で転送することの
できるデータが1バイト(8ビット)のデータとなって
いる。このため前述のように、例えば2バイトのデータ
で1つの情報が形成されるデータセットを転送しようと
する場合には、同シリアル通信を2度に亘って実行する
必要がある。
マイクロコンピュータ2にあって、CPU22によるR
AM23に対するアクセスはワード(2バイト=16ビ
ット)単位で行われることもあること、しかもこのCP
U22によるRAM23へのアクセスは上記DMA制御
部21による同RAM23へのアクセスとは非同期に行
われることも前述した。
タ2において、前記ホールド要求Hreqにより上記R
AM23に対するCPU22の重複したアクセスが制限
されるとはいえ、DMA制御部21によって例えば第1
番目のデータ(データ1)がRAM23に書き込まれた
直後、すなわちこのホールド要求Hreqが一旦解除さ
れた直後、CPU22によって同RAM23に対するワ
ード単位でのアクセスが行われたような場合には、やは
り先の図19に例示したような不都合が生じることとな
る。
示したように、DMA制御部21にデータセット調整レ
ジスタ213を設け、該データセット調整レジスタ21
3を通じてそれらデータの混同を回避するようにしてい
る。
リアルI/Oコントローラ212を通じて実行されるI
/O制御ルーチン(実際にはこれと同等の処理がハード
ウェアによる論理演算によって実現される)を示したも
のであり、次に、この図11を併せ参照して、同実施形
態のDMA制御装置によるデータ転送構造を更に詳述す
る。
Oコントローラ212では、シフトクロックSCLKの
状態に基づいてDMA制御部11からの受信メッセージ
の有無を常時監視している。そして、この受信メッセー
ジの到来があると、ステップS100にて、これに含ま
れるコマンド(上位3ビット)を解読し、該解読したコ
マンドの内容に応じて、上述した (A)RAM23へのデータ書き込み要求 (B)RAM23からのデータ読み出し要求 (C)A/D変換要求 にそれぞれ対応したステップS110以降の処理、ステ
ップS120以降の処理、及びステップS130以降の
処理を実行する。
「RAM23へのデータ書き込み要求(011)」であ
ったとすると、シリアルI/Oコントローラ212はま
ず、ステップS110にて、その指定されているバンク
が前回指定されたバンクと同一であるか否かを判断す
る。
たバンクと同一ではない旨判断される場合、シリアルI
/Oコントローラ212は、その内蔵するカウンタCN
Tに値「1」をセットし(ステップS111)、当該メ
ッセージに含まれるデータを上記データセット調整レジ
スタ213に一時貯蔵する(ステップS112)。
1にダミーデータをセットし(ステップS113)、処
理完了信号EOCTを論理ハイレベルに立ち上げて(ス
テップS140)、当該処理を一旦終える。
指定バンクが前回指定されたバンクと同一である旨判断
される場合、シリアルI/Oコントローラ212は、上
記カウンタCNTの値を「CNT←CNT+1」といっ
た態様でインクリメントする(ステップS114)。
CNTの値が奇数か偶数かを更に判断し(ステップS1
15)、奇数であった場合には、上記ステップS112
の処理に移行する。すなわち、当該メッセージに含まれ
るデータを上記データセット調整レジスタ213に一時
貯蔵し、シフトレジスタ211にダミーデータをセット
した上で処理完了信号EOCTを論理ハイレベルに立ち
上げ、当該処理を一旦終える。
た場合には、その時点で上記データセット調整レジスタ
213に貯蔵されているデータと当該メッセージに含ま
れるデータとを一括してRAM23の当該指定バンクに
書き込む(ステップS116)。
スタ211にダミーデータをセットし(ステップS11
7)、処理完了信号EOCTを論理ハイレベルに立ち上
げて(ステップS140)、当該処理を一旦終える。
み制御が繰り返されることにより、例えば図4に例示し
たマップデータを構成するデータのうちの各連続する奇
数番目のバイトデータと偶数番目のバイトデータとは、
常に2バイトの対のデータとしてRAM23に書き込ま
れるようになる。
うに、奇数番目のデータである「新データ1」の転送が
終了された直後に、CPU22からRAM23に対しワ
ードアクセスが行われたとしても、それらCPU22に
取り込まれるワードデータは何れも「旧データ」のまま
である。したがって、少なくともこのワードデータに基
づく制御が行われたとしても、その制御に大きな矛盾を
生じることはない。
うに、偶数番目のデータである「新データ2」の転送が
終了された後であれば、RAM23にはそれら対となる
べく「新データ1」と「新データ2」とが常に同時に存
在するようになる。したがってこの場合、CPU22か
らRAM23に対しワードアクセスが行われたとき、同
CPU22に取り込まれるワードデータは何れも「新デ
ータ」となる。そしてこのときには勿論、それら「新デ
ータ」に基づく制御が正常に実行されるようになる。
いて、上記解読したコマンドが「RAM23からのデー
タ読み出し要求(010)」であったとすると、シリア
ルI/Oコントローラ212は、ステップS120に
て、その指定されているバンクが前回指定されたバンク
と同一であるか否かを判断する。
たバンクと同一ではない旨判断される場合、シリアルI
/Oコントローラ212は、その内蔵するカウンタCN
Tに値「1」をセットする(ステップS121)。そし
てその後、当該メッセージに含まれる指定バンクに基づ
いてRAM23の当該バンクに格納されている2つの連
続するバイトデータを読み込み、その1番目(奇数番
目)のデータについてはこれを上記シフトレジスタ21
1にセットし、また2番目(偶数番目)のデータについ
てはこれを上記データセット調整レジスタ213に一時
貯蔵する(ステップS122)。
論理ハイレベルに立ち上げて(ステップS140)、当
該処理を一旦終える。一方、上記指定バンクの比較の結
果、当該指定バンクが前回指定されたバンクと同一であ
る旨判断される場合、シリアルI/Oコントローラ21
2は、上記カウンタCNTの値を「CNT←CNT+
1」といった態様でインクリメントする(ステップS1
23)。
CNTの値が奇数か偶数かを更に判断し(ステップS1
24)、奇数であった場合には、上記ステップS122
の処理に移行する。すなわち、当該メッセージに含まれ
る指定バンクに基づいてRAM23の当該バンクに格納
されている2つの連続するバイトデータを読み込み、そ
の1番目(奇数番目)のデータについてはこれを上記シ
フトレジスタ211にセットし、また2番目(偶数番
目)のデータについてはこれを上記データセット調整レ
ジスタ213に一時貯蔵した上で処理完了信号EOCT
を論理ハイレベルに立ち上げ、当該処理を一旦終える。
た場合には、その時点で上記データセット調整レジスタ
213に貯蔵されているデータを上記シフトレジスタ2
11にセットする(ステップS125)。
OCTを論理ハイレベルに立ち上げて(ステップS14
0)、当該処理を一旦終える。DMA制御部21を通じ
てこうした読み出し制御が繰り返されることにより、例
えば図14に模式的に示すように、RAM23に格納さ
れているデータのうちの各連続する奇数番目のバイトデ
ータと偶数番目のバイトデータとは、常に2バイトの対
のデータとして同RAM23から読み出されるようにな
る。したがって、例えばCPU22のワードアクセスに
より、それら連続する2バイトのデータが同時に書き換
えられるような場合であれ、それら読み出されるデータ
に矛盾が生じることもなくなる。
て、上記解読したコマンドが「A/D変換要求(00
1)」であった場合、シリアルI/Oコントローラ21
2は、ステップS130にて、その指定されているA/
D変換チャネル(ch)を選択し、前記A/D変換器2
5を起動する。そしてその後は、そのA/D変換結果を
上記シフトレジスタ211にセットし(ステップS13
1)、処理完了信号EOCTを論理ハイレベルに立ち上
げて(ステップS140)、当該処理を一旦終える。な
おこの場合、上記データセット調整レジスタ213は用
いられない。
DMA制御装置によれば、 (イ)2バイトのデータで1つの情報が形成されるデー
タセットの転送に際し、同データセットを形成する一方
のデータのみを対象としてRAM23がアクセスされる
ことはなくなる。すなわちこうしたデータセットの場
合、少なくともその両方のデータが揃っていることを条
件に、当該データセットを対象とする一括したメモリア
クセスが行われるようになる。 (ロ)またこのため、CPU22からRAM23に対し
て、例えばワード単位での非同期アクセスが行われる場
合であれ、それらデータセット以外のデータが混同して
アクセスされることはなくなり、矛盾した制御が行われ
るなどの不都合も自ずと解消されるようになる。 (ハ)また更に、RAM23に格納されているデータの
うちの各連続するバイトデータも、常に2バイトの対の
データとして同RAM23から読み出されるようにな
る。したがって、例えばCPU22のワードアクセスに
より、それら連続する2バイトのデータが同時に書き換
えられるような場合であれ、それら読み出されるデータ
に矛盾が生じることもなくなる。 (ニ)しかも、このような好適なデータ転送を実現する
のに、それら授受されるメッセージ自体には何等の変更
も要しない。 等々、多くの優れた効果が奏せられるようになる。
からも明らかなように、同実施形態の装置にあっては、
上記データセットが偶数バイトのデータからなることを
想定している。このため、例えばRAM23へのデータ
書き込み要求に際して、偶数バイトからなるデータセッ
トについてはそれらデータの全てをRAM23に書き込
むことができるが、奇数バイトからなるデータセットの
場合、或いは通信異常等によって偶数番目のデータが送
られてこなかったような場合には、その最後のデータ、
或いは通信異常となる直前のデータが上記データセット
調整レジスタ213において廃棄(上書き)されてしま
うことになる。ただし、そのような場合であっても、・
偶数番目のデータとしてダミーデータを別途転送する。 ・偶数番目のデータであるにも拘わらずコマンド若しく
は指定バンクが前回のメッセージと異なるとき、上記デ
ータセット調整レジスタ213に貯蔵されているデータ
を単独でRAM23のそれまでの指定バンクに強制書き
込みする。等々の制御手法を併用することで、こうした
不都合を解消することができるようになる。
かるDMA制御装置の第2の実施形態を示す。この第2
の実施形態の装置も、基本的には先の第1の実施形態の
装置と同様、例えばエンジン制御用のマルチCPUシス
テムにあって、複数バイトのデータで1つの情報が形成
されるデータセットのDMA転送を適正に実現すること
のできる装置として構成されている。ただし、この第2
の実施形態の装置にあっては、補助制御装置(第2のマ
イクロコンピュータ)側のDMA制御部に変更を加え、
前述した可変長データをも扱うことができるようにして
いる。
点を中心に、同第2の実施形態にかかる装置の構成、並
びにデータ転送構造を詳述する。さて同第2の実施形態
の装置では、図15に示されるように、第2のマイクロ
コンピュータに配されるDMA制御部21’が、前記デ
ータセット調整レジスタ213に加え、バイト長メモリ
214を具える構成となっている。
イクロコンピュータ側のDMA制御部11とこのDMA
制御部21’との間で転送されるデータセットが何バイ
トのデータからなるかを示す情報、すなわちデータセッ
トのバイト長情報BLが格納されるメモリである。
/Oコントローラ212では、このバイト長メモリ21
4に格納されているバイト長情報BLを併せ参照して、
上記データセット調整レジスタ213の操作、並びにR
AM23のアクセスを実行することとなる。
シリアルI/Oコントローラ212を通じて実行される
I/O制御ルーチン(これも実際には、これと同等の処
理がハードウェアによる論理演算によって実現される)
を示したものであり、次に、この図16を併せ参照し
て、同実施形態のDMA制御装置によるデータ転送構造
を更に詳述する。
Oコントローラ212ではこの場合も、シフトクロック
SCLKの状態に基づいてDMA制御部11からの受信
メッセージの有無を常時監視している。そして、この受
信メッセージの到来があると、ステップS200にて、
これに含まれるコマンド(上位3ビット)を解読し、該
解読したコマンドの内容に応じて、前述した (A)RAM23へのデータ書き込み要求 (B)RAM23からのデータ読み出し要求 (C)A/D変換要求 にそれぞれ対応したステップS210以降の処理、ステ
ップS220以降の処理、及びステップS230以降の
処理を実行する。
「RAM23へのデータ書き込み要求(011)」であ
ったとすると、シリアルI/Oコントローラ212はま
ず、ステップS210にて、その指定されているバンク
が前回指定されたバンクと同一であるか否かを判断す
る。
たバンクと同一ではない旨判断される場合、シリアルI
/Oコントローラ212は、その内蔵するカウンタCN
Tに値「1」をセットし(ステップS211)、当該メ
ッセージに含まれるデータを上記データセット調整レジ
スタ213に一時貯蔵する(ステップS212)。
1にダミーデータをセットし(ステップS213)、処
理完了信号EOCTを論理ハイレベルに立ち上げて(ス
テップS240)、当該処理を一旦終える。
指定バンクが前回指定されたバンクと同一である旨判断
される場合、シリアルI/Oコントローラ212は、上
記カウンタCNTの値を「CNT←CNT+1」といっ
た態様でインクリメントする(ステップS214)。
クリメントしたカウンタCNTの値が上記バイト長メモ
リ214に格納されているバイト長情報BLの倍数か否
かを更に判断し(ステップS215)、倍数でなかった
場合には、上記ステップS212の処理に移行する。す
なわち、当該メッセージに含まれるデータを上記データ
セット調整レジスタ213に一時貯蔵し、シフトレジス
タ211にダミーデータをセットした上で処理完了信号
EOCTを論理ハイレベルに立ち上げ、当該処理を一旦
終える。
報BLの倍数であった場合には、その時点で上記データ
セット調整レジスタ213に貯蔵されているデータ群と
当該メッセージに含まれるデータとを一括してRAM2
3の当該指定バンクに書き込む(ステップS216)。
スタ211にダミーデータをセットし(ステップS21
7)、処理完了信号EOCTを論理ハイレベルに立ち上
げて(ステップS240)、当該処理を一旦終える。
込み制御が繰り返されることにより、例えば先の図4に
例示したマップデータを構成するデータのうちの各連続
して1つの情報を形成するバイトデータ群は、常にそれ
らがセットとしてRAM23に書き込まれるようにな
る。
うに、上記バイト長メモリ214に格納されているバイ
ト長情報BLが「4」であった場合には、「新データ
1」〜「新データ3」までが上記データセット調整レジ
スタ213に順次一時貯蔵され、「新データ4」が受信
されたとき、これら「新データ1」〜「新データ4」か
らなる4バイト(32ビット)のデータセットが一括し
てRAM23に書き込まれるようになる。したがって、
もしも前記CPU22によってこのRAM23に対する
ワードアクセスが行われる場合であれ、この場合も「新
データ」と「旧データ」とが混同されることなく、適正
に取り込まれるようになる。
おいて、上記解読したコマンドが「RAM23からのデ
ータ読み出し要求(010)」であったとすると、シリ
アルI/Oコントローラ212は、ステップS220に
て、その指定されているバンクが前回指定されたバンク
と同一であるか否かを判断する。
たバンクと同一ではない旨判断される場合、シリアルI
/Oコントローラ212は、その内蔵するカウンタCN
Tに値「1」をセットする(ステップS221)。そし
てその後、上記バイト長メモリ214に格納されている
バイト長情報BLの参照のもとに、RAM23の当該指
定バンクからBLバイトのデータ群(データセット)を
一括して読み込む。そして、その1番目のデータについ
てはこれを上記シフトレジスタ211にセットし、また
2番目以降のデータについてはこれをその順番に従って
上記データセット調整レジスタ213に一時貯蔵する
(ステップS222)。
論理ハイレベルに立ち上げて(ステップS240)、当
該処理を一旦終える。一方、上記指定バンクの比較の結
果、当該指定バンクが前回指定されたバンクと同一であ
る旨判断される場合、シリアルI/Oコントローラ21
2は、上記カウンタCNTの値を「CNT←CNT+
1」といった態様でインクリメントする(ステップS2
23)。
CNTの値が上記バイト長情報BLの「倍数+1」か否
かを更に判断し(ステップS224)、該バイト長情報
BLの「倍数+1」であった場合には、上記ステップS
222の処理に移行する。
長情報BLの「倍数+1」ではなかった場合には、上記
データセット調整レジスタ213に貯蔵されている当該
データセットの2番目以降のデータを、同一ルーチンが
繰り返される都度、順番に上記シフトレジスタ211に
セットする(ステップS225)。
OCTを論理ハイレベルに立ち上げて(ステップS24
0)、当該処理を一旦終える。DMA制御部21’を通
じてこうした読み出し制御が実行されることにより、R
AM23に格納されているバイトデータがそれらデータ
セットを単位として一括して同DMA制御部21’に読
み込まれるようになる。
うに、上記バイト長メモリ214に格納されているバイ
ト長情報BLが「4」であった場合には、RAM23に
格納されているデータのうちの各連続する4バイトから
なるデータセットが一括してDMA制御部21’に読み
込まれることとなる。したがってこの場合も、例えばC
PU22のワードアクセスにより、それら連続するデー
タ群が同時に書き換えられるような場合であれ、それら
読み出されるデータに矛盾が生じることはなくなる。
おいても、上記解読したコマンドが「A/D変換要求
(001)」であった場合には、ステップS230に
て、その指定されているA/D変換チャネル(ch)の
選択、並びにA/D変換器25の起動が行われ、ステッ
プS231にて、そのA/D変換結果が上記シフトレジ
スタ211にセットされる。
かかるDMA制御装置によれば、先の実施形態での効果
に加えて、 (ホ)如何なるバイト長からなるデータセットについて
も、それらデータが揃っていることを条件に同データセ
ットを対象とする一括したメモリアクセスが行われるよ
うになる。 (ヘ)したがってこの場合も、CPU22からRAM2
3に対して例えばワード単位での非同期アクセスが行わ
れる場合であれ、それらデータセット以外のデータが混
同してアクセスされることはなくなる。 など、同DMA制御装置として更に望ましい効果が奏せ
られるようになる。
上記バイト長メモリ214に格納されるバイト長情報B
Lの設定手法は任意であり、少なくとも同バイト長情報
BLが外部から可変設定されるようにすることで、前述
した可変長データについてもそれらデータセットを対象
とする柔軟且つ効率のよいメモリアクセスが行われるよ
うになる。
は、前記シリアル通信されるデータに先立ち、同シリア
ル通信されるデータの1つとして、DMA制御部11か
らその旨示す適宜のコマンド(例えば「111」等、前
記(A)〜(C)の各コマンドとは異なるコマンド)と
共にDMA制御部21’に転送される。 ・DMA制御部21’のシリアルI/Oコントローラ2
12では、該バイト長情報BLが受信される都度これを
バイト長メモリ214に更新登録する。 といった構成を採用すれば、同バイト長情報BLを外部
から可変設定するための手段を特に設けずとも、当該シ
リアル通信系をそのまま流用してその可変設定を行うこ
とができるようになる。
セットのバイト長を変更するときにのみ上記バイト長情
報BLを転送すればよく、少なくとも前述したスタート
データやエンドデータを付与する場合に比べてその処理
負荷は大きく軽減される。
別途のコマンドが付与されて転送されることから、転送
対象となるデータと該バイト長情報BLとが混同される
こともない。すなわち、データとして用いることのでき
る値に制限が加わることは一切ない。
定されるバイト長情報BLは固定であってもよい。この
場合、可変長データを扱うことはできないが、固定され
たバイト長を単位としてデータ転送が行われるシステム
にとっては、極めて簡易な構成にてこうしたデータセッ
トを対象とする一括したメモリアクセスが行われるよう
になる。
に例示したようなデータ混同を回避する場合について説
明したが、この発明にかかるDMA制御装置の上記構成
が、先の図20に例示したような、更に多くのマイクロ
コンピュータ間で処理速度(通信速度)の異なるDMA
制御部を介してデータ転送が行われる場合にも有効であ
ることは云うまでもない。
も、そのデータ通信(データ交換)方式としてシリアル
データによるハンドシェイク通信を採用した。このた
め、より少ない配線(通信線)に基づく高速なデータ通
信が実現されるようになる。ただし、同データ通信方式
として、必ずしもこのような通信方式だけが有効である
とは限らない。他に例えば、データを一旦受け取ってか
ら送信データを返すいわゆる全2重通信インターフェー
スを利用したシリアル通信回路なども適宜採用すること
ができる。
マルチCPUシステムとして、車載用エンジンの電子制
御装置を例にとったが、この発明にかかるDMA制御装
置がこのようなエンジン制御システムに限定されるもの
でないことは勿論である。
入出力装置を非同期的に共有しつつその分担された処理
を実行するシステムであれば、他の如何なるシステムに
ついても、この発明にかかるDMA制御装置を適用する
ことはできる。
示すブロック図。
ロック図。
タイムチャート。
示す略図。
を示す略図。
タイムチャート。
を示す略図。
タイムチャート。
す略図。
イムチャート。
ローチャート。
式的に示す略図。
式的に示す略図。
式的に示す略図。
を示すブロック図。
ーチャート。
式的に示す略図。
式的に示す略図。
式的に示す略図。
式的に示す略図。
111…シフトレジスタ、112…シフトクロック発生
回路、12…CPU、13…RAM、14…ROM、2
…第2マイクロコンピュータ、21…DMA制御部、2
11…シフトレジスタ、212…シリアルI/Oコント
ローラ、213…データセット調整レジスタ、214…
バイト長メモリ、22…CPU、23…RAM、24…
ROM、25…A/D変換器、26…マルチプレクサ、
27…DMA制御部、28…遅いDMA制御部、29…
速いDMA制御部、3…第3マイクロコンピュータ、3
1…速いDMA制御部、32…CPU、33…RAM。
Claims (9)
- 【請求項1】所定バイト単位でシリアル通信されるデー
タの複数によって1つの情報が形成されるデータセット
をメモリに書き込み、若しくはメモリから読み出すDM
A制御装置であって、 前記データセットを形成するデータの数から前記シリア
ル通信されるデータを引いた数のデータが一時貯蔵され
るデータセット調整レジスタと、 このレジスタに貯蔵されるデータと当該シリアル通信さ
れるデータとのデータセットにて前記メモリを一括アク
セスする制御手段と、 を具えることを特徴とするDMA制御装置。 - 【請求項2】前記データは1バイト単位でシリアル通信
され、前記データセットは2バイトのデータで1つの情
報が形成されるとき、 前記制御手段は、奇数番目に受信されるデータを前記デ
ータセット調整レジスタに一時貯蔵しつつ、これを偶数
番目に受信されるデータと共に一括して前記メモリに書
き込み制御する請求項1記載のDMA制御装置。 - 【請求項3】前記データは1バイト単位でシリアル通信
され、前記データセットは2バイトのデータで1つの情
報が形成されるとき、 前記制御手段は、前記メモリから前記データセットを一
括して読み込むとともにその偶数番目のデータを前記デ
ータセット調整レジスタに一時貯蔵し、奇数番目のデー
タを送信した後、該貯蔵した偶数番目のデータを送信す
る請求項1記載のDMA制御装置。 - 【請求項4】請求項1記載のDMA制御装置において、 前記データセットを形成するデータの数がバイト長情報
として記憶されるバイト長メモリを更に具え、 前記制御手段は、前記バイト長メモリに記憶された値−
1の数のデータを前記データセット調整レジスタに一時
貯蔵するものであり、同貯蔵されるデータと当該シリア
ル通信されるデータとのデータセットにて前記メモリを
一括アクセスすることを特徴とするDMA制御装置。 - 【請求項5】前記バイト長メモリに記憶されるバイト長
情報は固定値である請求項4記載のDMA制御装置。 - 【請求項6】前記バイト長メモリに記憶されるバイト長
情報は、外部から可変設定される値である請求項4記載
のDMA制御装置。 - 【請求項7】前記バイト長メモリに記憶されるバイト長
情報は、前記シリアル通信されるデータに先立ち、同シ
リアル通信されるデータの1つとしてその旨示す適宜の
コマンドと共に転送され、 前記制御手段は、該バイト長情報が受信される都度これ
を前記バイト長メモリに更新登録する請求項6記載のD
MA制御装置。 - 【請求項8】前記データは1バイト単位でシリアル通信
され、前記バイト長メモリに記憶されるバイト長情報が
n(nは自然数)であるとき、 前記制御手段は、第1番目から第(n−1)番目まで受
信されるデータを順次前記データセット調整レジスタに
一時貯蔵しつつ、これを第n番目に受信されるデータと
共に一括して前記メモリに書き込み制御する請求項4〜
7の何れかに記載のDMA制御装置。 - 【請求項9】前記データは1バイト単位でシリアル通信
され、前記バイト長メモリに記憶されるバイト長情報が
n(nは自然数)であるとき、 前記制御手段は、前記メモリからnバイトのデータセッ
トを一括して読み込むとともにその第2番目から第n番
目のデータを前記データセット調整レジスタに一時貯蔵
し、第1番目のデータを送信した後、該貯蔵した第2番
目から第n番目のデータを順次送信する請求項4〜7の
何れかに記載のDMA制御装置。
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 true JPH09282265A (ja) | 1997-10-31 |
| JP3562126B2 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) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6499067B1 (en) | 1999-02-25 | 2002-12-24 | Denso Corporation | Serial communication apparatus and serial communication system |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3602293B2 (ja) * | 1997-04-22 | 2004-12-15 | 株式会社ソニー・コンピュータエンタテインメント | データ転送方法及び装置 |
| 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)
| 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 | データのシリアル通信装置 |
| DE69331606T2 (de) * | 1993-11-30 | 2002-10-31 | General Electric Co., Schenectady | Datenwortindikator in einem system zur zusammenstellung von transportdatenpaketen. |
| 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 |
-
1996
- 1996-04-09 JP JP08648396A patent/JP3562126B2/ja not_active Expired - Fee Related
-
1997
- 1997-04-04 US US08/833,005 patent/US6115757A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6499067B1 (en) | 1999-02-25 | 2002-12-24 | Denso Corporation | Serial communication apparatus and serial communication system |
Also Published As
| Publication number | Publication date |
|---|---|
| US6115757A (en) | 2000-09-05 |
| JP3562126B2 (ja) | 2004-09-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4799199A (en) | Bus master having burst transfer mode | |
| JPH09282265A (ja) | Dma制御装置 | |
| JP2001084229A (ja) | Simd型プロセッサ | |
| US5459852A (en) | Cache bypass system with simultaneous initial transfer of target data to both processor and cache | |
| EP0473059A2 (en) | Communication control system | |
| JP3317316B2 (ja) | 画像処理装置 | |
| AU734501B2 (en) | Small size inter-processor data transfer system | |
| JP3304395B2 (ja) | データ転送装置及びデータ転送方法 | |
| JPH087738B2 (ja) | エンディアン変換方式 | |
| JP3186150B2 (ja) | データ転送装置 | |
| US20020174290A1 (en) | Memory accelerator, acceleration method and associated interface card and motherboard | |
| JPS5953565B2 (ja) | ダイレクトメモリアクセス制御装置 | |
| US5579483A (en) | Communication controller for controlling multi-channel multiplex communication and having channel selection functions and memory for storing communication control data for each channel | |
| CN113032301B (zh) | 存储控制器及其片上系统以及电子设备 | |
| JPH09305530A (ja) | Dmaコントローラ | |
| JPH0635841A (ja) | バス制御装置 | |
| JP3413894B2 (ja) | シリアル伝送装置 | |
| JP2849804B2 (ja) | メモリーアクセスのインターフェイス回路及びメモリーアクセスの方法 | |
| JPS60181959A (ja) | マルチプロセツサシステム | |
| JP2659886B2 (ja) | プロセッサシステム | |
| KR960014177B1 (ko) | 병렬데이터처리시스템의 데이터통신장치 | |
| JPH0246967B2 (ja) | ||
| JP2001167046A (ja) | 画像処理装置 | |
| JP2003036240A (ja) | マルチプロセッサ間通信装置 | |
| JPS6019023B2 (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 |