JP2017191375A - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP2017191375A
JP2017191375A JP2016079004A JP2016079004A JP2017191375A JP 2017191375 A JP2017191375 A JP 2017191375A JP 2016079004 A JP2016079004 A JP 2016079004A JP 2016079004 A JP2016079004 A JP 2016079004A JP 2017191375 A JP2017191375 A JP 2017191375A
Authority
JP
Japan
Prior art keywords
address
error
abnormality
ecc
factor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016079004A
Other languages
English (en)
Other versions
JP6512156B2 (ja
Inventor
坂本 浩
Hiroshi Sakamoto
浩 坂本
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2016079004A priority Critical patent/JP6512156B2/ja
Publication of JP2017191375A publication Critical patent/JP2017191375A/ja
Application granted granted Critical
Publication of JP6512156B2 publication Critical patent/JP6512156B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

【課題】ソフトウェアの異常要因を解析可能な制御装置において、メモリ容量を低減しつつ、処理負荷を低減すること。【解決手段】ROMの異常要因アドレス領域のアドレスは、異常要因ごとに割り振られており、各アドレスには、ECC機能部による照合時にECCエラーが生じるべく、データ及び誤り訂正符号が予め記憶されている。ソフトウェアの異常が生じると、CPUは、異常要因に対応するアドレスへジャンプし、ジャンプ先のアドレス、すなわち異常要因に対応するアドレスのデータを読み出す。ECC機能部は、読み出したデータに基づいて誤り訂正符号を生成する。そして、生成した誤り訂正符号と、データとともに異常要因アドレス領域に記憶されている誤り訂正符号とを照合する。誤り訂正符号は必ず一致しないため、ECC機能部は、ECCエラーが生じたと判定し、エラーアドレス確認レジスタに、ECCエラーが発生したアドレスを記憶する。【選択図】図6

Description

この明細書における開示は、制御装置に関する。
特許文献1には、異常の要因(種別)ごとにメモリにフラグを設け、異常の要因に対応するフラグをオンさせることで、異常を検出する技術が開示されている。
特許第3721568号公報
ソフトウェアを実行することで所定の制御を実現する制御装置においても、上記した技術が用いられる。たとえば、メモリとしてのRAM上に、異常要因に対応してフラグが設けられる。これにより、ソフトウェアの異常が生じたときに、フラグに基づいて異常要因を解析することができる。
しかしながら、フラグを必要とする上に、フラグの初期化処理、異常発生時のフラグ設定処理などが必要となる。したがって、メモリ容量が大きくなる。また、初期化やフラグ設定処理が必要であるため、処理負荷が増加する。
本開示はこのような課題に鑑みてなされたものであり、ソフトウェアの異常要因を解析可能な制御装置において、メモリ容量を低減しつつ、処理負荷を低減することを目的とする。
本開示は、上記目的を達成するために以下の技術的手段を採用する。なお、括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、技術的範囲を限定するものではない。
本開示のひとつは、ソフトウェアを実行することで所定の制御を実現する制御装置であって、
ソフトウェアの異常を検出する異常検出部(S10,S11)と、
ソフトウェアの異常の要因ごとに特定のアドレスが割り振られ、該アドレスに、ECC(Error Correction Code)エラーが生じるようにデータ及び誤り訂正符号が記憶されてなる異常要因アドレス領域を有するメモリ(22,23)と、
異常検出部により検出されたソフトウェアの異常の要因に基づき、異常の要因に対応するアドレスへジャンプし、該アドレスに記憶されたデータを読み出すジャンプ処理部(S12)と、
読み出されたデータの誤りを誤り訂正符号に基づいて検出するとともに、誤りが検出されたアドレスを記憶するECC機能部(24)と、
を備える。
これによれば、制御装置が備えるECC機能部を利用し、ソフトウェアの異常要因に対応するアドレスを記憶することができる。したがって、記憶されたアドレスから、異常要因を解析することができる。
また、メモリに異常要因アドレス領域を設け、ジャンプ処理を実施することで、メモリ上の異常要因フラグ領域や、フラグの初期化処理、フラグ設定処理を不要とすることができる。このため、フラグを用いる構成に較べて、メモリの容量を低減することができる。また、処理負荷を低減することができる。
第1実施形態に係る制御装置の概略構成を示す図である。 ROMに記憶されている情報を示す図である。 異常要因とROMのアドレスとの関係を説明するための図である。 ROMの異常要因アドレス領域に記憶された情報を示す図である。 CPUが実行する処理を示すフローチャートである。 CPU及びECC機能部が実行する処理を示すシーケンス図である。 本実施形態の効果を示す図である。
図面を参照しながら、複数の実施形態を説明する。複数の実施形態において、機能的に及び/又は構造的に対応する部分には同一の参照符号を付与する。
(第1実施形態)
先ず、図1に基づき、本実施形態に係る制御装置の概略構成を説明する。この制御装置は、車両に搭載される。制御装置は、車両に搭載された各種センサや他の制御装置から、車両情報を取得する。そして、取得した車両情報に基づいて、車両における制御対象の制御を実行する。たとえば表示部の制御を実行する。
図1に示すように、制御装置10は、マイコン20を中心に構成されている。マイコン20は、CPU21、RAM22、ROM23、ECC機能部24、リセット部25、電源回路26などを備えている。RAM22及びROM23が、メモリに相当する。CPU21、RAM22、ROM23、及びリセット部25は、バス27を介して通信可能に接続されている。
マイコン(マイクロコンピュータ)20において、CPU(Central Processing Unit)21が、RAM(Random Access Memory)22や図示しないレジスタなどの一時記憶機能を利用しつつ、ROM(Read Only Memory)23に予め記憶された制御プログラム、図示しない通信線を介して各種センサや他の制御装置から取得したデータに応じて、信号処理を行う。また、この信号処理で得られた信号を、通信線を介してマイコン20の外部に出力したりする。このようにして、マイコン20は、各種機能を実行する。
本実施形態では、図1に示すように、ROM23が、ECC機能部24を有している。すなわち、ECC機能付きのROM23となっている。ECC機能部24は、メモリに生じるビットエラーを検出又は訂正する周知の回路(ハードウェア)である。
ROM23の所定アドレスにデータ(プログラム)を書き込む際、ECC機能部24は、書き込むデータに基づいて誤り訂正符号を生成する。生成された誤り訂正符号は、データに対応付けられて、ROM23に書き込まれる。データ及び誤り訂正符号は、たとえば同じアドレスに書き込まれる。誤り訂正符号は、ECC(Error Correction Code)と称される。
一方、CPU21がROM23から所定アドレスのデータを読み出す際、ECC機能部24は、読み出したデータに基づいて誤り訂正符号(ECC1)を生成する。そして、生成したECC1と、データとともにROM23に記憶されている誤り訂正符号(ECC2)とを照合する。ECC機能部24は、ECC1とECC2が一致する場合に、データが正常であると判定する。
ROM23のデータにデータ化け等が生じると、ECC1とECC2が一致しなくなる。ECC機能部24は、ECC1とECC2が一致しない場合、データに誤りが生じた、すなわちECCエラーが生じたと判定する。
ECC機能部24は、ECCエラーの発生後においてECCエラーが発生したアドレスを確認できるように、周知のエラーアドレス確認レジスタ24aを有している。ECCエラーが生じたと判定した場合、ECC機能部24は、エラーアドレス確認レジスタ24aに、ECCエラーが発生したアドレスを記憶する。
また、ECC機能部24は、ECCエラーが生じたと判定すると、その旨を示すECCエラー信号をリセット部25に出力する。
リセット部25は、異常を検出した際に、電源回路26に対して、検出した異常に対応するリセット信号を出力する。リセット部25は、たとえばECCエラー信号を取得することで異常を検出すると、CPU21をリセットさせるためのリセット信号を、電源回路26に出力する。
電源回路26は、車両に搭載されたバッテリから供給されるバッテリ電圧VBに基づいて、CPU21の動作する動作電圧Vcpu、RAM22の動作するVram、及びROM23の動作するVromをそれぞれ生成する。電源回路26は、たとえばCPU21をリセットさせるためのリセット信号を取得すると、CPU21の動作電圧Vcpuを一時的に遮断した後、動作電圧Vcpuの供給を再開する。これにより、CPU21がリセットされる。
次に、図2〜図6に基づき、ソフトウェア(プログラム)の異常検出時に、制御装置10が実行する処理について説明する。
先ず、ソフトウェアの異常検出のために、ROM23に記憶されている情報について説明する。図2に示すように、ROM23は、情報の格納領域として、CPU21が実行するジャンプ処理のプログラムが記憶されたジャンプ処理の領域23aと、異常要因アドレス領域23bを有している。
ジャンプ処理の領域23aには、ソフトウェアの異常が検出された場合に、異常の要因(以下、異常要因と示す)に対応する特定のアドレスへジャンプし、ジャンプ先のアドレスのデータを読み出すジャンプ処理のプログラムが記憶されている。
異常要因アドレス領域23bは、上記ジャンプ処理によるジャンプ先の領域である。ソフトウェアの異常要因としては、たとえばROMサムチェック異常、RAMチェック異常、状態遷移異常などがある。本実施形態では、図3に示すように、異常要因ごとに特定のアドレスが割り振られている。そして、図4に示すように、異常要因に対応する各アドレスの情報(データ及び誤り訂正符号)が、ECCエラーが生じるように予め記憶されている。
具体的には、図4に示すデータにより生成される誤り訂正符号、すなわち上記ECC1と、データと同じアドレスに記憶されている誤り訂正符号、すなわちECC2とが一致しないように、データ及び誤り訂正符号が設定されている。このように、異常要因アドレス領域23bには、図4に示す情報が記憶されている。ROM23には、それ以外にも、周知のように、ソフトウェアの異常を検出するためのプログラム、ROMサムチェックを実行するためのプログラムなどが記憶されている。
次いで、CPU21及びECC機能部24が実行する処理について説明する。図5は、ROM23に記憶されたプログラムにしたがってCPU21が実行する処理を示している。CPU21は、図5に示す処理を所定の周期で繰り返し実行する。図6は、CPU21及びECC機能部24が実行する処理を示している。
図5に示すように、CPU21は、先ず、ソフトウェアの異常検出処理を実行する(ステップS10)。CPU21は、ROMサムチェックなどを実行する。
次いで、CPU21は、ステップS10の結果に基づいて、ソフトウェアの異常が生じているか否かを判定する(ステップS11)。ステップS10,S11の処理が、異常検出部に相当する。たとえばCPU21は、ROM23における対象領域の総和が所定値とならない場合、ROMサムチェック異常が生じていると判定する。図6に示すように、CPU21は、時刻t1でソフトウェアの異常を検出する。すなわち、時刻t1で、ステップS10,S11の処理を実行する。
異常が生じていると判定した場合、CPU21は、異常要因に対応するアドレスへのジャンプ処理を実行する(ステップS12)。ステップS12の処理が、ジャンプ処理部に相当する。異常が生じていると判定した場合、CPU21は、ROM23のジャンプ処理の領域23aに記憶されているプログラムにしたがって、異常要因に対応するアドレスへジャンプする。そして、ジャンプ先のアドレス、すなわち、異常要因に対応するアドレスのデータを読み出す。そして、一連の処理を終了する。図6に示すように、CPU21は、時刻t2で、ジャンプ処理(ジャンプ及び読み出し)を実行する。
なお、CPU21は、ステップS11において、ソフトウェアの異常なしと判定した場合、ステップS12の処理を実行せずに、一連の処理を終了する。
CPU21によるステップS12の処理、具体的にはデータの読み出し処理をトリガにして、ECC機能部24は、ECCエラー検出処理を開始する。CPU21が、ROM23の異常要因アドレス領域23bから、検出された異常要因に対応するアドレスのデータを読み出す際、ECC機能部24は、読み出したデータに基づいて誤り訂正符号(ECC1)を生成する。そして、生成したECC1と、データとともに異常要因アドレス領域23bに記憶されている誤り訂正符号(ECC2)とを照合する。
上記したように、異常要因アドレス領域23bに記憶されている情報(データ及び誤り訂正符号)は、ECCエラーが生じるように予め記憶されたものである。したがって、ECC1及びECC2は必ず一致せず、ECC機能部24は、ECCエラーが生じたと判定する。このように、ソフトウェアの異常が生じたときには、ECCエラーが必ず生じるようになっている。図6に示すように、CPU21は、時刻t3で、誤り訂正符号の照合を実施する。
上記したように、ECC機能部24は、エラーアドレス確認レジスタ24aを有している。したがって、ソフトウェアの異常によりECCエラーが生じると、ECC機能部24は、エラーアドレス確認レジスタ24aに、ECCエラーが発生したアドレス、すなわちソフトウェアの異常要因に対応するアドレスを記憶する。
また、ECC機能部24は、ソフトウェアの異常によりECCエラーが生じると、その旨を示すECCエラー信号をリセット部25に出力する。これにより、リセット部25は、CPU21をリセットさせるためのリセット信号を、電源回路26に出力する。そして、電源回路26は、CPU21の動作電圧Vcpuを一時的に遮断した後、動作電圧Vcpuの供給を再開する。
次に、本実施形態に係る制御装置10及びマイコン20の効果について説明する。
本実施形態によれば、ROM23の異常要因アドレス領域23bのアドレスが、異常要因ごとに割り振られており、各アドレスには、ECC機能部24による照合時にECCエラーが生じるべく、データ及び誤り訂正符号が予め記憶されている。CPU21は、ソフトウェアの異常が生じると、ROM23における異常要因に対応するアドレスへジャンプし、ジャンプ先のアドレス、すなわち異常要因に対応するアドレスのデータを読み出す。
異常要因アドレス領域23bから、検出された異常要因に対応するアドレスのデータを読み出す際、ECC機能部24は、読み出したデータに基づいて誤り訂正符号(ECC1)を生成する。そして、生成したECC1と、データとともに異常要因アドレス領域23bに記憶されている誤り訂正符号(ECC2)とを照合する。上記したように、異常要因アドレス領域23bに記憶されている情報(データ及び誤り訂正符号)は、ECCエラーが生じるように予め記憶されたものであるため、ECC1及びECC2は必ず一致せず、ECC機能部24は、ECCエラーが生じたと判定する。また、ソフトウェアの異常によりECCエラーが生じると、ECC機能部24は、エラーアドレス確認レジスタ24aに、ECCエラーが発生したアドレス、すなわちソフトウェアの異常要因に対応するアドレスを記憶する。
近年、機能安全対応として、マイコン20はECC機能部24を備えている。本実施形態では、メモリ、たとえばRAM22上に異常要因を解析するためのフラグを設けなくとも、マイコン20が備えるECC機能部24を利用し、ECC機能部24のエラーアドレス確認レジスタ24aに、ソフトウェアの異常要因に対応するアドレスを記憶する。したがって、開発時やディーラーなどでの異常解析時において、エラーアドレス確認レジスタ24aに記憶されているアドレスから、どのような要因のソフトウェア異常が生じたかを確認することができる。たとえば、開発時にはエラーアドレス確認レジスタ24aに記憶されているアドレスをデバッグの情報とし、ディーラーにおいては上記アドレスをダイアグ情報として扱うことができる。
図7に示すように、本実施形態では、RAM22上に異常要因フラグ領域を設ける必要がない。また、ROM23上には、異常要因アドレス領域23bと、ジャンプ処理のためのプログラムが記憶される領域23aが必要となる。たとえば、ソフトウェアの異常要因が10あるとすると、異常要因アドレス領域として10bit(2byte)、ジャンプ処理の領域23aとして40byte程度、必要となる。すなわち、異常要因に関する領域として、RAM22の使用領域が0byteであり、ROM23の使用領域は42byteとなる。異常要因と特定するための情報であるアドレスは、ECC機能部24(ハードウェア)のエラーアドレス確認レジスタ24aに記憶される。
一方、従来の構成(図7の比較例)では、RAM上に異常要因フラグ領域が必要となる。また、ROM23上には、フラグ初期化処理のためのプログラムが記憶される領域と、フラグを設定する、すなわちフラグをセットするためのプログラムが記憶される領域が必要となる。上記同様、ソフトウェアの異常要因が10あるとすると、異常要因フラグ領域として10bit(2byte)、フラグ初期化処理の領域として100byte程度、フラグ設定処理の領域として50byte程度、必要となる。すなわち、異常要因に関する領域として、RAMの使用領域が2byteであり、ROMの使用領域は150byteとなる。
このように、本実施形態によれば、フラグを用いる従来の構成に較べて、メモリ(RAM22及びROM23)の容量を低減することができる。また、処理の一部をECC機能部24が実行するため、CPU21が実行する処理、すなわち処理負荷を低減することができる。
この明細書の開示は、例示された実施形態に制限されない。開示は、例示された実施形態と、それらに基づく当業者による変形態様を包含する。たとえば、開示は、実施形態において示された要素の組み合わせに限定されない。開示は、多様な組み合わせによって実施可能である。開示される技術的範囲は、実施形態の記載に限定されない。開示されるいくつかの技術的範囲は、特許請求の範囲の記載によって示され、さらに特許請求の範囲の記載と均等の意味及び範囲内でのすべての変更を含むものと解されるべきである。
ROM23がECC機能部24を有する例を示した。しかしながら、RAM22がECC機能部24を有してもよい。RAM22及びROM23が、ともにECC機能部24を有してもよい。
さらには、マイコン20内において、メモリ以外に、ECC機能部24が設けられてもよい。
10…制御装置、
20…マイコン、
21…CPU、
22…RAM、
23…ROM、
24…ECC機能部、
24a…エラーアドレス確認レジスタ、
25…リセット部、
26…電源回路、
27…バス

Claims (1)

  1. ソフトウェアを実行することで所定の制御を実現する制御装置であって、
    前記ソフトウェアの異常を検出する異常検出部(S10,S11)と、
    前記ソフトウェアの異常の要因ごとに特定のアドレスが割り振られ、該アドレスに、ECC(Error Correction Code)エラーが生じるようにデータ及び誤り訂正符号が記憶されてなる異常要因アドレス領域を有するメモリ(22,23)と、
    前記異常検出部により検出された前記ソフトウェアの異常の要因に基づき、異常の要因に対応する前記アドレスへジャンプし、該アドレスに記憶された前記データを読み出すジャンプ処理部(S12)と、
    読み出された前記データの誤りを前記誤り訂正符号に基づいて検出するとともに、誤りが検出された前記アドレスを記憶するECC機能部(24)と、
    を備える制御装置。
JP2016079004A 2016-04-11 2016-04-11 制御装置 Active JP6512156B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016079004A JP6512156B2 (ja) 2016-04-11 2016-04-11 制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016079004A JP6512156B2 (ja) 2016-04-11 2016-04-11 制御装置

Publications (2)

Publication Number Publication Date
JP2017191375A true JP2017191375A (ja) 2017-10-19
JP6512156B2 JP6512156B2 (ja) 2019-05-15

Family

ID=60084709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016079004A Active JP6512156B2 (ja) 2016-04-11 2016-04-11 制御装置

Country Status (1)

Country Link
JP (1) JP6512156B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6286441A (ja) * 1985-10-14 1987-04-20 Hitachi Ltd デ−タトレ−ス方式
JPH0368041A (ja) * 1989-08-08 1991-03-25 Nec Corp データ処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6286441A (ja) * 1985-10-14 1987-04-20 Hitachi Ltd デ−タトレ−ス方式
JPH0368041A (ja) * 1989-08-08 1991-03-25 Nec Corp データ処理装置

Also Published As

Publication number Publication date
JP6512156B2 (ja) 2019-05-15

Similar Documents

Publication Publication Date Title
JP6290303B2 (ja) 誤り訂正能力をテストするための回路および方法
KR20130031888A (ko) 데이터 메모리의 모니터링 방법
US20140173327A1 (en) Correcting a failure associated with a current firmware image
US11422916B2 (en) Usage amount monitoring method and monitoring unit of electronic control unit for vehicle
KR20170131584A (ko) 데이터 버스 트랜시버로부터의 구성 데이터를 보호하기 위한 방법, 데이터 버스 트랜시버 및 데이터 버스 시스템
US10379946B2 (en) Controller
JP6658417B2 (ja) 電子制御装置
JP2006513471A (ja) メモリアクセスエラーの検出及び/又は訂正方法、並びにこの方法を実行するための電子回路構成
JP2016081341A (ja) 電子制御装置
US8266454B2 (en) Secure flash memory using error correcting code circuitry
CN105279043A (zh) 一种对单片机软件错误进行恢复的方法及系统
JP2606862B2 (ja) 単−エラー検出・訂正方式
JP6512156B2 (ja) 制御装置
CN109189457B (zh) 智能惯导传感系统的固件升级系统及方法
US20070033492A1 (en) Method and device for monitoring an electronic circuit
US8151176B2 (en) CPU instruction RAM parity error procedure
US8196026B2 (en) Method and computer unit for error detection and logging in a memory
US20130055017A1 (en) Device and method for restoring information in a main storage unit
CN108829417B (zh) 一种cpld的升级装置、方法、设备及存储介质
JP4851525B2 (ja) データ処理システムおよびその駆動方法
US8145953B2 (en) Programmable unit
KR101317154B1 (ko) 이피에스 시스템 메모리 검사 장치 및 방법
JP6546014B2 (ja) ディジタル保護制御装置
JP6295928B2 (ja) 制御装置
JP6275098B2 (ja) 制御装置およびレジスタの故障復帰方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180618

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190222

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: 20190312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190325

R151 Written notification of patent or utility model registration

Ref document number: 6512156

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250