特許第5835189号(P5835189)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トヨタ自動車株式会社の特許一覧

<>
  • 特許5835189-電子制御装置 図000002
  • 特許5835189-電子制御装置 図000003
  • 特許5835189-電子制御装置 図000004
  • 特許5835189-電子制御装置 図000005
  • 特許5835189-電子制御装置 図000006
  • 特許5835189-電子制御装置 図000007
  • 特許5835189-電子制御装置 図000008
  • 特許5835189-電子制御装置 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5835189
(24)【登録日】2015年11月13日
(45)【発行日】2015年12月24日
(54)【発明の名称】電子制御装置
(51)【国際特許分類】
   B60R 16/02 20060101AFI20151203BHJP
   F02D 45/00 20060101ALI20151203BHJP
【FI】
   B60R16/02 660Q
   B60R16/02 660U
   B60R16/02 660W
   F02D45/00 370C
   F02D45/00 370A
   F02D45/00 376B
   F02D45/00 376F
【請求項の数】7
【全頁数】15
(21)【出願番号】特願2012-247830(P2012-247830)
(22)【出願日】2012年11月9日
(65)【公開番号】特開2014-94690(P2014-94690A)
(43)【公開日】2014年5月22日
【審査請求日】2014年12月22日
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】北折 一郎
【審査官】 前田 浩
(56)【参考文献】
【文献】 特開2008−144721(JP,A)
【文献】 特開2003−049704(JP,A)
【文献】 特開2004−268624(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60R 16/02
F02D 45/00
(57)【特許請求の範囲】
【請求項1】
装備が異なる他の車両と共通に車両に搭載され、車両の装備に応じて異なるアプリケーションプログラムを実行する電子制御装置であって、
前記アプリケーションプログラムを特定するためのアプリ特定情報を周期的に更新する更新手段と、
前記更新手段が更新した前記アプリ特定情報を記憶する第1のアプリ特定情報記憶手段と、
前記第1のアプリ特定情報記憶手段に記憶された前記アプリ特定情報が指示する前記アプリケーションプログラムを実行する機能提供手段と、
前回の周期で、前記更新手段が更新した前記アプリ特定情報を記憶する第2のアプリ特定情報記憶手段と、
前記第2のアプリ特定情報記憶手段に記憶された前記アプリ特定情報に対し、前記第1のアプリ特定情報記憶手段に記憶された前記アプリ特定情報が変化した場合、予め定められたフェールセーフ処理を行うフェールセーフ手段と、
を有する電子制御装置。
【請求項2】
前記更新手段は、当該電子制御装置と車載ネットワークを介して接続されたノードから車両の装備内容を示す装備情報を周期的に取得して、該装備情報に基づき前記アプリ特定情報を作成し、前記第1のアプリ特定情報記憶手段の前記アプリ特定情報を更新する、ことを特徴とする請求項1記載の電子制御装置。
【請求項3】
前記第2のアプリ特定情報記憶手段に記憶された前記アプリ特定情報に対し、前記第1のアプリ特定情報記憶手段に記憶された前記アプリ特定情報が変化した場合、前記フェールセーフ手段は、前記機能提供手段が前記アプリケーションプログラムを実行することを禁止する、
ことを特徴とする請求項1又は2記載の電子制御装置。
【請求項4】
前記第2のアプリ特定情報記憶手段に記憶された前記アプリ特定情報に対し、前記第1のアプリ特定情報記憶手段に記憶された前記アプリ特定情報が変化していた場合でも、前記第2のアプリ特定情報記憶手段に記憶された前記アプリ特定情報が不定状態の場合、前記フェールセーフ手段はフェールセーフ処理を行わない、
ことを特徴とする請求項1〜3いずれか1項記載の電子制御装置。
【請求項5】
前記第2のアプリ特定情報記憶手段に記憶された前記アプリ特定情報が不定状態であることを検出する不定状態検出手段を有し、
前記不定状態検出手段が、前記アプリ特定情報が不定状態であることを検出した場合、前記更新手段が車載ネットワークから受信した車両の装備内容を示す装備情報に基づき作成した前記アプリ特定情報にて前記第1のアプリ特定情報記憶手段の前記アプリ特定情報を更新するまで、前記機能提供手段は前記アプリケーションプログラムの実行を禁止する、
ことを特徴とする請求項1〜4いずれか1項記載の電子制御装置。
【請求項6】
前記第1のアプリ特定情報記憶手段及び前記第2のアプリ特定情報記憶手段はCPU内のSRAM(Static Random Access Memory)である、
ことを特徴とする請求項1〜5いずれか1項記載の電子制御装置。
【請求項7】
前記装備情報は、エンジンコントロールユニットが送信するエンジンの駆動方式情報、及び、トランスミッションコントロールユニットが送信するトランスミッション装置の変速方式情報である、
ことを特徴とする請求項2項記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装備が異なる他の車両と共通に車両に搭載され、車両の装備に応じて異なるアプリケーションプログラムを実行する電子制御装置に関する。
【背景技術】
【0002】
車両制御の電子化が進んでおり、1台の車両に多くの電子制御装置が搭載されている。電子制御装置は搭載される車両の装備に最適化されたプログラムを有している。
【0003】
しかしながら、車両メーカとしては多くの車種の車両に共通のソフトウェアを搭載することで電子制御装置の開発コストをコストダウンしたいという要請がある。
【0004】
そこで、装備が異なる車両に対し共通のプログラムを搭載しておき、プログラムから必要なサブルーチンなどを選択的に実行する技術が考えられている。この場合、車両の電子制御装置は装備を確認して、必要なプログラムを選択的に実行する(例えば、特許文献1参照。)。特許文献1にはエンジン制御部から受信した車両種別特定情報EDによりエンジンタイプを特定し、また、トランスミッション制御部から受信した車両種別特定情報EDによりトランスミッションタイプを特定し、特定された車両種別に対応する実行モードを選択・設定して、各車両種別に共通の汎用制御プログラムを実行する電子制御ユニットが開示されている。
【0005】
図1は、従来技術を説明する図の一例である。フラッシュメモリには汎用のプログラムが記憶されている。電子制御装置のCPUは、車載ネットワークで通信する他の電子制御装置から収集した車両情報(車両の装備を特定するための情報)をRAMに記憶し、適宜参照しながらプログラムのサブルーチンを選択して実行する(図1(a))。
【0006】
ここで、故障が発生するなどの特殊な状況を除けば、車両情報が走行中に変わることはない。しかし、不測の要因によりRAMの記憶内容に異常が生じることがないとは否定できない。仮に、RAMの記憶内容(車両情報)に異常が生じた場合、当該車両では想定されていない装備とプログラムの組み合わせが発生し、電子制御ユニットは不適合な処理を継続してしまうという問題がある。
【0007】
このため、特許文献1では、走行中に変化しない車両情報を周期的に収集してRAMの車両情報を更新する処理を行っている(図1(b)。
【0008】
しかしながら、車両情報を更新するため、他の電子制御装置から車両情報を周期的に受信する場合、受信中のノイズや通信途絶等により車両情報が異常値となるおそれが生じる。このため、特許文献1では以下の2つのタイミングで車両情報が異常値となったかどうかを検出する。
【0009】
図2(a)(b)は特許文献1において車両情報が異常値となった場合の検出方法を説明する図である。異常値の検出のため電子制御装置は、通信受信値、通信確定値(RAM内)、及び、車両種別特定情報の3つの車両情報を利用する。通信受信値は、他の電子制御装置から受信した直後の車両情報であり、通信確定値は車両情報の受信内容を確定記憶させるためのものである。車両種別特定情報には通信確定値がそのまま転送され上書きされる。CPUがプログラムの選択のために参照するのは車両種別特定情報である。
【0010】
図2(a)に示すように、ノイズないし通信途絶により車両情報が異常受信状態となった場合、通信受信値が異常値(図のF)となる。特許文献1では、異常値となったことを通信受信値のビット列を監視すること(上位ビットと下位ビットの比較)で行っており、車両情報が異常受信状態となった場合は通信受信値で通信確定値を更新しない。このため、通信確定値、及び、車両種別特定情報は前回値を維持する(Cを維持する)。
【0011】
また、図2(b)に示すように、通信確定値にデータ異常が発生する場合がある。特許文献1では、通信確定値の車両情報が異常受信状態となった場合、通信確定値から車両種別特定情報に記憶内容の転送・上書きを行なわず、車両種別特定情報が前回の記憶内容を保持するようにしている。
【0012】
したがって、特許文献1では、通信異常やデータ異常が発生しても車両種別特定情報に波及させないことで、当該車両では想定されていない装備とプログラムの組み合わせが発生することを低減できる。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2009−185788号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、特許文献1では通信異常をビット列から判定しているため、車両情報における異常の生じ方によっては異常を検出できないという問題がある。例えば、上位ビットと下位ビットに同じようにノイズが発生した場合は異常を検出できない。
【0015】
また、CPUが参照するのは車両種別特定情報であるにも関わらず、車両種別特定情報に異常が発生したことを検出していないという問題がある。
【0016】
本発明は、上記課題に鑑み、車両情報を参照してプログラムを選択して実行する電子制御装置において、参照先の車両情報が変化した場合に変化を検出できる電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【0017】
本発明は、装備が異なる他の車両と共通に車両に搭載され、車両の装備に応じて異なるアプリケーションプログラムを実行する電子制御装置であって、前記機能部分を特定するためのアプリ特定情報(例えば、ソフト切替情報)を周期的に更新する更新手段と、前記更新手段が更新した前記アプリ特定情報を記憶する第1のアプリ特定情報記憶手段(例えば、参照値のソフト切替情報)と、前記第1のアプリ特定情報記憶手段に記憶された前記アプリ特定情報が指示する前記機能部分のプログラムを実行する機能提供手段と、前回の周期で、前記更新手段が更新した前記アプリ特定情報を記憶する第2のアプリ特定情報記憶手段(例えば、前回値のソフト切替情報)と、前記第2のアプリ特定情報記憶手段に記憶された前記アプリ特定情報に対し、前記第1のアプリ特定情報記憶手段に記憶された前記アプリ特定情報が変化した場合、予め定められたフェールセーフ処理を行うフェールセーフ手段と、を有することを特徴とする。
【発明の効果】
【0018】
車両情報を参照してプログラムを選択して実行する電子制御装置において、参照先の車両情報が変化した場合に変化を検出できる電子制御装置を提供することができる。
【図面の簡単な説明】
【0019】
図1】従来技術を説明する図の一例である。
図2】特許文献1に記載されている車両情報が異常値となったことの検出を説明する図である。
図3】電子制御装置の動作の概略を説明する図の一例である。
図4】車載システムの概略構成図の一例である。
図5】電源ECUの機能ブロック図の一例である。
図6】ソフト切替情報の作成を説明する図の一例である。
図7】電源ECUの動作手順を示すフローチャート図の一例である(実施例1)。
図8】電源ECUの動作手順を示すフローチャート図の一例である(実施例2)。
【発明を実施するための形態】
【0020】
以下、本発明を実施するための形態について図面を参照しながら説明する。しかしながら、本発明の技術的範囲が、本実施の形態に限定されるものではない。
【実施例1】
【0021】
図3は、本実施例における電子制御装置の動作の概略を説明する図の一例である。
(1)本実施例の電子制御装置は、他の電子制御装置から収集した車両情報からアプリを決定するためのソフト切替情報を作成しSRAM19に記憶する。このソフト切替情報を参照値と称することにする。ソフト切替情報は定期的に更新される。CPU11は、ソフト切替情報を適宜参照しながらプログラムに含まれるアプリA〜Dを選択して実行する(図3(a))。ソフト切替情報を参照したCPU11は、それを前回値としてSRAM19に格納する。
(2)参照値のソフト切替情報は定期的に更新される(ソフト切替情報1から2に更新されたものとする)。CPU11はアプリA〜Dを選択する際に、参照値のソフト切替情報2をSRAM19から読み出すと共に、前回値のソフト切替情報2をSRAM19から読み出す。そして、両者を比較して参照値が前回値と一致した場合に、アプリA〜Dを選択して制御を実行する(図3(b))。こうすることで、ソフト切替情報が変化していない場合にだけアプリA〜Dを実行するので、当該車両では想定されていない不適合な装備とプログラムの組み合わせが発生することを低減できる。参照値が前回値と一致した場合、CPU11は参照値を前回値としてSRAM19に格納する(前回値がソフト切替情報2になる。)。
(3)また、ソフト切替情報2がソフト切替情報3に更新されたが、ソフト切替情報3がソフト切替情報2に対し変化していたとする。この場合、参照値と前回値が一致しないので、CPU11はアプリA〜Dを選択することなく、適切なフェールセーフ処理を行うことができる(図3(c))。すなわち、本来変化しないはずのソフト切替情報が変化したことを検出できたので、不測の要因によりSRAM19の記憶内容に異常が生じたと判定できる。
【0022】
したがって、本実施例の電子制御装置によれば、想定されていない不適合な装備とプログラムの組み合わせが発生することを低減できるだけでなく、参照値に異常が生じたことを直接、検出することができる。また、前回値と参照値を直接比較するので、ソフト切替情報のビット列などから異常を検出するよりも確実に変化を検出できる。
【0023】
〔構成例〕
図4は、車載システムの概略構成図の一例を示す。車載システム500は、CAN(Controller Area Network)等の車載ネットワークに各種の電子制御装置が接続された構成となっている。電子制御装置は、ECU(Electronic Control Unit)とも呼ばれ、図では電源ECU100、エンジンECU200及びT/M_ECU300が接続されている。エンジンECU200及びT/M_ECU300は、電源ECU100がアプリを選択するための車両情報を送信するノードであればよく、図示するECUの他にECUが存在してもよい。電源ECU100は、特許請求の範囲の電子制御装置に相当するが、他のECUに対しても以下の実施例にて説明する制御を適用可能である。
【0024】
電源ECU100は、CPU11、RAM12、フラッシュメモリ13、I/O14、及び、CANコントローラ15を有している。また、I/O14にはエンジンSW16、ストップランプスイッチ17及びシフトポジションセンサ18が接続されている。CPU11はSRAM(Static RAM)19を有している。SRAM19は例えばレジスタ又はキャッシュメモリである。SRAMはフリップフロップを記憶素子とし、DRAM(Dynamic RAM)と比較すると高速なメモリである。SRAM19はCPU11内にあることが一般的だが、バスを介してCPU11と接続されていてもよい。SRAM19は本来は揮発性メモリだが、電源ECU100にはIG−OFFでもバッテリ400から電力が供給されているので、不揮発メモリとして扱うことができる。
【0025】
SRAM19にはソフト切替情報が、フラッシュメモリ13にはプログラム9がそれぞれ記憶されている。ソフト切替情報はRAM12やフラッシュメモリ13などの不揮発メモリに記憶してもよい。CANコントローラ15はCANバス20に流れるCANフレームを受信したり、CANバス20にCANフレームを送信したりする通信装置である。CANコントローラ15は次述するエンジン情報及びT/M情報を受信する。
【0026】
エンジンSW16は、例えば、エンジン始動のために乗員が押圧操作するプッシュ型のモーメンタリースイッチである。ただしエンジンSW16は、メカニカルキーを挿入可能になっており、乗員がメカニカルキーを回動操作した場合もエンジン始動することができる。ストップランプスイッチ17は、運転者がブレーキペダルを踏み込んだ時にONとなるスイッチである。シフトポジションセンサ18は、シフトレバーの操作位置を検出するセンサである。
【0027】
電源ECU100はスタータリレーのON/OFFを制御することでエンジン始動やシステム始動(ハイブリッド車(HV)や電気自動車(EV)の場合)を制御し、また、バッテリー400の充電制御(アイドリング時、定速走行時、減速時毎に発電電圧を変更する)などを行う。また、エンジンSW16の操作等に伴ってIG1リレー、IG2リレー、及び、ACCリレーを制御する。
【0028】
例えば、ブレーキペダルが踏み込まれ、かつ、シフトポジションがP又はNの状態でエンジンSW16がONされると、電源ECU100はスタートリレーをONにすることでエンジンを始動する。エンジンが始動した場合は、ACCリレー、IG1リレー及びIG2リレーをONにする。なお、ブレーキペダルが踏み込まれていない場合は、エンジンスイッチがONになる度に、ACCリレーON → IG1リレーON → ACCリレーOFF・IG1リレーOFFを繰り返す。
【0029】
ACCリレーがONになることでACCリレーに接続された補機(例えば、AV、ナビ系統など)が作動し、IG1リレーがONになることでIG1リレーに接続された補機(メータ、ワイパーなど)が作動し、IG2リレーがONになることでIG2リレーに接続された補機(イグニッション、イグナイタなど)が作動する。また、IG2リレーがON(エンジン動作中)であることをIG−ON状態という場合がある。なお、全てのリレーがOFFの状態をIG−OFF状態といい、この状態でも各ECUには、割り込みを受け付けて作動したり、SRAM19のデータを保持するための最小限の電力がバッテリー400から供給されている。
【0030】
また、HV車やEV車の場合、IG−ON状態に相当する状態をReady−ON状態といい、この場合、エンジンは作動中の場合と停止中の場合がある。また、IG−OFF状態に相当する状態をReady−OFF状態という。
【0031】
エンジンECU200は、内燃機関としてのエンジンの燃料噴射制御、点火時期制御、スロットル開度制御等、各種の制御を行う。エンジンにはガソリンを燃料とするレシプロエンジン、軽油を燃料とするディーゼルエンジンなどがあり、さらに、気筒数や排気量の違いなどから様々な種類のエンジンがある。また、HV車ではエンジンとモータの少なくとも一方を動力とし、エンジンを用いずモータのみを動力とするEV車も存在する。さらに、HV車には家庭用電源から充電可能なプラグインハイブリッド車(PEHV)というタイプがある。また、HV車又はPEHV車には、エンジン駆動とモータ駆動の制御方式の違いによりシリーズ方式、パラレル方式又はシリーズ・パラレル方式の3方式がある。また、EV車には、モータの数や配置場所(車体上かホイール内か)などによる違いがある。これらの駆動方式の違いの大部分は、エンジンECU200だけで吸収可能だが、違いによっては、エンジンECU200以外の電子制御装置が違いに対応した処理を行う必要を生じさせる。エンジンECU200は、他の電子制御装置が駆動方式の違いに対応した処理を行うことができるように、駆動方式を特定するためのエンジン情報を周期的に車載ネットワークに送信している。
【0032】
また、T/M_ECU300はトランスミッション装置を制御する。トランスミッション装置には、マニュアルトランスミッション、オートマチックトランスミッション、及び、CVT(無段変速装置)などがある。これらの変速方式の違いの大部分は、T/M_ECU300だけで吸収可能だが、違いによってはT/M_ECU300以外の電子制御装置が違いに対応した処理を行う必要を生じさせる。T/M_ECU300は、他の電子制御装置が変速方式の違いに対応した処理を行うことができるように、変速方式を特定するためのT/M情報を周期的に車載ネットワークに送信している。
【0033】
〔電源ECUの機能〕
図5は、電源ECU100の機能ブロック図の一例を示す。電源ECU100は、ソフト切替情報作成部21、アプリ選択部22、ソフト切替情報変化判定部23、フェールセーフ部24、及び、電源制御部25を有している。これらは、CPU11がフラッシュメモリ13に記憶された不図示のプログラム(アプリA〜D以外の)を実行することで実現される。
【0034】
ソフト切替情報作成部21は、エンジン情報とT/M情報からソフト切替情報を作成する。ソフト切替情報は、電源ECU100が複数のアプリA〜Dのうちどのアプリを実行するかを特定する情報である。
【0035】
エンジン情報とソフト切替情報は走行中(例えば、ガソリン車:IG−ON状態、HV車・EV車:Ready−ON状態であるが、ACC―ON状態において装備が変化することは少ない)に変動することはないが、SRAM19に記憶されたままでは不測の要因によりソフト切替情報に異常が生じるおそれがある。このため、ソフト切替情報作成部21は、周期的(例えば、エンジン情報とT/M情報を受信する毎、1秒毎、1分毎など)にソフト切替情報を作成してSRAM19に記憶する。すなわち、SRAM19に記憶されている参照値のソフト切替情報は周期的に更新される。なお、参照値のソフト切替情報と前回値のソフト切替情報は、それぞれ記憶領域191,192に記憶されるものとする。記憶領域191,192は、複数のレジスタの1つ又はキャッシュメモリの領域である。
【0036】
<アプリについて>
フラッシュメモリ13に記憶されているプログラム9は、例えばエンジンの駆動方式やトランスミッション装置の変速方式(以下、車両システムという)の違いに関係なく電源ECU100に搭載される共通の(汎用の)プログラムである。このプログラム9は、複数のアプリ、サブルーチン、モジュール又はタスクと呼ばれる機能(以下、単にアプリという)に分割されており、電源ECU100は、車両システムに応じて必要なアプリを実行する。電源ECU100が行う処理は主に車両の電源制御に関する処理である。
【0037】
したがって、アプリA〜Dは、駆動方式や変速方式に固有の制御を反映したものである。例えば、ガソリン車やディーゼル車では、エンジンSW16のONにより電源ECU100がすぐにスタートリレーをONにしてエンジンを始動させる。また、エンジン始動後は、その状態が維持され走行中にエンジンが停止することはない。
【0038】
これに対しHV車では、エンジンのアイドリングを停止した状態でモータのみで始動する場合がある。また、HV車は車速が上がったり、運転者が加速要求するとエンジンを始動させ、エンジン駆動が不要になるとエンジンを停止させる場合がある。このため、HV車の電源ECU100は、上記のReady−ON状態を有し、エンジン始動が可能であることを、エンジンECU200に例えば「READY」信号を出力することで通知している。READY信号はエンジンが始動するまで保持される。
【0039】
このように、ガソリン車とHV車ではエンジン始動・停止の制御が異なっており、アプリA〜Dはガソリン車とHV車とにそれぞれ固有の制御が反映されたものとなっている。
【0040】
また、マニュアル車とオートマチック車とでは以下のような違いがある。例えば、オートマチック車の場合はシフトロック機構が装備されているので、P(パーキング)ポジションから他のポジションへの切り換えが禁止される場合がある。マニュアル車の場合、クラッチペダルを踏み込めばそのような禁止制御は行われない。このように、マニュアル車とオートマチック車とシフトロック及び必要な制御の有無が異なっており、アプリA〜Dはマニュアル車とオートマチック車とにそれぞれ固有の制御が反映されたものとなっている。
【0041】
<ソフト切替情報について>
図6はソフト切替情報の作成を説明する図の一例である。車両システムに対応づけて、アプリの識別情報(アプリA〜D)が登録されている。ソフト切替情報作成部21は、エンジン情報とT/M情報から車両システムを特定しこのようなテーブルを参照して、ソフト切替情報を作成する。また、図6ではソフト切替情報はアプリA〜Dそのものであるが、アプリA〜Dの先頭アドレス、ラベル名などが登録されていてもよい。
【0042】
なお、ソフト切替情報は、エンジン情報とT/M情報以外の車両情報からも作成されてもよい。すなわち、車両情報は、アプリA〜Dの切り替えを必要とする装備に関するものであればよい。
【0043】
<ソフト切替情報の変化の検出>
図5に戻り、アプリ選択部22は、車両システムに特有の処理を行う際(車両システムに応じて異なる制御が必要な処理を実行する際)、アプリA〜Dから適切なアプリを選択するため、参照値のソフト機切替情報を読み出す。従来は、このアプリをそのまま電源制御部25に通知していたが、本実施例ではソフト切替情報変化判定部23が、アプリ選択部22から参照値のソフト切替情報を取得して、SRAM19の前回値のソフト切替情報と比較する。ソフト切替情報は変化しないはずなので参照値と前回値は一致するはずである。ソフト切替情報変化判定部23は、比較結果(一致/不一致)をアプリ選択部22に通知する。アプリ選択部22は一致という比較結果を取得した場合に電源制御部25にソフト切替情報を通知する。
【0044】
これにより、電源制御部25は車載システム500に適合した制御を行うことができる。また、一致した場合、ソフト切替情報変化判定部23は、前回値を参照値で更新する。
【0045】
また、前回値と参照値が一致しなかった場合、ソフト切替情報変化判定部23はフェールセーフ部24にフェールセーフ処理を要求する。フェールセーフ部24は、例えばシステムを停止する。システムの停止とは少なくともアプリA〜Dを一切、実行しないことをいう。アプリA〜D以外の不図示のプログラムについては実行可能であるが、全てのプログラムの実行を停止しシステム全体を停止してもよい。
【0046】
また、前回値は正しいはずなので(前回値の前のソフト切替情報と一致したため)、システム停止するのでなく、アプリ選択部22に前回値のソフト切替情報を通知してもよい。しかし、連続して前回値と参照値が一致しない場合や頻繁に不一致が発生する場合には、フェールセーフ部24がシステムを停止する。こうすることで、一時的なノイズ等により参照値が変更された場合にシステム停止しないので、運転者が違和感を感じる機会を低減できる。
【0047】
なお、図5では参照値も前回値もSRAM19に記憶されている。参照値はアプリ選択のため参照されるので、ソフト切替情報作成部21がCPU11のSRAM19に記憶しておくことで参照時にCPU11に読み出す必要をなくすことができる。また、参照値は前回値と比較されるので、アプリ選択部22が参照後にCPU11のSRAM19に記憶しておくことで比較時にCPU11に読み出す必要をなくすことができる。よって、参照値と前回値をSRAM19に記憶することで、RAM12に記憶するよりも比較処理を高速化できる。
【0048】
なお、本実施例は、参照値と前回値のソフト切替情報をRAM12に記憶しておくことを禁止する意図はなく、参照値、前回値の一方をSRAM19に他方をRAM12などの他の記憶手段に記憶してもよい。また、参照値と前回値の一方又は両方をフラッシュメモリや記憶手段を備えた回路の空きメモリに記憶してもよい。
【0049】
〔動作手順〕
図7は、電源ECU100の動作手順を示すフローチャート図の一例である。図7(a)はソフト切替情報の更新手順を、図7(b)はアプリの実行手順をそれぞれ示す。図7(a)(b)の処理手順は、電源ECU100にバッテリー400が接続され、電子制御装置の起動中に繰り返し実行される。
【0050】
CANコントローラは自身が受信すべきCANフレームであるエンジン情報とT/M情報を受信する。ソフト切替情報作成部21はエンジン情報とT/M情報を受信したことを契機に処理を行う(S1のYes)。
【0051】
ソフト切替情報作成部21はエンジン情報とT/M情報からソフト切替情報を作成する(S2)。
【0052】
そして、SRAM19に参照値としてソフト切替情報を記憶することで、周期的にソフト切替情報を更新する(S3)。
【0053】
次に、アプリ選択部22は、参照値のソフト切替情報をSRAM19から読み出す(S10)。アプリ選択部22は参照値のソフト切替情報をソフト切替情報変化判定部23に送出する。
【0054】
ソフト切替情報変化判定部23は車両が走行中か否かを判定する(S20)。これは、車両の走行中は、車載システム500が変更されることがないためである。車両が走行中とは、IG−ON状態(HV車の場合はReady−ON状態)であることを言う。なお、故障が発生した場合は、走行中でも車載システム500が変更されることが生じうる。車両が走行中でない場合(S20のNo)、処理はステップS50に進む。
【0055】
車両が走行中の場合(S20のYes)、ソフト切替情報変化判定部23は参照値が前回値に対し変化したか否かを判定する(S30)。
【0056】
変化していた場合(S30のYes)、走行中にソフト切替情報が変化するはずがないので、フェールセーフ部24がシステムを停止するなどのフェールセーフ処理を行う(S40)。
【0057】
なお、前回値が不定の場合がある。これは、マイコンによっては復帰処理によりリセット解除後(リセットON→リセットOFF)にSRAM19の内容が不定となるものがあるためである(SRAMの性質によりリセットによりゼロにならない)。この場合、前回値と参照値のアドレスに不定なデータが記憶されていても一致しない場合が多い。また、CANバス20を介した通信が始まることで、車載システム500を反映したソフト切替情報が作成され、参照値が更新された段階でも参照値と前回値が異なってしまう。
【0058】
このようにマイコンの復帰時には参照値と前回値が不一致になるが、復帰時にはフェールセーフ処理は不要なので、前回値に不定のソフト切替情報が記憶されており、参照値が正常値(不定でない)であれば、ソフト切替情報変化判定部23は参照値と前回値が一致していると判定する(又は一致判定の対象外とする)。不定であることの検出については実施例2にて説明する。
【0059】
参照値が前回値に対し変化していなかった場合(S30のNo)、ソフト切替情報に変化はないので、電源制御部25が参照値のソフト切替情報に基づきアプリA〜Dのいずれかを選択して制御を行う(S50)。
【0060】
以上説明したように、本実施例によれば、車両走行中には装備が変わることはあり得ないことを利用して、SRAM19の参照値のソフト切替情報が変化したことを直接、検出し、想定されていない不適合な装備とプログラムの組み合わせが発生することを低減できる。
【実施例2】
【0061】
車両の大規模なメンテナンスや検査、又は、修理などでエンジンやトランスミッション装置を取り外して交換したり、部品交換、修復等が行われる場合がある。この場合、物理的に装備が変更されたので、電源ECU100が実行するアプリは変更後の装備に対応したものであるべきである。換言すると、物理的に装備が変更された場合は、変更前の装備に対応したアプリを実行すべきではない。
【0062】
そこで、本実施例では、修理時にはバッテリー400が外されることを利用して、装備の変更に対応したアプリの実行を可能とする電源ECU100について説明する。
【0063】
具体的には、IG−OFF状態(又はReady−OFF状態)でもバッテリー400が接続された状態ではSRAM19の内容が保持されているが、バッテリー400が外されることでSRAM19の内容は消失する。また、修理後にバッテリー400を装着すると、マイコンがリセットされSRAM19の内容が不定となる。
【0064】
したがって、SRAM19に記憶されたソフト切替情報が不定の場合は、修理等により装備が変更されている可能性がある(単にマイコンがリセットされた場合も不定になる)。よって、ソフト切替情報が不定の場合は、新たな車載システム500からソフト生成情報を作成するまでアプリを実行しないことで、変更前の装備に対応したアプリを実行できる。
【0065】
〔不定の検出〕
上記のようにマイコンによってはリセット解除後にSRAM19の内容が不定になるため、電源ECU100が復帰したため(再起動したため)にSRAM19に記憶される値が不定となる期間がある。
【0066】
ソフト切替情報が不定であること、又は、正常値であることの判定は、特許文献1の手法を利用できる。すなわち、ソフト切替情報のビット列を前半部分と後半部分とに区切り(例えば、8bitを4bitと4bitに区切る)、以下のようにソフト切替情報を2つ記録しておく。例えば、ソフト切替情報が0x5Aの場合、前半と後半を反転させて0xA5というソフト切替情報を作成して、0x5Aと0xA5をどちらも前回値として記憶しておく。どちらかのソフト切替情報の前半部分と後半部分とを交換することで、2つのソフト切替情報が一致する。ソフト切替情報が不定であったり、正常値でない場合はソフト切替情報の前半部分と後半部分とを交換しても互いに一致しないので、不定であること又は正常値でないことを検証できる。
【0067】
また、別の例として、ソフト切替情報のビット列を反転させて、元のソフト切替情報とビット列が反転されたソフト切替情報を記録しておいてもよい。ソフト切替情報が不定であったり、正常値でない場合は一方のソフト切替情報のビット列を反転させても互いに一致しないので、不定であること又は正常値でないことを検証できる。
【0068】
〔動作手順〕
図8は、電源ECU100の動作手順を示すフローチャート図の一例である。図8において図7(b)と同一の処理はその主要部のみを説明する場合がある。
【0069】
まず、アプリ選択部22は、参照値のソフト切替情報をSRAM19から読み出す(S10)。アプリ選択部22は参照値のソフト切替情報をソフト切替情報変化判定部23に送出する。
【0070】
ここで、ソフト切替情報変化判定部23は、前回値が不定か否かを判定する(S12)。前回値が不定でない場合(S12のNo)、処理はステップS20に移行する。
【0071】
前回値が不定の場合(S12のYes)、ソフト切替情報変化判定部23はアプリ選択部22に通知するので、アプリ選択部22は電源制御部25にソフト切替情報を指示しない。これにより、アプリ制御を禁止する(S14)。
【0072】
その後、アプリ選択部22はソフト切替情報作成部21がソフト切替情報を新たに作成するまで待機する(S16)。ソフト切替情報は、IG−ONにより各ECUが車両情報を送信することで作成されるので、IG−ONにより各ECUが車両情報を送信するまでアプリは実行されない。
【0073】
ソフト切替情報が新たに作成され参照値が更新された場合(S16のYes)、処理はS10に戻り、この後は実施例1と同様に処理される。なお、前回値は不定のままなので、ソフト切替情報が新たに作成された場合、アプリ選択部22が参照値を前回値にコピーしておくことが好ましい。これにより、ステップS30で前回値と参照値が一致しないと判定されることを防止できる。
【0074】
したがって、電源制御部25は、装備が変更された後の正しいソフト切替情報に基づき、適切なアプリを選択して実行できる(S50)。
【0075】
したがって、本実施例によれば、実施例1の効果に加え、電源ECU100が復帰した際にアプリ制御を停止して、新たなソフト切替情報の作成まで待機することで、装備の変更があっても装備との組み合わせに適合したアプリを実行できる。また、ソフト切替情報が不定の場合に、ステップS30で前回値と参照値が不一致であると判定され、フェールセーフ処理してしまうことを防止できる。
【符号の説明】
【0076】
11 CPU
12 RAM
13 フラッシュメモリ
14 I/O
15 CANコントローラ
16 エンジンSW
17 ストップランプスイッチ
18 CANバス
19 SRAM
100 電源ECU
191,192 記憶領域
図1
図2
図3
図4
図5
図6
図7
図8