JP3911386B2 - DMA communication control method, transfer data processing method, DMA communication control device, and engine control device - Google Patents

DMA communication control method, transfer data processing method, DMA communication control device, and engine control device Download PDF

Info

Publication number
JP3911386B2
JP3911386B2 JP2000376791A JP2000376791A JP3911386B2 JP 3911386 B2 JP3911386 B2 JP 3911386B2 JP 2000376791 A JP2000376791 A JP 2000376791A JP 2000376791 A JP2000376791 A JP 2000376791A JP 3911386 B2 JP3911386 B2 JP 3911386B2
Authority
JP
Japan
Prior art keywords
processing
data
time
group
control means
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
JP2000376791A
Other languages
Japanese (ja)
Other versions
JP2002183077A (en
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 Ten Ltd
Original Assignee
Denso Ten Ltd
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 Ten Ltd filed Critical Denso Ten Ltd
Priority to JP2000376791A priority Critical patent/JP3911386B2/en
Publication of JP2002183077A publication Critical patent/JP2002183077A/en
Application granted granted Critical
Publication of JP3911386B2 publication Critical patent/JP3911386B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Analogue/Digital Conversion (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はDMA(Direct Memory Access)通信制御方法、転送データ処理方法、DMA通信制御装置、及びエンジン制御装置に関し、より詳細には、A/D変換手段とのデータのやり取りをDMA制御手段を用いて、シリアル通信で行う場合のDMA通信制御方法、該DMA通信制御方法を用いて転送されたデータを処理するための転送データ処理方法、及び前記DMA制御手段を用いて行う主制御手段を備えたDMA通信制御装置、エンジン制御装置に関する。
【0002】
【従来の技術】
エンジン制御は、燃料噴射制御を中心に、点火時期制御、ノック制御、アイドル回転数制御、ダイアグノーシスなどをマイクロコンピュータ(以下、単にマイコンと記す)により総合的に制御し、エンジンを最適な状態で作動させることにより、動力性能の改善や排出ガスの浄化、燃費の改善などの効果を得ている。
【0003】
図10は、エンジンの電子制御についてのシステムの中枢となる、エンジン制御ECU(Electronic Control Unit )の要部を概略的に示したブロック図である。図中1はECUを示しており、ECU1はマイコン2と、A/D変換IC7と、入力処理回路8と、出力処理回路9とを含んで構成され、マイコン2はCPU3と、RAM4と、ROM5と、DMAC(Direct Memory Access Controller )6とを含んで構成されている。
【0004】
水温センサ、吸気量センサ、油温センサ、エアフローメータ、スロットル開度センサ、ノックセンサなどから出力されるアナログ系信号はA/D変換IC7でA/D変換され、またクランク角センサ、エンジン回転センサなどから出力されるディジタル系信号は入力処理回路8を介して、マイコン2へ入力されるようになっている。
【0005】
また、マイコン2はこれら入力された信号に基づいて最適な制御値を演算し、出力処理回路9を介して、ソレノイドやモータなどの各種アクチュエータを駆動したり、ランプを点灯したり、別のECUを制御するようになっている。また、マイコン2とA/D変換IC7とのデータのやり取りはシリアル通信ラインLを介したシリアル通信であり、CPU3の負荷を軽減するため、DMA通信を行っている。
【0006】
A/D変換処理が行われるセンサ信号には、水温、吸気量、油温など(例えば、全部で20ch)のように、所定時間(例えば、4m秒)毎に、定期的にA/D変換処理が行われるものと、ノック信号のように、エンジン回転に同期させてA/D変換処理が行われるものとがある。換言すれば、ここでのA/D変換処理には時間同期A/D変換処理と、エンジン回転同期A/D変換処理のような非時間同期A/D変換処理とがあることになる。
【0007】
このように、起動タイミングの異なる2種類のA/D変換処理が存在すると、図11に示したように、時間同期A/D変換処理が実行されている間(すなわち、時間同期A/D変換処理の要求が発生している間)に、エンジン回転同期A/D変換処理の要求が発生することがある。また、逆にエンジン回転同期A/D変換処理が実行されている間(すなわち、エンジン回転同期A/D変換処理の要求が発生している間)に、時間同期A/D変換処理要求が発生することがある。
【0008】
処理要求が重なった場合、そのときのDMA通信が終了するまで後から発生した要求が待たされてしまうことになる。これは、DMA通信は、1回起動を掛けてしまうと、マイコン2のハードウェア機能により自動的に通信が行われ、シリアル通信ラインLを占有してしまい、他の要求を途中で割り込ますことができないからである。すなわち、CPU3がDMAC6に対して、1回起動を掛けてしまうと、DMAC6がシリアル通信ラインLを占有してしまうからである。
【0009】
従って、時間同期A/D変換処理が行われている期間(例えば、1.6m秒)は、エンジン回転同期A/D変換処理を実行することができないので、時間同期A/D変換処理が終了するまで待たなくてはならず、最大1.6m秒遅れることがある。なお、これは時間に同期させてA/D変換処理するデータが20ch分あり、1chの処理に80μ秒かかる場合である。
【0010】
【発明が解決しようとする課題】
しかしながら、ノック信号のA/D変換処理に1m秒以上遅れると、不具合が生じる場合があるため、現在においては、時間同期A/D変換処理を2分割(前半:10ch、後半:10ch)し、図12に示したように、2m秒毎に交互にA/D変換処理を行うようにしてエンジン回転同期A/D変換処理の遅延を防止している。
【0011】
次に、水温センサ、吸気量センサ、油温センサなど(全部で20ch)から出力されるセンサ信号を、A/D変換IC7でA/D変換処理し、A/D変換処理された20個のデータを、RAM4に書き込む場合を図13に示したフローチャート、及び図14に示したタイミングチャートを用いて説明する。
【0012】
まずCPU3が、RAM4のアドレスDa0 〜Da10に、DMAC6からシリアル通信ラインLを介してA/D変換IC7へ送信するための送信データを、送信テーブルTa(図15(a)参照)、又は送信テーブルTb(図15(b)参照)としてセットする(ステップA1、a1)。
【0013】
セットが完了すると、送信テーブルTa(、Tb)がセットされているメモリの開始アドレスDa0 をDMAC6の内部のアドレスレジスタへ、そしてデータ個数10をDMAC6の内部のカウンタへ書き込む(ステップA2、a2)。
【0014】
また、A/D変換IC7でA/D変換処理が行われ、A/D変換処理されたデータがDMAC6へ送信され、DMAC6でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルTw(RAM4)の開始アドレスDb0 をDMAC6の内部のアドレスレジスタへ、そしてデータ個数10をDMAC6の内部のカウンタへ書き込む(ステップA3、a3)。書き込みが完了すると、DMAC6に動作開始指令を発信する(ステップA4、a4)。
【0015】
DMAC6は、CPU3からの動作開始指令を受信すると、アドレスDa0 から順番にメモリされているデータ(すなわち、送信テーブルTa、又は送信テーブルTbのデータ)を、シリアル通信ラインLを介してA/D変換IC7へ送信する(ステップB1)。
【0016】
A/D変換IC7は、DMAC6からのデータ(すなわち、A/D変換処理起動コマンドと、A/D変換処理すべき信号のチャンネルとを含んだデータ)を受信すると、対応するセンサ信号のA/D変換処理を行って(ステップC1)、A/D変換処理したデータを、シリアル通信ラインLを介してDMAC6へ送信する(ステップC2)。
【0017】
DMAC6は、A/D変換IC7から送信されたA/D変換処理されたデータを受信すると、そのデータをアドレスDb0 から順番に転送先テーブルTwに書き込んでいく(ステップB2)。これら処理が1回終了すると、アドレス信号を1増加させ、図16に示したように、10個のデータの受信が完了するまで続け、10個のデータの受信が完了すると、処理が完了したことを割り込みをかけてCPU3に知らせる(ステップB3)。
【0018】
CPU3は、DMAC6から処理の完了の知らせを受けると、転送先テーブルTwに書き込まれているデータを使用して所定の処理を行う(ステップA5、a5)。
【0019】
また、図14に示した、ステップD1〜D3はエンジン回転に同期して行われる処理であり、CPU3はノック信号をA/D変換処理させるために、RAM4のアドレスDcに、DMAC6からシリアル通信ラインLを介してA/D変換IC7へ送信するための送信データをセットし(ステップD1)、セットが完了すると、アドレスDcをDMAC6の内部のアドレスレジスタへ、そしてデータ個数1をDMAC6の内部のカウンタへ書き込む(ステップD2)。
【0020】
また、A/D変換IC7でA/D変換処理が行われ、A/D変換処理されたデータがDMAC6へ送信され、DMAC6でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルTx(RAM4)のアドレスDdをDMAC6の内部のアドレスレジスタへ、そしてデータ個数1をDMAC6の内部のカウンタへ書き込み(ステップD3)、書き込みが完了すると、DMAC6に動作開始指令を発信する(ステップD4)。
【0021】
DMAC6は、CPU3からの動作開始指令を受信すると、アドレスDcにメモリされているデータを、シリアル通信ラインLを介してA/D変換IC7へ送信する(ステップB4)。
【0022】
A/D変換IC7は、DMAC6からのデータ(すなわち、A/D変換処理起動コマンドと、A/D変換処理すべきノック信号のチャンネルとを含んだデータ)を受信すると、対応するセンサ信号(ノック信号)のA/D変換処理を行って(ステップC3)、A/D変換処理したデータを、シリアル通信ラインLを介してDMAC6へ送信する(ステップC4)。
【0023】
DMAC6は、A/D変換IC7から送信されたA/D変換処理されたデータを受信すると、そのデータを転送先テーブルTxのアドレスDdに書き込み(ステップB5)、この書き込み処理が終了すると、データ個数が1個であるため、処理が完了したことを割り込みをかけてCPU3に知らせる(ステップB6)。
【0024】
CPU3は、DMAC6から処理の完了の知らせを受けると、転送先テーブルTxに書き込まれているデータを使用して所定の処理を行う(ステップD5)。
【0025】
上記したように、時間同期A/D変換処理を2分割して行うことにより、ノック信号のA/D変換処理の最大遅延時間を0.8m秒まで縮めることができるようになった。
【0026】
ところが、時間同期A/D変換処理を2分割することにより、A/D変換処理され、転送先テーブルTwに転送された時間同期データを使用した処理や、送信テーブルのセットなど、DMAC6の起動に関する処理が、分割前にはステップA5やステップA1〜A4だけで良かったのが、分割することによって、ステップa5やステップa1〜a4が必要となり、CPU3の処理負荷が増大するといった問題があった。
【0027】
本発明は上記課題に鑑みなされたものであって、エンジン回転同期A/D変換処理のような、時間に同期させずに行う処理の遅延を防止することができると共に、CPUの処理負荷を軽減することのできるDMA通信制御方法、該DMA通信制御方法を用いて転送されたデータを処理するための転送データ処理方法、DMA通信制御装置、及びエンジン制御装置を提供することを目的としている。
【0028】
【課題を解決するための手段及びその効果】
上記目的を達成するために本発明に係るDMA通信制御方法(1)は、時間に同期させて、所定の処理を行う必要のある時間同期データが少なくとも2種類あり、時間に同期させずに、所定のタイミングで、所定の処理を行う必要のある非時間同期データが少なくとも1種類あり、これら処理を、DMA制御手段を用いて行うもので、該DMA制御手段の行う処理に、A/D変換手段に対するA/D変換の処理要求を行うデータの送信と、前記A/D変換手段によってA/D変換されたデータの受信とが含まれる場合のDMA通信制御方法において、前記時間同期データについては、n(≧2)個のグループに分割し、時間に同期させて前記DMA制御手段に、第1番目のグループに属する前記時間同期データの処理を要求する第1のデータ処理要求ステップと、第k(1≦k≦n−1)番目のグループに属する前記時間同期データの処理が終了すると、前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理を要求する第2のデータ処理要求ステップと、時間ではなく、所定のタイミングに同期させて前記DMA制御手段に、前記非時間同期データの処理を要求する第1の非時間同期データ処理要求ステップとを含み、前記DMA制御手段が、第k番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、第k番目のグループに属する前記時間同期データの処理と第k+1番目のグループに属する前記時間同期データの処理とを連続して行わせるために、第k番目のグループに属する前記時間同期データの処理が終了すると間を置かずに、前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理を要求し、一方、前記DMA制御手段が、第k番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、第k番目のグループに属する前記時間同期データの処理が終了すると、前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理を要求するのではなく、前記非時間同期データの処理を要求し、前記第2のデータ処理要求ステップよりも、前記第1の非時間同期データ処理要求ステップを優先させることを特徴としている。
【0029】
上記したDMA通信制御方法(1)によれば、前記時間同期データについては、n(≧2)個のグループに分割し、各グループ毎に前記時間同期データの処理を要求するので、各グループに属する前記時間同期データの処理と処理との間に、前記DMA制御手段がシリアル通信ラインL(図1参照)を占有しない期間をつくることができるため、この期間に非時間同期データの処理を割り込ませることが可能となる。
また、前記第2のデータ処理要求ステップよりも、前記第1の非時間同期データ処理要求ステップを優先させるので、エンジン回転同期A/D変換処理のような、時間に同期させずに行う処理の遅延を防止することが可能となる。
【0030】
さらに、前記時間同期データを、n個のグループに分割しているが、第k(1≦k≦n−1)番目のグループに属する前記時間同期データの処理が終了すると、前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理を要求する第2のデータ処理要求ステップとを含んでいるので、例えば、第1番目のグループに属する前記時間同期データの処理が終了すると、前記DMA制御手段に、第2番目のグループに属する前記時間同期データの処理を要求する。
【0031】
また、上記DMA通信制御方法(1)によれば、前記DMA制御手段が、第k番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、第k番目のグループに属する前記時間同期データの処理と第k+1番目のグループに属する前記時間同期データの処理とを連続して行わせるために、第k番目のグループに属する前記時間同期データの処理が終了すると間を置かずに、前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理を要求する求するのではなく、前記非時間同期データの処理を要求する。
そのため、例えば、前記時間同期データを、前半グループ(第1番目のグループ)と後半グループ(第2番目のグループであり、最終の第n番目のグループでもある)とに分割したとしても、前記非時間同期データの処理を割り込ませる必要がない場合には、前半グループに属する前記時間同期データの処理と、後半グループに属する前記時間同期データの処理とを連続して行わせるので、これら処理後のデータを使用して、所定の処理を行う場合に、前半グループと後半グループとを合わせて、一度に行うことができる。従って、CPUにおける処理の負荷の軽減を図ることができる。
【0033】
また本発明に係るDMA通信制御方法()は、上記DMA通信制御方法()において、第k番目のグループに属する前記時間同期データの処理終了後に、前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理の要求をしなかった場合には、前記非時間同期データの処理が終了すると、前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理を要求する第3のデータ処理要求ステップを含んでいることを特徴としている。
【0035】
また、上記したように、第k番目のグループに属する前記時間同期データの処理と、第k+1番目のグループに属する前記時間同期データの処理との間に、前記非時間同期データの処理を割り込ませたとしても、上記したDMA通信制御方法()によれば、前記非時間同期データの処理が終了すると、前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理を要求する前記第3のデータ処理要求ステップを含んでいるので、第k+1番目以降のグループに属する前記時間同期データについても確実に処理を行わせることができる。
【0036】
また本発明に係るDMA通信制御方法()は、上記DMA通信制御方法(1)又は(2)において、前記DMA制御手段が、第n番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、第n番目のグループに属する前記時間同期データの処理が終了すると、前記DMA制御手段に、前記非時間同期データの処理を要求する第の非時間同期データ処理要求ステップを含んでいることを特徴としている。
【0037】
上記したDMA通信制御方法()によれば、前記DMA制御手段が、第n番目のグループ(すなわち、最終のグループ)に属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、第n番目のグループに属する前記時間同期データの処理が終了すると、前記DMA制御手段に、前記非時間同期データの処理を要求する前記第の非時間同期データ処理要求ステップを含んでいるので、エンジン回転同期A/D変換処理のような、時間に同期させずに行う処理の遅延を防止することができる。
【0038】
また本発明に係るDMA通信制御方法()は、上記DMA通信制御方法(1)〜()のいずれかにおいて、前記DMA制御手段が、前記非時間同期データの処理を行っているときに、第1番目のグループに属する前記時間同期データの処理を要求するタイミングになった場合には、前記非時間同期データの処理が終了すると、前記DMA制御手段に、第1番目のグループに属する前記時間同期データの処理を要求する第4のデータ処理要求ステップを含んでいることを特徴としている。
【0039】
上記したDMA通信制御方法()によれば、前記DMA制御手段が、前記非時間同期データの処理を行っているときに、第1番目のグループに属する前記時間同期データの処理を要求するタイミングになった場合には、前記非時間同期データの処理が終了すると、前記DMA制御手段に、第1番目のグループに属する前記時間同期データの処理を要求する前記第4のデータ処理要求ステップを含んでいるので、前記時間同期データについても確実に処理を行わせることができる。
【0040】
また本発明に係るDMA通信制御方法()は、上記DMA通信制御方法(1)〜()のいずれかにおいて、前記DMA制御手段から、該DMA制御手段との間でシリアル通信を行う相手方へ送信するための送信データを、少なくとも1グループ分まとめて送信テーブルとし、所定の場所に記憶させる第1の送信データ記憶ステップを含んでいることを特徴としている。
【0041】
また本発明に係るDMA通信制御方法()は、上記DMA通信制御方法(1)〜()のいずれかにおいて、前記DMA制御手段から、該DMA制御手段との間でシリアル通信を行う相手方へ送信するための送信データを、少なくとも2グループ分まとめて送信テーブルとし、所定の場所に記憶させる第2の送信データ記憶ステップを含んでいることを特徴としている。
【0042】
また本発明に係るDMA通信制御方法()は、上記DMA通信制御方法()又は()において、前記送信テーブルが、前記時間同期データの優先度に基づいて構成されたものであることを特徴としている。
【0043】
「発明が解決しようとする課題」の項目で説明したように、CPU3はDMAC6へ指示を出すに先駆けて、DMAC6から、DMAC6との間でシリアル通信を行う相手方であるA/D変換IC7へ送信するための送信データを、RAM4に記憶させるようになっている。因に、図13、図14ではこの処理をステップA1、a1の処理で示している。
【0044】
上記したDMA通信制御方法()〜()のいずれかによれば、前記送信データを送信1回分ずつ、所定の場所に記憶させるではなく、少なくとも1グループ分まとめて、送信テーブルとして記憶させるので、CPUの処理負荷の軽減を図ることができる。
【0045】
さらに、上記したDMA通信制御方法()によれば、少なくとも2グループ分まとめて、送信テーブルとして記憶させるので、より一層、CPUの処理負荷の軽減を図ることができる。
【0046】
また、上記したDMA通信制御方法()によれば、前記時間同期データの優先度に基づいて構成された前記送信テーブルを使用することができるため、必要以上に、通信制御を行うのを回避することができる。
【0047】
例えば、従来においては、エンジン制御に使用する20種類の前記時間同期データをどれも4m秒毎にA/D変換処理を行い、同等に扱っていたが、これら20種類のデータはそれぞれ同レベルではなく、4m秒に1回のA/D変換処理が必要なものもあれば、64m秒に1回のA/D変換処理で十分なものもある。このため、前記時間同期データの優先度に基づいて構成された前記送信テーブルを使用することにより、効率的な通信を行うことができる。
【0049】
上記したDMA通信制御方法(1)〜()において、n個のグループそれぞれに、前記時間同期データが略均等に属するように分割すれば、バランスのとれた通信制御を行うことができ、無駄の少ない通信を実現することができる。
【0050】
また本発明に係る転送データ処理方法(1)は、上記DMA通信制御方法(1)〜()のいずれかを用いて転送されたデータを処理するための転送データ処理方法であって、転送されたデータを、少なくとも2グループ分まとめて使用して所定の処理を行う転送データ処理ステップを含んでいることを特徴としている。
【0051】
「発明が解決しようとする課題」の項目で説明したように、従来において、CPU3は、DMAC6から処理の完了の知らせを受けると、転送先テーブルTwに書き込まれているデータを使用して、所定の処理を行うようになっている。因に、図13、図14ではこの処理をステップA5、a5の処理で示している。
【0052】
このように、従来においては、時間同期A/D変換処理を2分割することにより、A/D変換処理され、転送先テーブルTwに転送された前記時間同期データを使用した処理が、分割前にはステップA5だけで良かったのが、分割することによって、ステップa5が必要となり、CPU3の処理負荷が増大することになった。
【0053】
上記した転送データ処理方法(1)によれば、転送されたデータを、少なくとも2グループ分まとめて使用して、所定の処理を行う転送データ処理ステップを含んでいるので、CPUの処理負荷が増大するのを回避することができる。
【0054】
また本発明に係るDMA通信制御装置(1)は、A/D変換処理手段に対するA/D変換処理の処理要求データの送信を行う送信処理と、前記A/D変換処理手段によってA/D変換処理されたA/D変換データの受信を行う受信処理とを、DMA制御手段を用いて行う主制御手段を備えたDMA通信制御装置において、A/D変換処理を行うデータに、時間に同期させて処理を行う必要のある時間同期データが少なくとも2種類と、エンジンの回転数に同期させて処理を行う必要のある非時間同期データが少なくとも1種類とが含まれ、前記DMA制御手段が、前記主制御手段から、A/D変換処理の前記処理要求データを送信するように指令を受けると、前記送信処理と前記受信処理とを行うものであり、前記主制御手段が、前記時間同期データを2個のグループに分割したうちの第1のグループに対し、時間に同期させて、A/D変換処理の要求を行うための前記処理要求データの送信を前記DMA制御手段に指令する第1のデータ処理要求手段と、前記第1のグループに対する前記送信処理と前記受信処理とが終了すると、前記時間同期データにおける前記第1のグループとは異なる第2のグループに対し、A/D変換処理の要求を行うための前記処理要求データの送信を前記DMA制御手段に指令する第2のデータ処理要求手段と、前記非時間同期データに対し、エンジン回転数に同期させて、A/D変換処理の要求を行うための処理要求データの送信を前記DMA制御手段に指令する非時間同期データ処理要求手段とを備え、前記DMA制御手段が、前記第1のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、前記第1のグループに属する前記時間同期データの処理と前記第2のグループに属する前記時間同期データの処理とを連続して行わせるために、前記第1のグループに属する前記時間同期データの処理が終了すると間を置かずに、前記第2のグループに対し、A/D変換処理の要求を行うための処理要求データの送信が前記DMA制御手段に指令され、一方、前記DMA制御手段が、第1のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、第1のグループに属する前記時間同期データの処理が終了すると、前記非時間同期データに対し、A/D変換処理の要求を行うための処理要求データの送信が前記DMA制御手段に指令され、前記第2のデータ処理要求手段による処理よりも、前記非時間同期データ処理要求手段による処理を優先するように構成されていることを特徴としている。
また本発明に係るエンジン制御装置(1)は、A/D変換処理手段に対するA/D変換処理の処理要求データの送信を行う送信処理と、前記A/D変換処理手段によってA/D変換処理されたA/D変換データの受信を行う受信処理とを、DMA制御手段を用いて行う主制御手段を備えたエンジン制御装置において、A/D変換処理を行うデータに、時間に同期させて処理を行う必要のある時間同期データが少なくとも2種類と、エンジンの回転数に同期させて処理を行う必要のある非時間同期データが少なくとも1種類とが含まれ、前記DMA制御手段が、前記主制御手段から、A/D変換処理の前記処理要求データを送信するように指令を受けると、前記送信処理と前記受信処理とを行うものであり、前記主制御手段が、前記時間同期データを2個のグループに分割したうちの第1のグループに対し、時間に同期させて、A/D変換処理の要求を行うための前記処理要求データの送信を前記DMA制御手段に指令する第1のデータ処理要求手段と、前記第1のグループに対する前記送信処理と前記受信処理とが終了すると、前記時間同期データにおける前記第1のグループとは異なる第2のグループに対し、A/D変換処理の要求を行うための前記処理要求データの送信を前記DMA制御手段に指令する第2のデータ処理要求手段と、前記非時間同期データに対し、エンジン回転数に同期させて、A/D変換処理の要求を行うための処理要求データの送信を前記DMA制御手段に指令する非時間同期データ処理要求手段とを備え、前記DMA制御手段が、前記第1のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、前記第1のグループに属する前記時間同期データの処理と前記第2のグループに属する前記時間同期データの処理とを連続して行わせるために、前記第1のグループに属する前記時間同期データの処理が終了すると間を置かずに、前記第2のグループに対し、A/D変換処理の要求を行うための処理要求データの送信が前記DMA制御手段に指令され、一方、前記DMA制御手段が、第1のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、第1のグループに属する前記時間同期データの処理が終了すると、前記非時間同期データに対し、A/D変換処理の要求を行うための処理要求データの送信が前記DMA制御手段に指令され、前記第2のデータ処理要求手段による処理よりも、前記非時間同期データ処理要求手段による処理を優先するように構成されていることを特徴としている。
【0055】
上記したDMA通信制御装置(1)、上記したエンジン制御装置(1)によれば、エンジン回転同期A/D変換処理のような、時間に同期させずに行う処理の遅延を防止することができる。
【0056】
さらに、上記したDMA通信制御装置(1)、上記したエンジン制御装置(1)によれば、前記主制御手段の処理負荷の軽減が図られているので、実用的であり、大変な優れたDMA通信制御装置、エンジン制御装置を実現することができる。
【0057】
【発明の実施の形態】
以下、本発明に係るDMA通信制御方法、転送データ処理方法、DMA通信制御装置、及びエンジン制御装置の実施の形態を図面に基づいて説明する。
【0058】
図1は実施の形態(1)に係るエンジン制御装置が採用されたエンジン制御ECUの要部を概略的に示したブロック図である。なお、図10に示したエンジン制御ECUと同様の構成部分については同符号を付し、ここではその説明を省略する。図中11はECUを示しており、ECU11はマイコン12と、A/D変換IC7と、入力処理回路8と、出力処理回路9とを含んで構成され、マイコン12はCPU13と、RAM14と、ROM15と、DMAC16とを含んで構成されている。
【0059】
水温センサ、吸気量センサ、油温センサ、エアフローメータ、スロットル開度センサ、ノックセンサなどから出力されるアナログ系信号はA/D変換IC7でA/D変換され、またクランク角センサ、エンジン回転センサなどから出力されるディジタル系信号は入力処理回路8を介して、マイコン12へ入力されるようになっている。
【0060】
また、マイコン12はこれら入力された信号に基づいて、最適な制御値を演算し、出力処理回路9を介して、ソレノイドやモータなどの各種アクチュエータを駆動したり、ランプを点灯したり、別のECUを制御するようになっている。また、マイコン12とA/D変換IC7とのデータのやり取りはシリアル通信ラインLを介したシリアル通信であり、CPU13の負荷を軽減するため、DMA通信を行っている。
【0061】
A/D変換処理を行うセンサ信号には、水温、吸気量、油温など(例えば、全部で20ch)のように、所定時間(例えば、4m秒)毎に、定期的にA/D変換処理が行われるものと、ノック信号のように、エンジン回転に同期させて、A/D変換処理が行われるものとがある。換言すれば、ここでのA/D変換処理には時間同期A/D変換処理と、エンジン回転同期A/D変換処理のような非時間同期A/D変換処理とがあることになる。
【0062】
次に、実施の形態(1)に係るエンジン制御装置が採用されたエンジン制御ECU11におけるCPU13、DMAC16、及びA/D変換IC7の行う処理動作について、図2〜図4に示したフローチャート、及び図5〜図8に示したタイミングチャートに基づいて説明する。なお、ここでは所定時間毎にA/D変換処理を行う、全部で20chからなる信号を前半グループと後半グループとの2グループに分割した場合について説明する。
【0063】
また、図5は処理要求に重なりが生じない場合を示し、図6は前半グループに属する時間同期データの処理を行っているときに、非時間同期データの処理を要求するタイミングになった場合を示している。また、図7は後半グループに属する時間同期データの処理を行っているときに、非時間同期データの処理を要求するタイミングになった場合を示し、図8は非時間同期データの処理を行っているときに、時間同期データの処理を要求するタイミングになった場合を示している。
【0064】
まず、時間に同期して行う、時間同期データに関する処理動作について図2に示したフローチャートに基づいて説明する。4m秒毎に、RAM14のアドレスDe0 〜De21に、DMAC16からシリアル通信ラインLを介してA/D変換IC7へ送信するための送信データを送信テーブルTc(図9参照)としてセットする(ステップS1)。
【0065】
セットが完了すると、前半グループに属する時間同期データの処理を要求したことを示すフラグF1exe 、後半グループに属する時間同期データの処理を要求したことを示すフラグF2exe 、及び非時間同期データの処理を要求したことを示すフラグF3exe がいずれも0であるか否か、すなわち、DMAC16が時間同期データ、及び非時間同期データのいずれの処理中でもないか否かを判断する(ステップS2)。
【0066】
フラグF1exe 、F2exe 、F3exe のいずれもが0である、すなわち、DMAC16が、時間同期データ、及び非時間同期データのいずれの処理中でもないと判断すれば、DMAC16に対して、時間同期データの処理を要求することができるので、送信テーブルTcがセットされているメモリの開始アドレスDe0 をDMAC16の内部のアドレスレジスタへ、そしてデータ個数10をDMAC16の内部のカウンタへ書き込む(ステップS3)。
【0067】
また、A/D変換IC7でA/D変換処理が行われ、A/D変換処理されたデータがDMAC16へ送信され、DMAC16でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルTy(RAM14)の開始アドレスDf0 をDMAC16の内部のアドレスレジスタへ、そしてデータ個数10をDMAC16の内部のカウンタへ書き込む(ステップS4)。
【0068】
これら書き込みが完了すると、DMAC16に動作開始指令を発信し(ステップS5)、その後、前半グループに属する時間同期データの処理を要求したことを示すフラグF1exe を1にすると共に(ステップS6)、後半グループに属する時間同期データの処理要求が待機状態にあることを示すフラグF2req を1にする(ステップS8)。
【0069】
ところで、DMAC16は、CPU13からの動作開始指令を受信すると、アドレスDe0 から順番にメモリされているデータ(すなわち、送信テーブルTcのデータ)を、シリアル通信ラインLを介してA/D変換IC7へ送信する(ステップJ1)。
【0070】
A/D変換IC7は、DMAC16からのデータ(すなわち、A/D変換処理起動コマンドと、A/D変換処理すべき信号のチャンネルとを含んだデータ)を受信すると、対応するセンサ信号のA/D変換処理を行って(ステップK1)、A/D変換処理したデータを、シリアル通信ラインLを介してDMAC16へ送信する(ステップK2)。
【0071】
DMAC16は、A/D変換IC7から送信されたA/D変換処理されたデータを受信すると、そのデータをアドレスDf0 から順番に転送先テーブルTyに書き込んでいく(ステップJ2)。これら処理が1回終了すると、アドレス信号を1増加させ、10個のデータの受信が完了するまで続け、10個のデータの受信が完了すると、処理が完了したことを割り込みをかけてCPU13に知らせる(ステップJ3)。
【0072】
一方、ステップS2における判断処理で、CPU13が、フラグF1exe 、F2exe 、F3exe のいずれかが1である、すなわち、DMAC16が、時間同期データ、又は非時間同期データの処理中であると判断すれば、DMAC16に対して、現時点では時間同期データの処理を要求することができないので、前半グループに属する時間同期データの処理要求が待機状態にあることを示すフラグF1req を1にすると共に(ステップS7)、後半グループに属する時間同期データの処理要求が待機状態にあることを示すフラグF2req を1にする(ステップS8)。
【0073】
次に、エンジン回転に同期して行う、非時間同期データ(ノック信号)に関する処理動作について図3に示したフローチャートに基づいて説明する。エンジン回転に同期して、RAM14のアドレスDgに、DMAC16からシリアル通信ラインLを介してA/D変換IC7へ送信するための送信データをセットする(ステップS11)。
【0074】
セットが完了すると、前半グループに属する時間同期データの処理を要求したことを示すフラグF1exe 、後半グループに属する時間同期データの処理を要求したことを示すフラグF2exe 、及び非時間同期データの処理を要求したことを示すフラグF3exe がいずれも0であるか否か、すなわち、DMAC16が時間同期データ、及び非時間同期データのいずれの処理中でもないか否かを判断する(ステップS12)。
【0075】
フラグF1exe 、F2exe 、F3exe のいずれもが0である、すなわち、DMAC16が、時間同期データ、及び非時間同期データのいずれの処理中でもないと判断すれば、DMAC16に対して、時間同期データの処理を要求することができるので、送信データがセットされているメモリのアドレスDgをDMAC16の内部のアドレスレジスタへ、そしてデータ個数1をDMAC16の内部のカウンタへ書き込む(ステップS13)。
【0076】
また、A/D変換IC7でA/D変換処理が行われ、A/D変換処理されたデータがDMAC16へ送信され、DMAC16でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルTz(RAM14)のアドレスDhをDMAC16の内部のアドレスレジスタへ、そしてデータ個数1をDMAC16の内部のカウンタへ書き込む(ステップS14)。
【0077】
これら書き込みが完了すると、DMAC16に動作開始指令を発信し(ステップS15)、その後、非時間同期データの処理を要求したことを示すフラグF3exe を1にする(ステップS16)。
【0078】
ところで、DMAC16は、CPU13からの動作開始指令を受信すると、アドレスDgにメモリされているデータを、シリアル通信ラインLを介してA/D変換IC7へ送信する(ステップJ7)。
【0079】
A/D変換IC7は、DMAC16からのデータ(すなわち、A/D変換処理起動コマンドと、A/D変換処理すべきノック信号のチャンネルとを含んだデータ)を受信すると、対応するセンサ信号(ノック信号)のA/D変換処理を行って(ステップK5)、A/D変換処理したデータを、シリアル通信ラインLを介してDMAC16へ送信する(ステップK6)。
【0080】
DMAC16は、A/D変換IC7から送信されたA/D変換処理されたデータを受信すると、そのデータを転送先テーブルTzのアドレスDhに書き込み(ステップJ8)、この書き込み処理が終了すると、データ個数が1個であるため、処理が完了したことを割り込みをかけてCPU13に知らせる(ステップJ9)。
【0081】
一方、ステップS12における判断処理で、CPU13が、フラグF1exe 、F2exe 、F3exe のいずれかが1である、すなわち、DMAC16が、時間同期データ、又は非時間同期データの処理中であると判断すれば、DMAC16に対して、現時点では非時間同期データの処理を要求することができないので、非時間同期データの処理要求が待機状態にあることを示すフラグF3req を1にする(ステップS17)。
【0082】
次に、DMAC16の通信完了による割り込み処理に同期して行う、CPU13の処理動作について図4に示したフローチャートに基づいて説明する。DMAC16からの割り込み処理があると、フラグF3exe が1であるか否かを判断し(ステップS21)、フラグF3exe が1であると判断すれば、DMAC16の通信完了は、非時間同期データの処理の完了を意味し、アドレスDhに転送された、A/D変換処理された非時間同期データ(例えば、ノック信号)を使用した所定の処理を行うことが可能となるので、この処理をレディ状態(処理実行可能な状態とし、CPU13内の処理優先順位により実行する)にし(ステップS24)、その後、フラグF3exe を0にして(ステップS25)、ステップS29へ進む。
【0083】
ステップS21における判断処理で、フラグF3exe が1でないと判断すれば、フラグF2exe が1であるか否かを判断し(ステップS22)、フラグF2exe が1であると判断すれば、DMAC16の通信完了は、後半グループに属する時間同期データの処理の完了を意味し、アドレスDf0 〜Df19に転送された、A/D変換処理された時間同期データを使用した所定の処理を行うことが可能となるので、この処理をレディ状態(処理実行可能な状態とし、CPU13内の処理優先順位により実行する)にし(ステップS26)、その後、フラグF2exe を0にして(ステップS27)、ステップS29へ進む。
【0084】
ステップS22における判断処理で、フラグF2exe が1でないと判断すれば、フラグF1exe が1であるか否かを判断し(ステップS23)、フラグF1exe が1であると判断すれば、DMAC16の通信完了は、前半グループに属する時間同期データの処理の完了を意味するので、フラグF1exe を0にして(ステップS28)、ステップS29へ進む。一方、フラグF1exe が1でないと判断すれば、そのままステップS29へ進む。
【0085】
ステップS29では、前半グループに属する時間同期データの処理要求が待機状態であることを示すフラグF1req 、後半グループに属する時間同期データの処理要求が待機状態であることを示すフラグF2req 、及び非時間同期データの処理要求が待機状態であることを示すフラグF3req がいずれも0であるか否かを判断する。
【0086】
フラグF1req 、F2req 、F3req のいずれもが0である、すなわち、時間同期データの処理要求、及び非時間同期データの処理要求のいずれも待機状態でないと判断すれば、DMAC16に対して、何も処理を行う必要がないので、そのまま処理動作を終了する。
【0087】
一方、フラグF1req 、F2req 、F3req のいずれかが1であると判断すれば、まず、フラグF3req が1であるか否かを判断し(ステップS30)、フラグF3req が1であると判断すれば、非時間同期データの処理要求が待機状態にあるということなので、送信データがセットされているメモリのアドレスDgをDMAC16の内部のアドレスレジスタへ、そしてデータ個数1をDMAC16の内部のカウンタへ書き込む(ステップS33)。
【0088】
また、A/D変換IC7でA/D変換処理が行われ、A/D変換処理されたデータがDMAC16へ送信され、DMAC16でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルTz(RAM14)のアドレスDhをDMAC16の内部のアドレスレジスタへ、そしてデータ個数1をDMAC16の内部のカウンタへ書き込む(ステップS34)。
【0089】
これら書き込みが完了すると、DMAC16に動作開始指令を発信し(ステップS35)、その後、非時間同期データの処理を要求したことを示すフラグF3exe を1にすると共に(ステップS36)、フラグF3req を0にする(ステップS37)。
【0090】
ところで、DMAC16は、CPU13からの動作開始指令を受信すると、アドレスDgにメモリされているデータを、シリアル通信ラインLを介してA/D変換IC7へ送信する(ステップJ7)。
【0091】
A/D変換IC7は、DMAC16からのデータ(すなわち、A/D変換処理起動コマンドと、A/D変換処理すべきノック信号のチャンネルとを含んだデータ)を受信すると、対応するセンサ信号(ノック信号)のA/D変換処理を行って(ステップK5)、A/D変換処理したデータを、シリアル通信ラインLを介してDMAC16へ送信する(ステップK6)。
【0092】
DMAC16は、A/D変換IC7から送信されたA/D変換処理されたデータを受信すると、そのデータを転送先テーブルTzのアドレスDhに書き込み(ステップJ8)、この書き込み処理が終了すると、データ個数が1個であるため、処理が完了したことを割り込みをかけてCPU13に知らせる(ステップJ9)。
【0093】
一方、ステップS30における判断処理で、CPU13が、フラグF3req が1でないと判断すれば、フラグF1req が1であるか否かを判断し(ステップS31)、フラグF1req が1であると判断すれば、前半グループに属する時間同期データの処理要求が待機状態にあるということなので、送信テーブルTcがセットされているメモリの開始アドレスDe0 をDMAC16の内部のアドレスレジスタへ、そしてデータ個数10をDMAC16の内部のカウンタへ書き込む(ステップS38)。
【0094】
また、A/D変換IC7でA/D変換処理が行われ、A/D変換処理されたデータがDMAC16へ送信され、DMAC16でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルTy(RAM14)の開始アドレスDf0 をDMAC16の内部のアドレスレジスタへ、そしてデータ個数10をDMAC16の内部のカウンタへ書き込む(ステップS39)。
【0095】
これら書き込みが完了すると、DMAC16に動作開始指令を発信し(ステップS40)、その後、前半グループに属する時間同期データの処理を要求したことを示すフラグF1exe を1にすると共に(ステップS41)、フラグF1req を0にする(ステップS42)。
【0096】
ところで、DMAC16は、CPU13からの動作開始指令を受信すると、アドレスDe0 から順番にメモリされているデータ(すなわち、送信テーブルTcのデータ)を、シリアル通信ラインLを介してA/D変換IC7へ送信する(ステップJ1)。
【0097】
A/D変換IC7は、DMAC16からのデータ(すなわち、A/D変換処理起動コマンドと、A/D変換処理すべき信号のチャンネルとを含んだデータ)を受信すると、対応するセンサ信号のA/D変換処理を行って(ステップK1)、A/D変換処理したデータを、シリアル通信ラインLを介してDMAC16へ送信する(ステップK2)。
【0098】
DMAC16は、A/D変換IC7から送信されたA/D変換処理されたデータを受信すると、そのデータをアドレスDf0 から順番に転送先テーブルTyに書き込んでいく(ステップJ2)。これら処理が1回終了すると、アドレス信号を1増加させ、10個のデータの受信が完了するまで続け、10個のデータの受信が完了すると、処理が完了したことを割り込みをかけてCPU13に知らせる(ステップJ3)。
【0099】
一方、ステップS31における判断処理で、CPU13が、フラグF1req が1でないと判断すれば、フラグF2req が1であるか否かを判断し(ステップS32)、フラグF2req が1であると判断すれば、後半グループに属する時間同期データの処理要求が待機状態にあるということなので、送信テーブルTcがセットされているメモリの開始アドレスDe0 から11進んだアドレスDe11をDMAC16の内部のアドレスレジスタへ、そしてデータ個数10をDMAC16の内部のカウンタへ書き込む(ステップS43)。
【0100】
また、A/D変換IC7でA/D変換処理が行われ、A/D変換処理されたデータがDMAC16へ送信され、DMAC16でこのデータが受信された場合、このデータを所定のメモリへ転送する必要があるので、転送先テーブルTy(RAM14)の開始アドレスDf0 から10進んだアドレスDf10をDMAC16の内部のアドレスレジスタへ、そしてデータ個数10をDMAC16の内部のカウンタへ書き込む(ステップS44)。
【0101】
これら書き込みが完了すると、DMAC16に動作開始指令を発信し(ステップS45)、その後、後半グループに属する時間同期データの処理を要求したことを示すフラグF2exe を1にすると共に(ステップS46)、フラグF2req を0にする(ステップS47)。
【0102】
ところで、DMAC16は、CPU13からの動作開始指令を受信すると、アドレスDe11から順番にメモリされているデータ(すなわち、送信テーブルTcのデータ)を、シリアル通信ラインLを介してA/D変換IC7へ送信する(ステップJ4)。
【0103】
A/D変換IC7は、DMAC16からのデータ(すなわち、A/D変換処理起動コマンドと、A/D変換処理すべき信号のチャンネルとを含んだデータ)を受信すると、対応するセンサ信号のA/D変換処理を行って(ステップK3)、A/D変換処理したデータを、シリアル通信ラインLを介してDMAC16へ送信する(ステップK4)。
【0104】
DMAC16は、A/D変換IC7から送信されたA/D変換処理されたデータを受信すると、そのデータをアドレスDf10から順番に転送先テーブルTyに書き込んでいく(ステップJ5)。これら処理が1回終了すると、アドレス信号を1増加させ、10個のデータの受信が完了するまで続け、10個のデータの受信が完了すると、処理が完了したことを割り込みをかけてCPU13に知らせる(ステップJ6)。
【0105】
上記実施の形態(1)に係るエンジン制御装置によれば、前記時間同期データについては、2個のグループに分割し、各グループ毎に前記時間同期データの処理を要求するので、各グループに属する前記時間同期データの処理と処理との間に、前記DMA制御手段がシリアル通信ラインLを占有しない期間をつくることができるため、この期間に非時間同期データの処理を割り込ませることが可能となる。従って、エンジン回転同期A/D変換処理のような、時間に同期させずに行う処理の遅延を防止することができる。
【0106】
さらに、A/D変換処理後のこれらデータを使用して、所定の処理を行う場合に、図4に示したように、前半グループと後半グループとを合わせて、一度に行うので(ステップS26参照)、CPUにおける処理の負荷の軽減を図ることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態(1)に係るエンジン制御装置が採用されたエンジン制御ECUの要部を概略的に示したブロック図である。
【図2】〜
【図4】実施の形態(1)に係るエンジン制御装置が採用されたエンジン制御ECUにおけるCPUの行う処理動作を示したフローチャートである。
【図5】〜
【図8】実施の形態(1)に係るエンジン制御装置が採用されたエンジン制御ECUにおけるCPU、DMAC、及びA/D変換ICの行う処理動作を示したタイミングチャートである。
【図9】RAMに書き込まれた、DMACからシリアル通信ラインを介してA/D変換ICへ送信するための送信データをまとめた送信テーブルを示した図である。
【図10】従来におけるエンジン制御装置が採用されたエンジン制御ECUの要部を概略的に示したブロック図である。
【図11】、
【図12】時間同期A/D変換処理と、非時間同期A/D変換処理との起動タイミングが重なることを説明するための説明図である。
【図13】従来におけるエンジン制御装置が採用されたエンジン制御ECUにおけるCPU、DMAC、及びA/D変換ICの行う処理動作を示したフローチャートである。
【図14】従来におけるエンジン制御装置が採用されたエンジン制御ECUにおけるCPU、DMAC、及びA/D変換ICの行う処理動作を示したタイミングチャートである。
【図15】(a)、(b)は、RAMに書き込まれた、DMACからシリアル通信ラインを介してA/D変換ICへ送信するための送信データをまとめた送信テーブルを示した図である。
【図16】DMACとA/D変換ICとのデータのやり取りを説明するための説明図である。
【符号の説明】
7 A/D変換IC
11 ECU
12 マイコン
13 CPU
14 RAM
15 ROM
16 DMAC
[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to a DMA (Direct Memory Access) communication control method, a transfer data processing method,DMA communication control device,And, more specifically, the DMA control method in the case where data exchange with the A / D conversion means is performed by serial communication using the DMA control means, and is transferred using the DMA communication control method. Data processing method for processing received data, and the DMAA DMA communication control apparatus comprising main control means for performing control using the control means;The present invention relates to an engine control device.
[0002]
[Prior art]
The engine control is centered on the fuel injection control, and the ignition timing control, knock control, idle speed control, diagnosis, etc. are comprehensively controlled by a microcomputer (hereinafter simply referred to as a microcomputer) to optimize the engine. By operating it, it has the effects of improving power performance, purifying exhaust gas, and improving fuel efficiency.
[0003]
FIG. 10 is a block diagram schematically showing a main part of an engine control ECU (Electronic Control Unit) which is the center of a system for electronic control of the engine. In the figure, reference numeral 1 denotes an ECU. The ECU 1 includes a microcomputer 2, an A / D conversion IC 7, an input processing circuit 8, and an output processing circuit 9. The microcomputer 2 includes a CPU 3, a RAM 4, and a ROM 5. And a DMAC (Direct Memory Access Controller) 6.
[0004]
Analog signals output from the water temperature sensor, intake air amount sensor, oil temperature sensor, air flow meter, throttle opening sensor, knock sensor, etc. are A / D converted by the A / D conversion IC 7, and the crank angle sensor, engine rotation sensor The digital signal output from the above is input to the microcomputer 2 via the input processing circuit 8.
[0005]
Further, the microcomputer 2 calculates an optimal control value based on these input signals, and drives various actuators such as solenoids and motors, lights lamps, and other ECUs via the output processing circuit 9. Is to control. Data exchange between the microcomputer 2 and the A / D conversion IC 7 is serial communication via the serial communication line L, and DMA communication is performed to reduce the load on the CPU 3.
[0006]
The sensor signal subjected to A / D conversion processing is periodically A / D converted every predetermined time (for example, 4 milliseconds), such as water temperature, intake air amount, oil temperature (for example, 20 ch in total). Some are processed, and some are A / D converted in synchronization with engine rotation, such as a knock signal. In other words, the A / D conversion processing here includes time synchronization A / D conversion processing and non-time synchronization A / D conversion processing such as engine rotation synchronization A / D conversion processing.
[0007]
As described above, when there are two types of A / D conversion processes having different activation timings, as shown in FIG. 11, while the time synchronous A / D conversion process is being executed (that is, the time synchronous A / D conversion). While the processing request is being generated, a request for engine rotation synchronization A / D conversion processing may occur. Conversely, a time-synchronized A / D conversion process request is generated while the engine rotation-synchronized A / D conversion process is being executed (that is, while an engine rotation-synchronized A / D conversion process request is being generated). There are things to do.
[0008]
When processing requests overlap, a request generated later is awaited until the DMA communication at that time ends. This is because when DMA communication is started once, communication is automatically performed by the hardware function of the microcomputer 2, and the serial communication line L is occupied, and other requests are interrupted in the middle. It is because it is not possible. That is, if the CPU 3 activates the DMAC 6 once, the DMAC 6 occupies the serial communication line L.
[0009]
Accordingly, since the engine rotation synchronization A / D conversion process cannot be executed during the period in which the time synchronization A / D conversion process is being performed (for example, 1.6 milliseconds), the time synchronization A / D conversion process ends. You have to wait until you do it, and it may be delayed up to 1.6 ms. This is a case where data for A / D conversion processing is synchronized with time for 20 channels and processing for 1 channel takes 80 μs.
[0010]
[Problems to be solved by the invention]
However, if the A / D conversion process of the knock signal is delayed by 1 ms or more, a problem may occur. Therefore, at present, the time synchronous A / D conversion process is divided into two (first half: 10 ch, second half: 10 ch), As shown in FIG. 12, the A / D conversion process is alternately performed every 2 milliseconds to prevent a delay in the engine rotation synchronization A / D conversion process.
[0011]
Next, the sensor signals output from the water temperature sensor, the intake air amount sensor, the oil temperature sensor (20 ch in total) are A / D converted by the A / D conversion IC 7, and the 20 A / D converted processing signals are A case where data is written to the RAM 4 will be described with reference to a flowchart shown in FIG. 13 and a timing chart shown in FIG.
[0012]
First, the CPU 3 determines the address Da of the RAM 4.0 ~ DaTenIn addition, transmission data to be transmitted from the DMAC 6 to the A / D conversion IC 7 via the serial communication line L is used as a transmission table Ta (see FIG. 15A) or a transmission table Tb (see FIG. 15B). Set (steps A1, a1).
[0013]
When the setting is completed, the start address Da of the memory in which the transmission table Ta (, Tb) is set0 Are written in the address register inside the DMAC 6 and the number of data 10 is written in the counter inside the DMAC 6 (steps A 2 and a 2).
[0014]
Further, A / D conversion processing is performed by the A / D conversion IC 7, and the data subjected to the A / D conversion processing is transmitted to the DMAC 6. When this data is received by the DMAC 6, the data is transferred to a predetermined memory. Since it is necessary, the start address Db of the transfer destination table Tw (RAM4)0 Are written in the address register inside the DMAC 6, and the number of data 10 is written in the counter inside the DMAC 6 (steps A3 and a3). When the writing is completed, an operation start command is transmitted to the DMAC 6 (steps A4 and a4).
[0015]
When the DMAC 6 receives the operation start command from the CPU 3, the address Da0 The data stored in order (ie, data in the transmission table Ta or transmission table Tb) is transmitted to the A / D conversion IC 7 via the serial communication line L (step B1).
[0016]
When the A / D conversion IC 7 receives the data from the DMAC 6 (that is, the data including the A / D conversion processing start command and the channel of the signal to be A / D converted), the A / D conversion IC 7 receives the A / D of the corresponding sensor signal. D conversion processing is performed (step C1), and the A / D conversion processing data is transmitted to the DMAC 6 via the serial communication line L (step C2).
[0017]
When the DMAC 6 receives the A / D converted data transmitted from the A / D conversion IC 7, the DMAC 6 sends the data to the address Db.0 Are sequentially written in the transfer destination table Tw (step B2). When these processes are completed once, the address signal is incremented by 1 and continues as shown in FIG. 16 until the reception of 10 data is completed. When the reception of 10 data is completed, the process is completed. Is notified to the CPU 3 (step B3).
[0018]
When the CPU 3 receives a notification of completion of processing from the DMAC 6, the CPU 3 performs predetermined processing using the data written in the transfer destination table Tw (steps A5 and a5).
[0019]
Further, steps D1 to D3 shown in FIG. 14 are processes performed in synchronization with the engine rotation, and the CPU 3 sends the serial communication line from the DMAC 6 to the address Dc of the RAM 4 in order to perform the A / D conversion process on the knock signal. Transmission data to be transmitted to the A / D conversion IC 7 via L is set (step D1). When the setting is completed, the address Dc is stored in the internal address register of the DMAC 6, and the number of data 1 is stored in the internal counter of the DMAC 6. (Step D2).
[0020]
Further, A / D conversion processing is performed by the A / D conversion IC 7, and the data subjected to the A / D conversion processing is transmitted to the DMAC 6. When this data is received by the DMAC 6, the data is transferred to a predetermined memory. Since there is a need, the address Dd of the transfer destination table Tx (RAM4) is written to the address register inside the DMAC6, and the number of data 1 is written to the counter inside the DMAC6 (step D3). A command is transmitted (step D4).
[0021]
When the DMAC 6 receives the operation start command from the CPU 3, the DMAC 6 transmits the data stored in the address Dc to the A / D conversion IC 7 via the serial communication line L (step B4).
[0022]
When the A / D conversion IC 7 receives data from the DMAC 6 (that is, data including the A / D conversion processing start command and the channel of the knock signal to be A / D converted), the corresponding sensor signal (knock) is received. Signal) is A / D converted (step C3), and the A / D converted data is transmitted to the DMAC 6 via the serial communication line L (step C4).
[0023]
When the DMAC 6 receives the A / D converted data transmitted from the A / D conversion IC 7, the DMAC 6 writes the data to the address Dd of the transfer destination table Tx (step B 5). Therefore, the CPU 3 is interrupted to notify the CPU 3 that the processing has been completed (step B6).
[0024]
When the CPU 3 receives notification of the completion of processing from the DMAC 6, the CPU 3 performs predetermined processing using the data written in the transfer destination table Tx (step D5).
[0025]
As described above, by performing the time-synchronized A / D conversion process in two, the maximum delay time of the knock signal A / D conversion process can be reduced to 0.8 milliseconds.
[0026]
However, the time synchronization A / D conversion process is divided into two parts, so that the A / D conversion process is performed and the process using the time synchronization data transferred to the transfer destination table Tw, the setting of the transmission table, etc. Before the division, only the step A5 and the steps A1 to A4 may be sufficient. However, the division requires the step a5 and the steps a1 to a4, which increases the processing load on the CPU 3.
[0027]
  The present invention has been made in view of the above problems, and can prevent a delay in processing performed without synchronizing with time, such as engine rotation synchronization A / D conversion processing, and reduce the processing load on the CPU. DMA communication control method that can be performed, transfer data processing method for processing data transferred using the DMA communication control method,DMA communication control device, andAn object of the present invention is to provide an engine control device.
[0028]
[Means for solving the problems and effects thereof]
  In order to achieve the above object, in the DMA communication control method (1) according to the present invention, there are at least two types of time synchronization data that need to be processed in synchronization with time, and without synchronizing with time, There is at least one type of non-time-synchronous data that needs to be processed at a predetermined timing, and these processes are performed using the DMA control means, and the A / D conversion is performed on the processing performed by the DMA control means. In the DMA communication control method in the case of including transmission of data for A / D conversion processing request to the means and reception of data A / D converted by the A / D conversion means, the time synchronization data , N (≧ 2) groups, the first data requesting the DMA control means to process the time synchronization data belonging to the first group in synchronization with time When the processing request step and the processing of the time synchronization data belonging to the kth (1 ≦ k ≦ n−1) th group are completed, the DMA control means sends the processing of the time synchronization data belonging to the k + 1th group. A second data processing requesting step for requesting non-time synchronous data processing to request the DMA control means to process the non-time synchronous data in synchronization with a predetermined timing instead of time, and IncludingWhen the DMA control means is processing the time synchronization data belonging to the kth group, if it is not time to request the processing of the non-time synchronization data, the kth group When the processing of the time synchronization data belonging to the kth group is completed in order to continuously perform the processing of the time synchronization data belonging to the k + 1th group and the processing of the time synchronization data belonging to the k + 1th group, Without requesting the DMA control means to process the time synchronization data belonging to the (k + 1) th group, while the DMA control means processes the time synchronization data belonging to the kth group. If it is time to request processing of the non-time-synchronized data, the time-synchronized data belonging to the kth group If management is completed, the on DMA control unit, rather than requiring the time processing of the synchronous data belonging to the (k + 1) th group, and requests the non-time processing of synchronous data,The first non-time synchronous data processing request step is prioritized over the second data processing request step.
[0029]
  According to the above-described DMA communication control method (1), the time synchronization data is divided into n (≧ 2) groups, and processing of the time synchronization data is requested for each group. Since a period during which the DMA control means does not occupy the serial communication line L (see FIG. 1) can be created between the processing of the time synchronization data to which it belongs, the processing of non-time synchronization data is interrupted during this period. It becomes possible to make it.
  Further, the first non-time synchronous data processing request step is prioritized over the second data processing request step.Therefore, it is possible to prevent a delay in processing performed without synchronizing with time, such as engine rotation synchronization A / D conversion processing.
[0030]
Furthermore, although the time synchronization data is divided into n groups, when the processing of the time synchronization data belonging to the kth (1 ≦ k ≦ n−1) th group is finished, the DMA control means , A second data processing requesting step for requesting processing of the time synchronization data belonging to the (k + 1) th group, for example, when processing of the time synchronization data belonging to the first group is completed, The DMA control means is requested to process the time synchronization data belonging to the second group.
[0031]
  According to the DMA communication control method (1), when the DMA control means is processing the time synchronization data belonging to the kth group, it requests processing of the non-time synchronization data. If the timing is not reached, the k-th group is processed in order to continuously process the time-synchronized data belonging to the k-th group and the time-synchronized data belonging to the k + 1-th group. Instead of requesting the DMA control means to process the time-synchronized data belonging to the (k + 1) -th group without stopping after the processing of the time-synchronized data belonging to the group is completed, the non-time synchronization Request data processing.
  for that reason,For example, even if the time synchronization data is divided into a first half group (first group) and a second half group (second group and also the final nth group),If it is not necessary to interrupt the processing of the non-time synchronized data,The processing of the time synchronization data belonging to the first half group and the processing of the time synchronization data belonging to the second half group are continuously performed.ShowTherefore, when the predetermined processing is performed using the data after the processing, the first half group and the second half group can be performed at a time. Therefore, the processing load on the CPU can be reduced.
[0033]
  Also, a DMA communication control method (2) Is the DMA communication control method (1), After the processing of the time synchronization data belonging to the k-th group is finished, if the DMA control means is not requested to process the time synchronization data belonging to the k + 1-th group, When the processing of the time synchronization data is completed, the DMA control means includes a third data processing requesting step for requesting the processing of the time synchronization data belonging to the (k + 1) th group.
[0035]
  Further, as described above, the processing of the non-time synchronization data is interrupted between the processing of the time synchronization data belonging to the k-th group and the processing of the time synchronization data belonging to the k + 1-th group. Even if the above-mentioned DMA communication control method (2) Includes the third data processing requesting step for requesting the DMA control means to process the time synchronous data belonging to the (k + 1) th group when the processing of the non-time synchronous data is completed. Therefore, the time synchronization data belonging to the (k + 1) th and subsequent groups can be reliably processed.
[0036]
  Also, a DMA communication control method (3) Is the DMA communication control method (1)Or (2)When the DMA control means is processing the time synchronization data belonging to the nth group, and when it is time to request the processing of the non-time synchronization data, the nth When the processing of the time synchronization data belonging to the group is completed, the DMA control means is requested to process the non-time synchronization data.2The non-time synchronous data processing requesting step is included.
[0037]
  The above-mentioned DMA communication control method (3), When the DMA control means is processing the time-synchronized data belonging to the n-th group (that is, the last group), at the timing of requesting the processing of the non-time-synchronized data. In this case, when the processing of the time synchronization data belonging to the nth group is completed, the DMA control means is requested to process the non-time synchronization data.2Since the non-time synchronous data processing request step is included, it is possible to prevent a delay of processing performed without synchronizing with time, such as engine rotation synchronization A / D conversion processing.
[0038]
  Also, a DMA communication control method (4) Is the DMA communication control method (1) to (3), When the DMA control means is processing the non-time-synchronized data, and when it is time to request processing of the time-synchronized data belonging to the first group, When the processing of the non-time-synchronized data is completed, the DMA control means includes a fourth data processing request step for requesting the processing of the time-synchronized data belonging to the first group.
[0039]
  The above-mentioned DMA communication control method (4), When the DMA control means is processing the non-time-synchronized data, and when it is time to request processing of the time-synchronized data belonging to the first group, When the processing of the non-time synchronization data is completed, the DMA control means includes the fourth data processing request step for requesting the processing of the time synchronization data belonging to the first group. It is possible to ensure that the process is performed.
[0040]
  Also, a DMA communication control method (5) Is the DMA communication control method (1) to (4), At least one group of transmission data for transmission from the DMA control means to the other party that performs serial communication with the DMA control means is collected and stored in a predetermined location. A first transmission data storing step is included.
[0041]
  Also, a DMA communication control method (6) Is the DMA communication control method (1) to (5), At least two groups of transmission data for transmission from the DMA control means to the other party that performs serial communication with the DMA control means are collected into a transmission table and stored in a predetermined location. A second transmission data storage step is included.
[0042]
  Also, a DMA communication control method (7) Is the DMA communication control method (5Or (6), The transmission table is configured based on the priority of the time synchronization data.
[0043]
As described in the section “Problems to be Solved by the Invention”, the CPU 3 sends the DMAC 6 to the A / D conversion IC 7 which is a counterpart to perform serial communication with the DMAC 6 before issuing an instruction to the DMAC 6. Transmission data for this purpose is stored in the RAM 4. Incidentally, in FIG. 13 and FIG. 14, this processing is shown as processing of steps A1 and a1.
[0044]
  The above-mentioned DMA communication control method (5) ~ (7), The transmission data is not stored in a predetermined place for each transmission, but is stored as a transmission table in a group for at least one group, so that the processing load on the CPU can be reduced. it can.
[0045]
  Further, the above-described DMA communication control method (6), At least two groups are collectively stored as a transmission table, so that the processing load on the CPU can be further reduced.
[0046]
  Also, the above-described DMA communication control method (7Since the transmission table configured based on the priority of the time synchronization data can be used, it is possible to avoid performing communication control more than necessary.
[0047]
For example, in the past, the 20 types of time-synchronized data used for engine control were all treated equally by performing A / D conversion processing every 4 milliseconds, but these 20 types of data are not at the same level. In other cases, one A / D conversion process is required once every 4 milliseconds, and another A / D conversion process is sufficient once in 64 milliseconds. Therefore, efficient communication can be performed by using the transmission table configured based on the priority of the time synchronization data.
[0049]
  DMA communication control method (1) to (7), The time synchronization data is divided into n groups so that the time synchronization data belongs substantially equally, so that balanced communication control can be performed, and communication with less waste can be realized.
[0050]
  Further, the transfer data processing method (1) according to the present invention comprises the DMA communication control methods (1) to (7A transfer data processing method for processing data transferred using any one of the above), including a transfer data processing step for performing predetermined processing using the transferred data for at least two groups collectively It is characterized by being.
[0051]
As described in the section “Problems to be Solved by the Invention”, when the CPU 3 receives a notification of the completion of processing from the DMAC 6, conventionally, the CPU 3 uses the data written in the transfer destination table Tw to perform predetermined processing. The process is to be performed. Incidentally, in FIG. 13 and FIG. 14, this processing is shown as processing of steps A5 and a5.
[0052]
As described above, conventionally, by dividing the time-synchronized A / D conversion process into two, the process using the time-synchronized data that has been A / D converted and transferred to the transfer destination table Tw is performed before the division. Step A5 was sufficient, but by dividing, step a5 was necessary, and the processing load on the CPU 3 increased.
[0053]
According to the transfer data processing method (1) described above, since the transfer data processing step for performing predetermined processing using the transferred data collectively for at least two groups is included, the processing load on the CPU increases. Can be avoided.
[0054]
  The DMA communication control apparatus (1) according to the present invention includes a transmission process for transmitting processing request data for A / D conversion processing to the A / D conversion processing means, and A / D conversion by the A / D conversion processing means. In the DMA communication control apparatus having the main control means for performing the reception of the processed A / D conversion data using the DMA control means, the data to be subjected to the A / D conversion processing is synchronized with time. Including at least two types of time-synchronized data that needs to be processed and at least one type of non-time-synchronized data that needs to be processed in synchronization with the rotational speed of the engine. When receiving a command from the main control means to transmit the processing request data of the A / D conversion process, the main control means performs the transmission process and the reception process. A first command that divides the data into two groups is used to instruct the DMA control means to transmit the processing request data for requesting A / D conversion processing in synchronization with time. When the first data processing requesting unit and the transmission processing and the reception processing for the first group are completed, A / D conversion is performed on a second group different from the first group in the time synchronization data. A second data processing requesting means for instructing the DMA control means to transmit the processing request data for requesting processing, and A / D conversion for the non-time synchronized data in synchronization with the engine speed Non-time synchronous data processing requesting means for instructing the DMA control means to transmit processing request data for requesting processing;When the DMA control means is processing the time synchronization data belonging to the first group and the timing for requesting the processing of the non-time synchronization data is not reached, the first group When the processing of the time synchronization data belonging to the first group is completed, the processing of the time synchronization data belonging to the second group and the processing of the time synchronization data belonging to the second group are continuously performed. Without transmission, the DMA control unit is instructed to transmit processing request data for requesting A / D conversion processing to the second group, while the DMA control unit is in the first group. When it is time to request processing of the non-time-synchronized data when processing of the time-synchronized data to which it belongs, the time belonging to the first group When the processing in the period data is completed, the relative non-time synchronous data, the transmission of the processing request data for a request for A / D conversion processing is commanded to the DMA controller,The processing by the non-time synchronous data processing requesting unit is prioritized over the processing by the second data processing requesting unit.
  The engine control apparatus (1) according to the present invention includes a transmission process for transmitting processing request data for A / D conversion processing to the A / D conversion processing means, and an A / D conversion processing by the A / D conversion processing means. Main control means for performing reception processing for receiving received A / D conversion data using DMA control meansengineIn the control device, at least two types of time-synchronized data that needs to be processed in synchronization with time and data that is subjected to A / D conversion processing, and non-time that needs to be processed in synchronization with the engine speed When at least one type of synchronization data is included, and the DMA control unit receives an instruction from the main control unit to transmit the processing request data for A / D conversion processing, the transmission processing and the reception processing The main control means makes a request for A / D conversion processing in synchronization with time for the first group of the time synchronization data divided into two groups. When the first data processing requesting unit for instructing the DMA control unit to transmit the processing request data and the transmission processing and the receiving processing for the first group are completed, the time Second data processing request means for instructing the DMA control means to transmit the processing request data for requesting A / D conversion processing to a second group different from the first group in the period data And non-time synchronous data processing requesting means for instructing the DMA control means to transmit processing request data for requesting A / D conversion processing in synchronization with the engine speed with respect to the non-time synchronous data. WithWhen the DMA control means is processing the time synchronization data belonging to the first group and the timing for requesting the processing of the non-time synchronization data is not reached, the first group When the processing of the time synchronization data belonging to the first group is completed, the processing of the time synchronization data belonging to the second group and the processing of the time synchronization data belonging to the second group are continuously performed. Without transmission, the DMA control unit is instructed to transmit processing request data for requesting A / D conversion processing to the second group, while the DMA control unit is in the first group. When it is time to request processing of the non-time-synchronized data when processing of the time-synchronized data to which it belongs, the time belonging to the first group When the processing in the period data is completed, the relative non-time synchronous data, the transmission of the processing request data for a request for A / D conversion processing is commanded to the DMA controller,The processing by the non-time synchronous data processing requesting unit is prioritized over the processing by the second data processing requesting unit.
[0055]
  DMA communication control device (1)According to the engine control device (1) described above, it is possible to prevent a delay in processing performed without synchronizing with time, such as engine rotation synchronization A / D conversion processing.
[0056]
  further,According to the above-described DMA communication control device (1) and the above-described engine control device (1), the main control meansIt is practical because it is designed to reduce the processing load ofDMA communication control device,An engine control device can be realized.
[0057]
DETAILED DESCRIPTION OF THE INVENTION
  Hereinafter, a DMA communication control method, a transfer data processing method according to the present invention,DMA communication control device,An embodiment of the engine control device will be described with reference to the drawings.
[0058]
FIG. 1 is a block diagram schematically showing a main part of an engine control ECU in which the engine control apparatus according to the embodiment (1) is employed. Components similar to those of the engine control ECU shown in FIG. 10 are denoted by the same reference numerals, and description thereof is omitted here. In the figure, reference numeral 11 denotes an ECU. The ECU 11 includes a microcomputer 12, an A / D conversion IC 7, an input processing circuit 8, and an output processing circuit 9. The microcomputer 12 includes a CPU 13, a RAM 14, and a ROM 15. And the DMAC 16.
[0059]
Analog signals output from the water temperature sensor, intake air amount sensor, oil temperature sensor, air flow meter, throttle opening sensor, knock sensor, etc. are A / D converted by the A / D conversion IC 7, and the crank angle sensor, engine rotation sensor The digital signal output from the above is input to the microcomputer 12 via the input processing circuit 8.
[0060]
Further, the microcomputer 12 calculates an optimum control value based on these input signals, drives various actuators such as a solenoid and a motor, turns on a lamp, The ECU is controlled. Data exchange between the microcomputer 12 and the A / D conversion IC 7 is serial communication via the serial communication line L, and DMA communication is performed to reduce the load on the CPU 13.
[0061]
The sensor signal that performs A / D conversion processing is periodically A / D conversion processed every predetermined time (for example, 4 milliseconds), such as water temperature, intake air amount, oil temperature (for example, 20 ch in total). There are those in which A / D conversion processing is performed in synchronization with engine rotation, such as a knock signal. In other words, the A / D conversion processing here includes time synchronization A / D conversion processing and non-time synchronization A / D conversion processing such as engine rotation synchronization A / D conversion processing.
[0062]
Next, regarding the processing operations performed by the CPU 13, the DMAC 16, and the A / D conversion IC 7 in the engine control ECU 11 in which the engine control apparatus according to the embodiment (1) is adopted, the flowcharts shown in FIGS. It demonstrates based on the timing chart shown in FIGS. Here, a case will be described in which A / D conversion processing is performed every predetermined time and a signal consisting of 20 channels in total is divided into two groups, a first half group and a second half group.
[0063]
FIG. 5 shows a case where processing requests do not overlap, and FIG. 6 shows a case where it is time to request processing of non-time synchronization data when processing time synchronization data belonging to the first half group. Show. FIG. 7 shows a case where it is time to request processing of non-time synchronized data while processing time synchronized data belonging to the latter half group. FIG. 8 shows processing of non-time synchronized data. It shows a case where it is time to request processing of time synchronization data.
[0064]
First, processing operations relating to time synchronization data performed in synchronization with time will be described with reference to the flowchart shown in FIG. Every 4 milliseconds, the address De of the RAM 140 ~ Detwenty oneThen, transmission data to be transmitted from the DMAC 16 to the A / D conversion IC 7 via the serial communication line L is set as a transmission table Tc (see FIG. 9) (step S1).
[0065]
When the setting is completed, a flag F1 indicating that processing of time synchronization data belonging to the first half group has been requested.EXE , A flag F2 indicating that processing of time synchronization data belonging to the latter half group has been requestedEXE , And a flag F3 indicating that processing of non-time synchronous data is requestedEXE Are both 0, that is, whether the DMAC 16 is not processing time-synchronized data or non-time-synchronized data (step S2).
[0066]
Flag F1EXE , F2EXE , F3EXE Are both 0, that is, if the DMAC 16 determines that neither the time synchronization data nor the non-time synchronization data is being processed, the DMAC 16 can be requested to process the time synchronization data. , The start address De of the memory in which the transmission table Tc is set0 Are written in the address register in the DMAC 16 and the number of data 10 is written in the counter in the DMAC 16 (step S3).
[0067]
Further, A / D conversion processing is performed by the A / D conversion IC 7, and the data subjected to the A / D conversion processing is transmitted to the DMAC 16. When this data is received by the DMAC 16, the data is transferred to a predetermined memory. Since it is necessary, the start address Df of the transfer destination table Ty (RAM 14)0 Are written into the address register inside the DMAC 16 and the number of data 10 is written into the counter inside the DMAC 16 (step S4).
[0068]
When these writings are completed, an operation start command is transmitted to the DMAC 16 (step S5), and then a flag F1 indicating that processing of time synchronization data belonging to the first half group is requested.EXE 1 (step S6), and a flag F2 indicating that the processing request for the time synchronization data belonging to the latter half group is in a standby statereq Is set to 1 (step S8).
[0069]
By the way, when the DMAC 16 receives the operation start command from the CPU 13, the address De0 The data stored in order (ie, data in the transmission table Tc) is transmitted to the A / D conversion IC 7 via the serial communication line L (step J1).
[0070]
When the A / D conversion IC 7 receives the data from the DMAC 16 (that is, the data including the A / D conversion processing start command and the channel of the signal to be A / D converted), the A / D conversion IC 7 receives the A / D of the corresponding sensor signal. D conversion processing is performed (step K1), and the A / D conversion processing data is transmitted to the DMAC 16 via the serial communication line L (step K2).
[0071]
When the DMAC 16 receives the data subjected to the A / D conversion processing transmitted from the A / D conversion IC 7, the DMAC 16 stores the data in the address Df.0 Are sequentially written in the transfer destination table Ty (step J2). When these processes are completed once, the address signal is incremented by 1 and continues until reception of 10 data is completed. When reception of 10 data is completed, an interruption is made to notify the CPU 13 that the process has been completed. (Step J3).
[0072]
On the other hand, in the determination process in step S2, the CPU 13 determines the flag F1.EXE , F2EXE , F3EXE Is one, that is, if the DMAC 16 determines that time-synchronized data or non-time-synchronized data is being processed, the DMAC 16 cannot be requested to process time-synchronized data at this time. Therefore, the flag F1 indicating that the processing request for the time synchronization data belonging to the first half group is in a standby state.req 1 (step S7), and a flag F2 indicating that the processing request for the time synchronization data belonging to the latter half group is in a standby statereq Is set to 1 (step S8).
[0073]
Next, processing operations relating to non-time synchronization data (knock signal) performed in synchronization with engine rotation will be described based on the flowchart shown in FIG. In synchronization with the engine rotation, transmission data to be transmitted from the DMAC 16 to the A / D conversion IC 7 via the serial communication line L is set in the address Dg of the RAM 14 (step S11).
[0074]
When the setting is completed, a flag F1 indicating that processing of time synchronization data belonging to the first half group has been requested.EXE , A flag F2 indicating that processing of time synchronization data belonging to the latter half group has been requestedEXE , And a flag F3 indicating that processing of non-time synchronous data is requestedEXE Are both 0, that is, whether the DMAC 16 is not processing time-synchronized data or non-time-synchronized data (step S12).
[0075]
Flag F1EXE , F2EXE , F3EXE Are both 0, that is, if the DMAC 16 determines that neither the time synchronization data nor the non-time synchronization data is being processed, the DMAC 16 can be requested to process the time synchronization data. Then, the address Dg of the memory in which the transmission data is set is written into the address register inside the DMAC 16 and the number of data 1 is written into the counter inside the DMAC 16 (step S13).
[0076]
Further, A / D conversion processing is performed by the A / D conversion IC 7, and the data subjected to the A / D conversion processing is transmitted to the DMAC 16. When this data is received by the DMAC 16, the data is transferred to a predetermined memory. Since it is necessary, the address Dh of the transfer destination table Tz (RAM 14) is written into the address register inside the DMAC 16, and the number of data 1 is written into the counter inside the DMAC 16 (step S14).
[0077]
When these writings are completed, an operation start command is transmitted to the DMAC 16 (step S15), and then a flag F3 indicating that processing of non-time synchronous data is requested.EXE Is set to 1 (step S16).
[0078]
By the way, when the DMAC 16 receives the operation start command from the CPU 13, the DMAC 16 transmits the data stored in the address Dg to the A / D conversion IC 7 via the serial communication line L (step J7).
[0079]
When the A / D conversion IC 7 receives data from the DMAC 16 (that is, data including the A / D conversion processing start command and the channel of the knock signal to be A / D converted), the corresponding sensor signal (knock) is received. Signal) is A / D converted (step K5), and the A / D converted data is transmitted to the DMAC 16 via the serial communication line L (step K6).
[0080]
When the DMAC 16 receives the data subjected to A / D conversion processing transmitted from the A / D conversion IC 7, the DMAC 16 writes the data to the address Dh of the transfer destination table Tz (step J 8). Therefore, the CPU 13 is interrupted to notify the CPU 13 that the processing has been completed (step J9).
[0081]
On the other hand, in the determination process in step S12, the CPU 13 determines that the flag F1EXE , F2EXE , F3EXE Is determined to be 1, that is, if the DMAC 16 determines that the time synchronization data or the non-time synchronization data is being processed, the DMAC 16 may be requested to process the non-time synchronization data at this time. Flag F3 indicating that the non-time synchronous data processing request is in a standby state.req Is set to 1 (step S17).
[0082]
Next, the processing operation of the CPU 13 performed in synchronization with the interrupt processing upon completion of communication of the DMAC 16 will be described based on the flowchart shown in FIG. If there is an interrupt process from the DMAC 16, the flag F3EXE Is determined to be 1 (step S21), flag F3EXE 1 is completed, the completion of the communication of the DMAC 16 means the completion of the processing of the non-time synchronous data, and the non-time synchronous data (for example, a knock signal) transferred to the address Dh and subjected to the A / D conversion process. ) Can be performed, this process is set to the ready state (the process is in a process executable state and executed according to the processing priority in the CPU 13) (step S24), and then the flag F3EXE Is set to 0 (step S25), and the process proceeds to step S29.
[0083]
In the determination process in step S21, the flag F3EXE If it is determined that is not 1, the flag F2EXE Is determined to be 1 (step S22), the flag F2EXE If it is determined that 1 is 1, the completion of communication of the DMAC 16 means the completion of the processing of the time synchronization data belonging to the latter half group, and the address Df0 ~ Df19It is possible to perform a predetermined process using the A / D conversion-processed time synchronization data transferred to, so that this process is set to a ready state (a process executable state, and depending on the processing priority in the CPU 13 (Step S26), and then the flag F2EXE Is set to 0 (step S27), and the process proceeds to step S29.
[0084]
In the determination process in step S22, the flag F2EXE If it is determined that is not 1, the flag F1EXE Is determined to be 1 (step S23), the flag F1EXE If it is determined that 1 is 1, the completion of communication of the DMAC 16 means the completion of the processing of the time synchronization data belonging to the first half group, so the flag F1EXE Is set to 0 (step S28), and the process proceeds to step S29. On the other hand, flag F1EXE If it is determined that is not 1, the process proceeds to step S29.
[0085]
In step S29, a flag F1 indicating that the processing request for the time synchronization data belonging to the first half group is in a standby state.req The flag F2 indicating that the processing request for the time synchronization data belonging to the latter half group is in a standby statereq , And a flag F3 indicating that the non-time synchronous data processing request is in a standby statereq Is determined to be 0 or not.
[0086]
Flag F1req , F2req , F3req Is 0, that is, if it is determined that neither the time-synchronized data processing request nor the non-time-synchronized data processing request is in the standby state, there is no need to perform any processing on the DMAC 16. The processing operation is finished as it is.
[0087]
On the other hand, flag F1req , F2req , F3req Is determined to be 1, first, the flag F3req Is determined to be 1 (step S30), and the flag F3req If it is determined that the non-time synchronous data processing request is in a standby state, the memory address Dg in which the transmission data is set is transferred to the internal address register of the DMAC 16 and the number of data 1 is set. Write to the internal counter of the DMAC 16 (step S33).
[0088]
Further, A / D conversion processing is performed by the A / D conversion IC 7, and the data subjected to the A / D conversion processing is transmitted to the DMAC 16. When this data is received by the DMAC 16, the data is transferred to a predetermined memory. Since it is necessary, the address Dh of the transfer destination table Tz (RAM 14) is written into the address register inside the DMAC 16, and the number of data 1 is written into the counter inside the DMAC 16 (step S34).
[0089]
When these writings are completed, an operation start command is transmitted to the DMAC 16 (step S35), and then a flag F3 indicating that processing of non-time synchronous data is requested.EXE Is set to 1 (step S36), and the flag F3 is set.req Is set to 0 (step S37).
[0090]
By the way, when the DMAC 16 receives the operation start command from the CPU 13, the DMAC 16 transmits the data stored in the address Dg to the A / D conversion IC 7 via the serial communication line L (step J7).
[0091]
When the A / D conversion IC 7 receives data from the DMAC 16 (that is, data including the A / D conversion processing start command and the channel of the knock signal to be A / D converted), the corresponding sensor signal (knock) is received. Signal) is A / D converted (step K5), and the A / D converted data is transmitted to the DMAC 16 via the serial communication line L (step K6).
[0092]
When the DMAC 16 receives the data subjected to A / D conversion processing transmitted from the A / D conversion IC 7, the DMAC 16 writes the data to the address Dh of the transfer destination table Tz (step J 8). Therefore, the CPU 13 is interrupted to notify the CPU 13 that the processing has been completed (step J9).
[0093]
On the other hand, in the determination process in step S30, the CPU 13 determines that the flag F3req If it is determined that is not 1, the flag F1req Is determined to be 1 (step S31), and the flag F1req If it is determined that 1 is 1, the processing request for the time synchronization data belonging to the first half group is in a standby state, and therefore the start address De of the memory in which the transmission table Tc is set0 Are written in the address register in the DMAC 16 and the data number 10 is written in the counter in the DMAC 16 (step S38).
[0094]
Further, A / D conversion processing is performed by the A / D conversion IC 7, and the data subjected to the A / D conversion processing is transmitted to the DMAC 16. When this data is received by the DMAC 16, the data is transferred to a predetermined memory. Since it is necessary, the start address Df of the transfer destination table Ty (RAM 14)0 Are written in the address register in the DMAC 16 and the number of data 10 is written in the counter in the DMAC 16 (step S39).
[0095]
When these writings are completed, an operation start command is transmitted to the DMAC 16 (step S40), and then a flag F1 indicating that processing of time synchronization data belonging to the first half group is requested.EXE 1 (step S41) and flag F1req Is set to 0 (step S42).
[0096]
By the way, when the DMAC 16 receives the operation start command from the CPU 13, the address De0 The data stored in order (ie, data in the transmission table Tc) is transmitted to the A / D conversion IC 7 via the serial communication line L (step J1).
[0097]
When the A / D conversion IC 7 receives the data from the DMAC 16 (that is, the data including the A / D conversion processing start command and the channel of the signal to be A / D converted), the A / D conversion IC 7 receives the A / D of the corresponding sensor signal. D conversion processing is performed (step K1), and the A / D conversion processing data is transmitted to the DMAC 16 via the serial communication line L (step K2).
[0098]
When the DMAC 16 receives the data subjected to the A / D conversion processing transmitted from the A / D conversion IC 7, the DMAC 16 stores the data in the address Df.0 Are sequentially written in the transfer destination table Ty (step J2). When these processes are completed once, the address signal is incremented by 1 and continues until reception of 10 data is completed. When reception of 10 data is completed, an interruption is made to notify the CPU 13 that the process has been completed. (Step J3).
[0099]
On the other hand, in the determination process in step S31, the CPU 13 determines the flag F1.req If it is determined that is not 1, the flag F2req Is determined to be 1 (step S32), the flag F2req If it is determined that 1 is 1, the processing request for the time synchronization data belonging to the latter half group is in a standby state, and therefore the start address De of the memory in which the transmission table Tc is set.0 Address De advanced 11 from11Are written into the address register inside the DMAC 16 and the number of data 10 is written into the counter inside the DMAC 16 (step S43).
[0100]
Further, A / D conversion processing is performed by the A / D conversion IC 7, and the data subjected to the A / D conversion processing is transmitted to the DMAC 16. When this data is received by the DMAC 16, the data is transferred to a predetermined memory. Since it is necessary, the start address Df of the transfer destination table Ty (RAM 14)0 Address Df advanced 10 fromTenAre written in the address register in the DMAC 16 and the data number 10 is written in the counter in the DMAC 16 (step S44).
[0101]
When these writings are completed, an operation start command is transmitted to the DMAC 16 (step S45), and then a flag F2 indicating that processing of time synchronization data belonging to the latter half group is requested.EXE 1 (step S46) and flag F2req Is set to 0 (step S47).
[0102]
By the way, when the DMAC 16 receives the operation start command from the CPU 13, the address De11The data stored in order (ie, data in the transmission table Tc) is transmitted to the A / D conversion IC 7 via the serial communication line L (step J4).
[0103]
When the A / D conversion IC 7 receives the data from the DMAC 16 (that is, the data including the A / D conversion processing start command and the channel of the signal to be A / D converted), the A / D conversion IC 7 receives the A / D of the corresponding sensor signal. D conversion processing is performed (step K3), and the A / D conversion processing data is transmitted to the DMAC 16 via the serial communication line L (step K4).
[0104]
When the DMAC 16 receives the data subjected to the A / D conversion processing transmitted from the A / D conversion IC 7, the DMAC 16 stores the data in the address Df.TenAre sequentially written in the transfer destination table Ty (step J5). When these processes are completed once, the address signal is incremented by 1 and continues until reception of 10 data is completed. When reception of 10 data is completed, an interruption is made to notify the CPU 13 that the process has been completed. (Step J6).
[0105]
According to the engine control apparatus according to the embodiment (1), the time synchronization data is divided into two groups, and processing of the time synchronization data is requested for each group. Since a period during which the DMA control means does not occupy the serial communication line L can be created between the processes of the time synchronization data, it is possible to interrupt the processing of non-time synchronization data during this period. . Therefore, it is possible to prevent a delay in processing performed without synchronizing with time, such as engine rotation synchronization A / D conversion processing.
[0106]
Further, when performing predetermined processing using these data after the A / D conversion processing, the first half group and the second half group are combined at a time as shown in FIG. 4 (see step S26). ), The processing load on the CPU can be reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram schematically showing a main part of an engine control ECU in which an engine control apparatus according to an embodiment (1) of the present invention is employed.
[Figure 2]
FIG. 4 is a flowchart showing processing operations performed by a CPU in an engine control ECU employing the engine control apparatus according to the embodiment (1).
[Figure 5]
FIG. 8 is a timing chart showing processing operations performed by a CPU, a DMAC, and an A / D conversion IC in an engine control ECU employing the engine control apparatus according to the embodiment (1).
FIG. 9 is a diagram showing a transmission table that summarizes transmission data written in a RAM and transmitted from the DMAC to the A / D conversion IC via the serial communication line.
FIG. 10 is a block diagram schematically showing a main part of an engine control ECU in which a conventional engine control device is employed.
FIG.
FIG. 12 is an explanatory diagram for explaining that the start timings of the time-synchronized A / D conversion process and the non-time-synchronized A / D conversion process overlap.
FIG. 13 is a flowchart showing processing operations performed by a CPU, a DMAC, and an A / D conversion IC in an engine control ECU employing a conventional engine control device.
FIG. 14 is a timing chart showing processing operations performed by a CPU, a DMAC, and an A / D conversion IC in an engine control ECU employing a conventional engine control device.
FIGS. 15A and 15B are diagrams showing a transmission table in which transmission data written in a RAM and transmitted from the DMAC to the A / D conversion IC via the serial communication line is collected. .
FIG. 16 is an explanatory diagram for explaining data exchange between a DMAC and an A / D conversion IC;
[Explanation of symbols]
7 A / D conversion IC
11 ECU
12 Microcomputer
13 CPU
14 RAM
15 ROM
16 DMAC

Claims (10)

時間に同期させて、所定の処理を行う必要のある時間同期データが少なくとも2種類あり、
時間に同期させずに、所定のタイミングで、所定の処理を行う必要のある非時間同期データが少なくとも1種類あり、
これら処理を、DMA制御手段を用いて行うもので、
該DMA制御手段の行う処理に、A/D変換手段に対するA/D変換の処理要求を行うデータの送信と、前記A/D変換手段によってA/D変換されたデータの受信とが含まれる場合のDMA通信制御方法において、
前記時間同期データについては、n(≧2)個のグループに分割し、
時間に同期させて前記DMA制御手段に、第1番目のグループに属する前記時間同期データの処理を要求する第1のデータ処理要求ステップと、
第k(1≦k≦n−1)番目のグループに属する前記時間同期データの処理が終了すると、前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理を要求する第2のデータ処理要求ステップと、
時間ではなく、所定のタイミングに同期させて前記DMA制御手段に、前記非時間同期データの処理を要求する第1の非時間同期データ処理要求ステップとを含み、
前記DMA制御手段が、第k番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、
第k番目のグループに属する前記時間同期データの処理と第k+1番目のグループに属する前記時間同期データの処理とを連続して行わせるために、
第k番目のグループに属する前記時間同期データの処理が終了すると間を置かずに、
前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理を要求し、
一方、前記DMA制御手段が、第k番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、
第k番目のグループに属する前記時間同期データの処理が終了すると、
前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理を要求するのではなく、前記非時間同期データの処理を要求し、
前記第2のデータ処理要求ステップよりも、前記第1の非時間同期データ処理要求ステップを優先させることを特徴とするDMA通信制御方法。
There are at least two types of time synchronization data that need to be processed in synchronization with time,
There is at least one type of non-time synchronization data that needs to be processed at a predetermined timing without being synchronized with time,
These processes are performed using the DMA control means.
When the processing performed by the DMA control means includes transmission of data requesting A / D conversion processing to the A / D conversion means and reception of data A / D converted by the A / D conversion means In the DMA communication control method of
The time synchronization data is divided into n (≧ 2) groups,
A first data processing requesting step for requesting the DMA control means to process the time synchronous data belonging to the first group in synchronization with time;
When the processing of the time synchronization data belonging to the kth (1 ≦ k ≦ n−1) th group is completed, the second requesting the DMA control means to process the time synchronization data belonging to the k + 1th group. Data processing request steps of
A first non-time-synchronized data processing requesting step for requesting the DMA control means to process the non-time-synchronized data in synchronization with a predetermined timing instead of time,
When the DMA control means is processing the time synchronization data belonging to the k-th group, if it is not time to request the processing of the non-time synchronization data,
In order to continuously perform the processing of the time synchronization data belonging to the kth group and the processing of the time synchronization data belonging to the k + 1th group,
Without completing the processing of the time synchronization data belonging to the kth group,
Request the DMA control means to process the time synchronization data belonging to the (k + 1) th group;
On the other hand, when the DMA control means is processing the time-synchronized data belonging to the kth group, and when it is time to request the non-time-synchronized data,
When the processing of the time synchronization data belonging to the kth group is finished,
Rather than requesting the DMA control means to process the time-synchronized data belonging to the (k + 1) th group, it requests the non-time-synchronized data to be processed,
A DMA communication control method characterized in that the first non-time synchronous data processing request step is prioritized over the second data processing request step.
第k番目のグループに属する前記時間同期データの処理終了後に、前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理の要求をしなかった場合には、
前記非時間同期データの処理が終了すると、
前記DMA制御手段に、第k+1番目のグループに属する前記時間同期データの処理を要求する第3のデータ処理要求ステップを含んでいることを特徴とする請求項記載のDMA通信制御方法。
If the DMA control means is not requested to process the time synchronization data belonging to the (k + 1) th group after completion of the processing of the time synchronization data belonging to the kth group,
When the processing of the non-time synchronized data ends,
Wherein the DMA controller, the 3 DMA communication control method according to claim 1, characterized in that it comprises a data processing requesting step of requesting the time processing of the synchronous data belonging to the (k + 1) th group.
前記DMA制御手段が、第n番目のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、
第n番目のグループに属する前記時間同期データの処理が終了すると、
前記DMA制御手段に、前記非時間同期データの処理を要求する第の非時間同期データ処理要求ステップを含んでいることを特徴とする請求項1又は請求項2記載のDMA通信制御方法。
When the DMA control means is processing the time synchronization data belonging to the nth group, and when it is time to request the processing of the non-time synchronization data,
When the processing of the time synchronization data belonging to the nth group is finished,
3. The DMA communication control method according to claim 1, further comprising a second non-time synchronous data processing requesting step for requesting the DMA control means to process the non-time synchronous data.
前記DMA制御手段が、前記非時間同期データの処理を行っているときに、第1番目のグループに属する前記時間同期データの処理を要求するタイミングになった場合には、
前記非時間同期データの処理が終了すると、
前記DMA制御手段に、第1番目のグループに属する前記時間同期データの処理を要求する第4のデータ処理要求ステップを含んでいることを特徴とする請求項1〜のいずれかの項に記載のDMA通信制御方法。
When it is time to request the processing of the time synchronization data belonging to the first group when the DMA control means is processing the non-time synchronization data,
When the processing of the non-time synchronized data ends,
It said DMA control means, according to any one of claims 1-3, characterized in that it contains a fourth data processing request step of requesting processing of the time alignment data belonging to the first group DMA communication control method.
前記DMA制御手段から、該DMA制御手段との間でシリアル通信を行う相手方へ送信するための送信データを、少なくとも1グループ分まとめて送信テーブルとし、所定の場所に記憶させる第1の送信データ記憶ステップを含んでいることを特徴とする請求項1〜のいずれかの項に記載のDMA通信制御方法。First transmission data storage for storing transmission data to be transmitted from the DMA control means to the other party that performs serial communication with the DMA control means for at least one group as a transmission table and stored in a predetermined location DMA communication control method according to any one of claims 1-4, characterized in that it contains the step. 前記DMA制御手段から、該DMA制御手段との間でシリアル通信を行う相手方へ送信するための送信データを、少なくとも2グループ分まとめて送信テーブルとし、所定の場所に記憶させる第2の送信データ記憶ステップを含んでいることを特徴とする請求項1〜のいずれかの項に記載のDMA通信制御方法。Second transmission data storage for storing transmission data to be transmitted from the DMA control means to the other party that performs serial communication with the DMA control means for at least two groups as a transmission table and stored in a predetermined location DMA communication control method according to any one of claims 1-5, characterized in that it contains the step. 前記送信テーブルが、前記時間同期データの優先度に基づいて構成されたものであることを特徴とする請求項又は請求項記載のDMA通信制御方法。The transmission table, according to claim 5 or claim 6 DMA communication control method wherein a said those constructed in accordance with the priority of the time synchronization data. 請求項1〜のいずれかの項に記載のDMA通信制御方法を用いて転送されたデータを処理するための転送データ処理方法であって、
転送されたデータを、少なくとも2グループ分まとめて使用して所定の処理を行う転送データ処理ステップを含んでいることを特徴とする転送データ処理方法。
A transfer data processing method for processing data transferred using the DMA communication control method according to any one of claims 1 to 7 ,
A transfer data processing method comprising a transfer data processing step for performing predetermined processing using the transferred data collectively for at least two groups.
A/D変換処理手段に対するA/D変換処理の処理要求データの送信を行う送信処理と、前記A/D変換処理手段によってA/D変換処理されたA/D変換データの受信を行う受信処理とを、DMA制御手段を用いて行う主制御手段を備えたDMA通信制御装置において、
A/D変換処理を行うデータに、時間に同期させて処理を行う必要のある時間同期データが少なくとも2種類と、エンジンの回転数に同期させて処理を行う必要のある非時間同期データが少なくとも1種類とが含まれ、
前記DMA制御手段が、
前記主制御手段から、A/D変換処理の前記処理要求データを送信するように指令を受けると、前記送信処理と前記受信処理とを行うものであり、
前記主制御手段が、
前記時間同期データを2個のグループに分割したうちの第1のグループに対し、時間に同期させて、A/D変換処理の要求を行うための前記処理要求データの送信を前記DMA制御手段に指令する第1のデータ処理要求手段と、
前記第1のグループに対する前記送信処理と前記受信処理とが終了すると、前記時間同期データにおける前記第1のグループとは異なる第2のグループに対し、A/D変換処理の要求を行うための前記処理要求データの送信を前記DMA制御手段に指令する第2のデータ処理要求手段と、
前記非時間同期データに対し、エンジン回転数に同期させて、A/D変換処理の要求を行うための処理要求データの送信を前記DMA制御手段に指令する非時間同期データ処理要求手段とを備え、
前記DMA制御手段が、前記第1のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、
前記第1のグループに属する前記時間同期データの処理と前記第2のグループに属する前記時間同期データの処理とを連続して行わせるために、
前記第1のグループに属する前記時間同期データの処理が終了すると間を置かずに、
前記第2のグループに対し、A/D変換処理の要求を行うための処理要求データの送信が前記DMA制御手段に指令され、
一方、前記DMA制御手段が、第1のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、
第1のグループに属する前記時間同期データの処理が終了すると、
前記非時間同期データに対し、A/D変換処理の要求を行うための処理要求データの送信が前記DMA制御手段に指令され、
前記第2のデータ処理要求手段による処理よりも、前記非時間同期データ処理要求手段による処理を優先するように構成されていることを特徴とするDMA通信制御装置。
Transmission processing for transmitting processing request data for A / D conversion processing to the A / D conversion processing means, and reception processing for receiving A / D conversion data subjected to A / D conversion processing by the A / D conversion processing means In the DMA communication control device having the main control means for performing the above using the DMA control means,
At least two types of time-synchronized data that needs to be processed in synchronization with time and at least non-time-synchronized data that needs to be processed in synchronization with the engine speed are included in data to be A / D converted. 1 type is included,
The DMA control means comprises:
When receiving a command from the main control means to transmit the processing request data of the A / D conversion processing, the transmission processing and the reception processing are performed.
The main control means is
The DMA control means transmits the processing request data for requesting A / D conversion processing in synchronization with the time to the first group of the time-synchronized data divided into two groups. First data processing requesting means for commanding;
When the transmission process and the reception process for the first group are completed, the A / D conversion process request is made to the second group different from the first group in the time synchronization data. Second data processing request means for instructing the DMA control means to transmit processing request data;
Non-time synchronous data processing requesting means for instructing the DMA control means to transmit processing request data for requesting A / D conversion processing in synchronization with the engine speed for the non-time synchronous data. ,
When the DMA control means is processing the time synchronization data belonging to the first group, and the timing for requesting the processing of the non-time synchronization data is not reached,
In order to continuously perform the processing of the time synchronization data belonging to the first group and the processing of the time synchronization data belonging to the second group,
Without stopping after processing of the time synchronization data belonging to the first group,
The DMA control means is instructed to transmit processing request data for requesting A / D conversion processing to the second group,
On the other hand, when the DMA control means is processing the time synchronization data belonging to the first group, and when it is time to request the processing of the non-time synchronization data,
When the processing of the time synchronization data belonging to the first group is finished,
The DMA control means is instructed to transmit processing request data for requesting A / D conversion processing for the non-time synchronous data,
A DMA communication control apparatus configured to give priority to the processing by the non-time synchronous data processing request means over the processing by the second data processing request means.
A/D変換処理手段に対するA/D変換処理の処理要求データの送信を行う送信処理と、前記A/D変換処理手段によってA/D変換処理されたA/D変換データの受信を行う受信処理とを、DMA制御手段を用いて行う主制御手段を備えたエンジン制御装置において、
A/D変換処理を行うデータに、時間に同期させて処理を行う必要のある時間同期データが少なくとも2種類と、エンジンの回転数に同期させて処理を行う必要のある非時間同期データが少なくとも1種類とが含まれ、
前記DMA制御手段が、
前記主制御手段から、A/D変換処理の前記処理要求データを送信するように指令を受けると、前記送信処理と前記受信処理とを行うものであり、
前記主制御手段が、
前記時間同期データを2個のグループに分割したうちの第1のグループに対し、時間に同期させて、A/D変換処理の要求を行うための前記処理要求データの送信を前記DMA制御手段に指令する第1のデータ処理要求手段と、
前記第1のグループに対する前記送信処理と前記受信処理とが終了すると、前記時間同期データにおける前記第1のグループとは異なる第2のグループに対し、A/D変換処理の要求を行うための前記処理要求データの送信を前記DMA制御手段に指令する第2のデータ処理要求手段と、
前記非時間同期データに対し、エンジン回転数に同期させて、A/D変換処理の要求を行うための処理要求データの送信を前記DMA制御手段に指令する非時間同期データ処理要求手段とを備え、
前記DMA制御手段が、前記第1のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングにならなかった場合には、
前記第1のグループに属する前記時間同期データの処理と前記第2のグループに属する前記時間同期データの処理とを連続して行わせるために、
前記第1のグループに属する前記時間同期データの処理が終了すると間を置かずに、
前記第2のグループに対し、A/D変換処理の要求を行うための処理要求データの送信が前記DMA制御手段に指令され、
一方、前記DMA制御手段が、第1のグループに属する前記時間同期データの処理を行っているときに、前記非時間同期データの処理を要求するタイミングになった場合には、
第1のグループに属する前記時間同期データの処理が終了すると、
前記非時間同期データに対し、A/D変換処理の要求を行うための処理要求データの送信が前記DMA制御手段に指令され、
前記第2のデータ処理要求手段による処理よりも、前記非時間同期データ処理要求手段による処理を優先するように構成されていることを特徴とするエンジン制御装置。
Transmission processing for transmitting processing request data for A / D conversion processing to the A / D conversion processing means, and reception processing for receiving A / D conversion data subjected to A / D conversion processing by the A / D conversion processing means In an engine control device provided with main control means for performing the above using DMA control means,
At least two types of time-synchronized data that needs to be processed in synchronization with time and at least non-time-synchronized data that needs to be processed in synchronization with the engine speed are included in data to be A / D converted. 1 type is included,
The DMA control means comprises:
When receiving a command from the main control means to transmit the processing request data of the A / D conversion processing, the transmission processing and the reception processing are performed.
The main control means is
The DMA control means transmits the processing request data for requesting A / D conversion processing in synchronization with the time to the first group of the time-synchronized data divided into two groups. First data processing requesting means for commanding;
When the transmission process and the reception process for the first group are completed, the A / D conversion process request is made to the second group different from the first group in the time synchronization data. Second data processing request means for instructing the DMA control means to transmit processing request data;
Non-time synchronous data processing requesting means for instructing the DMA control means to transmit processing request data for requesting A / D conversion processing in synchronization with the engine speed for the non-time synchronous data. ,
When the DMA control means is processing the time synchronization data belonging to the first group, and the timing for requesting the processing of the non-time synchronization data is not reached,
In order to continuously perform the processing of the time synchronization data belonging to the first group and the processing of the time synchronization data belonging to the second group,
Without stopping after processing of the time synchronization data belonging to the first group,
The DMA control means is instructed to transmit processing request data for requesting A / D conversion processing to the second group,
On the other hand, when the DMA control means is processing the time synchronization data belonging to the first group, and when it is time to request the processing of the non-time synchronization data,
When the processing of the time synchronization data belonging to the first group is finished,
The DMA control means is instructed to transmit processing request data for requesting A / D conversion processing for the non-time synchronous data,
An engine control device configured to prioritize processing by the non-time-synchronized data processing requesting unit over processing by the second data processing requesting unit.
JP2000376791A 2000-12-12 2000-12-12 DMA communication control method, transfer data processing method, DMA communication control device, and engine control device Expired - Fee Related JP3911386B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000376791A JP3911386B2 (en) 2000-12-12 2000-12-12 DMA communication control method, transfer data processing method, DMA communication control device, and engine control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000376791A JP3911386B2 (en) 2000-12-12 2000-12-12 DMA communication control method, transfer data processing method, DMA communication control device, and engine control device

Publications (2)

Publication Number Publication Date
JP2002183077A JP2002183077A (en) 2002-06-28
JP3911386B2 true JP3911386B2 (en) 2007-05-09

Family

ID=18845605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000376791A Expired - Fee Related JP3911386B2 (en) 2000-12-12 2000-12-12 DMA communication control method, transfer data processing method, DMA communication control device, and engine control device

Country Status (1)

Country Link
JP (1) JP3911386B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6906655B1 (en) * 2003-12-18 2005-06-14 Eaton Corporation Plural channel analog-to-digital converter, method and meter employing an input channel with a predetermined direct current bias
JP5010144B2 (en) * 2005-12-26 2012-08-29 トヨタ自動車株式会社 PFM signal capture device

Also Published As

Publication number Publication date
JP2002183077A (en) 2002-06-28

Similar Documents

Publication Publication Date Title
US7725230B2 (en) Method and computer system for operating at least two interconnected control units
JPH06217373A (en) Aggregated wiring system
JP3911386B2 (en) DMA communication control method, transfer data processing method, DMA communication control device, and engine control device
JPH06324811A (en) A/d conversion controller for internal combustion engine
US5710703A (en) Method and system for sharing a hardware resource
JP2002538367A (en) Method and apparatus for operating gasoline direct injection internal combustion engine
JP4419943B2 (en) Data transfer device between CPUs
WO1997036099A1 (en) Method and system for generating a fuel pulse waveform
JP3870970B2 (en) Processor control unit
JP3517951B2 (en) Control device for internal combustion engine for vehicle
US5734920A (en) Input/output processing IC
JP2000517019A (en) Ignition coil control pulse generation method and system
KR20230087850A (en) Controlling Air Supplement Apparatus for Electrically Heated Catalyst and the Method thereof
CN102032065A (en) Diesel engine electric injection control method based on FPGA ( Field Programmable Gate Array)
JPS59138734A (en) Engine controller
US20070043499A1 (en) Control unit
JP3768544B2 (en) Electronic control unit for engine control
EP2628931B1 (en) Control device of internal combustion engine
US6218954B1 (en) Communication control device
CN118119764A (en) Internal combustion engine and method for operating an internal combustion engine
CN220319638U (en) Phase adjustment system and vehicle
CN115030852A (en) Engine control method and device and vehicle
EP0884474A2 (en) Communication control device
US7003396B2 (en) Control system with multiprocessor architecture for an internal combustion powertrain
JPH0713897A (en) Serial communication device for data

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050829

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060615

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060626

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: 20070123

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070129

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3911386

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110202

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110202

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120202

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120202

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140202

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20150202

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees