JP2023009818A - 車両用電子制御装置及び車両用電子制御装置による制御方法 - Google Patents
車両用電子制御装置及び車両用電子制御装置による制御方法 Download PDFInfo
- Publication number
- JP2023009818A JP2023009818A JP2021113418A JP2021113418A JP2023009818A JP 2023009818 A JP2023009818 A JP 2023009818A JP 2021113418 A JP2021113418 A JP 2021113418A JP 2021113418 A JP2021113418 A JP 2021113418A JP 2023009818 A JP2023009818 A JP 2023009818A
- Authority
- JP
- Japan
- Prior art keywords
- area
- value
- processing
- label
- electronic control
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 57
- 230000000737 periodic effect Effects 0.000 claims abstract description 47
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000003111 delayed effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
- Hardware Redundancy (AREA)
- Memory System (AREA)
Abstract
【課題】車両用電子制御装置における動作の信頼性を向上させる。【解決手段】車両用電子制御装置が、車両を制御する第1処理の周期タスク及び第1処理よりも優先度が高い処理であって第1処理の周期タスクによる演算値を用いる第2処理の周期タスクを実行するプロセッサと、メモリとを備える。メモリは、第1処理による書き込みが可能な第1領域及び第2領域と第1領域の予備領域及び第2領域の予備領域とを含む。そして、プロセッサは、第1処理の周期タスクにおいて、演算値をメモリの前記第1領域に書き込んだ後、周期タスクが終了するまでの間に、第2領域に当該演算値を二重化して書き込むとともに第1領域の予備領域及び第2領域の予備領域にも当該演算値を書き込む。さらに、プロセッサは、第2処理の周期タスクにおいて、第1領域の値及び第2領域の値と第1領域の予備領域の値及び第2領域の予備領域の値とに基づいて演算値の整合性をチェックする。【選択図】図7
Description
本発明は、車両用電子制御装置及び車両用電子制御装置による制御方法に関する。
車両の電子制御における機能安全規格であるISO26262では、機能安全を実現するための指標としてASIL(Automotive Safety Integrity Level)が定められている。このようなASILに基づいた高い安全レベルが設定された処理を実行する車両制御装置の一例として、ASIL処理が用いるメモリ領域と、通常の制御処理を実行するQM(Quality Management)処理が用いるメモリ領域とを区分する技術が提案されている。
ここで、車両制御装置においてASIL処理の周期タスクとQM処理の周期タスクとの両方が実行される構成において、QM処理の周期タスクによる演算値をASIL処理の周期タスクで用いる場合がある。この場合、QM処理において演算値をメモリに二重化して書き込み、ASIL処理において、メモリに書き込まれた演算値の整合性を当該二重化された値に基づいてチェックすることがある。しかし、QM処理はASIL処理よりも一般的に優先度が低く、車両制御装置の処理負荷が大きくなったときに、割り込み処理等によってQM処理の周期タスクに遅れが生じることがある。この場合、QM処理の演算自体は正常に実行されているにも関わらず、QM処理が演算値を二重化して書き込む前にASIL処理によるチェックが行われるため、エラーが誤検出される可能性がある。なお、このような問題は、QM処理及びASIL処理のみならず、車両制御装置において異なる優先度の処理が連携して実行される場合全般において生じ得る。
そこで、本発明の1つの態様では、車両制御装置において優先度が低い処理が遅延することによって発生するエラーの誤検出を抑制し、車両制御装置の動作の信頼性を向上させることを目的とする。
本発明の1つの態様では、車両を制御する第1処理の周期タスク及び前記第1処理よりも優先度が高い処理であって前記第1処理の周期タスクによる演算値を用いる第2処理の周期タスクを実行するプロセッサと、電気的にデータを書き換え可能なメモリとを備えた車両用電子制御装置が、次のように構成される。まず、前記メモリが、前記第1処理による書き込みが可能な第1領域及び第2領域と前記第1領域の予備領域及び前記第2領域の予備領域とを含む。そして、前記プロセッサが、前記第1処理の周期タスクを実行するときに、当該周期タスクの前記演算値を前記メモリの前記第1領域に書き込んだ後、当該周期タスクが終了するまでの間に、前記第2領域に当該演算値を二重化して書き込むとともに前記第1領域の予備領域及び前記第2領域の予備領域に当該演算値を書き込む。さらに、前記プロセッサは、前記第2処理の周期タスクを実行するときに、前記第1領域の値及び前記第2領域の値と前記第1領域の予備領域の値及び前記第2領域の予備領域の値とに基づいて前記演算値の整合性をチェックする。
本発明によれば、車両制御装置において優先度が低い処理が遅延することによって発生するエラーの誤検出が抑制され、車両制御装置の動作の信頼性を向上させることが可能となる。
以下、添付された図面を参照し、本発明を実施するための実施形態の具体例について詳述する。なお、図面の一部においては、構成要素の符号のみを付し、名称の記載を省略している。
[本実施形態の電子制御装置の構成]
図1は、自動車などの車両に搭載される電子制御装置1の一例を示す。
電子制御装置1は、車両の走行駆動源であるエンジン2を電子制御するように構成され、マイクロコンピュータ10を備える。マイクロコンピュータ10は、CPU11、RAM12、ROM13を備える。また、電子制御装置1は、入出力インタフェース14、通信インタフェース15及びこれらを相互通信可能に接続する内部バス16を備える。
図1は、自動車などの車両に搭載される電子制御装置1の一例を示す。
電子制御装置1は、車両の走行駆動源であるエンジン2を電子制御するように構成され、マイクロコンピュータ10を備える。マイクロコンピュータ10は、CPU11、RAM12、ROM13を備える。また、電子制御装置1は、入出力インタフェース14、通信インタフェース15及びこれらを相互通信可能に接続する内部バス16を備える。
CPU11は、プログラムに記述された命令セット(データの転送、演算、加工、制御、管理など)を実行するハードウェアであって、演算装置、命令や情報を格納するレジスタ、周辺回路等を含んで構成されている。CPU11は、ROM13に格納されたプログラムをRAM12にロードして実行する。
RAM12は、電源供給遮断によってデータが消失する揮発性メモリであり、CPU11が動作中に使用する一時的な記憶領域を提供する。
ROM13は、電気的にデータを書き換え可能な不揮発性メモリであり、例えば、フラッシュROMやEEPROMを含む。ROM13には、電子制御装置1を起動する際に動作する起動プログラムや車載機器を制御する制御プログラム、及び当該プログラムの処理において用いるパラメータ等のデータが格納される。
ROM13は、電気的にデータを書き換え可能な不揮発性メモリであり、例えば、フラッシュROMやEEPROMを含む。ROM13には、電子制御装置1を起動する際に動作する起動プログラムや車載機器を制御する制御プログラム、及び当該プログラムの処理において用いるパラメータ等のデータが格納される。
入出力インタフェース14は、A/Dコンバータ、D/Aコンバータ、D/Dコンバータ等からなり、外部機器に対するアナログ信号及びデジタル信号の入出力機能を提供する。マイクロコンピュータ10は、入出力インタフェース14を介して、制御対象であるエンジン2と接続され、各種センサからの信号を受信する一方、エンジン2に対する制御信号を送信する。
通信インタフェース15は、例えばCAN(Controller Area Network)トランシーバ等で構成され、車載ネットワーク等に接続する機能を提供する。
内部バス16は、各デバイス間でデータを交換するための経路であって、アドレスを転送するためのアドレスバス、データを転送するためのデータバス、アドレスバスやデータバスで実際に入出力を行うタイミングや制御情報を伝送するコントロールバスを含んでいる。
通信インタフェース15は、例えばCAN(Controller Area Network)トランシーバ等で構成され、車載ネットワーク等に接続する機能を提供する。
内部バス16は、各デバイス間でデータを交換するための経路であって、アドレスを転送するためのアドレスバス、データを転送するためのデータバス、アドレスバスやデータバスで実際に入出力を行うタイミングや制御情報を伝送するコントロールバスを含んでいる。
エンジン2は、内燃機関を含んだ動力装置であり、車両の走行駆動源である。電子制御装置1は、アクセルやブレーキの操作等に基づく要求トルクや各種センサによる入力信号に基づき、エンジン2が備える吸気カム、排気カム、インジェクタ、点火プラグ、点火コイル、スロットル等を電子制御することによって、車輪への出力トルクを制御する。エンジン2の回転数が上昇してエンジン制御に用いる入力信号が増加すると、電子制御装置1のマイクロコンピュータ10における処理負荷は増加する。
次に、マイクロコンピュータ10が備えるCPU11及びRAM12について、図2を参照してさらに詳細に説明する。
CPU11は、当該CPU11によりプログラムが実行されることによって実現される、QM処理部111及びASIL処理部112を備える。
CPU11は、当該CPU11によりプログラムが実行されることによって実現される、QM処理部111及びASIL処理部112を備える。
ISO26262においては、機能安全要求に基づき、危険事象の低い処理から高い処理へと順に、QM及びASIL(ASIL-A、ASIL-B、ASIL-C、ASIL-D)に分類されている。QM処理は通常の動作保証が適用される制御処理であり、ASIL処理は、QM処理に比べてより高い安全性が要求される制御処理である。すなわち、ASIL処理のほうがQM処理よりも重要な処理であり、優先度が高い。本実施形態の車両制御装置1では、エンジン2の制御処理のうち、QM処理部111が通常の制御処理をQM処理として実行する一方で、ASIL処理部112が優先度の高い制御処理をASIL処理として実行する。なお、QM処理が第1処理の一例であり、ASIL処理が第2処理の一例である。
さらに、CPU11は、メモリ保護機能を実現するMPU(Memory Protection Unit)113を備える。メモリ保護機能は、意図しないプログラムの処理によるメモリの不正使用を検出及び抑止する機能であり、メモリやレジスタの領域を区分した上で、それぞれの領域についてアクセス制御を行う。例えば、メモリ保護機能によれば、プログラムの処理によってアクセスを許可する領域を区分し、処理間の干渉を防ぐことが可能である。本実施形態では、MPU113の機能によって、RAM12の領域を、QM処理部111によって実行されるQM処理が用いる領域と、ASIL処理部112によって実行されるASIL処理が用いる領域とに区分する。
RAM12は、QM処理部111によって実行されるQM処理が用いる領域であるQMラベル121、QM二重化ラベル122、QMバッファ123及びQM二重化バッファ124を備える。また、RAM12は、ASIL処理部112によって実行されるASIL処理が用いる領域であるASILラベル125を備える。
QM処理部111で実行されるQM処理は、QMラベル121、QM二重化ラベル122、QMバッファ123及びQM二重化バッファ124への書き込みが可能である。しかし、前述したMPU113によるメモリ保護機能により、QM処理によるASILラベル125への書き込みは許可されておらず不可能である。このため、ASIL処理部112によって実行されるASIL処理においてQM処理による演算値を用いる場合には、QMラベル121に書き込まれた値をASIL処理によって読み出し、当該値をASILラベル125に書き込んで使用する。なお、QMラベル121、QM二重化ラベル122、QMバッファ123、QM二重化バッファ124及びASILラベル125が、それぞれ、第1領域、第2領域、第1領域の予備領域、第2領域の予備領域及び第3領域の一例である。
[本実施形態と従来技術との相違点]
ここで、本発明に関する説明をより明確にするため、従来の電子制御装置と、前述した本発明の実施形態の一例である電子制御装置1との構成の相違点を説明しつつ、従来技術の課題(問題点)について説明する。従来技術の電子制御装置においては、前述した本実施形態の電子制御装置1と同様に、RAMにおいて、QMラベル121及びQM二重化ラベル122に相当する領域を備えている。しかし、従来技術の電子制御装置のRAMでは、前述した電子制御装置1と異なり、QMバッファ123及びQM二重化バッファ124に相当する領域が含まれていなかった。
ここで、本発明に関する説明をより明確にするため、従来の電子制御装置と、前述した本発明の実施形態の一例である電子制御装置1との構成の相違点を説明しつつ、従来技術の課題(問題点)について説明する。従来技術の電子制御装置においては、前述した本実施形態の電子制御装置1と同様に、RAMにおいて、QMラベル121及びQM二重化ラベル122に相当する領域を備えている。しかし、従来技術の電子制御装置のRAMでは、前述した電子制御装置1と異なり、QMバッファ123及びQM二重化バッファ124に相当する領域が含まれていなかった。
図3は、このような従来技術の電子制御装置における処理の具体例を示す図である。当該具体例では、QM処理部が、QM処理の10ms(ミリ秒)の周期タスクをバックグラウンドで実行している。
当該QM処理の周期タスクにおいて、QM処理部が、QMラベルへの演算値の書き込みを行う(S901)。その結果、「0xFF」だったQMラベルの値が、「0x01」に書き換えられる。その後、QM処理部が、QMラベルに書き込まれた値である「0x01」を読み出す(S902)。そして、QM処理部は、読み出したQMラベルの値である「0x01」と同じ値をQM二重化ラベルに書き込む(S903)。その結果、「0xFF」だったQM二重化ラベルの値も、「0x01」に書き換えられる。
そして、ASIL処理部が、当該QMラベルに書き込まれた演算値を用いてASIL処理を行う。このとき、ASIL処理部は、QM処理によってメモリに書き込まれた演算値の整合性をチェックすることにより、QM処理が正常に実行されたかを確認する。具体的には、ASIL処理部は、QMラベルに書き込まれた値とQM二重化ラベルに書き込まれた値との両方を読み出す(S904)。そして、ASIL処理部は、QMラベルの値とQM二重化ラベルの値とが一致していることをチェックする。図3の例の場合、このタイミングにおいてQMラベルの値とQM二重化ラベルの値とが共に「0x01」である。このため、ASIL処理部は、当該「0x01」の値をASILラベルに書き込み(S905)、処理を継続する。この場合においては、QMラベルに書き込まれた演算値の整合性のチェックにおいて、エラーは検出されない。
一方で、図4は、このような従来技術の電子制御装置における処理において、QM処理の10msの周期タスクをバックグラウンドで実行しているときに、エンジン2の制御処理における負荷が増加し、QM処理に遅延が出る場合の具体例について示す図である。
図3の場合と同様に、QM処理の周期タスクにおいて、QM処理部が、QMラベルへの演算値の書き込みを行う(S911)。その結果、「0xFF」だったQMラベルの値が、「0x01」に書き換えられる。その後、通常であれば、QM処理部が、QMラベルに書き込まれた値を読み出してQM二重化ラベルに書き込む処理を行う。しかし、エンジン回転処理信号による割り込み処理が発生することにより、優先度の低いQM処理において遅延が生じ、10msでQM処理の周期タスクが終了しない状況が発生している。一方で、優先度の高いASIL処理には割り込み処理による遅延が生じにくい。
このような場合、ASIL処理部は、QM処理によってQM二重化ラベルにQMラベルの値が書き込まれるよりも前に、QMラベルの値とQM二重化ラベルの値との両方を読み出し(S912)、両者の値が一致していることをチェックすることとなる。このとき、QMラベルの値が「0x01」である一方で、QM二重化ラベルの値は「0xFF」であり、両者の値は一致しない。このため、ASIL処理部では、ASILラベルに対し、制御処理を安全に実行することが可能な代替値を書き込む(S913)。また、このときRAMの値にエラーが生じていることがMPUによって検出される。
その後、QM処理部は、QMラベルの値を読み出し(S914)、読み出したQMラベルの値である「0x01」と同じ値をQM二重化ラベルに書き込む(S915)。その結果、「0xFF」だったQM二重化ラベルの値も「0x01」に書き換えられる。このように、QM処理の演算自体は正常に行われており、QMラベルの値とQM二重化ラベルの値とはこのタイミングで一致する。しかし、前述したように、QM処理の周期タスクが遅延したことにより、すでにMPUによるエラー検出がなされてしまっている。このように、従来技術においては、QM処理が遅延するときに、本来検出される必要のないエラーが誤検出されてしまうという問題点がある。
[本実施形態の電子制御装置における処理]
本発明の実施形態の一例である電子制御装置1は、図2に示したようにQMバッファ123及びQM二重化バッファ124を備えることにより、このような問題点を解消することが可能である。以下、本発明の実施形態である電子制御装置1における処理について、図1及び図2とともに、図5~図7を参照しつつ説明する。
本発明の実施形態の一例である電子制御装置1は、図2に示したようにQMバッファ123及びQM二重化バッファ124を備えることにより、このような問題点を解消することが可能である。以下、本発明の実施形態である電子制御装置1における処理について、図1及び図2とともに、図5~図7を参照しつつ説明する。
図5は、QM処理部111によって実行されるQM処理の周期タスクのうち、RAM12へのアクセスに関連する処理を示す。
ステップ1001(図ではS1001と表記する)で、QM処理部111は、QM処理の周期タスクによる演算値をQMラベル121に書き込む。
ステップ1002で、QM処理部111は、QM処理の当該周期タスクが終了するまでの間の所定のタイミングで、QMラベル121に書き込んだ値を読み出す。
ステップ1001(図ではS1001と表記する)で、QM処理部111は、QM処理の周期タスクによる演算値をQMラベル121に書き込む。
ステップ1002で、QM処理部111は、QM処理の当該周期タスクが終了するまでの間の所定のタイミングで、QMラベル121に書き込んだ値を読み出す。
ステップ1002で、QM処理部111は、QMラベル121に書き込んだ値と同じ値を、QM二重化ラベル122に書き込む。
ステップ1003で、QM処理部111は、QMラベル121に書き込んだ値と同じ値を、QMバッファ123及びQM二重化バッファ124に書き込む。なお、ステップ1002の処理及びステップ1003の処理との間には、可能な限り時間差が生じないことが望ましい。
ステップ1003で、QM処理部111は、QMラベル121に書き込んだ値と同じ値を、QMバッファ123及びQM二重化バッファ124に書き込む。なお、ステップ1002の処理及びステップ1003の処理との間には、可能な限り時間差が生じないことが望ましい。
図6は、ASIL処理部112によって実行されるASIL処理の周期タスクにおける、RAM12へのアクセスに関連する処理を示す。
ステップ1011で、ASIL処理部112は、QMラベル121の値とQM二重化ラベル122の値とを読み出す。
ステップ1012で、ASIL処理部112は、QM処理の周期タスクによりRAM12に書き込まれた演算値の整合性をチェックする。具体的には、ASIL処理部112は、QMラベル121の値とQM二重化ラベル122の値とが一致しているか否かをチェックする。両者が一致している場合にはステップ1013に進み、両者が一致していない場合にはステップ1015に進む。
ステップ1013で、ASIL処理部112は、QMラベル121の値をASILラベル125に書き込む。
ステップ1011で、ASIL処理部112は、QMラベル121の値とQM二重化ラベル122の値とを読み出す。
ステップ1012で、ASIL処理部112は、QM処理の周期タスクによりRAM12に書き込まれた演算値の整合性をチェックする。具体的には、ASIL処理部112は、QMラベル121の値とQM二重化ラベル122の値とが一致しているか否かをチェックする。両者が一致している場合にはステップ1013に進み、両者が一致していない場合にはステップ1015に進む。
ステップ1013で、ASIL処理部112は、QMラベル121の値をASILラベル125に書き込む。
ステップ1014で、ASIL処理部112は、QMバッファ123の値とQM二重化バッファ124の値とを読み出す。
ステップ1015で、ASIL処理部112は、さらに、QMバッファ123の値とQM二重化バッファ124の値とを用いて、QM処理の周期タスクによって書き込まれた演算値の整合性をチェックする。より具体的には、ASIL処理部112は、QMバッファ123の値とQM二重化バッファ124の値とが一致しているか否かをチェックする。両者が一致している場合にはステップ1016に進み、両者が一致していない場合にはステップ1017に進む。
ステップ1015で、ASIL処理部112は、さらに、QMバッファ123の値とQM二重化バッファ124の値とを用いて、QM処理の周期タスクによって書き込まれた演算値の整合性をチェックする。より具体的には、ASIL処理部112は、QMバッファ123の値とQM二重化バッファ124の値とが一致しているか否かをチェックする。両者が一致している場合にはステップ1016に進み、両者が一致していない場合にはステップ1017に進む。
ステップ1016で、ASIL処理部112は、QMバッファ123の値をASILラベル125に書き込む。この場合、QMラベル121の値とQM二重化ラベル122の値とは一致していないが、QMバッファ123の値とQM二重化バッファ124の値とが一致しているため、MPU113によるエラーの検出は行われない。
ステップ1017で、ASIL処理部112は、ASILラベル125に対し、制御処理を安全に実行することが可能な代替値を書き込む。このとき、MPU113により、RAM12の値にエラーが生じていることが検出される。しかし、前述のように、QMバッファ123の値とQM二重化バッファ124の値に基づいて整合性のチェックが行われているため、少なくとも、QM処理の周期タスクの遅延に起因して不要なエラーが誤検出されることは抑制される。
ステップ1017で、ASIL処理部112は、ASILラベル125に対し、制御処理を安全に実行することが可能な代替値を書き込む。このとき、MPU113により、RAM12の値にエラーが生じていることが検出される。しかし、前述のように、QMバッファ123の値とQM二重化バッファ124の値に基づいて整合性のチェックが行われているため、少なくとも、QM処理の周期タスクの遅延に起因して不要なエラーが誤検出されることは抑制される。
図7は、本実施形態に係る電子制御装置1の処理において、図4で示した従来技術と同様にQM処理の10msの周期タスクをバックグラウンドで実行しているときに、エンジン2の制御処理における負荷が増加し、QM処理に遅延が出る場合の具体例について示す図である。なお、図7で示すステップの符号は、図4で示したQM処理部111による処理及び図5で示したASIL処理部112による処理において対応するステップの符号と一致している。
QM処理の周期タスクにおいて、QM処理部111が、QMラベル121への演算値の書き込みを行う(S1001)。その結果、「0xFF」だったQMラベル121の値が、「0x01」に書き換えられる。その後、通常であれば、QM処理部111が、QMラベル121に書き込まれた値を読み出してQM二重化ラベル122に書き込む処理を行う。しかし、エンジン回転処理信号による割り込み処理が発生していることにより、優先度の低いQM処理において遅延が生じ、QM処理の周期タスクが10msで終了しない状況が発生している。一方で、優先度の高いASIL処理には割り込み処理による遅延が生じにくい。
このため、ASIL処理部112は、QM処理のステップ1002によってQM二重化ラベル122にQMラベル121の値が書き込まれるよりも前に、QMラベル121の値とQM二重化ラベル122の値との両方を読み出すこととなる(S1011)。そして、ASIL処理部112は、QMラベル121の値とQM二重化ラベル122の値とが一致していることをチェックする。このとき、QMラベル121の値が「0x01」である一方で、QM二重化ラベル122の値は「0xFF」であり、両者の値は一致しない。
したがって、ASIL処理部112では、さらに、QMバッファ123の値とQM二重化バッファ124の値との両方を読み出す(S1014)。このとき、QMバッファ123の値とQM二重化バッファ124の値は共に「0xFF」であり、両者は一致している。このため、ASIL処理部112は、当該「0xFF」の値をASILラベル125に書き込み(S1016)、処理を継続する。
その後、QM処理部111は、QMラベル121の値を読み出し(S1002)、読み出したQMラベル121の値と同じ値をQM二重化ラベル122に書き込む(S1003)。すなわち、QM処理部111は、「0xFF」だったQM二重化ラベル122の値を「0x01」に書き換える。このとき、QM処理部111は、QMバッファ123とQM二重化バッファ124に対してもQMラベル121の値を書き込む。すなわち、QM処理部111は、「0xFF」だったQMバッファ123及びQM二重化バッファ124の値を「0x01」に書き換える。
この結果、次のQM処理の周期タスクにおいて遅延が発生し、QM処理部111がQMラベル121の値を書き換えた後であってQM二重化ラベル122にQMラベル121の値を書き込む前にASIL処理によるチェックが行われるとき、次のような状態となる。すなわち、当該チェックが行われるタイミングで、QMラベル121には次のQM処理の周期タスクにより新たな値が書き込まれているが、QM二重化ラベル122の値は「0x01」のままである。このため、QMラベル121の値とQM二重化ラベル122の値とは一致していない。しかし、QMバッファ123及びQM二重化バッファ124においては、次のQM処理の周期タスクによりQM二重化ラベル122とともにQMラベル121の値が新たに書き込まれるまで、前述した周期タスクにおいて書き込まれた「0x01」がそのまま維持される。このため、QMバッファ123及びQM二重化バッファ124の値は一致していることとなり、不要なエラーが検出されるのを抑制することが可能となる。
[本実施形態による効果等]
このように、本実施形態によれば、電子制御装置1のRAM12において、QMバッファ123及びQM二重化バッファ124を備える。そして、QM処理部111がQM処理の周期タスクにおいてQMラベル121の演算値をQM二重化ラベル122に二重化して書き込むときに、QMバッファ123及びQM二重化バッファ124に対しても同じ値を書き込む。そして、ASIL処理部122がASIL処理の周期タスクにおいてQMラベル121の値とQM二重化ラベル122の値をチェックするときに、両者が一致していなければ、QMバッファ123及びQM二重化バッファ124を用いてチェックする。このため、QM二重化ラベル122へのQMラベル121の値の二重化処理が完了していない状態でASIL処理によるチェックが行われたときでも、エラーが検出されることを抑制することができる。したがって、例えば、QM処理に遅延が発生しているが、QM処理の演算自体は正常に行われているような場合に、不要なエラーが誤検出されることを抑制することが可能となる。その結果、電子制御装置1における動作の信頼性がより向上する。
このように、本実施形態によれば、電子制御装置1のRAM12において、QMバッファ123及びQM二重化バッファ124を備える。そして、QM処理部111がQM処理の周期タスクにおいてQMラベル121の演算値をQM二重化ラベル122に二重化して書き込むときに、QMバッファ123及びQM二重化バッファ124に対しても同じ値を書き込む。そして、ASIL処理部122がASIL処理の周期タスクにおいてQMラベル121の値とQM二重化ラベル122の値をチェックするときに、両者が一致していなければ、QMバッファ123及びQM二重化バッファ124を用いてチェックする。このため、QM二重化ラベル122へのQMラベル121の値の二重化処理が完了していない状態でASIL処理によるチェックが行われたときでも、エラーが検出されることを抑制することができる。したがって、例えば、QM処理に遅延が発生しているが、QM処理の演算自体は正常に行われているような場合に、不要なエラーが誤検出されることを抑制することが可能となる。その結果、電子制御装置1における動作の信頼性がより向上する。
なお、本実施形態の電子制御装置1では一例としてISO26262に基づいたASIL処理とQM処理とを実行しているが、本発明は、電子制御装置において優先度が異なる複数の周期タスクを実行する構成であれば、他の構成にも適用可能である。より具体的には、本発明は、優先度の高い処理の周期タスクが、優先度の低い処理の周期タスクによってメモリに書き込まれた演算値の整合性をチェックするような構成を有する電子制御装置であれば、ASIL処理及びQM処理を実行する電子制御装置に限らず適用することが可能である。
さらに、本実施形態の電子制御装置1では、MPU113のメモリ保護機能によってRAM12を区分してアクセス制御を行い、エラーを検出する構成としているが、本発明の実施において当該構成は必須ではない。すなわち、優先度の異なる処理がそれぞれ異なるメモリの領域を用い、複数の領域の値が一致していないときにエラー処理を行うプログラム(関数)を実行することが可能な構成であれば、本発明を実施することは可能である。
また、本実施形態の電子制御装置1は一例としてエンジン2を制御対象としているが、本発明を適用することが可能な電子制御装置の制御対象はこれに限定されるものではない。例えば、車両の走行駆動源としては、ハイブリッド自動車や電気自動車等の電動駆動部(モータ)等を制御対象としてもよい。さらに、電子制御装置1の制御対象は車両の走行駆動源に限定されるものでもなく、周期タスクが発生するような他の車載装置の制御処理を行う電子制御装置においても、本発明を適用することは可能である。
以上説明した本発明の実施形態は、本発明の技術的範囲で考え得る実施態様の一部に過ぎず、本発明の例示として開示されるものであって、本発明の技術的範囲を制限するものではない。また、各実施形態における機能的構成及び物理的構成は、前述の態様に限定されるものではなく、例えば、各機能や物理的資源を統合して実装したり、逆に、さらに分散して実装したり、さらには、構成の一部について他の構成の追加、削除、置換等をすることも可能である。
1…電子制御装置、10…マイクロコンピュータ、11…CPU、12…RAM、13…ROM、111…QM処理部、112…ASIL処理部、113…MPU、121…QMラベル、122…QM二重化ラベル、123…QMバッファ、124…QM二重化バッファ、125…ASILラベル
Claims (5)
- 車両を制御する第1処理の周期タスク及び前記第1処理よりも優先度が高い処理であって前記第1処理の周期タスクによる演算値を用いる第2処理の周期タスクを実行するプロセッサと、電気的にデータを書き換え可能なメモリとを備えた車両用電子制御装置であって、
前記メモリが、前記第1処理による書き込みが可能な第1領域及び第2領域と前記第1領域の予備領域及び前記第2領域の予備領域とを含み、
前記プロセッサが、前記第1処理の周期タスクを実行するときに、当該周期タスクの前記演算値を前記メモリの前記第1領域に書き込んだ後、当該周期タスクが終了するまでの間に、前記第2領域に前記演算値を二重化して書き込むとともに前記第1領域の予備領域及び前記第2領域の予備領域に当該演算値を書き込み、前記第2処理の周期タスクを実行するときに、前記第1領域の値及び前記第2領域の値と前記第1領域の予備領域の値及び前記第2領域の予備領域の値とに基づいて前記演算値の整合性をチェックするように構成された、
車両用電子制御装置。 - 前記プロセッサは、前記第2処理の周期タスクを実行するときに、前記第1領域の値及び前記第2領域の値が一致しているか否かを判定し、前記第1領域の値及び前記第2領域の値が一致していない場合に、さらに前記第1領域の予備領域の値及び前記第2領域の予備領域の値が一致しているか否かを判定し、当該第1領域の予備領域の値及び当該第2領域の予備領域の値が一致しているときには、前記演算値の正常性のチェックにおいてエラーを検出しないように構成された、請求項1記載の車両用電子制御装置。
- 前記メモリは、前記第1処理による書き込みが不可能であって前記第2処理による書き込みが可能な第3領域を含み、
前記プロセッサは、前記第2処理の周期タスクを実行するときに、前記第1領域の値を前記第3領域に書き込んで使用する、請求項1又は2に記載の車両用電子制御装置。 - 前記第1処理はQM処理であり、前記第2処理はASIL処理である、請求項1~3のいずれか1項に記載の車両用電子制御装置。
- 車両を制御する第1処理の周期タスク及び前記第1処理よりも優先度が高い処理であって前記第1処理の周期タスクによる演算値を用いる第2処理の周期タスクを実行するプロセッサと、電気的にデータを書き換え可能であって、前記第1処理による書き込みが可能な第1領域及び第2領域と前記第1領域の予備領域及び前記第2領域の予備領域とを含んだメモリとを備えた車両用電子制御装置の前記プロセッサが、
前記第1処理の周期タスクを実行するときに、当該周期タスクの前記演算値を前記メモリの前記第1領域に書き込んだ後、当該周期タスクが終了するまでの間に、前記第2領域に当該演算値を二重化して書き込むとともに前記第1領域の予備領域及び前記第2領域の予備領域に当該演算値を書き込み、
前記第2処理の周期タスクを実行するときに、前記第1領域の値及び前記第2領域の値と前記第1領域の予備領域の値及び前記第2領域の予備領域の値とに基づいて前記演算値の整合性をチェックする、
車両用電子制御装置による制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021113418A JP2023009818A (ja) | 2021-07-08 | 2021-07-08 | 車両用電子制御装置及び車両用電子制御装置による制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021113418A JP2023009818A (ja) | 2021-07-08 | 2021-07-08 | 車両用電子制御装置及び車両用電子制御装置による制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023009818A true JP2023009818A (ja) | 2023-01-20 |
Family
ID=85119226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021113418A Pending JP2023009818A (ja) | 2021-07-08 | 2021-07-08 | 車両用電子制御装置及び車両用電子制御装置による制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023009818A (ja) |
-
2021
- 2021-07-08 JP JP2021113418A patent/JP2023009818A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6401163B1 (en) | Apparatus and method for rewriting data from volatile memory to nonvolatile memory | |
US8639905B2 (en) | Microcontroller and electronic control unit | |
JP2015531521A (ja) | リンクされた複数のプログラムブロックの別々の実行を制御するための方法および制御装置 | |
JP3726295B2 (ja) | 車両用制御装置 | |
JP2013143095A (ja) | 電子制御装置、メモリ検査方法 | |
JP6306530B2 (ja) | 自動車用電子制御装置 | |
JP2023009818A (ja) | 車両用電子制御装置及び車両用電子制御装置による制御方法 | |
JP5942778B2 (ja) | 情報処理装置 | |
JP2013171467A (ja) | 情報処理装置、車両用電子制御装置、データ読み書き方法 | |
JP3937598B2 (ja) | 電子制御装置 | |
JP3296043B2 (ja) | 車両用電子制御装置 | |
WO2022004324A1 (ja) | 車両制御装置 | |
JP6183251B2 (ja) | 電子制御装置 | |
JP2017204083A (ja) | メモリ保護システム | |
WO2013057825A1 (ja) | 情報処理装置、データ管理方法、データ管理プログラム | |
JP2017107394A (ja) | 車両用制御装置 | |
WO2022259348A1 (ja) | 車両用制御装置 | |
JP3741872B2 (ja) | Ramの診断装置 | |
JP6762411B2 (ja) | 自動車用電子制御装置 | |
WO2017002939A1 (ja) | 電子制御装置及びスタック使用方法 | |
JP4941103B2 (ja) | マルチプロセッサシステム、排他制御方法、車両用電子制御ユニット | |
JP6596455B2 (ja) | 自動車用電子制御装置 | |
JPH1196082A (ja) | 車両用メモリ書換え装置 | |
JPS61234401A (ja) | 車両用制御装置 | |
JP2021089531A (ja) | 電子制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240412 |