(57)【要約】      （修正有）【課題】機能検査の信頼性を向上させ、安全性をより高める。【解決手段】制御装置は、プログラムを実行可能な主処理部と、主処理部から出力される信号を監視し主処理部の異常を検出した場合に、主処理部をリセットする監視部とを備える。主処理部は、特定のプログラム専用である保護対象領域に対し、特定のプログラム以外の他のプログラムがアクセスする不正アクセスを検出した場合に、主処理部をリセットさせる検出部と、保護対象領域に対し意図的に不正アクセスを行うことによって、検出部により主処理部がリセットされるか否かを検査する第１検査部と、監視部に対し意図的に異常状態を示す信号を出力することによって、監視部により主処理部がリセットされるか否かを検査する第２検査部を備える。検出部は、不正アクセスを検出した場合に、第２検査部から監視部に対し意図的に異常状態を示す信号を出力させる。【選択図】図２
2019191942.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行可能に設けられた主処理部と、
前記主処理部から出力される信号を監視することによって前記主処理部の異常を検出した場合に、前記主処理部をリセットする監視部とを備え、
前記主処理部は、
特定のプログラム専用である保護対象領域に対し、前記特定のプログラム以外の他のプログラムがアクセスする不正アクセスを検出した場合に、当該主処理部をリセットさせる検出部と、
前記保護対象領域に対し意図的に前記不正アクセスを行うことによって、前記検出部により当該主処理部がリセットされるか否かを検査する第１検査部と、
前記監視部に対し意図的に異常状態を示す信号を出力することによって、前記監視部により当該主処理部がリセットされるか否かを検査する第２検査部と
を有し、
前記検出部は、
前記不正アクセスを検出した場合に、前記第２検査部から前記監視部に対し意図的に異常状態を示す信号を出力させる
ことを特徴とする制御装置。
【請求項２】
前記主処理部は、
前記第２検査部による検査より前に、前記第１検査部による検査を実行させる
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
プログラムを実行可能に設けられた主処理部と、前記主処理部から出力される信号を監視することによって前記主処理部の異常を検出した場合に、前記主処理部をリセットする監視部とを備える制御装置を用いた機能検査方法であって、
特定のプログラム専用である保護対象領域に対し、前記特定のプログラム以外の他のプログラムがアクセスする不正アクセスを検出した場合に、当該主処理部をリセットさせる検出工程と、
前記保護対象領域に対し意図的に前記不正アクセスを行うことによって、前記検出工程により前記主処理部がリセットされるか否かを検査する第１検査工程と、
前記監視部に対し意図的に異常状態を示す信号を出力することによって、前記監視部により前記主処理部がリセットされるか否かを検査する第２検査工程と
を含み、
前記検出工程は、
前記不正アクセスを検出した場合に、前記第２検査工程から前記監視部に対し意図的に異常状態を示す信号を出力させる
ことを特徴とする機能検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、制御装置および機能検査方法に関する。
【背景技術】
【０００２】
従来、車両に搭載され、エンジンやトランスミッション、カーナビゲーションといった車両の各種システムをそれぞれ電子制御する電子制御装置（ＥＣＵ：Electronic  Control  Unit）が知られている。かかるＥＣＵでは、内蔵されたマイクロコントローラ（以下、「マイコン」と記載する）が制御プログラムを実行することにより、割り当てられた各種機能を実現する。
【０００３】
なお、制御プログラムは、車両であればたとえば駆動系の制御プログラムといった、きわめて高い安全性を求められる「機能安全アプリケーション」と、仮に動作しなくとも車両の運行に支障をきたすことのない「非機能安全アプリケーション」とに大別できる。
【０００４】
これらは、１つのＥＣＵで同時に動作することもあるため、ＥＣＵは、たとえばメモリ保護ユニット（ＭＰＵ：Memory  Protection  Unit）を備え、かかるＭＰＵにより、非機能安全アプリケーションが機能安全アプリケーションの使用する保護領域へ不正アクセスすることを防止することで、車両の安全性を担保している（たとえば、特許文献１参照）。
【０００５】
ただし、ＭＰＵに異常があればかかる安全性は担保できないため、ＥＣＵは、たとえば起動時などに、保護領域へ意図的な不正アクセスを行い、正しくメモリ保護違反例外が発生するかを確認するＭＰＵ機能検査を実施する。
【０００６】
また、同様に安全性を担保する趣旨から、ＥＣＵは、マイコンが正常に動作しているか否かを監視する監視ＩＣ（Integrated  Circuit）を備える。監視ＩＣはたとえば電源ＩＣである。監視ＩＣによる監視方式としては、たとえばマイコンから出力されるウォッチドッグカウンタ（以下、「ＷＤＣ」と記載する）信号のパルス間隔を監視するＷＤＣ監視方式や、シリアル通信により、監視ＩＣとマイコンとの間で「質問」と「回答」を周期的にやり取りするＱ＆Ａ方式が知られている。
【０００７】
そして、監視ＩＣは、ＷＤＣ信号のパルス間隔やマイコンの回答が遅延したり、回答を評価して期待値通りでなかったりすれば、マイコンに動作異常が生じているとして、たとえばマイコンをリセットする。
【０００８】
ただし、やはり監視ＩＣに異常があれば上述の安全性は担保できないため、ＥＣＵは、起動時などに、監視ＩＣに対し意図的なリセット要求を行い、外部（すなわち、監視ＩＣ）から正しくマイコンがリセットされるかを確認する外部監視機能検査を実施する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１３−２３２１５１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来技術には、機能検査の信頼性を向上させ、安全性をより高めるうえで更なる改善の余地がある。
【００１１】
具体的には、ＥＣＵは、たとえばＭＰＵ機能検査に関し、意図的な不正アクセスか意図しない不正アクセスかを判定するための情報を、搭載されたＲＡＭ（Random  Access  Memory）へ展開する場合がある。しかし、かかるＲＡＭに展開された情報は、たとえばマイコンのリセットによりＲＡＭ化け等が生じ、異常な値となってしまうおそれがある。
【００１２】
仮に異常な値となってしまった場合、ＥＣＵは、機能検査中でない通常制御中に、保護領域への意図しない不正アクセスが行われたにも関わらず、ＭＰＵ機能検査中の意図的な不正アクセスであるとして誤判定してしまうおそれがある。
【００１３】
実施形態の一態様は、上記に鑑みてなされたものであって、機能検査の信頼性を向上させ、安全性をより高めることができる制御装置および機能検査方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
実施形態の一態様に係る制御装置は、主処理部と、監視部とを備える。前記主処理部は、プログラムを実行可能に設けられる。前記監視部は、前記主処理部から出力される信号を監視することによって前記主処理部の異常を検出した場合に、前記主処理部をリセットする。また、前記主処理部は、検出部と、第１検査部と、第２検査部とを有する。前記検出部は、特定のプログラム専用である保護対象領域に対し、前記特定のプログラム以外の他のプログラムがアクセスする不正アクセスを検出した場合に、当該主処理部をリセットさせる。前記第１検査部は、前記保護対象領域に対し意図的に前記不正アクセスを行うことによって、前記検出部により当該主処理部がリセットされるか否かを検査する。前記第２検査部は、前記監視部に対し意図的に異常状態を示す信号を出力することによって、前記監視部により当該主処理部がリセットされるか否かを検査する。また、前記検出部は、前記不正アクセスを検出した場合に、前記第２検査部から前記監視部に対し意図的に異常状態を示す信号を出力させる。
【発明の効果】
【００１５】
実施形態の一態様によれば、機能検査の信頼性を向上させ、安全性をより高めることができる。
【図面の簡単な説明】
【００１６】
【図１Ａ】図１Ａは、車載システムの概要説明図である。
【図１Ｂ】図１Ｂは、比較例となる機能検査方法の概要説明図（その１）である。
【図１Ｃ】図１Ｃは、比較例となる機能検査方法の概要説明図（その２）である。
【図１Ｄ】図１Ｄは、実施形態に係る機能検査方法の概要説明図である。
【図２】図２は、実施形態に係るＥＣＵのブロック図である。
【図３Ａ】図３Ａは、実施形態に係る機能検査方法のタイミングチャート（その１）である。
【図３Ｂ】図３Ｂは、実施形態に係る機能検査方法のタイミングチャート（その２）である。
【図４】図４は、実施形態に係るＥＣＵが実行する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して、本願の開示する制御装置および機能検査方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１８】
また、以下では、本実施形態に係る機能検査方法の概要について図１Ａ〜図１Ｄを用いて説明した後に、本実施形態に係る機能検査方法を適用したＥＣＵ１０（「制御装置」の一例に相当）について、図２〜図４を用いて説明することとする。
【００１９】
まず、本実施形態に係る機能検査方法の概要について図１Ａ〜図１Ｄを用いて説明する。図１Ａは、車載システム１の概要説明図である。また、図１Ｂおよび図１Ｃは、比較例となる機能検査方法の概要説明図（その１）および（その２）である。また、図１Ｄは、本実施形態に係る機能検査方法の概要説明図である。なお、図１Ａ中の「ｎ」は、１以上の任意の自然数とする。また、図１Ｂおよび図１Ｃでは、本実施形態との区別のために、構成要素の符号に「’」を付す。
【００２０】
図１Ａに示すように、車両Ｃは、車載システム１を備える。車載システム１は、複数のＥＣＵ１０−１〜１０−ｎを備える。ＥＣＵ１０−１〜１０−ｎは、ＣＡＮ（Controller  Area  Network）等のネットワークＮにより相互通信可能に接続され、それぞれ制御プログラムを実行することによって制御対象２０−１〜２０−ｎを電子制御する。制御対象２０−１〜２０−ｎは、たとえばエンジンやトランスミッション、ブレーキ、カーナビゲーションといった各種システムである。
【００２１】
ここで、図１Ｂに示すように、比較例となる従来構成に係るＥＣＵ１０’は、マイコン１１’と、監視ＩＣ１２’とを備える。マイコン１１’は、ＥＣＵ１０’の主処理部であって、制御プログラムを実行することによって、ＥＣＵ１０’それぞれに割り当てられた各種機能を実現する。
【００２２】
監視ＩＣ１２’は、マイコン１１’へ電源を供給する。また、監視ＩＣ１２’は、マイコン１１’の動作状態を、Ｑ＆Ａ方式によって監視する。すなわち、監視ＩＣ１２’からは質問を送信し、マイコン１１’からはこれに応じた回答を送信する。なお、これらは、たとえばＳＰＩ（Serial  Peripheral  Interface）によるシリアル通信によりやり取りされる。
【００２３】
そして、監視ＩＣ１２’は、受信したマイコン１１’からの回答を評価する。このようなやり取りは周期的に繰り返され、監視ＩＣ１２’は、評価結果がＮＧであればかかる結果に応じてたとえばマイコン１１’をリセットさせる。
【００２４】
また、監視ＩＣ１２’は、たとえば回答の送信時に瞬間的なノイズ等が発生して通信異常となり、回答の送信において通信が成立しなかった場合、内部に備えるＷＤＴ（ウォッチドッグタイマ）１２’ｂによって回答の受信を待つ。
【００２５】
そして、監視ＩＣ１２’は、ＷＤＴ１２’ｂにより、タイムアウトとなれば、たとえばマイコン１１’をリセットさせる。これらが、監視ＩＣ１２’を用いた「外部監視機能」である。
【００２６】
また、マイコン１１’は、図示略のＭＰＵ（図２のＭＰＵ１１ｄに対応）と、保護対象領域１１ｇ’と、ＲＡＭ１３’とを備える。
【００２７】
ＭＰＵは、機能安全アプリケーションにより使用されるメモリの保護対象領域１１ｇ’への非機能安全アプリケーションからの不正アクセスを検出する。また、ＭＰＵは、不正アクセスを検出した場合に、メモリ保護違反例外を発生させる。
【００２８】
また、マイコン１１’は、かかるメモリ保護違反例外が発生した場合に、たとえばマイコン１１’をリセットさせる。これらが、ＭＰＵを用いた「ＭＰＵ機能」である。
【００２９】
こうした「外部監視機能」および「ＭＰＵ機能」により安全性を担保するには、そもそも監視ＩＣ１２’やＭＰＵに異常がないことが前提となる。そこで、ＥＣＵ１０’は、たとえば起動時に、「外部監視機能検査」ならびに「ＭＰＵ機能検査」を実行する。
【００３０】
具体的には、図１Ｂに示すように、ＥＣＵ１０’は、監視ＩＣ１２’が「パワーオン」し、マイコン１１’が「起動」されると、まず「外部監視機能検査」を実行する。「外部監視機能検査」では、マイコン１１’からＱ＆Ａ方式を用いた「意図的なリセット要求」が監視ＩＣ１２’へ送信される。「意図的なリセット要求」とは、たとえば意図的な誤回答である。
【００３１】
監視ＩＣ１２’が正常であれば、かかる「意図的なリセット要求」に応じて、マイコン１１’を「リセット」させることとなる。これによりマイコン１１’が正常に「再起動」すれば、「外部監視機能検査⇒ＯＫ」となる。
【００３２】
つづいて、ＥＣＵ１０’は、「ＭＰＵ機能検査」を実行する。「ＭＰＵ機能検査」では、保護対象領域１１ｇ’に対し、「意図的な不正アクセス」が行われる。「意図的な不正アクセス」が行われた場合、ＭＰＵが正常であれば、これに応じて「不正アクセスを検出」する。なお、「ＭＰＵ機能検査」中においては、ＲＡＭ１３’に「検査中」であることを示す情報が格納されており、マイコン１１’は、かかる「検査中」に意図的な不正アクセスが正しく検出されたことで、「ＭＰＵ機能検査⇒ＯＫ」とする。
【００３３】
これにより、マイコン１１’は「通常制御へ」と移行することとなる。なお、このとき、意図的な不正アクセスに対する対応処理（たとえばリセット要求）は行われない。
【００３４】
そして、図１Ｃに示すように、マイコン１１’が「通常制御中」においては、「ＭＰＵ機能」により、保護対象領域１１ｇ’へ「不正アクセス」が行われると、ＭＰＵが正常であれば、これに応じて「不正アクセスを検出」する。
【００３５】
なお、通常制御中においては、ＲＡＭ１３’に「通常制御中」であることを示す情報が格納されており、マイコン１１’は、かかる「通常制御中」に不正アクセスが検出されたことで、これに応じた対応処理を実行する。たとえばマイコン１１’は、対応処理として、監視ＩＣ１２’へ「リセット要求」を送信し、監視ＩＣ１２’はマイコン１１’を「リセット」させ、マイコン１１’を「再起動」する。
【００３６】
ところで、図１Ｃに示すように、通常制御中において、ＲＡＭ化け等により、ＲＡＭ１３’に対しては「異常値」が格納されるおそれがある。たとえば、「通常制御中」が「検査中」に書き換わるおそれがある。かかる場合に、仮にＭＰＵが「不正アクセスを検出」した場合、「検査中」であるため、たとえば前述の対応処理である「リセット要求」はなされずに、マイコン１１’は「動作不良」を起こす可能性がある。
【００３７】
そこで、本実施形態に係る機能検査方法では、「検査中」における不正アクセス検出時にもリセット要求を行うようにするとともに、ＲＡＭ１３’を参照しない手順により行われるようにした。
【００３８】
また、本実施形態に係る機能検査方法ではさらに、かかる不正アクセス検出時のリセット要求が、「外部監視機能検査」時または「外部監視機能」時と共通の手順により行われるようにした。
【００３９】
具体的には、比較例となる機能検査方法では、図１Ｄの上段に示すように、「パワーオン」がなされると、まず「外部監視機能検査」が実行され、１回目の「リセット」が行われた後、「ＭＰＵ機能検査」が実行され、「意図的な不正アクセス発生」およびＲＡＭ１３’の「検査中」に基づき、２回目の「リセット」が行われる。
【００４０】
そして、通常制御中は、「ＭＰＵ機能」における「意図しない不正アクセス発生」およびＲＡＭ１３’の「通常制御中」に基づき、「リセット」が行われる。
【００４１】
これに対し、図１Ｄの下段に示すように、本実施形態に係る機能検査方法では、「パワーオン」がなされると、まず「ＭＰＵ機能検査」を実行し、「意図的な不正アクセス発生」に対するリセット要求が、ＲＡＭ１３’を参照することなく「外部監視機能検査」により行われるようにした。
【００４２】
また、通常制御中は、「ＭＰＵ機能」における「意図しない不正アクセス発生」に対するリセット要求が、ＲＡＭ１３’を参照することなく「外部監視機能」により行われるようにした。
【００４３】
これにより、本実施形態に係る機能検査方法では、「ＭＰＵ機能検査」および「外部監視機能検査」を、異常値が格納される可能性のあるＲＡＭ１３’を参照することなく行うことができるので、機能検査の信頼性を向上させ、安全性をより高めることができる。
【００４４】
また、本実施形態に係る機能検査方法では、「ＭＰＵ機能検査」および「外部監視機能検査」を、１回のリセットを経るだけで行うことができるので、ＥＣＵ１０がパワーオンから通常制御へ移行するまでの時間を短縮することができる。
【００４５】
また、本実施形態に係る機能検査方法では、通常制御時においても、ＲＡＭ１３’を参照することなく、機能検査時と同様にリセット要求が行われるようにしたので、安全性をより高めることができる。
【００４６】
以下、上述した機能検査方法を適用したＥＣＵ１０について、さらに具体的に説明する。
【００４７】
図２は、本実施形態に係るＥＣＵ１０のブロック図である。なお、図２では、本実施形態の特徴を説明するために必要な構成要素のみを表しており、一般的な構成要素についての記載を省略している。
【００４８】
換言すれば、図２に図示される各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、各ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
【００４９】
図２に示すように、ＥＣＵ１０は、マイコン１１と、監視ＩＣ１２とを備える。まず、監視ＩＣ１２から説明する。監視ＩＣ１２は、通信Ｉ／Ｆ（インタフェース）１２ａと、ＷＤＴ１２ｂとを備える。
【００５０】
監視ＩＣ１２は、電源ＩＣであり、マイコン１１へ電源を供給する。通信Ｉ／Ｆ１２ａは、たとえばＳＰＩであり、Ｑ＆Ａ方式による質問および回答をマイコン１１との間でやり取りする。ＷＤＴ１２ｂは、既に述べたようにウォッチドッグタイマである。
【００５１】
監視ＩＣ１２は、既に述べたように、マイコン１１からの誤回答や、ＷＤＴ１２ｂによるタイムアウト等に基づいてマイコン１１をリセットさせる。したがって、マイコン１１は、意図的な誤回答や、意図的な遅延により、意図的なリセット要求を行うことができる。
【００５２】
次に、マイコン１１について説明する。マイコン１１は、通信Ｉ／Ｆ１１ａと、通信部１１ｂと、検査部１１ｃと、ＭＰＵ１１ｄと、機能安全処理実行部１１ｅと、非機能安全処理実行部１１ｆと、保護対象領域１１ｇとを備える。
【００５３】
検査部１１ｃは、ＭＰＵ機能検査部１１ｃａと、外部監視機能検査部１１ｃｂとを含む。保護対象領域１１ｇは、ＭＰＵ機能検査用メモリ１１ｇａと、機能安全処理用メモリ１１ｇｂとを含む。また、マイコン１１は、制御対象２０を制御する。
【００５４】
通信Ｉ／Ｆ１１ａは、たとえばＳＰＩであり、通信Ｉ／Ｆ１２ａとの間で、Ｑ＆Ａ方式による質問および回答をやり取りする。通信部１１ｂは、通信Ｉ／Ｆ１１ａを介し、監視ＩＣ１２からの質問を受信して、質問に対する回答を生成し、監視ＩＣ１２へ向けて出力する。たとえば、通信部１１ｂは、外部監視機能検査に際しては、意図的な誤回答を生成して、意図的なリセット要求として出力する。
【００５５】
検査部１１ｃは、ＭＰＵ機能検査および外部監視機能検査の各機能検査を実行する。ＭＰＵ機能検査部１１ｃａは、ＭＰＵ機能検査を実行する。すなわち、ＭＰＵ機能検査部１１ｃａは、マイコン１１へ電源が供給され、起動されると、外部監視機能検査に先立ってＭＰＵ機能検査を実行する。
【００５６】
具体的には、ＭＰＵ機能検査部１１ｃａは、ＭＰＵ１１ｄの保護対象領域１１ｇに含まれるＭＰＵ機能検査用メモリ１１ｇａへアクセスすることによって、意図的な不正アクセスを行う。
【００５７】
外部監視機能検査部１１ｃｂは、外部監視機能検査を実行する。具体的には、外部監視機能検査部１１ｃｂは、ＭＰＵ機能検査部１１ｃａにより意図的な不正アクセスが行われることにより発生する、ＭＰＵ１１ｄからのメモリ保護違反例外の割り込みを受け付けた場合に、通信部１１ｂに対し、意図的なリセット要求を生成させて出力させる。
【００５８】
ＭＰＵ１１ｄは、メモリ保護ユニットであり、保護対象領域１１ｇに対する不正アクセスを検出する。また、ＭＰＵ１１ｄは、かかる不正アクセスを検出した場合に、外部監視機能検査部１１ｃｂへ、メモリ保護違反例外の割り込みを発生させる。
【００５９】
機能安全処理実行部１１ｅは、マイコン１１の通常制御時において、機能安全アプリケーションを実行する。このとき、機能安全処理実行部１１ｅは、保護対象領域１１ｇの機能安全処理用メモリ１１ｇｂへアクセスしつつ処理を進める。機能安全処理用メモリ１１ｇｂは、機能安全処理実行部１１ｅの専用メモリ空間であり、ＭＰＵ１１ｄによって保護される。
【００６０】
非機能安全処理実行部１１ｆは、通常制御時において、保護対象領域１１ｇ外の非機能安全処理用メモリ（図示略）へアクセスしつつ、非機能安全アプリケーションを実行する。かかる非機能安全処理実行部１１ｆが、保護対象領域１１ｇの機能安全処理用メモリ１１ｇｂへ意図する／意図しないに関わらず不正アクセスした場合、ＭＰＵ１１ｄは、かかる不正アクセスを検出して、外部監視機能検査部１１ｃｂへ、メモリ保護違反例外の割り込みを発生させる。保護対象領域１１ｇは、ＭＰＵ１１ｄの保護対象となるメモリ空間である。
【００６１】
次に、本実施形態に係る機能検査方法のタイミングチャートについて、図３Ａおよび図３Ｂを用いて説明する。図３Ａおよび図３Ｂは、実施形態に係る機能検査方法のタイミングチャート（その１）および（その２）である。
【００６２】
図３Ａに示すように、時間ｔ０において「パワーオンリセット」され、時間ｔ１から電源が「供給中」となったものとする。
【００６３】
このとき、監視ＩＣ１２は「監視中」状態となり、マイコン状態（マイコン１１の状態）は、「リセット中」を経て「起動」状態となる。そして、「起動」状態の後、時間ｔ２において「外部監視機能検査」に先立って「ＭＰＵ機能検査」状態へ移行する。
【００６４】
「ＭＰＵ機能検査」状態では、ＭＰＵ機能検査部１１ｃａによるＭＰＵ機能検査処理により、「意図的な不正アクセス」が行われる。これにより、ＭＰＵ１１ｄは、「メモリ保護違反例外」の割り込みを発生させる。
【００６５】
機能安全処理実行部１１ｅによる機能安全処理は、かかる割り込みを受け付けると（時間ｔ３参照）、外部監視機能検査部１１ｃｂによる外部監視機能検査処理へ「リセット要求」を行う。なお、「メモリ保護違反例外」の割り込みを、外部監視機能検査処理が直接受け付けてもよい。
【００６６】
外部監視機能検査部１１ｃｂが「リセット要求」を受け付けると（図中の時間ｔ４参照）、マイコン状態は「外部監視機能検査」状態となり、外部監視機能検査部１１ｃｂは通信部１１ｂに「意図的なリセット要求」を行わせる。このとき、図示略の検査フラグを「検査中」状態に設定し、図示略のメモリへ記憶しておく。なお、検査フラグは、電源オフ時に「未検査」状態に設定される。
【００６７】
そして、監視ＩＣ１２が、「意図的なリセット要求」、すなわち、Ｑ＆Ａ方式による異常を検出すると、それによるマイコン１１のリセットを実行する（図中の「Ｑ＆Ａ異常検出によるリセット」参照）。
【００６８】
これにより、時間ｔ５においてマイコン１１は「リセット」され、「リセット中」〜「再起動」状態になる。このとき、検査フラグが「検査中」状態であれば、今回の起動が機能検査による意図的な起動であることを示すため、「外部監視機能検査」状態へと移行する。そして、かかる状態において、外部監視機能検査部１１ｃｂは、「ＭＰＵ機能／外部監視機能を正常と判定」し、時間ｔ６においてマイコン１１を「通常制御中」状態へと移行させる。
【００６９】
その際、検査フラグを「検査完了」状態に設定する。なお、マイコン１１の起動時に、検査フラグが「未検査」状態であれば、ＭＰＵ機能および外部監視機能の検査が未実施であることを示すため、マイコン１１は、時間ｔ２に示す「ＭＰＵ機能検査」状態から始まることとなる。
【００７０】
つづいて、図３Ｂに示すように、「通常制御中」状態である時間ｔ１１において、非機能安全処理実行部１１ｆによる非機能安全処理が、「不正アクセス」を行ったものとする。これにより、ＭＰＵ１１ｄは、「メモリ保護違反例外」の割り込みを発生させる。
【００７１】
機能安全処理実行部１１ｅによる機能安全処理は、かかる割り込みを受け付けると（時間ｔ１２参照）、外部監視機能検査部１１ｃｂによる外部監視機能検査処理へ「リセット要求」を行う。なお、「メモリ保護違反例外」の割り込みを、外部監視機能検査処理が直接受け付けてもよい。
【００７２】
外部監視機能検査部１１ｃｂは「リセット要求」を受け付けると、通信部１１ｂにＱ＆Ａ異常による「リセット要求」を行わせる。そして、監視ＩＣ１２が、「Ｑ＆Ａ異常検出によるリセット」を実行する（時間ｔ１３参照）。
【００７３】
これにより、時間ｔ１４においてマイコン１１は「リセット」され、「リセット中」〜「再起動」状態になる。このとき、検査フラグが「検査完了」状態であれば、ＭＰＵ機能および外部監視機能の検査が実施されて正常と判定済みであることを示すため、マイコン１１は時間ｔ１５において「通常制御中」状態へと移行することとなる。
【００７４】
次に、本実施形態に係るＥＣＵ１０が実行する処理手順について、図４を用いて説明する。図４は、本実施形態に係るＥＣＵ１０が実行する処理手順を示すフローチャートである。
【００７５】
図４に示すように、まずＥＣＵ１０がパワーオンリセットされる（ステップＳ１０１）。そして、マイコン１１が起動されると、検査フラグの状態が判定される（ステップＳ１０２）。ここで、検査フラグの状態が「未検査」である場合（ステップＳ１０２，未検査）、ＭＰＵ機能検査部１１ｃａが、保護対象領域１１ｇへの意図的な不正アクセスを行う（ステップＳ１０３）。
【００７６】
そして、メモリ保護違反例外が発生したか否かが判定される（ステップＳ１０４）。ここで、メモリ保護違反例外が発生した場合（ステップＳ１０４，Ｙｅｓ）、外部監視機能検査部１１ｃｂが、監視ＩＣ１２に対し、意図的なリセット要求を行う（ステップＳ１０５）。
【００７７】
一方、メモリ保護違反例外が発生しなかった場合（ステップＳ１０４，Ｎｏ）、ＭＰＵ機能を異常と判定し（ステップＳ１０６）、処理を終了する。
【００７８】
つづいて、ステップＳ１０５の意図的なリセット要求の後、リセットに備えて検査フラグを「検査中」状態に設定する（ステップＳ１０７）。そして、リセットに要する所定時間が経過したか否かが判定される（ステップＳ１０８）。リセットに要する所定時間は、通常、マイコン１１の再起動において要する時間を指す。
【００７９】
かかる所定時間が経過していなければ（ステップＳ１０８，Ｎｏ）、ステップＳ１０８の判定を繰り返す。ここで、正常であれば、リセットに要する所定時間が経過する前にステップＳ１０１のパワーオンリセットが発生するため、ステップＳ１０２からの処理が再開される。
【００８０】
一方、ステップＳ１０８で所定時間が経過したと判定された場合（ステップＳ１０８，Ｙｅｓ）、それは所定時間内に外部監視機能によるリセットがなされなかったことを意味するため、外部監視機能を異常と判定し（ステップＳ１０９）、処理を終了する。
【００８１】
つづいて、ステップＳ１０２で検査フラグの状態が「検査中」である場合（ステップＳ１０２，検査中）、それはステップＳ１０５の意図的なリセット要求によりマイコン１１が再起動されたことを示すため、ＭＰＵ機能／外部監視機能を正常と判定する（ステップＳ１１０）。そして、検査フラグを「検査完了」状態に設定する（ステップＳ１１１）。
【００８２】
そして、マイコン１１は通常制御へ移行する（ステップＳ１１２）。通常制御中、パワーオフが行われた場合（ステップＳ１１３，Ｙｅｓ）、検査フラグを「未検査」状態に設定し（ステップＳ１１４）、終了処理を実行して（ステップＳ１１５）、処理を終了する。ステップＳ１１５の終了処理では、たとえばＲＡＭのデータをフラッシュメモリに書き込む等の処理が行われる。
【００８３】
また、パワーオフが行われなかった場合（ステップＳ１１３，Ｎｏ）、通常制御中、メモリ保護違反例外が発生したか否かが判定される（ステップＳ１１６）。
【００８４】
ここで、メモリ保護違反例外が発生していなければ（ステップＳ１１６，Ｎｏ）、ステップＳ１１３からの処理が繰り返される。また、メモリ保護違反例外が発生した場合（ステップＳ１１６，Ｙｅｓ）、外部監視機能検査部１１ｃｂが、監視ＩＣ１２に対し、リセット要求を行い（ステップＳ１１７）、ステップＳ１０８へ移行する。
【００８５】
既に述べたように、ステップＳ１０８で所定時間が経過したと判定されれば（ステップＳ１０８，Ｙｅｓ）、外部監視機能を異常と判定し（ステップＳ１０９）、処理を終了する。一方で、所定時間が経過する前に正常にパワーオンリセットされれば（ステップＳ１０１）、ステップＳ１０２からの処理が再開される。
【００８６】
そして、ステップＳ１０２で検査フラグの状態が「検査完了」である場合（ステップＳ１０２，検査完了）、それは、通常制御中におけるメモリ保護違反例外の発生に基づくステップＳ１１７のリセット要求によりマイコン１１が再起動されたことを示す。したがって、この場合、ＭＰＵ機能および外部監視機能の検査は終了しているため、マイコン１１は通常制御へ移行することとなる（ステップＳ１１２）。
【００８７】
上述してきたように、本実施形態に係るＥＣＵ１０（「制御装置」の一例に相当）は、マイコン１１（「主処理部」の一例に相当）と、監視ＩＣ１２（「監視部」の一例に相当）とを備える。マイコン１１は、プログラムを実行可能に設けられる。監視ＩＣ１２は、マイコン１１から出力される信号を監視することによってマイコン１１の異常を検出した場合に、マイコン１１をリセットする。また、マイコン１１は、ＭＰＵ１１ｄ（「検出部」の一例に相当）と、ＭＰＵ機能検査部１１ｃａ（「第１検査部」の一例に相当）と、外部監視機能検査部１１ｃｂ（「第２検査部」の一例に相当）とを有する。ＭＰＵ１１ｄは、機能安全アプリケーション（「特定のプログラム」の一例に相当）専用である保護対象領域１１ｇに対し、非機能安全アプリケーション（「特定のプログラム以外の他のプログラム」の一例に相当）がアクセスする不正アクセスを検出した場合に、マイコン１１をリセットさせる。ＭＰＵ機能検査部１１ｃａは、保護対象領域１１ｇに対し意図的に不正アクセスを行うことによって、ＭＰＵ１１ｄによりマイコン１１がリセットされるか否かを検査する。外部監視機能検査部１１ｃｂは、監視ＩＣ１２に対し意図的に異常状態を示す信号を出力することによって、監視ＩＣ１２によりマイコン１１がリセットされるか否かを検査する。また、ＭＰＵ１１ｄは、不正アクセスを検出した場合に、外部監視機能検査部１１ｃｂから監視ＩＣ１２に対し意図的に異常状態を示す信号を出力させる。
【００８８】
したがって、本実施形態に係るＥＣＵ１０によれば、機能検査の信頼性を向上させ、安全性をより高めることができる。
【００８９】
また、マイコン１１は、外部監視機能検査部１１ｃｂによる検査より前に、ＭＰＵ機能検査部１１ｃａによる検査を実行させる。
【００９０】
したがって、本実施形態に係るＥＣＵ１０によれば、「ＭＰＵ機能検査」および「外部監視機能検査」を、１回のリセットを経るだけで行うことができるので、ＥＣＵ１０がパワーオンから通常制御へ移行するまでの時間を短縮することができる。
【００９１】
なお、上述した実施形態では、ＥＣＵ１０は車両Ｃに設けられることとしたが、車両Ｃに限られるものではなく、たとえば船舶や航空機等に設けられてもよい。また、このような移動する機械だけでなく、一定の場所に設置されて運用される機械の制御装置として設けられてもよい。
【００９２】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【００９３】
１    車載システム
１０    ＥＣＵ
１１    マイコン
１１ｃａ  ＭＰＵ機能検査部
１１ｃｂ  外部監視機能検査部
１１ｄ  ＭＰＵ
１１ｇ  保護対象領域
１２    監視ＩＣ
Ｃ      車両
【図１Ａ】
2019191942.tif 000003
【図１Ｂ】
2019191942.tif 000004
【図１Ｃ】
2019191942.tif 000005
【図１Ｄ】
2019191942.tif 000006
【図２】
2019191942.tif 000007
【図３Ａ】
2019191942.tif 000008
【図３Ｂ】
2019191942.tif 000009
【図４】
2019191942.tif 000010