WO2019012996A1 - 車両制御装置 - Google Patents
車両制御装置 Download PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000012544 monitoring process Methods 0.000 claims description 2
- 230000005856 abnormality Effects 0.000 abstract description 10
- 230000002159 abnormal effect Effects 0.000 abstract description 4
- 238000013461 design Methods 0.000 abstract description 4
- 238000001514 detection method Methods 0.000 abstract description 3
- 238000000034 method Methods 0.000 description 42
- 230000008569 process Effects 0.000 description 37
- 230000006870 function Effects 0.000 description 10
- 238000013523 data management Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/48—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric 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/02—Electric 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/023—Electric 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0205—Diagnosing or detecting failures; Failure detection models
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D45/00—Electrical control not provided for in groups F02D41/00 - F02D43/00
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/0055—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt 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が段階的に強力にシステムに介入する手順と、割り込みによって回復する軽度の障害には割り込みによって、マスク不可能割り込み以外では回復できない中程度の障害にはマスク不可能割り込みによって、そして、再起動以外に回復できないような重度の障害に対しては、システムリセットによって障害に対応する手段を実現している。
異常が発生しても一定時間システムの動作継続性が求められるシステムでは、異常が発生した処理のみを停止させ、システム全体の機能を維持し、できるだけ停止させない仕組みが必要である。しかし、従来手法では実行時間の異常(タイムアウト)検出にはタイマ割り込みを使用していたため、タイマ割り込みでは割り禁時に異常検出できない。また、前述した課題を解決するためにマスク不可能な割り込み(NMI)を利用すると設計上必要なクリティカルセクション(CS)か異常な割禁か区別できないことが課題である。
本発明に関わる車両制御は、システムの障害を監視する車両制御装置であって、前記システムにタスクを実行させるタスク実行手段と、前記タスクの実行時に割り込み処理をする割り込み処理手段とを備え、マスク可能割り込みと、前記マスク可能割り込みよりも後に実行指令されるマスク不可能割り込みと、を含み、割り込み禁止時間中に前記マスク可能割り込みが実行指令された場合、さらに前記マスク不可能割り込が実行されることで、割り込み禁止でもリアルタイムに異常を検出し、適切なフェールセーフ処理を適用できることを特徴とする車両制御装置。
本発明に関わる車両制御装置によれば、タスクに異常が発生した場合、クリティカルセクション実行中に関わらず、あらかじめ設定したタスクの実行時間と一定の時間で設計上必要なクリティカルセクション(CS)か判別し必要な割込み禁止と異常な割込み禁止を区別して、タイムアウト検出を実現する。
<実施の形態1>
図1は、本発明に関わるエンジン制御装置ECU1の構成図である。エンジン制御装置ECU1はプログラム領域2、演算部3、記憶領域4、ハードウェアタイマ5、割り込みコントローラ6、共有バス7を備える。
図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で管理する対象の値を格納した値を表す。
名称フィールド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は、ハードウェアタイマカウンタ値をインクリメントし、ハードウェアタイマカウント値を更新する。
ハードウェアタイマ6は、ハードウェアタイマカウンタ値をインクリメントし、ハードウェアタイマカウント値を更新する。
(図5:ステップ601)
ハードウェアタイマ6は、ハードウェアタイマカウンタ値が最大値に達した場合、ステップ602に進み、それ以外はステップ603に進む。
ハードウェアタイマ6は、ハードウェアタイマカウンタ値が最大値に達した場合、ステップ602に進み、それ以外はステップ603に進む。
(図5:ステップ602)
ハードウェアタイマ6は、カウンタをリセットしステップ40301へ進む。
ハードウェアタイマ6は、カウンタをリセットしステップ40301へ進む。
(図5:ステップ603)
ハードウェアタイマ6は、タイマレジスタテーブル500が管理するコンペアマッチフラグが1であれば、一致していればステップ604に進み、それ以外であればステップ606に進む。
ハードウェアタイマ6は、タイマレジスタテーブル500が管理するコンペアマッチフラグが1であれば、一致していればステップ604に進み、それ以外であればステップ606に進む。
(図5:ステップ604)
ハードウェアタイマ6は、ハードウェアタイマとタイマレジスタテーブル500が管理するコンペアマッチカウンタと比較し、一致していればステップ604に進み、一致していなければステップ606に進む。
ハードウェアタイマ6は、ハードウェアタイマとタイマレジスタテーブル500が管理するコンペアマッチカウンタと比較し、一致していればステップ604に進み、一致していなければステップ606に進む。
(図5:ステップ605)
ハードウェアタイマ6は、後述するノンマスカブル割り込みを呼び、ステップ606に進む。
ハードウェアタイマ6は、後述するノンマスカブル割り込みを呼び、ステップ606に進む。
(図5:ステップ606)
ハードウェアタイマ6は、終了条件が満たされているか判定し、満たされていれば処理を終了し、満たされていなければステップ601へ進む。
ハードウェアタイマ6は、終了条件が満たされているか判定し、満たされていれば処理を終了し、満たされていなければステップ601へ進む。
図6はソフトウェア制御部201の動作フローである。以下、図6の各ステップについて説明する。
(図6:ステップ20100)
ソフトウェア演算部201は、記憶領域4およびHWタイマ5を初期化し、ステップ20101に進む。
ソフトウェア演算部201は、記憶領域4およびHWタイマ5を初期化し、ステップ20101に進む。
(図6:ステップ20101)
ソフトウェア演算部201は、後述するタスク実行部を呼びステップ20102に進む。
ソフトウェア演算部201は、後述するタスク実行部を呼びステップ20102に進む。
(図6:ステップ20102)
ソフトウェア演算部201は、終了条件が満たされているか判定し、満たされていれば処理を終了、満たされていなければステップ20101に進む。
ソフトウェア演算部201は、終了条件が満たされているか判定し、満たされていれば処理を終了、満たされていなければステップ20101に進む。
図7はタスク実行部202の動作フローである。以下、図7の各ステップについて説明する。
(図7:ステップ20200)
タスク実行部202は、タイマレジスタテーブル500のコンペアマッチの設定値を設定し、ステップ20201に進む。ここで、コンペアマッチの設定値の設定とは、タイマレジスタテーブル500のコンペアマッチフラグに1をたて、コンペマッチを発生するモードに設定する処理と、インプットキャプチャレジスタから現在のHWタイマのカウンタを取得し、コンペアマッチは発生するまでの期間(コンペアマッチカウンタ)を設定する処理をさす。
タスク実行部202は、タイマレジスタテーブル500のコンペアマッチの設定値を設定し、ステップ20201に進む。ここで、コンペアマッチの設定値の設定とは、タイマレジスタテーブル500のコンペアマッチフラグに1をたて、コンペマッチを発生するモードに設定する処理と、インプットキャプチャレジスタから現在のHWタイマのカウンタを取得し、コンペアマッチは発生するまでの期間(コンペアマッチカウンタ)を設定する処理をさす。
(図7:ステップ20201)
タスク実行部202は、CS開始処理を実行し、ステップ20202に進む。ここで、CS開始処理とは、クリティカルセクション中の処理が他の処理によって割り込まれないための割り込み禁止処理などである。
タスク実行部202は、CS開始処理を実行し、ステップ20202に進む。ここで、CS開始処理とは、クリティカルセクション中の処理が他の処理によって割り込まれないための割り込み禁止処理などである。
(図7:ステップ20202)
タスク実行部202は、CS処理を実行、ステップ20203に進む。
タスク実行部202は、CS処理を実行、ステップ20203に進む。
(図7:ステップ20203)
タスク実行部202は、CS終了処理を実行し、ステップ20204に進む。ここで、CS終了処理とは、クリティカルセクションが他の処理によって割り込まれないための割り込み禁止処理などを開放する処理である。
タスク実行部202は、CS終了処理を実行し、ステップ20204に進む。ここで、CS終了処理とは、クリティカルセクションが他の処理によって割り込まれないための割り込み禁止処理などを開放する処理である。
(図7:ステップ20204)
タスク実行部202は、コンペアマッチ終了処理を実行、処理を終了する。ここで、コンペアマッチ終了処理とは、タイマレジスタテーブル500のコンペアマッチフラグに0をたて、コンペアマッチ機能をオフにする処理である。
タスク実行部202は、コンペアマッチ終了処理を実行、処理を終了する。ここで、コンペアマッチ終了処理とは、タイマレジスタテーブル500のコンペアマッチフラグに0をたて、コンペアマッチ機能をオフにする処理である。
(図8:ステップ20300)
NMI実行部203は、データ記録テーブル402のノンマスカブル割り込み実行回数を判定し、1回目ならステップ20301に進み、それ以外ならステップ20304に進む。
NMI実行部203は、データ記録テーブル402のノンマスカブル割り込み実行回数を判定し、1回目ならステップ20301に進み、それ以外ならステップ20304に進む。
(図8:ステップ20301)
NMI実行部203は、コンペアマッチ設定処理を実行し、ステップ20302に進む。ここで、コンペアマッチ設定処理とはデータ管理テーブル401から第2コンペアマッチ時間を取得し、タイマレジスタテーブル500のコンペアマッチカウンタに設定する処理をさす。
NMI実行部203は、コンペアマッチ設定処理を実行し、ステップ20302に進む。ここで、コンペアマッチ設定処理とはデータ管理テーブル401から第2コンペアマッチ時間を取得し、タイマレジスタテーブル500のコンペアマッチカウンタに設定する処理をさす。
(図8:ステップ20302)
NMI実行部203は、SW割り込み呼び出し処理を実行し、ステップ20303に進む。ここで、SW割り込み処理とは、後述する図9のソフトウェア割り込み実行部を呼ぶための割り込み発生処理である。
NMI実行部203は、SW割り込み呼び出し処理を実行し、ステップ20303に進む。ここで、SW割り込み処理とは、後述する図9のソフトウェア割り込み実行部を呼ぶための割り込み発生処理である。
(図8:ステップ20303)
NMI実行部203は、NMI実行カウンタ更新処理を実行し、処理を終了する。ここで、NMI実行カウンタ更新処理とはデータ記録テーブル402のノンマスカブル割り込み実行回数をインクリメントする処理をさす。
NMI実行部203は、NMI実行カウンタ更新処理を実行し、処理を終了する。ここで、NMI実行カウンタ更新処理とはデータ記録テーブル402のノンマスカブル割り込み実行回数をインクリメントする処理をさす。
(図8:ステップ20304)
NMI実行部203は、リセット処理を実行し処理を終了する。
NMI実行部203は、リセット処理を実行し処理を終了する。
(図9:ステップ20300)
ソフトウェア割り込み実行部204は、退避処理を実行し、ステップ20401に進む。ここで、退避処理とは、現在実行中の処理のレジスタ値やプログラムカウンタ値、HWタイマのカウンタ値を、記憶領域4に格納する処理をさすがこれに限らない。
ソフトウェア割り込み実行部204は、退避処理を実行し、ステップ20401に進む。ここで、退避処理とは、現在実行中の処理のレジスタ値やプログラムカウンタ値、HWタイマのカウンタ値を、記憶領域4に格納する処理をさすがこれに限らない。
(図9:ステップ20301)
ソフトウェア割り込み実行部204は、タスク停止処理を実行し、ステップ20401に進む。タスク停止処理とは、コンペアマッチによって異常が検出されたタスクを停止させる処理をさす。
ソフトウェア割り込み実行部204は、タスク停止処理を実行し、ステップ20401に進む。タスク停止処理とは、コンペアマッチによって異常が検出されたタスクを停止させる処理をさす。
(図9:ステップ20302)
ソフトウェア割り込み実行部204は、コンペアマッチ終了処理を実行し処理を終了する。コンペアマッチ終了処理とは、タイマレジスタテーブル500のコンペアマッチフラグに0をたて、コンペアマッチ機能をオフにする処理である。
ソフトウェア割り込み実行部204は、コンペアマッチ終了処理を実行し処理を終了する。コンペアマッチ終了処理とは、タイマレジスタテーブル500のコンペアマッチフラグに0をたて、コンペアマッチ機能をオフにする処理である。
以上のように、本実施形態1によれば、タスクに異常が発生した場合、クリティカルセクション実行中に関わらず、あらかじめ設定したタスクの実行時間と一定の時間で設計上必要なクリティカルセクション(CS)か判別し必要な割込み禁止と異常な割込み禁止を区別して、タイムアウト検出を実現する。
本実施形態は、次のような構成を表現することができる。
システムにタスクを実行させるタスク実行手段と、前記タスクの実行時に割り込み処理をする割り込み処理手段と、を備え、マスク可能割り込みと、該マスク可能割り込みよりも後に実行指令されるマスク不可能割り込みと、を含み、割り込み禁止時間中に前記マスク可能割り込みが実行指令されて、前記マスク不可能割り込みが実行される。
前記マスク不可能割り込みは、前記マスク可能割り込みが実行不可により実行される。
前記割り込み処理手段は、前記システムの障害を監視する際に前記割り込み処理をする。
タスクを実行させるタスク実行手段と、前記タスクの実行時に割り込み処理をする割り込み処理手段と、を備え、前記割り込み処理手段は、第一マスク不可能割り込みと、該第一マスク不可能割り込みから所定時間後に実行指令されるマスク可能割り込みと、前記第一マスク不可能割り込みから所定時間後であって、前記マスク可能割り込みよりも後に実行指令される第二マスク不可能割り込みと、を含み、割り込み禁止時間中に前記第一マスク不可能割り込みが実行指令されて、前記割り込み禁止時間の解除後に前記マスク可能割り込みが実行される場合と、割り込み禁止時間中に前記第一マスク不可能割り込み、前記マスク可能割り込みが実行指令されて、前記第二マスク不可能割り込みが実行される場合と、を含む。
前記第二マスク不可能割り込みは、マスク可能割り込みが実行不可により実行される。
Claims (5)
- システムにタスクを実行させるタスク実行手段と、
前記タスクの実行時に割り込み処理をする割り込み処理手段と、を備え、
マスク可能割り込みと、該マスク可能割り込みよりも後に実行指令されるマスク不可能割り込みと、を含み、割り込み禁止時間中に前記マスク可能割り込みが実行指令されて、前記マスク不可能割り込みが実行されることを特徴とする車両制御装置。 - 前記マスク不可能割り込みは、前記マスク可能割り込みが実行不可により実行されることを特徴とする、請求項1に記載の車両制御装置。
- 前記割り込み処理手段は、前記システムの障害を監視する際に前記割り込み処理をすることを特徴とする、請求項1に記載の車両制御装置。
- タスクを実行させるタスク実行手段と、
前記タスクの実行時に割り込み処理をする割り込み処理手段と、を備え、
前記割り込み処理手段は、
第一マスク不可能割り込みと、該第一マスク不可能割り込みから所定時間後に実行指令されるマスク可能割り込みと、前記第一マスク不可能割り込みから所定時間後であって、前記マスク可能割り込みよりも後に実行指令される第二マスク不可能割り込みと、を含み、割り込み禁止時間中に前記第一マスク不可能割り込みが実行指令されて、前記割り込み禁止時間の解除後に前記マスク可能割り込みが実行される場合と、
割り込み禁止時間中に前記第一マスク不可能割り込み、前記マスク可能割り込みが実行指令されて、前記第二マスク不可能割り込みが実行される場合と、を含むことを特徴とする車両制御装置。 - 前記第二マスク不可能割り込みは、マスク可能割り込みが実行不可により実行されることを特徴とする、請求項4に記載の車両制御装置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7322734B2 (ja) | 2020-02-05 | 2023-08-08 | 株式会社デンソー | 制御装置 |
Citations (3)
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)
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 |
-
2017
- 2017-07-13 JP JP2017136709A patent/JP6902948B2/ja active Active
-
2018
- 2018-06-28 CN CN201880031522.4A patent/CN110832459B/zh active Active
- 2018-06-28 WO PCT/JP2018/024504 patent/WO2019012996A1/ja active Application Filing
- 2018-06-28 US US16/623,243 patent/US11467865B2/en active Active
- 2018-06-28 DE DE112018002612.4T patent/DE112018002612T5/de active Pending
Patent Citations (3)
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 |