(57)【要約】【課題】同種のＥＣＵをリプログラミングする際に、制御プログラムの不整合を誤って検出することを抑制することができる組込制御システムを提供する。【解決手段】本発明に係る組込制御システムにおいて、各組込制御装置は、車内ネットワークを介して接続されている他の組込制御装置のリプログラミングが完了するまでは、制御プログラムが整合しているか否かについての診断を一時中断する。【選択図】図２
2015205555.tif 000002
【特許請求の範囲】
【請求項１】
電気機器の動作を制御する組込制御装置を複数有する組込制御システムであって、
各前記組込制御装置はそれぞれ、
制御プログラムを格納する記憶装置、
前記制御プログラムを実行することにより前記制御を実施する演算装置、
他の前記組込制御装置との間で車内ネットワークを介して通信する通信部、
を備え、
前記通信部は、前記制御プログラムを書き換えるよう指示する命令を受け取り、
前記演算装置は、前記命令にしたがって前記制御プログラムを書き換えた後、前記車内ネットワークを介して接続されている他の前記組込制御装置が前記制御プログラムを書き換え終えるまでは、各前記組込制御装置間において前記制御プログラムが整合しているか否かをチェックする診断を一時中断する
ことを特徴とする組込制御システム。
【請求項２】
前記記憶装置は、各前記組込制御装置を区分するグループ番号を格納し、
前記演算装置は、前記命令にしたがって前記制御プログラムを書き換えた後、同一の前記グループ番号を有する他の前記組込制御装置の全てが前記制御プログラムを書き換え終えるまでは、前記診断を一時中断する
ことを特徴とする請求項１記載の組込制御システム。
【請求項３】
前記演算装置は、前記命令にしたがって前記制御プログラムを書き換えた後、同一の前記グループ番号を有する他の前記組込制御装置との間で通信して前記制御プログラムを書き換え終える処理の状態についての応答を受け取ることにより、前記制御プログラムを書き換え終えたか否かを判断する
ことを特徴とする請求項２記載の組込制御システム。
【請求項４】
前記記憶装置は、同一の前記グループ番号を有する他の前記組込制御装置の台数をあらかじめ格納しており、
前記演算装置は、同一の前記グループ番号を有する他の前記組込制御装置が再起動した旨の通信データを前記台数と同じ回数受信すると、同一の前記グループ番号を有する他の前記組込制御装置の全てが前記制御プログラムを書き換え終えたと判断する
ことを特徴とする請求項２記載の組込制御システム。
【請求項５】
前記組込制御システムは、前記制御プログラムを前記組込制御装置に対して転送するとともに前記命令を前記組込制御装置に対して送信することにより前記制御プログラムを書き換えるリプログラミング装置を有し、
前記リプログラミング装置は、同一の前記グループ番号を有する全ての前記組込制御装置について前記制御プログラムを書き換えると、前記制御プログラムを書き換えた各前記組込制御装置に対してその旨を通知し、
前記演算装置は、前記リプログラミング装置より前記通知を受け取ると、前記診断を再開する
ことを特徴とする請求項２記載の組込制御システム。
【請求項６】
前記組込制御システムは、第１および第２の前記組込制御装置を有し、
前記第１および第２の組込制御装置は、それぞれ車両の運転席のシートベルトの動作と助手席のシートベルトの動作を制御し、
前記第１および第２の組込制御装置が備える前記記憶装置は、前記シートベルトの動作を制御する処理を記述した同一の前記制御プログラムを格納する
ことを特徴とする請求項１記載の組込制御システム。
【請求項７】
前記演算装置は、各前記組込制御装置の前記制御プログラムのバージョン番号が互いに所定の関係にあるか否かをチェックすることにより、前記診断を実施する
ことを特徴とする請求項１記載の組込制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組込制御システムに関するものである。
【背景技術】
【０００２】
近年、車両の電子制御化が進み、車両はエンジンコントローラやパワーステアリングコントローラなどの複数のＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）を搭載している。これら複数のＥＣＵは、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの通信線によって互いに接続され、各ＥＣＵ間で互いに情報を送受信しながら制御を実施している。
【０００３】
ＥＣＵのＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などが格納している制御プログラムは、リプログラミング装置によって書き換えることができる。リプログラミングを実施している間はそのＥＣＵは動作することができない。したがって、ＥＣＵ間で相互に他のＥＣＵと通信することができるか否かをチェックしている場合、リプログラミング実施中のＥＣＵと通信することができないので、誤って通信異常と判断される可能性がある。
【０００４】
下記特許文献１記載のリプログラミングシステムにおいて、リプログラミング装置はリプログラミングを開始する前にその旨を各ＥＣＵに対してＣＡＮを経由して通知する。通知を受け取ったＥＣＵのうちリプログラミング対象でないものは、リプログラミングが完了するまで通信を一時停止するとともに、監視制御も停止する。これにより、リプログラミング実施中のＥＣＵを誤って通信異常と判断することを回避している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１２６２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＥＣＵによって制御される同種の制御対象を１つの車両が複数備える場合がある。例えばサイドミラーを動かすＥＣＵは、左右それぞれのＥＣＵに対応して２つ設けられる場合がある。また最近の車両においてはシートベルトリトラクタが電子制御化されている場合もある。この場合、各座席（例えば運転席と助手席）のシートベルトに対応して、シートベルトを制御するＥＣＵをそれぞれ設ける場合がある。このようなＥＣＵをリプログラミングする際には、同種のＥＣＵを複数同時にリプログラミングする必要が生じることがある。制御対象が同種である場合、各ＥＣＵの制御プログラムは処理内容やバージョン番号が同一であることが望ましいからである。
【０００７】
上記特許文献１においては、リプログラミングを実施する際にＥＣＵ間の監視制御をいったん停止した後、リプログラミングが完了したＥＣＵについては通信と監視制御を再開している。しかし、上述のように同種の制御対象を制御する複数のＥＣＵをリプログラミングする場合、同一の制御プログラムを実行するいずれかのＥＣＵについてリプログラミングが完了したとしても、その他のＥＣＵが未完了である場合、本来同一の制御プログラムを備えているべき各ＥＣＵが、互いに異なる制御プログラムを瞬時的に備えることになる。そうすると、ＥＣＵ間で例えば制御プログラムのバージョン番号などを相互にチェックしている場合、リプログラミングが完了したＥＣＵと完了していないＥＣＵとの間で相互に異常を誤検出してしまう可能性がある。
【０００８】
本発明は、上記のような課題に鑑みてなされたものであり、同種のＥＣＵをリプログラミングする際に、制御プログラムの不整合を誤って検出することを抑制することができる組込制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る組込制御システムにおいて、各組込制御装置は、車内ネットワークを介して接続されている他の組込制御装置のリプログラミングが完了するまでは、制御プログラムが整合しているか否かについての診断を一時中断する。
【発明の効果】
【００１０】
本発明に係る組込制御システムによれば、リプログラミングによって制御プログラムの不整合を誤って検出することを抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１に係る組込制御システム１０００の構成図である。
【図２】ＣＰＵ１１０の内部状態を説明する状態遷移図である。
【図３】組込制御システム１０００がリプログラミングを実施する過程を説明するシーケンス図である。
【発明を実施するための形態】
【００１２】
＜実施の形態１＞
図１は、本発明の実施形態１に係る組込制御システム１０００の構成図である。組込制御システム１０００は、車両の動作を制御するシステムであり、組込制御装置１００と車内ネットワーク２００を有する。ここでは組込制御装置１００の例として、シートベルトリトラクタとして動作するＥＣＵを例示する。したがって組込制御システム１０００は、同様の構成を備えた組込制御装置１００を複数（図１においては２つ）備え、各組込制御装置１００は車内ネットワーク２００を介して相互に通信することができる。
【００１３】
組込制御装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０、フラッシュＲＯＭ１２０を備える。フラッシュＲＯＭ１２０は制御プログラム１２１を格納する。制御プログラム１２１は、シートベルトの動作を制御することによりシートベルトリトラクタとしての機能を提供する処理を実装している。ＣＰＵ１１０が制御プログラム１２１を実行することにより、組込制御装置１００はシートベルトリトラクタとして動作する。組込制御装置１００はその他、車内ネットワーク２００を介して他の装置と通信するためのインターフェースを適宜備え、ＣＰＵ１１０はそのインターフェースを介して他装置と通信することができる。
【００１４】
車両をメンテナンスする作業者は、組込制御システム１０００に対して保守作業を実施する際に、リプログラミング装置３００を車内ネットワーク２００へ接続する。リプログラミング装置３００は作業者の操作にしたがって、組込制御装置１００に対してリプログラミング開始を指示する命令を発行するとともに、制御プログラム１２１の更新版をその組込制御装置１００に対して送信する。
【００１５】
図２は、ＣＰＵ１１０の内部状態を説明する状態遷移図である。本発明において、リプログラミング装置３００は、同種の組込制御装置を同時にリプログラミングするとき、それら同種の組込制御装置をグループ分けし、グループに対してリプログラミングを実施する。ＣＰＵ１１０はこれに対応して、図２に示す３つの内部状態を有する。
【００１６】
リプログラミング装置３００は組込制御装置１００に対して、グループリプログラミングを開始する旨の命令を送信する。ここでいうグループとは、同種の組込制御装置をまとめたものであり、例えば各座席のシートベルトを制御する組込制御装置１００のように、同一の制御プログラムを備えた組込制御装置のグループである。ＣＰＵ１１０は、リプログラミング装置３００から同命令を受信すると、グループリプログラミング終了待ち状態となる。この状態は、同一のグループに属する全ての組込制御装置１００についてリプログラミングが完了するのを待機する状態である。ＣＰＵ１１０は、本状態にある間は同一グループに属する他の組込制御装置１００との間で、制御プログラム１２１が互いに整合しているか否かについての診断を一時中断する。
【００１７】
リプログラミング装置３００は、グループリプログラミング開始命令を送信した後、同一グループに属する各組込制御装置１００に対して順次、リプログラミングを開始するよう指示する。その指示を受け取ったＣＰＵ１１０は、リプログラミング装置３００から制御プログラム１２１の更新版を受け取って更新する。ＣＰＵ１１０は、自端末のリプログラミングを実施している間は、リプログラミング中状態となる。ＣＰＵ１１０は、本状態にある間はリプログラミング以外の動作を停止する。ＣＰＵ１１０は、リプログラミングが完了するとその旨をリプログラミング装置３００へ通知するとともに、グループリプログラミング終了待ち状態へ遷移する。
【００１８】
ＣＰＵ１１０は、同一グループに属する全ての組込制御装置１００のリプログラミングが完了したことを検出すると、通常状態（すなわちリプログラミングを開始する前の状態）に遷移する。具体的な検出手法については後述する。
【００１９】
図３は、組込制御システム１０００がリプログラミングを実施する過程を説明するシーケンス図である。記載の便宜上、２つの組込制御装置１００をそれぞれ第１ＥＣＵおよび第２ＥＣＵと表記した。以下図３の各ステップについて説明する。
【００２０】
（図３：ステップＳ３００）
第１および第２ＥＣＵは、リプログラミングを開始する前（すなわち図２の通常状態）において、相互に通信して制御プログラム１２１が互いに整合しているか否かを周期的にチェックしている。制御プログラム１２１が互いに整合しているか否かは、例えばバージョン番号が同一であるか否かを確認することによりチェックすることができるが、これに限られるものではない。例えば制御プログラム１２１のハッシュ値を求めてその値が互いに一致するか否かを確認することにより、制御プログラム１２１が互いに同一であるか否かをチェックすることができる。あるいは、例えば運転席用の制御プログラム１２１と助手席用の制御プログラム１２１はバージョン番号の末尾の添字のみが異なる、などのような所定の対応関係がある場合は、その対応関係を満たしているか否かをチェックすることもできる。
【００２１】
（図３：ステップＳ３０１）
リプログラミング装置３００は、リプログラミングを実施しようとしている各ＥＣＵに対して、グループリプログラミングを開始する旨を通知する。併せて、制御プログラミング１２１の整合性を相互にチェックするための診断処理を一時中断するよう指示する。その指示を受け取ったＣＰＵ１１０は、図２のグループリプログラミング終了待ち状態に遷移する。制御プログラミング１２１の整合性を相互にチェックするための診断処理以外の通信については、必ずしも中断する必要はない。
【００２２】
（図３：ステップＳ３０１：補足）
リプログラミング装置３００は本ステップにおいて、同一のグループに属する各ＥＣＵに対して上記指示を送信する必要がある。各ＥＣＵが属するグループは、そのＥＣＵの制御対象に対応する。例えばＣＡＮネットワークにおいては、ＣＡＮＩＤを用いて各ＥＣＵのグループを指定することができる。ＣＰＵ１１０は、自身が属するグループＩＤをフラッシュＲＯＭ１２０または図示しないＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの記憶装置に格納しておくことができる。
【００２３】
（図３：ステップＳ３０２）
リプログラミング装置３００は、まず第１ＥＣＵに対してリプログラミングを開始するよう指示する。第１ＥＣＵのＣＰＵ１１０は、その指示を受け取ると、リプログラミング装置３００から制御プログラム１２１の更新版を受け取り、フラッシュＲＯＭ１２０に書き込む。ＣＰＵ１１０はこの間、図２のリプログラミング中状態となる。
【００２４】
（図３：ステップＳ３０３）
第１ＥＣＵのＣＰＵ１１０は、リプログラミング装置３００に対して、リプログラミングが完了した旨を通知する。これにより第１ＥＣＵのＣＰＵ１１０は、図２のグループリプログラミング終了待ち状態となる。
【００２５】
（図３：ステップＳ３０４）
リプログラミング装置３００の操作者は、第１ＥＣＵのリプログラミングを完全に反映するため、第１ＥＣＵを再起動する。例えば、リプログラミング装置３００を介してその旨の命令を第１ＥＣＵに対して発行し、第１ＥＣＵのＣＰＵ１１０がその命令にしたがって第１ＥＣＵを再起動してもよいし、車両のイグニッションスイッチをいったんＯＦＦして再びＯＮすることにより、組込制御システム１０００全体を再起動してもよい。いずれの場合であっても、第１ＥＣＵのＣＰＵ１１０はグループリプログラミング終了待ち状態を維持する。例えば、ＣＰＵ１１０が状態遷移する毎に、現在の状態を表すフラグをＣＰＵ１１０からフラッシュＲＯＭ１２０に書き込んでこれを保持することにより、これを実現することができる。
【００２６】
（図３：ステップＳ３０５〜Ｓ３０７）
リプログラミング装置３００は、第２ＥＣＵに対してステップＳ３０２と同様にリプログラミング開始を指示する（Ｓ３０５）。第２ＥＣＵのＣＰＵ１１０は第１ＥＣＵと同様にリプログラミングを実施し、完了した旨をリプログラミング装置３００へ通知する（Ｓ３０６）。操作者は第１ＥＣＵと同様に第２ＥＣＵを再起動する（Ｓ３０７）。
【００２７】
（図３：ステップＳ３０８）
リプログラミング装置３００は、同一グループに属する全ての組込制御装置１００（ここでは第１および第２ＥＣＵ）についてリプログラミングが完了すると、その旨を第１および第２ＥＣＵに対して通知する。各ＥＣＵのＣＰＵ１１０はその通知を受け取ると、図２の通常状態へ遷移する。リプログラミング装置３００から各ＥＣＵに対してグループリプログラミング完了を通知する以外の手段により各ＥＣＵがグループリプログラミング完了を把握する手法としては、例えば以下のようなものが考えられる。
【００２８】
（図３：ステップＳ３０８：変形例）
各ＥＣＵが再起動して動作を開始するとき、初期化パケットを車内ネットワーク２００に対して発信する。各ＥＣＵのリプログラミングを完了する毎に必ずそのＥＣＵを再起動するというルールを定めておけば、初期化パケットを受信した回数をカウントすることによってリプログラミングが完了したＥＣＵの台数を各ＥＣＵのＣＰＵ１１０が把握することができる。そこで、同一グループに属するＥＣＵの台数をあらかじめフラッシュＲＯＭ１２０内に格納しておき、グループリプログラミング終了待ち状態の間に初期化パケットを受信した回数がその台数（あるいは自端末を除く台数）に達した時点で、ＣＰＵ１１０はグループリプログラミングが完了したと判断することができる。本手法は、後述するようにリプログラミング装置３００からグループリプログラミング完了を通知する手法と併用することもできる。
【００２９】
＜実施の形態１：まとめ＞
以上のように、本実施形態１に係る組込制御システム１０００において、組込制御装置１００は、同一グループに属する全ての組込制御装置１００についてリプログラミングが完了するまでは、他の組込制御装置１００との間で制御プログラム１２１の整合性診断を一時中断する。これにより、同種の制御対象を制御する組込制御装置１００がリプログラミングの過程において一時的に互いに異なる制御プログラム１２１を備えることとなっても、これを誤って不整合と判断することを回避できる。
【００３０】
また本実施形態１において、ＣＰＵ１１０は、各ＥＣＵが再起動するとき発信するパケットの個数をカウントすることにより、同一グループに属する全ての組込制御装置１００がリプログラミング完了したか否かを把握することができる。これにより、例えばリプログラミング装置３００がステップＳ３０８において発信する通知が失敗した場合などにおいて、制御プログラム１２１の整合性診断を一時停止したままになることを防ぐことができる。
【００３１】
＜実施の形態２＞
実施形態１においては、リプログラミング装置３００の操作者はリプログラミングを完了するため組込制御装置１００または組込制御システム１０００全体を再起動することを説明した。より簡易的な手順としてこれら再起動プロセスを省略することもできる。ただしその場合は、組込制御装置１００が再起動したことを示す初期化パケットをカウントすることによりリプログラミングが完了した組込制御装置１００の台数を把握することはできないので、他の手段を講じる必要がある。
【００３２】
実施形態１においては、グループリプログラミングが完了した旨の通知をリプログラミング装置３００から各組込制御装置１００に対して送信することを説明した。これに代えて、同一グループに属する各組込制御装置１００が相互にリプログラミングが完了したか否かを確認することにより、グループリプログラミングが完了したか否かを組込制御装置１００自身（すなわちＣＰＵ１１０）が判断することもできる。具体的には以下のような手法が考えられる。これら手法を用いることにより、リプログラミング装置３００から各組込制御装置１００に対してＳ３０８の通知を送信することができない、またはこれを省略する場合においても、実施形態１と同様の効果を発揮することができる。
【００３３】
（組込制御装置１００がグループリプログラミング完了を判断する手法その１）
ステップＳ３０１において、リプログラミング装置３００は各組込制御装置１００に対して制御プログラミング１２１の整合性診断を一時中断するように指示するが、それより前のステップＳ３００において各組込制御装置１００が実施している相互通信そのものは中断する必要はない。すなわちこの相互通信は、リプログラミング過程においても継続させることができる。そこで各組込制御装置１００のＣＰＵ１１０は、この相互通信において自身の状態（図２に示した各状態）を他装置に対して通知する。これにより、相互通信の相手方同士において、他装置の状態を把握することができる。
【００３４】
（組込制御装置１００がグループリプログラミング完了を判断する手法その２）
ＣＰＵ１１０は、自端末のリプログラミングが完了してグループリプログラミング終了待ち状態に移行した後、同一グループに属する他の組込制御装置１００のリプログラミングが完了したか否かを個別に問い合わせる。これにより、各組込制御装置１００は他装置の状態を把握することができる。
【００３５】
（組込制御装置１００がグループリプログラミング完了を判断する手法：補足）
上記２手法を採用する場合において、同一のグループに属する全ての組込制御装置１００がリプログラミング完了したか否かを各組込制御装置１００のＣＰＵ１１０が判断するためには、同一グループに属する組込制御装置１００のＩＤや台数などの値をあらかじめ各組込制御装置１００のフラッシュＲＯＭなどに格納しておけばよい。
【００３６】
＜実施の形態３＞
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。例えば以下のような変形例が考えられる。
【００３７】
実施形態１〜２で説明した手法は、車両以外の機器を制御する組込制御システムにおいても適用することができる。この場合、車両のイグニッションスイッチをＯＮ／ＯＦＦすることに代えて、機器全体の電源などをＯＮ／ＯＦＦする必要があると考えられる。
【００３８】
実施形態１〜２においては、組込制御装置１００はシートベルトの巻き取りを制御することを説明したが、その他の電気機器を制御する組込制御装置１００においても同様の手法を適用することができる。
【００３９】
ＣＰＵ１１０が制御プログラム１２１を更新する処理、図２に示す各状態、および制御プログラム１２１が整合しているか否かをチェックする機能は、別の制御プログラムとして実装することもできるし、ＣＰＵ１１０本体の機能としてハードウェア上に実装することもできる。
【符号の説明】
【００４０】
１００：組込制御装置、１１０：ＣＰＵ、１２０：フラッシュＲＯＭ、１２１：制御プログラム、２００：車内ネットワーク、３００：リプログラミング装置、１０００：組込制御システム。
【図１】
2015205555.tif 000003
【図２】
2015205555.tif 000004
【図３】
2015205555.tif 000005