(57)【特許請求の範囲】
【請求項１】
車両用電子制御装置であり、通信バスによって他の車両用電子制御装置に接続されており、
通信バスとの間で通信を行う通信部と、
制御対象機器に駆動指令を出力する駆動部と、
通信部と駆動部に接続されており、異常発生時に異常信号を出力するとともに、動作チェック処理時にチェック用異常信号を出力する演算制御部と、
演算制御部が異常信号を出力した時に、通信部の通信処理と駆動部の駆動処理を禁止する禁止部と、
演算制御部が出力した異常信号がチェック用異常信号である場合、禁止部による駆動処理の禁止はそのまま維持させつつ通信処理の禁止を解除する通信許可部と、
を有する車両用電子制御装置。
【請求項２】
前記通信許可部は、
演算制御部の動作開始時からの異常信号の出力回数をカウントする計数部と、
その計数値を所定値と比較する比較部を備えており、
その比較結果によって、チェック用異常信号かその他の異常信号かを判別することを特徴とする請求項１の車両用電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用電子制御装置に関するものである。特に、通信バスによって他の車両用電子制御装置に接続されているとともに、制御対象機器に駆動指令を出力することによって制御対象機器を制御しながら駆動する車両用電子制御装置に関するものである。
【背景技術】
【０００２】
車両の電子化が進み、様々な車両用機器が様々な車両用電子制御装置によって制御されている。例えば、ブレーキ用電子制御装置によってブレーキが制御され、変速機用電子制御装置によって変速機が制御されている。このときに、例えば、ブレーキ用電子制御装置は、変速機用電子制御装置の制御状態を入力する必要があり、変速機用電子制御装置は、ブレーキ用電子制御装置の制御状態を入力する必要がある。そこで、様々な車両用電子制御装置を通信バスによって接続し、様々な車両用電子制御装置の間で通信可能としたシステムが構築されている。
このシステムで使用する各々の車両用電子制御装置は、通信バスによって他の車両用電子制御装置に接続されており、各々の車両用電子制御装置が、通信バスとの間で通信を行う通信部と、制御対象機器（例えばブレーキあるいは変速機）に駆動指令を出力することによって制御対象機器を制御しながら駆動する駆動部と、演算制御部を備えている。演算制御部は、通信部と駆動部に接続されており、制御対象機器に出力する駆動指令のもととなるデータを演算したり、演算結果等を通信バスに発信したり、他の車両用電子制御装置が出力しているデータを通信バスから受信する。
【０００３】
演算制御部の動作は完全には安定しておらず、異常となることがある。そこで、演算制御部には、正常に動作しているのか異常に動作しているのかを診断し、異常発生時には異常信号を出力する機能が設けられている。例えば、ＣＰＵから監視装置にパルスが定期的に送られるようにプログラムしておき、一定の時間以上パルスが途絶すると異常となったとして異常信号を出力する機能が設けられていることが多い。そのために、ＷＤＴ（ウォッチドッグタイマ）が利用されることが多い。演算制御部に異常が発生すれば、システムを停止するか、あるいはその異常から復帰する処理を実行することによって正常動作に復帰させる。
【０００４】
ＷＤＴ等によって演算制御部に異常が発生したことがわかり、演算制御部が異常信号を出力した時には、他の車両用電子制御装置との通信が正常に実行できないため、通信処理を禁止する必要がある。そこで、車両用電子制御装置には、通信禁止部が用意されていることが多い。通信禁止部は、演算制御部が異常信号を出力した時に、通信部の通信処理を禁止する。これによって、異常な通信が続行されることを禁止する。
【０００５】
上記のために種々の技術が開発されており、例えば特許文献１は、ＷＤＴによってＣＰＵや通信コントローラに異常が発生したか否かを監視し、異常が発生した時には通信コントローラの通信処理を禁止する一方、ＣＰＵと通信コントローラを初期化して正常動作に復帰させる処理を実行し、正常動作に復帰した時に通信処理を再開させる技術を開示している。
特許文献２は、ＣＰＵに異常が発生したか否かを監視する技術と、異常が発生した時に制御対象機器に出力する駆動指令の出力を禁止する技術を開示している。
【０００６】
【特許文献１】特開２００４−２５２５５５号公報
【特許文献２】特開２００４−１２４９２１号公報
【０００７】
上記技術によって、異常な通信が続行されることを禁止し、さらに制御対象機器への異常な駆動指令の出力も禁止することができるはずである。しかしながら、そのためには、演算制御部が異常信号を出力したか否かを監視し、異常信号を出力した時に禁止指令を出力する禁止部が正常に動作している必要がある。
そこで禁止部が正常に動作しているか否かをチェックする技術が必要とされ、そのために、禁止部をチェックする機能を有する演算制御部が開発されている。この演算制御部は、禁止部が正常に動作しているか否かを診断するチェック処理時に、チェック用異常信号を出力する。チェック用異常信号を出力した時に、禁止部が禁止指令を出力すれば、禁止部が正常に動作していることを確認することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
禁止部をチェックする機能を有する演算制御部を利用する車両用電子制御装置の場合、通常はＥＣＵ電源が印加された直後にチェック処理を実施する。このとき、演算制御部が正常に動作しているのにもかかわらず、チェック用異常信号を出力したために通信が禁止されてしまい、チェック処理が進んでチェック用異常信号の出力を停止するまでの間は通信できないといった事態が発生する。
車両に搭載されている電子制御装置の数は増加しており、チェック処理も複雑化しており、チェック処理に要する時間が長くなっている。チェック用異常信号の出力によって、他の電子制御装置と通信できないことが問題となり始めている。
【０００９】
本発明では、車両用電子制御装置が禁止部の動作をチェックするために出力するチェック用異常信号を他の異常信号と区別し、チェック用異常信号であれば通信処理の禁止状態をキャンセルすることによって、通信を可能とする技術を提供する。
なおこのことは、禁止部が正常に動作しているか否かのチェックを実施しないことにはならない。チェック用異常信号によって禁止部が出力した禁止指令により、駆動部が制御対象機器の駆動指令を停止するかを判断し、それによって禁止部が正常に動作しているか否かのチェックを実施する。
本発明では、そのチェックによって通信可能となる時期が遅れてしまう弊害を克服するために、その異常信号がチェック用異常信号である場合には、禁止部が通信を禁止する処理を実行することを確認するのにとどめ、通信許可部が禁止部による通信の禁止処理をキャンセルする。同時に、禁止部からの禁止処理により駆動部が駆動を停止するかどうかを判断することによって、禁止部が正常に動作しているか否かのチェック機能を維持しながら、通信可能となる時期が遅れてしまう弊害を克服するのに成功したものである。
【課題を解決するための手段】
【００１０】
本発明の車両用電子制御装置は、通信バスによって他の車両用電子制御装置に接続されており、他の車両用電子制御装置と通信可能である。本発明の車両用電子制御装置は、通信バスとの間で通信を行う通信部と、制御対象機器に駆動指令を出力する駆動部と、演算制御部と、演算制御部が異常信号を出力した時に通信部の通信処理と駆動部の駆動処理を禁止する禁止部と、演算制御部が出力した異常信号がチェック用異常信号である場合、禁止部による駆動処理の禁止はそのまま維持させつつ通信処理の禁止を解除する通信許可部を有する。演算制御部は、通信部と駆動部に接続されており、異常発生時に異常信号を出力するとともに、動作チェック処理時にチェック用異常信号を出力する。
【００１１】
上記の車両用電子制御装置によると、駆動部が制御対象機器（例えばブレーキあるいは変速機）に駆動指令を出力することによって制御対象機器を制御しながら駆動する。この制御は、演算制御部によって制御される。演算制御部は通信部と通信バスによって他の車両用電子制御装置に接続されているために、他の演算制御部の制御状態を入力することができ、他の演算制御部に自らの制御状態を出力することができる。各種の機器を総合的に制御することができる。
演算制御部は、動作チェック処理時にチェック用異常信号を出力する。その異常信号によって、禁止部が通信部の通信処理と駆動部の駆動処理を禁止する処理を実行する。しかしながら、上記の車両用電子制御装置は、演算制御部が出力した異常信号がチェック用異常信号である時には通信部の通信処理を禁止させない通信許可部を備えているために、禁止部が通信部の通信処理と駆動部の駆動処理を禁止する処理を実行しようとしても、実際には通信処理は禁止されない。通信許可部を追加したために、通信可能となる時期が遅れてしまう弊害はない。これと同時に、駆動部の駆動処理が禁止されるか否かによって、禁止部が正常に動作するか否かをチェックすることができる。
演算制御部がチェック用異常信号以外の異常信号を出力する際には、通信許可部が動作せず、異常な通信が実行されることはない。その場合には、正常に動作することが確認されている禁止部が通信処理を禁止する。
【００１２】
前記したように、動作チェック処理はＥＣＵ電源が印加された直後、即ち、演算制御部の動作開始直後に実施されることが多い。また、動作チェック処理のために、チェック用異常信号を出力する回数が既知であることが多い。
その条件が満たされている場合には、通信許可部が、演算制御部の動作開始時からの異常信号の出力回数をカウントする計数部と、その計数値を所定値と比較する比較部を備えていることが好ましい。その比較結果によって、チェック用異常信号かその他の異常信号かを判別することができる。
【発明の効果】
【００１３】
本発明によると、チェック用異常信号を出力することによって禁止部が正常に動作するか否かをチェックすることができる。通信許可部を追加したために、そのチェックによって通信可能となる時期が遅れてしまう弊害は生じない。様々な車両用電子制御装置が通信し合って正常な制御処理を開始するまでの時間を短縮化することができる。
【発明を実施するための最良の形態】
【００１４】
最初に、以下に説明する実施例の主要な特徴を列記する。
（特徴１）  通信許可部の通信許可処理は、禁止部の通信禁止処理に優先する。
（特徴２）  実際に通信処理が禁止されたか否かとは別に、禁止部が禁止処理を実行したか否かを監視する処理が存在している。
（特徴３）  演算制御部は、ＣＰＵと、ＣＰＵの動作を監視する監視部を備えている。
【実施例】
【００１５】
以下、図面を参照しながら本発明の実施例を詳細に説明する。なお本実施例では、車両用電子制御装置の一例であるＥＣＵ１について説明する。他の車両用電子制御装置であるＥＣＵ２およびＥＣＵ３の説明は省略するが、ＥＣＵ１と同様の構成を有している。
【００１６】
図１は、ＥＣＵ１の概要構成を示すブロック図である。ＥＣＵ１では、制御対象機器８の制御に必要な情報を出力するセンサ類６の情報が、インターフェース２４を介して演算制御部２２へ入力される。演算制御部２２は、通信部１４と通信バス４によって、ＥＣＵ２やＥＣＵ３等の他の車両用電子制御装置に接続されているため、他のＥＣＵの制御状態を入力することができる。演算制御部２２は、センサ類６の情報と他のＥＣＵの制御状態に基づいて、制御対象機器８に出力するべき指令値を演算し、駆動部１８に出力する。駆動部１８は、演算制御部２２の出力に基づいて駆動指令を作り出し、作り出した駆動指令を制御対象機器８に出力する。演算制御部２２は、センサ類６の情報と他のＥＣＵの制御状態に基づいて、制御対象機器８を制御しながら駆動する。この処理のために、ＥＣＵ１は、機器制御プログラム５０を記憶している。
ＥＣＵ１の演算制御部２２は、通信部１４によって、自らの制御状態を通信バス４に出力することができる。これによって、他のＥＣＵはＥＣＵ１の制御状態を認識し、他のＥＣＵの制御対象機器の制御に反映することができる。
演算制御部２２が、通信部１４によって、通信バス４からデータを入力したり、通信バス４にデータを出力したりするために、通信制御プログラム６０が記憶されている。
【００１７】
演算制御部２２は、ＣＰＵ２０とＣＰＵ２０の動作を監視する監視部１６を備えている。監視部１６は、ＣＰＵ２０から定期的に送られてくるはずのパルスが途絶した時に、即ち、ＣＰＵ２０が正常に動作していない時に、異常検出信号を出力する。監視部１６は禁止部１２に接続されており、監視部１６が異常検出信号を出力すると、禁止部１２は通信部１４の通信処理と駆動部１８の駆動処理を禁止する。監視部１６によって、ＣＰＵ２０が異常に動作しているか否かを監視するために、ＣＰＵ診断用プログラム４０が記憶されている。
ＥＣＵ１は、動作開始時に禁止部１２が正常に動作するか否かを診断する。このために、動作チェック用プログラム３０を記憶している。ＣＰＵ２０は、動作開始時に動作チェック用プログラム３０を実行すると、チェック用異常信号を出力する。このチェック用異常信号は、監視部１６が出力する異常検出信号とは別であり、演算制御装置２２の動作が正常であっても、チェック用異常信号が出力される。演算制御装置２２は、監視部１６が出力する異常検出信号と、監視部１６と無関係にＣＰＵ２０が出力するチェック用異常信号を出力する。以下では、前者の異常検出信号をチェック用異常信号以外の異常信号という。
チェック用異常信号とそれ以外の異常信号は区別されることなく、禁止部１２に入力される。
本実施例のＥＣＵ１は、ＣＰＵ２０が出力した異常信号がチェック用異常信号である時に、通信部１４の通信処理を禁止させない通信許可部１０を有している。演算制御装置２２が出力する異常信号は、通信許可部１０にも入力される。通信許可部１０は、演算制御装置２２が出力する異常信号がチェック用異常信号である場合には、禁止部１２による通信禁止処理を解除する。禁止部１２による通信禁止処理よりも、通信許可部１０による通信許可処理の優先度が高い。
【００１８】
動作チェック用プログラムは、禁止部１２等が正常に動作するか否かをチェックする。このチェック中にも、ＥＣＵ１が他のＥＣＵと通信を行う必要がある。チェック中に通信を禁止してしまうと、通信可能となる時間が遅れてしまう。このため、チェック用異常信号によって禁止部１２が出力した禁止指令により駆動部１８が制御対象機器８の駆動指令を停止するか否かをＣＰＵ２０が判断し、それによって禁止部１２が正常に動作しているか否かのチェックを実施する。
本実施例では、禁止部１２による通信禁止処理よりも優先度が高い通信許可処理を行う通信許可部１０を備えているために、動作チェックを実行することによって通信可能となる時期が遅れてしまうという弊害を解消し、様々なＥＣＵが通信し合って正常な制御処理を開始するまでの時間の短縮化を図ることができる。
【００１９】
図２に、ＥＣＵ１の動作フローチャートを示す。この処理は、ＥＣＵ電源が印加されることによってスタートする。ＥＣＵ１が動作を開始すると、演算制御部２２は、最初に動作チェック用プログラム３０の実行を開始する（ステップＳ３００）。演算制御部２２は、ＣＰＵ２０とＣＰＵ２０を監視する監視部１６と、ＣＰＵ２０に通信許可部１０の制御を実行させるプログラムと、ＣＰＵ２０に禁止部１２の制御を実行させるプログラムと、ＣＰＵ２０に通信部１４の制御を実行させるプログラムと、ＣＰＵ２０に駆動部１８の制御を実行させるプログラムから構成される。ステップＳ３０２では、ＣＰＵ２０が１回目のチェック用異常信号を出力し、禁止部１２と通信許可部１０にチェック用異常信号を出力する。禁止部１２は、異常信号を入力したために通信部１４の通信処理と駆動部１８の駆動指令の出力を禁止する（ステップＳ３０３）。禁止部１２は、ＣＰＵ２０とＣＰＵ２０に禁止指令を実行させるプログラムによって構成されている。駆動部１８は、ＣＰＵ２０とこのＣＰＵ２０に駆動指令を作り出させる機器制御プログラム５０によって構成されている。通信部１４は、ＣＰＵ２０と、このＣＰＵ２０に通信処理を実行させる通信制御プログラム６０によって構成されている。
駆動部１８は、禁止指令を入力したために駆動指令の出力を停止する。ステップＳ３０４では、ＣＰＵ２０は、通信許可部１０によって実際に通信処理が禁止されたか否かとは別に、禁止部１２が禁止処理を実行したか否かの判断を、駆動部１８の出力が停止したかどうかにより判断する。これによって禁止部１２の正常異常が判別できる。駆動部１８が出力を停止し、禁止部が正常に動作すると判断された場合（判断がＹＥＳの場合）は、ステップＳ３０５へ進む。ステップＳ３０５では、通信許可部１０は、入力された信号がチェック用異常信号であるために、通信部１４の通信処理を許可する。禁止部１２による通信禁止処理よりも、通信許可部１０による通信許可処理の優先度が高いために、通信部１４の通信処理は実際には禁止されない。通信許可部１０は、ＣＰＵ２０と、異常信号を判断し、通信を許可するプログラムによって構成されている。ステップＳ３０４において駆動部１８が実行するべき処理を実行しなかったのであれば（判断がＮＯの場合）、禁止部１２のエラー処理に進む（ステップＳ３０６）。
【００２０】
この実施例では、動作チェック用プログラム３０の実行中にチェック用異常信号が２回出力される。ステップＳ３０８では、２回目のチェック用異常信号を出力する。ステップＳ３０９からステップＳ３１２においては１回目のチェック用異常信号を出力した際と同様の処理が実行され、禁止部１２が正常に動作しているか否かを再びチェックする。このチェック中は、禁止部１２が正常に動作していても、通信許可部１０によって実際には通信を禁止しない。
【００２１】
動作チェック用プログラム３０の実行が終了すると、ステップＳ３１４において通常時のプログラムが実行される。ステップＳ３１４において、動作チェック中は禁止状態にあった駆動部１８の出力が再開される。ＥＣＵ１は、ＣＰＵ診断プログラム４０と、機器制御プログラム５０と、通信制御プログラム６０を実行する。
ステップＳ３１６では、監視部１６が、ＣＰＵ診断プログラム４０によって、ＣＰＵ２０が異常か否かを判別する。監視部１６によって異常が検出されない間（判断がＮＯの場合）は、ＥＣＵ１は通常処理を続行する。ＣＰＵ診断プログラム４０と監視部１６によって、ＣＰＵ２０の異常が検出された場合（判断がＹＥＳの場合）には、監視部１６が異常検出信号を出力する（ステップＳ３１８）。この結果、禁止部１２が通信部１４の通信処理と駆動部１８の駆動指令の出力を禁止する（ステップＳ３１９）。この場合、入力される信号がチェック用異常信号でないために、通信許可部１０は動作しない。禁止部１２が通信部１４の通信処理を実際に禁止してしまう。そのために、ＣＰＵ２０の動作異常時に、誤った通信を続行してしまうことがない。
通信処理を禁止した後、ステップＳ３２０でＣＰＵ２０等の初期化処理を実行し、正常な動作状態に復帰させる。その後に、ステップＳ３２２で、通信と駆動指令の禁止状態が解除され、通信と駆動指令の出力が再開される。その後に、ＣＰＵ２０は、ステップＳ３１４に戻り、通常時プログラムを実行する。
【００２２】
図３は、通信許可部１０の概略構成を示すブロック図である。前述したように、動作チェック処理は、演算制御部２２の動作開始直後に実施される。また、動作チェック処理のためにチェック用異常信号を出力する回数が既知である。通信許可部１０は、演算制御部２２の動作開始時から異常信号を出力する回数をカウントする計数部４２と、その計数値を所定値と比較する比較部４４を備えている。計数部４２は、ＣＰＵ２０とこのＣＰＵ２０にステップＳ５０４を実行させるプログラムによって構成されている。比較部４４は、ＣＰＵ２０とこのＣＰＵ２０にステップＳ５０８を実行させるプログラムによって構成されている。この計数部４２は、動作チェックプログラム３０の開始毎にリセット信号によりリセットされる。
【００２３】
図４は、通信許可部１０の動作フローチャートである。動作チェック用プログラム３０が開始されると、ステップＳ５００では、計数部４２のカウント数Ｉが０にリセットされる。ステップＳ５０２では、演算制御部２２からのチェック用異常信号が通信許可部１０に入力される。ステップＳ５０４では、ステップＳ５０２で入力されたチェック用異常信号により、計数部４２のカウント数ＩがＩ+１に更新される。
ステップＳ５０８では、比較部４４が計数部４２におけるカウント数Ｉと所定値の比較を行う。本実施例においては、動作チェック用プログラム３０の実行中にチェック用異常信号が２回出力されることは前に述べたとおりである。このため、比較部４４はカウント数Ｉが３以上であるかどうかの判断を行う。ステップＳ５０４で更新されたカウント数Ｉが所定値を超えない間（判断がＮＯの場合）は、通信部１４は通信許可部１０からの通信許可信号を受け、通信を継続している（ステップＳ５０９）。Ｉ≧３でないときは、ステップＳ５０２からステップＳ５０９を繰返す。Ｉ≧３のとき（判断がＹＥＳの場合）は、通信許可部１０は通信部１４の通信を許可しない（ステップＳ５１０）。カウント数Ｉ≧３の条件を満たしてからは、通信許可部１０に異常信号が入力されるたびにステップＳ５０２からステップＳ５１０までの処理を繰返す。
【００２４】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば、実施例においては独立して図示している構成は、ＣＰＵ内のプログラムモジュールであってもよいし、それぞれがハードウェアとして構成されていてもよい。禁止部１２や通信許可部１０は、ソフトウエアで実現してもよい。
【００２５】
通信バス４によって相互に接続されているＥＣＵは、変速機用電子制御装置、エンジン用電子制御装置、ブレーキ用電子制御装置、エアコン用電子制御装置、あるいは照明機器やワイパなどを制御する電子制御装置であってもよい。
【００２６】
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時の請求項に記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００２７】
【図１】電子制御装置１の概略構成を示すブロック図である。
【図２】電子制御装置１の動作フローチャートである。
【図３】通信許可部１０の概略構成を示すブロック図である。
【図４】通信許可部１０の動作フローチャートである。
【符号の説明】
【００２８】
１：ＥＣＵ
２：ＥＣＵ
３：ＥＣＵ
４：通信バス
５：電源
６：センサ類
８：制御対象機器
１０：通信許可部
１２：禁止部
１４：通信部
１６：監視部
１８：駆動部
２０：ＣＰＵ
２２：演算制御部
２４：インターフェース
３０：動作チェック用プログラム
４０：ＣＰＵ診断用プログラム
４２：計数部
４４：比較部
５０：機器制御プログラム
６０：通信制御プログラム
【図１】
0004820679.tif 000002
【図２】
0004820679.tif 000003
【図３】
0004820679.tif 000004
【図４】
0004820679.tif 000005