(57)【特許請求の範囲】
【請求項１】
主となる電子制御装置であるマスタ装置が従となる電子制御装置であるスレーブ装置に電源ラインを介して供給する電源を制御し、
前記スレーブ装置は、パワーオンリセット機能とウォッチドッグリセット機能とを備え、通常の情報通信を予め定める複数の情報単位からなる情報フレームによって前記電源ラインを介してマスタ装置に送信し、リセット後の第１回目の通信で最初の情報単位として第１回目特定情報を設定した前記情報フレームをマスタ装置に送信し、
前記マスタ装置は、電源ＯＮ直後のパワーオンリセット機能によるリセット後の第１回目特定情報を除き、受信する前記情報フレームの前記第１回目特定情報に従って、前記スレーブ装置のリセットの検出を行い、リセットの発生回数が予め設定されている複数回を越えるとき、前記スレーブ装置に故障が生じていることを検出することを特徴とする電子制御装置間通信時の故障検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の電子制御装置が情報通信を行いながら全体として１つのシステムとして動作する場合に、システムを構成する電子制御装置の故障を、通信情報に基づいて検出する電子制御装置間通信時の故障検出方法に関する。
【０００２】
【従来の技術】
従来から、マイクロコンピュータなどを利用する電子制御装置では、ノイズなどの外乱によって正規のプログラム実行状態から逸脱する暴走などの動作異常を生じる可能性がある。この対策としては、プログラムの動作状態をウォッチドッグタイマと呼ばれる手法で監視し、暴走検出時にはリセットをかける処理などが行われている。特開平１−１１６７３９には、上位ＣＰＵと下位ＣＰＵとを含むシステムで、下位ＣＰＵの動作を監視するウォッチドッグタイマが下位ＣＰＵの動作異常を検出すると、下位ＣＰＵの動作を停止させ、上位ＣＰＵに割込みをかける先行技術が開示されている。
【０００３】
特開平５−７１４１０には、複数のマイクロコンピュータ間でエンジンの回転に同期してデータ通信を行う車両用電子制御装置に関連する先行技術が開示されている。データ通信を行うマイクロコンピュータのうちの少なくとも一方には、ウォッチドッグタイマが備えられ、他方のマイクロコンピュータは一方のマイクロコンピュータのウォッチドッグタイマの出力信号を検出して、マイクロコンピュータの動作異常また通信データの異常を検出している。
【０００４】
車両用電子制御装置では、エンジンの点火に伴って発生するノイズも大きく、誤動作が生じ得る環境にある。マイクロコンピュータが単なる誤動作ではなく、故障を生じると、車両の各部に対して高度な制御を行うことが困難となる。このため、複数のマイクロコンピュータなどのうちの１つでも故障が生じるときには、早急に故障を検出して、修理等の対策を施す必要がある。
【０００５】
【発明が解決しようとする課題】
車両に複数のマイクロコンピュータを搭載して、マイクロコンピュータ間でデータ通信を行い、総合的な電子制御装置を構成するのは、車両の各部でデータを収集し、また車両の各部に設けられる被制御部分の制御を適切に行う必要があるからである。複数のマイクロコンピュータ間で通信を行う場合には、一方のマイクロコンピュータが主となり、他方のマイクロコンピュータが従となる。主となるマイクロコンピュータは、従となるマイクロコンピュータの故障を、従となるコンピュータに設けられるウォッチドッグタイマの動作結果から検出する。特開平１−１１６７３９や特開平５−７１４１０の先行技術では、ウォッチドッグタイマの出力を直接伝達して、従となるマイクロコンピュータの動作異常を主となるマイクロコンピュータに知らせている。しかしながら、データ通信と別にウォッチドッグタイマの動作検知用の通信線を設ける必要が生じてしまう。車載用の電子制御装置では、マイクロコンピュータ間の配線を、ワイヤハーネスを用いて行っており、必要な通信線が１本でも増加することは、接続用のコネクタなどを含めてコストアップと重量増加とをもたらす。
【０００６】
ウォッチドッグタイマは、マイクロコンピュータが一連のプログラム動作を行う際に、一定の時間間隔内に必ずアクセスするようにプログラムが設定される。マイクロコンピュータが暴走すると、一定時間内でのアクセスが行われなくなる可能性がある。前回のアクセスから一定時間が経過するとしても、ウォッチドッグタイマがアクセスされない場合、ウォッチドッグタイマ監視回路は、マイクロコンピュータが暴走したと判断し、マイクロコンピュータのリセット入力を発生する。リセット入力が与えられるマイクロコンピュータは、暴走しているプログラムを、所定の初期動作に戻し、あらためて初期動作からプログラムの実行を再開する。
【０００７】
従となるマイクロコンピュータの異常を、従となるマイクロコンピュータから主となるマイクロコンピュータに送信する情報に基づいて検出する方法も考えられる。従となるマイクロコンピュータが暴走すると、データの送信も異常となり、あるいは送信されるデータの内容が異常となる。ウォッチドッグタイマによるリセットが生じると、送信されるデータの異常は一旦は解消される。しかしながら、従となるマイクロコンピュータから送信されるデータに基づいてリセットを検出する方法は、常に送信データが異常となるような高い頻度でリセットが発生するような場合でないと充分に検出することはできない。
【０００８】
本発明の目的は、従となる電子制御装置でウォッチドッグタイマが作動してリセットが生じることを、主となる電子制御装置で容易に検出し、故障が生じているか否かを判断することができる電子制御装置間通信時の故障検出方法を提供することである。
【０００９】
【課題を解決するための手段】
本発明は、主となる電子制御装置であるマスタ装置が従となる電子制御装置であるスレーブ装置に電源ラインを介して供給する電源を制御し、
前記スレーブ装置は、パワーオンリセット機能とウォッチドッグリセット機能とを備え、通常の情報通信を予め定める複数の情報単位からなる情報フレームによって前記電源ラインを介してマスタ装置に送信し、リセット後の第１回目の通信で最初の情報単位として第１回目特定情報を設定した前記情報フレームをマスタ装置に送信し、
前記マスタ装置は、電源ＯＮ直後のパワーオンリセット機能によるリセット後の第１回目特定情報を除き、受信する前記情報フレームの前記第１回目特定情報に従って、前記スレーブ装置のリセットの検出を行い、リセットの発生回数が予め設定されている複数回を越えるとき、前記スレーブ装置に故障が生じていることを検出することを特徴とする電子制御装置間通信時の故障検出方法である。
【００１０】
本発明に従えば、主となる電子制御装置であるマスタ装置と、従となる電子制御装置であるスレーブ装置との間で通信が行われる。マスタ装置はスレーブ装置の電源を制御し、スレーブ装置はパワーオンリセット機能とウォッチドッグリセット機能とを備えるので、電源投入時と、プログラム動作の暴走時とに、スレーブ装置はリセットされる。スレーブ装置は、予め定める情報を定期的にマスタ装置に送信する通信を行う。マスタ装置は、スレーブ装置から送信される情報に基づいて、スレーブ装置のリセットの回数を検知する。リセットの発生回数が予め設定される複数回を越えるときには、パワーオンリセット機能による１回のリセットとともに、ウォッチドッグリセット機能によるリセットが発生しているのでマスタ装置はスレーブ装置の故障を検出する。予め設定される複数回のリセットの検出でマスタ装置はスレーブ装置の故障を検出するので、ウォッチドッグリセット機能によるリセットが１回だけでなく検出されるときに故障検出と判断するように設定すれば、故障検出の精度を高めることができる。
【００１４】
また、マスタ装置はスレーブ装置からリセット後の第１回目の通信が送信される予め定める第１回目特定情報を受信するときに、スレーブ装置のリセットを検出するので、第１回目特定情報を他の情報と識別しやすくしておくことによって、容易にリセットの検出を行うことができる。
さらに、スレーブ装置は通常の情報通信を、複数の情報単位からなる情報フレームによってマスク装置に送信し、第１回目特定情報は、リセット後に送信される情報フレームの最初の情報単位となるので、スレーブ装置のリセットが生じていることをリセット発生時に迅速に検出することができる。
【００１６】
さらに、スレーブ装置にはパワーオンリセット機能が備えられているので、マスタ装置が電源を一旦遮断して投入する制御を行うと、スレーブ装置にはリセットがかかる。リセット後には、第１回目特定情報の送信が行われるけれども、このときには故障検出のためのリセットの発生回数には加えないので、ウォッチドッグタイマの動作に基づくリセットのみを正確に検出することができる。
【００２１】
【発明の実施の形態】
図１は、本発明の実施の一形態としての電子制御装置間通信時の故障検出を行う電気的構成を示す。主となる電子制御装置（以下、「ＥＣＵ」と略称することもある）であるマスタＥＣＵ１と、従となる電子制御装置であるスレーブＥＣＵ２との間は、電源ライン３で接続される。自動車のバッテリや発電機などの電源４からの出力は、マスタＥＣＵ１で制御されて、電源ライン３を介してスレーブＥＣＵ２に与えられる。マスタＥＣＵ１およびスレーブＥＣＵ２は、自動車の異なる位置に搭載され、それぞれの位置で受ける衝撃の大きさを衝撃センサ５，６によってそれぞれ検出する。マスタＥＣＵ１は、たとえば運転席近傍に設置され、スレーブＥＣＵ２はドア近傍に設置される。マスタＥＣＵ１は、たとえばステアリング装置に備えられるエアバッグ７とドアに備えられるエアバッグ８との点火を制御する。スレーブＥＣＵ２は、ドアに加えられる衝撃を確実に衝撃センサ６で検出し、検出した信号をマスタＥＣＵ１に確実に伝達するために設けられる。マスタＥＣＵ１には、スレーブＥＣＵ２の故障時などに、点灯されるランプ９も設けられる。
【００２２】
マスタＥＣＵ１内には、予め設定されるプログラムに従って動作するマイコン１０が備えられる。マスタＥＣＵ１は、電源ライン３を介してスレーブＥＣＵ２に供給する電源の制御を行うために、電源制御回路１１を備える。電源制御回路１１は、自動車の電源４から供給される電力を、電源ライン３を介してスレーブＥＣＵ２に供給するか遮断するかの制御を行う。電源ライン３は、スレーブＥＣＵ２からの情報通信にも利用され、受信回路１２によって受信される。マスタＥＣＵ１は、受信回路１２が受信するスレーブＥＣＵ２からの情報に基づいてスレーブＥＣＵ２のリセットの発生を検出し、その発生回数をカウンタ１３で計数する。
【００２３】
スレーブＥＣＵ２側には予め設定されるプログラムに従って動作するマイコン２０が含まれ、その暴走をウォッチドッグタイマ（以下、「ＷＤＴ」と略称することもある）が含まれるＷＤＴ付電源回路２１で監視する。マスタＥＣＵ１から電源ライン３を介して供給される電源電圧は、ＷＤＴ付電源回路２１の＋Ｂ端子に入力され、電源出力端子であるＶｃｃ端子から出力されてマイコン２０などに与えられる。送信回路２２は、電源ライン３を介して供給される電流の消費量を変化させ、マスタＥＣＵ１側に情報の伝達を行う。送信回路２２による電流変化分は、スレーブＥＣＵ２内の他の構成要素の消費電流の変化分よりも大きく設定され、シリアル信号としてデジタルデータの伝送が行われる。
【００２４】
ＷＤＴ付電源回路２１は、電源ライン３を介して供給される電源電圧を安定化して、マイコン２０、送信回路２２および衝撃センサ６などに供給する。ＷＤＴ付電源回路２１内には、ウォッチドッグタイマ監視回路が内蔵される。ウォッチドッグタイマ監視回路は、マイコン２０からクロック端子ＣＫに対するアクセスが抵抗２３の抵抗値およびコンデンサ２４の容量値の積である時定数に対応する時間内に行われないときに、リセット端子ＲＳＴを介してマイコン２０にリセット信号を与える。ＷＤＴ付電源回路２１は、パワーオンリセット機能も有し、電源ライン３が所定の電圧以下に低下している状態から立上ると、リセット端子ＲＳＴからマイコン２０のリセット端子にリセット信号を与える動作も行う。
【００２５】
図２は、図１の電源ライン３を介して送信回路２２から受信回路１２まで伝達される信号の形式を示す。図２（ａ）は、スレーブＥＣＵ２に供給される電源電圧が立上ってから行われる通常の情報通信の基準を示す。送信回路２２では、電源電圧投入後一定の待ち時間ＴＷＡＩＴ経過後に、スタートビットおよびストップビットを前後にそれぞれ付加し、調歩式でデータの送出を行う。１ビット分の送出時間は、たとえば２０ｍ秒であるので、１バイト分のデータの送出には２００ｍ秒の時間を要する。受信回路１２では、電源制御回路１１を介してスレーブＥＣＵ２の電源電圧を供給した後、たとえば５０ｍ秒経過後に受信許可の状態とする。待ち時間ＴＷＡＩＴは、たとえば５００ｍ秒と充分な長さにしておく。
【００２６】
図２（ｂ）は、点火信号が送信回路２２から送出される場合の通信状態を示す。点火信号は、スレーブＥＣＵ２内の衝撃センサ６が、エアバッグ７，８を膨らませるための点火を行うことが必要と判断するときの信号であり、通常の情報通信に使用するタイミングよりも、より短いタイミングで情報を伝達する。受信回路１２を介して点火信号を受信すると、マスタＥＣＵ１側では、点火信号の終了後５０ｍ秒間は通常通信を禁止する。送信回路２２は、点火信号が含まれている情報フレームの送出後、たとえば３００ｍ秒であるアイドル期間後に、再び同一の情報フレームについての送信を再開する。
【００２７】
図３は、図２（ａ）に示す通常通信での信号のフォーマットを示す。図３（ａ）は、キャラクタフォーマットを示し、ＬＳＢ側のＤ０からＭＳＢ側のＤ７まで８ビットで１バイト分の１キャラクタを表すデータの先頭に、論理レベル「０」のスタートビットが付加され、後端には論理レベル「１」のストップビットが付加されている状態を示す。図３（ｂ）は、フレームフォーマットを示し、情報フレームが、先頭のヘッダと、１からｎまでのデータと、チェックサムとで構成されていることを示す。情報フレーム間には、たとえば３００±２５ｍ秒のアイドル期間が設けられる。図３（ｃ）は、図３（ｂ）のヘッダの内容を示す。ＬＳＢ側のＤ０からＤ３までの４ビットは、予め設定されるコマンド情報を示す。Ｄ４からＭＳＢ側のＤ７までの４ビットは、データの長さを示し、図３（ｂ）のｎの値に相当する。ｎの値は、４ビットで表されるので、最大長は１５バイトで最小長は０バイトとなる。図３（ｂ）のチェックサムは、たとえばヘッダからデータｎまで加算して、下位８ビット分の値の２の補数を取る。このようにすると、ヘッダからチェックサムまでの１フレーム分の全データを加算すれば、伝送中に謝りが生じない限り、合計値は０になる。逆に合計値が０でないときには、データに誤りがあると判断することができる。
【００２８】
本実施形態では、スレーブＥＣＵ２から、ＷＤＴ付電源回路２１がパワーオンリセットあるいはウォッチドッグリセットをかけた後に、最初に送出するデータとして、図３（ｃ）のコマンド部分に特定の値、たとえば「０１１０」を与え、データ長は０バイトとする第１回目特定情報を設定しておく。すなわち、図３（ｂ）のヘッダおよびチェックサムの２バイト分が送出されるようにし、ヘッダのリセット後の第１回目に送信される情報フレームであることが容易に判別可能にしておく。
【００２９】
図４は、図２に示す通常通信波形をサンプリングする状態を示す。通常通信の波形は、１ビット分の長さが２０ｍ秒であるので、たとえば２．５ｍ秒の周期でサンプリングを行う。８回のサンプリングの結果の多数決で、そのビットのレベルが確定される。すなわちハイレベルであると判定するサンプリングの回数がローレベルであると判定するサンプリングの回数よりも大きいときには、全体としてハイレベルであると判断し、逆の場合はローレベルであると判断する。受信回路１２は、アイドル状態でハイレベルの通信ラインが、５回以上続けてローレベルと判定すると、ローレベルのスタービットの検出を示すフラグを出力する。
【００３０】
図５は、図２（ｂ）に示す点火信号のフォーマットを示す。図５（ａ）は、通常信号のハイレベルのときに発生する点火信号のフォーマットを示し、図５（ｂ）は通常信号がローレベルのときの点火信号のフォーマットを示す。点火信号は、通常信号の１ビット分の送出時間である２０ｍ秒よりも短い時間で送出される。その時間間隔は、たとえば８μ秒であり、論理値「０」のスタートビットに続いてＬＳＢ側からＭＳＢ側に、「０１１０１１」のデータが続き、最後の論理値「１」のストップビットが続いて形成される。
【００３１】
図６は、図１のスレーブＥＣＵ２側の動作手順を示す。図６（ａ）は通常通信動作を示し、図６（ｂ）はウォッチドッグリセット動作を示す。図６（ａ）に示すように、ステップａ１で電源ライン３から供給される電源電圧が立上ると動作を開始する。ステップａ２では、ＷＤＴ付電源回路２１によるパワーオンリセットが行われる。ステップａ３では、図２（ａ）に示す待ち時間ＴＷＡＩＴが経過するのを待ち、時間経過後にステップａ４で、第１回目特定情報を１バイト目とする情報フレームを送信する。ステップａ５では、ＷＤＴ付電源回路２１のクロック端子ＣＫをマイコン２０が読出しまたは書込みを行って、ウォッチドッグタイマのアクセスを行う。ステップａ６では、アイドル時間が経過するのを待ち、ステップａ７で次の情報フレームの送信を行う。以下、ステップａ６のウォッチドッグタイマアクセスからステップａ７の情報フレーム送信を繰返して行う。マイコン２０が暴走すると、ステップａ５のウォッチドッグタイマアクセスが、抵抗２３およびコンデンサ２４によって設定される時定数に対応する時間内に行われなくなるので、図６（ｂ）に示すようなウォッチドッグリセット動作が行われる。すなわちステップｂ１でＷＤＴ付電源回路２１のリセット端子ＲＳＴからマイコン２０にリセット信号が与えられ、マイコン２０はステップｂ２でウォッチドッグリセット動作を行い、図６（ａ）のステップａ３に移る。構成を簡略化するため、マイコン２０のステップａ２のパワーオンリセット動作とステップｂ２のウォッチドッグリセット動作とは同一の動作にしておく。
【００３２】
図７は、図１のマスタＥＣＵ１側の動作を示す。ステップｃ１で、たとえば車両のイグニッションスイッチを投入すると、動作を開始する。ステップｃ２では、カウンタ１３を初期化して０に設定する。ステップｃ３で、電源制御回路１１を制御して、スレーブＥＣＵ２の電源をＯＮ状態とする。ステップｃ４では、データ受信を行う。ステップｃ５で、受信されるデータからエラーを検出する。通常通信の情報フレームは、図３（ｂ）に示すようにチェックサムが設けられているので、情報フレーム毎の合計値の下位８ビット分が０にならなければ、データに誤りがあると判断することができる。ステップｃ５でエラーが検出されなければ、ステップｃ６でステップｃ３でスレーブ電源をＯＮにした直後のデータ受信であるか否かを判断する。直後のデータであると判断されるときには、ステップｃ４に戻る。直後のデータでないと判断されるときには、ステップｃ７で、受信された情報が第１回目特定情報であるか否かを判断する。第１回目特定情報でないと判断されるときには、ステップｃ４に戻る。ステップｃ７で、第１回目特定情報であると判断されるときには、ステップｃ８でカウンタ１３の計数値を１増加させる。ステップｃ３でスレーブ電源をＯＮにした直後にも、第１回目特定情報を受信するけれども、ステップｃ６からステップｃ４に移行して、次のデータ受信を行うので、ステップｃ８のカウンタ１３の計数の増加は行われない。
【００３３】
ステップｃ８でカウンタ１３の計数を増加させると、ステップｃ９で、増加した計数値が基準回数、たとえば４回以上となっているか否かを判断する。カウンタ１３の計数値が基準回数未満であるときには、ステップｃ４に戻る。ステップｃ９で、カウンタ１３の計数値が基準回数以上であると判断されるときには、ステップｃ１０でランプ９を点灯し、スレーブＥＣＵ２が故障を起こしていることを表示する。ステップｃ５で、エラーが検出されるときには、ステップｃ１１でスレーブ電源をＯＦＦにした後、ステップｃ３で再びスレーブ電源をＯＮとする。本実施形態では、スレーブＥＣＵ２にウォッチドッグリセットが複数の基準回数、たとえば４回以上行われたときにスレーブＥＣＵが故障していると判定する。スレーブＥＣＵ２が故障していれば、ウォッチドッグリセットの回数は多くなり、複数回の検知も短時間で行われるようになる。１回だけのウォッチドッグリセットの検知で故障と判断すると、ノイズなどによる誤動作も故障と判定してしまう恐れがある。
【００３４】
【発明の効果】
以上のように本発明によれば、スレーブ装置のウォッチドッグタイマの動作によるリセット状態を、マスタ装置はスレーブ装置から送信される情報に基づいて検知し、リセットの発生数が予め設定される複数回を越えるときにスレーブ装置の故障を検出するので、ウォッチドッグタイマ用に専用の通信線を設けないでもスレーブ装置の故障を容易に検出することができる。
【００３６】
また、マスタ装置は、スレーブ装置から送信される第１回目特定情報の受信でリセットの発生を検知することができるので、リセットの発生を確実に検知することができる。
さらに、スレーブ装置から送信される情報フレームのうちの最初の情報単位に第１回目特定情報が設定されるので、マスタ装置はスレーブ装置のリセットの発生をリセット発生後に迅速に検知することができる。
【００３７】
さらに、マスタ装置はスレーブ装置の電源を制御し、一旦遮断してから投入するときに、スレーブ装置はパワーオンリセット機能でリセット状態となり、第１回目特定情報を送信するけれども、マスタ装置では自身の制御によるリセットは故障検出の発生回数には含めないので、マスタ装置側からの電源の制御に伴うリセットの発生の繰返しでスレーブ装置が故障と判定される恐れを解消することができる。
【図面の簡単な説明】
【図１】本発明の実施の一形態の概略的な電気的構成を示すブロック図である。
【図２】図１の実施形態で通常通信を行う場合の信号のフォーマットを示す図である。
【図３】図２の通常通信でのデータ構成を示す図である。
【図４】図２の通常通信時のサンプリング状態を示す図である。
【図５】図２（ｂ）に示す点火信号のフォーマットを示す図である。
【図６】図１のスレーブＥＣＵ２の動作を示すフローチャートである。
【図７】図１のマスタＥＣＵ１の動作を示すフローチャートである。
【符号の説明】
１  マスタＥＣＵ
２  スレーブＥＣＵ
３  電源ライン
５，６  衝撃センサ
７，８  エアバッグ
９  ランプ
１０，２０  マイコン
２１  ＷＤＴ付電源回路
２２  送信回路
２３  抵抗
２４  コンデンサ
【図１】
0003732009.tif 000002
【図２】
0003732009.tif 000003
【図３】
0003732009.tif 000004
【図４】
0003732009.tif 000005
【図５】
0003732009.tif 000006
【図６】
0003732009.tif 000007
【図７】
0003732009.tif 000008