JP5783143B2 - エンジン制御装置 - Google Patents

エンジン制御装置 Download PDF

Info

Publication number
JP5783143B2
JP5783143B2 JP2012165923A JP2012165923A JP5783143B2 JP 5783143 B2 JP5783143 B2 JP 5783143B2 JP 2012165923 A JP2012165923 A JP 2012165923A JP 2012165923 A JP2012165923 A JP 2012165923A JP 5783143 B2 JP5783143 B2 JP 5783143B2
Authority
JP
Japan
Prior art keywords
data
microcomputer
angle
dma
synchronization
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.)
Active
Application number
JP2012165923A
Other languages
English (en)
Other versions
JP2014025405A (ja
Inventor
智子 谷澤
智子 谷澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2012165923A priority Critical patent/JP5783143B2/ja
Publication of JP2014025405A publication Critical patent/JP2014025405A/ja
Application granted granted Critical
Publication of JP5783143B2 publication Critical patent/JP5783143B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)

Description

本発明は、データ通信可能に互いが接続された複数のマイクロコンピュータを備えたエンジン制御装置に関する。
従来、エンジンが搭載された車両を制御する車両制御装置として、エンジンの点火および燃料噴射などを制御するエンジン制御用のマイクロコンピュータと、エンジンの状態を検出するエンジン状態検出用のマイクロコンピュータとを備え、これらのマイコン間でデータ通信を行うように構成されたものが知られている(例えば、特許文献1参照)。
このようなマイコン間通信は、時間に同期したタイミングで行われるのが一般的である。しかし、クランク角度に基づいて実行される点火制御および燃料噴射制御などで使用するデータの通信は、クランク角度に同期したタイミングで行われることもある。
特開2004−190662号公報
しかし、エンジン状態検出用のマイクロコンピュータでの検出結果を、クランク角度に同期したタイミングでエンジン制御用のマイクロコンピュータへ送信する場合に通信異常が発生すると、少なくとも次の、クランク角度に同期したデータ送信タイミングまで、エンジン制御用のマイクロコンピュータ側での通信データの更新が遅れ、点火制御および燃料噴射制御などのエンジン制御に影響を及ぼすおそれがあるという問題があった。
一方、クランク角度に同期したデータ送信の間隔を短くすると、エンジン制御用のマイクロコンピュータ側での通信データの更新の遅れを抑制することができる。しかし、単位時間当たりの通信回数が増大するため、マイクロコンピュータの処理負荷が大きくなってしまうという問題が発生する。
本発明は、こうした問題に鑑みてなされたものであり、通信異常が発生したときのエンジン制御への影響とマイクロコンピュータの処理負荷の増大を抑制することを目的とする。
上記目的を達成するためになされた請求項1に記載のエンジン制御装置は、エンジンの状態を特定するための物理量を検出するエンジン状態検出器からの検出信号を入力し、入力した検出信号に基づいて、エンジンを制御するための複数の制御データを生成する第1マイクロコンピュータと、第1マイクロコンピュータが生成した複数の制御データを用い、エンジンに対する燃料噴射および点火を制御する第2マイクロコンピュータとを備え、第2マイクロコンピュータが制御のために制御データを参照するタイミングであるデータ参照タイミングが、エンジンのクランク軸の回転角度であるクランク角度に基づいて、複数の制御データ毎に設定されている。
またクランク同期送信手段が、クランク角度に同期して、第1マイクロコンピュータが生成した複数の制御データを第2マイクロコンピュータへ送信する。
そして再送信手段は、クランク同期送信手段による制御データの送信で異常が発生した場合に、クランク同期送信手段による送信で異常が発生した複数の制御データのうち、対応するデータ参照タイミングまでに送信可能な制御データを、データ参照タイミングまでに再送信する。
このように構成されたエンジン制御装置では、制御データの送信で異常が発生した場合であっても、データ参照タイミングまでに送信可能な制御データであれば、第2マイクロコンピュータが制御のために必要となるタイミングまでに第2マイクロコンピュータが第1マイクロコンピュータから制御データを取得することができる。このため、エンジン制御のために必要となるタイミングまでに制御データが取得できないという状況の発生を抑制し、エンジン制御の安定性を向上させることができる。
さらに、データの再送信は、制御データの送信で異常が発生した場合に実行されるため、第1マイクロコンピュータと第2マイクロコンピュータとの間での通信に起因したマイクロコンピュータの処理負荷の増大を必要最低限に抑制することができる。
ECU1の構成を示すブロック図である。 時間同期DMA通信と角度同期DMA通信における通信正常時の動作を示すタイミングチャートである。 制御データの参照タイミングを示すタイミングチャートである。 時間同期DMA受信処理を示すフローチャートである。 角度同期DMA受信処理を示すフローチャートである。 時間同期DMA送信処理を示すフローチャートである。 角度同期DMA送信処理を示すフローチャートである。 再送データ設定処理を示すフローチャートである。 時間同期DMA通信と角度同期DMA通信における通信異常時の動作を示すタイミングチャートである。 時間同期DMA通信と角度同期DMA通信における高回転時かつ通信異常時の動作を示すタイミングチャートである。
以下に本発明の実施形態を図面とともに説明する。
本実施形態の電子制御装置(以下、ECUという)1は、車両に搭載され、車両のエンジン(不図示)の制御を行う。
図1に示すようにECU1は、CPU、プログラムを記憶する記憶媒体としてのROM、データを一時記憶するためのRAM、入出力ポートなどからなるマイクロコンピュータ(以下、マイコンという)2,3を備える。
マイコン2は、ROMに記憶されているアプリケーションプログラム20(本実施形態では、例えば、点火制御用プログラム21、噴射制御用プログラム22および失火検出用プログラム23)を実行する。これによりマイコン2は、エンジンに取り付けられたイグナイタ11およびインジェクタ12を制御するための処理、エンジンの失火を検出した際に異常警告13を実施する処理などを行う。
マイコン3は、ROMに記憶されているアプリケーションプログラム30(本実施形態では、例えば、燃焼状態量算出用プログラム31およびセンサ異常検出用プログラム32)を実行する。これによりマイコン3は、エンジンの各気筒に設けられた筒内圧力センサ14からの信号に基づいて、エンジンの燃焼状態量を算出する処理、筒内圧力センサ14の異常を検出する処理などを行う。
また、マイコン2とマイコン3は、通信線4,5を介して相互にデータ通信可能に接続されている。また、マイコン2の入出力ポートとマイコン3の入出力ポートは、信号線6を介して相互に信号入出力可能に接続されている。
そしてマイコン3は、図2に示すように、時間に同期したタイミング(本実施形態では4ms毎)で、通信線4を介して、DMA(Dynamic Memory Access)通信にてデータをマイコン2へ送信する(図2の矢印AL01,AL02,AL03,AL04を参照)。以下、時間に同期したタイミングで実行するDMA通信を時間同期DMA通信という。
そして時間同期DMA通信では、送信タイミング毎に、複数個(本実施形態では8個)のデータを一括して送信するように構成されており、一括して送信される複数個の送信データをそれぞれ格納するためのデータ領域TDR1, TDR2,・・・, TDRn(nは正の整数。本実施形態ではn=8)が予め設定されている。
本実施形態では、データ領域TDR1, TDR2,・・・, TDR8のうち、データ領域TDR1,TDR2,TDR3,TDR4,TDR5は、送信タイミング毎に送信されるデータを格納するための通常データ領域として割り当てられている。また、データ領域TDR6,TDR7,TDR8は、通信異常時にデータを再送するための予備データ領域として割り当てられている。なお、データ領域TDR1,TDR2,TDR3,TDR4,TDR5に格納されるデータを、それぞれDATA1,DATA2,DATA3,DATA4,DATA5と表記する。なお、通常データ領域に格納される送信データとしては、例えば、シフトポジション情報が挙げられる。
さらにマイコン3は、エンジンのクランク軸の回転角度(クランク角度)を検出するクランク角センサ15(図1を参照)からの信号を入力し、クランク角度に同期したタイミング(本実施形態では180°CA毎)で、通信線5を介して、DMA通信にてデータをマイコン2へ送信する(図2の矢印AL11,AL12,AL13を参照)。なお、「CA」とは、クランクアングルを意味する。以下、クランク角度に同期したタイミングで実行するDMA通信を角度同期DMA通信という。
そして角度同期DMA通信では、送信タイミング毎に、複数個(本実施形態では8個)のデータを一括して送信するように構成されており、一括して送信される複数個の送信データをそれぞれ格納するためのデータ領域ADR1, ADR2,・・・, ADRn(nは正の整数。本実施形態ではn=8)が予め設定されている。
本実施形態では、データ領域ADR1, ADR2,・・・, ADR8のうち、データ領域ADR1, ADR2, ADR3, ADR4, ADR5は、送信タイミング毎に送信されるデータを格納するための通常データ領域として割り当てられている。また、データ領域ADR6, ADR7, ADR8は、通信異常時にデータを再送するための予備データ領域として割り当てられている。なお、データ領域ADR1, ADR2, ADR3, ADR4, ADR5に格納されるデータを、それぞれdata1,data2,data3,data4,data5と表記する。data1,data2,data3,data4,data5は、アプリケーションプログラム20で用いられる制御データであり、マイコン3がアプリケーションプログラム30(燃焼状態量算出用プログラム31およびセンサ異常検出用プログラム32)を実行することにより生成される。
そしてマイコン2は、角度同期DMA通信でマイコン3からデータを受信する毎に、受信が正常に行われたか否かを判断し、その判断結果を示す信号を、入出力ポート内で予め設定された出力ポート(以下、受信結果出力ポートという)から出力するように構成されている(図2の矢印AL21,AL22,AL23を参照)。
さらにマイコン2は、図3に示すように、エンジンの気筒毎に点火制御、噴射制御および失火検出を実行するように構成されている。
そしてECU1は、エンジンの各気筒の上死点(TDC)よりも540°CA前のタイミングで、対応する気筒用のデータをマイコン3からマイコン2へ角度同期DMA通信で送信するように構成されている(図3の受信ポイントRP1,RP2,RP3を参照)。例えば、第1気筒の上死点(図3の[#1TDC]を参照)よりも540°CA前のタイミング(図3の[#1B540]を参照)で、第1気筒用のデータが角度同期DMA通信で送信される(図3の受信ポイントRP1を参照)。
またマイコン2は、各気筒の上死点(TDC)よりも360°CA前のタイミングで、各気筒の上死点(TDC)よりも540°CA前のタイミングで受信したdata1およびdata2を参照するように構成されている(図3の参照ポイントRP11,RP12,RP21,RP22,RP31,RP32を参照)。例えば、第1気筒の上死点(TDC)よりも360°CA前のタイミング(図3の[#1B360]を参照)で、マイコン2はdata1およびdata2を参照する(図3の参照ポイントRP11,RP12を参照)。なおマイコン2は、対応する気筒の追加噴射の設定を行うためにdata1を参照し、対応する気筒の異常燃焼を検出するためにdata2を参照する。
またマイコン2は、各気筒の上死点(TDC)よりも180°CA前のタイミングで、各気筒の上死点(TDC)よりも540°CA前のタイミングで受信したdata3を参照するように構成されている(図3の参照ポイントRP13,RP23を参照)。例えば、第1気筒の上死点(TDC)よりも180°CA前のタイミング(図3の[#1B180]を参照)で、マイコン2は、第1気筒の上死点(TDC)よりも540°CA前のタイミングで受信したdata3を参照する(図3の参照ポイントRP13を参照)。なおマイコン2は、対応する気筒の点火時期を算出するためにdata3を参照する。
またマイコン2は、各気筒の上死点(TDC)のタイミングで、各気筒の上死点(TDC)よりも540°CA前のタイミングで受信したdata4およびdata5を参照するように構成されている(図3の参照ポイントRP14を参照)。例えば、第1気筒の上死点(TDC)のタイミングで(図3の[#1TDC]を参照)、マイコン2は、第1気筒の上死点(TDC)よりも540°CA前のタイミングで受信したdata4およびdata5を参照する(図3の参照ポイントRP14を参照)。なおマイコン2は、対応する気筒の失火検出などのためにdata4およびdata5を参照する。
以上より、data1およびdata2は、データを受信したタイミングの後に最も早く参照されるデータである。またdata3は、データを受信したタイミングの後において2番目に早く参照されるデータである。そしてdata4およびdata5は、データを受信したタイミングの後に最も遅く参照されるデータである。このため、data1およびdata2には、最も高い優先度である優先度1が設定されている。またdata3には、2番目に高い優先度である優先度2が設定されている。そして、data4およびdata5には、3番目に高い優先度である優先度3が設定されている。
このように構成されたECU1において、マイコン2は、後述する時間同期DMA受信処理および角度同期DMA受信処理を実行する。またマイコン3は、後述する時間同期DMA送信処理、角度同期DMA送信処理および再送データ設定処理を実行する。
まず、マイコン2が実行する時間同期DMA受信処理の手順を図4を用いて説明する。この時間同期DMA受信処理は、時間同期DMA通信でマイコン3からデータを受信する毎に実行される処理である。
この時間同期DMA受信処理が実行されると、マイコン2は、まずS10にて、時間同期DMA通信によるデータ受信で異常が発生したか否かを判断する。なおS10では、データ受信中にシリアルエラー(パリティエラー、フレーミングエラー等)が発生するとレジスタにセットされるエラー情報を用いて、受信異常が発生したか否かを判断する。
ここで、データ受信で異常が発生していない場合には(S10:NO)、S20にて、受信したデータの予備データ領域(すなわち、データ領域TDR6,TDR7,TDR8)にデータが格納されているか否かを判断する。なおS20では、予備データ領域に、初期値である$FF以下の値が格納されている場合に、予備データ領域にデータが格納されていると判断する。
ここで、予備データ領域にデータが格納されている場合には(S20:YES)、S30にて、予備データ領域に格納されているデータを、角度同期DMA通信での再送データとして、マイコン2のRAM内に予め設定されている第1制御用データ領域に格納し、S40に移行する。なお第1制御用データ領域は、角度同期DMA通信による受信タイミング毎に対応して設けられている。そしてS30では、予備データ領域に格納されている再送データを、この再送データが最初に送信されたタイミングと対応付けて第1制御用データ領域に格納する。
一方、予備データ領域にデータが格納されていない場合には(S20:NO)、S40に移行する。
そしてS40に移行すると、受信したデータの通常データ領域(すなわち、データ領域TDR1,TDR2,TDR3,TDR4,TDR5)に格納されているデータを、時間同期DMA通信で取得したデータとして、マイコン2のRAM内の第2制御用データ領域に格納し、時間同期DMA受信処理を一旦終了する。なお第2制御用データ領域は、時間同期DMA通信による受信タイミング毎に対応して設けられている。
またS10にて、データ受信で異常が発生した場合には(S10:YES)、S50にて、角度同期DMA異常カウンタをインクリメントし、時間同期DMA受信処理を一旦終了する。
次に、マイコン2が実行する角度同期DMA受信処理の手順を図5を用いて説明する。この角度同期DMA受信処理は、角度同期DMA通信でマイコン3からデータを受信する毎に実行される処理である。
この角度同期DMA受信処理が実行されると、マイコン2は、まずS110にて、受信結果出力ポートを初期化する。すなわち、受信結果出力ポートをローレベルにする。
その後S120にて、角度同期DMA通信によるデータ受信で異常が発生したか否かを判断する。なおS120では、S10と同様に、エラー情報を用いて、受信異常が発生したか否かを判断する。
ここで、データ受信で異常が発生していない場合には(S120:NO)、S130にて、受信したデータの予備データ領域(すなわち、データ領域ADR6,ADR7,ADR8)にデータが格納されているか否かを判断する。なおS130では、S20と同様に、予備データ領域に、初期値である$FF以下の値が格納されている場合に、予備データ領域にデータが格納されていると判断する。
ここで、予備データ領域にデータが格納されている場合には(S130:YES)、S140にて、予備データ領域に格納されているデータを、角度同期DMA通信での再送データとして、この再送データが最初に送信されたタイミングと対応付けて第1制御用データ領域に格納し、S150に移行する。一方、予備データ領域にデータが格納されていない場合には(S130:NO)、S150に移行する。
そしてS150に移行すると、受信したデータの通常データ領域(すなわち、データ領域ADR1,ADR2,ADR3,ADR4,ADR5)に格納されているデータを、角度同期DMA通信における今回の受信タイミングに対応した第1制御用データ領域に格納する。その後S160にて、受信結果出力ポートをローレベルにする。これにより、ローレベルの受信結果信号がマイコン2からマイコン3へ出力される。そして、角度同期DMA受信処理を一旦終了する。
またS120にて、データ受信で異常が発生した場合には(S120:YES)、S170にて、角度同期DMA受信異常カウンタの値(以下、角度同期DMA受信異常回数という)が0であるか否かを判断する。
ここで、角度同期DMA受信異常回数が0である場合には(S170:YES)、S180にて、角度同期DMA受信異常カウンタをインクリメントし、S200に移行する。一方、角度同期DMA受信異常回数が0でない場合には(S170:NO)、S190にて、角度同期DMA受信異常カウンタをリセット(すなわち、カウンタの値を0にする)して、S200に移行する。
そしてS200に移行すると、受信結果出力ポートをハイレベルにする。これにより、ハイレベルの受信結果信号がマイコン2からマイコン3へ出力される。そして、角度同期DMA受信処理を一旦終了する。
次に、マイコン3が実行する時間同期DMA送信処理の手順を図6を用いて説明する。この時間同期DMA送信処理は、所定時間毎(本実施形態では4ms毎)に繰り返し実行される処理である。
この時間同期DMA送信処理が実行されると、マイコン3は、まずS310にて、エンジン回転速度が予め設定された再送判定値(本実施形態では5000rpm)以下であるか否かを判断する。ここで、エンジン回転速度が再送判定値を超えている場合には(S310:NO)、時間同期DMA送信処理を一旦終了する。一方、エンジン回転速度が再送判定値以下である場合には(S310:YES)、S320にて、時間同期再送要求フラグがセットされているか否かを判断する。
ここで、時間同期再送要求フラグがクリアされている場合には(S320:NO)、S350に移行する。一方、時間同期再送要求フラグがセットされている場合には(S320:YES)、S330にて、時間同期DMA通信の予備データ領域に再送データを格納する。具体的には、後述するS590で時間同期DMA通信による再送データとして設定されたデータを格納する。その後S340にて、時間同期再送要求フラグをクリアし、S350に移行する。
そしてS350に移行すると、時間同期DMA通信の通常データ領域に送信データを格納する。そしてS360にて、時間同期DMA通信の通常データ領域および予備データ領域に格納されたデータをマイコン2へ送信して、時間同期DMA送信処理を一旦終了する。
次に、マイコン3が実行する角度同期DMA送信処理の手順を図7を用いて説明する。この角度同期DMA送信処理は、所定クランク角度毎(本実施形態では30°CA毎)に繰り返し実行される処理である。
この角度同期DMA送信処理が実行されると、マイコン3は、まずS410にて、180°CA毎に到来する通常の角度同期DMA送信タイミングであるか否かを判断する。ここで、通常の角度同期DMA送信タイミングである場合には(S410:YES)、S430に移行する。一方、通常の角度同期DMA送信タイミングでない場合には(S410:NO)、S420にて、角度同期再送要求フラグがセットされているか否かを判断する。ここで、角度同期再送要求フラグがクリアされている場合には(S420:NO)、角度同期DMA送信処理を一旦終了する。
一方、角度同期再送要求フラグがセットされている場合には(S420:YES)、S430に移行する。
そしてS430に移行すると、後述するS590で角度同期DMA通信による再送データとして設定されたデータが存在するか否かを判断する。ここで、再送データとして設定されたデータが存在しない場合には(S430:NO)、S460に移行する。一方、再送データとして設定されたデータが存在する場合には(S430:YES)、S440にて、角度同期DMA通信の予備データ領域に再送データを格納し、さらにS450にて、角度同期再送要求フラグをクリアして、S460に移行する。
そしてS460に移行すると、角度同期DMA通信の通常データ領域に送信データを格納する。そしてS470にて、角度同期DMA通信の通常データ領域および予備データ領域に格納されたデータをマイコン2へ送信して、角度同期DMA送信処理を一旦終了する。
次に、マイコン3が実行する再送データ設定処理の手順を図8を用いて説明する。この再送データ設定処理は、角度同期DMA送信処理によるデータ送信が完了してから所定時間が経過した後に実行される処理である。
この再送データ設定処理が実行されると、マイコン3は、まずS510にて、受信結果入力ポートがハイレベルであるか否かを判断する。ここで、受信結果入力ポートがローレベルである場合には(S510:NO)、再送データ設定処理を一旦終了する。一方、受信結果入力ポートがハイレベルである場合には(S510:YES)、S520にて、角度同期再送要求フラグをセットし、さらにS530にて、角度同期DMA再送カウンタをインクリメントする。
そしてS540にて、角度同期DMA再送カウンタの値(以下、角度同期DMA再送回数という)が1であるか否かを判断する。ここで、角度同期DMA再送回数が1である場合には(S540:YES)、再送データ設定処理を一旦終了する。
一方、角度同期DMA再送回数が1でない場合には(S540:NO)、S550にて、エンジン回転速度が予め設定された再送判定値(本実施形態では5000rpm)以下であるか否かを判断する。ここで、エンジン回転速度が再送判定値を超えている場合には(S550:NO)、S570に移行する。一方、エンジン回転速度が再送判定値以下である(S550:YES)、S560にて、時間同期再送要求フラグをセットし、S570に移行する。
そしてS570に移行すると、角度同期DMA再送カウンタをリセット(すなわち、カウンタの値を0にする)し、S580にて、角度同期再送要求フラグをクリアする。
そしてS590にて、今回の角度同期DMA送信(すなわち、再送データ設定処理の実行開始の直前に完了した角度同期DMA送信)の送信データのうち、次回の時間同期DMA通信の予備データ領域に格納される再送データと、次回の角度同期DMA通信の予備データ領域に格納される再送データを、マイコン2がデータを参照するタイミングに間に合うように設定し、再送データ設定処理を一旦終了する。
本実施形態では、例えば以下に示すようにして、再送データを設定する。
まず、エンジン回転速度が再送判定値(本実施形態では5000rpm)以下であり且つ今回の角度同期DMA送信において予備データ領域にデータが格納されていない場合に、優先度1に設定されたデータ(すなわち、角度同期DMA通信のデータ領域ADR1,ADR2に格納されたデータ)を、時間同期DMA通信の予備データ領域に格納するように設定するとともに、優先度2,3に設定されたデータ(すなわち、角度同期DMA通信のデータ領域ADR3,ADR4, ADR5に格納されたデータ)を、角度同期DMA通信の予備データ領域に格納するように設定する。
また、エンジン回転速度が再送判定値以下であり且つ今回の角度同期DMA送信において予備データ領域にデータが格納されている場合に、予備データ領域に格納されているデータのうちで、優先度2に設定されていたデータを優先度1に設定し、優先度3に設定されていたデータを優先度2に設定する。そして、優先度1に設定されたデータを、時間同期DMA通信の予備データ領域に格納するように設定するとともに、優先度2に設定されたデータを、角度同期DMA通信の予備データ領域に格納するように設定する。
また、エンジン回転速度が再送判定値を超えており且つ今回の角度同期DMA送信において予備データ領域にデータが格納されていない場合に、角度同期DMA通信のデータ領域ADR4, ADR5に格納されたデータをそれぞれ、角度同期DMA通信の予備データ領域ADR7, ADR8に格納するように設定する。
また、エンジン回転速度が再送判定値を超えており且つ今回の角度同期DMA送信において予備データ領域にデータが格納されている場合に、角度同期DMA通信のデータ領域ADR7, ADR8に格納されたデータをそれぞれ、角度同期DMA通信の予備データ領域ADR7, ADR8に格納するように設定する。但し、再送するデータが参照タイミングに間に合わない場合には、データ領域ADR4, ADR5に格納されたデータをそれぞれ、予備データ領域ADR7, ADR8に格納するように設定する。
次に、角度同期DMA通信で異常が発生したときのECU1の動作を図9を用いて説明する。
まず、180°CA毎に到来する通常の角度同期DMA送信タイミングで、マイコン3が、予備データ領域にデータが格納されていない角度同期DMA送信データAD01を角度同期DMA通信でマイコン2へ送信するとする(矢印AL31を参照)。なお、角度同期DMA送信データAD01の通常データ領域ADR1, ADR2, ADR3, ADR4, ADR5に格納されているデータを、それぞれdata11,data21,data31,data41,data51と表記する。これらのデータは、第1気筒の制御のためにマイコン2により参照される。
そして、角度同期DMA送信データAD01の受信で異常が発生したとマイコン2が判断すると、マイコン2は受信結果出力ポートをハイレベルにする。これにより、ハイレベルの受信結果信号がマイコン2からマイコン3へ出力される(矢印AL32を参照)。
マイコン3は、角度同期DMA送信データAD01の送信完了後に遅延タスクを発生させて受信結果入力ポートの状態を監視する。これによりマイコン3は、受信結果入力ポートがハイレベルであると判断し、角度同期再送要求フラグをセットする(フラグ立ち上がりエッジFUE1を参照)。
このためマイコン3は、通常の角度同期DMA送信タイミングから30°CA後の再送信タイミングで、角度同期DMA送信データAD01を再送信する(矢印AL33を参照)。とともに、角度同期再送要求フラグをクリアする(フラグ立ち下がりエッジFDE1を参照)。
そして、角度同期DMA送信データAD01の再受信で異常が発生したとマイコン2が判断すると、マイコン2は受信結果出力ポートをハイレベルにする。これにより、ハイレベルの受信結果信号がマイコン2からマイコン3へ出力される(矢印AL34を参照)。
マイコン3は、角度同期DMA送信データAD01の再送信完了後に遅延タスクを発生させて受信結果入力ポートの状態を監視する。これによりマイコン3は、受信結果入力ポートがハイレベルであると判断し、時間同期再送要求フラグをセットする(フラグ立ち上がりエッジFUE2を参照)。
そしてマイコン3は、角度同期DMA送信データAD01のデータ領域ADR1,ADR2に格納されたデータをそれぞれ、時間同期DMA通信の予備データ領域TDR6,TDR7に格納するように設定する(矢印AL61を参照)とともに、角度同期DMA送信データAD01のデータ領域ADR3,ADR4, ADR5に格納されたデータをそれぞれ、角度同期DMA通信の予備データ領域ADR6, ADR7, ADR8に格納するように設定する(矢印AL62,AL63を参照)。
これによりマイコン3は、次の時間同期DMA送信タイミングで、予備データ領域TDR6,TDR7にそれぞれdata11,data21が格納された時間同期DMA送信データTD01を時間同期DMA通信でマイコン2へ送信する(矢印AL51を参照)とともに、時間同期再送要求フラグをクリアする(フラグ立ち下がりエッジFDE2を参照)。またマイコン3は、次の通常の角度同期DMA送信タイミングで、予備データ領域ADR6, ADR7, ADR8にそれぞれdata31,data41,data51が格納された角度同期DMA送信データAD02を角度同期DMA通信でマイコン2へ送信する(矢印AL35を参照)。なお、角度同期DMA送信データAD02の通常データ領域ADR1,ADR2,ADR3,ADR4,ADR5にはそれぞれ、角度同期DMA送信データAD01とは異なるdata12,data22,data32,data42,data52が格納される。これらのデータは、第2気筒の制御のためにマイコン2により参照される。
これによりマイコン3は、次の角度同期DMA送信タイミングよりも早いタイミングで、data11,data21をマイコン2へ送信することができる。なお、data31,data41,data51は、次の角度同期DMA送信タイミングで再送信されてもマイコン2が参照するタイミングに間に合う。
そして、角度同期DMA送信データAD02の受信で異常が発生したとマイコン2が判断すると、マイコン2は受信結果出力ポートをハイレベルにする。これにより、ハイレベルの受信結果信号がマイコン2からマイコン3へ出力される(矢印AL36を参照)。
マイコン3は、角度同期DMA送信データAD02の送信完了後に遅延タスクを発生させて受信結果入力ポートの状態を監視する。これによりマイコン3は、受信結果入力ポートがハイレベルであると判断し、角度同期再送要求フラグをセットする(フラグ立ち上がりエッジFUE3を参照)。
このためマイコン3は、通常の角度同期DMA送信タイミングから30°CA後の再送信タイミングで、角度同期DMA送信データAD02を再送信する(矢印AL37を参照)。とともに、角度同期再送要求フラグをクリアする(フラグ立ち下がりエッジFDE3を参照)。
そして、角度同期DMA送信データAD02の再受信で異常が発生したとマイコン2が判断すると、マイコン2は受信結果出力ポートをハイレベルにする。これにより、ハイレベルの受信結果信号がマイコン2からマイコン3へ出力される(矢印AL38を参照)。
マイコン3は、角度同期DMA送信データAD02の再送信完了後に遅延タスクを発生させて受信結果入力ポートの状態を監視する。これによりマイコン3は、受信結果入力ポートがハイレベルであると判断し、時間同期再送要求フラグをセットする(フラグ立ち上がりエッジFUE4を参照)。
そしてマイコン3は、角度同期DMA送信データAD02のデータ領域ADR1,ADR2,ADR6に格納されたデータをそれぞれ、時間同期DMA通信の予備データ領域TDR6,TDR7,TDR8に格納するように設定する(矢印AL64, AL65を参照)とともに、角度同期DMA送信データAD02のデータ領域ADR3,ADR7, ADR8に格納されたデータをそれぞれ、角度同期DMA通信の予備データ領域ADR6, ADR7, ADR8に格納するように設定する(矢印AL66,AL67を参照)。
これによりマイコン3は、次の時間同期DMA送信タイミングで、予備データ領域TDR6,TDR7,TDR8にそれぞれdata12,data22,data31が格納された時間同期DMA送信データTD02を時間同期DMA通信でマイコン2へ送信する(矢印AL52を参照)とともに、時間同期再送要求フラグをクリアする(フラグ立ち下がりエッジFDE4を参照)。またマイコン3は、次の通常の角度同期DMA送信タイミングで、予備データ領域ADR6, ADR7, ADR8にそれぞれdata32,data41,data51が格納された角度同期DMA送信データAD03を角度同期DMA通信でマイコン2へ送信する(矢印AL39を参照)。なお、角度同期DMA送信データAD03の通常データ領域ADR1,ADR2,ADR3,ADR4,ADR5にはそれぞれ、角度同期DMA送信データAD02とは異なるdata13,data23,data33,data43,data53が格納される。これらのデータは、第3気筒の制御のためにマイコン2により参照される。
これによりマイコン3は、マイコン2が参照するタイミングよりも前に、data12,data22,data31をマイコン2へ送信することができる。なお、data32,data41,data51は、次の角度同期DMA送信タイミングで再送信されてもマイコン2が参照するタイミングに間に合う。
そして、角度同期DMA送信データAD03の受信で異常が発生しなかったとマイコン2が判断すると、マイコン2は受信結果出力ポートをローレベルにする。これにより、ローレベルの受信結果信号がマイコン2からマイコン3へ出力される(矢印AL40を参照)。
マイコン3は、角度同期DMA送信データAD03の送信完了後に遅延タスクを発生させて受信結果入力ポートの状態を監視する。これによりマイコン3は、受信結果入力ポートがローレベルであると判断し、角度同期再送要求フラグをクリアの状態に維持する。
このためマイコン3は、角度同期DMA送信データAD03の再送信を行わない。
次に、エンジン回転速度が再送判定値(本実施形態では5000rpm)を超えている状態において角度同期DMA通信で異常が発生したときのECU1の動作を図10を用いて説明する。
まず、180°CA毎に到来する通常の角度同期DMA送信タイミングで、マイコン3が、予備データ領域にデータが格納されていない角度同期DMA送信データAD11を角度同期DMA通信でマイコン2へ送信するとする(矢印AL71を参照)。なお、角度同期DMA送信データAD11の通常データ領域ADR1, ADR2, ADR3, ADR4, ADR5に格納されているデータを、それぞれdata11,data21,data31,data41,data51と表記する。これらのデータは、第1気筒の制御のためにマイコン2により参照される。
そして、角度同期DMA送信データAD11の受信で異常が発生したとマイコン2が判断すると、マイコン2は受信結果出力ポートをハイレベルにする。これにより、ハイレベルの受信結果信号がマイコン2からマイコン3へ出力される(矢印AL72を参照)。
マイコン3は、角度同期DMA送信データAD11の送信完了後に遅延タスクを発生させて受信結果入力ポートの状態を監視する。これによりマイコン3は、受信結果入力ポートがハイレベルであると判断し、角度同期再送要求フラグをセットする。
このためマイコン3は、通常の角度同期DMA送信タイミングから30°CA後の再送信タイミングで、角度同期DMA送信データAD11を再送信する(矢印AL73を参照)。とともに、角度同期再送要求フラグをクリアする。
そして、角度同期DMA送信データAD11の再受信で異常が発生したとマイコン2が判断すると、マイコン2は受信結果出力ポートをハイレベルにする。これにより、ハイレベルの受信結果信号がマイコン2からマイコン3へ出力される(矢印AL74を参照)。
マイコン3は、角度同期DMA送信データAD11の再送信完了後に遅延タスクを発生させて受信結果入力ポートの状態を監視する。これによりマイコン3は、受信結果入力ポートがハイレベルであると判断し、角度同期DMA送信データAD11のデータ領域ADR4, ADR5に格納されたデータをそれぞれ、角度同期DMA通信の予備データ領域ADR7, ADR8に格納するように設定する(矢印AL91を参照)。
すなわち、角度同期DMA送信データAD11のデータ領域ADR1,ADR2に格納されたデータを次の時間同期DMA送信タイミングで送信しない(矢印AL92を参照)。これは、エンジン回転速度が高いときは、時間同期DMA通信の送信間隔に対して、角度同期DMA通信の送信間隔が短くなり、次の通常の角度同期DMA送信タイミングより早く送信できる次の時間同期DMA送信タイミングが存在しない場合があるためである。
さらに、角度同期DMA送信データAD11の領域ADR3に格納されたデータを次の角度同期DMA送信タイミングで送信しない(矢印AL93を参照)。これは、噴射制御で使用するデータ領域ADR1,ADR2のデータと、点火制御で使用するデータ領域ADR3のデータとは気筒毎に同期を取る必要があり、データ領域ADR1,ADR2のデータを送信しない場合には、データ領域ADR3のデータを送信する必要がなくなるためである。
これによりマイコン3は、次の通常の角度同期DMA送信タイミングで、予備データ領域ADR7, ADR8にそれぞれdata41,data51が格納された角度同期DMA送信データAD12を角度同期DMA通信でマイコン2へ送信する(矢印AL75を参照)。なお、角度同期DMA送信データAD12の通常データ領域ADR1,ADR2,ADR3,ADR4,ADR5にはそれぞれ、角度同期DMA送信データAD11とは異なるdata12,data22,data32,data42,data52が格納される。これらのデータは、第2気筒の制御のためにマイコン2により参照される。なお、data41,data51は、次の角度同期DMA送信タイミングで再送信されてもマイコン2が参照するタイミングに間に合う。
そして、角度同期DMA送信データAD12の受信で異常が発生したとマイコン2が判断すると、マイコン2は受信結果出力ポートをハイレベルにする。これにより、ハイレベルの受信結果信号がマイコン2からマイコン3へ出力される(矢印AL76を参照)。
マイコン3は、角度同期DMA送信データAD12の送信完了後に遅延タスクを発生させて受信結果入力ポートの状態を監視する。これによりマイコン3は、受信結果入力ポートがハイレベルであると判断し、角度同期再送要求フラグをセットする。
このためマイコン3は、通常の角度同期DMA送信タイミングから30°CA後の再送信タイミングで、角度同期DMA送信データAD12を再送信する(矢印AL77を参照)。とともに、角度同期再送要求フラグをクリアする。
そして、角度同期DMA送信データAD12の再受信で異常が発生したとマイコン2が判断すると、マイコン2は受信結果出力ポートをハイレベルにする。これにより、ハイレベルの受信結果信号がマイコン2からマイコン3へ出力される(矢印AL78を参照)。
マイコン3は、角度同期DMA送信データAD12の再送信完了後に遅延タスクを発生させて受信結果入力ポートの状態を監視する。これによりマイコン3は、受信結果入力ポートがハイレベルであると判断し、角度同期DMA送信データAD12のデータ領域ADR7, ADR8に格納されたデータをそれぞれ、角度同期DMA通信の予備データ領域ADR7, ADR8に格納するように設定する(矢印AL94を参照)。すなわち、角度同期DMA送信データAD12のデータ領域ADR1,ADR2に格納されたデータを次の時間同期DMA送信タイミングで送信することと、角度同期DMA送信データAD11の領域ADR3に格納されたデータを次の角度同期DMA送信タイミングで送信することを行わない(矢印AL95,AL96を参照)。
これによりマイコン3は、次の通常の角度同期DMA送信タイミングで、予備データ領域ADR7, ADR8にそれぞれdata41,data51が格納された角度同期DMA送信データAD13を角度同期DMA通信でマイコン2へ送信する(矢印AL79を参照)。なお、角度同期DMA送信データAD13の通常データ領域ADR1,ADR2,ADR3,ADR4,ADR5にはそれぞれ、角度同期DMA送信データAD12とは異なるdata13,data23,data33,data43,data53が格納される。これらのデータは、第3気筒の制御のためにマイコン2により参照される。
そして、角度同期DMA送信データAD13の受信で異常が発生しなかったとマイコン2が判断すると、マイコン2は受信結果出力ポートをローレベルにする。これにより、ローレベルの受信結果信号がマイコン2からマイコン3へ出力される(矢印AL80を参照)。
マイコン3は、角度同期DMA送信データAD13の送信完了後に遅延タスクを発生させて受信結果入力ポートの状態を監視する。これによりマイコン3は、受信結果入力ポートがローレベルであると判断し、角度同期再送要求フラグをクリアの状態に維持する。
このためマイコン3は、角度同期DMA送信データAD13の再送信を行わない。
このように構成されたECU1は、エンジンの燃焼状態を特定するための筒内圧力を検出する筒内圧力センサ14からの検出信号を入力し、入力した検出信号に基づいて、エンジンを制御するための複数の制御データ(data1,data2,data3,data4,data5)を生成するマイコン3と、マイコン3が生成した複数の制御データを用い、エンジンに対する燃料噴射および点火を制御するマイコン2とを備え、マイコン2が制御のために制御データを参照するタイミング(以下、データ参照タイミングという)が、クランク角度に基づいて、複数の制御データ毎に設定されている。
また、クランク角度に同期して、マイコン3が生成した複数の制御データをマイコン2へ送信する(S410,S460,S470)。
そして、複数の制御データの送信で異常が発生した場合に、異常が発生した複数の制御データのうち、対応するデータ参照タイミングまでに送信可能な制御データを、データ参照タイミングまでに再送信する(S510〜S590,S330,S360,S440,S470)。
これにより、制御データの送信で異常が発生した場合であっても、データ参照タイミングまでに送信可能な制御データであれば、マイコン2が制御のために必要となるタイミングまでにマイコン2がマイコン3から制御データを取得することができる。このため、エンジン制御のために必要となるタイミングまでに制御データが取得できないという状況の発生を抑制し、エンジン制御の安定性を向上させることができる。
さらに、データの再送信は、制御データの送信で異常が発生した場合に実行されるため、マイコン3とマイコン2との間での通信に起因したマイクロコンピュータの処理負荷の増大を必要最低限に抑制することができる。
また、複数の制御データdata1,data2,data3,data4,data5のうち、データ参照タイミングが早い制御データほど早いタイミングで再送信する。本実施形態では、data1およびdata2のデータ参照タイミングが最も早く、data3のデータ参照タイミングが2番目に早いため、data1およびdata2の方がdata3よりも早く再送信される(例えば、図9の矢印AL61,AL62を参照)。また、data4およびdata5のデータ参照タイミングが最も遅いため、data3の方がdata4およびdata5よりも早く再送信される(例えば、図9の矢印AL65,AL67を参照)。
これにより、エンジン制御のために必要となるタイミングまでに制御データが取得できないという状況の発生を更に抑制することができる。
また、クランク角度に同期してデータを送信するクランク角度同期送信機能と、時間に同期してデータを送信する時間同期送信機能との両方を用いて制御データを再送信する(S330,S360,S440,S470)。
これにより、クランク角度同期送信機能で異常が発生してクランク角度同期送信機能が使用できなくなったとしても時間同期送信機能を用いて再送信することができるため、エンジン制御のために必要となるタイミングまでに制御データが取得できないという状況の発生を更に抑制することができる。
以上説明した実施形態において、ECU1は本発明におけるエンジン制御装置、マイコン3は本発明における第1マイクロコンピュータ、マイコン2は本発明における第2マイクロコンピュータ、S410,S460,S470の処理は本発明におけるクランク同期送信手段、S510〜S590,S330,S360,S440,S470の処理は本発明における再送信手段、筒内圧力センサ14は本発明におけるエンジン状態検出器である。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
1…ECU、2,3…マイコン、4,5…通信線、6…信号線、14…筒内圧力センサ

Claims (3)

  1. エンジンの状態を特定するための物理量を検出するエンジン状態検出器(14)からの検出信号を入力し、入力した前記検出信号に基づいて、前記エンジンを制御するための複数の制御データを生成する第1マイクロコンピュータ(3)と、
    前記第1マイクロコンピュータが生成した複数の前記制御データを用い、前記エンジンに対する燃料噴射および点火を制御する第2マイクロコンピュータ(2)と、
    前記エンジンのクランク軸の回転角度であるクランク角度に同期して、前記第1マイクロコンピュータが生成した複数の前記制御データを第2マイクロコンピュータへ送信するクランク同期送信手段(S410,S460,S470)と、
    前記クランク同期送信手段による前記制御データの送信で異常が発生した場合に、前記制御データを再送信する再送信手段(S510〜S590,S330,S360,S440,S470)とを備え、
    前記第2マイクロコンピュータが前記制御のために前記制御データを参照するタイミングであるデータ参照タイミングが、前記クランク角度に基づいて、複数の前記制御データ毎に設定され、
    前記再送信手段は、
    前記クランク同期送信手段による送信で異常が発生した複数の前記制御データのうち、対応する前記データ参照タイミングまでに送信可能な前記制御データを、前記データ参照タイミングまでに再送信する
    ことを特徴とするエンジン制御装置(1)。
  2. 前記再送信手段は、
    複数の前記制御データのうち、前記データ参照タイミングが早い前記制御データほど早いタイミングで再送信する
    ことを特徴とする請求項1に記載のエンジン制御装置。
  3. 前記再送信手段は、
    前記クランク角度に同期してデータを送信するクランク角度同期送信機能と、時間に同期してデータを送信する時間同期送信機能とを有し、前記クランク角度同期送信機能と前記時間同期送信機能の両方を用いて前記制御データを再送信する
    ことを特徴とする請求項1または請求項2に記載のエンジン制御装置。
JP2012165923A 2012-07-26 2012-07-26 エンジン制御装置 Active JP5783143B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012165923A JP5783143B2 (ja) 2012-07-26 2012-07-26 エンジン制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012165923A JP5783143B2 (ja) 2012-07-26 2012-07-26 エンジン制御装置

Publications (2)

Publication Number Publication Date
JP2014025405A JP2014025405A (ja) 2014-02-06
JP5783143B2 true JP5783143B2 (ja) 2015-09-24

Family

ID=50199261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012165923A Active JP5783143B2 (ja) 2012-07-26 2012-07-26 エンジン制御装置

Country Status (1)

Country Link
JP (1) JP5783143B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6747346B2 (ja) * 2017-03-15 2020-08-26 株式会社デンソー エンジン制御装置及び電子制御装置
JP7376425B2 (ja) * 2020-05-11 2023-11-08 日立Astemo株式会社 車両制御装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0510201A (ja) * 1991-07-04 1993-01-19 Fuji Heavy Ind Ltd 車輌の制御方法
JP3173663B2 (ja) * 1991-08-14 2001-06-04 本田技研工業株式会社 内燃エンジンの燃料噴射制御装置
JP3346163B2 (ja) * 1995-06-05 2002-11-18 株式会社デンソー 車両用電子制御装置
JP2002108835A (ja) * 2000-09-29 2002-04-12 Mitsubishi Electric Corp 車載電子制御装置
JP2002317687A (ja) * 2001-04-24 2002-10-31 Denso Corp マイクロコンピュータ
JP3948345B2 (ja) * 2002-05-20 2007-07-25 株式会社デンソー 通信システム
JP4244774B2 (ja) * 2002-11-29 2009-03-25 株式会社デンソー 車両制御システム
JP2006017054A (ja) * 2004-07-02 2006-01-19 Toyota Motor Corp 内燃機関制御装置
JP5515792B2 (ja) * 2010-01-28 2014-06-11 トヨタ自動車株式会社 内燃機関制御装置

Also Published As

Publication number Publication date
JP2014025405A (ja) 2014-02-06

Similar Documents

Publication Publication Date Title
KR100686486B1 (ko) 위상 검출기 고장시의 노킹 제어 방법 및 장치
US7942041B2 (en) Engine control device
JP4776654B2 (ja) 内燃機関の停止判定装置
JP5783143B2 (ja) エンジン制御装置
JP2003083146A (ja) エンジン逆回転始動防止方法およびその装置
KR102101639B1 (ko) 양방향 센서에 의해 공급된 신호를 프로세싱하기 위한 방법 및 대응하는 디바이스
US9153081B2 (en) Counter apparatus
KR102406503B1 (ko) 점화시기 보정을 통한 촉매 손상 방지 방법
JPWO2018211790A1 (ja) Ecu
JP2006180205A (ja) 車載送信装置およびプログラム。
JP2016017504A (ja) エンジン制御装置
US10513258B2 (en) Device for controlling hybrid vehicle and method for controlling hybrid vehicle
US10746113B2 (en) Method for compensating noise of crank sensor
JP2007026028A (ja) マイクロコンピュータの異常検出装置
JP2013068160A (ja) エンジンのノック制御装置
JP2010113419A (ja) マルチコア制御装置
JP2018155105A (ja) エンジン制御装置及び電子制御装置
JP2013147977A (ja) 内燃機関の制御装置
JP2013068130A (ja) 内燃機関の再始動制御システム
JP2007218203A (ja) 点火故障診断装置、点火故障診断システム及び点火故障診断方法
JP2018151921A (ja) 電子制御装置
JP2007049297A (ja) 通信システム及びその制御方法
CN112664340B (zh) 发动机控制方法及装置
JP2014118834A (ja) 内燃機関の失火判定装置
JP6904052B2 (ja) 電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150615

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150706

R151 Written notification of patent or utility model registration

Ref document number: 5783143

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250