JP2008276306A - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP2008276306A
JP2008276306A JP2007115863A JP2007115863A JP2008276306A JP 2008276306 A JP2008276306 A JP 2008276306A JP 2007115863 A JP2007115863 A JP 2007115863A JP 2007115863 A JP2007115863 A JP 2007115863A JP 2008276306 A JP2008276306 A JP 2008276306A
Authority
JP
Japan
Prior art keywords
communication
electronic control
control device
period
cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007115863A
Other languages
English (en)
Other versions
JP5029123B2 (ja
Inventor
Koichi Matsui
幸一 松井
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 JP2007115863A priority Critical patent/JP5029123B2/ja
Publication of JP2008276306A publication Critical patent/JP2008276306A/ja
Application granted granted Critical
Publication of JP5029123B2 publication Critical patent/JP5029123B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】他の装置との通信周期が変更されても、その装置からの通信データを用いる処理を適切に実行可能で、処理遅れや処理負荷の増加を招くこともない電子制御装置の提供。
【解決手段】他の装置と定期的に通信する電子制御装置は、通信相手からの通信データを受信して記憶する通信コントローラを備えている。そして、通信相手との通信周期を検出し(S120〜S170)、通信コントローラに記憶されている通信データが更新されたか否かのチェックを、上記検出した通信周期毎に行う(S200,S210)。この構成によれば、通信周期が変更されても、通信データの更新を素早く効率良く検知できる。そして、通信データの更新を検知した場合にその通信データを用いる処理を実行することで、その処理を通信周期の変更に影響されずに適切に実行することができる。しかも、無駄な処理を少なくして処理遅れや処理負荷の増加を防止できる。
【選択図】図2

Description

本発明は、他の装置と定期的に通信する電子制御装置に関するものである。
従来より、例えば自動車においては、複数の電子制御装置が通信線を介して通信する通信システムが構成されている。そして、この種の車載通信システムでは、ある装置Aからある装置Bへ、その装置Bにて制御対象を制御するために必要な情報のデータが定期的に送信され、装置Bは、その装置Aからの通信データを用いて、制御対象を制御するための処理を実行する(例えば、特許文献1参照)。尚、電子制御装置において、各種処理は、実際には、その電子制御装置に搭載されたマイコンによって実行される。
ここで、他の装置と通信する電子制御装置では、マイコンの内部又は外部に、他の装置からの通信データを受信して記憶する通信コントローラが備えられている。そして特に、他の装置からの通信データを用いて処理を行う電子制御装置では、通信コントローラに記憶される通信データ(受信データ)が更新されたことを検知した場合に、その通信データを用いて処理を行うように構成することにより、その通信データを用いる処理を無駄なく効率的に行うことができるようになる。
そして、このための手法としては、通信コントローラが他の装置からの通信データを受信して記憶すると発生する受信割り込みのルーチン(受信割り込みルーチン)にて、通信データが更新されたか否かをチェックし、通信データが更新されたと判定すると、引き続き、その受信割り込みルーチンにて通信データを用いる処理を行う、というように構成することが考えられる。
また、他の手法としては、予め定められた一定時間毎に実行される定期ルーチンにて、通信データが更新されたか否かをチェックし、通信データが更新されたと判定すると、引き続き、その定期ルーチンにて通信データを用いる処理を行う、というように構成することも考えられる。
一方、プログラムをフラッシュメモリやEEPROM等のデータ書き換え可能な不揮発性メモリに記憶するようにし、その不揮発性メモリ内のプログラムをオンボード書き換え可能に構成された電子制御装置が知られている(例えば、特許文献2参照)。
特開2005−242871号公報 特許第3097580号公報
ところで、受信割り込みを用いる前者の手法では、受信割り込みルーチンの処理負荷が大きくなってしまうため、他の処理の実行遅れを招いてしまう。一般に、受信割り込みルーチンの実行中は他の処理を行うことができないからである。
また、定期ルーチンを用いる後者の手法では、通信相手の装置におけるプログラムが書き換られて、その装置のデータ送信周期が早く(短く)なると、通信データが更新されたか否かのチェックを適切に行うことができなくなってしまう。つまり、通信相手からの通信データが更新されても、それに気付かない不感時間が長くなってしまう。そして、その結果、通信データを用いる処理(換言すれば、通信データが更新されたなら実行されるべき処理)を適切に行うことができなくなる。
尚、こうした不具合を解消するために、上記定期ルーチンの実行周期を、予め想定される複数通りの通信周期のうちの最速周期(以下、通信最速周期という)に設定しておくことが考えられる。しかし、そのように設定すると、逆に、実際の通信周期が通信最速周期よりも遅い(長い)場合には、無駄な処理が頻繁に行われることとなり、処理負荷の増加を招いてしまう。
本発明は、こうした問題に鑑みなされたものであり、他の装置との通信周期が変更されても、その装置からの通信データを用いる処理を適切に実行可能であると共に、処理遅れや処理負荷の増加を招くこともない電子制御装置の提供を目的としている。
請求項1の電子制御装置は、他の装置と定期的に通信する電子制御装置であって、他の装置からの通信データを受信して記憶する受信手段と、他の装置との通信周期を検出する周期検出手段と、更新チェック手段とを備えている。そして、更新チェック手段は、受信手段に記憶されている通信データが更新されたか否かを、周期検出手段により検出された通信周期でチェックする(調べる)。
つまり、この電子制御装置では、他の装置との通信周期を自動的に検出し、その検出した通信周期で、受信手段に記憶されている通信データが更新されたか否かのチェック(以下、通信データの更新有無のチェックという)を行うようになっている。
このような請求項1の電子制御装置によれば、他の装置との通信周期が変更されても、その変更後の通信周期で通信データの更新有無をチェックすることとなるため、通信データが更新されたことを素早く、しかも効率良く検知することができる。
よって、通信データが更新されたことを更新チェック手段によって検知された場合に、その通信データを用いる処理が実行されるように構成することで、その処理(即ち、通信データが更新されたなら実行されるべき処理)を、通信周期の変更に影響されずに適切に実行することができるようになる。しかも、受信割り込みの処理や通信最速周期での処理を少なく抑えることができるため、処理遅れや処理負荷の増加を抑えることができる。
ところで、マイコンがプログラムを実行することにより、更新チェック手段の機能が実現される構成の場合、例えば、その更新チェック手段の機能を実現するためのプログラムと、通信データを用いる処理のプログラムとを、1つのプログラムとし、更新チェック手段の機能によって通信データが更新されていることが検知されたならば、即座に通信データを用いる処理が行われるようにすることができる。
また、更新チェック手段の機能を実現するためのプログラムと、通信データを用いる処理のプログラムとを、別々のプログラムとして分離するのであれば、請求項2のように構成すると良い。
即ち、請求項2の電子制御装置では、請求項1の電子制御装置において、更新チェック手段は、通信データが更新されていることを検知したならば、そのことを示す更新情報をセットするようになっている。そして、当該電子制御装置は、その更新情報を参照して、該更新情報がセットされていれば、その更新情報がセットされた際にチェック対象となった通信データを用いて特定の処理を行う。
このような請求項2の電子制御装置によれば、更新チェック手段の機能を実現するためのプログラムと、更新情報を参照して通信データを用いる処理を行うか否かを判定する処理及び通信データを用いる処理のプログラムとを、別々のプログラムに分離しても、請求項1の電子制御装置について述べた効果を得ることができる。
例えば、対比例として、実行周期が通信最速周期に設定されたルーチンにて、通信データの更新有無をチェックすると共に、更新があればそのことを示す更新情報をセットし、他のルーチンにより、その更新情報を参照して、更新情報がセットされていれば、その更新情報がセットされた際にチェック対象となった通信データを用いて処理を行う、というように構成することが考えられる。
しかし、この構成の場合、実際の通信周期が通信最速周期よりも遅い場合に無駄な処理が頻繁に行われるという問題の他にも、下記の問題がある。
即ち、実際の通信周期より速い周期で更新情報を生成することとなるため、上記他のルーチン側が更新情報を参照する前に、通信データの更新有無のチェックを複数回実行して、更新情報をセットから非セットの状態に戻してしまう可能性があり、その場合には、通信データが本当は更新されたのに、通信データを用いた処理が実行されなくなってしまう虞がある。また、この問題は、更新情報を所定時間保持することで解決可能であるが、その保持時間が実際の通信周期よりも長いと、逆に、通信データが本当は更新されていないのに、通信データを用いた処理が無駄に実行されてしまう可能性が生じる。
これに対して、請求項2の電子制御装置によれば、こうした問題の発生を抑制することができ、通信データを用いる処理(通信データが更新されたなら実行されるべき処理)を、通信周期の変更に影響されずに適切に実行することができるのである。
次に、請求項3の電子制御装置では、請求項1,2の電子制御装置において、周期検出手段は、当該電子制御装置が動作を開始してから所定期間だけ作動するようになっている。
そして、この構成によれば、周期検出手段が作動する機会を少なくすることができ、その周期検出手段をプログラムで実現する場合には、周期を検出するための処理負荷を少なくすることができる。なぜなら、通信相手の装置におけるプログラムが書き換えられた場合には、その装置と当該電子制御装置とが再起動されると考えられ、起動時にだけ通信周期を検出するように構成すれば、プログラムの書き換えに伴う通信周期の変更に対応できるからである。
尚、周期検出手段が作動する所定期間としては、例えば、その時間があれば予め定められた手順で通信周期を検出できると考えられる一定時間(具体的には、通信周期の最長値よりも大きい一定時間)でも良いし、通信周期を予め定められた手順で実際に検出するまでの期間でも良い。
次に、請求項4の電子制御装置では、請求項3の電子制御装置において、書換検出手段を備えており、その書換検出手段は、通信相手の他の装置で実行されるプログラムが書き換えられたか否かを判定し、該プログラムが書き換えられたことを検出すると、そのことを示すプログラム書換情報をセットする。そして、周期検出手段は、当該電子制御装置が動作を開始した際に、前記プログラム書換情報がセットされていたならば作動するようになっている。
この構成によれば、通信相手の装置で実行されるプログラムが書き換えられた後の、最初の起動時にのみ、周期検出手段が作動することとなる。よって、周期検出手段が作動する機会を更に最適化して最小限にしつつ、プログラムの書き換えに伴う通信周期の変更に対応することができる。
尚、他の装置で実行されるプログラムが書き換えられたか否かは、その装置と、プログラムを書き換えるための書換装置との間の通信データをモニタすることで判定することができる。
次に、請求項5の電子制御装置では、請求項3の電子制御装置において、当該電子制御装置及び前記他の装置は、車載バッテリの電力を受けて動作する車載装置である。そして、当該電子制御装置は、車載バッテリの着脱があったか否かを判定するバッテリ着脱判定手段を備えている。そして更に、周期検出手段は、当該電子制御装置が動作を開始した際に、バッテリ着脱判定手段により車載バッテリの着脱があったと判定されたならば作動するようになっている。
この構成によれば、車載バッテリが外されて取り付けられた後の、最初の起動時にのみ、周期検出手段が作動することとなる。このため、通信相手の他の装置が仕様の異なるものに交換されたことによる通信周期の変更に対して、周期検出手段の作動機会を最小限にしつつ対応することができる。なぜなら、一般に、車載装置が交換される場合には、車載バッテリが取り外されるため、請求項5の構成によれば、通信相手の装置の交換により通信周期が変わる可能性がある場合に、周期検出手段を作動させることとなるからである。
次に、請求項6の電子制御装置では、請求項1,2の電子制御装置において、周期検出手段は、前記他の装置で実行されるプログラムが書き換えられたことを条件として作動するようになっている。
この構成によれば、請求項4の電子制御装置と同様に、通信相手の装置のプログラム書き換えにより通信周期が変わった可能性がある場合にのみ、周期検出手段を作動させることとなる。よって、周期検出手段が作動する機会を少なくしつつ、通信相手の装置のプログラム書き換えに伴う通信周期の変更に対応することができる。
次に、請求項7の電子制御装置では、請求項1,2の電子制御装置において、当該電子制御装置及び前記他の装置は、車載バッテリからの電力を受けて動作する車載装置であり、周期検出手段は、車載バッテリの着脱があったことを条件として作動するようになっている。
この構成によれば、請求項5の電子制御装置と同様に、通信相手の装置の交換により通信周期が変わった可能性がある場合にのみ、周期検出手段を作動させることとなる。よって、周期検出手段が作動する機会を少なくしつつ、通信相手の他の装置が交換されたことによる通信周期の変更に対応することができる。
次に、請求項8の電子制御装置では、請求項1〜7の電子制御装置において、周期検出手段は、前記他の装置との通信周期を複数回測定すると共に、その複数回分の測定値の平均をとることで、通信周期の検出値を求めるようになっている。そして、この構成によれば、通信周期の測定ばらつきを抑制して、通信周期の検出精度を向上させることができる。
次に、請求項9の電子制御装置では、請求項8の電子制御装置において、周期検出手段は、前記複数回分の測定値の平均値に基づいて、複数通りの通信周期の候補値のうちの何れかを、通信周期の検出値として選択するようになっている。そして、この構成によれば、通信周期の検出値を、予め定められた通信周期の候補値の何れかに確実に合わせることができる。よって、通信周期の検出精度を一層向上させることができる。
次に、請求項10の電子制御装置では、請求項1〜9の電子制御装置において、良否判定手段を備えており、該良否判定手段は、周期検出手段が作動した場合に、その周期検出手段が通信周期を正常に検出することができたか否かを判定する。そして、良否判定手段により否定判定されたならば(即ち、周期検出手段が通信周期を正常に検出することができなかったと判定されたならば)、更新チェック手段は、通信データが更新されたか否かを、周期検出手段が過去に作動した際に検出した通信周期でチェックするようになっている。尚、良否判定手段は、例えば、周期検出手段による通信周期の検出値が規定範囲内に入っているか否かを判定し、規定範囲内でなければ、周期検出手段が通信周期を正常に検出することができなかったと判定するように構成することができる。
そして、このような電子制御装置によれば、通信エラー等によって通信周期を正常に検出することができなかった場合でも、過去に検出した通信周期で、通信データの更新有無をチェックすることができ、動作の確実性を向上させることができる。
以下に、本発明が適用された実施形態の電子制御装置について説明する。尚、本実施形態の電子制御装置(以下、ECUという)は、自動車に搭載され、例えば、その自動車のエンジン等を制御するものである。
図1に示すように、本実施形態のECU1は、通信線3を介して他のECU5と接続されており、そのECU5と定期的に通信する。また、各ECU1,5は、車両のイグニッションスイッチがオンされると、車載バッテリから動作電力が供給されて起動する。
そして、ECU1は、当該ECUの動作を司るマイコン11を備えている。更に、そのマイコン11には、通信線3に接続されたECU5等の他の装置と通信するための通信コントローラ13と、通信データ取り込み用プログラム15と、アプリケーションプログラム17とが備えられている。
ここで、ECU1の通信相手であるECU5は、図1の下方に示すように、ECU1へ送るべき通信データと、その通信データを更新したか否かを示す更新フラグとを組にして送信する。更に具体的に説明すると、ECU5は、送信バッファを有しており、ECU1との通信周期である一定時間毎に、その送信バッファ内の通信データ及び更新フラグをECU1へ送信するが、その送信バッファ内の通信データを書き換えた(更新した)ときに、その送信バッファに通信データと共に格納される更新フラグを1にセットするようになっている。よって、ECU1側では、ECU5から受信した通信データに付属する更新フラグが1であれば、その通信データが更新されたと判断することができる。
そして、マイコン11の通信コントローラ13は、受信バッファ14を備えており、通信線3を介してECU5から受信した通信データ及び更新フラグを、その受信バッファ14に格納するようになっている。
また、マイコン11に備えられたRAM等のメモリ(図示省略)には、ECU5から受信した通信データ及び更新フラグを格納するための受信データ格納領域16が設定されている。
そして、通信データ取り込み用プログラム15は、通信コントローラ13の受信バッファ14から受信データ格納領域16へ通信データと更新フラグを転送する処理を、マイコン11に行わせるためのプログラムである。
また、アプリケーションプログラム17は、受信データ格納領域16に格納されている更新フラグを参照し、更新フラグが1であれば、その受信データ格納領域16内の通信データを用いて制御対象を制御するための処理を行う、という機能をマイコン11に実現させるプログラムである。尚、アプリケーションプログラム17と通信データ取り込み用プログラム15は、マイコン11に備えられた不揮発性メモリ(図示省略)に格納されている。
一方、少なくとも、ECU5は内蔵のプログラムがオンボード書き換え可能となっている。そして、そのECU5のプログラムを書き換える場合には、通信線3に、プログラムを書き換えるための書換装置21が接続される。つまり、ECU5は、書換装置21からの書換コマンドを受けると、動作モードが書換モードとなり、内蔵のプログラムを書換装置21から送られて来る新たなプログラムに書き換える処理を行うようになっている。
次に、ECU1のマイコン11が実行する処理について図2〜図4のフローチャートを用い説明する。尚、図2と図3の処理は、通信データ取り込み用プログラム15によるものであり、図4の処理は、アプリケーションプログラム17によるものである。
ECU1に電源が投入されて該ECU1が起動すると、マイコン11も動作を開始して、図2の処理を行う。
そして、まずS110にて、測定時間カウンタと受信回数カウンタをクリアする。尚、測定時間カウンタは、マイコン11の動作開始時からの経過時間を計測するためのカウンタであり、図示しない他のタイマ処理によって一定時間毎にインクリメントされる。また、受信回数カウンタは、ECU5からの通信データの受信回数を計測するためのカウンタであり、後述する図3の処理でインクリメントされる。
次にS120にて、ECU5との通信周期の測定を開始する処理を行う。具体的には、通信周期を測定するための図3の受信割り込み処理が実行されるのを許可する。図3の受信割り込み処理は、マイコン11において、通信コントローラ13がECU5からの通信データを受信すると発生する受信割り込み要求によって起動される割り込み処理である。
次にS130にて、測定時間カウンタの値に基づき、予め定められた周期測定時間が経過したか否かを判定し、その周期測定時間が経過するまで待つ。
尚、周期測定時間は、ECU5との通信周期の測定を実施する時間であり、設定され得る通信周期の最大値の2倍よりも長い時間に予め設定されている。更に具体的には、本実施形態において、ECU1とECU5との通信周期は、4msの倍数でないと成立せず、たとえECU5のプログラムが書き換えられても、当該ECU1との通信周期は4msの倍数でしか変更されないようになっている。また、ECU1とECU5との通信周期は、4msが最小で36msが最大となっている。そこで、周期測定時間は、36msの2倍よりも長い例えば76msに設定されている(図5参照)。
そして、S130にて、周期測定時間が経過したと判定すると、S150に進み、ECU5との通信周期の測定を終了する処理を行う。具体的には、図3の受信割り込み処理が実行されるのを禁止する。
ここで、マイコン11は、図2のS120の処理を行ってからS150の処理を行うまでの周期測定時間の間、ECU5からの通信データを受信する毎に、図3の受信割り込み処理を実行する。
そして、図3の受信割り込み処理では、まずS310にて、その時点でのグローバルタイマ値を取得する。グローバルタイマ値とは、グローバルタイマのカウント値であり、グローバルタイマは、マイコン11において常時カウントアップされているハードウェアのタイマ(所謂フリーランタイマ)である。
次にS320にて、受信回数カウンタの値に基づき、受信回数(即ち、ECU5からの通信データを受信した回数)が1であるか否かを判定し、1であれば、そのままS340に移行する。尚、受信回数カウンタの値が0であれば、受信回数が1であると判定する。
S340では、受信回数カウンタをインクリメントし、次のS350にて、受信バッファ14内の通信データを受信データ格納領域16にコピーする通信データの取り込み処理を行うと共に、通信データの更新有無をチェックする更新有無チェック処理を行う。この更新有無チェック処理は、受信バッファ14内の更新フラグを読み出して、その更新フラグが1であれば、受信バッファ14内の通信データが更新されたとして、受信データ格納領域16内の更新フラグを1にセットすると共に、受信バッファ14内の更新フラグを0にリセットし、また、受信バッファ14内の更新フラグが1でなければ(0であれば)、通信データが更新されていないとして、受信データ格納領域16内の更新フラグを0にする、という内容の処理である。
但し、S350では、上記通信データの取り込み処理と更新有無チェック処理とを簡潔に行うために、実際には、受信バッファ14から受信データ格納領域16へ通信データと更新フラグをコピーし、次いで、受信バッファ14内の更新フラグを0にする、という処理を行う。このようにしても結果は同じであるからである。
そして、S350の処理が終わると、当該受信割り込み処理を終了する。
一方、上記S320にて、受信回数が1でないと判定した場合には、S330に進み、前回のS310で取得したグローバルタイマ値と今回のS310で取得したグローバルタイマ値との差を、受信間隔(=通信周期)として算出する。そして、その後、前述のS340に進む。
図2に戻り、上記S150の処理を終えると、次のS160にて、周期測定時間の間に図3の受信割り込み処理で算出された受信間隔の平均値を求める。
そして、次のS170にて、S160で算出した受信間隔の平均値に基づいて、通信周期の検出値(以下、検出通信周期という)を決定する処理を行う。
具体的には、算出した受信間隔の平均値が、通信最速周期である4msより小さければ、その4msを検出通信周期とし、そうでなければ(つまり、受信間隔の平均値が4ms以上であれば)、4msの倍数値であって、予め想定される複数通りの通信周期の候補値(即ち、4ms,8ms,12ms,…,32ms,36ms)のうち、受信間隔の平均値以下で最も大きい候補値を、検出通信周期とする。このため、例えば、受信間隔の平均値が4ms以上8ms未満の場合には、4msが検出通信周期として選択され、受信間隔の平均値が8ms以上12ms未満の場合には、8msが検出通信周期として選択される。尚、S170では、通信周期の候補値のうち、受信間隔の平均値に最も近い候補値を、検出通信周期として選択するようにしても良い。
次にS180にて、今回のS170で求めた検出通信周期が有効であるか否かを判定する。
具体的には、S160で算出した受信間隔の平均値、或いは、図3のS330で算出した受信間隔の値が、正常と考えられる規定範囲内に入っているか否かを判定し、規定範囲内でなければ、そのような値に基づき決定した検出通信周期も正常ではないと考えられるため、その検出通信周期は有効でないと判定する。
そして、このS180にて検出通信周期が有効であると判定したならば、S190に進み、今回求めた検出通信周期をフラッシュメモリやEEPROM等の書換可能不揮発性メモリ(図示省略)に更新記憶し、その後、S200へ進む。
すると、以後は、S200の判定とS210の処理とを繰り返すこととなるが、S200では、1回目では、図3の受信割り込み処理が前回終了してから、上記書換可能不揮発性メモリに記憶されている検出通信周期が経過するまで待ち、その検出通信周期が経過すると、S210に進む。そして、S210にて、図3のS350と同じ通信データの取り込み処理と更新有無チェック処理を行い、その後、S200に戻る。そして、S200では、2回目以降では、S210の処理が前回終了してから、上記書換可能不揮発性メモリに記憶されている検出通信周期が経過するまで待ち、その検出通信周期が経過すると、S210に進む。
このため、S150で図3の受信割り込み処理の実行が禁止された後は、その受信割り込み処理が最後に実行された時点から、検出通信周期が経過する毎に、図2のS210にて、通信データの取り込み処理と更新有無チェック処理とが実施されることとなる。
また、上記S180にて今回の検出通信周期が有効でないと判定した場合には、S220に移行して、上記書換可能不揮発性メモリに過去の検出通信周期(即ち、前回以前のS170で求められてS180で有効と判定された最新の検出通信周期)が記憶されているか否かを判定する。そして、過去の検出通信周期が記憶されていた場合には、S230にて、その過去の検出通信周期がS200の判定で用いられるように設定し、その後、S200へ進む。よって、この場合には、今回求めた検出通信周期は用いられず、過去に求めて有効と判定した検出通信周期毎に、通信データの取り込み処理と更新有無チェック処理とが実施されることとなる。
一方、S220にて、上記書換可能不揮発性メモリに過去の検出通信周期が記憶されていないと判定した場合には、S240に移行して、所定のエラー処理を行う。尚、エラー処理としては、異常の発生を示す異常コードを記憶したり、警告灯を点灯させて車両運転者に報知する処理等がある。
次に、マイコン11は、アプリケーションプログラム17を実行することで、図4の処理を行う。尚、図4の処理は、例えば一定時間毎に実行される。
そして、マイコン11が図4の処理を開始すると、まずS410にて、受信データ格納領域16内の更新フラグを読み出して、その更新フラグが1であるか否かを判定する。そして、受信データ格納領域16内の更新フラグが1でなければ(セットされていなければ)、そのまま当該アプリケーションプログラム17の処理を終了する。
また、受信データ格納領域16内の更新フラグが1であると判定した場合には、S420に進んで、その受信データ格納領域16から通信データを読み出し、続くS430にて、その読み出した通信データを用いて制御対象を制御するための制御処理を行う。そして、その後、当該アプリケーションプログラム17の処理を終了する。
以上のようなECU1においては、図5に示すように、電源の投入により起動してから周期測定時間が経過するまでの間は、ECU5からの通信データを受信する毎に図3の受信割り込み処理が実行され、その受信割り込み処理により、通信データの取り込み処理と更新有無チェック処理とが実施されると共に、ECU5との通信周期が測定される。尚、図5は、通信相手であるECU5のデータ送信周期が16msに設定されている場合を例示している。
そして、起動時から周期測定時間が経過すると、図3の受信割り込み処理で算出された通信間隔の平均値に基づいて、通信周期の検出値である検出通信周期が決定され(S160,S170)、以後は、受信割り込み処理が最後に実行された時点から、その検出通信周期が経過する毎に、通信データの取り込み処理と更新有無チェック処理とが実施される(S200,S210)。
また、アプリケーションプログラム17の処理では、通信データの更新有無チェック処理(図3のS350又は図2のS210)によって受信データ格納領域16に書き込まれる更新フラグを参照し、その受信データ格納領域16内の更新フラグがセットされていれば、その更新フラグに対応する通信データを用いて制御処理を行う。
このような本実施形態のECU1によれば、他のECU5との通信周期を自動的に検出し、その検出した通信周期で、通信データの更新有無チェック処理、即ち、通信コントローラ13の受信バッファ14内の通信データが更新されたか否かをチェックし、更新されていることを検知したならば、受信データ格納領域16内の更新フラグを1にセットする、という内容の処理を行うようになっている。
よって、例えばECU5のプログラムが書き換えられて、そのECU5との通信周期が変更されても、その変更後の通信周期で通信データの更新有無チェック処理を行うことができ、その結果、アプリケーションプログラム17の処理で参照される受信データ格納領域16内の更新フラグ(更新情報に相当)を、通信データが更新されたか否かを正確に示すものにすることができる。
このため、ECU5との通信周期が変更されても、通信データを用いるアプリケーションプログラム17の処理を、適切に実行することができる。つまり、通信データが更新されたのに、その通信データを用いた処理が実行されなかったり、通信データが更新されていないのに、その通信データを用いた処理が無駄に実行されてしまったりする可能性を低くすることができる。
また、本実施形態のECU1では、動作を開始してから周期測定時間が経過するまでの間だけ、通信周期を測定するようになっているため、通信周期を検出するための処理負荷を少なくすることができる。なぜなら、通信相手であるECU5のプログラムが書き換えられた場合には、そのECU5と当該ECU1とが再起動されると考えられ、起動時にだけ通信周期を検出するように構成すれば、ECU5のプログラム書き換えに伴う通信周期の変更に対応できるからである。
また、本実施形態のECU1では、通信周期の測定値の平均値から、通信周期の最終的な検出値を決定するようになっているため、通信周期の測定ばらつきを抑制して、検出精度を向上させることができる。
更に、図2におけるS170の処理により、通信周期の測定値の平均値に基づいて、複数通りの通信周期の候補値のうちの何れかを、通信周期の検出値として選択するようになっているため、その検出値を、通信周期の候補値の何れかに確実に合わせることができ、通信周期の検出精度を一層向上させることができる。
また、本実施形態のECU1では、通信周期を正常に検出することができたか否かを、図2おけるS180の処理で判定し、そのS180で“NO”と否定判定した場合には、過去に検出した通信周期毎に、通信データの更新有無チェック処理を行うようにしている。このため、通信エラー等によって通信周期を正常に検出することができなかった場合でも、過去に検出した通信周期毎に通信データの更新有無チェック処理を行うことができ、動作の確実性を向上させることができる。
尚、本実施形態では、通信コントローラ13が受信手段に相当し、図2のS110〜S170と図3のS310〜S340が周期検出手段に相当し、図2のS200,S210が更新チェック手段に相当している。また、図2のS180が良否判定手段に相当している。
次に、第2実施形態のECUについて説明する。尚、第2実施形態のECUは、第1実施形態のECU1とハードウェア構成は同じであるため、以下の説明において、符号は第1実施形態と同じものを用いる。
第2実施形態のECU1は、第1実施形態と比較すると、マイコン11が図2の処理に代えて、図7の処理を実行する点と、その図7の処理と並行して、図6のプログラム書換検出処理を一定時間毎に実行する点とが異なっている。尚、図6の処理も、通信データ取り込み用プログラム15によるものである。
更に、本ECU1が搭載される車両の製造時において、マイコン11の書換可能不揮発性メモリには、その時点におけるECU5との通信周期が、検出通信周期のデフォルト値として記憶されている。
そして、本第2実施形態のECU1において、図6のプログラム書換検出処理では、まずS510にて、通信相手であるECU5のプログラムが書き換えられたか否かを判定する。具体的には、通信線3上に流れる通信データをモニタして、書換装置21からECU5へプログラムの書き換え処理を終了させるための書換終了コマンドが送信されたことを検知したならば、ECU5のプログラムが書き換えられたと判定する。
そして、ECU5のプログラムが書き換えられたと判定した場合には、次のS520にて、フラグであるプログラム書換情報を1にセットし、その後、当該プログラム書換検出処理を終了する。尚、プログラム書換情報は、ECU1への動作電源が遮断されても継続して保存されるように、書換可能不揮発性メモリに記憶される。
また、上記S510にて、ECU5のプログラムが書き換えられていないと判定した場合には、そのまま当該プログラム書換検出処理を終了する。
一方、図7の処理は、図2の処理と比較すると、S101,S103,S183の処理が追加されている。
即ち、マイコン11が起動して図7の処理を開始すると、まずS101にて、プログラム書換情報が1にセットされているか否かを判定する。そして、プログラム書換情報が1にセットされていないと判定した場合には、そのままS220へ移行する。よって、この場合には、書換可能不揮発性メモリに記憶されている上記デフォルト値の検出通信周期か、過去に求めて有効と判定した検出通信周期毎に、通信データの取り込み処理と更新有無チェック処理とが実施される。
また、S101にて、プログラム書換情報が1にセットされていると判定した場合には、S103に進み、そのプログラム書換情報を0にクリアし、その後、S110以降の処理を行う。
このため、本第2実施形態では、ECU5のプログラムが書き換えられた後の最初の起動時にのみ、ECU5との通信周期を新たに検出する処理(S110〜S170及び図3)が行われることとなる。
また、図7の処理では、S180にて、今回求めた検出通信周期が有効であると判定した場合には、S183に進み、プログラム書換情報が1にセットされているか否かを再び判定する。つまり、通信周期を検出している間に、ECU5のプログラムが書き換えられていないかを再度確認する。
そして、このS183にて、プログラム書換情報が1にセットされていると判定したならば、S103に戻り、再びECU5との通信周期を検出する処理を行う。また、S183にて、プログラム書換情報が1にセットされていないと判定したならば、そのままS190に進む。
このような第2実施形態のECU1によれば、通信相手のECU5で実行されるプログラムが書き換えられた後の最初の起動時にのみ、ECU5との通信周期を検出する処理を行うため、ECU5との通信周期が変わった可能性がある場合にのみ、通信周期を検出する処理を行うこととなる。よって、その処理を行う機会を最小限にしつつ、プログラムの書き換えに伴う通信周期の変更に対応することができる。尚、本第2実施形態では、図6の処理が書換検出手段に相当している。
次に、第3実施形態のECUについて説明する。尚、第3実施形態のECUも、第1実施形態のECU1とハードウェア構成は同じであるため、以下の説明において、符号は第1実施形態と同じものを用いる。
第3実施形態のECU1は、第1実施形態と比較すると、マイコン11が図2の処理に代えて、図8の処理を実行する点が異なっている。更に、第2実施形態と同様に、本ECU1が搭載される車両の製造時において、マイコン11の書換可能不揮発性メモリには、その時点におけるECU5との通信周期が、検出通信周期のデフォルト値として記憶されている。
そして、図8の処理は、図2の処理と比較すると、S105の処理が追加されている。
即ち、マイコン11が起動して図8の処理を開始すると、まずS105にて、車載バッテリの着脱があったか否かを判定する。具体的に説明すると、マイコン11は、車載バッテリが車両に接続されていれば給電され続けるバックアップRAMを備えており、そのバックアップRAM内のデータが正常か否かを調べて、データが正常でなければ、車載バッテリの着脱があった(車載バッテリが外された)と判定する。
そして、このS105にて、車載バッテリの着脱があったと判定した場合には、S110に進んで、そのS110以降の処理を行う。
また、S105にて、車載バッテリの着脱がなかったと判定した場合には、そのままS220へ移行する。よって、この場合には、書換可能不揮発性メモリに記憶されている上記デフォルト値の検出通信周期か、過去に求めて有効と判定した検出通信周期毎に、通信データの取り込み処理と更新有無チェック処理とが実施される。
つまり、第3実施形態のECU1では、車載バッテリが外されて取り付けられた後の最初の起動時にのみ、ECU5との通信周期を検出する処理を行うようになっている。
このため、通信相手のECU5が仕様の異なるものに交換されたことによる通信周期の変更に対して、通信周期の検出処理を行う機会を最小限にしつつ対応することができる。なぜなら、一般に、車載装置が交換される場合には、車載バッテリが取り外されるため、本第3実施形態のようにすれば、ECU5の交換によって通信周期が変わる可能性がある場合にのみ、通信周期の検出処理を行うこととなるからである。尚、本第3実施形態では、図8のS105がバッテリ着脱判定手段に相当している。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
例えば、上記実施形態のECU1では、送信側のECU5が、通信データと共に、その通信データを更新したか否かを示す更新フラグを送信するようになっているため、その更新フラグに基づいて、ECU5から受信した通信データが更新されたか否かを判断するようにしていたが、送信側からの通信データに更新フラグが付属されないのであれば、前述したS210とS350の処理は、例えば下記(1)又は(2)のように変更することができる。
(1)まず、通信データの更新有無チェック処理として、通信データの取り込み処理よりも先に、下記のような処理を行う。
受信バッファ14内の通信データと、受信データ格納領域16内の通信データ(即ち、前回の取り込み処理で受信バッファ14からコピーした通信データ)とを比較し、両通信データが異なっていれば、受信バッファ14内の通信データが更新されたとして、受信データ格納領域16内の更新フラグを1にセットし、上記両通信データが同じであれば、通信データが更新されていないとして、受信データ格納領域16内の更新フラグを0にする。
そして、このような更新有無チェック処理の後、通信データの取り込み処理を行う。つまり、受信バッファ14内の通信データを受信データ格納領域16にコピーする。
こうした(1)の処理によれば、ECU5から前回とは異なる値の通信データを受信すると、通信データが更新されたと判定することとなる。
(2)通信データの取り込み処理として、受信バッファ14内の通信データを受信データ格納領域16にコピーしたら、受信バッファ14内の通信データを0にクリアする処理を行う。
そして、このような取り込み処理の前に、通信データの更新有無チェック処理として、下記のような処理を行う。
受信バッファ14内に何らかのデータがあるか否かを判定し、データがあれば、受信バッファ14内の通信データが更新されたとして、受信データ格納領域16内の更新フラグを1にセットし、データがなければ、通信データが更新されていないとして、受信データ格納領域16内の更新フラグを0にする。
こうした(2)の処理によれば、ECU5から通信データを新たに受信すると、通信データが更新されたと判定することとなる。
一方、前述した検出通信周期やプログラム書換情報は、常時給電されるバックアップRAMに記憶されるようにしても良い。
また、検出通信周期が通信最速周期の倍数からずれる可能性はあるが、S170では、S160で算出した受信間隔の平均値を、そのまま検出通信周期とするように構成することも可能である。
実施形態のECU(電子制御装置)の構成を表す構成図である。 第1実施形態のマイコンが起動時から実行する処理を表すフローチャートである。 受信割り込み処理を表すフローチャートである。 アプリケーションプログラムの処理を表すフローチャートである。 第1実施形態の作用を表すタイムチャートである。 第2実施形態のマイコンが実行するプログラム書換検出処理を表すフローチャートである。 第2実施形態のマイコンが起動時から実行する処理を表すフローチャートである。 第3実施形態のマイコンが起動時から実行する処理を表すフローチャートである。
符号の説明
1,5…ECU(電子制御装置)、3…通信線、11…マイコン、13…通信コントローラ、14…受信バッファ、15…通信データ取り込み用プログラム、16…受信データ格納領域、17…アプリケーションプログラム、21…書換装置

Claims (10)

  1. 他の装置と定期的に通信する電子制御装置であって、
    前記他の装置からの通信データを受信して記憶する受信手段と、
    前記他の装置との通信周期を検出する周期検出手段と、
    前記受信手段に記憶されている通信データが更新されたか否かを、前記周期検出手段により検出された通信周期でチェックする更新チェック手段と、
    を備えていることを特徴とする電子制御装置。
  2. 請求項1に記載の電子制御装置において、
    前記更新チェック手段は、前記通信データが更新されていることを検知したならば、そのことを示す更新情報をセットするようになっており、
    当該電子制御装置は、前記更新情報を参照して、該更新情報がセットされていれば、その更新情報がセットされた際にチェック対象となった通信データを用いて特定の処理を行うように構成されていること、
    を特徴とする電子制御装置。
  3. 請求項1又は請求項2に記載の電子制御装置において、
    前記周期検出手段は、当該電子制御装置が動作を開始してから所定期間だけ作動すること、
    を特徴とする電子制御装置。
  4. 請求項3に記載の電子制御装置において、
    前記他の装置で実行されるプログラムが書き換えられたか否かを判定し、該プログラムが書き換えられたことを検出すると、そのことを示すプログラム書換情報をセットする書換検出手段を備え、
    前記周期検出手段は、当該電子制御装置が動作を開始した際に、前記プログラム書換情報がセットされていたならば作動すること、
    を特徴とする電子制御装置。
  5. 請求項3に記載の電子制御装置において、
    当該電子制御装置及び前記他の装置は、車載バッテリの電力を受けて動作する車載装置であり、
    当該電子制御装置は、前記車載バッテリの着脱があったか否かを判定するバッテリ着脱判定手段を備え、
    前記周期検出手段は、当該電子制御装置が動作を開始した際に、前記バッテリ着脱判定手段により前記車載バッテリの着脱があったと判定されたならば作動すること、
    を特徴とする電子制御装置。
  6. 請求項1又は請求項2に記載の電子制御装置において、
    前記周期検出手段は、前記他の装置で実行されるプログラムが書き換えられたことを条件として作動すること、
    を特徴とする電子制御装置。
  7. 請求項1又は請求項2に記載の電子制御装置において、
    当該電子制御装置及び前記他の装置は、車載バッテリからの電力を受けて動作する車載装置であり、
    前記周期検出手段は、前記車載バッテリの着脱があったことを条件として作動すること、
    を特徴とする電子制御装置。
  8. 請求項1ないし請求項7の何れか1項に記載の電子制御装置において、
    前記周期検出手段は、前記通信周期を複数回測定すると共に、その複数回分の測定値の平均をとることで、前記通信周期の検出値を求めること、
    を特徴とする電子制御装置。
  9. 請求項8に記載の電子制御装置において、
    前記周期検出手段は、前記複数回分の測定値の平均値に基づいて、複数通りの通信周期の候補値のうちの何れかを、前記通信周期の検出値として選択すること、
    を特徴とする電子制御装置。
  10. 請求項1ないし請求項9の何れか1項に記載の電子制御装置において、
    前記周期検出手段が作動した場合に、その周期検出手段が前記通信周期を正常に検出することができたか否かを判定する良否判定手段を備え、
    前記良否判定手段により否定判定されたならば、前記更新チェック手段は、前記通信データが更新されたか否かを、前記周期検出手段が過去に作動した際に検出した通信周期でチェックするようになっていること、
    を特徴とする電子制御装置。
JP2007115863A 2007-04-25 2007-04-25 電子制御装置及び通信システム Expired - Fee Related JP5029123B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007115863A JP5029123B2 (ja) 2007-04-25 2007-04-25 電子制御装置及び通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007115863A JP5029123B2 (ja) 2007-04-25 2007-04-25 電子制御装置及び通信システム

Publications (2)

Publication Number Publication Date
JP2008276306A true JP2008276306A (ja) 2008-11-13
JP5029123B2 JP5029123B2 (ja) 2012-09-19

Family

ID=40054221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007115863A Expired - Fee Related JP5029123B2 (ja) 2007-04-25 2007-04-25 電子制御装置及び通信システム

Country Status (1)

Country Link
JP (1) JP5029123B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019139315A (ja) * 2018-02-06 2019-08-22 トヨタ自動車株式会社 車載通信システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250543A (ja) * 2004-03-01 2005-09-15 Mitsubishi Electric Corp データ受信装置及びデータ送信装置及びデータ受信方法及びデータ送信方法及びプログラム
JP2006236089A (ja) * 2005-02-25 2006-09-07 Denso Corp 自動車用制御装置
JP2007036647A (ja) * 2005-07-27 2007-02-08 Nec Corp 端末自動設定システム、制御エリア情報発信装置、サーバ装置、携帯端末装置、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250543A (ja) * 2004-03-01 2005-09-15 Mitsubishi Electric Corp データ受信装置及びデータ送信装置及びデータ受信方法及びデータ送信方法及びプログラム
JP2006236089A (ja) * 2005-02-25 2006-09-07 Denso Corp 自動車用制御装置
JP2007036647A (ja) * 2005-07-27 2007-02-08 Nec Corp 端末自動設定システム、制御エリア情報発信装置、サーバ装置、携帯端末装置、及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019139315A (ja) * 2018-02-06 2019-08-22 トヨタ自動車株式会社 車載通信システム
JP7006335B2 (ja) 2018-02-06 2022-01-24 トヨタ自動車株式会社 車載通信システム、車載通信方法、およびプログラム
US11288054B2 (en) 2018-02-06 2022-03-29 Toyota Jidosha Kabushiki Kaisha Vehicular communication system

Also Published As

Publication number Publication date
JP5029123B2 (ja) 2012-09-19

Similar Documents

Publication Publication Date Title
CN107852352B (zh) 中继装置、电子控制装置以及车载***
EP2040166B1 (en) Memory management apparatus
JP6044316B2 (ja) 車載電子制御装置
JP4345708B2 (ja) 車両用電子制御装置
JP4367513B2 (ja) 電子制御装置
JP6011162B2 (ja) 電子制御装置
US9690269B2 (en) Controller and process monitoring method including monitoring of process execution sequence
WO2019058607A1 (ja) 車載電子制御装置およびその異常時処理方法
JP5664454B2 (ja) 車両用電子制御装置
JP5962697B2 (ja) 電子制御装置
JP2008055980A (ja) 自動車の電子制御装置
JP7186049B2 (ja) 電源監視装置および電源監視方法
JP5029123B2 (ja) 電子制御装置及び通信システム
JP2007162586A (ja) 車載制御装置
JP2003104138A (ja) データ書き換えのための車両制御装置の監視システム
JP5664926B2 (ja) 内燃機関の始動制御装置
JP2011123569A (ja) 処理装置
JP6172040B2 (ja) 電子制御装置
KR20130042317A (ko) 엔진 오프 타이머의 진단 방법
JP5516509B2 (ja) プログラム書込システム
JP6887277B2 (ja) 自動車用電子制御装置
JP6702161B2 (ja) 車載電子制御装置
JP4998816B2 (ja) 電子制御装置のプログラム書換えシステム
JP2009179145A (ja) 車両用電源制御装置
JP5109679B2 (ja) 車両用電源制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120511

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120611

R151 Written notification of patent or utility model registration

Ref document number: 5029123

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees