JP2019191942A - 制御装置および機能検査方法 - Google Patents

制御装置および機能検査方法 Download PDF

Info

Publication number
JP2019191942A
JP2019191942A JP2018084201A JP2018084201A JP2019191942A JP 2019191942 A JP2019191942 A JP 2019191942A JP 2018084201 A JP2018084201 A JP 2018084201A JP 2018084201 A JP2018084201 A JP 2018084201A JP 2019191942 A JP2019191942 A JP 2019191942A
Authority
JP
Japan
Prior art keywords
unit
inspection
main processing
processing unit
monitoring
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
Application number
JP2018084201A
Other languages
English (en)
Inventor
雅憲 赤座
Masanori Akaza
雅憲 赤座
亮吉 田中
Ryokichi Tanaka
亮吉 田中
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 Ten Ltd
Original Assignee
Denso Ten Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP2018084201A priority Critical patent/JP2019191942A/ja
Priority to US16/269,852 priority patent/US20190332506A1/en
Publication of JP2019191942A publication Critical patent/JP2019191942A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】機能検査の信頼性を向上させ、安全性をより高める。【解決手段】制御装置は、プログラムを実行可能な主処理部と、主処理部から出力される信号を監視し主処理部の異常を検出した場合に、主処理部をリセットする監視部とを備える。主処理部は、特定のプログラム専用である保護対象領域に対し、特定のプログラム以外の他のプログラムがアクセスする不正アクセスを検出した場合に、主処理部をリセットさせる検出部と、保護対象領域に対し意図的に不正アクセスを行うことによって、検出部により主処理部がリセットされるか否かを検査する第1検査部と、監視部に対し意図的に異常状態を示す信号を出力することによって、監視部により主処理部がリセットされるか否かを検査する第2検査部を備える。検出部は、不正アクセスを検出した場合に、第2検査部から監視部に対し意図的に異常状態を示す信号を出力させる。【選択図】図2

Description

開示の実施形態は、制御装置および機能検査方法に関する。
従来、車両に搭載され、エンジンやトランスミッション、カーナビゲーションといった車両の各種システムをそれぞれ電子制御する電子制御装置(ECU:Electronic Control Unit)が知られている。かかるECUでは、内蔵されたマイクロコントローラ(以下、「マイコン」と記載する)が制御プログラムを実行することにより、割り当てられた各種機能を実現する。
なお、制御プログラムは、車両であればたとえば駆動系の制御プログラムといった、きわめて高い安全性を求められる「機能安全アプリケーション」と、仮に動作しなくとも車両の運行に支障をきたすことのない「非機能安全アプリケーション」とに大別できる。
これらは、1つのECUで同時に動作することもあるため、ECUは、たとえばメモリ保護ユニット(MPU:Memory Protection Unit)を備え、かかるMPUにより、非機能安全アプリケーションが機能安全アプリケーションの使用する保護領域へ不正アクセスすることを防止することで、車両の安全性を担保している(たとえば、特許文献1参照)。
ただし、MPUに異常があればかかる安全性は担保できないため、ECUは、たとえば起動時などに、保護領域へ意図的な不正アクセスを行い、正しくメモリ保護違反例外が発生するかを確認するMPU機能検査を実施する。
また、同様に安全性を担保する趣旨から、ECUは、マイコンが正常に動作しているか否かを監視する監視IC(Integrated Circuit)を備える。監視ICはたとえば電源ICである。監視ICによる監視方式としては、たとえばマイコンから出力されるウォッチドッグカウンタ(以下、「WDC」と記載する)信号のパルス間隔を監視するWDC監視方式や、シリアル通信により、監視ICとマイコンとの間で「質問」と「回答」を周期的にやり取りするQ&A方式が知られている。
そして、監視ICは、WDC信号のパルス間隔やマイコンの回答が遅延したり、回答を評価して期待値通りでなかったりすれば、マイコンに動作異常が生じているとして、たとえばマイコンをリセットする。
ただし、やはり監視ICに異常があれば上述の安全性は担保できないため、ECUは、起動時などに、監視ICに対し意図的なリセット要求を行い、外部(すなわち、監視IC)から正しくマイコンがリセットされるかを確認する外部監視機能検査を実施する。
特開2013−232151号公報
しかしながら、上述した従来技術には、機能検査の信頼性を向上させ、安全性をより高めるうえで更なる改善の余地がある。
具体的には、ECUは、たとえばMPU機能検査に関し、意図的な不正アクセスか意図しない不正アクセスかを判定するための情報を、搭載されたRAM(Random Access Memory)へ展開する場合がある。しかし、かかるRAMに展開された情報は、たとえばマイコンのリセットによりRAM化け等が生じ、異常な値となってしまうおそれがある。
仮に異常な値となってしまった場合、ECUは、機能検査中でない通常制御中に、保護領域への意図しない不正アクセスが行われたにも関わらず、MPU機能検査中の意図的な不正アクセスであるとして誤判定してしまうおそれがある。
実施形態の一態様は、上記に鑑みてなされたものであって、機能検査の信頼性を向上させ、安全性をより高めることができる制御装置および機能検査方法を提供することを目的とする。
実施形態の一態様に係る制御装置は、主処理部と、監視部とを備える。前記主処理部は、プログラムを実行可能に設けられる。前記監視部は、前記主処理部から出力される信号を監視することによって前記主処理部の異常を検出した場合に、前記主処理部をリセットする。また、前記主処理部は、検出部と、第1検査部と、第2検査部とを有する。前記検出部は、特定のプログラム専用である保護対象領域に対し、前記特定のプログラム以外の他のプログラムがアクセスする不正アクセスを検出した場合に、当該主処理部をリセットさせる。前記第1検査部は、前記保護対象領域に対し意図的に前記不正アクセスを行うことによって、前記検出部により当該主処理部がリセットされるか否かを検査する。前記第2検査部は、前記監視部に対し意図的に異常状態を示す信号を出力することによって、前記監視部により当該主処理部がリセットされるか否かを検査する。また、前記検出部は、前記不正アクセスを検出した場合に、前記第2検査部から前記監視部に対し意図的に異常状態を示す信号を出力させる。
実施形態の一態様によれば、機能検査の信頼性を向上させ、安全性をより高めることができる。
図1Aは、車載システムの概要説明図である。 図1Bは、比較例となる機能検査方法の概要説明図(その1)である。 図1Cは、比較例となる機能検査方法の概要説明図(その2)である。 図1Dは、実施形態に係る機能検査方法の概要説明図である。 図2は、実施形態に係るECUのブロック図である。 図3Aは、実施形態に係る機能検査方法のタイミングチャート(その1)である。 図3Bは、実施形態に係る機能検査方法のタイミングチャート(その2)である。 図4は、実施形態に係るECUが実行する処理手順を示すフローチャートである。
以下、添付図面を参照して、本願の開示する制御装置および機能検査方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
また、以下では、本実施形態に係る機能検査方法の概要について図1A〜図1Dを用いて説明した後に、本実施形態に係る機能検査方法を適用したECU10(「制御装置」の一例に相当)について、図2〜図4を用いて説明することとする。
まず、本実施形態に係る機能検査方法の概要について図1A〜図1Dを用いて説明する。図1Aは、車載システム1の概要説明図である。また、図1Bおよび図1Cは、比較例となる機能検査方法の概要説明図(その1)および(その2)である。また、図1Dは、本実施形態に係る機能検査方法の概要説明図である。なお、図1A中の「n」は、1以上の任意の自然数とする。また、図1Bおよび図1Cでは、本実施形態との区別のために、構成要素の符号に「’」を付す。
図1Aに示すように、車両Cは、車載システム1を備える。車載システム1は、複数のECU10−1〜10−nを備える。ECU10−1〜10−nは、CAN(Controller Area Network)等のネットワークNにより相互通信可能に接続され、それぞれ制御プログラムを実行することによって制御対象20−1〜20−nを電子制御する。制御対象20−1〜20−nは、たとえばエンジンやトランスミッション、ブレーキ、カーナビゲーションといった各種システムである。
ここで、図1Bに示すように、比較例となる従来構成に係るECU10’は、マイコン11’と、監視IC12’とを備える。マイコン11’は、ECU10’の主処理部であって、制御プログラムを実行することによって、ECU10’それぞれに割り当てられた各種機能を実現する。
監視IC12’は、マイコン11’へ電源を供給する。また、監視IC12’は、マイコン11’の動作状態を、Q&A方式によって監視する。すなわち、監視IC12’からは質問を送信し、マイコン11’からはこれに応じた回答を送信する。なお、これらは、たとえばSPI(Serial Peripheral Interface)によるシリアル通信によりやり取りされる。
そして、監視IC12’は、受信したマイコン11’からの回答を評価する。このようなやり取りは周期的に繰り返され、監視IC12’は、評価結果がNGであればかかる結果に応じてたとえばマイコン11’をリセットさせる。
また、監視IC12’は、たとえば回答の送信時に瞬間的なノイズ等が発生して通信異常となり、回答の送信において通信が成立しなかった場合、内部に備えるWDT(ウォッチドッグタイマ)12’bによって回答の受信を待つ。
そして、監視IC12’は、WDT12’bにより、タイムアウトとなれば、たとえばマイコン11’をリセットさせる。これらが、監視IC12’を用いた「外部監視機能」である。
また、マイコン11’は、図示略のMPU(図2のMPU11dに対応)と、保護対象領域11g’と、RAM13’とを備える。
MPUは、機能安全アプリケーションにより使用されるメモリの保護対象領域11g’への非機能安全アプリケーションからの不正アクセスを検出する。また、MPUは、不正アクセスを検出した場合に、メモリ保護違反例外を発生させる。
また、マイコン11’は、かかるメモリ保護違反例外が発生した場合に、たとえばマイコン11’をリセットさせる。これらが、MPUを用いた「MPU機能」である。
こうした「外部監視機能」および「MPU機能」により安全性を担保するには、そもそも監視IC12’やMPUに異常がないことが前提となる。そこで、ECU10’は、たとえば起動時に、「外部監視機能検査」ならびに「MPU機能検査」を実行する。
具体的には、図1Bに示すように、ECU10’は、監視IC12’が「パワーオン」し、マイコン11’が「起動」されると、まず「外部監視機能検査」を実行する。「外部監視機能検査」では、マイコン11’からQ&A方式を用いた「意図的なリセット要求」が監視IC12’へ送信される。「意図的なリセット要求」とは、たとえば意図的な誤回答である。
監視IC12’が正常であれば、かかる「意図的なリセット要求」に応じて、マイコン11’を「リセット」させることとなる。これによりマイコン11’が正常に「再起動」すれば、「外部監視機能検査⇒OK」となる。
つづいて、ECU10’は、「MPU機能検査」を実行する。「MPU機能検査」では、保護対象領域11g’に対し、「意図的な不正アクセス」が行われる。「意図的な不正アクセス」が行われた場合、MPUが正常であれば、これに応じて「不正アクセスを検出」する。なお、「MPU機能検査」中においては、RAM13’に「検査中」であることを示す情報が格納されており、マイコン11’は、かかる「検査中」に意図的な不正アクセスが正しく検出されたことで、「MPU機能検査⇒OK」とする。
これにより、マイコン11’は「通常制御へ」と移行することとなる。なお、このとき、意図的な不正アクセスに対する対応処理(たとえばリセット要求)は行われない。
そして、図1Cに示すように、マイコン11’が「通常制御中」においては、「MPU機能」により、保護対象領域11g’へ「不正アクセス」が行われると、MPUが正常であれば、これに応じて「不正アクセスを検出」する。
なお、通常制御中においては、RAM13’に「通常制御中」であることを示す情報が格納されており、マイコン11’は、かかる「通常制御中」に不正アクセスが検出されたことで、これに応じた対応処理を実行する。たとえばマイコン11’は、対応処理として、監視IC12’へ「リセット要求」を送信し、監視IC12’はマイコン11’を「リセット」させ、マイコン11’を「再起動」する。
ところで、図1Cに示すように、通常制御中において、RAM化け等により、RAM13’に対しては「異常値」が格納されるおそれがある。たとえば、「通常制御中」が「検査中」に書き換わるおそれがある。かかる場合に、仮にMPUが「不正アクセスを検出」した場合、「検査中」であるため、たとえば前述の対応処理である「リセット要求」はなされずに、マイコン11’は「動作不良」を起こす可能性がある。
そこで、本実施形態に係る機能検査方法では、「検査中」における不正アクセス検出時にもリセット要求を行うようにするとともに、RAM13’を参照しない手順により行われるようにした。
また、本実施形態に係る機能検査方法ではさらに、かかる不正アクセス検出時のリセット要求が、「外部監視機能検査」時または「外部監視機能」時と共通の手順により行われるようにした。
具体的には、比較例となる機能検査方法では、図1Dの上段に示すように、「パワーオン」がなされると、まず「外部監視機能検査」が実行され、1回目の「リセット」が行われた後、「MPU機能検査」が実行され、「意図的な不正アクセス発生」およびRAM13’の「検査中」に基づき、2回目の「リセット」が行われる。
そして、通常制御中は、「MPU機能」における「意図しない不正アクセス発生」およびRAM13’の「通常制御中」に基づき、「リセット」が行われる。
これに対し、図1Dの下段に示すように、本実施形態に係る機能検査方法では、「パワーオン」がなされると、まず「MPU機能検査」を実行し、「意図的な不正アクセス発生」に対するリセット要求が、RAM13’を参照することなく「外部監視機能検査」により行われるようにした。
また、通常制御中は、「MPU機能」における「意図しない不正アクセス発生」に対するリセット要求が、RAM13’を参照することなく「外部監視機能」により行われるようにした。
これにより、本実施形態に係る機能検査方法では、「MPU機能検査」および「外部監視機能検査」を、異常値が格納される可能性のあるRAM13’を参照することなく行うことができるので、機能検査の信頼性を向上させ、安全性をより高めることができる。
また、本実施形態に係る機能検査方法では、「MPU機能検査」および「外部監視機能検査」を、1回のリセットを経るだけで行うことができるので、ECU10がパワーオンから通常制御へ移行するまでの時間を短縮することができる。
また、本実施形態に係る機能検査方法では、通常制御時においても、RAM13’を参照することなく、機能検査時と同様にリセット要求が行われるようにしたので、安全性をより高めることができる。
以下、上述した機能検査方法を適用したECU10について、さらに具体的に説明する。
図2は、本実施形態に係るECU10のブロック図である。なお、図2では、本実施形態の特徴を説明するために必要な構成要素のみを表しており、一般的な構成要素についての記載を省略している。
換言すれば、図2に図示される各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、各ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
図2に示すように、ECU10は、マイコン11と、監視IC12とを備える。まず、監視IC12から説明する。監視IC12は、通信I/F(インタフェース)12aと、WDT12bとを備える。
監視IC12は、電源ICであり、マイコン11へ電源を供給する。通信I/F12aは、たとえばSPIであり、Q&A方式による質問および回答をマイコン11との間でやり取りする。WDT12bは、既に述べたようにウォッチドッグタイマである。
監視IC12は、既に述べたように、マイコン11からの誤回答や、WDT12bによるタイムアウト等に基づいてマイコン11をリセットさせる。したがって、マイコン11は、意図的な誤回答や、意図的な遅延により、意図的なリセット要求を行うことができる。
次に、マイコン11について説明する。マイコン11は、通信I/F11aと、通信部11bと、検査部11cと、MPU11dと、機能安全処理実行部11eと、非機能安全処理実行部11fと、保護対象領域11gとを備える。
検査部11cは、MPU機能検査部11caと、外部監視機能検査部11cbとを含む。保護対象領域11gは、MPU機能検査用メモリ11gaと、機能安全処理用メモリ11gbとを含む。また、マイコン11は、制御対象20を制御する。
通信I/F11aは、たとえばSPIであり、通信I/F12aとの間で、Q&A方式による質問および回答をやり取りする。通信部11bは、通信I/F11aを介し、監視IC12からの質問を受信して、質問に対する回答を生成し、監視IC12へ向けて出力する。たとえば、通信部11bは、外部監視機能検査に際しては、意図的な誤回答を生成して、意図的なリセット要求として出力する。
検査部11cは、MPU機能検査および外部監視機能検査の各機能検査を実行する。MPU機能検査部11caは、MPU機能検査を実行する。すなわち、MPU機能検査部11caは、マイコン11へ電源が供給され、起動されると、外部監視機能検査に先立ってMPU機能検査を実行する。
具体的には、MPU機能検査部11caは、MPU11dの保護対象領域11gに含まれるMPU機能検査用メモリ11gaへアクセスすることによって、意図的な不正アクセスを行う。
外部監視機能検査部11cbは、外部監視機能検査を実行する。具体的には、外部監視機能検査部11cbは、MPU機能検査部11caにより意図的な不正アクセスが行われることにより発生する、MPU11dからのメモリ保護違反例外の割り込みを受け付けた場合に、通信部11bに対し、意図的なリセット要求を生成させて出力させる。
MPU11dは、メモリ保護ユニットであり、保護対象領域11gに対する不正アクセスを検出する。また、MPU11dは、かかる不正アクセスを検出した場合に、外部監視機能検査部11cbへ、メモリ保護違反例外の割り込みを発生させる。
機能安全処理実行部11eは、マイコン11の通常制御時において、機能安全アプリケーションを実行する。このとき、機能安全処理実行部11eは、保護対象領域11gの機能安全処理用メモリ11gbへアクセスしつつ処理を進める。機能安全処理用メモリ11gbは、機能安全処理実行部11eの専用メモリ空間であり、MPU11dによって保護される。
非機能安全処理実行部11fは、通常制御時において、保護対象領域11g外の非機能安全処理用メモリ(図示略)へアクセスしつつ、非機能安全アプリケーションを実行する。かかる非機能安全処理実行部11fが、保護対象領域11gの機能安全処理用メモリ11gbへ意図する/意図しないに関わらず不正アクセスした場合、MPU11dは、かかる不正アクセスを検出して、外部監視機能検査部11cbへ、メモリ保護違反例外の割り込みを発生させる。保護対象領域11gは、MPU11dの保護対象となるメモリ空間である。
次に、本実施形態に係る機能検査方法のタイミングチャートについて、図3Aおよび図3Bを用いて説明する。図3Aおよび図3Bは、実施形態に係る機能検査方法のタイミングチャート(その1)および(その2)である。
図3Aに示すように、時間t0において「パワーオンリセット」され、時間t1から電源が「供給中」となったものとする。
このとき、監視IC12は「監視中」状態となり、マイコン状態(マイコン11の状態)は、「リセット中」を経て「起動」状態となる。そして、「起動」状態の後、時間t2において「外部監視機能検査」に先立って「MPU機能検査」状態へ移行する。
「MPU機能検査」状態では、MPU機能検査部11caによるMPU機能検査処理により、「意図的な不正アクセス」が行われる。これにより、MPU11dは、「メモリ保護違反例外」の割り込みを発生させる。
機能安全処理実行部11eによる機能安全処理は、かかる割り込みを受け付けると(時間t3参照)、外部監視機能検査部11cbによる外部監視機能検査処理へ「リセット要求」を行う。なお、「メモリ保護違反例外」の割り込みを、外部監視機能検査処理が直接受け付けてもよい。
外部監視機能検査部11cbが「リセット要求」を受け付けると(図中の時間t4参照)、マイコン状態は「外部監視機能検査」状態となり、外部監視機能検査部11cbは通信部11bに「意図的なリセット要求」を行わせる。このとき、図示略の検査フラグを「検査中」状態に設定し、図示略のメモリへ記憶しておく。なお、検査フラグは、電源オフ時に「未検査」状態に設定される。
そして、監視IC12が、「意図的なリセット要求」、すなわち、Q&A方式による異常を検出すると、それによるマイコン11のリセットを実行する(図中の「Q&A異常検出によるリセット」参照)。
これにより、時間t5においてマイコン11は「リセット」され、「リセット中」〜「再起動」状態になる。このとき、検査フラグが「検査中」状態であれば、今回の起動が機能検査による意図的な起動であることを示すため、「外部監視機能検査」状態へと移行する。そして、かかる状態において、外部監視機能検査部11cbは、「MPU機能/外部監視機能を正常と判定」し、時間t6においてマイコン11を「通常制御中」状態へと移行させる。
その際、検査フラグを「検査完了」状態に設定する。なお、マイコン11の起動時に、検査フラグが「未検査」状態であれば、MPU機能および外部監視機能の検査が未実施であることを示すため、マイコン11は、時間t2に示す「MPU機能検査」状態から始まることとなる。
つづいて、図3Bに示すように、「通常制御中」状態である時間t11において、非機能安全処理実行部11fによる非機能安全処理が、「不正アクセス」を行ったものとする。これにより、MPU11dは、「メモリ保護違反例外」の割り込みを発生させる。
機能安全処理実行部11eによる機能安全処理は、かかる割り込みを受け付けると(時間t12参照)、外部監視機能検査部11cbによる外部監視機能検査処理へ「リセット要求」を行う。なお、「メモリ保護違反例外」の割り込みを、外部監視機能検査処理が直接受け付けてもよい。
外部監視機能検査部11cbは「リセット要求」を受け付けると、通信部11bにQ&A異常による「リセット要求」を行わせる。そして、監視IC12が、「Q&A異常検出によるリセット」を実行する(時間t13参照)。
これにより、時間t14においてマイコン11は「リセット」され、「リセット中」〜「再起動」状態になる。このとき、検査フラグが「検査完了」状態であれば、MPU機能および外部監視機能の検査が実施されて正常と判定済みであることを示すため、マイコン11は時間t15において「通常制御中」状態へと移行することとなる。
次に、本実施形態に係るECU10が実行する処理手順について、図4を用いて説明する。図4は、本実施形態に係るECU10が実行する処理手順を示すフローチャートである。
図4に示すように、まずECU10がパワーオンリセットされる(ステップS101)。そして、マイコン11が起動されると、検査フラグの状態が判定される(ステップS102)。ここで、検査フラグの状態が「未検査」である場合(ステップS102,未検査)、MPU機能検査部11caが、保護対象領域11gへの意図的な不正アクセスを行う(ステップS103)。
そして、メモリ保護違反例外が発生したか否かが判定される(ステップS104)。ここで、メモリ保護違反例外が発生した場合(ステップS104,Yes)、外部監視機能検査部11cbが、監視IC12に対し、意図的なリセット要求を行う(ステップS105)。
一方、メモリ保護違反例外が発生しなかった場合(ステップS104,No)、MPU機能を異常と判定し(ステップS106)、処理を終了する。
つづいて、ステップS105の意図的なリセット要求の後、リセットに備えて検査フラグを「検査中」状態に設定する(ステップS107)。そして、リセットに要する所定時間が経過したか否かが判定される(ステップS108)。リセットに要する所定時間は、通常、マイコン11の再起動において要する時間を指す。
かかる所定時間が経過していなければ(ステップS108,No)、ステップS108の判定を繰り返す。ここで、正常であれば、リセットに要する所定時間が経過する前にステップS101のパワーオンリセットが発生するため、ステップS102からの処理が再開される。
一方、ステップS108で所定時間が経過したと判定された場合(ステップS108,Yes)、それは所定時間内に外部監視機能によるリセットがなされなかったことを意味するため、外部監視機能を異常と判定し(ステップS109)、処理を終了する。
つづいて、ステップS102で検査フラグの状態が「検査中」である場合(ステップS102,検査中)、それはステップS105の意図的なリセット要求によりマイコン11が再起動されたことを示すため、MPU機能/外部監視機能を正常と判定する(ステップS110)。そして、検査フラグを「検査完了」状態に設定する(ステップS111)。
そして、マイコン11は通常制御へ移行する(ステップS112)。通常制御中、パワーオフが行われた場合(ステップS113,Yes)、検査フラグを「未検査」状態に設定し(ステップS114)、終了処理を実行して(ステップS115)、処理を終了する。ステップS115の終了処理では、たとえばRAMのデータをフラッシュメモリに書き込む等の処理が行われる。
また、パワーオフが行われなかった場合(ステップS113,No)、通常制御中、メモリ保護違反例外が発生したか否かが判定される(ステップS116)。
ここで、メモリ保護違反例外が発生していなければ(ステップS116,No)、ステップS113からの処理が繰り返される。また、メモリ保護違反例外が発生した場合(ステップS116,Yes)、外部監視機能検査部11cbが、監視IC12に対し、リセット要求を行い(ステップS117)、ステップS108へ移行する。
既に述べたように、ステップS108で所定時間が経過したと判定されれば(ステップS108,Yes)、外部監視機能を異常と判定し(ステップS109)、処理を終了する。一方で、所定時間が経過する前に正常にパワーオンリセットされれば(ステップS101)、ステップS102からの処理が再開される。
そして、ステップS102で検査フラグの状態が「検査完了」である場合(ステップS102,検査完了)、それは、通常制御中におけるメモリ保護違反例外の発生に基づくステップS117のリセット要求によりマイコン11が再起動されたことを示す。したがって、この場合、MPU機能および外部監視機能の検査は終了しているため、マイコン11は通常制御へ移行することとなる(ステップS112)。
上述してきたように、本実施形態に係るECU10(「制御装置」の一例に相当)は、マイコン11(「主処理部」の一例に相当)と、監視IC12(「監視部」の一例に相当)とを備える。マイコン11は、プログラムを実行可能に設けられる。監視IC12は、マイコン11から出力される信号を監視することによってマイコン11の異常を検出した場合に、マイコン11をリセットする。また、マイコン11は、MPU11d(「検出部」の一例に相当)と、MPU機能検査部11ca(「第1検査部」の一例に相当)と、外部監視機能検査部11cb(「第2検査部」の一例に相当)とを有する。MPU11dは、機能安全アプリケーション(「特定のプログラム」の一例に相当)専用である保護対象領域11gに対し、非機能安全アプリケーション(「特定のプログラム以外の他のプログラム」の一例に相当)がアクセスする不正アクセスを検出した場合に、マイコン11をリセットさせる。MPU機能検査部11caは、保護対象領域11gに対し意図的に不正アクセスを行うことによって、MPU11dによりマイコン11がリセットされるか否かを検査する。外部監視機能検査部11cbは、監視IC12に対し意図的に異常状態を示す信号を出力することによって、監視IC12によりマイコン11がリセットされるか否かを検査する。また、MPU11dは、不正アクセスを検出した場合に、外部監視機能検査部11cbから監視IC12に対し意図的に異常状態を示す信号を出力させる。
したがって、本実施形態に係るECU10によれば、機能検査の信頼性を向上させ、安全性をより高めることができる。
また、マイコン11は、外部監視機能検査部11cbによる検査より前に、MPU機能検査部11caによる検査を実行させる。
したがって、本実施形態に係るECU10によれば、「MPU機能検査」および「外部監視機能検査」を、1回のリセットを経るだけで行うことができるので、ECU10がパワーオンから通常制御へ移行するまでの時間を短縮することができる。
なお、上述した実施形態では、ECU10は車両Cに設けられることとしたが、車両Cに限られるものではなく、たとえば船舶や航空機等に設けられてもよい。また、このような移動する機械だけでなく、一定の場所に設置されて運用される機械の制御装置として設けられてもよい。
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
1 車載システム
10 ECU
11 マイコン
11ca MPU機能検査部
11cb 外部監視機能検査部
11d MPU
11g 保護対象領域
12 監視IC
C 車両

Claims (3)

  1. プログラムを実行可能に設けられた主処理部と、
    前記主処理部から出力される信号を監視することによって前記主処理部の異常を検出した場合に、前記主処理部をリセットする監視部とを備え、
    前記主処理部は、
    特定のプログラム専用である保護対象領域に対し、前記特定のプログラム以外の他のプログラムがアクセスする不正アクセスを検出した場合に、当該主処理部をリセットさせる検出部と、
    前記保護対象領域に対し意図的に前記不正アクセスを行うことによって、前記検出部により当該主処理部がリセットされるか否かを検査する第1検査部と、
    前記監視部に対し意図的に異常状態を示す信号を出力することによって、前記監視部により当該主処理部がリセットされるか否かを検査する第2検査部と
    を有し、
    前記検出部は、
    前記不正アクセスを検出した場合に、前記第2検査部から前記監視部に対し意図的に異常状態を示す信号を出力させる
    ことを特徴とする制御装置。
  2. 前記主処理部は、
    前記第2検査部による検査より前に、前記第1検査部による検査を実行させる
    ことを特徴とする請求項1に記載の制御装置。
  3. プログラムを実行可能に設けられた主処理部と、前記主処理部から出力される信号を監視することによって前記主処理部の異常を検出した場合に、前記主処理部をリセットする監視部とを備える制御装置を用いた機能検査方法であって、
    特定のプログラム専用である保護対象領域に対し、前記特定のプログラム以外の他のプログラムがアクセスする不正アクセスを検出した場合に、当該主処理部をリセットさせる検出工程と、
    前記保護対象領域に対し意図的に前記不正アクセスを行うことによって、前記検出工程により前記主処理部がリセットされるか否かを検査する第1検査工程と、
    前記監視部に対し意図的に異常状態を示す信号を出力することによって、前記監視部により前記主処理部がリセットされるか否かを検査する第2検査工程と
    を含み、
    前記検出工程は、
    前記不正アクセスを検出した場合に、前記第2検査工程から前記監視部に対し意図的に異常状態を示す信号を出力させる
    ことを特徴とする機能検査方法。
JP2018084201A 2018-04-25 2018-04-25 制御装置および機能検査方法 Pending JP2019191942A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018084201A JP2019191942A (ja) 2018-04-25 2018-04-25 制御装置および機能検査方法
US16/269,852 US20190332506A1 (en) 2018-04-25 2019-02-07 Controller and function testing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018084201A JP2019191942A (ja) 2018-04-25 2018-04-25 制御装置および機能検査方法

Publications (1)

Publication Number Publication Date
JP2019191942A true JP2019191942A (ja) 2019-10-31

Family

ID=68292599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018084201A Pending JP2019191942A (ja) 2018-04-25 2018-04-25 制御装置および機能検査方法

Country Status (2)

Country Link
US (1) US20190332506A1 (ja)
JP (1) JP2019191942A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022162998A1 (ja) * 2021-01-26 2022-08-04 日立Astemo株式会社 電子制御装置のシミュレーション装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075937A (en) * 1998-03-18 2000-06-13 International Business Machines Corporation Preprocessing of stored target routines for controlling emulation of incompatible instructions on a target processor and utilizing target processor feedback for controlling non-sequential incompatible instruction emulation
US6971048B1 (en) * 1998-06-15 2005-11-29 Sun Microsystems, Inc. Testing device driver hardening
DE102004050905A1 (de) * 2004-10-19 2006-05-11 Siemens Ag Monitoring-Einheit zur Überwachung und zur automatisierten Fehlerbehebung von medizinischen Applikationen
JP4432988B2 (ja) * 2007-03-14 2010-03-17 株式会社デンソー 電子制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022162998A1 (ja) * 2021-01-26 2022-08-04 日立Astemo株式会社 電子制御装置のシミュレーション装置

Also Published As

Publication number Publication date
US20190332506A1 (en) 2019-10-31

Similar Documents

Publication Publication Date Title
US10585755B2 (en) Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
CN104737134A (zh) 用于操作***无关的硬件验证的***和方法
CN105868060B (zh) 用于运行驾驶员辅助***的数据处理单元的方法和数据处理单元
US20190018964A1 (en) Secure Persistent Software Updates
US20160217023A1 (en) Monitoring unit, control system, and monitoring program
JP6723941B2 (ja) 制御装置および制御プログラム更新方法
JP4886558B2 (ja) 情報処理装置
JP2019191942A (ja) 制御装置および機能検査方法
JP5960632B2 (ja) 車両用電子制御装置
US20140068354A1 (en) Apparatus and method for determining a state of a mobile terminal
CN109828855B (zh) 多处理器错误检测***及其方法
US11372706B2 (en) Vehicle control device
TWI497279B (zh) 除錯裝置及除錯方法
JP2003186697A (ja) 周辺デバイス試験システム及び方法
US11726853B2 (en) Electronic control device
US9405629B2 (en) Information processing system, method for controlling information processing system, and storage medium
JP2005332030A (ja) コントローラ
JP2007172096A (ja) 情報処理装置、および、その起動制御方法
CN108073489B (zh) 确保计算器的操作的方法
JP4633553B2 (ja) デバッグシステム、デバッグ方法およびプログラム
TW202018507A (zh) 主機開機檢測方法及其系統
JP2018128874A (ja) 電子機器
CN112084049B (zh) 用于监控基板管理控制器的常驻程序的方法
CN109101353B (zh) 一种电子设备部件的特性检测方法和电子设备
TWI715005B (zh) 用於監控基板管理控制器之常駐程序的方法