(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024164961
(43)【公開日】2024-11-28
(54)【発明の名称】電子制御装置及び起動制御方法
(51)【国際特許分類】
G06F 9/445 20180101AFI20241121BHJP
B60R 16/023 20060101ALI20241121BHJP
【FI】
G06F9/445
B60R16/023 P
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023080714
(22)【出願日】2023-05-16
(71)【出願人】
【識別番号】509186579
【氏名又は名称】日立Astemo株式会社
(74)【代理人】
【識別番号】100129425
【弁理士】
【氏名又は名称】小川 護晃
(74)【代理人】
【識別番号】100168642
【弁理士】
【氏名又は名称】関谷 充司
(72)【発明者】
【氏名】王 偉斌
(72)【発明者】
【氏名】手島 大介
(72)【発明者】
【氏名】大島 恭平
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AE61
5B376GA08
(57)【要約】
【課題】電子制御装置において、ウェイクアップ回路のレジスタの故障が生じている場合においても、マイコンの起動制御を正常に行うことができるようにする。
【解決手段】電子制御装置が、コンピュータと、レジスタに設定された値に整合するウェイクアップ識別子を受信したときに当該コンピュータを起動させるウェイクアップ回路とを備えるとともに、1つ又は複数の他の電子制御装置と通信可能に接続されている。当該電子制御装置において、コンピュータが、ウェイクアップ回路のレジスタに故障が生じているか否かを判別する。そして、レジスタに故障が生じている場合には、他の電子制御装置に故障内容に応じた故障コードを送信し、レジスタに当該故障コードに対応する故障時ウェイクアップ識別子を設定する。さらに、ウェイクアップ回路が、他の電子制御装置から故障コードに対応する故障時ウェイクアップ識別子を受信したときに、コンピュータを起動させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータと、レジスタに設定された値に整合するウェイクアップ識別子を受信したときに前記コンピュータを起動させるウェイクアップ回路とを備えるとともに、1つ又は複数の他の電子制御装置と通信可能に接続された電子制御装置であって、
前記コンピュータが、前記ウェイクアップ回路の前記レジスタに故障が生じているか否かを判別し、前記レジスタに故障が生じている場合に、前記他の電子制御装置に故障内容に応じた故障コードを送信するとともに、前記レジスタに当該故障コードに対応する故障時ウェイクアップ識別子を設定し、
前記ウェイクアップ回路が、前記他の電子制御装置から前記故障コードに対応する前記故障時ウェイクアップ識別子を受信したときに、前記コンピュータを起動させる、
電子制御装置。
【請求項2】
前記故障コード及び前記故障時ウェイクアップ識別子は、前記レジスタの故障箇所のアドレス情報を含む、請求項1記載の電子制御装置。
【請求項3】
前記故障コード及び前記故障時ウェイクアップ識別子は、前記ウェイクアップ回路の前記レジスタに故障が生じているか否かを判別するために前記コンピュータと前記ウェイクアップ回路との間で送受信したデータの値の少なくとも一部を含む、請求項1又は2に記載の電子制御装置。
【請求項4】
前記コンピュータは、前記レジスタに故障が生じている場合に、メモリ内の故障フラグに当該レジスタに故障が検出されたことを示す値を設定し、次回の起動時に、前記故障フラグを参照して、前記レジスタに故障が検出されているときには前記レジスタの記憶領域全体を対象として故障が生じているか否かを判別する一方、前記レジスタに故障が検出されていないときには前記レジスタの記憶領域の一部を対象として故障が生じているか否かを判別する、請求項1又は2に記載の電子制御装置。
【請求項5】
コンピュータと、レジスタに設定された値に整合するウェイクアップ識別子を受信したときに前記コンピュータを起動させるウェイクアップ回路とを備えるとともに、1つ又は複数の他の電子制御装置と通信可能に接続された電子制御装置において、
前記コンピュータが、前記ウェイクアップ回路の前記レジスタに故障が生じているか否かを判別し、前記レジスタに故障が生じている場合には、前記他の電子制御装置に故障内容に応じた故障コードを送信するとともに、前記レジスタに当該故障コードに対応する故障時ウェイクアップ識別子を設定し、
前記ウェイクアップ回路が、前記他の電子制御装置から前記故障コードに対応する前記故障時ウェイクアップ識別子を受信したときに、前記コンピュータを起動させる
処理を実行する、起動制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子制御装置及び起動制御方法に関する。
【背景技術】
【0002】
車両に搭載された電子制御装置における起動処理を正常に行うための技術の一例として、電源状態や起動要件に基づいて、各アプリケーションの動作要件の判定を行い、動作要件を満たしたアプリケーションのみを起動する技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、電子制御装置において、メインマイコンの起動制御を行うウェイクアップ回路が、外部ユニット等から所定のウェイクアップ識別子を受信したときに車載装置の制御処理を行うマイクロコンピュータ(マイコン)の起動制御を行う構成を有する場合がある。このような構成において、ウェイクアップ回路のレジスタの故障が生じた場合、ウェイクアップ識別子の認証が正常に行われず、起動制御ができなくなる状況が生じ得る。
【0005】
そこで、本発明の1つの態様では、電子制御装置において、ウェイクアップ回路のレジスタの故障が生じている場合においても、マイコンの起動制御を正常に行うことができるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の1つの態様では、電子制御装置が、コンピュータと、レジスタに設定された値に整合するウェイクアップ識別子を受信したときに当該コンピュータを起動させるウェイクアップ回路とを備える。また、当該電子制御装置が、1つ又は複数の他の電子制御装置と通信可能に接続されている。当該電子制御装置において、次の処理を行う。即ち、コンピュータが、ウェイクアップ回路のレジスタに故障が生じているか否かを判別する。そして、レジスタに故障が生じている場合には、他の電子制御装置に故障内容に応じた故障コードを送信するとともに、レジスタに当該故障コードに対応する故障時ウェイクアップ識別子を設定する。さらに、ウェイクアップ回路が、他の電子制御装置から故障コードに対応する故障時ウェイクアップ識別子を受信したときに、コンピュータを起動させる。
【発明の効果】
【0007】
本発明の1つの態様によれば、電子制御装置において、ウェイクアップ回路のレジスタの故障が生じている場合においても、メインマイコンの起動制御を正常に行うことができるようになる。
【図面の簡単な説明】
【0008】
【
図1】本発明の一実施形態に係る制御システムの一例を示す説明図である。
【
図2】本発明の一実施形態におけるウェイクアップICのレジスタの構成を示す図である。
【
図3】本発明の一実施形態におけるメインマイコン、ウェイクアップIC及び外部ユニットの状態及び処理を示すシーケンス図である。
【
図4】本発明の一実施形態におけるメインマイコンの初回起動時において実行されるメインマイコンの処理を示すフローチャートである。
【
図5】本発明の一実施形態におけるメインマイコンの初回起動時において実行されるメインマイコンの処理を示すフローチャートである。
【
図6】本発明の一実施形態におけるメインマイコンの再起動時において実行される外部ユニットの処理を示すフローチャートである。
【
図7】本発明の一実施形態におけるメインマイコンの再起動時において実行されるウェイクアップICの処理を示すフローチャートである。
【
図8】本発明の一実施形態におけるウェイクアップICのレジスタのデータ例(正常時)を示す図である。
【
図9】本発明の一実施形態におけるウェイクアップICのレジスタのデータ例(エラー発生時)を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照しつつ、本発明の実施形態について説明する。なお、本明細書に記載する実施形態によって本発明が限定されるものではなく、異なる実施形態やその変形例は、適宜組み合わせることも可能である。
【0010】
[制御システムの構成]
図1は、本実施形態に係る制御システム1の一例を示す。本制御システム1は、自動車等の車両に搭載され、車両の走行等に関連する各種装置の制御を行う。制御システム1は、例えば、制御対象の車載装置の種類により、エンジン制御等のパワートレイン制御系、電動パワーステアリング、ブレーキ制御等の車両制御系、エアバッグや周辺監視等のボディ制御系、ナビゲーションシステムやGPS(Global Positioning System)等の情報系に分類され得る。制御システム1は、車載装置を制御する電子制御装置であるECU10(Electronic Control Unit)と、外部ユニット50A~50Cとを備える。
【0011】
ECU10は、ウェイクアップ回路(IC)20及びメインマイコン30を備える。ウェイクアップIC20とメインマイコン30とは、SPI(Serial Peripheral Interface)バス及びCAN(Controller Area Network)バスで接続されている。また、ウェイクアップIC20からメインマイコン30へは、インヒビット(INH)端子からINH信号が送信され、これによりメインマイコン30の起動制御が行われる。また、ECU10はバッテリ40と接続され、バッテリ40からウェイクアップIC20及びメインマイコン30に電力が供給される。
【0012】
ウェイクアップIC20は、所定条件が満たされたときにメインマイコン30を起動させる機能を有する電子回路である。なお、所定条件については後で詳述する。ウェイクアップIC20は、制御部21、レジスタ22、及び通信インタフェース23A~23Cを備える。
【0013】
制御部21は、ウェイクアップIC20が動作する動作モードに応じて、メインマイコン30を起動させるためのINH信号を、メインマイコン30に対して送信する。
レジスタ22は、制御部21の動作に用いる各種設定値が格納されるレジスタである。レジスタ22に格納されるデータの詳細については後述する。
通信インタフェース23A~23Cは、ウェイクアップIC20と外部との通信を実現する機能を有する。例えば、通信インタフェース23A及び23Bは、CAN(Controller Area Network)トランシーバ等で構成され、通信インタフェース23Aは外部ユニット50A~50CとのCAN通信を行い、通信インタフェース23Bはメインマイコン30とのCAN通信を行う。通信インタフェース23Cは、メインマイコン30とのSPI通信を行う。通信インタフェース23Dは、メインマイコン30へのINH信号を、INH端子を介して出力する。なお、ウェイクアップIC20は、外部からウェイクアップ信号(起動命令)が入力されるとウェイクアップ機能が動作する端子を備えるが、本実施形態では当該端子はオープンであるものとして図示を省略している。
【0014】
メインマイコン30は、プロセッサ31、RAM32、ROM33、通信インタフェース34A~34Cを備える。これらは内部バスにより相互接続されている。
プロセッサ31は、プログラムに記述された命令セット(データの転送、演算、加工、制御、管理など)を実行するハードウェアであって、演算装置、命令や情報を格納するレジスタ、周辺回路などから構成されている。プロセッサ31は、プログラムが実行されることによってその機能が実現される。プロセッサ31において実行される処理の詳細については後述する。
【0015】
RAM32は、電源供給遮断によってデータが消失する揮発性メモリからなり、プロセッサが動作中に使用する一時的な記憶領域を提供する。
ROM33は、電気的にデータを書き換え可能な不揮発性メモリ(例えばEEPROM等)や原則として書き換えが不要なデータを格納する不揮発性メモリ(例えばコードフラッシュ等)を含む。ROM33には、プロセッサ31におけるプログラムの実行時に用いる各種データや、プログラム本体のデータが格納される。
通信インタフェース34A~34Cは、メインマイコン30と外部との通信を実現する機能を有する。例えば、通信インタフェース34Aは、ウェイクアップIC20とのCAN通信を行い、通信インタフェース34BはウェイクアップIC20とのSPI通信を行う。通信インタフェース34Cは、ウェイクアップIC20から送信されたINH信号を受信し、メインリレーによってメインマイコン30を起動させる。
【0016】
外部ユニット50A~50Cは、例えば、ECU10と同様に車載装置を制御する他の電子制御装置である。なお、外部ユニットの数は1つでも複数でもよく、本実施形態の例に限定されるものではない。
なお、本実施形態では、ECU10と外部ユニット50A~50Cとの間の通信方式をCANとしているが、例えば、LIN(Local Interconnect Network)、Ethernet(登録商標)、FlexRay等の任意の通信方式を用いることができる。ウェイクアップIC20とメインマイコン30との間の通信方式も同様に、必ずしも上記の例に限定されるものではない。さらに、図示を省略しているが、ECU10は、制御対象とする車載装置とも通信可能に接続されている。
【0017】
図2は、ウェイクアップIC20のレジスタ22の記憶領域の構成の一例を示している。レジスタ22には、コントロールレジスタ及びステータスレジスタの2種類の記憶領域が含まれる。コントロールレジスタには、動作モードを識別する情報が設定される動作モード設定領域と、ウェイクアップ識別子の一態様であるウェイクアップCANID(詳細は後述する)が設定されるウェイクアップCANID設定領域とが含まれる。また、ステータスレジスタには、ウェイクアップIC20において不正な書き込みがなされたことを示す情報等が設定されるエラー設定領域が含まれる。
【0018】
[メインマイコンの起動処理及び技術的課題]
ここで、ウェイクアップIC20がメインマイコン30を起動させる際の処理について説明する。
ウェイクアップIC20は、バッテリ40から電源が供給されたときにスタンバイモードになり、メインマイコン30の起動命令を受信すると、メインマイコン30を起動させるとともに、ノーマルモードに遷移する。また、ウェイクアップIC20は、メインマイコン30がシャットダウンするときに、ノーマルモードからスリープモードへと遷移する。その後、メインマイコン30の起動命令を受信したときには、再度メインマイコン30を起動させ、ノーマルモードに遷移する。このノーマルモードとスリープモードとの間の遷移は、メインマイコン30からSPI通信によって受信した制御信号に基づいて行われる。具体的には、メインマイコン30が、レジスタ22の動作モード設定領域にウェイクアップIC20の動作モードを識別する情報を設定する信号を送信する。ウェイクアップIC20は、レジスタ22の動作モード設定領域に設定された当該情報に基づいた動作モードで動作する。
【0019】
ここで、ウェイクアップIC20のスリープモードには、2つの種類がある。1つのモードは、特定のCANIDを受信したときにメインマイコン30を起動する(WUF:Wake Up Frame)、セレクティブスリープモードである。このセレクティブスリープモードの場合、ウェイクアップIC20は、外部ユニット50A~50Cから受信したウェイクアップCANIDについて認証処理を行う。具体的には、ウェイクアップIC20は、受信したウェイクアップCANIDがレジスタ22のウェイクアップCANID設定領域に設定されたものと整合するときに、メインマイコン30に対して起動命令を送信する。このウェイクアップCANID設定領域のウェイクアップCANIDは、メインマイコン30が初回起動時に設定するものである。なお、ここでの整合とは、両者が一致している状態や、一致していなくても所定規則に基づいて両者が対応関係にある状態を含み得る。換言すれば、ウェイクアップIC20は、レジスタ22のウェイクアップCANID設定領域に設定されたCANIDに整合しないCANIDを受信したときには、メインマイコン30を起動させない。もう1つのモードは、特定のCANIDを受信したときのみならず、CANバスが動作したこと、すなわちCANバスにおいて電圧変化があったことを条件として、メインマイコン30を起動する(WUP:Wake Up Pattern)、スリープウェイクアップモードである(WUP)。なお、前述したように、本実施形態では、外部からウェイクアップ信号が入力されるとウェイクアップ機能が動作するパターン(LWU:Local Wake Up)については、入力端子がオープンであり無効である。
【0020】
ここで、ウェイクアップIC20からメインマイコン30を再起動させる際の技術的課題について説明する。通常、メインマイコン30がシャットダウンされた状態であるとき、ウェイクアップIC20は、前述した動作モードのうちのセレクティブスリープモードで動作する。しかし、レジスタ22において固着等の何らかの故障が発生している場合、メインマイコン30からレジスタ22のウェイクアップCANID設定領域に対してウェイクアップCANIDを正常に設定できない場合がある。この場合、外部から受信したウェイクアップCANIDがレジスタ22のウェイクアップCANID設定領域に設定されたものに整合せず、認証を正常に行うことができない。そうすると、ウェイクアップIC20は、メインマイコン30の起動要求を受信しているにも関わらず、メインマイコン30を起動させることができない状況が発生し得る。
本実施形態によれば、このようにメインマイコン30を起動させることができない状況が発生することを抑制することが可能となる。
【0021】
[メインマイコンの初回起動時からシャットダウン及び再起動時の処理]
ここで、メインマイコン30の初回起動時からシャットダウンまで及び再起動時に実行される処理の一例について説明する。当該説明では、ウェイクアップIC20、メインマイコン30及び外部ユニット50A~50Cの動作を示す
図3のシーケンス図と、
図4~
図7に示すフローチャートとを参照する。
図4~
図5は、ウェイクアップIC20及びメインマイコン30にバッテリ40が接続されて電力が供給され、外部ユニット50A~50Cから起動命令を受信した際の初回起動時におけるメインマイコン30の処理を示している。
【0022】
ステップ101(図ではS101と表記している。以下同様)で、メインマイコン30は、スタートアップモード(Smode)に遷移する。
ステップ102で、メインマイコン30は、起動時の初期処理を行う。ここでの初期処理とは、例えば、RAM32の初期化等である。
【0023】
ステップ103で、メインマイコン30は、SPI通信を行い、ウェイクアップIC20のレジスタ22に所定の設定値を書き込む。
ステップ104で、メインマイコン30は、SPI通信を行い、ステップ103で書き込んだウェイクアップIC20のレジスタ22の設定値を読み出す。
【0024】
ステップ105で、メインマイコン30は、前回の処理においてウェイクアップIC20のレジスタ22に故障が検出されたか否かを判定する。例えば、メインマイコン30は、ROM33のうち電気的にデータを書き換え可能な不揮発性メモリに格納されている故障フラグの値に基づき、ウェイクアップIC20において前回に故障が検出されたか否かを判定することが可能である。なお、この故障フラグは、後述するステップ112で設定される値である。故障が検出されていない場合にはステップ106に進み(No)、故障が検出されている場合にはステップ107に進む(Yes)。
【0025】
ステップ106で、メインマイコン30は、レジスタ22の記憶領域の一部についてエコーバック診断を行い、ウェイクアップIC20のレジスタ22に故障が生じているか否かを判別する。具体的には、メインマイコン30は、ステップ103でウェイクアップIC20のレジスタ22のウェイクアップCANID設定領域に書き込んだ設定値が、ステップ104で正常に読み出せているか否かを確認することによって、故障の有無を判別する。
【0026】
ステップ107で、メインマイコン30は、レジスタ22の記憶領域の全体についてエコーバック診断を行い、ウェイクアップIC20のレジスタ22に故障が生じているか否かを判別する。具体的には、メインマイコン30は、ステップ103でウェイクアップIC20のレジスタ22の記憶領域全体(コントロールレジスタ及びステータスレジスタ全体)に書き込んだ設定値が、ステップ104で正常に読み出せているか否かを確認することによって、故障の有無を判別する。
【0027】
ステップ108で、メインマイコン30は、エコーバック診断の結果が正常であるか、すなわち、ステップ103でウェイクアップIC20のレジスタ22に書き込んだ設定値がステップ104で正常に読み出せか否かを判定する。正常に読み出せた場合にはステップ109に進み(Yes)、正常に読み出せなかった場合、即ち、レジスタ22に故障が生じている場合にはステップ110に進む(No)。なお、メインマイコン30は、エコーバック診断の結果が正常でなかった場合には、許容時間の範囲内においてステップ103~108を反復し、レジスタ22への書き込み及び読み出しをリトライすることも可能である。
【0028】
ステップ109で、メインマイコン30は、ウェイクアップIC20のレジスタ22に対し、通常時のウェイクアップCANIDを設定する。なお、前述したステップ103で、メインマイコン30は、ウェイクアップCANID設定領域に所定の設定値として通常時のウェイクアップCANIDを書き込み得る。この場合には当該処理は省略し得る。
【0029】
ステップ110で、メインマイコン30は、ウェイクアップIC20に起動命令を送信し得る外部ユニット50A~50Cに対し、故障内容に応じた故障コードを通知する。
ステップ111で、メインマイコン30は、ウェイクアップIC20のレジスタ22に対し、ステップ109で外部ユニット50A~50Cに通知した故障コードに対応する故障時ウェイクアップCANIDを設定する。なお、ここでの故障コードに対応する故障時ウェイクアップCANIDとは、故障コードに含まれる情報に基づいて所定規則を適用することにより特定することが可能な識別子である。これらの故障コード及び故障時ウェイクアップCANIDの具体例については後述する。また、故障時ウェイクアップCANIDを設定するレジスタ22の記憶領域は、エコーバック診断において正常に機能していることが確認された記憶領域とする。例えば、当該記憶領域は、故障が発生している記憶領域に対応する予備領域等であってもよい。
ステップ112で、メインマイコン30は、レジスタ22に故障が検出されたことを示す値を、ROM33のうち電気的にデータを書き換え可能な不揮発性メモリの故障フラグに書き込む。
【0030】
ステップ113で、メインマイコン30は、シャットダウン命令を受信したか否かを判定する。具体的には、ウェイクアップIC20が外部ユニット50A~50CからCAN通信によってシャットダウン命令を受信したときに、ウェイクアップIC20からメインマイコン30にシャットダウン命令を受信したことが通知される。シャットダウン命令を受信した場合には、ステップ114に進み(Yes)、受信していない場合には、継続して通常動作を行う(No)。
ステップ114で、メインマイコン30は、ウェイクアップIC20に対し、セレクティブスリープモードに遷移するように制御信号を送信する。これにより、ウェイクアップIC20は、セレクティブスリープモードに遷移し、メインマイコン30に対するINH信号の送信を停止する。
ステップ115で、メインマイコン30は、シャットダウン処理を行う。
【0031】
図6は、外部ユニット50A~50Cからの起動命令によってメインマイコン30がシャットダウンされた状態から再起動されるときに、外部ユニット50A~50Cにおいて実行される処理を示している。外部ユニット50A~50Cは、それぞれの機能に応じてメインマイコン30を起動させる条件が満たされたときに当該処理を実行する。
【0032】
ステップ121で、外部ユニット50A~50Cは、メインマイコン30から故障コードが通知されているか否かを判定する。なお、当該故障コードは、メインマイコン30が前述のステップ110において通知するものである。故障コードが通知されている場合にはステップ123に進み(Yes)、そうでない場合にはステップ122に進む(No)。
ステップ122で、外部ユニット50A~50Cは、ウェイクアップIC20に対して通常のウェイクアップCANIDを送信する。
ステップ123で、外部ユニット50A~50Cは、メインマイコン30から通知された故障コードに対応する故障時ウェイクアップCANIDを特定する。そして、外部ユニット50A~50Cは、当該故障時ウェイクアップCANIDを、ウェイクアップIC20に送信する。
【0033】
図7は、ウェイクアップIC20において実行される処理を示している。
ステップ131で、ウェイクアップIC20は、外部ユニット50A~50CからウェイクアップCANIDを受信する。前述のように、外部ユニット50A~50Cから受信するウェイクアップCANIDは、レジスタ22において故障が発生していない場合には通常のウェイクアップCANIDであり、故障が発生している場合には故障時ウェイクアップCANIDである。
【0034】
ステップ132で、ウェイクアップIC20は、受信したウェイクアップCANIDについて認証処理を行う。具体的には、ウェイクアップIC20は、受信したウェイクアップCANIDとレジスタ22に設定されたウェイクアップCANIDとを照合し、両者が整合しているか否かを判定する。なお、このとき、受信したウェイクアップIC20が通常のウェイクアップCANIDではなく故障時ウェイクアップCANIDであるときには、ステップ111において故障時ウェイクアップCANIDが設定された記憶領域の値との間で照合を行う。両者が整合している場合にはステップ133に進み(Yes)、そうでない場合には処理を終了する(No)。なお、整合していない場合には、ウェイクアップCANIDの送信元である外部ユニット50A~50Cに対してエラー信号を出力するようにしてもよい。
ステップ132で、ウェイクアップIC20は、メインマイコン30の起動処理を行う。即ち、ウェイクアップIC20は、メインマイコン30にINH信号を送信する。その結果、メインマイコン30が起動する。
【0035】
[本実施形態の処理において用いられるデータ具体例]
ここで、上記の処理について、レジスタ22のウェイクアップCANID設定領域のデータのエコーバック診断における送受信値、故障コード及びウェイクアップCANIDについて、
図8及び
図9に示す具体例を参照して説明する。
図8は、正常時におけるデータの具体例を示している。例えば、「SWK_CTRL_6」のレジスタの例を参照すると、エコーバック診断におけるメインマイコン30からの送信データが「0000」であり、受信データも「0000」で一致している。この場合、メインマイコン30は、レジスタ22のウェイクアップCANID設定領域に、正常時のウェイクアップCANIDである「FFFFFFF」を設定する。そして、外部ユニット50A~50Cからメインマイコン30を起動させるときには、外部ユニット50A~50Cは、ウェイクアップIC20に対して「FFFFFFF」のウェイクアップCANIDを送信する。
【0036】
一方、
図9は、レジスタ22においてデータ固着等の異常が発生している場合におけるデータの具体例を示している。例えば、「SWK_CTRL_6」のレジスタの例を参照すると、エコーバック診断におけるメインマイコン30からの送信データが「0000」である一方で受信データが「FFFF」となっており、両者が整合していない。この場合、メインマイコン30は、当該レジスタのアドレス番号を示す「106」と、受信データの値である「FFFF」とを組み合わせた値である「106FFFF」を故障コードとして設定する。そして、メインマイコン30は、当該故障コードを外部ユニット50A~50Cに送信する。また、メインマイコン30は、レジスタ22のウェイクアップCANID設定領域に、エコーバック診断における送信データの値である「0000」、当該レジスタのアドレス番号を示す「106」、及びウェイクアップキーの値として「F」を組み合わせた値である「0000106F」を故障時ウェイクアップCANIDとして設定する。そして、外部ユニット50A~50Cは、メインマイコン30を起動させるときに、メインマイコン30から故障コードを受信しているため、故障時ウェイクアップCANIDを特定する。具体的には、外部ユニット50A~50Cは、受信した故障コード「106FFFF」に含まれる情報を用いる。そして、メインマイコン30がレジスタ22に故障時ウェイクアップCANIDを設定したときと同様の規則を適用することによって、「0000106F」を故障時ウェイクアップCANIDとして特定する。なお、この例の場合には、外部ユニット50A~50Cが、エコーバック診断における送信データの値が「0000」であることを予め識別しているものとする。そして、外部ユニット50A~50Cは、ウェイクアップIC20に対して「0000106F」のウェイクアップCANIDを送信する。メインマイコン30では、受信した値である「0000106F」と、レジスタ22のウェイクアップCANID設定領域に設定された「0000106F」とを照合し、両者が整合(一致)しているので、メインマイコン30の起動処理を行う。
【0037】
[本実施形態による効果等]
本実施形態によれば、前述のように、レジスタ22に故障が生じている場合に、メインマイコン30が、外部ユニット50A~50Cに対し、レジスタ22の故障内容に応じた故障コードを送信する。また、メインマイコン30は、レジスタ22に対し、故障コードに対応する故障時ウェイクアップCANIDを設定する。そして、外部ユニット50A~50Cが、メインマイコン30に対する起動命令をウェイクアップIC20に対して送信するときに、故障コードを受信している場合には当該故障コードに対応する故障時ウェイクアップCANIDを送信する。これにより、セレクティブスリープモードで動作しているウェイクアップIC20におけるウェイクアップCANIDの認証処理において、レジスタ22のウェイクアップCANIDと外部ユニット50A~50Cから受信したウェイクアップCANIDとが整合する。したがって、ウェイクアップIC20がセレクティブスリープモードで動作している状態においてレジスタ22において故障が発生している場合においても、メインマイコン30を起動させることが可能となる。
【0038】
また、本実施形態では、外部ユニット50A~50Cに送信される故障コードやレジスタ22に設定する故障時ウェイクアップCANIDに、故障が発生している記憶領域のアドレス情報を含めている。これにより、ウェイクアップIC20におけるウェイクアップCANIDの認証処理において、当該故障時ウェイクアップCANIDがレジスタ22のどの記憶領域のウェイクアップCANIDに相当するものであるかを識別することが可能となる。したがって、例えば、当該故障時ウェイクアップCANIDを、故障が発生した記憶領域に対応する予備領域等に設定した場合に、どの予備領域のウェイクアップCANIDと照合するべきかを識別することが可能となる。
【0039】
さらに、本実施形態では、故障コードや故障時ウェイクアップCANIDに、エコーバック診断における送受信データの値を含めている。これにより、レジスタ22の固着等がどのように発生しているかを故障コードや故障時ウェイクアップCANIDから識別することも可能となる。なお、前述した具体例では、故障コードにエコーバック診断の受信データを含め、故障時ウェイクアップCANIDにエコーバック診断の送信データを含めているが、これは一例に過ぎない。例えば、故障コード及び故障時ウェイクアップCANIDの少なくとも一方にエコーバック診断の送信データ及び受信データの両方を含めることも可能であるし、逆にこのようなデータを含めないようにしてもよい。また、一例として、故障コードと故障時ウェイクアップCANIDとは同値であってもよい。
【0040】
また、本実施形態では、レジスタ22に故障が生じている場合に、故障フラグに当該レジスタに故障が検出されたことを示す値を設定する。そして、次回の起動時に、故障フラグを参照して、レジスタ22に故障が検出されているときには、レジスタ22の記憶領域全体を対象として故障が生じているか否かを判別している。ここで、本実施形態では、前述のように、レジスタ22に故障が発生していても正常にメインマイコン30を起動させることができる。このため、このようにレジスタ22に故障が検出されているときにエコーバック診断の対象をレジスタ22の記憶領域全体にして診断精度を上げても、支障をきたさずに起動処理を行うことができる。
【0041】
[その他]
以上に説明した本発明の実施形態は、本発明の技術的範囲で考え得る実施態様の一部に過ぎず、本発明の例示として開示されるものであって、本発明の技術的範囲を制限するものではない。また、各実施形態における機能的構成及び物理的構成は、前述の態様に限定されるものではなく、例えば、各機能や物理的資源を統合して実装したり、逆に、さらに分散して実装したり、さらには、構成の一部について他の構成の追加、削除、置換等をすることも可能である。
【符号の説明】
【0042】
1…制御システム、10…ECU、20…ウェイクアップIC、21…制御部、22…レジスタ、30…メインマイコン、31…プロセッサ、32…RAM、33…ROM、40…バッテリ、50A~50C…外部ユニット