JP2017043166A - 車両制御装置 - Google Patents

車両制御装置 Download PDF

Info

Publication number
JP2017043166A
JP2017043166A JP2015165941A JP2015165941A JP2017043166A JP 2017043166 A JP2017043166 A JP 2017043166A JP 2015165941 A JP2015165941 A JP 2015165941A JP 2015165941 A JP2015165941 A JP 2015165941A JP 2017043166 A JP2017043166 A JP 2017043166A
Authority
JP
Japan
Prior art keywords
abnormality
level
unit
vehicle control
abnormal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015165941A
Other languages
English (en)
Other versions
JP6502211B2 (ja
Inventor
統宙 月舘
Tsunamichi TSUKIDATE
統宙 月舘
成沢 文雄
Fumio Narisawa
文雄 成沢
毅 福田
Takeshi Fukuda
毅 福田
朋仁 蛯名
Tomohito Ebina
朋仁 蛯名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2015165941A priority Critical patent/JP6502211B2/ja
Publication of JP2017043166A publication Critical patent/JP2017043166A/ja
Application granted granted Critical
Publication of JP6502211B2 publication Critical patent/JP6502211B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Safety Devices In Control Systems (AREA)

Abstract

【課題】異常処理を実施しつつ動作継続性を確保することのできる車両制御装置を提供する。
【解決手段】本発明に係る車両制御装置は、異常の累積回数または頻度に応じてシステムの異常レベルを判定し、その異常レベルに応じて異なるフェールセーフ処理を実行する。
【選択図】図1

Description

本発明は、車両制御装置に関するものである。
近年の多くの車両制御システムは、電子化された車両制御機器を操作する電子制御装置(Electronic Control Unit:ECU)と、複数のECU間の通信を可能にする車載LAN(Local Area Network)から構成されている。
車両制御システムは、環境負荷の低減や安全に関する要求が増すことにともない、システムの高機能化、機能の分散化、複雑化が進んでいる。その結果、ECUのソフトウェアアーキテクチャの標準化、安全装置の電子制御化、およびその安全性確保の仕組みの重要性が増大している。
カーメーカーは、分散させた機能毎に専用のECUを用意する。そのため、1つの車両制御システム内に仕様の異なる複数のECUが混在する。標準化された車両制御装置のソフトウェアアーキテクチャを導入することにより、仕様の異なるECUを組合せて車両制御システムを構築することが容易となる。
下記非特許文献1が記載しているAUTOSARアーキテクチャにおいては、マイコンに依存する機能単位、センサやアクチュエータの制御処理のアルゴリズム単位、および設定パラメータ単位でソフトウェアがモジュール化されている。したがって、例えば車種変更などに応じてマイコンが変更されたとしても、仕様変更を要するモジュールを修正するのみで変更後の仕様に対応することができ、他のモジュールを修正する必要はない。
車両制御機器における安全装置の電子制御化にともない、機能安全の仕組みが車両制御システムに導入されてきている。機能安全とは、電気・電子システムに不具合が生じたときシステムが安全側に遷移することにより安全を確保する考えである。例えば下記非特許文献2が記載している自動車向け機能安全規格ISO26262においては、規格独自の安全度水準であるASIL(Automotive Safety Integrity Level)が設けられている。最上位レベルASIL Dに準拠するためには、車両制御装置の安全に関わる機能が、主機能/安全装置/監視装置として明確に分離して構成されていることを第3者に対し証明できることが求められている。
ISO26262においては、安全要求が異なるソフトウェア間の干渉を防止することが求められている。一般的な車両制御システムはさまざまな制御アプリケーションによって構成されているので、時間保護機能やメモリ保護機能といったシステムを構成するソフトウェア間の相互作用を防止するための仕組みが近年着目されてきている。具体的には、あるソフトウェアが暴走した場合、他のソフトウェアが使用するデータが格納されているメモリ領域へその暴走したソフトウェアがアクセスしてそのデータを破壊しようすることを防ぐ機能である。一般的な車両制御装置においてAUTOSARアーキテクチャを適用すると、車両制御システムはさまざまなASILのソフトウェアが混在することがわかっている。したがって、既存のソフトウェアがISO26262に準拠するためには、ソフトウェア間の干渉防止する仕組みが必要となる。
下記特許文献1においては、機能毎に診断機能を持ち自身の状態を判定し、異常が検出されると自身の機能の応じたフェールセーフ処理を実施する構成について言及されている。これにより、ソフトウェアに異常が発生しても、異常を検知する仕組みとそれに対処する機能が組み込まれているため、異常が発生したソフトウェアの影響が他のソフトウェアに波及することを防ぐことができる。
特開2014−115950号公報
AUTOSAR_EXP_LayeredSoftwareArchitecture ISO26262
異なる安全度水準を有するソフトウェアが混在した車両制御システムにおいては、低い安全度水準のソフトウェアからの影響を防ぐための保護機能(時間保護、メモリ保護)が必要となる。例えば時間保護は、OS(Operating System)が処理する単位であるタスクや割り込み処理に対して適用され、処理時間が想定を超える(デッドラインオーバー)ことを検出し、異常がシステム全体に伝搬しないようにする機能である。
特許文献1に記載されているような従来の車両制御システムにおいては、各処理が監視機能を備えており、異常が検出されるとフェールセーフ処理としてOSまたはシステム全体を再起動またはソフトウェアリセットする。これにより制御処理が中断し、車両制御システムの動作が少なくとも一時的に停止する可能性がある。車両の動作が(一時的であるとしても)停止すると利便性が低下するので、車両制御システム全体として動作継続性を確保することが求められる。
本発明は、上記のような課題に鑑みてなされたものであり、異常処理を実施しつつ動作継続性を確保することのできる車両制御装置を提供することを目的とする。
本発明に係る車両制御装置は、異常の累積回数または頻度に応じてシステムの異常レベルを判定し、その異常レベルに応じて異なるフェールセーフ処理を実行する。
本発明に係る車両制御装置によれば、動作継続性を確保しながら異常処理を実行することができる。
ECU1の構成図である。 時間管理テーブル510の構成とデータ例を示す図である。 処理管理テーブル520の構成とデータ例を示す図である。 動作状況管理テーブル530の例を示す図である。 機能異常管理テーブル540の構成とデータ例を示す図である。 システム異常管理テーブル550の構成とデータ例を示す図である。 判定結果管理テーブル560の例を示す図である。 ソフトウェア制御部401の動作を説明するフローチャートである。 異常管理テーブル初期化部402の動作を説明するフローチャートである。 処理実行部403の動作を説明するフローチャートである。 10ms処理実行部404の動作を説明するフローチャートである。 5ms処理実行部405の動作を説明するフローチャートである。 異常検出部406の動作を説明するフローチャートである。 機能診断部407の動作を説明するフローチャートである。 システム診断部408の動作を説明するフローチャートである。 異常レベル判定部409の動作を説明するフローチャートである。 FS実行部410の動作を説明するフローチャートである。 時間管理部411の動作を説明するフローチャートである。
図1は、本発明の実施形態に係るECU1の構成図である。ECU1は、車両が備える電気機器(例えば図1に示すスロットルセンサ7、アクチュエータ8)を電子的に制御する装置であり、演算装置(Central Processing Unit:CPU)2、メモリ3、入出力回路6を備える。
CPU2は、メモリ3が格納しているプログラムを実行するプロセッサである。以下では記載の便宜上、各プログラムを動作主体として説明する場合があるが、実際にこれらプログラムを実行するのはCPU2である。
メモリ3は、プログラム記憶領域4とデータ記憶領域5を有する。プログラム記憶領域4は、CPU2が実行するプログラムを格納する記憶領域であり、ソフトウェア制御部401、異常管理テーブル初期化部402、処理実行部403、10ms処理実行部404、5ms処理実行部405、異常検出部406、機能診断部407、システム診断部408、異常レベル判定部409、FS実行部410、時間管理部411を格納する。これら機能部の詳細については後述する。データ記憶領域5は、後述の図2〜図7で説明する各データテーブルを格納する。
入出力回路6は、スロットルセンサ7やアクチュエータ8などの外部機器に対して信号を送信し、または外部機器からの信号を受信するための信号インターフェースである。
図2は、時間管理テーブル510の構成とデータ例を示す図である。時間管理テーブル510は、ECU1が管理する時間に関する値を記述するデータテーブルである。時間管理テーブル510は、名称フィールド511、閾値フィールド512、現在値フィールド513を有する。
名称フィールド511は、時間管理テーブル510が管理するデータ項目の名称を保持する。閾値フィールド512は、各データ項目に関する閾値を保持する。閾値を有さないデータ項目については本フィールドは空である。現在値フィールド513は、各データ項目の現在値を保持する。
時間管理テーブル510が管理するデータ項目の具体例としては、例えば後述するタイマカウンタの現在値および初期化閾値、後述のフローチャートで説明する各処理の実行周期の現在値、などが挙げられる。
図3は、処理管理テーブル520の構成とデータ例を示す図である。処理管理テーブル520は、OSが管理する制御処理(機能)に関するパラメータを管理するデータテーブルである。処理管理テーブル520は、indexフィールド521、処理名フィールド522、実行周期フィールド523、安全度水準フィールド524、実行時間フィールド525、実行回数フィールド526を有する。
indexフィールド521は、処理の実行順番を示す。処理名フィールド522は、当該処理を特定するための名称を保持する。実行周期フィールド523は、当該処理が実行される周期を示す。安全度水準フィールド524は、当該処理に割り付けられたソフトウェアの安全度水準の値を保持する。“1”の場合はASILソフトウェア(要求される安全度水準が高いソフトウェア)であることを示し、“0”の場合はQMソフトウェア(要求される安全度水準が低い)であることを示す。実行時間フィールド525は、当該処理を実行するためにかかると想定される時間を保持する。実行回数フィールド526は、単位時間あたりに当該処理が実行されると想定される回数を保持する。
図4は、動作状況管理テーブル530の例を示す図である。動作状況管理テーブル530は、OSが管理する処理の動作状況を管理するデータテーブルである。動作状況管理テーブル530は、indexフィールド531、処理名フィールド532、起動許可フラグフィールド533、開始時刻フィールド534、終了時刻フィールド535、実行時間フィールド536、実行回数フィールド537を有する。
indexフィールド531は、処理の実行順番を示す。処理名フィールド532は、当該処理を特定するための名称を保持する。起動許可フラグフィールド533は、当該処理が現周期において起動を許可されているか否かを示すフラグを保持する。“0”は起動不可であることを示し、“1”は起動許可であることを示す。開始時刻フィールド534と終了時刻フィールド535は、当該処理が開始した時刻および終了した時刻をそれぞれ保持する。実行時間フィールド536は、当該処理を実行するのに実際にかかった時間を保持する。実行回数フィールド537は、単位時間あたりに当該処理が実際に実行された回数を保持する。
図5は、機能異常管理テーブル540の構成とデータ例を示す図である。機能異常管理テーブル540は、OSが管理する処理の異常状態を管理するデータテーブルである。機能異常管理テーブル540は、処理名フィールド541、閾値フィールド542、異常カウンタフィールド543を有する。
処理名フィールド541は、処理を特定するための名称を保持する。異常カウンタフィールド543は、当該処理が異常と判定された回数を保持する。閾値フィールド542は、後述の図14において異常カウンタフィールド543の値が異常であるか否かを判定するための閾値を保持する。
図6は、システム異常管理テーブル550の構成とデータ例を示す図である。システム異常管理テーブル550は、システムレベルの異常状態(ECU1全体にわたる異常)を管理するデータテーブルである。システム異常管理テーブル550は、名称フィールド551、閾値フィールド552、値フィールド553を有する。
名称フィールド551は、システム異常管理テーブル550が管理する異常パラメータの名称を保持する。値フィールド553は、当該異常パラメータの現在値を保持する。閾値フィールド552は、当該異常パラメータを用いてシステム異常レベルを判定するための閾値を保持する。
図7は、判定結果管理テーブル560の例を示す図である。判定結果管理テーブル560は、機能診断部407、システム診断部408、異常レベル判定部409による異常判定結果を管理するデータテーブルである。判定結果管理テーブル560は、名称フィールド561、値フィールド562を有する。名称フィールド561は、判定結果管理テーブル560が管理する判定結果の名称を保持する。値フィールド562は、当該判定結果の値を保持する。
図8は、ソフトウェア制御部401の動作を説明するフローチャートである。以下、図8の各ステップについて説明する。
(図8:ステップS401000)
ソフトウェア制御部401は、異常管理テーブル初期化部402を呼び出す。本ステップは、現在値を管理する各テーブルを初期化するためのものである。本ステップの詳細については後述の図9で説明する。
(図8:ステップS401001)
ソフトウェア制御部401は、処理実行部403を呼びだす。本ステップは、ECU1が実行する各制御処理を実施するためのものである。本ステップの詳細については後述の図10で説明する。
(図8:ステップS40102)
ソフトウェア制御部401は、異常検出部406を呼び出す。本ステップは、各制御処理の異常およびシステムレベルの異常(ECU1全体としての異常)を診断するためのものである。本ステップの詳細については後述の図13で説明する。
(図8:ステップS401003)
ソフトウェア制御部401は、FS実行部410を呼び出す。本ステップは、ECU1を安全状態へ移行させるフェールセーフ処理を実行するためのものである。本ステップの詳細については後述の図17で説明する。
(図8:ステップS401004)
ソフトウェア制御部401は、時間管理部411を呼び出す。本ステップの詳細については後述の図18で説明する。
(図8:ステップS401005)
ソフトウェア制御部401は、例えばECU1をシャットダウンする命令が与えられているか否かなどに基づき、動作を終了するか否かを判定する。動作を終了する場合は本フローチャートを終了し、継続する場合はステップS401000に戻る。
図9は、異常管理テーブル初期化部402の動作を説明するフローチャートである。以下、図9の各ステップについて説明する。
(図9:ステップS402000)
異常管理テーブル初期化部402は、時間管理テーブル510からタイマカウンタの現在値(図2の1行目のレコード)を取得するとともに、テーブル初期化周期(図2の2行目のレコード)を取得する。取得したタイマカウンタを取得した周期(本例においては100)で割った余りが0であればステップS402001に進み、それ以外であれば本フローチャートを終了する。
(図9:ステップS402000:補足)
本ステップは、時間管理テーブル510が定義する周期毎に異常カウント(各機能やシステム全体が異常と判断された回数)を初期化するためのものである。異常カウントを初期化せず累積回数を用いて異常判定することも考えられる。この場合は累積回数がある程度に到達した時点でシステムレベルの異常とみなすことになる。これは比較的軽微な異常を無視してシステム全体レベルの重篤な異常に至った時点でフェールセーフなどを実施することに相当する。しかし実際の運用においては、ECUが備える各機能要素において軽微なエラーが頻繁に生じているケースがしばしばある。例えばメモリのビットエラーがしばしば生じているがエラー訂正機能によって制御処理は正常に進行し、異常とはみなされないことがこれに当たる。小規模異常であってもその頻度や発生箇所の個数によっては、ECU1全体の動作に対して重篤な影響を与えるかまたはこれに近づいている可能性がある。そこで本実施形態においては、システムレベルの異常に至らないまでも現実には発生している小規模な瞬時エラーをも検出するため、異常カウントを周期的にリセットすることとした。異常カウントを一切リセットしないか、またはリセット周期を極端に長くセットすると、累積回数をカウントしていることと変わらないので、リセット周期は瞬時エラーを検出できる程度の適切な値にあらかじめセットしておく。
(図9:ステップS402001〜S402003)
異常管理テーブル初期化部402は、機能異常管理テーブル540の異常カウンタフィールド543(S402001)、システム異常管理テーブル550の値フィールド553(S402002)、動作状況管理テーブル530の開始時刻フィールド534〜実行回数フィールド537(S402003)を、それぞれ初期化する。
図10は、処理実行部403の動作を説明するフローチャートである。以下、図10の各ステップについて説明する。
(図10:ステップS403000)
処理実行部403は、時間管理テーブル510からタイマカウンタの現在値(図2の1行目のレコード)を取得する。取得したタイマカウンタを10で割った余りが0であればステップS403001に進み、それ以外であればステップS403002へスキップする。
(図10:ステップS403001)
処理実行部403は、10ms処理実行部404を呼び出す。10ms処理実行部404は、10ms周期で実施すべき制御処理を実行する。10ms処理実行部404の動作については後述の図11で説明する。処理実行部403は、本ステップにおいて10ms処理実行部404の処理完了を待機する必要はなく、10ms処理実行部を呼び出してすぐにステップS403002へ進むとともに、10ms周期処理を並列実行することができる。
(図10:ステップS403002)
処理実行部403は、時間管理テーブル510からタイマカウンタの現在値を取得する。取得したタイマカウンタを5で割った余りが0であればステップS403003に進み、それ以外であれば本フローチャートを終了する。
(図10:ステップS403003)
処理実行部403は、5ms処理実行部405を呼び出す。5ms処理実行部405は、5ms周期で実施すべき制御処理を実行する。5ms処理実行部405の動作については後述の図12で説明する。
(図10:ステップS40300とS403002の補足)
これらステップにおいてそれぞれタイマカウンタを10と5で除算しているのは、処理管理テーブル520において実行周期フィールド523がそれぞれ10と5である機能が登録されているからである。これら実行周期はあらかじめ取得しておいてもよいし、本フローチャートの適当な時点(例えばS403000の前)において取得してもよい。
図11は、10ms処理実行部404の動作を説明するフローチャートである。以下、図11の各ステップについて説明する。
(図11:ステップS404000)
10ms処理実行部404は、処理管理テーブル520が管理しているi番目の処理の実行周期フィールド523が10(ms)であれば、さらに動作状況管理テーブル530から当該処理の起動許可フラグフィールド533を取得する。実行周期フィールド523が10かつ起動許可フラグフィールド533値が1であればステップS404001に進み、それ以外であればiをインクリメントした上で本ステップを改めて実施する。
(図11:ステップS404001)
10ms処理実行部404は、時間管理テーブル510からタイマカウンタの現在値を取得し、動作状況管理テーブル530のi番目レコードの開始時刻フィールド534にその値を記録する。
(図11:ステップS404002〜S404003)
10ms処理実行部404は、i番目の処理を実行する(S404002)。10ms処理実行部404は、動作状況管理テーブル530のi番目レコードの実行回数フィールド537を1増やす。
(図11:ステップS404004)
10ms処理実行部404は、時間管理テーブル510からタイマカウンタの現在値を取得し、動作状況管理テーブル530のi番目レコードの終了時刻フィールド535にその値を記録する。
(図11:ステップS404005)
10ms処理実行部404は、10ms周期で実行する全処理を実行完了したか否かを確認する。全処理を完了した場合は本フローチャートを終了し、それ以外であればiをインクリメントしてステップS404000に戻る。
(図11:補足)
10ms処理実行部404は、各処理が完了するのを待機してから次の処理を起動する必要はなく、各処理を並列実行することもできる。その場合は各処理についてステップS404001〜S404004を並行して実行することになる。
図12は、5ms処理実行部405の動作を説明するフローチャートである。5ms処理実行部405の動作は10ms処理実行部404と概ね同様であるが、実行周期フィールド523の値が5である処理が対象となる点が異なる。
図13は、異常検出部406の動作を説明するフローチャートである。以下、図13の各ステップについて説明する。
(図13:ステップS406000)
異常検出部406は、時間管理テーブル510からタイマカウンタの現在値を取得するとともに、診断周期(図2の3行目のレコード)を取得する。取得したタイマカウンタを取得した周期(本例においては20)で割った余りが0であればステップS406001に進み、それ以外であれば本フローチャートを終了する。
(図13:ステップS406001)
異常検出部406は、機能診断部407を呼び出す。本ステップは、各機能異常を検出するためのものである。本ステップの詳細については後述の図14で説明する。
(図13:ステップS406002)
異常検出部406は、システム診断部408を呼び出す。本ステップは、システムレベル(ECU1全体レベル)の異常を検出するためのものである。本ステップの詳細については後述の図15で説明する。
(図13:ステップS406003)
異常検出部406は、異常レベル判定部409を呼び出す。本ステップは、ECU1の異常レベルを判定するためのものである。本ステップの詳細については後述の図16で説明する。
図14は、機能診断部407の動作を説明するフローチャートである。以下、図14の各ステップについて説明する。
(図14:ステップS407000)
機能診断部407は、動作状況管理テーブル530から処理iの開始時刻フィールド534と終了時刻フィールド535の値をそれぞれ取得し、その差分に基づき処理iの実行時間を算出して実行時間フィールド536に格納する。
(図14:ステップS407001)
機能診断部407は、ステップS407000において算出した実行時間と、処理管理テーブル520が格納している当該処理iの実行時間フィールド525とを比較する。算出した実行時間の方が大きければステップS407003へスキップし、小さければステップS407002へ進む。
(図14:ステップS407002)
機能診断部407は、動作状況管理テーブル530から処理iの実行回数フィールド537を取得し、処理管理テーブル520が格納している当該処理iの実行回数フィールド526と比較する。実行回数フィールド537の方が大きければステップS407003へ進み、小さければステップS407004へスキップする。
(図14:ステップS407003)
機能診断部407は、機能異常管理テーブル540のi番目レコードの異常カウンタフィールド543を1増やす。当該処理iの安全度水準フィールド524が“1”である場合はさらに、判定結果管理テーブル560が格納する高優先度処理異常フラグの値フィールド562に“1”を格納する。
(図14:ステップS407003:補足)
本実施形態においては、後述の図16で説明するように、ECU1全体としての異常レベルに応じてそれぞれ異なるフェールセーフ処理を実行する。したがって、発生している故障の程度に応じてシステム異常レベルを判定する必要がある。要求される安全度水準が高い機能が故障している場合、故障の程度は高いと考えられるので、かかる機能については異常状態を管理するフラグを格別に設けて管理することとした。
(図14:ステップS407004)
機能診断部407は、全処理について診断完了したか否かを判定する。診断完了した場合はステップS407005へ進み、それ以外であればiの値をインクリメントしてステップS407000へ戻る。
(図14:ステップS407005)
機能診断部407は、機能異常管理テーブル540の各レコードの異常カウンタフィールド543と閾値フィールド542を比較する。異常カウンタフィールド543の方が大きければ当該機能は異常であると判定する。機能診断部407は、異常であると判定した機能の個数を、判定結果管理テーブル560の機能異常数の値フィールド562に格納する。
図15は、システム診断部408の動作を説明するフローチャートである。以下、図15の各ステップについて説明する。
(図15:ステップS408000)
システム診断部408は、機能異常管理テーブル540から全処理についての異常カウンタフィールド543の値を取得する。システム診断部408は、取得した異常カウンタの合計値を処理の総個数(例えば機能異常管理テーブル540のレコード数)で除算することにより、機能異常回数の平均値を算出する。システム診断部408は、算出した平均値をシステム異常管理テーブル550の平均機能異常回数を記録するレコードの値フィールド553に格納する。
(図15:ステップS408000:補足)
本フローチャートにおいては、処理の簡易の観点から異常カウントの平均値をシステム異常レベルの判断指標として用いることとしたが、その他値を用いてもよい。例えば重要度に応じて各処理を重み付けし、各処理の異常カウントにその重みを乗算した上で合計値を求め、その結果を値フィールド553に格納してシステム異常レベルの判断指標として用いることもできる。
(図15:ステップS408001)
システム診断部408は、ステップS408000で算出した平均値と、システム異常管理テーブル550が格納している平均機能異常回数の閾値フィールド552とを比較する。算出した平均値の方が大きければステップS408002へ進み、小さければステップS408003へスキップする。
(図15:ステップS408002)
システム診断部408は、システム異常管理テーブル550のシステム異常カウンタを記録するレコードの値フィールド553を1増やす。
(図15:ステップS408003)
システム診断部408は、システム異常カウンタの値フィールド553と、システム異常管理テーブル550が格納しているシステム異常カウンタの閾値フィールド552とを比較する。値フィールド553の方が大きければステップS408004へ進み、小さければ本フローチャートを終了する。
(図15:ステップS408004)
システム診断部408は、判定結果管理テーブル560のシステム異常フラグを記録するレコードの値フィールド562に“1”を格納する。
図16は、異常レベル判定部409の動作を説明するフローチャートである。以下、図16の各ステップについて説明する。
(図16:ステップS409000)
異常レベル判定部409は、判定結果管理テーブル560からシステム異常フラグの値フィールド562を取得する。システム異常フラグの値が“1”であればステップS409001へ進み、“0”であればステップS409002へスキップする。
(図16:ステップS409001)
異常レベル判定部409は、判定結果管理テーブル560の異常レベルを記録するレコードの値フィールド562に“3”を格納する。
(図16:ステップS409002)
異常レベル判定部409は、判定結果管理テーブル560から高優先度処理異常フラグの値フィールド562を取得する。高優先度処理異常フラグの値が“1”であればステップS409001へ進み、“0”であればステップS409003へ進む。
(図16:ステップS409001〜S409002:補足)
システム異常フラグは、ステップS408003においてシステム異常カウンタが閾値以上である場合にセットされるフラグである。システム異常カウンタは機能異常回数の平均値が閾値以上である場合にカウントアップされるものである。すなわちシステム異常フラグは、多数の機能が異常であることを示しているので、これがセットされているときはシステム異常レベルが高いと考えられる。したがってこの場合の異常レベルは、本フローチャートにおける最高の“3”とすることにした。また高優先度処理異常フラグは安全要求度が高い処理が異常であることを示しているので、システム異常フラグと同様に取り扱うこととした。
(図16:ステップS409003〜S409004)
異常レベル判定部409は、判定結果管理テーブル560から機能異常数の値フィールド562を取得する。機能異常数が2より大きければ、ステップS409004において判定結果管理テーブル560の異常レベルを記録するレコードの値フィールド562に“2”を格納する。機能異常数が2以下であればステップS409005へ進む。
(図16:ステップS409005〜S409006)
異常レベル判定部409は、機能異常数が1より大きければ、ステップS409006において判定結果管理テーブル560の異常レベルを記録するレコードの値フィールド562に“1”を格納する。機能異常数が1以下であれば本フローチャートを終了する。
(図16:ステップS409003〜S409006:補足)
本フローチャートにおいては、機能異常数を基準として異常レベルをセットしているが、その基準とする個数は本フローチャートに示すものに限られず、例えば全機能数に基づき適宜定めることができる。
図17は、FS実行部410の動作を説明するフローチャートである。以下、図17の各ステップについて説明する。
(図17:ステップS410000〜S410001)
FS実行部410は、判定結果管理テーブル560から異常レベルを記録するレコードの値フィールド562を取得する。異常レベルが“3”であれば、ステップS410001においてECU1をソフトウェアリセットする。それ以外であればステップS410002へ進む。
(図17:ステップS410002〜S410003)
FS実行部410は、異常レベルが“2”であれば、ステップS410003において安全度水準フィールド524が“0”である(すなわち要求される安全度水準が低い)全ての機能の起動許可フラグフィールド533を“0”にする(すなわち起動不可にする)。それ以外であればステップS410004へ進む。
(図17:ステップS410004)
FS実行部410は、異常レベルが“1”であれば、ステップS410005において異常カウンタフィールド543が閾値フィールド542を超えている機能の起動許可フラグフィールド533を“0”にする(すなわち起動不可にする)。それ以外であれば本フローチャートを終了する。
図18は、時間管理部411の動作を説明するフローチャートである。以下、図18の各ステップについて説明する。
(図18:ステップS411000〜S411001)
時間管理部411は、時間管理テーブル510が格納しているタイマカウンタの現在値をインクリメントする。
(図18:ステップ)
時間管理部411は、時間管理テーブル510が格納しているタイマカウンタの閾値フィールド512を取得する。タイマカウンタの現在値が閾値フィールド512を超えた場合は、ステップS411002においてタイマカウンタの現在値を0にセットする。それ以外であれば本フローチャートを終了する。
<本発明のまとめ>
本実施形態に係るECU1は、単位時間当たりの機能異常数に基づきシステム異常レベルを判定し、そのシステム異常レベルに応じたフェールセーフ処理を実行する。したがって、例えばシステム異常レベルが低いときはできる限り多くの機能を維持したままでフェールセーフ動作を実行することにより、ECU1の動作継続性を高めることができる。
本実施形態に係るECU1は、個々の機能の動作状況を管理し、その動作状況に基づきシステム全体の異常レベルを判定する。これにより、ECU1全体の動作にとって障害となる重篤な異常状態に至る前に、適切なフェールセーフ処理を実行して対処することができる。
本実施形態に係るECU1は、要求される安全度水準が高い機能が異常である場合は、その他機能が異常である場合よりもシステム異常レベルが高いとみなす。これにより、例えばAUTOSARのように安全度水準について厳格に定める規格に準拠した制御を実現することができる。
<本発明の変形例について>
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換える事が可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について他の構成の追加・削除・置換をすることができる。
以上の実施形態においては、ECU1はISO26262に準拠したアーキテクチャを備えているが、本発明の対象はこれに限られずその他機能部を備えていてもよい。例えばデータを保存するための不揮発性メモリ(バックアップRAM)や水温センサなどを備えてもよい。また本発明は、車両が備える電気機器を制御する制御装置一般に対して適用することができる。
以上の実施形態においては、各閾値は1つのみであるが、例えば上限値や下限値などを用いて閾値の範囲を表現することもできる。すなわち異常判定を実施することができれば任意形式の閾値を用いることができる。
以上の実施形態においては、説明の簡易のため5ms周期処理と10ms周期処理を取り扱っているが、その他周期の処理についても本発明を適用することができる。周期処理以外の機能についても同様である。
以上の実施形態においては、安全度水準フィールド524の値としてASIL(1)とQM(0)の2種類を例示しているが、3種類以上の安全度水準を設けてもよい。以上の実施形態においては、異常レベル1〜3を例示しているが、より多くの異常レベルを設けることもできる。
以上の実施形態においては、異常レベルの個数に応じて図17で説明した3つのフェールセーフ処理を例示したが、その他のフェールセーフ処理を実施することもできるし、異常レベルの個数に応じてより多くのフェールセーフ処理を設けることもできる。いずれの場合であっても、異常レベルが高ければより安全側に倒したフェールセーフ処理を実施することが望ましい。
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に格納することができる。
1:ECU、2:CPU、3:メモリ、401:ソフトウェア制御部、402:異常管理テーブル初期化部、403:処理実行部、404:10ms処理実行部、405:5ms処理実行部、406:異常検出部、407:機能診断部、408:システム診断部、409:異常レベル判定部、410:FS実行部、411:時間管理部、510:時間管理テーブル、520:処理管理テーブル、530:動作状況管理テーブル、540:機能異常管理テーブル、550:システム異常管理テーブル、560:判定結果管理テーブル。

Claims (10)

  1. 車両の動作を制御する車両制御装置であって、
    複数の個別機能を有するシステム部の異常を検出する異常検出部、
    前記システム部の異常レベルを判定する異常レベル判定部、
    を備え、
    前記異常レベル判定部は、前記複数の個別機能それぞれについての前記異常検出部による異常検出結果に基づき、前記システム部の異常レベルを判定する
    ことを特徴とする車両制御装置。
  2. 前記車両制御装置は、
    前記異常検出部が検出した前記異常の累積回数に応じ、前記システム部の異常時処理を段階的に実行する、フェールセーフ実行部を備える
    ことを特徴とする請求項1記載の車両制御装置。
  3. 前記システム部は、前記個別機能を実行する処理実行部を備え、
    前記異常レベル判定部は、前記異常検出部が検出した前記異常の累積回数または前記異常検出部が検出した前記異常の所定時間当たりの頻度に基づき前記異常レベルを判定し、
    前記フェールセーフ実行部は、前記異常レベル判定部が判定した前記異常レベルに対応する前記異常時処理を実行する
    ことを特徴とする請求項2記載の車両制御装置。
  4. 前記車両制御装置は、前記個別機能が要求する安全レベルを定義する値を記述した処理管理テーブルを備え、
    前記異常検出部は、各前記個別機能についてそれぞれ個別に前記異常を検出し、
    前記異常レベル判定部は、前記処理管理テーブルが定義している前記安全レベルが所定レベル以上である前記個別機能について前記異常検出部が前記異常を検出した場合は、前記安全レベルが前記所定レベル未満である前記個別機能について前記異常検出部が前記異常を検出した場合よりも、前記異常レベルが高いと判定する
    ことを特徴とする請求項1記載の車両制御装置。
  5. 前記異常検出部は、各前記個別機能についてそれぞれ個別に前記異常を検出し、
    前記異常レベル判定部は、各前記個別機能それぞれについての前記累積回数に基づき算出した異常回数値、または各前記個別機能それぞれについての前記頻度に基づき算出した異常回数値が、所定の回数閾値を超えている場合は、前記システム部の異常を示すシステム異常カウンタをカウントアップし、
    前記異常レベル判定部は、前記システム異常カウンタが所定のシステム異常閾値を超えた場合は、前記異常レベルが最も高いと判定する
    ことを特徴とする請求項3記載の車両制御装置。
  6. 前記処理実行部は、前記個別機能を開始してから完了するまでの所要時間、または所定時間内における前記個別機能の実行回数を計測し、
    前記異常検出部は、前記所要時間が所定の実行時間閾値を超えている場合、または前記実行回数が所定の実行回数閾値を超えている場合は、前記累積回数または前記頻度をカウントアップする
    ことを特徴とする請求項3記載の車両制御装置。
  7. 前記異常検出部は、各前記個別機能についてそれぞれ個別に前記異常を検出し、
    前記異常検出部は、前記処理実行部が前記個別機能を実行するのにかかった所要時間が所定の実行時間閾値を超えている場合、または前記処理実行部が所定時間内において前記個別機能を実行した回数が所定の実行回数閾値を超えている場合は、その個別機能についての前記累積回数または前記頻度をカウントアップし、
    前記異常検出部は、前記累積回数または前記頻度が所定の閾値を超えている前記個別機能が異常であると判定し、
    前記異常レベル判定部は、前記異常検出部が異常であると判定した前記個別機能の個数に応じて前記異常レベルを判定する
    ことを特徴とする請求項3記載の車両制御装置。
  8. 前記フェールセーフ実行部は、前記異常レベル判定部が判定した前記異常レベルが所定の高異常レベル以上である場合は、前記異常時処理として、ソフトウェアリセットにより前記システム部を初期化する
    ことを特徴とする請求項2記載の車両制御装置。
  9. 前記異常検出部は、各前記個別機能についてそれぞれ個別に前記異常を検出し、
    前記フェールセーフ実行部は、前記異常レベル判定部が判定した前記異常レベルが所定の低異常レベル以下である場合は、前記異常時処理として、前記異常検出部が前記異常を検出した前記個別機能を起動することを禁止する
    ことを特徴とする請求項2記載の車両制御装置。
  10. 前記異常検出部は、各前記個別機能についてそれぞれ個別に前記異常を検出し、
    前記車両制御装置は、前記個別機能が要求する安全レベルを定義する値を記述した処理管理テーブルを備え、
    前記フェールセーフ実行部は、前記異常レベル判定部が判定した前記異常レベルが所定の高異常レベル未満かつ所定の低異常レベルを超えている場合は、前記異常時処理として、前記処理管理テーブルが定義している前記安全レベルが所定レベル以下である前記個別機能全てを起動することを禁止する
    ことを特徴とする請求項2記載の車両制御装置。
JP2015165941A 2015-08-25 2015-08-25 車両制御装置 Active JP6502211B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015165941A JP6502211B2 (ja) 2015-08-25 2015-08-25 車両制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015165941A JP6502211B2 (ja) 2015-08-25 2015-08-25 車両制御装置

Publications (2)

Publication Number Publication Date
JP2017043166A true JP2017043166A (ja) 2017-03-02
JP6502211B2 JP6502211B2 (ja) 2019-04-17

Family

ID=58209503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015165941A Active JP6502211B2 (ja) 2015-08-25 2015-08-25 車両制御装置

Country Status (1)

Country Link
JP (1) JP6502211B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082936A (ja) * 2019-11-19 2021-05-27 株式会社デンソー 通信システム
CN113176987A (zh) * 2021-04-29 2021-07-27 华人运通(上海)云计算科技有限公司 车控指令块的日志处理方法、装置、设备及存储介质
CN113936427A (zh) * 2020-06-29 2022-01-14 宝能汽车集团有限公司 车辆的疲劳驾驶预警方法、***、车辆及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008088885A (ja) * 2006-10-02 2008-04-17 Denso Corp 内燃機関の制御装置
JP2011040886A (ja) * 2009-08-07 2011-02-24 Denso Corp 診断装置および診断システム
JP2012089073A (ja) * 2010-10-22 2012-05-10 Denso Corp 電子制御装置、及び、これを用いた電動パワーステアリング装置
JP2012245863A (ja) * 2011-05-27 2012-12-13 Hitachi Automotive Systems Ltd 車両用制御装置
JP2013041501A (ja) * 2011-08-18 2013-02-28 Hitachi Automotive Systems Ltd 車両制御装置、車両制御システム
JP2013258689A (ja) * 2012-05-14 2013-12-26 Denso Corp フェイルセーフ制御装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008088885A (ja) * 2006-10-02 2008-04-17 Denso Corp 内燃機関の制御装置
JP2011040886A (ja) * 2009-08-07 2011-02-24 Denso Corp 診断装置および診断システム
JP2012089073A (ja) * 2010-10-22 2012-05-10 Denso Corp 電子制御装置、及び、これを用いた電動パワーステアリング装置
JP2012245863A (ja) * 2011-05-27 2012-12-13 Hitachi Automotive Systems Ltd 車両用制御装置
JP2013041501A (ja) * 2011-08-18 2013-02-28 Hitachi Automotive Systems Ltd 車両制御装置、車両制御システム
JP2013258689A (ja) * 2012-05-14 2013-12-26 Denso Corp フェイルセーフ制御装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082936A (ja) * 2019-11-19 2021-05-27 株式会社デンソー 通信システム
JP7383995B2 (ja) 2019-11-19 2023-11-21 株式会社デンソー 通信システム及び通信装置
CN113936427A (zh) * 2020-06-29 2022-01-14 宝能汽车集团有限公司 车辆的疲劳驾驶预警方法、***、车辆及可读存储介质
CN113176987A (zh) * 2021-04-29 2021-07-27 华人运通(上海)云计算科技有限公司 车控指令块的日志处理方法、装置、设备及存储介质
CN113176987B (zh) * 2021-04-29 2023-09-15 华人运通(上海)云计算科技有限公司 车控指令块的日志处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP6502211B2 (ja) 2019-04-17

Similar Documents

Publication Publication Date Title
CN105988884B (zh) 用于控制看门狗的方法和装置
US9335183B2 (en) Method for reliably operating a sensor
KR20190058310A (ko) 반도체 장치
JP6502211B2 (ja) 車両制御装置
CN105408868A (zh) 稳健的硬件/软件错误恢复***
CN108885570B (zh) 车辆控制装置
US8230446B2 (en) Providing a computing system with real-time capabilities
CN113993752B (zh) 电子控制单元和计算机可读取的记录介质
JP6955858B2 (ja) 制御装置
US9678870B2 (en) Diagnostic apparatus, control unit, integrated circuit, vehicle and method of recording diagnostic data
US20170286324A1 (en) Semiconductor device and access management method
JP2016066139A (ja) 車両制御装置
CN107179980B (zh) 用于监视计算***的方法和相应的计算***
CN111400087A (zh) 一种操作***的控制方法、终端以及存储介质
JP5518021B2 (ja) 情報処理装置
US11467865B2 (en) Vehicle control device
CN111367706B (zh) 一种多余度计算机的通道控制权切换方法及装置
US9274909B2 (en) Method and apparatus for error management of an integrated circuit system
JP2012108848A (ja) 動作ログ収集システム及びプログラム
EP3070610B1 (en) Information processing device, control method thereof, and recording medium
JP4340669B2 (ja) 入出力制御装置,入出力制御方法,プロセス制御装置及びプロセス制御方法
JP2007283788A (ja) 車両用電子制御装置
JPWO2014188764A1 (ja) 機能安全制御装置
JP5559100B2 (ja) 電子制御システム
US20220414207A1 (en) Electronic device and attack detection method of electronic device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190320

R150 Certificate of patent or registration of utility model

Ref document number: 6502211

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250