車載用通信システム
【課題】車載用通信システムにおいて、各ECUが、他のECUの不揮発性メモリに記憶されたECU毎に異なるデータのバックアップを備える。
【解決手段】多重通信線用のバス11を介して相互に接続される複数の電子制御ユニット20を備えた車載用通信システム10であって、各ECU20は、自データの保存領域と、バス11で接続した他の電子制御ユニットの車両情報を記憶させるバックアップデータの保存領域とを有する書き換え可能な不揮発性メモリ22と、最初の起動時に保存する自データを他のECUに対して送信する指令及び自データの書き換え時に自データを他のECUに対して送信する指令を出すと共に、他のECUから受信したバックアップデータをバックアップデータの保存領域に記憶させる処理部24を備えている。
【解決手段】多重通信線用のバス11を介して相互に接続される複数の電子制御ユニット20を備えた車載用通信システム10であって、各ECU20は、自データの保存領域と、バス11で接続した他の電子制御ユニットの車両情報を記憶させるバックアップデータの保存領域とを有する書き換え可能な不揮発性メモリ22と、最初の起動時に保存する自データを他のECUに対して送信する指令及び自データの書き換え時に自データを他のECUに対して送信する指令を出すと共に、他のECUから受信したバックアップデータをバックアップデータの保存領域に記憶させる処理部24を備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車載用通信システムに関し、詳しくは、多重通信線用のバスを介して相互に接続される複数の電子制御ユニットを備えた車載用通信システムにおいて、各電子制御ユニットが他の電子制御ユニットの不揮発性メモリのデータのバックアップを備えるものである。
【背景技術】
【0002】
近年、車両には、車載電装品を制御する複数の電子制御ユニット(ECU)を多重通信用のバスを介して接続し、相互に通信を行う車載用通信システムが採用されている。
各ECUの不揮発性メモリには、電装品を制御するための各種設定値や車両識別情報を工場出荷時に記憶している。例えば、車載用通信システムを車両診断装置に用いた場合には、車両診断を行うエンジンECU等の車載機器用ECUや外部の管理センター側と通信する通信用ECUに、製造番号などの車両固有の車両識別情報を記憶している。該車載機器用ECUが車両診断を行うと、バスを介して診断結果を受信した通信用ECUは診断結果と共に車両識別情報を外部の管理センター側に送信している。
しかし、ECUの故障などにより車両識別情報が記憶されていたECU自体を交換する場合、新たに接続するECUに車両識別情報を改めて記憶させなくてはならず、作業工程が多くなるという問題がある。
【0003】
そこで、特開平11−255079号公報(特許文献1)には、バスに接続された複数のECUに夫々同一の車両識別情報を記憶させた車両電子制御装置が提案されている。
ECUが故障等により取り替えられるか、新たにバスに接続された場合、該ECUが車両識別情報を記憶していない時には、同じバスに接続された他のECUに車両識別情報の送信要求を出す。新たに接続されたECUは他のECUから受信した該車両識別情報を不揮発性メモリに記憶する。
このように、新たに接続されたECUに車両識別情報が記憶されていなくても他のECUから受信して記憶することができるので、車両に取り付ける前に車両識別情報を記憶させる必要がなくなる。
【0004】
しかし、特許文献1においては、複数のECUは各ECUで共通に使用する車両識別情報を記憶しているが、各ECUに個別に設定される初期設定情報等の車両情報を互いに記憶しているものではない。このため、ECUの不揮発性メモリに異常が発生して車両情報が使用できない場合であっても、車両情報を他のECUから受信することができないという問題がある。
【0005】
また、不揮発性メモリにアクセスできず通信途絶となる故障が発生した場合には、他のECUから車両識別情報を受信しても不揮発性メモリに書き込みができず、ECUは車両識別情報を使用することができないという問題がある。
また、特許文献1には不揮発性メモリのデータが破壊され誤ったデータとなった場合の対応については記載されておらず、破壊された誤ったデータをECUが使用することにより、ECUに接続された電装品が誤動作を起こすという問題がある。
【0006】
【特許文献1】特開平11−255079号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、前記問題に鑑みてなされたもので、多重通信線用のバスを介して相互に接続される複数のECUを備えた車載用通信システムにおいて、各ECUが、他のECUの不揮発性メモリに記憶されたECU毎に異なるデータのバックアップを備えると共に、各ECUの不揮発性メモリに異常が発生した場合であっても、各ECUが自データを修復してECUの誤動作の発生を防ぐことを課題としている。
【課題を解決するための手段】
【0008】
前記課題を解決するため、本発明は、多重通信線用のバスを介して相互に接続される複数の電子制御ユニットを備えた車載用通信システムであって、前記各電子制御ユニットは、
自己の初期設定情報を含む車両情報を記憶する自データの保存領域と、前記バスで接続した他の電子制御ユニットの前記車両情報を記憶するバックアップデータの保存領域とを有する書き換え可能な不揮発性メモリを備えた記憶部と、
最初の起動時に保存する前記自データを他の電子制御ユニットに対して送信する指令及び自データの書き換え時に前記自データを他の電子制御ユニットに対して送信する指令を出すと共に、他の電子制御ユニットから受信した前記バックアップデータを前記バックアップデータの保存領域に記憶させる処理部と、
を備えていることを特徴とする車載用通信システムを提供している。
【0009】
前記構成によれば、工場出荷時など車載用通信システムの全ての電子制御ユニットが最初に起動した時、または、電子制御ユニットの自データをダイアグノーシス等を接続して書き換えた時に、各電子制御ユニットは自己の不揮発性メモリの自データの保存領域に記憶された自データを他の電子制御ユニットに送信すると共に、他の電子制御ユニットのデータであるバックアップデータを他の電子制御ユニットから受信し、自己の不揮発性メモリのバックアップデータの保存領域に記憶している。
このため、各電子制御ユニットは、バスに接続された他の全ての電子制御ユニットの不揮発性メモリのデータをバックアップデータとして互いに記憶することができる。
【0010】
また、電子制御ユニットの不揮発性メモリに記憶された自データは、各電子制御ユニット毎に個別に設定される車両情報であり、該自データを他の電子制御ユニットがバックアップデータとして記憶しているので、自己の不揮発性メモリに異常が発生して自データが使用できない場合においても、他の電子制御ユニットから自データを受信して使用することができる。
【0011】
前記各電子制御ユニットの処理部は、前記自データが記憶された不揮発性メモリのメモリチェックを行うメモリチェック部を備え、該メモリチェック部での異常検出時に、前記他の電子制御ユニットに自データの送信要求を出し、受信した自データを前記不揮発性メモリに保存している自データと書き換えることが好ましい。
【0012】
不揮発性メモリの異常として、処理部が不揮発性メモリからデータの読み出しは可能であるが、データ内容が破壊され誤ったデータとなる異常が発生した場合、メモリチェック部により異常が検知される。このとき、前記処理部は前記他の電子制御ユニットに自データの送信要求を出して自データを受信し、該受信した自データを不揮発性メモリの自データの保存領域に上書きする。
このように、電子制御ユニットは、データ内容が破壊されていない自データを他の電子制御ユニットから受信して不揮発性メモリに保存するので、自己の不揮発性メモリの自データを修復することができる。また、誤ったデータを用いて該電子制御ユニットに接続された電装品を制御することがないため、電装品の誤動作を防ぐことができる。
【0013】
前記各電子制御ユニットの記憶部は揮発性メモリを備え、
前記不揮発性メモリから自データの読み出しが出来ない異常時に、前記処理部は前記他の電子制御ユニットに自データの送信要求を出し、受信した自データを前記揮発性メモリに保存することが好ましい。
【0014】
処理部は、通常の電装品の制御等の処理においては、不揮発性メモリのデータ内容を高速にアクセスできる揮発性メモリにいったん書き込み、該揮発性メモリのデータを用いて処理を行っている。
ここで、不揮発性メモリの異常として、不揮発性メモリ本体が故障し通信途絶となる異常が発生した場合、不揮発性メモリからデータを読み出して揮発性メモリに書き込むことができない。そこで、前記他の電子制御ユニットに自データの送信要求を出し、処理部は受信した自データを揮発性メモリに保存する。
このように、不揮発性メモリが通信途絶となる異常が発生した場合でも、他のECUから受信した自データを揮発性メモリに保存することで、処理部は揮発性メモリに保存された自データを用いて電装品の制御を継続することができる。
【0015】
前記各電子制御ユニットの処理部は、前記他の電子制御ユニットに送信する自データにバージョン番号を付して送信し、前記他の電子制御ユニットへの自データの送信要求に基づいて受信した自データのうち最新のバージョン番号が付された自データを保存することが好ましい。
【0016】
自データにバージョン番号を付して他の電子制御ユニットに送信しているので、各電子制御ユニットは他の電子制御ユニットに自データの送信要求を行った際には、受信した自データと共にバージョン番号を受信することができる。また、他の複数の電子制御ユニットから自データを受信した場合には、電子制御ユニットは該バージョン番号が最新のデータを選択して保存することができる。
また、各電子制御ユニットは他の電子制御ユニットに自データの送信要求を行う際に、先に自データのバージョン番号のみを送信するよう送信要求を出してもよい。受信したバージョン番号のうち最新のバージョン番号を備えた電子制御ユニットを選択して自データの送信要求を行うことができる。
【0017】
前記各電子制御ユニットの処理部は、前記自データの送信要求先の他の電子制御ユニットの優先順位を予め設定していることが好ましい。
他の電子制御ユニットへの送信要求に基づいて受信した自データのうち、バージョン番号が最新の自データが複数ある場合には、予め設定された優先順位を参照して、優先順位の高い電子制御ユニットから送信された自データを保存することができる。
【0018】
前記優先順位は、不揮発性メモリの空き容量の大きい順序または自電子制御ユニットから通信経路が短い順序で予め定めていることが好ましい。
優先順位を不揮発性メモリの空き容量の大きい順序としている場合には、不揮発性メモリから正確にデータを読み出すことができる。
また、優先順位を自電子制御ユニットから通信経路が短い順序としている場合には、バスの断線により自データを受信できなくなるリスクを低減することができる。
【発明の効果】
【0019】
前述したように、本発明の車載用通信システムによれば、工場出荷時など車載用通信システムの全ての電子制御ユニットが最初に起動した時、または、電子制御ユニットの自データをダイアグノーシス等を接続して書き換えた時に、各電子制御ユニットは自己の不揮発性メモリの自データを他の電子制御ユニットに送信すると共に、他の電子制御ユニットのバックアップデータを他の電子制御ユニットから受信して保存しているので、各電子制御ユニットは、バスに接続された他の全ての電子制御ユニットの不揮発性メモリのデータをバックアップデータとして互いに記憶することができる。
また、不揮発性メモリに異常が発生した場合には、前記処理部は前記他の電子制御ユニットに自データの送信要求を出して自データを受信し、該自データを使用することができるため、電装品の制御を継続することができ、電装品の誤動作を防ぐことができる。
【発明を実施するための最良の形態】
【0020】
本発明の実施形態を図面を参照して説明する。
図1乃至図8は本発明の第1実施形態を示す。
本発明の車載用通信システム10は、多重通信線用のバス11を介して相互に接続される複数の電子制御ユニット(ECU)20を備えており、本実施形態では3つのECU20A、20B、20Cを備えている。
各ECU20は自己のEEPROM22の自データを他のECU20に送信すると共に、他のECUのバックアップデータを受信しての自己のEEPROM22に記憶し、互いにデータのバックアップを備えるものである。
【0021】
ECU20の構成について、ECU20Aを例として説明する。なお、ECU20B、20Cも、ECU20Aと同様の構成としている。
ECU20Aはマイコン21と、記憶部の書き換え可能な不揮発性メモリを構成するEEPROM22と、入出力回路23を備えている。
マイコン21は入出力回路23を介してバス11と接続しており、バス11に接続された他のECU20B、20Cと自データおよびバックアップデータの送受信を行っている。
ここで、自データとは自己の初期設定情報を含む車両情報を示し、バックアップデータとは、他のECU20の初期設定情報を含む車両情報であり他のECU20から受信する車両情報を示している。
【0022】
EEPROM22はマイコン21と接続しており、図2に示すように、自データの保存領域22aと、バス11で接続した他のECU20B、20Cの車両情報を記憶させるバックアップデータの保存領域22bを有している。
ECU20Aにおいては、自データの保存領域22aはECUA_DAT領域であり、バックアップデータの保存領域22bはECUB_DAT領域、ECUC_DAT領域である。
また、EEPROM22は自データのバージョン番号を記憶する領域22cと、他のECU20B、20Cのバックアップデータのバージョン番号を記憶する領域22dを有している。ECU20Aにおいては、自データのバージョン番号を記憶する領域22cはECUA_VERSION領域であり、他のECU20のバックアップデータのバージョン番号を記憶する領域22dはECUB_VERSION領域、ECUC_VERSION領域である。
【0023】
マイコン21は処理部を構成するCPU24、記憶部の揮発性メモリを構成するRAM25、ROM26、入出力ポート27を備えている。
CPU24は保存する自データを他の電子制御ユニットに対して送信する指令を出す共に、他の電子制御ユニットから受信したバックアップデータをバックアップデータの保存領域22bに記憶させている。
また、EEPROM22の自データの異常時には、前記他の電子制御ユニットに自データの送信要求を出し、他のECU20B、20Cに記憶された自データを受信している。
【0024】
さらに、CPU24はEEPROM22のメモリチェック部24aを備えている。メモリチェック部24aはEEPROM22の先頭アドレスから最終アドレスまでメモリ内容を加算し、加算結果であるチェックサム値が基準値と一致すればEEPROM22は正常であると判定し、一致しなければEEPROM22に異常があると判定するチェックサム演算を行っている。
さらにまた、CPU24はEEPROM22の空き容量を算出して他のECU20に送信すると共に、他のECU20から他のECU20のEEPROM22の空き容量情報を受信し、これらの空き容量情報から自データの送信要求先を決定するECU20の優先順位表31を作成している。
【0025】
RAM25は、図3(A)に示すように他のECU20の空き容量を受信して記憶するECU_MEMORY領域25aと、全てのECU20の空き容量から求めた優先順位表31を記憶するMEMORY_LIST領域25bと、ECU20を起動した直後のチェックサム値であってメモリチェックの基準値となる値を記憶するOLD_CHECKSUM領域25cと、OLD_CHECKSUM領域25cの算出以降に算出したチェックサム値を記憶するNEW_CHECKSUM領域25dと、EEPROM22の自データの保存領域22aに記憶された自データと同じデータが記憶され、CPU24が自データを使用する際にアクセスするBACKUP_DAT領域25eを備えている。
【0026】
また、ECU_MEMORY領域25aは、詳細には図3(B)に示すように、ECU20Aの場合は他のECU20B、20Cの空き容量が記憶されている。なお、ECU20Bの場合はECU20A、20Cの空き容量、ECU20Cの場合はECU20A、20Bの空き容量が記憶されている。
また、MEMORY_LIST領域25bは、詳細には図3(C)に示すように、自ECU20を含めた車載用通信システム10に接続されているECU20を優先順位の高い順に並べた優先順位表31を記憶している。
ROM26は、CPU24の動作のためのアプリケーションプログラム等を記憶している。
【0027】
次に、本発明の車載用通信システム10の動作について説明する。
まず、ECU20の起動時の動作の概略をECU20Aを例にして図4のフローチャートを用いて説明する。
ステップS10ではチェックサム値算出を行っている。CPU24のメモリチェック部24aはメモリチェックに用いるチェックサム値の基準値を算出する。
ステップS11では、優先順位表31の作成を行っている。ECU20Aは他のECU20B、20Cに向けてEEPROM22の空き容量の情報の送信要求を出し、各ECU20の空き容量の多いECU20が優先となるように優先順位表31の作成を行う。
【0028】
ステップS12では、データのバージョン番号を取得する。ECU20AのEEPROM22に記憶された自データのバージョン番号を他のECU20B、20Cに送信すると共に、他のECU20B、20Cからバックアップデータのバージョン番号を受信して記憶する。
ステップS13では、バックアップデータを相互に取得する。ECU20Aは自データを他のECU20B、20Cに送信すると共に、他のECU20B、20Cのバックアップデータを受信し、EEPROM22に記憶する。
【0029】
前記ステップの詳細について説明する。
図5はステップS10のチェックサム値の算出の詳細を示すフローチャートである。該チェックサム値の算出は各ECU20A、20B、20Cの起動後に各ECU20のCPU24が行っている。
ステップS20では、ECU20の起動後、CPU24のメモリチェック部24aがメモリチェックに用いるチェックサム値の基準値を算出している。
ステップS21では、算出したチェックサム値をRAM25のOLD_CHECKSUM領域25cに書き込んでいる。
【0030】
図6はステップS11の優先順位表31の作成の詳細を示すフローチャートである。
ステップS31では、ECU20Aは他のECU20B、20CにEEPROM22の空き容量情報の送信要求を送信している。
ステップS32では、ECU20B、20Cは該送信要求を受信している。
ステップS33では、ECU20B、20CはEEPROM22B、22Cの空き容量をチェックしている。
ステップS34では、ECU20B、20Cは空き容量情報をECU20Aに送信している。
【0031】
ステップS35では、ECU20AはECU20B、20CからEEPROM22の空き容量情報を受信している。
ステップS36では、ECU20Aは、バス11に接続された全てのECU20から空き容量情報を受信したかを確認している。受信していない場合はステップS36を繰り返す。受信した場合はステップS37に進む。
ステップS37では、ECU20AのCPU24は受信した他のECU20B、20CのEEPROM22の空き容量情報およびECU20Aの空き容量情報を比較し、空き容量の大きい順に優先順位を付け優先順位表31とする。
ステップS38では、RAM25のMEMORY_LIST領域25bに図3(C)に示す表を保存している。
ステップS39では、該優先順位表31を他のECU20に送信している。
【0032】
ステップS40では、ECU20B、20CはECU20Aから優先順位表31を受信している。
ステップS41では、ECU20B、20Cは受信した優先順位表31をRAM25のMEMORY_LIST領域25bに保存している。
【0033】
優先順位表31は各ECU20のEEPROM22の空き容量情報から作成しているので、どのECU20が作成しても同じ優先順位表31となる。
本実施形態では、ECU20Aのみが優先順位表31を作成して他のECU20B、20Cに送信し、ECU20B、20CはECU20Aが作成した優先順位表31をRAM25に記憶しているが、ECU20BまたはECU20Cが優先順位表31を作成し、他のECU20に送信してもよい。
また、ECU20A、20B、20Cが夫々EEPROM22の空き容量情報の送信要求を出して優先順位表31を作成し、他のECU20に送信してもよい。この場合、各ECU20は他のECU20から優先順位表31を受信するたびにMEMORY_LIST領域25bに優先順位表31を上書きし、最後に送信された優先順位表31を用いる。
【0034】
また、優先順位表31はEEPROM22の空き容量から求めるのではなく、自ECUからの通信経路が短いECUを優先とするように優先順位表31を定めていてもよい。この場合、各ECUによって優先順位表31が異なるため、各ECUには工場出荷時に予め優先順位表31を記憶させておく。
【0035】
図7はステップS12のバージョン番号を相互に取得する動作の詳細なフローチャートである。図7はECU20Aがバージョン番号を送信する例を説明しているが、ECU20B、20CもECU20Aと同様の動作を行っており、各ECU20A、20B、20Cは相互に他のECU20のバージョン番号を記憶している。
【0036】
ステップS50はECU20AがEEPROM22の自データのバージョン番号を自データのバージョン番号を記憶する領域22cであるECUA_VERSION領域から読み出し、他の全てのECU20B、20Cに送信している。
ステップS51では、ECU20B、20CはECU20Aからバージョン番号を受信している。
ステップS52では、ECU20B、20CはECU20Aのバージョン番号を、ECU20B、20Cから見て他のECUのバージョン番号を記憶する領域22dであるECUA_VERSION領域に記憶している。
【0037】
図8はステップS13のバックアップデータを相互に取得する動作の詳細なフローチャートである。図8はECU20Aが自データを他のECU20B、20Cに送信する例を説明しているが、ECU20B、20CもECU20Aと同様の動作を行っており、各ECU20A、20B、20Cは相互に他のECU20のバックアップデータを記憶している。
【0038】
ステップS60はECU20AがEEPROM22の自データを、自データの保存領域22aであるECUA_DAT領域から読み出し、他の全てのECU20B、20Cに送信している。
ステップS61では、ECU20B、20CはECU20Aから、ECU20Aのデータ(ECU20B、20Cから見るとバックアップデータ、ECU20Aから見ると自データ)を受信している。
ステップS62では、ECU20B、20CはECU20AのデータをEEPROM22のECUA_DAT領域に記憶している。
【0039】
前記構成によれば、本発明の車載用通信システム10によれば、工場出荷時など車載用通信システムの全てのECU20が最初に起動した時、または、ECU20の自データをダイアグノーシス等を接続して書き換えた時に、各ECU20は自己のEEPROM22の自データを他のECU20に送信すると共に、他のECU20のバックアップデータを他のECU20から受信して保存しているので、各ECU20は、バス11に接続された他の全てのECU20のEEPROM22のデータをバックアップデータとして互いに記憶することができる。
【0040】
なお、書き換え可能な不揮発性メモリはEEPROM22に限定されるものではなく、マスクROM、PEPROM、EPROM、フラッシュメモリ等であってもよい。
また、本実施形態では1本のバス11に複数のECU20が接続されおり、互いにデータの送受信を行っているが、ゲートウェイを介して他のバス11に接続されたECU20との間でバックアップデータの送受信を行ってもよい。
【0041】
図9は本発明の第2実施形態を示す。
第2実施形態は、第1実施形態で車載用通信システム10を構成する各ECU20が夫々互いにEEPROM22のバックアップデータを記憶した状態となった後に、EEPROM22のデータの内容を意図的に書き換えた場合の動作である。EEPROM22はダイアグノーシス等を接続してディーラーなどで書き換えが可能である。
例としてECU20AのEEPROM22のデータを書き換えた場合について、図9のフローチャートを用いて説明する。
【0042】
ステップS70では、ECU20AのEEPROM22の自ノードの保存領域22aであるECUA_DAT領域に、新しいデータが上書きされている。
ステップS71では、EEPROM22の自データのバージョン番号の記憶領域22cであるECUA_VERSION領域のバージョン番号を+1する。
ステップS72では、CPU24のメモリチェック部24aが定期的にメモリチェックを行っている場合、メモリチェックの動作を停止する。
【0043】
ステップS73、S74は第1実施形態のステップS10、S11と同様の動作である。
ステップS73では、ECU20AのEEPROM22はデータが書き換わっているため、メモリチェックの基準値となるチェックサム値を再び演算している。
ステップS74では、ECU20AのEEPROM22の空き容量も変化しているため、ECU20Aの新たな空き容量情報を用いて優先順位表31を作成している。
ステップS75では、ECU20Aは新たなバージョン番号を他のECU20B、20Cに送信する。なお、第1実施形態のステップS12と同様に、他のECU20B、20Cからバージョン番号を受信してもよい。
ステップS76では、ECU20Aは新たな自データを他のECU20B、20Cに送信する。なお、第1実施形態のステップS13と同様に、他のECU20B、20CからECU20B、20Cのデータを受信してもよい。ステップS76により、ECU20Aの新たなデータを他のECU20B、20Cも記憶し、バックアップデータを相互に取得している。
ステップS77では、ステップS72で停止した定期的なメモリチェックを再開している。
【0044】
前記構成によれば、車載用通信システム10を構成する各ECU20が夫々互いにEEPROM22のバックアップデータを記憶した状態となった後に、EEPROM22のデータの内容を意図的に書き換えた場合であっても、自動的に各ECU20間で互いにバックアップデータを記憶し直すことができる。
なお、他の構成および作用効果は第1実施形態と同様のため、同一の符号を付して説明を省略する。
【0045】
なお、本実施形態ではステップS70でECU20AのEEPROM22を新たなデータに書き換えた直後からステップS71以降の処理を行っている。しかし、ステップS70でEEPROM22を新たなデータに書き換えた後にステップS71とS72を行い、S73のチェックサム演算以降の処理はエンジン始動後に行ってもよい。
【0046】
図10は本発明の第3実施形態を示す。
第3実施形態は、第1実施形態で車載用通信システム10を構成する各ECU20が夫々互いにEEPROM22のバックアップデータを記憶している状態となった後に、EEPROM22からデータの読み出しは可能であるが、ノイズの混入やECU20のリセット時の不具合等によりデータ内容が破壊され誤ったデータとなる異常が発生した場合の動作である。
例としてECU20AのEEPROM22のデータが破壊された場合について、図10のフローチャートを用いて説明する。
【0047】
ステップS80では、EEPROM22のメモリチェックを行っている。ECU20AのCPU24のメモリチェック部24aは定期的にEEPROM22のチェックサム演算を行ってチェックサム値をNEW_CHECKSUM領域25dに保存し、基準値であるOLD_CHECKSUM領域25cの値と比較している。NEW_CHECKSUM領域25dとOLD_CHECKSUM領域25cの値が一致しない場合は、EEPROM22に異常が発生しているとしてステップS81に進む。値が一致する場合はEEPROM22は正常であるとしてステップS80を繰り返す。
【0048】
ステップS81では、ECU20Aは他のECU20B、20Cに自データの送信要求を行う。他のECU20B、20CのECUA_DAT領域にはECU20AのEEPROM22の自データが記憶されている。
ステップS82では、ECU20B、20CはECU20Aからデータの送信要求を受信している。
【0049】
ステップS83では、ECU20B、20Cは自己のEEPROM22のECUA_DAT領域に記憶されたECU20Aのデータを、ECUA_VERSION領域に記憶されたバージョン番号と共にECU20Aに送信する。
ステップS84では、ECU20Aは各ECU20B、20Cから自データ及びバージョン番号を受信している。
ステップS85では、ECU20AのCPU24はECU20B、20Cから受信したバージョン番号を比較し、複数のECU20から最新のバージョン番号を受信したか否かを判断している。複数のECU20から受信している場合はステップS86に進み、1つのECU20からのみ最新のバージョン番号を受信している場合はステップS87に進む。
【0050】
ステップS86では、RAM25のMEMORY_LIST領域25bから優先順位表31を参照し、最新のバージョン番号を送信した複数のECU20のうち優先順位の高いECU20を特定している。
ステップS87では、受信した自データをEEPROM22のECUA_DAT領域に上書きして保存している。
【0051】
前記構成によれば、ノイズの混入やECU20のリセット時の不具合等により、EEPROM22のデータ内容が破壊され誤ったデータとなっている場合であっても、他のECU20からバックアップデータを受信してEEPROM22に上書き保存することで、EEPROM22に正常なデータを復旧させることができる。
なお、他の構成および作用効果は第1実施形態と同様のため、同一の符号を付して説明を省略する。
【0052】
図11は本発明の第4実施形態を示す。
第4実施形態は、第1実施形態で車載用通信システム10を構成する各ECU20が夫々互いにEEPROM22のバックアップデータを記憶している状態となった後に、EEPROM22本体が故障しEEPROM22からデータの読み出しができず通信途絶となる異常が発生した場合の動作である。
例としてECU20AのCPU24がEEPROM22との通信途絶となった場合について、図11のフローチャートを用いて説明する。
【0053】
ステップS90では、CPU24は定期的にEEPROM22と通信を行い、故障が発生しているか否かを検知している。CPU24がEEPROM22にアクセスできず通信を行うことができない場合はステップS91に進む。故障を検知していない場合はステップS90を繰り返す。なお、車体が衝突した場合にCPU24がEEPROM22の故障の発生を検知してもよい。
ステップS91からS96では、ECU20Aは他のECU20B、20CからECU20Aの自データを受信して、バージョン番号や優先順位表31から保存する自データを送信したECU20を定めている。ステップS91からS96は第3実施形態のステップS81からS86と同様の動作であるため説明を省略する。
【0054】
ステップS97では前記ECU20が送信した自データをRAM25のBACKUP_DAT領域25eに保存する。
ステップS98では、BACKUP_DAT領域25eに保存した自データを用いて、CPU24が行う所定の機能の設定値をRAM25上に復旧する。
【0055】
前記構成によれば、EEPROM22本体が故障しEEPROM22からデータの読み出しができず通信途絶となる異常が発生した場合であっても、他のECU20からEEPROM22のバックアップデータを受信してRAM25に保存することで、CPU24は従来EEPROM22に記憶されていた設定値をRAM25から読み出すことができ、CPU24は所定の機能を実行することができる。
なお、他の構成および作用効果は第1実施形態と同様のため、同一の符号を付して説明を省略する。
【図面の簡単な説明】
【0056】
【図1】本発明である車載用通信システムの第1実施形態を示す構成図である。
【図2】EEPROMの構成の説明図である。
【図3】(A)はRAMの構成の説明図であり、(B)はRAMのECU_MEMORY領域の構成図、(C)はRAMのMEMORY_LIST領域の構成図である。
【図4】電子制御ユニットの動作の概略を示すフローチャートである。
【図5】チェックサム値算出のフローチャートである。
【図6】優先順位表作成のフローチャートである。
【図7】バージョン番号の送受信のフローチャートである。
【図8】自データ及びバックアップデータの送受信のフローチャートである。
【図9】第2実施形態を示すフローチャートである。
【図10】第3実施形態を示すフローチャートである。
【図11】第4実施形態を示すフローチャートである。
【符号の説明】
【0057】
10 車載用通信システム
20(20A〜20C) 電子制御ユニット
21 マイコン
22 EEPROM
22a 自データの保存領域
22b バックアップデータの保存領域
22c 自データのバージョン番号の記憶領域
22d バックアップデータのバージョン番号の記憶領域
23 入出力回路
24 CPU
24a メモリチェック部
25 RAM
25e BACKUP_DAT領域
31 優先順位表
【技術分野】
【0001】
本発明は、車載用通信システムに関し、詳しくは、多重通信線用のバスを介して相互に接続される複数の電子制御ユニットを備えた車載用通信システムにおいて、各電子制御ユニットが他の電子制御ユニットの不揮発性メモリのデータのバックアップを備えるものである。
【背景技術】
【0002】
近年、車両には、車載電装品を制御する複数の電子制御ユニット(ECU)を多重通信用のバスを介して接続し、相互に通信を行う車載用通信システムが採用されている。
各ECUの不揮発性メモリには、電装品を制御するための各種設定値や車両識別情報を工場出荷時に記憶している。例えば、車載用通信システムを車両診断装置に用いた場合には、車両診断を行うエンジンECU等の車載機器用ECUや外部の管理センター側と通信する通信用ECUに、製造番号などの車両固有の車両識別情報を記憶している。該車載機器用ECUが車両診断を行うと、バスを介して診断結果を受信した通信用ECUは診断結果と共に車両識別情報を外部の管理センター側に送信している。
しかし、ECUの故障などにより車両識別情報が記憶されていたECU自体を交換する場合、新たに接続するECUに車両識別情報を改めて記憶させなくてはならず、作業工程が多くなるという問題がある。
【0003】
そこで、特開平11−255079号公報(特許文献1)には、バスに接続された複数のECUに夫々同一の車両識別情報を記憶させた車両電子制御装置が提案されている。
ECUが故障等により取り替えられるか、新たにバスに接続された場合、該ECUが車両識別情報を記憶していない時には、同じバスに接続された他のECUに車両識別情報の送信要求を出す。新たに接続されたECUは他のECUから受信した該車両識別情報を不揮発性メモリに記憶する。
このように、新たに接続されたECUに車両識別情報が記憶されていなくても他のECUから受信して記憶することができるので、車両に取り付ける前に車両識別情報を記憶させる必要がなくなる。
【0004】
しかし、特許文献1においては、複数のECUは各ECUで共通に使用する車両識別情報を記憶しているが、各ECUに個別に設定される初期設定情報等の車両情報を互いに記憶しているものではない。このため、ECUの不揮発性メモリに異常が発生して車両情報が使用できない場合であっても、車両情報を他のECUから受信することができないという問題がある。
【0005】
また、不揮発性メモリにアクセスできず通信途絶となる故障が発生した場合には、他のECUから車両識別情報を受信しても不揮発性メモリに書き込みができず、ECUは車両識別情報を使用することができないという問題がある。
また、特許文献1には不揮発性メモリのデータが破壊され誤ったデータとなった場合の対応については記載されておらず、破壊された誤ったデータをECUが使用することにより、ECUに接続された電装品が誤動作を起こすという問題がある。
【0006】
【特許文献1】特開平11−255079号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、前記問題に鑑みてなされたもので、多重通信線用のバスを介して相互に接続される複数のECUを備えた車載用通信システムにおいて、各ECUが、他のECUの不揮発性メモリに記憶されたECU毎に異なるデータのバックアップを備えると共に、各ECUの不揮発性メモリに異常が発生した場合であっても、各ECUが自データを修復してECUの誤動作の発生を防ぐことを課題としている。
【課題を解決するための手段】
【0008】
前記課題を解決するため、本発明は、多重通信線用のバスを介して相互に接続される複数の電子制御ユニットを備えた車載用通信システムであって、前記各電子制御ユニットは、
自己の初期設定情報を含む車両情報を記憶する自データの保存領域と、前記バスで接続した他の電子制御ユニットの前記車両情報を記憶するバックアップデータの保存領域とを有する書き換え可能な不揮発性メモリを備えた記憶部と、
最初の起動時に保存する前記自データを他の電子制御ユニットに対して送信する指令及び自データの書き換え時に前記自データを他の電子制御ユニットに対して送信する指令を出すと共に、他の電子制御ユニットから受信した前記バックアップデータを前記バックアップデータの保存領域に記憶させる処理部と、
を備えていることを特徴とする車載用通信システムを提供している。
【0009】
前記構成によれば、工場出荷時など車載用通信システムの全ての電子制御ユニットが最初に起動した時、または、電子制御ユニットの自データをダイアグノーシス等を接続して書き換えた時に、各電子制御ユニットは自己の不揮発性メモリの自データの保存領域に記憶された自データを他の電子制御ユニットに送信すると共に、他の電子制御ユニットのデータであるバックアップデータを他の電子制御ユニットから受信し、自己の不揮発性メモリのバックアップデータの保存領域に記憶している。
このため、各電子制御ユニットは、バスに接続された他の全ての電子制御ユニットの不揮発性メモリのデータをバックアップデータとして互いに記憶することができる。
【0010】
また、電子制御ユニットの不揮発性メモリに記憶された自データは、各電子制御ユニット毎に個別に設定される車両情報であり、該自データを他の電子制御ユニットがバックアップデータとして記憶しているので、自己の不揮発性メモリに異常が発生して自データが使用できない場合においても、他の電子制御ユニットから自データを受信して使用することができる。
【0011】
前記各電子制御ユニットの処理部は、前記自データが記憶された不揮発性メモリのメモリチェックを行うメモリチェック部を備え、該メモリチェック部での異常検出時に、前記他の電子制御ユニットに自データの送信要求を出し、受信した自データを前記不揮発性メモリに保存している自データと書き換えることが好ましい。
【0012】
不揮発性メモリの異常として、処理部が不揮発性メモリからデータの読み出しは可能であるが、データ内容が破壊され誤ったデータとなる異常が発生した場合、メモリチェック部により異常が検知される。このとき、前記処理部は前記他の電子制御ユニットに自データの送信要求を出して自データを受信し、該受信した自データを不揮発性メモリの自データの保存領域に上書きする。
このように、電子制御ユニットは、データ内容が破壊されていない自データを他の電子制御ユニットから受信して不揮発性メモリに保存するので、自己の不揮発性メモリの自データを修復することができる。また、誤ったデータを用いて該電子制御ユニットに接続された電装品を制御することがないため、電装品の誤動作を防ぐことができる。
【0013】
前記各電子制御ユニットの記憶部は揮発性メモリを備え、
前記不揮発性メモリから自データの読み出しが出来ない異常時に、前記処理部は前記他の電子制御ユニットに自データの送信要求を出し、受信した自データを前記揮発性メモリに保存することが好ましい。
【0014】
処理部は、通常の電装品の制御等の処理においては、不揮発性メモリのデータ内容を高速にアクセスできる揮発性メモリにいったん書き込み、該揮発性メモリのデータを用いて処理を行っている。
ここで、不揮発性メモリの異常として、不揮発性メモリ本体が故障し通信途絶となる異常が発生した場合、不揮発性メモリからデータを読み出して揮発性メモリに書き込むことができない。そこで、前記他の電子制御ユニットに自データの送信要求を出し、処理部は受信した自データを揮発性メモリに保存する。
このように、不揮発性メモリが通信途絶となる異常が発生した場合でも、他のECUから受信した自データを揮発性メモリに保存することで、処理部は揮発性メモリに保存された自データを用いて電装品の制御を継続することができる。
【0015】
前記各電子制御ユニットの処理部は、前記他の電子制御ユニットに送信する自データにバージョン番号を付して送信し、前記他の電子制御ユニットへの自データの送信要求に基づいて受信した自データのうち最新のバージョン番号が付された自データを保存することが好ましい。
【0016】
自データにバージョン番号を付して他の電子制御ユニットに送信しているので、各電子制御ユニットは他の電子制御ユニットに自データの送信要求を行った際には、受信した自データと共にバージョン番号を受信することができる。また、他の複数の電子制御ユニットから自データを受信した場合には、電子制御ユニットは該バージョン番号が最新のデータを選択して保存することができる。
また、各電子制御ユニットは他の電子制御ユニットに自データの送信要求を行う際に、先に自データのバージョン番号のみを送信するよう送信要求を出してもよい。受信したバージョン番号のうち最新のバージョン番号を備えた電子制御ユニットを選択して自データの送信要求を行うことができる。
【0017】
前記各電子制御ユニットの処理部は、前記自データの送信要求先の他の電子制御ユニットの優先順位を予め設定していることが好ましい。
他の電子制御ユニットへの送信要求に基づいて受信した自データのうち、バージョン番号が最新の自データが複数ある場合には、予め設定された優先順位を参照して、優先順位の高い電子制御ユニットから送信された自データを保存することができる。
【0018】
前記優先順位は、不揮発性メモリの空き容量の大きい順序または自電子制御ユニットから通信経路が短い順序で予め定めていることが好ましい。
優先順位を不揮発性メモリの空き容量の大きい順序としている場合には、不揮発性メモリから正確にデータを読み出すことができる。
また、優先順位を自電子制御ユニットから通信経路が短い順序としている場合には、バスの断線により自データを受信できなくなるリスクを低減することができる。
【発明の効果】
【0019】
前述したように、本発明の車載用通信システムによれば、工場出荷時など車載用通信システムの全ての電子制御ユニットが最初に起動した時、または、電子制御ユニットの自データをダイアグノーシス等を接続して書き換えた時に、各電子制御ユニットは自己の不揮発性メモリの自データを他の電子制御ユニットに送信すると共に、他の電子制御ユニットのバックアップデータを他の電子制御ユニットから受信して保存しているので、各電子制御ユニットは、バスに接続された他の全ての電子制御ユニットの不揮発性メモリのデータをバックアップデータとして互いに記憶することができる。
また、不揮発性メモリに異常が発生した場合には、前記処理部は前記他の電子制御ユニットに自データの送信要求を出して自データを受信し、該自データを使用することができるため、電装品の制御を継続することができ、電装品の誤動作を防ぐことができる。
【発明を実施するための最良の形態】
【0020】
本発明の実施形態を図面を参照して説明する。
図1乃至図8は本発明の第1実施形態を示す。
本発明の車載用通信システム10は、多重通信線用のバス11を介して相互に接続される複数の電子制御ユニット(ECU)20を備えており、本実施形態では3つのECU20A、20B、20Cを備えている。
各ECU20は自己のEEPROM22の自データを他のECU20に送信すると共に、他のECUのバックアップデータを受信しての自己のEEPROM22に記憶し、互いにデータのバックアップを備えるものである。
【0021】
ECU20の構成について、ECU20Aを例として説明する。なお、ECU20B、20Cも、ECU20Aと同様の構成としている。
ECU20Aはマイコン21と、記憶部の書き換え可能な不揮発性メモリを構成するEEPROM22と、入出力回路23を備えている。
マイコン21は入出力回路23を介してバス11と接続しており、バス11に接続された他のECU20B、20Cと自データおよびバックアップデータの送受信を行っている。
ここで、自データとは自己の初期設定情報を含む車両情報を示し、バックアップデータとは、他のECU20の初期設定情報を含む車両情報であり他のECU20から受信する車両情報を示している。
【0022】
EEPROM22はマイコン21と接続しており、図2に示すように、自データの保存領域22aと、バス11で接続した他のECU20B、20Cの車両情報を記憶させるバックアップデータの保存領域22bを有している。
ECU20Aにおいては、自データの保存領域22aはECUA_DAT領域であり、バックアップデータの保存領域22bはECUB_DAT領域、ECUC_DAT領域である。
また、EEPROM22は自データのバージョン番号を記憶する領域22cと、他のECU20B、20Cのバックアップデータのバージョン番号を記憶する領域22dを有している。ECU20Aにおいては、自データのバージョン番号を記憶する領域22cはECUA_VERSION領域であり、他のECU20のバックアップデータのバージョン番号を記憶する領域22dはECUB_VERSION領域、ECUC_VERSION領域である。
【0023】
マイコン21は処理部を構成するCPU24、記憶部の揮発性メモリを構成するRAM25、ROM26、入出力ポート27を備えている。
CPU24は保存する自データを他の電子制御ユニットに対して送信する指令を出す共に、他の電子制御ユニットから受信したバックアップデータをバックアップデータの保存領域22bに記憶させている。
また、EEPROM22の自データの異常時には、前記他の電子制御ユニットに自データの送信要求を出し、他のECU20B、20Cに記憶された自データを受信している。
【0024】
さらに、CPU24はEEPROM22のメモリチェック部24aを備えている。メモリチェック部24aはEEPROM22の先頭アドレスから最終アドレスまでメモリ内容を加算し、加算結果であるチェックサム値が基準値と一致すればEEPROM22は正常であると判定し、一致しなければEEPROM22に異常があると判定するチェックサム演算を行っている。
さらにまた、CPU24はEEPROM22の空き容量を算出して他のECU20に送信すると共に、他のECU20から他のECU20のEEPROM22の空き容量情報を受信し、これらの空き容量情報から自データの送信要求先を決定するECU20の優先順位表31を作成している。
【0025】
RAM25は、図3(A)に示すように他のECU20の空き容量を受信して記憶するECU_MEMORY領域25aと、全てのECU20の空き容量から求めた優先順位表31を記憶するMEMORY_LIST領域25bと、ECU20を起動した直後のチェックサム値であってメモリチェックの基準値となる値を記憶するOLD_CHECKSUM領域25cと、OLD_CHECKSUM領域25cの算出以降に算出したチェックサム値を記憶するNEW_CHECKSUM領域25dと、EEPROM22の自データの保存領域22aに記憶された自データと同じデータが記憶され、CPU24が自データを使用する際にアクセスするBACKUP_DAT領域25eを備えている。
【0026】
また、ECU_MEMORY領域25aは、詳細には図3(B)に示すように、ECU20Aの場合は他のECU20B、20Cの空き容量が記憶されている。なお、ECU20Bの場合はECU20A、20Cの空き容量、ECU20Cの場合はECU20A、20Bの空き容量が記憶されている。
また、MEMORY_LIST領域25bは、詳細には図3(C)に示すように、自ECU20を含めた車載用通信システム10に接続されているECU20を優先順位の高い順に並べた優先順位表31を記憶している。
ROM26は、CPU24の動作のためのアプリケーションプログラム等を記憶している。
【0027】
次に、本発明の車載用通信システム10の動作について説明する。
まず、ECU20の起動時の動作の概略をECU20Aを例にして図4のフローチャートを用いて説明する。
ステップS10ではチェックサム値算出を行っている。CPU24のメモリチェック部24aはメモリチェックに用いるチェックサム値の基準値を算出する。
ステップS11では、優先順位表31の作成を行っている。ECU20Aは他のECU20B、20Cに向けてEEPROM22の空き容量の情報の送信要求を出し、各ECU20の空き容量の多いECU20が優先となるように優先順位表31の作成を行う。
【0028】
ステップS12では、データのバージョン番号を取得する。ECU20AのEEPROM22に記憶された自データのバージョン番号を他のECU20B、20Cに送信すると共に、他のECU20B、20Cからバックアップデータのバージョン番号を受信して記憶する。
ステップS13では、バックアップデータを相互に取得する。ECU20Aは自データを他のECU20B、20Cに送信すると共に、他のECU20B、20Cのバックアップデータを受信し、EEPROM22に記憶する。
【0029】
前記ステップの詳細について説明する。
図5はステップS10のチェックサム値の算出の詳細を示すフローチャートである。該チェックサム値の算出は各ECU20A、20B、20Cの起動後に各ECU20のCPU24が行っている。
ステップS20では、ECU20の起動後、CPU24のメモリチェック部24aがメモリチェックに用いるチェックサム値の基準値を算出している。
ステップS21では、算出したチェックサム値をRAM25のOLD_CHECKSUM領域25cに書き込んでいる。
【0030】
図6はステップS11の優先順位表31の作成の詳細を示すフローチャートである。
ステップS31では、ECU20Aは他のECU20B、20CにEEPROM22の空き容量情報の送信要求を送信している。
ステップS32では、ECU20B、20Cは該送信要求を受信している。
ステップS33では、ECU20B、20CはEEPROM22B、22Cの空き容量をチェックしている。
ステップS34では、ECU20B、20Cは空き容量情報をECU20Aに送信している。
【0031】
ステップS35では、ECU20AはECU20B、20CからEEPROM22の空き容量情報を受信している。
ステップS36では、ECU20Aは、バス11に接続された全てのECU20から空き容量情報を受信したかを確認している。受信していない場合はステップS36を繰り返す。受信した場合はステップS37に進む。
ステップS37では、ECU20AのCPU24は受信した他のECU20B、20CのEEPROM22の空き容量情報およびECU20Aの空き容量情報を比較し、空き容量の大きい順に優先順位を付け優先順位表31とする。
ステップS38では、RAM25のMEMORY_LIST領域25bに図3(C)に示す表を保存している。
ステップS39では、該優先順位表31を他のECU20に送信している。
【0032】
ステップS40では、ECU20B、20CはECU20Aから優先順位表31を受信している。
ステップS41では、ECU20B、20Cは受信した優先順位表31をRAM25のMEMORY_LIST領域25bに保存している。
【0033】
優先順位表31は各ECU20のEEPROM22の空き容量情報から作成しているので、どのECU20が作成しても同じ優先順位表31となる。
本実施形態では、ECU20Aのみが優先順位表31を作成して他のECU20B、20Cに送信し、ECU20B、20CはECU20Aが作成した優先順位表31をRAM25に記憶しているが、ECU20BまたはECU20Cが優先順位表31を作成し、他のECU20に送信してもよい。
また、ECU20A、20B、20Cが夫々EEPROM22の空き容量情報の送信要求を出して優先順位表31を作成し、他のECU20に送信してもよい。この場合、各ECU20は他のECU20から優先順位表31を受信するたびにMEMORY_LIST領域25bに優先順位表31を上書きし、最後に送信された優先順位表31を用いる。
【0034】
また、優先順位表31はEEPROM22の空き容量から求めるのではなく、自ECUからの通信経路が短いECUを優先とするように優先順位表31を定めていてもよい。この場合、各ECUによって優先順位表31が異なるため、各ECUには工場出荷時に予め優先順位表31を記憶させておく。
【0035】
図7はステップS12のバージョン番号を相互に取得する動作の詳細なフローチャートである。図7はECU20Aがバージョン番号を送信する例を説明しているが、ECU20B、20CもECU20Aと同様の動作を行っており、各ECU20A、20B、20Cは相互に他のECU20のバージョン番号を記憶している。
【0036】
ステップS50はECU20AがEEPROM22の自データのバージョン番号を自データのバージョン番号を記憶する領域22cであるECUA_VERSION領域から読み出し、他の全てのECU20B、20Cに送信している。
ステップS51では、ECU20B、20CはECU20Aからバージョン番号を受信している。
ステップS52では、ECU20B、20CはECU20Aのバージョン番号を、ECU20B、20Cから見て他のECUのバージョン番号を記憶する領域22dであるECUA_VERSION領域に記憶している。
【0037】
図8はステップS13のバックアップデータを相互に取得する動作の詳細なフローチャートである。図8はECU20Aが自データを他のECU20B、20Cに送信する例を説明しているが、ECU20B、20CもECU20Aと同様の動作を行っており、各ECU20A、20B、20Cは相互に他のECU20のバックアップデータを記憶している。
【0038】
ステップS60はECU20AがEEPROM22の自データを、自データの保存領域22aであるECUA_DAT領域から読み出し、他の全てのECU20B、20Cに送信している。
ステップS61では、ECU20B、20CはECU20Aから、ECU20Aのデータ(ECU20B、20Cから見るとバックアップデータ、ECU20Aから見ると自データ)を受信している。
ステップS62では、ECU20B、20CはECU20AのデータをEEPROM22のECUA_DAT領域に記憶している。
【0039】
前記構成によれば、本発明の車載用通信システム10によれば、工場出荷時など車載用通信システムの全てのECU20が最初に起動した時、または、ECU20の自データをダイアグノーシス等を接続して書き換えた時に、各ECU20は自己のEEPROM22の自データを他のECU20に送信すると共に、他のECU20のバックアップデータを他のECU20から受信して保存しているので、各ECU20は、バス11に接続された他の全てのECU20のEEPROM22のデータをバックアップデータとして互いに記憶することができる。
【0040】
なお、書き換え可能な不揮発性メモリはEEPROM22に限定されるものではなく、マスクROM、PEPROM、EPROM、フラッシュメモリ等であってもよい。
また、本実施形態では1本のバス11に複数のECU20が接続されおり、互いにデータの送受信を行っているが、ゲートウェイを介して他のバス11に接続されたECU20との間でバックアップデータの送受信を行ってもよい。
【0041】
図9は本発明の第2実施形態を示す。
第2実施形態は、第1実施形態で車載用通信システム10を構成する各ECU20が夫々互いにEEPROM22のバックアップデータを記憶した状態となった後に、EEPROM22のデータの内容を意図的に書き換えた場合の動作である。EEPROM22はダイアグノーシス等を接続してディーラーなどで書き換えが可能である。
例としてECU20AのEEPROM22のデータを書き換えた場合について、図9のフローチャートを用いて説明する。
【0042】
ステップS70では、ECU20AのEEPROM22の自ノードの保存領域22aであるECUA_DAT領域に、新しいデータが上書きされている。
ステップS71では、EEPROM22の自データのバージョン番号の記憶領域22cであるECUA_VERSION領域のバージョン番号を+1する。
ステップS72では、CPU24のメモリチェック部24aが定期的にメモリチェックを行っている場合、メモリチェックの動作を停止する。
【0043】
ステップS73、S74は第1実施形態のステップS10、S11と同様の動作である。
ステップS73では、ECU20AのEEPROM22はデータが書き換わっているため、メモリチェックの基準値となるチェックサム値を再び演算している。
ステップS74では、ECU20AのEEPROM22の空き容量も変化しているため、ECU20Aの新たな空き容量情報を用いて優先順位表31を作成している。
ステップS75では、ECU20Aは新たなバージョン番号を他のECU20B、20Cに送信する。なお、第1実施形態のステップS12と同様に、他のECU20B、20Cからバージョン番号を受信してもよい。
ステップS76では、ECU20Aは新たな自データを他のECU20B、20Cに送信する。なお、第1実施形態のステップS13と同様に、他のECU20B、20CからECU20B、20Cのデータを受信してもよい。ステップS76により、ECU20Aの新たなデータを他のECU20B、20Cも記憶し、バックアップデータを相互に取得している。
ステップS77では、ステップS72で停止した定期的なメモリチェックを再開している。
【0044】
前記構成によれば、車載用通信システム10を構成する各ECU20が夫々互いにEEPROM22のバックアップデータを記憶した状態となった後に、EEPROM22のデータの内容を意図的に書き換えた場合であっても、自動的に各ECU20間で互いにバックアップデータを記憶し直すことができる。
なお、他の構成および作用効果は第1実施形態と同様のため、同一の符号を付して説明を省略する。
【0045】
なお、本実施形態ではステップS70でECU20AのEEPROM22を新たなデータに書き換えた直後からステップS71以降の処理を行っている。しかし、ステップS70でEEPROM22を新たなデータに書き換えた後にステップS71とS72を行い、S73のチェックサム演算以降の処理はエンジン始動後に行ってもよい。
【0046】
図10は本発明の第3実施形態を示す。
第3実施形態は、第1実施形態で車載用通信システム10を構成する各ECU20が夫々互いにEEPROM22のバックアップデータを記憶している状態となった後に、EEPROM22からデータの読み出しは可能であるが、ノイズの混入やECU20のリセット時の不具合等によりデータ内容が破壊され誤ったデータとなる異常が発生した場合の動作である。
例としてECU20AのEEPROM22のデータが破壊された場合について、図10のフローチャートを用いて説明する。
【0047】
ステップS80では、EEPROM22のメモリチェックを行っている。ECU20AのCPU24のメモリチェック部24aは定期的にEEPROM22のチェックサム演算を行ってチェックサム値をNEW_CHECKSUM領域25dに保存し、基準値であるOLD_CHECKSUM領域25cの値と比較している。NEW_CHECKSUM領域25dとOLD_CHECKSUM領域25cの値が一致しない場合は、EEPROM22に異常が発生しているとしてステップS81に進む。値が一致する場合はEEPROM22は正常であるとしてステップS80を繰り返す。
【0048】
ステップS81では、ECU20Aは他のECU20B、20Cに自データの送信要求を行う。他のECU20B、20CのECUA_DAT領域にはECU20AのEEPROM22の自データが記憶されている。
ステップS82では、ECU20B、20CはECU20Aからデータの送信要求を受信している。
【0049】
ステップS83では、ECU20B、20Cは自己のEEPROM22のECUA_DAT領域に記憶されたECU20Aのデータを、ECUA_VERSION領域に記憶されたバージョン番号と共にECU20Aに送信する。
ステップS84では、ECU20Aは各ECU20B、20Cから自データ及びバージョン番号を受信している。
ステップS85では、ECU20AのCPU24はECU20B、20Cから受信したバージョン番号を比較し、複数のECU20から最新のバージョン番号を受信したか否かを判断している。複数のECU20から受信している場合はステップS86に進み、1つのECU20からのみ最新のバージョン番号を受信している場合はステップS87に進む。
【0050】
ステップS86では、RAM25のMEMORY_LIST領域25bから優先順位表31を参照し、最新のバージョン番号を送信した複数のECU20のうち優先順位の高いECU20を特定している。
ステップS87では、受信した自データをEEPROM22のECUA_DAT領域に上書きして保存している。
【0051】
前記構成によれば、ノイズの混入やECU20のリセット時の不具合等により、EEPROM22のデータ内容が破壊され誤ったデータとなっている場合であっても、他のECU20からバックアップデータを受信してEEPROM22に上書き保存することで、EEPROM22に正常なデータを復旧させることができる。
なお、他の構成および作用効果は第1実施形態と同様のため、同一の符号を付して説明を省略する。
【0052】
図11は本発明の第4実施形態を示す。
第4実施形態は、第1実施形態で車載用通信システム10を構成する各ECU20が夫々互いにEEPROM22のバックアップデータを記憶している状態となった後に、EEPROM22本体が故障しEEPROM22からデータの読み出しができず通信途絶となる異常が発生した場合の動作である。
例としてECU20AのCPU24がEEPROM22との通信途絶となった場合について、図11のフローチャートを用いて説明する。
【0053】
ステップS90では、CPU24は定期的にEEPROM22と通信を行い、故障が発生しているか否かを検知している。CPU24がEEPROM22にアクセスできず通信を行うことができない場合はステップS91に進む。故障を検知していない場合はステップS90を繰り返す。なお、車体が衝突した場合にCPU24がEEPROM22の故障の発生を検知してもよい。
ステップS91からS96では、ECU20Aは他のECU20B、20CからECU20Aの自データを受信して、バージョン番号や優先順位表31から保存する自データを送信したECU20を定めている。ステップS91からS96は第3実施形態のステップS81からS86と同様の動作であるため説明を省略する。
【0054】
ステップS97では前記ECU20が送信した自データをRAM25のBACKUP_DAT領域25eに保存する。
ステップS98では、BACKUP_DAT領域25eに保存した自データを用いて、CPU24が行う所定の機能の設定値をRAM25上に復旧する。
【0055】
前記構成によれば、EEPROM22本体が故障しEEPROM22からデータの読み出しができず通信途絶となる異常が発生した場合であっても、他のECU20からEEPROM22のバックアップデータを受信してRAM25に保存することで、CPU24は従来EEPROM22に記憶されていた設定値をRAM25から読み出すことができ、CPU24は所定の機能を実行することができる。
なお、他の構成および作用効果は第1実施形態と同様のため、同一の符号を付して説明を省略する。
【図面の簡単な説明】
【0056】
【図1】本発明である車載用通信システムの第1実施形態を示す構成図である。
【図2】EEPROMの構成の説明図である。
【図3】(A)はRAMの構成の説明図であり、(B)はRAMのECU_MEMORY領域の構成図、(C)はRAMのMEMORY_LIST領域の構成図である。
【図4】電子制御ユニットの動作の概略を示すフローチャートである。
【図5】チェックサム値算出のフローチャートである。
【図6】優先順位表作成のフローチャートである。
【図7】バージョン番号の送受信のフローチャートである。
【図8】自データ及びバックアップデータの送受信のフローチャートである。
【図9】第2実施形態を示すフローチャートである。
【図10】第3実施形態を示すフローチャートである。
【図11】第4実施形態を示すフローチャートである。
【符号の説明】
【0057】
10 車載用通信システム
20(20A〜20C) 電子制御ユニット
21 マイコン
22 EEPROM
22a 自データの保存領域
22b バックアップデータの保存領域
22c 自データのバージョン番号の記憶領域
22d バックアップデータのバージョン番号の記憶領域
23 入出力回路
24 CPU
24a メモリチェック部
25 RAM
25e BACKUP_DAT領域
31 優先順位表
【特許請求の範囲】
【請求項1】
多重通信線用のバスを介して相互に接続される複数の電子制御ユニットを備えた車載用通信システムであって、前記各電子制御ユニットは、
自己の初期設定情報を含む車両情報を記憶する自データの保存領域と、前記バスで接続した他の電子制御ユニットの前記車両情報を記憶するバックアップデータの保存領域とを有する書き換え可能な不揮発性メモリを備えた記憶部と、
最初の起動時に保存する前記自データを他の電子制御ユニットに対して送信する指令及び自データの書き換え時に前記自データを他の電子制御ユニットに対して送信する指令を出すと共に、他の電子制御ユニットから受信した前記バックアップデータを前記バックアップデータの保存領域に記憶させる処理部と、
を備えていることを特徴とする車載用通信システム。
【請求項2】
前記各電子制御ユニットの処理部は、前記自データが記憶された不揮発性メモリのメモリチェックを行うメモリチェック部を備え、該メモリチェック部での異常検出時に、前記他の電子制御ユニットに自データの送信要求を出し、受信した自データを前記不揮発性メモリに保存している自データと書き換える請求項1に記載の車載用通信システム。
【請求項3】
前記各電子制御ユニットの記憶部は揮発性メモリを備え、
前記不揮発性メモリから自データの読み出しが出来ない異常時に、前記処理部は前記他の電子制御ユニットに自データの送信要求を出し、受信した自データを前記揮発性メモリに保存する請求項1または請求項2に記載の車載用通信システム。
【請求項4】
前記各電子制御ユニットの処理部は、前記他の電子制御ユニットに送信する自データにバージョン番号を付して送信し、前記他の電子制御ユニットへの自データの送信要求に基づいて受信した自データのうち最新のバージョン番号が付された自データを保存する請求項2または請求項3に記載の車載用通信システム。
【請求項5】
前記各電子制御ユニットの処理部は、前記自データの送信要求先の他の電子制御ユニットの優先順位を予め設定している請求項2乃至請求項4のいずれか1項に記載の車載用通信システム。
【請求項6】
前記優先順位は、不揮発性メモリの空き容量の大きい順序または自電子制御ユニットから通信経路が短い順序で予め定めている請求項5に記載の車載用通信システム。
【請求項1】
多重通信線用のバスを介して相互に接続される複数の電子制御ユニットを備えた車載用通信システムであって、前記各電子制御ユニットは、
自己の初期設定情報を含む車両情報を記憶する自データの保存領域と、前記バスで接続した他の電子制御ユニットの前記車両情報を記憶するバックアップデータの保存領域とを有する書き換え可能な不揮発性メモリを備えた記憶部と、
最初の起動時に保存する前記自データを他の電子制御ユニットに対して送信する指令及び自データの書き換え時に前記自データを他の電子制御ユニットに対して送信する指令を出すと共に、他の電子制御ユニットから受信した前記バックアップデータを前記バックアップデータの保存領域に記憶させる処理部と、
を備えていることを特徴とする車載用通信システム。
【請求項2】
前記各電子制御ユニットの処理部は、前記自データが記憶された不揮発性メモリのメモリチェックを行うメモリチェック部を備え、該メモリチェック部での異常検出時に、前記他の電子制御ユニットに自データの送信要求を出し、受信した自データを前記不揮発性メモリに保存している自データと書き換える請求項1に記載の車載用通信システム。
【請求項3】
前記各電子制御ユニットの記憶部は揮発性メモリを備え、
前記不揮発性メモリから自データの読み出しが出来ない異常時に、前記処理部は前記他の電子制御ユニットに自データの送信要求を出し、受信した自データを前記揮発性メモリに保存する請求項1または請求項2に記載の車載用通信システム。
【請求項4】
前記各電子制御ユニットの処理部は、前記他の電子制御ユニットに送信する自データにバージョン番号を付して送信し、前記他の電子制御ユニットへの自データの送信要求に基づいて受信した自データのうち最新のバージョン番号が付された自データを保存する請求項2または請求項3に記載の車載用通信システム。
【請求項5】
前記各電子制御ユニットの処理部は、前記自データの送信要求先の他の電子制御ユニットの優先順位を予め設定している請求項2乃至請求項4のいずれか1項に記載の車載用通信システム。
【請求項6】
前記優先順位は、不揮発性メモリの空き容量の大きい順序または自電子制御ユニットから通信経路が短い順序で予め定めている請求項5に記載の車載用通信システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−254484(P2008−254484A)
【公開日】平成20年10月23日(2008.10.23)
【国際特許分類】
【出願番号】特願2007−96189(P2007−96189)
【出願日】平成19年4月2日(2007.4.2)
【出願人】(395011665)株式会社オートネットワーク技術研究所 (2,668)
【出願人】(000183406)住友電装株式会社 (6,135)
【出願人】(000002130)住友電気工業株式会社 (12,747)
【公開日】平成20年10月23日(2008.10.23)
【国際特許分類】
【出願日】平成19年4月2日(2007.4.2)
【出願人】(395011665)株式会社オートネットワーク技術研究所 (2,668)
【出願人】(000183406)住友電装株式会社 (6,135)
【出願人】(000002130)住友電気工業株式会社 (12,747)
[ Back to top ]