JP6502211B2 - Vehicle control device - Google Patents

Vehicle control device Download PDF

Info

Publication number
JP6502211B2
JP6502211B2 JP2015165941A JP2015165941A JP6502211B2 JP 6502211 B2 JP6502211 B2 JP 6502211B2 JP 2015165941 A JP2015165941 A JP 2015165941A JP 2015165941 A JP2015165941 A JP 2015165941A JP 6502211 B2 JP6502211 B2 JP 6502211B2
Authority
JP
Japan
Prior art keywords
abnormality
level
unit
vehicle control
predetermined
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.)
Active
Application number
JP2015165941A
Other languages
Japanese (ja)
Other versions
JP2017043166A (en
Inventor
統宙 月舘
統宙 月舘
成沢 文雄
文雄 成沢
毅 福田
毅 福田
朋仁 蛯名
朋仁 蛯名
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/en
Publication of JP2017043166A publication Critical patent/JP2017043166A/en
Application granted granted Critical
Publication of JP6502211B2 publication Critical patent/JP6502211B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Safety Devices In Control Systems (AREA)

Description

本発明は、車両制御装置に関するものである。   The present invention relates to a vehicle control device.

近年の多くの車両制御システムは、電子化された車両制御機器を操作する電子制御装置(Electronic Control Unit:ECU)と、複数のECU間の通信を可能にする車載LAN(Local Area Network)から構成されている。   Many recent vehicle control systems consist of an electronic control unit (ECU) that operates computerized vehicle control devices, and an in-vehicle LAN (Local Area Network) that enables communication between multiple ECUs. It is done.

車両制御システムは、環境負荷の低減や安全に関する要求が増すことにともない、システムの高機能化、機能の分散化、複雑化が進んでいる。その結果、ECUのソフトウェアアーキテクチャの標準化、安全装置の電子制御化、およびその安全性確保の仕組みの重要性が増大している。   Vehicle control systems are becoming more sophisticated, decentralized, and more complex as the environmental load reduction and safety requirements increase. As a result, standardization of the software architecture of ECUs, the electronic control of safety devices, and the mechanism for ensuring their safety are increasing.

カーメーカーは、分散させた機能毎に専用のECUを用意する。そのため、1つの車両制御システム内に仕様の異なる複数のECUが混在する。標準化された車両制御装置のソフトウェアアーキテクチャを導入することにより、仕様の異なるECUを組合せて車両制御システムを構築することが容易となる。   The car maker prepares a dedicated ECU for each of the distributed functions. Therefore, a plurality of ECUs having different specifications coexist in one vehicle control system. By introducing a standardized vehicle control device software architecture, it becomes easy to combine the ECUs with different specifications to construct a vehicle control system.

下記非特許文献1が記載しているAUTOSARアーキテクチャにおいては、マイコンに依存する機能単位、センサやアクチュエータの制御処理のアルゴリズム単位、および設定パラメータ単位でソフトウェアがモジュール化されている。したがって、例えば車種変更などに応じてマイコンが変更されたとしても、仕様変更を要するモジュールを修正するのみで変更後の仕様に対応することができ、他のモジュールを修正する必要はない。   In the AUTOSAR architecture described in Non-Patent Document 1 below, software is modularized in functional units dependent on a microcomputer, algorithmic units for control processing of sensors and actuators, and setting parameter units. Therefore, even if the microcomputer is changed according to, for example, a change in vehicle type, it is possible to cope with the changed specification only by correcting the module requiring the specification change, and it is not necessary to correct other modules.

車両制御機器における安全装置の電子制御化にともない、機能安全の仕組みが車両制御システムに導入されてきている。機能安全とは、電気・電子システムに不具合が生じたときシステムが安全側に遷移することにより安全を確保する考えである。例えば下記非特許文献2が記載している自動車向け機能安全規格ISO26262においては、規格独自の安全度水準であるASIL(Automotive Safety Integrity Level)が設けられている。最上位レベルASIL Dに準拠するためには、車両制御装置の安全に関わる機能が、主機能/安全装置/監視装置として明確に分離して構成されていることを第3者に対し証明できることが求められている。   With the electronic control of safety devices in vehicle control equipment, functional safety mechanisms have been introduced into vehicle control systems. Functional safety is an idea of securing safety by transitioning to the safe side when a failure occurs in the electric / electronic system. For example, in the automotive functional safety standard ISO26262 described in Non-Patent Document 2 below, ASIL (Automotive Safety Integrity Level), which is a safety level unique to the standard, is provided. In order to comply with the highest level ASIL D, it is possible to prove to a third party that the functions relating to the safety of the vehicle control device are clearly configured separately as the main function / safety device / monitoring device. It has been demanded.

ISO26262においては、安全要求が異なるソフトウェア間の干渉を防止することが求められている。一般的な車両制御システムはさまざまな制御アプリケーションによって構成されているので、時間保護機能やメモリ保護機能といったシステムを構成するソフトウェア間の相互作用を防止するための仕組みが近年着目されてきている。具体的には、あるソフトウェアが暴走した場合、他のソフトウェアが使用するデータが格納されているメモリ領域へその暴走したソフトウェアがアクセスしてそのデータを破壊しようすることを防ぐ機能である。一般的な車両制御装置においてAUTOSARアーキテクチャを適用すると、車両制御システムはさまざまなASILのソフトウェアが混在することがわかっている。したがって、既存のソフトウェアがISO26262に準拠するためには、ソフトウェア間の干渉防止する仕組みが必要となる。   According to ISO26262, it is required to prevent interference between software whose safety requirements are different. Since a general vehicle control system is configured by various control applications, a mechanism for preventing interaction between software configuring the system, such as a time protection function and a memory protection function, has recently been focused on. Specifically, it is a function to prevent the runaway software from accessing the memory area where data used by other software is stored and attempting to destroy the data when certain software runs away. Applying the AUTOSAR architecture in a common vehicle control system, the vehicle control system is known to be mixed with various ASIL software. Therefore, in order for existing software to conform to ISO26262, a mechanism for preventing interference between software is required.

下記特許文献1においては、機能毎に診断機能を持ち自身の状態を判定し、異常が検出されると自身の機能の応じたフェールセーフ処理を実施する構成について言及されている。これにより、ソフトウェアに異常が発生しても、異常を検知する仕組みとそれに対処する機能が組み込まれているため、異常が発生したソフトウェアの影響が他のソフトウェアに波及することを防ぐことができる。   Patent Document 1 mentioned below refers to a configuration that has a diagnostic function for each function, determines its own state, and executes fail-safe processing according to its own function if an abnormality is detected. As a result, even if an abnormality occurs in the software, a mechanism for detecting the abnormality and a function to cope with the abnormality are incorporated, so that the influence of the software in which the abnormality has occurred can be prevented from spreading to other software.

特開2014−115950号公報JP, 2014-115950, A

AUTOSAR_EXP_LayeredSoftwareArchitectureAUTOSAR_EXP_LayeredSoftwareArchitecture ISO26262ISO26262

異なる安全度水準を有するソフトウェアが混在した車両制御システムにおいては、低い安全度水準のソフトウェアからの影響を防ぐための保護機能(時間保護、メモリ保護)が必要となる。例えば時間保護は、OS(Operating System)が処理する単位であるタスクや割り込み処理に対して適用され、処理時間が想定を超える(デッドラインオーバー)ことを検出し、異常がシステム全体に伝搬しないようにする機能である。   In a vehicle control system in which software having different safety levels is mixed, a protection function (time protection, memory protection) is required to prevent the influence from software with low safety levels. For example, time protection is applied to tasks and interrupt processing that are units to be processed by the OS (Operating System), and it is detected that the processing time exceeds an assumption (deadline over) so that an abnormality does not propagate to the entire system. Function.

特許文献1に記載されているような従来の車両制御システムにおいては、各処理が監視機能を備えており、異常が検出されるとフェールセーフ処理としてOSまたはシステム全体を再起動またはソフトウェアリセットする。これにより制御処理が中断し、車両制御システムの動作が少なくとも一時的に停止する可能性がある。車両の動作が(一時的であるとしても)停止すると利便性が低下するので、車両制御システム全体として動作継続性を確保することが求められる。   In the conventional vehicle control system as described in Patent Document 1, each process has a monitoring function, and when an abnormality is detected, the OS or the entire system is restarted or software reset as a failsafe process. This may interrupt the control process and may at least temporarily stop the operation of the vehicle control system. If the operation of the vehicle is stopped (even if it is temporary), the convenience is reduced, and therefore it is required to ensure the operation continuity of the entire vehicle control system.

本発明は、上記のような課題に鑑みてなされたものであり、異常処理を実施しつつ動作継続性を確保することのできる車両制御装置を提供することを目的とする。   The present invention has been made in view of the problems as described above, and an object of the present invention is to provide a vehicle control device capable of securing operation continuity while performing abnormality processing.

本発明に係る車両制御装置は、異常の累積回数または頻度に応じてシステムの異常レベルを判定し、その異常レベルに応じて異なるフェールセーフ処理を実行する。   The vehicle control device according to the present invention determines the abnormal level of the system according to the cumulative number or frequency of the abnormality, and executes different fail-safe processing according to the abnormal level.

本発明に係る車両制御装置によれば、動作継続性を確保しながら異常処理を実行することができる。   According to the vehicle control device of the present invention, it is possible to execute the abnormality processing while securing the operation continuity.

ECU1の構成図である。It is a block diagram of ECU1. 時間管理テーブル510の構成とデータ例を示す図である。It is a figure which shows the structure of the time management table 510, and an example of data. 処理管理テーブル520の構成とデータ例を示す図である。It is a figure which shows the structure and data example of the process management table 520. FIG. 動作状況管理テーブル530の例を示す図である。It is a figure which shows the example of the operation condition management table 530. FIG. 機能異常管理テーブル540の構成とデータ例を示す図である。FIG. 7 is a diagram showing the configuration and data example of a function abnormality management table 540. システム異常管理テーブル550の構成とデータ例を示す図である。FIG. 6 is a diagram showing the configuration and data example of a system abnormality management table 550. 判定結果管理テーブル560の例を示す図である。It is a figure which shows the example of the determination result management table 560. FIG. ソフトウェア制御部401の動作を説明するフローチャートである。5 is a flowchart illustrating an operation of a software control unit 401. 異常管理テーブル初期化部402の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the abnormality management table initialization part 402. FIG. 処理実行部403の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the process execution part 403. FIG. 10ms処理実行部404の動作を説明するフローチャートである。It is a flow chart explaining operation of 10 ms processing execution part 404. 5ms処理実行部405の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of 5 ms process execution part 405. FIG. 異常検出部406の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the abnormality detection part 406. FIG. 機能診断部407の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the function diagnostic part 407. FIG. システム診断部408の動作を説明するフローチャートである。FIG. 18 is a flowchart illustrating the operation of the system diagnosis unit 408. FIG. 異常レベル判定部409の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the abnormal level determination part 409. FIG. FS実行部410の動作を説明するフローチャートである。5 is a flowchart illustrating an operation of the FS execution unit 410. 時間管理部411の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the time management part 411. FIG.

図1は、本発明の実施形態に係るECU1の構成図である。ECU1は、車両が備える電気機器(例えば図1に示すスロットルセンサ7、アクチュエータ8)を電子的に制御する装置であり、演算装置(Central Processing Unit:CPU)2、メモリ3、入出力回路6を備える。   FIG. 1 is a block diagram of an ECU 1 according to an embodiment of the present invention. The ECU 1 is a device that electronically controls electric devices (for example, the throttle sensor 7 and the actuator 8 shown in FIG. 1) included in the vehicle, and includes a central processing unit (CPU) 2, a memory 3, and an input / output circuit 6. Prepare.

CPU2は、メモリ3が格納しているプログラムを実行するプロセッサである。以下では記載の便宜上、各プログラムを動作主体として説明する場合があるが、実際にこれらプログラムを実行するのはCPU2である。   The CPU 2 is a processor that executes a program stored in the memory 3. In the following, for convenience of description, each program may be described as an operation subject, but it is the CPU 2 that actually executes these programs.

メモリ3は、プログラム記憶領域4とデータ記憶領域5を有する。プログラム記憶領域4は、CPU2が実行するプログラムを格納する記憶領域であり、ソフトウェア制御部401、異常管理テーブル初期化部402、処理実行部403、10ms処理実行部404、5ms処理実行部405、異常検出部406、機能診断部407、システム診断部408、異常レベル判定部409、FS実行部410、時間管理部411を格納する。これら機能部の詳細については後述する。データ記憶領域5は、後述の図2〜図7で説明する各データテーブルを格納する。   The memory 3 has a program storage area 4 and a data storage area 5. The program storage area 4 is a storage area for storing a program to be executed by the CPU 2 and includes a software control unit 401, an abnormality management table initialization unit 402, a process execution unit 403, a 10 ms process execution unit 404, a 5 ms process execution unit 405, and A detection unit 406, a function diagnosis unit 407, a system diagnosis unit 408, an abnormality level determination unit 409, an FS execution unit 410, and a time management unit 411 are stored. Details of these functional units will be described later. The data storage area 5 stores data tables described later with reference to FIGS.

入出力回路6は、スロットルセンサ7やアクチュエータ8などの外部機器に対して信号を送信し、または外部機器からの信号を受信するための信号インターフェースである。   The input / output circuit 6 is a signal interface for transmitting a signal to an external device such as the throttle sensor 7 or the actuator 8 or receiving a signal from the external device.

図2は、時間管理テーブル510の構成とデータ例を示す図である。時間管理テーブル510は、ECU1が管理する時間に関する値を記述するデータテーブルである。時間管理テーブル510は、名称フィールド511、閾値フィールド512、現在値フィールド513を有する。   FIG. 2 is a diagram showing the configuration of the time management table 510 and an example of data. The time management table 510 is a data table that describes values related to time managed by the ECU 1. The time management table 510 has a name field 511, a threshold field 512, and a current value field 513.

名称フィールド511は、時間管理テーブル510が管理するデータ項目の名称を保持する。閾値フィールド512は、各データ項目に関する閾値を保持する。閾値を有さないデータ項目については本フィールドは空である。現在値フィールド513は、各データ項目の現在値を保持する。   The name field 511 holds the names of data items managed by the time management table 510. Threshold field 512 holds the threshold for each data item. This field is empty for data items that do not have a threshold. The present value field 513 holds the present value of each data item.

時間管理テーブル510が管理するデータ項目の具体例としては、例えば後述するタイマカウンタの現在値および初期化閾値、後述のフローチャートで説明する各処理の実行周期の現在値、などが挙げられる。   Specific examples of data items managed by the time management table 510 include, for example, a current value and an initialization threshold of a timer counter described later, and a current value of an execution cycle of each process described in the flowchart described later.

図3は、処理管理テーブル520の構成とデータ例を示す図である。処理管理テーブル520は、OSが管理する制御処理(機能)に関するパラメータを管理するデータテーブルである。処理管理テーブル520は、indexフィールド521、処理名フィールド522、実行周期フィールド523、安全度水準フィールド524、実行時間フィールド525、実行回数フィールド526を有する。   FIG. 3 is a diagram showing the configuration of the process management table 520 and an example of data. The process management table 520 is a data table for managing parameters related to control processes (functions) managed by the OS. The process management table 520 includes an index field 521, a process name field 522, an execution cycle field 523, a safety level field 524, an execution time field 525, and an execution count field 526.

indexフィールド521は、処理の実行順番を示す。処理名フィールド522は、当該処理を特定するための名称を保持する。実行周期フィールド523は、当該処理が実行される周期を示す。安全度水準フィールド524は、当該処理に割り付けられたソフトウェアの安全度水準の値を保持する。“1”の場合はASILソフトウェア(要求される安全度水準が高いソフトウェア)であることを示し、“0”の場合はQMソフトウェア(要求される安全度水準が低い)であることを示す。実行時間フィールド525は、当該処理を実行するためにかかると想定される時間を保持する。実行回数フィールド526は、単位時間あたりに当該処理が実行されると想定される回数を保持する。   The index field 521 indicates the execution order of the processing. The process name field 522 holds a name for specifying the process. The execution cycle field 523 indicates a cycle in which the process is performed. The security level field 524 holds the value of the security level of the software allocated to the process. In the case of “1”, it indicates that it is ASIL software (software with a high required security level), and in the case of “0”, it shows that it is QM software (which has a low required security level). The execution time field 525 holds the time it is assumed to take to perform the process. The number of times of execution field 526 holds the number of times it is assumed that the processing is performed per unit time.

図4は、動作状況管理テーブル530の例を示す図である。動作状況管理テーブル530は、OSが管理する処理の動作状況を管理するデータテーブルである。動作状況管理テーブル530は、indexフィールド531、処理名フィールド532、起動許可フラグフィールド533、開始時刻フィールド534、終了時刻フィールド535、実行時間フィールド536、実行回数フィールド537を有する。   FIG. 4 is a diagram showing an example of the operation status management table 530. The operation status management table 530 is a data table for managing the operation status of the process managed by the OS. The operation status management table 530 has an index field 531, a process name field 532, an activation permission flag field 533, a start time field 534, an end time field 535, an execution time field 536, and an execution count field 537.

indexフィールド531は、処理の実行順番を示す。処理名フィールド532は、当該処理を特定するための名称を保持する。起動許可フラグフィールド533は、当該処理が現周期において起動を許可されているか否かを示すフラグを保持する。“0”は起動不可であることを示し、“1”は起動許可であることを示す。開始時刻フィールド534と終了時刻フィールド535は、当該処理が開始した時刻および終了した時刻をそれぞれ保持する。実行時間フィールド536は、当該処理を実行するのに実際にかかった時間を保持する。実行回数フィールド537は、単位時間あたりに当該処理が実際に実行された回数を保持する。   The index field 531 indicates the execution order of the processing. The process name field 532 holds a name for specifying the process. The start permission flag field 533 holds a flag indicating whether the process is permitted to start in the current cycle. "0" indicates that activation is not possible, and "1" indicates that activation is permitted. The start time field 534 and the end time field 535 hold the time when the process started and the time when the process ended. The execution time field 536 holds the time actually taken to execute the processing. The number of times of execution field 537 holds the number of times the process is actually performed per unit time.

図5は、機能異常管理テーブル540の構成とデータ例を示す図である。機能異常管理テーブル540は、OSが管理する処理の異常状態を管理するデータテーブルである。機能異常管理テーブル540は、処理名フィールド541、閾値フィールド542、異常カウンタフィールド543を有する。   FIG. 5 is a diagram showing a configuration of the function abnormality management table 540 and an example of data. The function abnormality management table 540 is a data table for managing an abnormal state of processing managed by the OS. The functional abnormality management table 540 has a process name field 541, a threshold field 542, and an abnormal counter field 543.

処理名フィールド541は、処理を特定するための名称を保持する。異常カウンタフィールド543は、当該処理が異常と判定された回数を保持する。閾値フィールド542は、後述の図14において異常カウンタフィールド543の値が異常であるか否かを判定するための閾値を保持する。   The process name field 541 holds a name for specifying a process. The abnormality counter field 543 holds the number of times the process is determined to be abnormal. The threshold field 542 holds a threshold for determining whether or not the value of the abnormality counter field 543 is abnormal in FIG. 14 described later.

図6は、システム異常管理テーブル550の構成とデータ例を示す図である。システム異常管理テーブル550は、システムレベルの異常状態(ECU1全体にわたる異常)を管理するデータテーブルである。システム異常管理テーブル550は、名称フィールド551、閾値フィールド552、値フィールド553を有する。   FIG. 6 is a diagram showing the configuration of the system abnormality management table 550 and an example of data. The system abnormality management table 550 is a data table for managing an abnormal state at the system level (an abnormality across the entire ECU 1). The system abnormality management table 550 has a name field 551, a threshold field 552, and a value field 553.

名称フィールド551は、システム異常管理テーブル550が管理する異常パラメータの名称を保持する。値フィールド553は、当該異常パラメータの現在値を保持する。閾値フィールド552は、当該異常パラメータを用いてシステム異常レベルを判定するための閾値を保持する。   The name field 551 holds the name of the abnormal parameter managed by the system abnormality management table 550. The value field 553 holds the current value of the abnormal parameter. The threshold field 552 holds a threshold for determining a system abnormal level using the abnormal parameter.

図7は、判定結果管理テーブル560の例を示す図である。判定結果管理テーブル560は、機能診断部407、システム診断部408、異常レベル判定部409による異常判定結果を管理するデータテーブルである。判定結果管理テーブル560は、名称フィールド561、値フィールド562を有する。名称フィールド561は、判定結果管理テーブル560が管理する判定結果の名称を保持する。値フィールド562は、当該判定結果の値を保持する。   FIG. 7 is a diagram showing an example of the determination result management table 560. The determination result management table 560 is a data table for managing the abnormality determination results by the function diagnosis unit 407, the system diagnosis unit 408, and the abnormality level determination unit 409. The determination result management table 560 has a name field 561 and a value field 562. The name field 561 holds the name of the determination result managed by the determination result management table 560. The value field 562 holds the value of the determination result.

図8は、ソフトウェア制御部401の動作を説明するフローチャートである。以下、図8の各ステップについて説明する。   FIG. 8 is a flowchart for explaining the operation of the software control unit 401. Hereinafter, each step of FIG. 8 will be described.

(図8:ステップS401000)
ソフトウェア制御部401は、異常管理テーブル初期化部402を呼び出す。本ステップは、現在値を管理する各テーブルを初期化するためのものである。本ステップの詳細については後述の図9で説明する。
(FIG. 8: Step S401000)
The software control unit 401 calls the abnormality management table initialization unit 402. This step is to initialize each table for managing the current value. Details of this step will be described later with reference to FIG.

(図8:ステップS401001)
ソフトウェア制御部401は、処理実行部403を呼びだす。本ステップは、ECU1が実行する各制御処理を実施するためのものである。本ステップの詳細については後述の図10で説明する。
(FIG. 8: Step S401001)
The software control unit 401 calls the process execution unit 403. This step is for carrying out each control process executed by the ECU 1. The details of this step will be described later with reference to FIG.

(図8:ステップS40102)
ソフトウェア制御部401は、異常検出部406を呼び出す。本ステップは、各制御処理の異常およびシステムレベルの異常(ECU1全体としての異常)を診断するためのものである。本ステップの詳細については後述の図13で説明する。
(FIG. 8: Step S40102)
The software control unit 401 calls the abnormality detection unit 406. This step is for diagnosing an abnormality of each control process and an abnormality of the system level (an abnormality of the entire ECU 1). The details of this step will be described later with reference to FIG.

(図8:ステップS401003)
ソフトウェア制御部401は、FS実行部410を呼び出す。本ステップは、ECU1を安全状態へ移行させるフェールセーフ処理を実行するためのものである。本ステップの詳細については後述の図17で説明する。
(FIG. 8: Step S401003)
The software control unit 401 calls the FS execution unit 410. This step is for executing a fail-safe process to shift the ECU 1 to a safe state. The details of this step will be described later with reference to FIG.

(図8:ステップS401004)
ソフトウェア制御部401は、時間管理部411を呼び出す。本ステップの詳細については後述の図18で説明する。
(FIG. 8: Step S401004)
The software control unit 401 calls the time management unit 411. The details of this step will be described later with reference to FIG.

(図8:ステップS401005)
ソフトウェア制御部401は、例えばECU1をシャットダウンする命令が与えられているか否かなどに基づき、動作を終了するか否かを判定する。動作を終了する場合は本フローチャートを終了し、継続する場合はステップS401000に戻る。
(FIG. 8: Step S401005)
The software control unit 401 determines whether to end the operation based on, for example, whether or not an instruction to shut down the ECU 1 is given. If the operation is ended, the present flowchart is ended, and if it is continued, the process returns to step S401000.

図9は、異常管理テーブル初期化部402の動作を説明するフローチャートである。以下、図9の各ステップについて説明する。   FIG. 9 is a flowchart for explaining the operation of the abnormality management table initialization unit 402. Hereinafter, each step of FIG. 9 will be described.

(図9:ステップS402000)
異常管理テーブル初期化部402は、時間管理テーブル510からタイマカウンタの現在値(図2の1行目のレコード)を取得するとともに、テーブル初期化周期(図2の2行目のレコード)を取得する。取得したタイマカウンタを取得した周期(本例においては100)で割った余りが0であればステップS402001に進み、それ以外であれば本フローチャートを終了する。
(FIG. 9: Step S402000)
The abnormality management table initialization unit 402 acquires the current value of the timer counter (the record in the first row of FIG. 2) from the time management table 510, and acquires the table initialization cycle (the record in the second row of FIG. 2). Do. If the remainder obtained by dividing the acquired timer counter by the acquired cycle (100 in this example) is 0, the process advances to step S402001; otherwise, this flowchart ends.

(図9:ステップS402000:補足)
本ステップは、時間管理テーブル510が定義する周期毎に異常カウント(各機能やシステム全体が異常と判断された回数)を初期化するためのものである。異常カウントを初期化せず累積回数を用いて異常判定することも考えられる。この場合は累積回数がある程度に到達した時点でシステムレベルの異常とみなすことになる。これは比較的軽微な異常を無視してシステム全体レベルの重篤な異常に至った時点でフェールセーフなどを実施することに相当する。しかし実際の運用においては、ECUが備える各機能要素において軽微なエラーが頻繁に生じているケースがしばしばある。例えばメモリのビットエラーがしばしば生じているがエラー訂正機能によって制御処理は正常に進行し、異常とはみなされないことがこれに当たる。小規模異常であってもその頻度や発生箇所の個数によっては、ECU1全体の動作に対して重篤な影響を与えるかまたはこれに近づいている可能性がある。そこで本実施形態においては、システムレベルの異常に至らないまでも現実には発生している小規模な瞬時エラーをも検出するため、異常カウントを周期的にリセットすることとした。異常カウントを一切リセットしないか、またはリセット周期を極端に長くセットすると、累積回数をカウントしていることと変わらないので、リセット周期は瞬時エラーを検出できる程度の適切な値にあらかじめセットしておく。
(FIG. 9: Step S402000: Supplement)
This step is for initializing an abnormality count (the number of times each function or the entire system is determined to be abnormal) every cycle defined by the time management table 510. It is also conceivable to make an anomaly judgment using the cumulative number without initializing the anomaly count. In this case, when the cumulative number reaches a certain level, it is regarded as a system level abnormality. This is equivalent to performing fail-safe etc. when serious abnormalities in the whole system level are reached ignoring relatively minor abnormalities. However, in actual operation, minor errors often occur frequently in each functional element provided in the ECU. For example, a memory bit error often occurs, but the error correction function allows the control process to proceed normally, and is not considered abnormal. Even if it is a small-scale abnormality, depending on the frequency and the number of occurrence points, it may have a serious influence on or approach the operation of the entire ECU 1. Therefore, in the present embodiment, the abnormality count is periodically reset in order to detect a small-scale instantaneous error that actually occurs even if an abnormality does not occur at the system level. If you do not reset the abnormal count at all, or set the reset cycle too long, it will not change from counting the cumulative count, so reset cycle should be set in advance to an appropriate value that can detect an instantaneous error. .

(図9:ステップS402001〜S402003)
異常管理テーブル初期化部402は、機能異常管理テーブル540の異常カウンタフィールド543(S402001)、システム異常管理テーブル550の値フィールド553(S402002)、動作状況管理テーブル530の開始時刻フィールド534〜実行回数フィールド537(S402003)を、それぞれ初期化する。
(FIG. 9: Steps S402001 to S402003)
The abnormality management table initialization unit 402 includes an abnormality counter field 543 (S402001) of the function abnormality management table 540, a value field 553 (S402002) of the system abnormality management table 550, and a start time field 534 to an execution count field of the operation status management table 530. 537 (S402003) is initialized.

図10は、処理実行部403の動作を説明するフローチャートである。以下、図10の各ステップについて説明する。   FIG. 10 is a flowchart for explaining the operation of the process execution unit 403. Hereinafter, each step of FIG. 10 will be described.

(図10:ステップS403000)
処理実行部403は、時間管理テーブル510からタイマカウンタの現在値(図2の1行目のレコード)を取得する。取得したタイマカウンタを10で割った余りが0であればステップS403001に進み、それ以外であればステップS403002へスキップする。
(FIG. 10: Step S403000)
The process execution unit 403 acquires the current value of the timer counter (the record in the first row of FIG. 2) from the time management table 510. If the remainder obtained by dividing the obtained timer counter by 10 is 0, the process proceeds to step S403001, and otherwise skips to step S403002.

(図10:ステップS403001)
処理実行部403は、10ms処理実行部404を呼び出す。10ms処理実行部404は、10ms周期で実施すべき制御処理を実行する。10ms処理実行部404の動作については後述の図11で説明する。処理実行部403は、本ステップにおいて10ms処理実行部404の処理完了を待機する必要はなく、10ms処理実行部を呼び出してすぐにステップS403002へ進むとともに、10ms周期処理を並列実行することができる。
(FIG. 10: Step S403001)
The process execution unit 403 calls the 10 ms process execution unit 404. The 10 ms processing execution unit 404 executes control processing to be performed in a 10 ms cycle. The operation of the 10 ms process execution unit 404 will be described later with reference to FIG. The processing execution unit 403 does not have to wait for the processing completion of the 10 ms processing execution unit 404 in this step, and can call 10 ms processing execution unit and immediately proceed to step S 403 002 to execute parallel processing of 10 ms cycle.

(図10:ステップS403002)
処理実行部403は、時間管理テーブル510からタイマカウンタの現在値を取得する。取得したタイマカウンタを5で割った余りが0であればステップS403003に進み、それ以外であれば本フローチャートを終了する。
(FIG. 10: step S403002)
The process execution unit 403 acquires the current value of the timer counter from the time management table 510. If the remainder obtained by dividing the obtained timer counter by 5 is 0, the process advances to step S403003; otherwise, this flowchart ends.

(図10:ステップS403003)
処理実行部403は、5ms処理実行部405を呼び出す。5ms処理実行部405は、5ms周期で実施すべき制御処理を実行する。5ms処理実行部405の動作については後述の図12で説明する。
(FIG. 10: step S403003)
The processing execution unit 403 calls the 5 ms processing execution unit 405. The 5 ms processing execution unit 405 executes control processing to be performed in a 5 ms cycle. The operation of the 5 ms process execution unit 405 will be described later with reference to FIG.

(図10:ステップS40300とS403002の補足)
これらステップにおいてそれぞれタイマカウンタを10と5で除算しているのは、処理管理テーブル520において実行周期フィールド523がそれぞれ10と5である機能が登録されているからである。これら実行周期はあらかじめ取得しておいてもよいし、本フローチャートの適当な時点(例えばS403000の前)において取得してもよい。
(FIG. 10: supplement to steps S40300 and S403002)
The reason why the timer counter is divided by 10 and 5 in these steps is that functions whose execution cycle fields 523 are 10 and 5 are registered in the process management table 520, respectively. These execution cycles may be acquired in advance, or may be acquired at an appropriate time (for example, before S403000) in this flowchart.

図11は、10ms処理実行部404の動作を説明するフローチャートである。以下、図11の各ステップについて説明する。   FIG. 11 is a flowchart for explaining the operation of the 10 ms process execution unit 404. Hereinafter, each step of FIG. 11 will be described.

(図11:ステップS404000)
10ms処理実行部404は、処理管理テーブル520が管理しているi番目の処理の実行周期フィールド523が10(ms)であれば、さらに動作状況管理テーブル530から当該処理の起動許可フラグフィールド533を取得する。実行周期フィールド523が10かつ起動許可フラグフィールド533値が1であればステップS404001に進み、それ以外であればiをインクリメントした上で本ステップを改めて実施する。
(FIG. 11: Step S404000)
If the execution cycle field 523 of the i-th process managed by the process management table 520 is 10 (ms), the 10 ms process execution unit 404 further sets the start permission flag field 533 of the process from the operation status management table 530. get. If the execution cycle field 523 is 10 and the value of the start permission flag field 533 is 1, the process proceeds to step S404001, otherwise i is incremented and then this step is performed again.

(図11:ステップS404001)
10ms処理実行部404は、時間管理テーブル510からタイマカウンタの現在値を取得し、動作状況管理テーブル530のi番目レコードの開始時刻フィールド534にその値を記録する。
(FIG. 11: Step S404001)
The 10 ms process execution unit 404 acquires the current value of the timer counter from the time management table 510, and records the value in the start time field 534 of the i-th record of the operation status management table 530.

(図11:ステップS404002〜S404003)
10ms処理実行部404は、i番目の処理を実行する(S404002)。10ms処理実行部404は、動作状況管理テーブル530のi番目レコードの実行回数フィールド537を1増やす。
(FIG. 11: Steps S404002 to S404003)
The 10 ms process execution unit 404 executes the i-th process (S404002). The 10 ms process execution unit 404 increments the number of times of execution field 537 of the i-th record of the operation status management table 530 by one.

(図11:ステップS404004)
10ms処理実行部404は、時間管理テーブル510からタイマカウンタの現在値を取得し、動作状況管理テーブル530のi番目レコードの終了時刻フィールド535にその値を記録する。
(FIG. 11: Step S404004)
The 10 ms processing execution unit 404 acquires the current value of the timer counter from the time management table 510, and records the value in the end time field 535 of the i-th record of the operation status management table 530.

(図11:ステップS404005)
10ms処理実行部404は、10ms周期で実行する全処理を実行完了したか否かを確認する。全処理を完了した場合は本フローチャートを終了し、それ以外であればiをインクリメントしてステップS404000に戻る。
(FIG. 11: Step S404005)
The 10 ms process execution unit 404 confirms whether or not the execution of all the processes to be executed in a 10 ms cycle has been completed. If all the processing has been completed, the present flowchart is ended. If not, i is incremented and the process returns to step S404000.

(図11:補足)
10ms処理実行部404は、各処理が完了するのを待機してから次の処理を起動する必要はなく、各処理を並列実行することもできる。その場合は各処理についてステップS404001〜S404004を並行して実行することになる。
(Figure 11: Supplement)
The 10 ms process execution unit 404 does not have to wait for each process to complete before starting the next process, and can execute each process in parallel. In that case, steps S404001 to S404004 will be executed in parallel for each process.

図12は、5ms処理実行部405の動作を説明するフローチャートである。5ms処理実行部405の動作は10ms処理実行部404と概ね同様であるが、実行周期フィールド523の値が5である処理が対象となる点が異なる。   FIG. 12 is a flowchart for explaining the operation of the 5 ms process execution unit 405. The operation of the 5 ms process execution unit 405 is substantially the same as that of the 10 ms process execution unit 404, except that the process in which the value of the execution cycle field 523 is 5 is targeted.

図13は、異常検出部406の動作を説明するフローチャートである。以下、図13の各ステップについて説明する。   FIG. 13 is a flowchart illustrating the operation of the abnormality detection unit 406. Hereinafter, each step of FIG. 13 will be described.

(図13:ステップS406000)
異常検出部406は、時間管理テーブル510からタイマカウンタの現在値を取得するとともに、診断周期(図2の3行目のレコード)を取得する。取得したタイマカウンタを取得した周期(本例においては20)で割った余りが0であればステップS406001に進み、それ以外であれば本フローチャートを終了する。
(FIG. 13: Step S406000)
The abnormality detection unit 406 acquires the current value of the timer counter from the time management table 510, and acquires the diagnostic cycle (the third line record in FIG. 2). If the remainder obtained by dividing the acquired timer counter by the acquired period (20 in this example) is 0, the process proceeds to step S406001. Otherwise, this flowchart ends.

(図13:ステップS406001)
異常検出部406は、機能診断部407を呼び出す。本ステップは、各機能異常を検出するためのものである。本ステップの詳細については後述の図14で説明する。
(FIG. 13: Step S406001)
The abnormality detection unit 406 calls the function diagnosis unit 407. This step is for detecting each functional abnormality. The details of this step will be described later with reference to FIG.

(図13:ステップS406002)
異常検出部406は、システム診断部408を呼び出す。本ステップは、システムレベル(ECU1全体レベル)の異常を検出するためのものである。本ステップの詳細については後述の図15で説明する。
(FIG. 13: step S406002)
The abnormality detection unit 406 calls the system diagnosis unit 408. This step is to detect an abnormality at the system level (the entire ECU 1 level). The details of this step will be described later with reference to FIG.

(図13:ステップS406003)
異常検出部406は、異常レベル判定部409を呼び出す。本ステップは、ECU1の異常レベルを判定するためのものである。本ステップの詳細については後述の図16で説明する。
(FIG. 13: Step S406003)
The abnormality detection unit 406 calls the abnormality level determination unit 409. This step is to determine the abnormal level of the ECU 1. The details of this step will be described later with reference to FIG.

図14は、機能診断部407の動作を説明するフローチャートである。以下、図14の各ステップについて説明する。   FIG. 14 is a flowchart for explaining the operation of the function diagnosis unit 407. Hereinafter, each step of FIG. 14 will be described.

(図14:ステップS407000)
機能診断部407は、動作状況管理テーブル530から処理iの開始時刻フィールド534と終了時刻フィールド535の値をそれぞれ取得し、その差分に基づき処理iの実行時間を算出して実行時間フィールド536に格納する。
(FIG. 14: Step S407000)
The function diagnosis unit 407 acquires the values of the start time field 534 and the end time field 535 of the process i from the operation status management table 530, calculates the execution time of the process i based on the difference, and stores it in the execution time field 536 Do.

(図14:ステップS407001)
機能診断部407は、ステップS407000において算出した実行時間と、処理管理テーブル520が格納している当該処理iの実行時間フィールド525とを比較する。算出した実行時間の方が大きければステップS407003へスキップし、小さければステップS407002へ進む。
(FIG. 14: Step S407001)
The function diagnosis unit 407 compares the execution time calculated in step S407000 with the execution time field 525 of the process i stored in the process management table 520. If the calculated execution time is larger, the process skips to step S407003. If the calculated execution time is smaller, the process proceeds to step S407002.

(図14:ステップS407002)
機能診断部407は、動作状況管理テーブル530から処理iの実行回数フィールド537を取得し、処理管理テーブル520が格納している当該処理iの実行回数フィールド526と比較する。実行回数フィールド537の方が大きければステップS407003へ進み、小さければステップS407004へスキップする。
(FIG. 14: Step S407002)
The function diagnosis unit 407 acquires the execution frequency field 537 of the process i from the operation status management table 530, and compares it with the execution frequency field 526 of the process i stored in the process management table 520. If the number of execution times field 537 is larger, the process proceeds to step S407003, and if smaller, the process skips to step S407004.

(図14:ステップS407003)
機能診断部407は、機能異常管理テーブル540のi番目レコードの異常カウンタフィールド543を1増やす。当該処理iの安全度水準フィールド524が“1”である場合はさらに、判定結果管理テーブル560が格納する高優先度処理異常フラグの値フィールド562に“1”を格納する。
(FIG. 14: Step S407003)
The function diagnosis unit 407 increments the abnormality counter field 543 of the i-th record of the function abnormality management table 540 by one. When the safety level field 524 of the process i is “1”, “1” is stored in the value field 562 of the high priority process abnormality flag stored in the determination result management table 560.

(図14:ステップS407003:補足)
本実施形態においては、後述の図16で説明するように、ECU1全体としての異常レベルに応じてそれぞれ異なるフェールセーフ処理を実行する。したがって、発生している故障の程度に応じてシステム異常レベルを判定する必要がある。要求される安全度水準が高い機能が故障している場合、故障の程度は高いと考えられるので、かかる機能については異常状態を管理するフラグを格別に設けて管理することとした。
(FIG. 14: Step S407003: Supplement)
In the present embodiment, different fail-safe processing is performed according to the abnormality level of the entire ECU 1 as described later with reference to FIG. Therefore, it is necessary to determine the level of system abnormality in accordance with the degree of failure occurring. If a function with a high required safety level is broken, it is considered that the degree of failure is high. For this function, a special flag for managing an abnormal state is provided and managed.

(図14:ステップS407004)
機能診断部407は、全処理について診断完了したか否かを判定する。診断完了した場合はステップS407005へ進み、それ以外であればiの値をインクリメントしてステップS407000へ戻る。
(FIG. 14: Step S407004)
The function diagnosis unit 407 determines whether the diagnosis has been completed for all the processes. If the diagnosis is completed, the process proceeds to step S407005. Otherwise, the value of i is incremented and the process returns to step S407000.

(図14:ステップS407005)
機能診断部407は、機能異常管理テーブル540の各レコードの異常カウンタフィールド543と閾値フィールド542を比較する。異常カウンタフィールド543の方が大きければ当該機能は異常であると判定する。機能診断部407は、異常であると判定した機能の個数を、判定結果管理テーブル560の機能異常数の値フィールド562に格納する。
(FIG. 14: Step S407005)
The function diagnosis unit 407 compares the abnormality counter field 543 and the threshold field 542 of each record of the function abnormality management table 540. If the abnormality counter field 543 is larger, it is determined that the function is abnormal. The function diagnosis unit 407 stores the number of functions determined to be abnormal in the value field 562 of the number of function abnormalities in the determination result management table 560.

図15は、システム診断部408の動作を説明するフローチャートである。以下、図15の各ステップについて説明する。   FIG. 15 is a flowchart for explaining the operation of the system diagnosis unit 408. Hereinafter, each step of FIG. 15 will be described.

(図15:ステップS408000)
システム診断部408は、機能異常管理テーブル540から全処理についての異常カウンタフィールド543の値を取得する。システム診断部408は、取得した異常カウンタの合計値を処理の総個数(例えば機能異常管理テーブル540のレコード数)で除算することにより、機能異常回数の平均値を算出する。システム診断部408は、算出した平均値をシステム異常管理テーブル550の平均機能異常回数を記録するレコードの値フィールド553に格納する。
(FIG. 15: Step S408000)
The system diagnosis unit 408 acquires the value of the abnormality counter field 543 for all processes from the function abnormality management table 540. The system diagnosis unit 408 divides the total value of the acquired abnormality counters by the total number of processes (for example, the number of records in the function abnormality management table 540) to calculate an average value of the number of function abnormality times. The system diagnosis unit 408 stores the calculated average value in the value field 553 of the record that records the average number of function malfunction in the system malfunction management table 550.

(図15:ステップS408000:補足)
本フローチャートにおいては、処理の簡易の観点から異常カウントの平均値をシステム異常レベルの判断指標として用いることとしたが、その他値を用いてもよい。例えば重要度に応じて各処理を重み付けし、各処理の異常カウントにその重みを乗算した上で合計値を求め、その結果を値フィールド553に格納してシステム異常レベルの判断指標として用いることもできる。
(FIG. 15: Step S408000: Supplement)
In this flowchart, the average value of the abnormality count is used as the determination index of the system abnormality level from the viewpoint of simplicity of processing, but other values may be used. For example, each process may be weighted according to the importance, and the abnormality count of each process may be multiplied by the weight to obtain the total value, and the result may be stored in the value field 553 and used as a judgment index of the system abnormality level. it can.

(図15:ステップS408001)
システム診断部408は、ステップS408000で算出した平均値と、システム異常管理テーブル550が格納している平均機能異常回数の閾値フィールド552とを比較する。算出した平均値の方が大きければステップS408002へ進み、小さければステップS408003へスキップする。
(FIG. 15: Step S408001)
The system diagnosis unit 408 compares the average value calculated in step S408000 with the threshold field 552 of the average number of functional abnormality times stored in the system abnormality management table 550. If the calculated average value is larger, the process proceeds to step S408002, and if smaller, the process skips to step S408003.

(図15:ステップS408002)
システム診断部408は、システム異常管理テーブル550のシステム異常カウンタを記録するレコードの値フィールド553を1増やす。
(FIG. 15: Step S408002)
The system diagnosis unit 408 increments the value field 553 of the record recording the system abnormality counter of the system abnormality management table 550 by one.

(図15:ステップS408003)
システム診断部408は、システム異常カウンタの値フィールド553と、システム異常管理テーブル550が格納しているシステム異常カウンタの閾値フィールド552とを比較する。値フィールド553の方が大きければステップS408004へ進み、小さければ本フローチャートを終了する。
(FIG. 15: Step S408003)
The system diagnosis unit 408 compares the value field 553 of the system malfunction counter with the threshold field 552 of the system malfunction counter stored in the system malfunction management table 550. If the value field 553 is larger, the process proceeds to step S408004, and if smaller, the flowchart ends.

(図15:ステップS408004)
システム診断部408は、判定結果管理テーブル560のシステム異常フラグを記録するレコードの値フィールド562に“1”を格納する。
(FIG. 15: Step S408004)
The system diagnosis unit 408 stores “1” in the value field 562 of the record in which the system abnormality flag of the determination result management table 560 is recorded.

図16は、異常レベル判定部409の動作を説明するフローチャートである。以下、図16の各ステップについて説明する。   FIG. 16 is a flowchart for explaining the operation of the abnormal level determination unit 409. Hereinafter, each step of FIG. 16 will be described.

(図16:ステップS409000)
異常レベル判定部409は、判定結果管理テーブル560からシステム異常フラグの値フィールド562を取得する。システム異常フラグの値が“1”であればステップS409001へ進み、“0”であればステップS409002へスキップする。
(FIG. 16: Step S409000)
The abnormality level determination unit 409 acquires the value field 562 of the system abnormality flag from the determination result management table 560. If the value of the system abnormality flag is "1", the process proceeds to step S409001. If the value is "0", the process skips to step S409002.

(図16:ステップS409001)
異常レベル判定部409は、判定結果管理テーブル560の異常レベルを記録するレコードの値フィールド562に“3”を格納する。
(FIG. 16: Step S409001)
The abnormal level determination unit 409 stores “3” in the value field 562 of the record for recording the abnormal level of the determination result management table 560.

(図16:ステップS409002)
異常レベル判定部409は、判定結果管理テーブル560から高優先度処理異常フラグの値フィールド562を取得する。高優先度処理異常フラグの値が“1”であればステップS409001へ進み、“0”であればステップS409003へ進む。
(FIG. 16: step S409002)
The abnormal level determination unit 409 acquires the value field 562 of the high priority process abnormality flag from the determination result management table 560. If the value of the high priority process abnormality flag is "1", the process proceeds to step S409001. If the value is "0", the process proceeds to step S409003.

(図16:ステップS409001〜S409002:補足)
システム異常フラグは、ステップS408003においてシステム異常カウンタが閾値以上である場合にセットされるフラグである。システム異常カウンタは機能異常回数の平均値が閾値以上である場合にカウントアップされるものである。すなわちシステム異常フラグは、多数の機能が異常であることを示しているので、これがセットされているときはシステム異常レベルが高いと考えられる。したがってこの場合の異常レベルは、本フローチャートにおける最高の“3”とすることにした。また高優先度処理異常フラグは安全要求度が高い処理が異常であることを示しているので、システム異常フラグと同様に取り扱うこととした。
(FIG. 16: Steps S409001 to S409002: Supplement)
The system malfunction flag is a flag that is set when the system malfunction counter is greater than or equal to the threshold in step S408003. The system abnormality counter is counted up when the average value of the number of functional abnormalities is equal to or more than a threshold. That is, since the system abnormality flag indicates that a large number of functions are abnormal, it is considered that the system abnormality level is high when this is set. Therefore, the abnormal level in this case is determined to be the highest "3" in this flowchart. Further, since the high priority process abnormality flag indicates that the process with a high degree of safety requirement is abnormal, it is treated as the system abnormality flag.

(図16:ステップS409003〜S409004)
異常レベル判定部409は、判定結果管理テーブル560から機能異常数の値フィールド562を取得する。機能異常数が2より大きければ、ステップS409004において判定結果管理テーブル560の異常レベルを記録するレコードの値フィールド562に“2”を格納する。機能異常数が2以下であればステップS409005へ進む。
(FIG. 16: Steps S409003 to S409004)
The abnormality level determination unit 409 acquires the value field 562 of the number of functional abnormalities from the determination result management table 560. If the number of functional abnormalities is larger than 2, "2" is stored in the value field 562 of the record recording the abnormal level of the determination result management table 560 in step S409004. If the number of functional abnormalities is 2 or less, the process proceeds to step S409005.

(図16:ステップS409005〜S409006)
異常レベル判定部409は、機能異常数が1より大きければ、ステップS409006において判定結果管理テーブル560の異常レベルを記録するレコードの値フィールド562に“1”を格納する。機能異常数が1以下であれば本フローチャートを終了する。
(FIG. 16: Steps S409005 to S409006)
If the functional abnormality number is larger than one, the abnormal level determination unit 409 stores “1” in the value field 562 of the record recording the abnormal level of the determination result management table 560 in step S409006. If the number of functional abnormalities is less than or equal to one, this flowchart ends.

(図16:ステップS409003〜S409006:補足)
本フローチャートにおいては、機能異常数を基準として異常レベルをセットしているが、その基準とする個数は本フローチャートに示すものに限られず、例えば全機能数に基づき適宜定めることができる。
(FIG. 16: Steps S409003 to S409006: Supplement)
In this flowchart, the abnormality level is set based on the number of functional abnormalities, but the number as the reference is not limited to that shown in this flowchart, and can be appropriately determined based on, for example, the total number of functions.

図17は、FS実行部410の動作を説明するフローチャートである。以下、図17の各ステップについて説明する。   FIG. 17 is a flowchart illustrating the operation of the FS execution unit 410. Hereinafter, each step of FIG. 17 will be described.

(図17:ステップS410000〜S410001)
FS実行部410は、判定結果管理テーブル560から異常レベルを記録するレコードの値フィールド562を取得する。異常レベルが“3”であれば、ステップS410001においてECU1をソフトウェアリセットする。それ以外であればステップS410002へ進む。
(FIG. 17: Steps S410000 to S410001)
The FS execution unit 410 acquires, from the determination result management table 560, the value field 562 of the record in which the abnormal level is recorded. If the abnormality level is "3", the ECU 1 is software reset in step S410001. Otherwise, the process proceeds to step S410002.

(図17:ステップS410002〜S410003)
FS実行部410は、異常レベルが“2”であれば、ステップS410003において安全度水準フィールド524が“0”である(すなわち要求される安全度水準が低い)全ての機能の起動許可フラグフィールド533を“0”にする(すなわち起動不可にする)。それ以外であればステップS410004へ進む。
(FIG. 17: steps S41002 to S410003)
If the abnormality level is “2”, the FS execution unit 410 determines that the activation permission flag field 533 of all functions for which the safety level field 524 is “0” (that is, the required safety level is low) in step S410003. Is set to "0" (ie, it can not be activated). Otherwise, the process proceeds to step S410004.

(図17:ステップS410004)
FS実行部410は、異常レベルが“1”であれば、ステップS410005において異常カウンタフィールド543が閾値フィールド542を超えている機能の起動許可フラグフィールド533を“0”にする(すなわち起動不可にする)。それ以外であれば本フローチャートを終了する。
(FIG. 17: Step S410004)
If the abnormality level is “1”, the FS execution unit 410 sets the activation permission flag field 533 of the function whose abnormality counter field 543 exceeds the threshold field 542 to “0” in step S410005 (that is, makes the activation impossible). ). If not, this flowchart ends.

図18は、時間管理部411の動作を説明するフローチャートである。以下、図18の各ステップについて説明する。   FIG. 18 is a flowchart for explaining the operation of the time management unit 411. Hereinafter, each step of FIG. 18 will be described.

(図18:ステップS411000〜S411001)
時間管理部411は、時間管理テーブル510が格納しているタイマカウンタの現在値をインクリメントする。
(FIG. 18: Steps S411000 to S411001)
The time management unit 411 increments the current value of the timer counter stored in the time management table 510.

(図18:ステップ)
時間管理部411は、時間管理テーブル510が格納しているタイマカウンタの閾値フィールド512を取得する。タイマカウンタの現在値が閾値フィールド512を超えた場合は、ステップS411002においてタイマカウンタの現在値を0にセットする。それ以外であれば本フローチャートを終了する。
(Figure 18: Step)
The time management unit 411 acquires the threshold field 512 of the timer counter stored in the time management table 510. If the current value of the timer counter exceeds the threshold field 512, the current value of the timer counter is set to 0 in step S411002. If not, this flowchart ends.

<本発明のまとめ>
本実施形態に係るECU1は、単位時間当たりの機能異常数に基づきシステム異常レベルを判定し、そのシステム異常レベルに応じたフェールセーフ処理を実行する。したがって、例えばシステム異常レベルが低いときはできる限り多くの機能を維持したままでフェールセーフ動作を実行することにより、ECU1の動作継続性を高めることができる。
<Summary of the Invention>
The ECU 1 according to the present embodiment determines the system abnormality level based on the number of functional abnormalities per unit time, and executes fail-safe processing according to the system abnormality level. Therefore, for example, when the system abnormality level is low, the operation continuity of the ECU 1 can be enhanced by executing the fail-safe operation while maintaining as many functions as possible.

本実施形態に係るECU1は、個々の機能の動作状況を管理し、その動作状況に基づきシステム全体の異常レベルを判定する。これにより、ECU1全体の動作にとって障害となる重篤な異常状態に至る前に、適切なフェールセーフ処理を実行して対処することができる。   The ECU 1 according to the present embodiment manages the operating condition of each function, and determines an abnormal level of the entire system based on the operating condition. As a result, appropriate fail-safe processing can be executed and dealt with before a serious abnormal state that hinders the operation of the entire ECU 1 is reached.

本実施形態に係るECU1は、要求される安全度水準が高い機能が異常である場合は、その他機能が異常である場合よりもシステム異常レベルが高いとみなす。これにより、例えばAUTOSARのように安全度水準について厳格に定める規格に準拠した制御を実現することができる。   The ECU 1 according to the present embodiment considers that the system abnormality level is higher than the case where the other functions are abnormal if the function having the high required safety level is abnormal. Thus, control conforming to a standard that strictly defines the safety level, such as AUTOSAR, can be realized.

<本発明の変形例について>
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換える事が可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について他の構成の追加・削除・置換をすることができる。
<About the modification of the present invention>
The present invention is not limited to the embodiments described above, but includes various modifications. For example, the embodiments described above are described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the configurations described. In addition, part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. In addition, another configuration can be added to, deleted from, or replaced with a part of the configuration of each embodiment.

以上の実施形態においては、ECU1はISO26262に準拠したアーキテクチャを備えているが、本発明の対象はこれに限られずその他機能部を備えていてもよい。例えばデータを保存するための不揮発性メモリ(バックアップRAM)や水温センサなどを備えてもよい。また本発明は、車両が備える電気機器を制御する制御装置一般に対して適用することができる。   In the above embodiment, the ECU 1 has an architecture conforming to ISO26262, but the subject of the present invention is not limited to this and may have other functional units. For example, a non-volatile memory (backup RAM) for storing data or a water temperature sensor may be provided. Further, the present invention can be applied to general control devices that control electric devices provided in a vehicle.

以上の実施形態においては、各閾値は1つのみであるが、例えば上限値や下限値などを用いて閾値の範囲を表現することもできる。すなわち異常判定を実施することができれば任意形式の閾値を用いることができる。   In the above embodiment, each threshold value is only one, but for example, the upper limit value or the lower limit value can be used to express the range of the threshold value. That is, any type of threshold can be used as long as abnormality determination can be performed.

以上の実施形態においては、説明の簡易のため5ms周期処理と10ms周期処理を取り扱っているが、その他周期の処理についても本発明を適用することができる。周期処理以外の機能についても同様である。   In the above embodiment, 5 ms cycle processing and 10 ms cycle processing are dealt with for simplicity of explanation, but the present invention can be applied to processing of other cycles. The same applies to functions other than cyclic processing.

以上の実施形態においては、安全度水準フィールド524の値としてASIL(1)とQM(0)の2種類を例示しているが、3種類以上の安全度水準を設けてもよい。以上の実施形態においては、異常レベル1〜3を例示しているが、より多くの異常レベルを設けることもできる。   In the above embodiment, two values of ASIL (1) and QM (0) are illustrated as values of the safety level field 524, but three or more safety levels may be provided. Although the abnormal levels 1 to 3 are exemplified in the above embodiment, more abnormal levels can be provided.

以上の実施形態においては、異常レベルの個数に応じて図17で説明した3つのフェールセーフ処理を例示したが、その他のフェールセーフ処理を実施することもできるし、異常レベルの個数に応じてより多くのフェールセーフ処理を設けることもできる。いずれの場合であっても、異常レベルが高ければより安全側に倒したフェールセーフ処理を実施することが望ましい。   In the above embodiment, the three fail-safe processes described in FIG. 17 have been exemplified according to the number of abnormal levels, but other fail-safe processes can also be performed, and more can be performed according to the number of abnormal levels. Many failsafe processes can also be provided. In any case, if the abnormal level is high, it is desirable to implement fail-safe processing that is more secure.

上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に格納することができる。   Each of the above configurations, functions, processing units, processing means, etc. may be realized by hardware, for example, by designing part or all of them with an integrated circuit. Further, each configuration, function, etc. described above may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as a program, a table, and a file for realizing each function can be stored in a memory, a hard disk, a recording device such as a solid state drive (SSD), a recording medium such as an IC card, an SD card, or a 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:判定結果管理テーブル。   1: ECU, 2: CPU, 3: memory, 401: software control unit, 402: abnormality management table initialization unit, 403: processing execution unit, 404: 10 ms processing execution unit, 405: 5 ms processing execution unit, 406: abnormality Detection unit 407: Function diagnosis unit 408: System diagnosis unit 409: Abnormal level determination unit 410: FS execution unit 411: Time management unit 510: Time management table 520: Process management table 530: Operation status Management table, 540: Function abnormality management table, 550: System abnormality management table, 560: Judgment result management table.

Claims (7)

車両の動作を制御する車両制御装置であって、
複数の個別機能を有するシステム部の異常を検出する異常検出部、
前記システム部の異常レベルを判定する異常レベル判定部、
を備え、
前記システム部は、前記個別機能を実行する処理実行部を備え、
前記異常検出部は、各前記個別機能についてそれぞれ個別に前記異常を検出し、
前記異常レベル判定部は、前記複数の個別機能それぞれについての前記異常検出部による異常検出結果に基づき、前記システム部の異常レベルを判定し、
前記異常レベル判定部は、各前記個別機能それぞれについて前記異常検出部が検出した前記異常の累積回数に基づき算出した異常回数値、または各前記個別機能それぞれについて前記異常検出部が検出した前記異常の所定時間当たりの頻度に基づき算出した異常回数値が、所定の回数閾値を超えている場合は、前記システム部の異常を示すシステム異常カウンタをカウントアップし、
前記異常レベル判定部は、前記システム異常カウンタが所定のシステム異常閾値を超えた場合は、前記異常レベルが最も高いと判定し、
前記異常検出部は、前記処理実行部が前記個別機能を実行するのにかかった所要時間が所定の実行時間閾値を超えている場合、または前記処理実行部が所定時間内において前記個別機能を実行した回数が所定の実行回数閾値を超えている場合は、その個別機能についての前記累積回数または前記頻度をカウントアップし、
前記異常検出部は、前記累積回数または前記頻度が所定の閾値を超えている前記個別機能が異常であると判定し、
前記異常レベル判定部は、前記異常検出部が異常であると判定した前記個別機能の個数に応じて前記異常レベルを判定する
ことを特徴とする車両制御装置。
A vehicle control device for controlling the operation of a vehicle, wherein
An abnormality detection unit that detects an abnormality in a system unit having a plurality of individual functions,
An abnormal level determination unit that determines an abnormal level of the system unit;
Equipped with
The system unit includes a process execution unit that executes the individual function,
The abnormality detection unit detects the abnormality individually for each of the individual functions,
The abnormality level determination unit determines an abnormality level of the system unit based on an abnormality detection result by the abnormality detection unit for each of the plurality of individual functions.
The abnormality level determination unit may calculate an abnormality count value calculated based on an accumulated number of the abnormalities detected by the abnormality detection unit for each individual function, or the abnormality detected by the abnormality detection unit for each individual function. If the abnormality frequency value calculated based on the frequency per predetermined time exceeds a predetermined frequency threshold, a system abnormality counter indicating an abnormality in the system unit is counted up;
The abnormality level determination unit determines that the abnormality level is the highest when the system abnormality counter exceeds a predetermined system abnormality threshold.
The abnormality detection unit executes the individual function within a predetermined time if the time taken for the process execution unit to execute the individual function exceeds a predetermined execution time threshold. If the number of executions exceeds a predetermined number of executions threshold, the accumulated number or the frequency for the individual function is counted up,
The abnormality detection unit determines that the individual function whose accumulated number or frequency exceeds a predetermined threshold is abnormal.
The vehicle control device according to claim 1, wherein the abnormality level determination unit determines the abnormality level in accordance with the number of the individual functions determined to be abnormal by the abnormality detection unit .
前記車両制御装置は、前記異常検出部が検出した前記異常の累積回数に応じ、前記システム部の異常時処理を段階的に実行する、フェールセーフ実行部を備え、
前記フェールセーフ実行部は、前記異常レベル判定部が判定した前記異常レベルに対応する前記異常時処理を実行する
ことを特徴とする請求項1記載の車両制御装置。
The vehicle control device, the response to the cumulative number of abnormality detection section detects the abnormality, stepwise executes abnormality processing of the system unit, e Bei failsafe execution unit,
The vehicle control device according to claim 1, wherein the fail-safe execution unit executes the abnormality processing corresponding to the abnormality level determined by the abnormality level determination unit .
前記車両制御装置は、前記個別機能が要求する安全レベルを定義する値を記述した処理管理テーブルを備え、
前記異常検出部は、各前記個別機能についてそれぞれ個別に前記異常を検出し、
前記異常レベル判定部は、前記処理管理テーブルが定義している前記安全レベルが所定レベル以上である前記個別機能について前記異常検出部が前記異常を検出した場合は、前記安全レベルが前記所定レベル未満である前記個別機能について前記異常検出部が前記異常を検出した場合よりも、前記異常レベルが高いと判定する
ことを特徴とする請求項1記載の車両制御装置。
The vehicle control device includes a processing management table in which a value defining the safety level required by the individual function is described.
The abnormality detection unit detects the abnormality individually for each of the individual functions,
The abnormality level determination unit determines that the safety level is less than the predetermined level when the abnormality detection unit detects the abnormality for the individual function whose safety level defined by the processing management table is equal to or higher than a predetermined level. The vehicle control device according to claim 1, wherein the abnormality level is determined to be higher than the case where the abnormality detection unit detects the abnormality with respect to the individual function.
前記処理実行部は、前記個別機能を開始してから完了するまでの所要時間、または所定時間内における前記個別機能の実行回数を計測し、
前記異常検出部は、前記所要時間が所定の実行時間閾値を超えている場合、または前記実行回数が所定の実行回数閾値を超えている場合は、前記累積回数または前記頻度をカウントアップする
ことを特徴とする請求項記載の車両制御装置。
The process execution unit measures a required time from the start to the completion of the individual function, or the number of times of execution of the individual function within a predetermined time,
The abnormality detection unit may count up the cumulative number or the frequency when the required time exceeds a predetermined execution time threshold or when the number of executions exceeds a predetermined number of executions threshold. the vehicle control apparatus according to claim 1, wherein.
前記フェールセーフ実行部は、前記異常レベル判定部が判定した前記異常レベルが所定の高異常レベル以上である場合は、前記異常時処理として、ソフトウェアリセットにより前記システム部を初期化する
ことを特徴とする請求項2記載の車両制御装置。
The fail-safe execution unit is configured to initialize the system unit by software reset as the abnormality processing when the abnormality level determined by the abnormality level determination unit is equal to or higher than a predetermined high abnormality level. The vehicle control device according to claim 2.
記フェールセーフ実行部は、前記異常レベル判定部が判定した前記異常レベルが所定の低異常レベル以下である場合は、前記異常時処理として、前記異常検出部が前記異常を検出した前記個別機能を起動することを禁止する
ことを特徴とする請求項2記載の車両制御装置。
Before SL failsafe execution unit, if the abnormal level of the abnormal level determination unit determines is below a predetermined low abnormal level, the as abnormality processing, the individual function which the abnormality detection section detects the abnormality The vehicle control device according to claim 2, wherein the vehicle control device prohibits activation of the vehicle control device.
記車両制御装置は、前記個別機能が要求する安全レベルを定義する値を記述した処理管理テーブルを備え、
前記フェールセーフ実行部は、前記異常レベル判定部が判定した前記異常レベルが所定の高異常レベル未満かつ所定の低異常レベルを超えている場合は、前記異常時処理として、前記処理管理テーブルが定義している前記安全レベルが所定レベル以下である前記個別機能全てを起動することを禁止する
ことを特徴とする請求項2記載の車両制御装置。
Before Symbol vehicle control apparatus includes a process management table describing values that define the security level of the individual function requests,
The failsafe execution unit defines the processing management table as the abnormality processing when the abnormality level determined by the abnormality level determination unit is less than a predetermined high abnormality level and exceeds a predetermined low abnormality level. The vehicle control device according to claim 2, wherein the activation of all the individual functions whose safety level is lower than a predetermined level is prohibited.
JP2015165941A 2015-08-25 2015-08-25 Vehicle control device Active JP6502211B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015165941A JP6502211B2 (en) 2015-08-25 2015-08-25 Vehicle control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015165941A JP6502211B2 (en) 2015-08-25 2015-08-25 Vehicle control device

Publications (2)

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

Family

ID=58209503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015165941A Active JP6502211B2 (en) 2015-08-25 2015-08-25 Vehicle control device

Country Status (1)

Country Link
JP (1) JP6502211B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7383995B2 (en) * 2019-11-19 2023-11-21 株式会社デンソー Communication systems and communication devices
CN113936427A (en) * 2020-06-29 2022-01-14 宝能汽车集团有限公司 Fatigue driving early warning method and system for vehicle, vehicle and readable storage medium
CN113176987B (en) * 2021-04-29 2023-09-15 华人运通(上海)云计算科技有限公司 Log processing method, device and equipment of vehicle control instruction block and storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4753085B2 (en) * 2006-10-02 2011-08-17 株式会社デンソー Control device for internal combustion engine
JP4844658B2 (en) * 2009-08-07 2011-12-28 株式会社デンソー Diagnostic device and diagnostic system
JP5477654B2 (en) * 2010-10-22 2014-04-23 株式会社デンソー Electronic control device and electric power steering device using the same
JP5629646B2 (en) * 2011-05-27 2014-11-26 日立オートモティブシステムズ株式会社 Vehicle control device
JP5518810B2 (en) * 2011-08-18 2014-06-11 日立オートモティブシステムズ株式会社 Vehicle control device and vehicle control system
US20130304310A1 (en) * 2012-05-14 2013-11-14 Denso Corporation Fail-safe control system for vehicle

Also Published As

Publication number Publication date
JP2017043166A (en) 2017-03-02

Similar Documents

Publication Publication Date Title
JP6140448B2 (en) Monitoring concept in control equipment
JP6502211B2 (en) Vehicle control device
JP6145987B2 (en) Programmable controller, programmable controller data backup method, programmable controller activation method
KR20190058310A (en) Semiconductor device
CN108885570B (en) Vehicle control device
WO2015045507A1 (en) Vehicular control device
JP6955858B2 (en) Control device
CN113993752B (en) Electronic control unit and computer-readable recording medium
JP6007677B2 (en) Safety control system and processor of safety control system
JP5975923B2 (en) Vehicle control device
JP2009129463A (en) Processing method of temporary error in real time system of vehicle controller
US20170286324A1 (en) Semiconductor device and access management method
JP2016066139A (en) Vehicle control unit
WO2014203028A1 (en) Diagnostic apparatus, control unit, integrated circuit, vehicle and method of recording diagnostic data
CN107179980B (en) Method for monitoring a computing system and corresponding computing system
US8726099B2 (en) Data processing system
JP6131688B2 (en) Safety-related equipment and program
US11467865B2 (en) Vehicle control device
JP6349444B2 (en) Vehicle control device
JP2007283788A (en) Vehicular electronic control device
JP4340669B2 (en) INPUT / OUTPUT CONTROL DEVICE, INPUT / OUTPUT CONTROL METHOD, PROCESS CONTROL DEVICE, AND PROCESS CONTROL METHOD
WO2014188764A1 (en) Functional safety control device
US20230398955A1 (en) In-vehicle use control system
JP5494039B2 (en) Memory diagnostic method and control device for power conversion device
JP5559100B2 (en) Electronic control system

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