WO2019012996A1 - 車両制御装置 - Google Patents

車両制御装置 Download PDF

Info

Publication number
WO2019012996A1
WO2019012996A1 PCT/JP2018/024504 JP2018024504W WO2019012996A1 WO 2019012996 A1 WO2019012996 A1 WO 2019012996A1 JP 2018024504 W JP2018024504 W JP 2018024504W WO 2019012996 A1 WO2019012996 A1 WO 2019012996A1
Authority
WO
WIPO (PCT)
Prior art keywords
interrupt
task
maskable
executed
maskable interrupt
Prior art date
Application number
PCT/JP2018/024504
Other languages
English (en)
French (fr)
Inventor
統宙 月舘
祐 石郷岡
朋仁 蛯名
一 芹沢
Original Assignee
日立オートモティブシステムズ株式会社
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 日立オートモティブシステムズ株式会社 filed Critical 日立オートモティブシステムズ株式会社
Priority to CN201880031522.4A priority Critical patent/CN110832459B/zh
Priority to DE112018002612.4T priority patent/DE112018002612T5/de
Priority to US16/623,243 priority patent/US11467865B2/en
Publication of WO2019012996A1 publication Critical patent/WO2019012996A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D45/00Electrical control not provided for in groups F02D41/00 - F02D43/00
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0055Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day

Definitions

  • the present invention relates to a method of detecting abnormality in execution time of processing managed by an OS (Operating System) of a vehicle control device.
  • OS Operating System
  • Patent Document 1 in order to provide a mechanism for detecting a failure that has occurred in real time, a procedure in which a WDT interlocked with a procedure for interlocking multiple stages of WDT strongly intervenes in a system stepwise and mild recovery recovered by an interrupt
  • the failure can not be recovered only by a non-maskable interrupt, by a non-maskable interrupt by a non-maskable interrupt, and by a system reset by a system reset for a serious failure that can not be recovered other than a restart
  • the corresponding means are realized.
  • the timer interrupt is used to detect an abnormality (timeout) of the execution time in the conventional method, the timer interrupt can not detect an abnormality when being interrupted. Another problem is that it is impossible to distinguish between a critical section (CS) necessary for design and an abnormal prohibition when a non-maskable interrupt (NMI) is used to solve the above-mentioned problem.
  • CS critical section
  • NMI non-maskable interrupt
  • the vehicle control according to the present invention is a vehicle control device that monitors a failure of the system, and includes a task execution unit that causes the system to execute a task, and an interrupt processing unit that performs interrupt processing when the task is executed.
  • the non-maskable interrupt is further executed when the maskable interrupt is commanded during the interrupt disabled time, including a enabled interrupt and a non-maskable interrupt executed after the maskable interrupt.
  • a vehicle control apparatus characterized by detecting an abnormality in real time even if interruption is prohibited and applying an appropriate fail-safe process.
  • CS critical section
  • FIG. 2 is a block diagram of an engine control unit ECU 1 according to the first embodiment. It is a figure showing an example of data management table 401 of engine control unit ECU1. It is a figure which shows the example of the data recording table 402 of engine control unit ECU1. It is a figure showing an example of timer register table 500 of engine control unit ECU1. It is a figure which shows the example of the operation
  • FIG. 1 is a block diagram of an engine control unit ECU 1 according to the present invention.
  • the engine control unit ECU1 includes a program area 2, an operation unit 3, a storage area 4, a hardware timer 5, an interrupt controller 6, and a shared bus 7.
  • the arithmetic unit 3 is a processor core (Central Processing Unit) that executes a program stored in the program area 2.
  • the program area 2 stores a software control unit 201, a task execution unit 202, a non-maskable interrupt execution unit 203, and a software interrupt execution unit 204.
  • the storage area 4 stores a data management table 401 described later with reference to FIG. 2 and a data recording table 402 described with reference to FIG.
  • the hardware timer 5 is for counting the clock, and the elapsed time can be known from the counter value of the clock.
  • the timer is provided with a comparison circuit.
  • the numerical value stored in the timer register described later with reference to FIG. 4 and the count value of the timer counter are always compared by the comparison circuit, and when the values match, the interrupt controller 6 generates a non-maskable signal. This allows an interrupt to be generated after the set time has passed, and processing that requires time management can be performed.
  • the hardware timer 5 also stores a timer register table 600 of FIG. 4 described later.
  • non-maskable interrupt When receiving the above non-maskable signal from the hardware timer 5, the interrupt controller 6 interrupts the process being executed by the operation unit and generates a non-maskable interrupt (hereinafter, non-maskable interrupt).
  • the configuration of the engine control ECU 1 in the first embodiment is not limited to this.
  • a non-volatile memory backup RAM
  • a shared memory for accessing each operation unit, a different sensor, or the like may be provided.
  • FIG. 2 is a diagram showing an example of the operation unit data management table 401 stored in the storage area 4.
  • the data management table 401 includes a name field 40101 and a setting value field 40102.
  • the name field 40101 is a name of an object to be managed by the data management table 401.
  • the HW timer counter maximum value, the first compare match time, and the second compare match time are included, but the type and number of objects to be managed, and the management method are not limited thereto.
  • the setting value field 40102 represents a value stored the setting value to be managed by the data management table 401.
  • FIG. 3 shows an example of the data recording table 402 stored in the storage area 4.
  • the data recording table 402 comprises a name field 40201 and a value field 40202.
  • a name field 40201 is a name of an object to be managed by the data recording table 402.
  • the HW timer counter value and the number of non-maskable interrupts are executed, but the type and number of targets to be managed, and the management method are not limited thereto.
  • the value field 40202 represents a value storing the value to be managed in the data recording table 402.
  • FIG. 4 is a diagram showing an example of the timer register table 500 stored in the hardware timer 5.
  • the timer register table 500 includes a name field 501 and a setting value field 502.
  • the name field 500 is a name of an object managed by the timer register table 500.
  • the type includes the compare match flag and the compare match counter, but the type and number of targets to be managed and the management method are not limited thereto.
  • the setting value field 500 represents a value storing the setting value to be managed by the timer register table 500.
  • the storage destination of the table is not limited to this.
  • FIG. 5 is an operation flow of the hardware timer 6. Hereinafter, each step of FIG. 5 will be described.
  • the hardware timer 6 increments the hardware timer counter value and updates the hardware timer count value.
  • step 601 If the hardware timer counter value reaches the maximum value, the hardware timer 6 proceeds to step 602, otherwise proceeds to step 603.
  • step 602 The hardware timer 6 resets the counter and proceeds to step 40301.
  • Step 603 If the compare match flag managed by the timer register table 500 is 1, the hardware timer 6 proceeds to step 604 if they match, otherwise proceeds to step 606.
  • Step 604 The hardware timer 6 compares the hardware timer with the compare match counter managed by the timer register table 500. If the two match, the process proceeds to step 604. If the two do not match, the process proceeds to step 606.
  • Step 605 The hardware timer 6 calls a non-maskable interrupt described later, and proceeds to step 606.
  • Step 606 The hardware timer 6 determines whether the termination condition is satisfied, and if so, the processing ends, and if it is not, the processing proceeds to step 601.
  • FIG. 6 is an operation flow of the software control unit 201. Each step in FIG. 6 will be described below.
  • FIG. 7 is an operation flow of the task execution unit 202. Each step in FIG. 7 will be described below.
  • the task execution unit 202 sets the set value of the compare match in the timer register table 500, and proceeds to step 20201.
  • set the compare match setting value set the compare match flag of the timer register table 500 to 1 and set the compare match generation mode, and set the current HW timer counter from the input capture register. It refers to the process of acquiring and setting the period (compare match counter) until a compare match occurs.
  • the task execution unit 202 executes the CS start process, and proceeds to step 20202.
  • the CS start process is, for example, an interrupt disable process for preventing the process in the critical section from being interrupted by another process.
  • Step 20202 The task execution unit 202 executes the CS process, and proceeds to step 20203.
  • the task execution unit 202 executes the CS termination process, and proceeds to step 20204.
  • the CS end process is a process of releasing interrupt disable process or the like for the critical section not being interrupted by another process.
  • the task execution unit 202 executes the compare match end process and ends the process.
  • the compare match end process is a process of setting the compare match flag of the timer register table 500 to 0 to turn off the compare match function.
  • Step 20300 The NMI execution unit 203 determines the number of non-maskable interrupts in the data recording table 402, and if it is the first one, the process proceeds to step 20301, and otherwise proceeds to step 20304.
  • the NMI execution unit 203 executes compare match setting processing, and proceeds to step 20302.
  • the compare match setting process refers to a process of acquiring the second compare match time from the data management table 401 and setting it in the compare match counter of the timer register table 500.
  • step 20302 The NMI execution unit 203 executes SW interrupt call processing, and proceeds to step 20303.
  • the SW interrupt process is an interrupt generation process for calling a software interrupt execution unit in FIG. 9 described later.
  • the NMI execution unit 203 executes NMI execution counter update processing, and ends the processing.
  • the NMI execution counter updating process is a process of incrementing the number of non-maskable interrupts in the data recording table 402.
  • Step 20304 The NMI execution unit 203 executes a reset process and ends the process.
  • save processing refers to processing for storing the register value of the process currently being executed, the program counter value, and the counter value of the HW timer in the storage area 4, but is not limited thereto.
  • the software interrupt execution unit 204 executes task stop processing, and proceeds to step 20401.
  • the task stop process is a process for stopping a task for which an abnormality is detected by a compare match.
  • the software interrupt execution unit 204 executes the compare match end process and ends the process.
  • the compare match end process is a process of setting the compare match flag of the timer register table 500 to 0 to turn off the compare match function.
  • a critical section (CS) necessary for design in a fixed time and a predetermined time of execution of the task is set regardless of the execution of the critical section. It distinguishes necessary interrupt prohibition and abnormal interrupt prohibition to realize timeout detection.
  • the present embodiment can express the following configuration.
  • a maskable interrupt and a non-maskable interrupt which is executed after the maskable interrupt comprising: task execution means for causing the system to execute a task; and interrupt processing means for interrupt processing when the task is executed; And the maskable interrupt is executed during the interrupt disabled time to execute the non-maskable interrupt.
  • the non-maskable interrupt is executed when the maskable interrupt can not be executed.
  • the interrupt processing means performs the interrupt processing when monitoring a fault in the system.
  • the first non-maskable interrupt is commanded during execution, and the non-maskable interrupt is executed after the cancellation of the interrupt disabled time, and the first non-maskable interrupt during the interrupt disabled time, the maskable interrupt Are executed to execute the second non-maskable interrupt.
  • the second non-maskable interrupt is executed because the maskable interrupt can not be executed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Combustion & Propulsion (AREA)
  • Chemical & Material Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

本発明は、タスクに異常が発生した場合、クリティカルセクション実行中に関わらず、あらかじめ設定したタスクの実行時間と一定の時間で設計上必要なクリティカルセクション(CS)か判別し必要な割込み禁止と異常な割込み禁止を区別して、タイムアウト検出を実現する。システムにタスクを実行させるタスク実行手段と、タスクの実行時に割り込み処理をする割り込み処理手段と、を備え、マスク可能割り込みと、このマスク可能割り込みよりも後に実行指令されるマスク不可能割り込みと、を含み、割り込み禁止時間中にマスク可能割り込みが実行指令されて、マスク不可能割り込みが実行される。

Description

車両制御装置
 本発明は車両制御装置のOS(オペレーティングシステム)が管理する処理の実行時間異常の検出方法に関するものである。
 近年多くの車両制御システムは、電子化された車両制御機器を操作するECU、すなわち電子制御装置(Electronic Control Unit)と、複数のECU間の通信を可能にする車載LAN(Local Area Network)から構成されている。これら車両制御システムは環境負荷の低減や安全要求に伴い、システムの高機能化、機能の分散化、複雑化が進んでいる。その結果、ECUのソフトウェアアーキテクチャの標準化、安全装置の電子制御化とその安全性確保の仕組みの重要性が増大している。
 車両制御機器における安全装置の電子制御化にともない機能安全の仕組みが車両制御システムに導入されてきている。ここで、機能安全とは電気。・電子システムに不具合が生じたときにシステムが安全側に遷移することで安全を確保する考えである。例えば自動車向け機能安全規格ISO26262では、規格独自の安全度水準であるASIL(Automotive Safety Integrity Level)が設けられており、最上位レベルASIL Dに準拠するには、車両制御装置の安全に関わる機能の構成が、主機能、安全装置、監視装置が明確に分離していることを第三者に対し証明できることが求められている。
 一般的な車両制御装置に機能安全規格ISO26262を適用すると車両制御システムはさまざまなASILのソフトウェアが混在することがわかっている。そのため、既存のソフトウェアが機能安全規格に準拠するには、ソフトウェア間の干渉防止する仕組みやそれに関わる処理の高速化、軽量化、信頼性向上などの技術が必要となる。システムを構成するソフトウェア間の相互作用を防止する仕組みとして時間保護機能やメモリ保護機能、データ保護機能がある。具体的には、安全度水準の低いQMのソフトウェアが暴走し、ASIL Dのソフトウェアといった安全度水準の高いソフトウェアの動作を阻害しシステムに影響を及ぼすことを防ぐことである。
 下記特許文献1では、発生した障害をリアルタイムに検出する仕組みを提供するため、複数段階のWDTを連動させる手順と連動したWDTが段階的に強力にシステムに介入する手順と、割り込みによって回復する軽度の障害には割り込みによって、マスク不可能割り込み以外では回復できない中程度の障害にはマスク不可能割り込みによって、そして、再起動以外に回復できないような重度の障害に対しては、システムリセットによって障害に対応する手段を実現している。
特開2002-251300号公報
 異常が発生しても一定時間システムの動作継続性が求められるシステムでは、異常が発生した処理のみを停止させ、システム全体の機能を維持し、できるだけ停止させない仕組みが必要である。しかし、従来手法では実行時間の異常(タイムアウト)検出にはタイマ割り込みを使用していたため、タイマ割り込みでは割り禁時に異常検出できない。また、前述した課題を解決するためにマスク不可能な割り込み(NMI)を利用すると設計上必要なクリティカルセクション(CS)か異常な割禁か区別できないことが課題である。
 本発明に関わる車両制御は、システムの障害を監視する車両制御装置であって、前記システムにタスクを実行させるタスク実行手段と、前記タスクの実行時に割り込み処理をする割り込み処理手段とを備え、マスク可能割り込みと、前記マスク可能割り込みよりも後に実行指令されるマスク不可能割り込みと、を含み、割り込み禁止時間中に前記マスク可能割り込みが実行指令された場合、さらに前記マスク不可能割り込が実行されることで、割り込み禁止でもリアルタイムに異常を検出し、適切なフェールセーフ処理を適用できることを特徴とする車両制御装置。
 本発明に関わる車両制御装置によれば、タスクに異常が発生した場合、クリティカルセクション実行中に関わらず、あらかじめ設定したタスクの実行時間と一定の時間で設計上必要なクリティカルセクション(CS)か判別し必要な割込み禁止と異常な割込み禁止を区別して、タイムアウト検出を実現する。
実施の形態1に係るエンジン制御装置ECU1の構成図である。 エンジン制御装置ECU1のデータ管理テーブル401の例を示す図である。 エンジン制御装置ECU1のデータ記録テーブル402の例を示す図である。 エンジン制御装置ECU1のタイマレジスタテーブル500の例を示す図である。 エンジン制御装置ECU1のハードウェアタイマ5の動作フローの例を示す図である。 エンジン制御装置ECU1のソフトウェア制御部201の動作フローの例を示す図である。 エンジン制御装置ECU1のタスク実行部202の動作フローの例を示す図である。 エンジン制御装置ECU1のマスク不可割り込み実行部203の動作フローの例を示す図である。 エンジン制御装置ECU1のソフトウェア割り込み実行部204の動作フローの例を示す図である。
 <実施の形態1>
  図1は、本発明に関わるエンジン制御装置ECU1の構成図である。エンジン制御装置ECU1はプログラム領域2、演算部3、記憶領域4、ハードウェアタイマ5、割り込みコントローラ6、共有バス7を備える。
 演算部3は、プログラム領域2が格納しているプログラムを実行するプロセッサコア(Central Processing Unit)である。プログラム領域2は、ソフトウェア制御部201、タスク実行部202、ノンマスカブル割り込み実行部203、ソフトウェア割り込み実行部204を格納する。
 記憶領域4は、後述する図2で説明するデータ管理テーブル401、図3で説明するデータ記録テーブル402を格納する。
 ハードウェアタイマ5はクロックをカウンタするもので、クロックのカウンタ値により経過時間を分かる。タイマには比較回路が備わっている。後述する図4で説明するタイマレジスタに格納された数値とタイマカウンタのカウント値は常に比較回路で比較されており、両者の値が一致すると割り込みコントローラ6にノンマスカブル信号を発生する。これにより設定した時間が経過したら割込みを発生させて、時間管理が必要な処理を行なうことができます。また、ハードウェアタイマ5は後述する図4のタイマレジスタテーブル600を格納する。
 割り込みコントローラ6は、ハードウェアタイマ5から前述したノンマスカブル信号を受け取ると、演算部の実行中の処理を中断させ、マスク不可の割り込み(以下、ノンマスカブル割り込み)を発生させる。
 本実施の形態1におけるエンジン制御ECU1の構成はこれに限らない。例えば、データを保存するための不揮発性メモリ(バックアップRAM)や各演算部がアクセスするための共有メモリや異なるセンサなどを備えてもよい。
 エンジン制御装置ECU1の記憶領域4およびハードウェアタイマ5に格納されるテーブル下記より説明する。図2は記憶領域4に格納される演算部データ管理テーブル401の例を示す図である。データ管理テーブル401は、名称フィールド40101、設定値フィールド40102からなる。名称フィールド40101は、データ管理テーブル401で管理する対象の名称である。本実施例では、HWタイマカウンタ最大値、第1コンペアマッチ時間、第2コンペアマッチ時間からなるが管理する対象の種類や数および管理方法はこれに限らない。設定値フィールド40102は、データ管理テーブル401が管理する対象の設定値を格納された値を表す。
 図3は記憶領域4に格納されるデータ記録テーブル402の例を示す図である。データ記録テーブル402は、名称フィールド40201、値フィールド40202からなる。
名称フィールド40201はデータ記録テーブル402が管理する対象の名称である。本実施例では、HWタイマカウンタ値、ノンマスカブル割り込み実行回数からなるが管理する対象の種類や対象の数および管理方法はこれに限らない。値フィールド40202は、データ記録テーブル402で管理する対象の値を格納した値を表す。
 図4はハードウェアタイマ5に格納されるタイマレジスタテーブル500の例を示す図である。タイマレジスタテーブル500は、名称フィールド501、設定値フィールド502からなる。名称フィールド500はタイマレジスタテーブル500が管理する対象の名称である。本実施例では、コンペアマッチフラグ、コンペアマッチカウンタからなるが管理する対象の種類や対象の数および管理方法はこれに限らない。設定値フィールド500は、タイマレジスタテーブル500で管理する対象の設定値を格納した値を表す。
 以上のテーブルが実施例1のエンジン制御ECU1の記憶領域4およびハードウェアタイマ5に格納されるが、テーブルの格納先これに限らない。
 これよりエンジン制御ECU1のハードウェアタイマ6の動作とプログラム領域2に格納され、演算部3で実行されるプログラムの動作フローについて説明する。
 図5はハードウェアタイマ6の動作フローである。以下、図5の各ステップについて説明する。
 (図5:テップ600)
  ハードウェアタイマ6は、ハードウェアタイマカウンタ値をインクリメントし、ハードウェアタイマカウント値を更新する。
 (図5:ステップ601)
  ハードウェアタイマ6は、ハードウェアタイマカウンタ値が最大値に達した場合、ステップ602に進み、それ以外はステップ603に進む。
 (図5:ステップ602)
  ハードウェアタイマ6は、カウンタをリセットしステップ40301へ進む。
 (図5:ステップ603)
  ハードウェアタイマ6は、タイマレジスタテーブル500が管理するコンペアマッチフラグが1であれば、一致していればステップ604に進み、それ以外であればステップ606に進む。
 (図5:ステップ604)
  ハードウェアタイマ6は、ハードウェアタイマとタイマレジスタテーブル500が管理するコンペアマッチカウンタと比較し、一致していればステップ604に進み、一致していなければステップ606に進む。
 (図5:ステップ605)
  ハードウェアタイマ6は、後述するノンマスカブル割り込みを呼び、ステップ606に進む。
 (図5:ステップ606)
  ハードウェアタイマ6は、終了条件が満たされているか判定し、満たされていれば処理を終了し、満たされていなければステップ601へ進む。
 図6はソフトウェア制御部201の動作フローである。以下、図6の各ステップについて説明する。
 (図6:ステップ20100)
  ソフトウェア演算部201は、記憶領域4およびHWタイマ5を初期化し、ステップ20101に進む。
 (図6:ステップ20101)
  ソフトウェア演算部201は、後述するタスク実行部を呼びステップ20102に進む。
 (図6:ステップ20102)
  ソフトウェア演算部201は、終了条件が満たされているか判定し、満たされていれば処理を終了、満たされていなければステップ20101に進む。
 図7はタスク実行部202の動作フローである。以下、図7の各ステップについて説明する。
 (図7:ステップ20200)
  タスク実行部202は、タイマレジスタテーブル500のコンペアマッチの設定値を設定し、ステップ20201に進む。ここで、コンペアマッチの設定値の設定とは、タイマレジスタテーブル500のコンペアマッチフラグに1をたて、コンペマッチを発生するモードに設定する処理と、インプットキャプチャレジスタから現在のHWタイマのカウンタを取得し、コンペアマッチは発生するまでの期間(コンペアマッチカウンタ)を設定する処理をさす。
 (図7:ステップ20201)
  タスク実行部202は、CS開始処理を実行し、ステップ20202に進む。ここで、CS開始処理とは、クリティカルセクション中の処理が他の処理によって割り込まれないための割り込み禁止処理などである。
 (図7:ステップ20202)
  タスク実行部202は、CS処理を実行、ステップ20203に進む。
 (図7:ステップ20203)
  タスク実行部202は、CS終了処理を実行し、ステップ20204に進む。ここで、CS終了処理とは、クリティカルセクションが他の処理によって割り込まれないための割り込み禁止処理などを開放する処理である。
 (図7:ステップ20204)
  タスク実行部202は、コンペアマッチ終了処理を実行、処理を終了する。ここで、コンペアマッチ終了処理とは、タイマレジスタテーブル500のコンペアマッチフラグに0をたて、コンペアマッチ機能をオフにする処理である。
 (図8:ステップ20300)
  NMI実行部203は、データ記録テーブル402のノンマスカブル割り込み実行回数を判定し、1回目ならステップ20301に進み、それ以外ならステップ20304に進む。
 (図8:ステップ20301)
  NMI実行部203は、コンペアマッチ設定処理を実行し、ステップ20302に進む。ここで、コンペアマッチ設定処理とはデータ管理テーブル401から第2コンペアマッチ時間を取得し、タイマレジスタテーブル500のコンペアマッチカウンタに設定する処理をさす。
 (図8:ステップ20302)
  NMI実行部203は、SW割り込み呼び出し処理を実行し、ステップ20303に進む。ここで、SW割り込み処理とは、後述する図9のソフトウェア割り込み実行部を呼ぶための割り込み発生処理である。
 (図8:ステップ20303)
  NMI実行部203は、NMI実行カウンタ更新処理を実行し、処理を終了する。ここで、NMI実行カウンタ更新処理とはデータ記録テーブル402のノンマスカブル割り込み実行回数をインクリメントする処理をさす。
 (図8:ステップ20304)
  NMI実行部203は、リセット処理を実行し処理を終了する。
 (図9:ステップ20300)
  ソフトウェア割り込み実行部204は、退避処理を実行し、ステップ20401に進む。ここで、退避処理とは、現在実行中の処理のレジスタ値やプログラムカウンタ値、HWタイマのカウンタ値を、記憶領域4に格納する処理をさすがこれに限らない。
 (図9:ステップ20301)
  ソフトウェア割り込み実行部204は、タスク停止処理を実行し、ステップ20401に進む。タスク停止処理とは、コンペアマッチによって異常が検出されたタスクを停止させる処理をさす。
 (図9:ステップ20302)
  ソフトウェア割り込み実行部204は、コンペアマッチ終了処理を実行し処理を終了する。コンペアマッチ終了処理とは、タイマレジスタテーブル500のコンペアマッチフラグに0をたて、コンペアマッチ機能をオフにする処理である。
 以上のように、本実施形態1によれば、タスクに異常が発生した場合、クリティカルセクション実行中に関わらず、あらかじめ設定したタスクの実行時間と一定の時間で設計上必要なクリティカルセクション(CS)か判別し必要な割込み禁止と異常な割込み禁止を区別して、タイムアウト検出を実現する。
 本実施形態は、次のような構成を表現することができる。
 システムにタスクを実行させるタスク実行手段と、前記タスクの実行時に割り込み処理をする割り込み処理手段と、を備え、マスク可能割り込みと、該マスク可能割り込みよりも後に実行指令されるマスク不可能割り込みと、を含み、割り込み禁止時間中に前記マスク可能割り込みが実行指令されて、前記マスク不可能割り込みが実行される。
 前記マスク不可能割り込みは、前記マスク可能割り込みが実行不可により実行される。
 前記割り込み処理手段は、前記システムの障害を監視する際に前記割り込み処理をする。
 タスクを実行させるタスク実行手段と、前記タスクの実行時に割り込み処理をする割り込み処理手段と、を備え、前記割り込み処理手段は、第一マスク不可能割り込みと、該第一マスク不可能割り込みから所定時間後に実行指令されるマスク可能割り込みと、前記第一マスク不可能割り込みから所定時間後であって、前記マスク可能割り込みよりも後に実行指令される第二マスク不可能割り込みと、を含み、割り込み禁止時間中に前記第一マスク不可能割り込みが実行指令されて、前記割り込み禁止時間の解除後に前記マスク可能割り込みが実行される場合と、割り込み禁止時間中に前記第一マスク不可能割り込み、前記マスク可能割り込みが実行指令されて、前記第二マスク不可能割り込みが実行される場合と、を含む。
 前記第二マスク不可能割り込みは、マスク可能割り込みが実行不可により実行される。

Claims (5)

  1.  システムにタスクを実行させるタスク実行手段と、
     前記タスクの実行時に割り込み処理をする割り込み処理手段と、を備え、
     マスク可能割り込みと、該マスク可能割り込みよりも後に実行指令されるマスク不可能割り込みと、を含み、割り込み禁止時間中に前記マスク可能割り込みが実行指令されて、前記マスク不可能割り込みが実行されることを特徴とする車両制御装置。
  2.  前記マスク不可能割り込みは、前記マスク可能割り込みが実行不可により実行されることを特徴とする、請求項1に記載の車両制御装置。
  3.  前記割り込み処理手段は、前記システムの障害を監視する際に前記割り込み処理をすることを特徴とする、請求項1に記載の車両制御装置。
  4.  タスクを実行させるタスク実行手段と、
     前記タスクの実行時に割り込み処理をする割り込み処理手段と、を備え、
     前記割り込み処理手段は、
     第一マスク不可能割り込みと、該第一マスク不可能割り込みから所定時間後に実行指令されるマスク可能割り込みと、前記第一マスク不可能割り込みから所定時間後であって、前記マスク可能割り込みよりも後に実行指令される第二マスク不可能割り込みと、を含み、割り込み禁止時間中に前記第一マスク不可能割り込みが実行指令されて、前記割り込み禁止時間の解除後に前記マスク可能割り込みが実行される場合と、
     割り込み禁止時間中に前記第一マスク不可能割り込み、前記マスク可能割り込みが実行指令されて、前記第二マスク不可能割り込みが実行される場合と、を含むことを特徴とする車両制御装置。
  5.  前記第二マスク不可能割り込みは、マスク可能割り込みが実行不可により実行されることを特徴とする、請求項4に記載の車両制御装置。
PCT/JP2018/024504 2017-07-13 2018-06-28 車両制御装置 WO2019012996A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201880031522.4A CN110832459B (zh) 2017-07-13 2018-06-28 车辆控制装置
DE112018002612.4T DE112018002612T5 (de) 2017-07-13 2018-06-28 Fahrzeugsteuervorrichtung
US16/623,243 US11467865B2 (en) 2017-07-13 2018-06-28 Vehicle control device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017136709A JP6902948B2 (ja) 2017-07-13 2017-07-13 車両制御装置
JP2017-136709 2017-07-13

Publications (1)

Publication Number Publication Date
WO2019012996A1 true WO2019012996A1 (ja) 2019-01-17

Family

ID=65002518

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/024504 WO2019012996A1 (ja) 2017-07-13 2018-06-28 車両制御装置

Country Status (5)

Country Link
US (1) US11467865B2 (ja)
JP (1) JP6902948B2 (ja)
CN (1) CN110832459B (ja)
DE (1) DE112018002612T5 (ja)
WO (1) WO2019012996A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7322734B2 (ja) 2020-02-05 2023-08-08 株式会社デンソー 制御装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04135246A (ja) * 1990-08-20 1992-05-08 Mitsubishi Electric Corp データ処理装置
JPH0784834A (ja) * 1993-09-10 1995-03-31 Kawasaki Steel Corp 半導体装置
JP2002251300A (ja) * 2001-02-22 2002-09-06 Hitachi Ltd 障害監視方法及び装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4831518A (en) * 1986-08-26 1989-05-16 Bull Hn Information Systems Inc. Multiprocessor interrupt rerouting mechanism
US5995745A (en) * 1996-12-23 1999-11-30 Yodaiken; Victor J. Adding real-time support to general purpose operating systems
US6704763B1 (en) * 1998-06-09 2004-03-09 Advanced Micro Devices, Inc. Hardware enforcement mechanism for an isochronous task scheduler
US6421702B1 (en) * 1998-06-09 2002-07-16 Advanced Micro Devices, Inc. Interrupt driven isochronous task scheduler system
US6189065B1 (en) * 1998-09-28 2001-02-13 International Business Machines Corporation Method and apparatus for interrupt load balancing for powerPC processors
US6148361A (en) * 1998-12-17 2000-11-14 International Business Machines Corporation Interrupt architecture for a non-uniform memory access (NUMA) data processing system
JP3600095B2 (ja) * 1999-12-07 2004-12-08 松下電器産業株式会社 割り込み管理装置及び割り込み管理方法
US20040088704A1 (en) * 2002-10-30 2004-05-06 Advanced Simulation Technology, Inc. Method for running real-time tasks alongside a general purpose operating system
JP2006216042A (ja) * 2005-02-04 2006-08-17 Sony Computer Entertainment Inc 割り込み処理のためのシステムおよび方法
CN100459447C (zh) * 2005-06-30 2009-02-04 华为技术有限公司 一种配线连接设备实现主备倒换的方法
US7730248B2 (en) * 2007-12-13 2010-06-01 Texas Instruments Incorporated Interrupt morphing and configuration, circuits, systems and processes
CN104899125B (zh) * 2015-06-04 2019-01-29 新华三技术有限公司 一种单板系统的运行信息获取方法和装置
US10691487B2 (en) * 2018-04-25 2020-06-23 International Business Machines Corporation Abstraction of spin-locks to support high performance computing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04135246A (ja) * 1990-08-20 1992-05-08 Mitsubishi Electric Corp データ処理装置
JPH0784834A (ja) * 1993-09-10 1995-03-31 Kawasaki Steel Corp 半導体装置
JP2002251300A (ja) * 2001-02-22 2002-09-06 Hitachi Ltd 障害監視方法及び装置

Also Published As

Publication number Publication date
DE112018002612T5 (de) 2020-05-07
CN110832459B (zh) 2023-12-15
US20200183733A1 (en) 2020-06-11
JP6902948B2 (ja) 2021-07-14
US11467865B2 (en) 2022-10-11
CN110832459A (zh) 2020-02-21
JP2019020869A (ja) 2019-02-07

Similar Documents

Publication Publication Date Title
JP5705258B2 (ja) マイクロコンピュータ及びその動作方法
JP5163807B2 (ja) マイコン相互監視システム及びマイコン相互監視方法
EP2947568A1 (en) Upgrade processing method, apparatus and system
TW201610672A (zh) 在資料處理裝置中進行除錯
JPH07168741A (ja) ウォッチドッグタイマ装置
US10360115B2 (en) Monitoring device, fault-tolerant system, and control method
JP5975923B2 (ja) 車両用制御装置
WO2019012996A1 (ja) 車両制御装置
JP6502211B2 (ja) 車両制御装置
US20220055637A1 (en) Electronic control unit and computer readable medium
EP3480700B1 (en) Electronic control device
JP2007283788A (ja) 車両用電子制御装置
WO2023119652A1 (ja) 電子制御装置、及びアクセス制御方法
JP6090094B2 (ja) 情報処理装置
JP5756413B2 (ja) 制御装置
JP2008077388A (ja) マルチプロセッサ制御システム、方法、およびプログラム
KR102475879B1 (ko) Mdps mcu 코어 고장 감지 장치 및 방법
JPH02293939A (ja) スタックオーバーフロー検出時処理方式
JPH0293738A (ja) 割込み処理方式
CN112596916A (zh) 双核锁步错误恢复系统及方法
CN117499127A (zh) 用于跨域访问的方法、装置、设备和介质
JPH0612293A (ja) マイクロコンピュータの暴走防止方法
JPH04236637A (ja) マイクロプロセッサ障害検出回路
JPH04270441A (ja) データ処理装置
JPS61175827A (ja) 自動車用コンピユ−タの誤動作防止方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18832477

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 18832477

Country of ref document: EP

Kind code of ref document: A1