(57)【要約】【課題】メモリを有効に利用し、且つ、ＥＣＣ装置が正常であるか否かを判断する技術を提供する。【解決手段】データ生成部１３３は、メモリ１３１からデータを取得し、該データにおける２以上のビットを反転させたデータを表す診断データを生成するように構成されている。データ入力部１１は、メモリからデータを読み出す際にメモリに書き込まれたときのデータを示す書き込みデータとメモリから読み出すときのデータを示す読み出しデータとの間に２ビット以上の誤りがある場合に読み出しデータに異常がある旨を表す異常検出情報を出力する異常検出回路１３２に、診断データを読み出しデータとして入力するように構成されている。正常判断部１１は、診断データが異常検出回路に入力され、異常検出回路から異常検出情報が出力された場合に、異常検出回路が正常であると判断するように構成されている。【選択図】図１
2018041402.tif 000002
【特許請求の範囲】
【請求項１】
メモリ（１３１）からデータを取得し、該データにおける２以上のビットを反転させたデータを表す診断データを生成するように構成されたデータ生成部（１３３）と
前記メモリからデータを読み出す際に前記メモリに書き込まれたときのデータを示す書き込みデータと前記メモリから読み出すときのデータを示す読み出しデータとの間に２ビット以上の誤りがある場合に前記読み出しデータに異常がある旨を表す異常検出情報を出力する異常検出回路（１３２）に、前記診断データを前記読み出しデータとして入力するように構成されたデータ入力部（１１、Ｓ２０）と、
前記診断データが前記異常検出回路に入力され、前記異常検出回路から前記異常検出情報が出力された場合に、前記異常検出回路が正常であると判断するように構成された正常判断部（１１、Ｓ２６０）と、
を備える電子制御装置（５）。
【請求項２】
請求項１に記載の電子制御装置であって、
前記診断データが前記異常検出回路に入力され、前記異常検出回路から前記異常検出情報が出力されなかった場合に、前記異常検出回路が異常であると判断するように構成された異常判断部（１１、Ｓ３５）と
を更に備える電子制御装置。
【請求項３】
請求項１または請求項２に記載の電子制御装置であって、
前記異常検出回路が異常であると判断された場合に、前記異常検出回路が異常であることを報知装置（８）に報知させるように構成された報知指示部（１１、Ｓ３５）
を更に備える電子制御装置。
【請求項４】
請求項１から請求項３のいずれか一項に記載の電子制御装置であって、
前記異常検出回路は、前記書き込みデータと前記読み出しデータとの間に２ビット以上の誤りがある場合に、前記メモリにおける前記読み出しデータを読み出したアドレスを異常アドレスとして出力するように構成されており、
前記データ入力部により前記診断データが前記異常検出回路に入力された後に、前記診断データを生成する際にデータが取得されたメモリのアドレスを示す診断アドレスと前記異常アドレスとが一致しているか否かを判断するように構成された一致判断部（１１、Ｓ２４０）を更に備え、
前記正常判断部は、前記診断データが前記異常検出回路に入力されて前記異常検出回路から前記異常検出情報が出力され、且つ、前記一致判断部により前記診断アドレスと前記異常アドレスとが一致していると判断された場合に、前記異常検出回路が正常であると判断するように構成された
電子制御装置。
【請求項５】
請求項１から請求項４のいずれか一項に記載の電子制御装置であって、
前記データ生成部がデータを前記メモリから取得する前に、前記データ生成部が前記メモリから取得しようとするデータの全てのビットを０に書き換えるように構成された初期化部（１１、Ｓ１０）
を更に備える電子制御装置。
【請求項６】
請求項１から請求項５のいずれか一項に記載の電子制御装置であって、
前記メモリは、予め定められた大きさの領域を示す第１領域と、第１領域を除く領域を示す第２領域とに分けられており、
当該電子制御装置は、前記異常検出回路と前記データ生成部とを前記第１領域及び前記第２領域のそれぞれに対応して備えており、
前記データ入力部は、前記第１領域に対応する異常検出回路を示す第１異常検出回路及び前記第２領域に対応する異常検出回路を示す第２異常検出回路に前記診断データを前記読み出しデータとして入力可能に構成されており、前記第１異常検出回路及び前記第２異常検出回路のうちの予め定められた一方の異常検出回路に前記診断データを入力し、他方の異常検出回路に前記診断データを入力しないように構成された
電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ＥＣＣ機能を有するメモリを備えた電子制御装置に関する。
【背景技術】
【０００２】
従来、例えばＲＯＭのようにデータ書き換え不可能なメモリに備えられた回路であって、書き込まれたデータを読み出す際に書き込まれたデータの誤りを検出し訂正を行うＥＣＣ機能を有するＥＣＣ装置を備えた電子制御装置が知られている。ＥＣＣとは、Error Correction Codeの略である。
【０００３】
特許文献１には、読み出された際にエラーとなるテストデータをＲＯＭの予め定められたアドレスに記録しておき、ＥＣＣ装置にテストデータを読み出しさせた際にＥＣＣ装置がエラーを検出した場合、該ＥＣＣ装置が正常であると診断する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２８２８４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の技術では、テストデータを予めメモリに記録しておく必要があるためメモリを有効に利用することができない、という問題があった。
本発明はこのような問題に鑑みてなされたものであり、メモリを有効に利用し、且つ、ＥＣＣ装置が正常であるか否かを判断する技術を提供する。
【課題を解決するための手段】
【０００６】
本開示の電子制御装置（１０）は、データ生成部（１３３）と、データ入力部（１１、Ｓ２０）と、正常判断部（１１、Ｓ２６０）と、を備える。
データ生成部は、メモリ（１３１）からデータを取得し、該データにおける２以上のビットを反転させたデータを表す診断データを生成するように構成されている。データ入力部は、メモリからデータを読み出す際にメモリに書き込まれたときのデータを示す書き込みデータとメモリから読み出すときのデータを示す読み出しデータとの間に２ビット以上の誤りがある場合に読み出しデータに異常がある旨を表す異常検出情報を出力する異常検出回路（１３２）に、診断データを読み出しデータとして入力するように構成されている。正常判断部は、診断データが異常検出回路に入力され、異常検出回路から異常検出情報が出力された場合に、異常検出回路が正常であると判断するように構成されている。
【０００７】
このような構成によれば、メモリから読み出すデータに意図的に誤りを生じさせた診断データを異常検出回路に入力して異常検出回路が誤りを検出した場合に該異常検出回路が正常であると判断する。このため、従来技術のように意図的に誤りを生じさせたデータをメモリに予め記録させておく必要が無くなり、メモリを有効に利用し、且つ異常検出回路が正常であるか否かを判断することができる。
【０００８】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態のＥＣＵ及びマイコンの構成を示すブロック図。
【図２】反転装置の構成を示す図。
【図３】ＥＣＣ診断処理のフローチャート。
【図４】例外処理のフローチャート。
【図５】通常診断処理のフローチャート。
【図６】第２実施形態のＥＣＵ及びマイコンの構成を示すブロック図。
【図７】例外前処理を示すフローチャート。
【図８】例外後処理を示すフローチャート。
【図９】他の実施形態のＥＣＣ診断処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本開示の実施形態を説明する。
［１．第１実施形態］
［１−１．構成］
図１に示す制御システム１は、車両に搭載されるシステムである。制御システム１は、電子制御装置（以下、ＥＣＵ）５を備える。制御システム１は、クランク角センサ６、インジェクタ７、警告灯８を備えていてもよい。ＥＣＵは、Electronic Control Unitの略である。
【００１１】
クランク角センサ６は、図示しないエンジンの回転数や図示しないクランクシャフトの回転角を検出する。インジェクタ７は、エンジン内に燃料を噴射する。
ＥＣＵ５は、クランク角センサ６により検出されるエンジンの回転数やクランクシャフトの回転角等を用いて、インジェクタ７による燃料噴射量の制御を行う。
【００１２】
警告灯８は、本実施形態では、車両のインスツルメントパネルに設けられ、ＥＣＵ５から出力される制御信号に従って点灯または消灯のいずれかに切り替えられる。
ＥＣＵ５は、マイクロコンピュータ（以下、マイコン）１０を備える。
【００１３】
マイコン１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、異常注入モジュール１４と、信号の入出力を行う入出力回路１５と、これらを相互に接続するバス１６と、を備える。
【００１４】
マイコン１０は、ＣＰＵ１１が非遷移的実体的記録媒体に格納されたプログラムを実行することにより各種機能を実現する。ここでいう各種機能には、ＥＣＵ５が備える各種機能も含まれうる。この例では、ＲＯＭ１２が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムが実行されることで、プログラムに対応する方法が実行される。なお、ＥＣＵ５を構成するマイコン１０の数は１つでも複数でもよい。
【００１５】
各種機能を実現する手法はソフトウェアに限るものではなく、その一部又は全部の要素について、一つあるいは複数のハードウェアを用いて実現してもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は多数の論理回路を含むデジタル回路、又はアナログ回路、あるいはこれらの組合せによって実現してもよい。
【００１６】
ＲＡＭ１３は、揮発性メモリであり、ＣＰＵ１１の演算結果等を示すデータを一時的に記録する。ＲＡＭ１３は、記録領域部１３１と、ＥＣＣ装置１３２と、反転装置１３３とを備える。
【００１７】
記録領域部１３１は、データ用領域２０１とＥＣＣ用領域２０２とを備える。データ用領域２０１とは、データが記録される領域を示す。ＥＣＣ用領域２０２とは、データに対応する誤り訂正符号（以下、ＥＣＣ）が記録される領域を示す。ＥＣＣについては後述する。
【００１８】
ＥＣＣ装置１３２は、ＲＡＭ１３へデータを書き込むときに、書き込むデータ（以下、書き込みデータ）に基づいて、誤り訂正用のデータとなる誤り訂正符号（以下、ＥＣＣ）を生成する。書き込みデータとは、記録領域部１３１に書き込まれたときのデータを示す。以下では、書き込みデータ、つまりＥＣＣの生成の際に用いられたデータを元データともいう。そしてＥＣＣ装置１３２は、生成したＥＣＣと元データとを対応付けてＲＯＭ１２に書き込む。
【００１９】
またＥＣＣ装置１３２は、ＲＯＭ１２から元データを読み出すときに、この元データとともに、対応するＥＣＣを読み出す。そしてＥＣＣ装置１３２は、読み出したＥＣＣと、読み出した元データを用いて生成したＥＣＣとを比較することにより、誤りが発生したか否かを検出する。
【００２０】
ＥＣＣ装置１３２は、検出結果に基づいて、誤りが発生していないと判断した場合には、読み出した元データをそのままへ出力する。
またＥＣＣ装置１３２は、１ビットの誤りを検出した場合には、読み出したＥＣＣを用いて、読み出した元データを訂正して、訂正後の元データを出力する。
【００２１】
またＥＣＣ装置１３２は、元データと読み出した元データとの間に２ビット以上の誤りを検出した場合に、異常検出情報をＣＰＵ１１へ出力する。
異常検出情報とは、読み出した元データに異常がある旨を示す情報を表す。ここでいう情報には、例えば、読み出した元データで誤りを検出したビットの数を示すエラービット数や、異常があることを示す１または０で表されるフラグ等が含まれうる。
【００２２】
また、ＥＣＣ装置１３２は、異常アドレス通知部１３４を備えており、該異常アドレス通知部１３４は、元データと読み出した元データとの間に２ビット以上の誤りが検出された場合に、異常アドレスを記録するとともに該異常アドレスをＣＰＵ１１へ出力する。異常アドレスとは、ＲＡＭ１３において、誤りが検出された元データ、すなわち、誤りが検出された読み出した元データが記憶されているアドレスを示す。
【００２３】
反転装置１３３は、記録領域部１３１からデータの読み出しが行われる際に記録領域部１３１から取得されるデータ及びＥＣＣが反転装置１３３を経由してＥＣＣ装置１３２へ入力されるように、記録領域部１３１とＥＣＣ装置１３２との間に設けられている。
【００２４】
反転装置１３３は、記録領域部１３１からデータを取得し、診断データを生成するように構成されている。診断データとは、記録領域部１３１から取得したデータに、ＥＣＣ装置１３２にて訂正不可能な２ビット以上の誤りを生じさせるように、該データにおける２以上のビットを反転させたデータを表す。
【００２５】
具体的には、図２に示すように、反転装置１３３は、記録領域部１３１から取得されたデータ及びＥＣＣをＥＣＣ装置１３２へ出力する複数の経路のうち予め定められた経路において、反転素子５１を備える。
【００２６】
反転素子５１は、インバータとしての機能を有する素子である。反転素子５１は、入力部５１１と出力部５１２とイネーブル端子５１３とを備え、イネーブル端子５１３へ入力されるイネーブル信号に従って、イネーブル信号が入力されるとインバータとして作動するよう構成されている。
【００２７】
イネーブル信号とは、ＣＰＵの指示により異常注入モジュール１４が反転素子５１に対して入力する信号である。
すなわち、反転素子５１は、イネーブル端子５１３にイネーブル信号が入力されている場合に、入力部５１１に入力された電圧の論理レベルを逆転させて出力部５１２から出力する周知のインバータとして作動する。反転素子５１は、イネーブル端子５１３にイネーブル信号が出力されていない場合に、入力部５１１に入力された電圧の論理レベルをそのままの状態で出力部５１２から出力する。
【００２８】
反転素子５１における入力部５１１は、信号線５３によって記録領域部１３１に接続され、出力部５１２は信号線５４によってＥＣＣ装置１３２に接続される。
反転素子５１は、データを構成する複数のビットをビット毎に記録領域部１３１から出力する複数の信号線（以下、データ信号線）５３、およびＥＣＣを構成する一又は複数のビットをビット毎に記録領域部１３１から出力する一又は複数の信号線（以下、ＥＣＣ信号線）５３のうちの、予め定められた信号線に対して設けられうる。
【００２９】
以下の説明においては、同一の構成を区別する場合は信号線５３ａのように添え字を付して記載し、区別しない場合は添え字を省略して記載する。図２では、例えば、信号線５３ａ−５３ｃがデータ信号線に相当し、図２では、信号線５３ｄ−５３ｅがデータ信号線に相当する。
【００３０】
なお、データがＭ個のビットで構成され、ＥＣＣがＮ個のビットで構成されているものとすると、記録領域部１３１から取得されたデータ及びＥＣＣをＥＣＣ装置１３２へ出力する複数の経路は、Ｍ本のデータ信号線５３と、Ｎ本のＥＣＣ信号線５３とを備える。Ｍ、Ｎは自然数であり、ＭはＮより大きい値に設定されている。
【００３１】
本実施形態では、反転素子５１は、Ｍ本のデータ信号線５３及びＮ本のＥＣＣ信号線５３の全てに対して設けられている。ただし、これに限定されるものではなく、反転素子５１は、Ｍ本のデータ信号線５３のうち予め定められた少なくとも２本の信号線に設けられうる。また、反転素子５１は、Ｎ本のＥＣＣ信号線５３のうち予め定められた一または複数の経路に設けられうる。
【００３２】
異常注入モジュール１４は、反転装置１３３が備える反転素子５１のイネーブル端子５１３に対して、ＣＰＵ１１からの指示に従ってイネーブル信号を出力するように構成されている。
【００３３】
具体的には、異常注入モジュール１４は、図示しないが、反転素子５１のそれぞれに対応するスイッチを備えている。該スイッチは切り替え信号に従ってオン又はオフされるよう構成されている。異常注入モジュール１４では、該スイッチがオンされると、対応する反転素子５１にイネーブル信号が出力されるよう構成されている。
【００３４】
異常注入モジュール１４は、ＣＰＵ１１からの指示に従って、どの反転素子５１に対応するスイッチをオンするかを特定し、特定したスイッチをオンする切り替え信号を出力するよう構成されている。
【００３５】
本実施形態では、異常注入モジュール１４は、後述するようにＣＰＵ１１が反転装置１３３を有効に設定する場合、ＣＰＵ１１からの指示に従って、データにおける最上位ビットを示すＭ番目のビット（以下、Ｍビット）と、Ｍ−１番目のビット（以下、（Ｍ−１）ビット）に対応する信号線５３ａ、５３ｂに接続する反転素子５１ａ、５１ｂにイネーブル信号を入力するよう構成されている。
【００３６】
これにより、反転装置１３３が有効に設定されると、反転装置１３３では、記録領域部１３１から取得したデータを用いて、Ｍビット目及び（Ｍ−１）ビット目において誤りが生じた診断データが生成され、生成された診断データがＥＣＣ装置１３２へ入力される。
【００３７】
また本実施形態では、異常注入モジュール１４は、ＣＰＵ１１が反転装置１３３を無効に設定する場合、ＣＰＵ１１からの指示に従って、全ての信号線５３に対応する反転素子５１にイネーブル信号を入力しないよう構成されている。これにより、反転装置１３３が無効に設定される場合、反転装置１３３では、診断データが生成されず、記録領域部１３１から取得したデータがそのままＥＣＣ装置１３２へ入力される。
【００３８】
この様に構成されたマイコン１０では、ＣＰＵ１１が、ＲＯＭ１２に記録されたプログラムに基づいて、燃料噴射量の制御等といったＥＣＵ５の有する機能を実現する処理や、後述するＥＣＣ診断処理、通常診断処理といった、各種処理を実行する。
【００３９】
［１−２．処理］
［ＥＣＣ診断処理］
ＥＣＵ５においてマイコン１０が実行するＥＣＣ診断処理について、図３のフローチャートを用いて説明する。ＥＣＣ診断処理は、ＥＣＣ装置１３２が正常に機能しているか否かを診断する処理である。
【００４０】
ＥＣＣ診断処理は、予め定められた所定期間毎に実行されうる。また、ＥＣＣ診断処理は、マイコン１０が初期化される初期化処理、またはマイコン１０がシャットダウンされるシャットダウン処理が開始されることや、マイコン１０にてプログラムを実行する際にアイドル期間が生じたこと、等をきっかけとして実行されうる。
【００４１】
ＣＰＵ１１は、はじめにＳ５では、反転装置１３３を無効に設定する。具体的には、ＣＰＵ１１は、異常注入モジュール１４に対して、全ての反転素子５１に対応するスイッチをオフさせる指示を出力する。これにより、全ての反転素子５１に対してイネーブル信号が出力されなくなり、反転装置１３３は、記録領域部１３１から出力されたデータ及びＥＣＣをそのままＥＣＣ装置１３２へ出力するよう作動する。
【００４２】
ＣＰＵ１１は、続くＳ１０では、予め定められたアドレス（以下、指定アドレス）のデータを初期化する。具体的には、ＣＰＵ１１は、記録領域部１３１の指定アドレスに０を書き込む。つまり、ＣＰＵ１１は、本ステップでは、後述するＳ２０にて反転装置１３３が有効に設定されて該反転装置１３３がデータを記録領域部１３１から取得する前に、反転装置１３３が記録領域部１３１から取得しようとするデータの全てのビットを０に書き換えている。
【００４３】
このとき、指定アドレスのデータ領域には０がデータとして記録され、ＥＣＣ領域には該データに対応するＥＣＣが記録される。なお、指定アドレスは、本実施形態では、ＲＡＭ１３の記録領域部１３１に記録されているのではなく、本ＥＣＣ診断処理を表すプログラムにて予め指定されている。
【００４４】
ＣＰＵ１１は、続くＳ１５では、診断状態フラグをセットする。また、ＣＰＵ１１は、診断結果フラグをセットする。
診断状態フラグは、本ＥＣＣ診断処理が実行中であるか否かを示すフラグであり、セットされている場合に本ＥＣＣ診断処理が実行中であること、つまり診断中であることを示す。診断結果フラグは、本ＥＣＣ診断処理によるＥＣＣ装置１３２の診断結果が正常であるか異常であるかを示すフラグであり、セットされている場合にＥＣＣ装置１３２の診断結果が異常であることを示す。
【００４５】
ＣＰＵ１１は、続くＳ２０では、反転装置１３３を有効に設定し、ＥＣＣ装置１３２に、診断データを読み出しデータとして入力する。読み出しデータとは、ＣＰＵ１１が記録領域部１３１から読み出すときのデータを示す。反転装置１３３を有効に設定するとは、反転装置１３３に記録領域部１３１からデータを取得させ、取得したデータにＥＣＣ装置１３２にて訂正不可能な２ビット以上の誤りを生じさせるように、該データにおける２以上のビットを反転させたデータを表す診断データを反転装置１３３に生成させることを表す。
【００４６】
本実施形態では、前述のように、ＣＰＵ１１は、異常注入モジュール１４に対して、データにおけるＭビットと（Ｍ−１）ビットに対応する信号線に接続する反転素子５１にイネーブル信号を入力するよう指示を出力し、反転装置１３３に診断データを生成させる。
【００４７】
なお、ここでいう診断データには、データ及び該データに対応するＥＣＣにおいて、ＥＣＣにおける一または複数のビットを反転させることにより、データにＥＣＣ装置１３２にて訂正不可能な２ビット以上の誤りを生じさせたデータが含まれうる。また、ここでいう診断データには、データ及び該データに対応するＥＣＣにおいて、データにおける一または複数のビットと、ＥＣＣにおける一または複数のビットとを反転させることにより、データにＥＣＣ装置１３２にて訂正不可能な２ビット以上の誤りを生じさせたデータが含まれうる。
【００４８】
ＣＰＵ１１は、いずれの診断データを生成する場合においても、反転装置１３３を有効に設定する際は、反転させるビットに対応する信号線に接続された反転素子５１に対してイネーブル信号を出力させるよう異常注入モジュール１４に対して指示を出力するように構成されればよい。
【００４９】
ＣＰＵ１１は、続くＳ２５では、記録領域部１３１における指定アドレスのデータを読み出す。このとき、指定アドレスのデータ領域に記録されている元データは０であるが、本ステップの実行時には反転装置１３３が有効となっているので、この元データに２ビット以上の誤りを生じさせたデータを示す診断データが反転装置１３３にて生成され、該診断データが読み出しデータとしてＥＣＣ装置１３２に入力される。
【００５０】
そして、このとき、ＥＣＣ装置１３２が正常に機能している場合にはＣＰＵ１１へ異常検出情報が出力され、ＥＣＣ装置１３２が正常に機能していない場合にはＣＰＵ１１へ異常検出情報が出力されない。
【００５１】
ＣＰＵ１１は、続くＳ３０では、異常検出情報が出力されたか否かを判断する。ＣＰＵ１１は、異常検出情報が出力されなかった場合に処理をＳ３５へ移行させ、異常検出情報が出力された場合に処理をＳ４０へ移行させる。
【００５２】
ここで、ＣＰＵ１１は、診断データがＥＣＣ装置１３２に入力され、ＥＣＣ装置１３２から異常検出情報が出力されなかった場合に移行するＳ３５では、ＥＣＣ装置１３２が異常であると判断する。そして、ＣＰＵ１１は、警告灯８に対して該警告灯８を点灯させる指示を出力し、ＥＣＣ装置１３２が異常であることを警告灯８の点灯により車両の乗員に報知した後に、処理をＳ４５へ移行させる。
【００５３】
一方、ＣＰＵ１１は、診断データがＥＣＣ装置１３２に入力され、ＥＣＣ装置１３２から異常検出情報が出力された場合に移行するＳ３５では、例外処理を実行する。つまり、ＣＰＵ１１は、本ＥＣＣ診断処理では、ＥＣＣ装置１３２に診断データが入力されているときに異常検出情報が出力された場合に、つまり該ＥＣＣ装置１３２が正常に機能していると判断される場合に例外処理を実行する。
【００５４】
例外処理は、詳細については後述するが、異常アドレス通知部１３４が正常に機能しているか否かを判断し、異常アドレス通知部１３４が正常に機能している場合にＥＣＣ装置１３２が正常であると、最終的に判断する処理である。ＣＰＵ１１は、例外処理を実行した後に処理をＳ４５へ移行させる。
【００５５】
ＣＰＵ１１は、Ｓ４５では、反転装置１３３を無効に設定する。具体的には、ＣＰＵ１１は、反転装置１３３における全ての信号線５３に対応する反転素子５１に対してイネーブル信号を入力しないよう、異常注入モジュール１４に指示を出力する。ＣＰＵ１１は、反転装置１３３を無効に設定した後に処理をＳ５０へ移行させる。
【００５６】
ＣＰＵ１１は、Ｓ５０では、診断状態フラグをリセットする。リセットされた診断状態フラグは、本ＥＣＣ診断処理による診断終了を示す。ＣＰＵ１１は、診断状態フラグをリセットした後に本ＥＣＣ診断処理を終了する。
【００５７】
［例外処理］
次に、ＥＣＣ診断処理のＳ４５にて実行される例外処理について図４のフローチャートを用いて説明する。例外処理は、ＥＣＣ装置１３２から異常検出情報が出力されている場合に実行される処理である。
【００５８】
ＣＰＵ１１は、Ｓ１１０では、反転回路を無効に設定する。
ＣＰＵ１１は、続くＳ１２０では、診断状態フラグに基づいて、本ＥＣＣ診断処理が実行中であるか否かを判断する。ＣＰＵ１１は、診断状態フラグがセットされている場合に本ＥＣＣ診断処理による診断中であると判断して処理をＳ１４０へ移行させ、セットされていない場合に処理をＳ１３０へ移行させる。
【００５９】
ＣＰＵ１１は、Ｓ１３０では、ＥＣＣ装置１３２から異常検出情報が出力されており、且つ、診断状態フラグが診断終了を示すときに、テスト結果フラグをセットして処理をＳ１８０へ移行させる。テスト結果フラグは、ＲＡＭ１３の記録領域部１３１に異常が生じているか否かを示すフラグである。テスト結果フラグは、セットされている場合に異常が生じていることを示し、リセットされている場合に正常であることを示す。
【００６０】
なお、ＥＣＣ診断処理においてＳ４０にて実行される本例外処理では、診断状態フラグは診断中を示すようセットされているため、本ステップに移行することはない。ただし、本例外処理は、後述する通常診断処理等においても共通に利用されうる処理である。後述する通常診断処理等においては、ＥＣＣ装置１３２から異常検出情報が出力されており、且つ、診断状態フラグが診断終了を示すときに、本ステップが実行される。
【００６１】
ＣＰＵ１１は、Ｓ１４０では、診断データがＥＣＣ装置１３２に入力された後に、診断アドレスと異常アドレスとが一致しているか否かを判断する。診断アドレスとは、診断データを生成する際にデータが取得された記録領域部１３１のアドレスを示す。本実施形態では、指定アドレスが診断アドレスに相当する。異常アドレスは異常アドレス通知部１３４に記録されている。
【００６２】
ＣＰＵ１１は、診断アドレスと異常アドレスとが一致していない場合に処理をＳ１５０へ移行させ、一致している場合に処理をＳ１６０へ移行させる。
ＣＰＵ１１は、診断データがＥＣＣ装置１３２に入力されてＥＣＣ装置１３２から異常検出情報が出力され、且つ、診断アドレスと異常アドレスとが一致していないと判断された場合に移行するＳ１５０では、ＥＣＣ装置１３２が異常であると判断し、診断結果フラグを、異常を示すようセットする。ＣＰＵ１１は、診断結果フラグをセットした後に処理をＳ１７０へ移行させる。
【００６３】
ＣＰＵ１１は、診断データがＥＣＣ装置１３２に入力されてＥＣＣ装置１３２から異常検出情報が出力され、且つ、診断アドレスと異常アドレスとが一致していると判断された場合に移行するＳ１６０では、ＥＣＣ装置１３２が正常であると判断し、診断結果フラグをリセットする。診断結果フラグは、リセットされた場合にＥＣＣ装置１３２の診断結果が正常であることを示す。
【００６４】
また、ＣＰＵ１１は、診断状態フラグをリセットする。ＣＰＵ１１は、診断結果フラグをリセットし、診断状態フラグをリセットした後に処理をＳ１７０へ移行させる。
ＣＰＵ１１は、Ｓ１７０では、テスト結果フラグをリセットし、処理をＳ１８０へ移行させる。
【００６５】
ＣＰＵ１１は、続くＳ１８０では、ＲＡＭ１３の記録領域部１３１が正常であるか否かを判断する。具体的には、ＣＰＵ１１は、テスト結果フラグがリセットされている場合に、ＲＡＭ１３の記録領域部１３１が正常であると判断する。ＣＰＵ１１は、ＲＡＭ１３の記録領域部１３１が正常である場合に本例外処理を終了し、異常である場合に処理をＳ１９０へ移行させる。
【００６６】
ＣＰＵ１１は、Ｓ１９０では、フェールセーフ処理を実行する。フェールセーフ処理とは、ＲＡＭ１３の記録領域部１３１が異常であると判断された場合に実行されるよう予め設定された処理である。フェールセーフ処理には、例えば、ＥＣＵ５による燃料噴射量の制御を中止させる処理や、定期的にマイコン１０をリセットするためにマイコン１０のリセットが行われたからの時間を計測するタイマを停止させる処理、といった処理が含まれうる。ＣＰＵ１１は、フェールセーフ処理を実行した後に、本例外処理を終了する。
【００６７】
［通常診断処理］
なお、前述の例外処理は、ＥＣＣ診断処理が実行されていないときに、ＲＡＭ１３の記録領域部１３１に異常が生じているか否かを判断する処理（以下、通常診断処理）にて用いられてもよい。次に、ＣＰＵ１１が実行する通常診断処理について図５のフローチャートを用いて説明する。通常診断処理は、マイコン１０の電源が入力されている間、ＣＰＵ１１によって前述のＥＣＣ診断処理が実行されていない場合に実行される処理であり、ＣＰＵ１１がＲＡＭ１３の記録領域部１３１からデータを読み出す毎に実行される処理である。
【００６８】
なお、通常診断処理の開始時は、診断状態フラグは診断終了を示すようリセットされている。
ＣＰＵ１１は、Ｓ２１０では、ＲＡＭ１３の記録領域部１３１からデータを読み出す。
【００６９】
ＣＰＵ１１は、Ｓ２２０では、ＥＣＣ装置１３２から異常検出情報が出力されたか否かを判断する。ＣＰＵ１１は、ＥＣＣ装置１３２から異常検出情報が出力されていない場合、本ＲＡＭ診断処理を終了し、ＥＣＣ装置１３２から異常検出情報が出力されていない場合に処理をＳ２３０へ移行させる。
【００７０】
ＣＰＵ１１は、Ｓ２３０では、例外処理を実行し、例外処理を終了した後に本通常診断処理を終了する。
つまり、本通常診断処理では、ＥＣＣ診断処理が実行されていないため診断状態フラグは診断終了を示すようリセットされており、Ｓ２２０で異常検出情報が検出された場合には、Ｓ２３０で実行する例外処理におけるＳ１２０にて否定判断されＳ１３０へ移行する。そして、ＣＰＵ１１は例外処理におけるＳ１３０にてテスト結果フラグを、異常を示すようセットし、本通常診断処理を終了する。
【００７１】
ＣＰＵ１１は、このように通常診断処理を実行することにより、ＲＡＭ１３の記録領域部１３１に異常が生じているか否かを判断してもよい。なお、ＣＰＵ１１は、本通常診断処理のテスト結果フラグに基づいて、各種制御を行う処理を実行するよう構成されてもよい。
【００７２】
［１−３．効果］
以上詳述した第１実施形態によれば、以下の効果を奏する。
（１ａ）反転装置１３３は、ＲＡＭ１３の記録領域部１３１からデータを取得し、該データにおける２以上のビットを反転させたデータを表す診断データを生成する。ＣＰＵ１１は、Ｓ２０では、ＲＡＭ１３の記録領域部１３１からデータを読み出す際に記録領域部１３１に書き込まれたときのデータを示す書き込みデータと記録領域部１３１から読み出すときのデータを示す読み出しデータとの間に２ビット以上の誤りがある場合に読み出しデータに異常がある旨を表す異常検出情報を出力するＥＣＣ装置１３２に、診断データを読み出しデータとして入力する。
【００７３】
ＣＰＵ１１は、Ｓ２６０では、診断データがＥＣＣ装置１３２に入力され、ＥＣＣ装置１３２から異常検出情報が出力された場合に、ＥＣＣ装置１３２が正常であると判断する。
【００７４】
これによれば、ＲＡＭ１３の記録領域部１３１から読み出したデータに意図的に誤りを生じさせた診断データをＥＣＣ装置１３２に入力してＥＣＣ装置１３２が誤りを検出した場合に該ＥＣＣ装置１３２が正常であると判断する構成を備える。このため、従来技術のように意図的に誤りを生じさせたデータをＲＡＭ１３の記録領域部１３１に予め記録させておく必要が無くなり、ＲＡＭ１３の記録領域部１３１を有効に利用し、且つＥＣＣ装置１３２が正常であるか否かを判断することができる。
【００７５】
（１ｂ）ＥＣＵ５では、ＣＰＵ１１は、Ｓ３５において、診断データがＥＣＣ装置１３２に入力され、ＥＣＣ装置１３２から異常検出情報が出力されなかった場合に、ＥＣＣ装置１３２が異常であると判断してもよい。
【００７６】
これによれば、ＥＣＣ装置１３２の異常を検出することができる。
（１ｃ）ＥＣＵ５では、ＣＰＵ１１は、Ｓ３５において、ＥＣＣ装置１３２が異常であると判断された場合に、ＥＣＣ装置１３２が異常であることを警告灯８により報知させてもよい。
【００７７】
これによれば、ＥＣＣ装置１３２が異常であることを、運転者を含む車両の乗員等に知らせることができる。
（１ｄ）ＥＣＣ装置１３２は、書き込みデータと読み出しデータとの間に２ビット以上の誤りがある場合に、記録領域部１３１における読み出しデータを読み出したアドレスを異常アドレスとして出力してもよい。
【００７８】
ＥＣＵ５において、ＣＰＵ１１は、Ｓ１４０では、診断データがＥＣＣ装置１３２に入力された後に、診断データを生成する際にデータが取得されたメモリのアドレスを示す診断アドレスと異常アドレスとが一致しているか否かを判断してもよい。
【００７９】
ＣＰＵ１１は、Ｓ１６０では、診断データがＥＣＣ装置１３２に入力されてＥＣＣ装置１３２から異常検出情報が出力され、且つ、診断アドレスと異常アドレスとが一致している場合に、ＥＣＣ装置１３２が正常であると判断してもよい。
【００８０】
これによれば、診断アドレスと異常アドレスとが一致する場合にＥＣＣ装置１３２が正常であると判断する構成を備えるので、ＥＣＣ装置１３２における異常アドレスを出力する機能が正常であることを確認した上でＥＣＣ装置１３２が正常であると判断することができる。
【００８１】
（１ｅ）ＣＰＵ１１は、Ｓ１０では、反転装置１３３がデータを記録領域部１３１から取得する前に、反転装置１３３が記録領域部１３１から取得しようとするデータの全てのビットを０に書き換えてもよい。
【００８２】
これによれば、記録領域部１３１に記録されているデータを初期化してから該記録領域部１３１のデータを用いて診断データを生成するので、診断データを生成する対象となる記録領域部１３１が揮発していることにより判断結果を誤ることを抑制することができる。
【００８３】
［２．第２実施形態］
［２−１．構成］
第２実施形態は、基本的な構成は第１実施形態と同様であるため、相違点について以下に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００８４】
第２実施形態では、マイコン２０が備えるＲＡＭ２３において、ＲＡＭ１３の記録領域部１３１が２つの領域に区切られている点で、第１実施形態と相違する。
具体的には、図６に示すように、ＲＡＭ２３では、ＲＡＭ１３における記録領域部１３１が、予め定められた大きさの領域を示す第１記録領域部１３１ａと、第１領域を除く領域を示す第２記録領域部１３１ｂとに分けられている。
【００８５】
マイコン２０は、ＥＣＣ装置１３２と反転装置１３３と同様に構成された第１ＥＣＣ装置１３２ａ、第２ＥＣＣ装置１３２ｂと、第１反転装置１３３ａ、第１反転装置１３３aとを、第１記録領域部１３１ａ及び第２記録領域部１３１ｂのそれぞれに対応して備えている。第１ＥＣＣ装置１３２ａ、及び第１反転装置１３３ａが第１記録領域部１３１ａに対応する装置であり、第２ＥＣＣ装置１３２ｂ、及び第２反転装置１３３ｂが第２記録領域部１３１ｂに対応する装置である。
【００８６】
また、反転装置１３３ａは第１ＥＣＣ装置１３２ａに診断データを読み出しデータとして入力可能に構成されている。また、反転装置１３３ｂは、第２ＥＣＣ装置１３２ｂに診断データを読み出しデータとして入力可能に構成されている。
【００８７】
本実施形態では特に、ＣＰＵ１１は、第１ＥＣＣ装置１３２ａ及び第２ＥＣＣ装置１３２ｂのうちの予め定められた一方のＥＣＣ装置１３２（以下、指定ＥＣＣ装置）に診断データを入力可能に、他方のＥＣＣ装置１３２に診断データを入力しないように構成されている。
【００８８】
具体的には、ＣＰＵ１１は、例えば、第１ＥＣＣ装置１３２ａを指定ＥＣＣ装置として設定する場合、第２ＥＣＣ装置１３２ｂにおける反転装置１３３ｂに対してはイネーブル信号を出力させないように異常注入モジュール１４に対して指示を出力するよう構成されうる。
【００８９】
また、ＣＰＵ１１は、第２ＥＣＣ装置１３２ｂを指定ＥＣＣ装置として設定する場合、第１ＥＣＣ装置１３２ａにおける反転装置１３３ａに対してはイネーブル信号を出力させないように異常注入モジュール１４に対して指示を出力するよう構成されうる。
【００９０】
ＣＰＵ１１は、図３に示すＥＣＣ診断処理においては、指定ＥＣＣ装置におけるアドレスを「指定アドレス」として、処理を実行するよう構成されうる。つまり、本実施形態では、ＥＣＣ診断処理を表すプログラムにて、指定ＥＣＣ装置における記録領域部のアドレスが「指定アドレス」として予め指定されていてもよい。
【００９１】
これにより、ＣＰＵ１１が、例えば第１ＥＣＣ装置１３２ａを指定ＥＣＣ装置として設定する場合は、第１記録領域部１３１ａ、第１ＥＣＣ装置１３２ａ、第１反転装置１３３ａが上記実施形態における記録領域部１３１、ＥＣＣ装置１３２、反転装置１３３と同様に作動する。つまり、第１記録領域部１３１ａに対応する第１ＥＣＣ装置１３２ａについて異常であるか否かが診断される。
【００９２】
また、第２記録領域部１３１ｂは診断データが読み出しデータとして入力されないよう構成されるので、ＣＰＵ１１の演算結果等を示すデータを一時的に記録するために、例えばスタック領域としても、第２記録領域部１３１ｂを利用することができる。
【００９３】
同様に、ＣＰＵ１１が、例えば第２ＥＣＣ装置１３２ｂを指定ＥＣＣ装置として設定する場合は、第２記録領域部１３１ｂに対応する第２ＥＣＣ装置１３２ｂについて異常であるか否かが診断される。
【００９４】
また、第１記録領域部１３１ａは診断データが読み出しデータとして入力されないよう構成されるので、ＣＰＵ１１の演算結果等を示すデータを一時的に記録するために、例えばスタック領域としても、第１記録領域部１３１ａを利用することができる。
【００９５】
［２−２．効果］
以上詳述した第２実施形態によれば、前述した第１実施形態の効果（１ａ）−（１ｅ）を奏し、さらに、以下の効果を奏する。
【００９６】
（２ａ）ＲＡＭ１３における記録領域部１３１は、予め定められた大きさの領域を示す第１記録領域部１３１ａと、第１領域を除く領域を示す第２記録領域部１３１ｂとに分けられていてもよい。
【００９７】
ＥＣＵ５は、ＥＣＣ装置１３２と反転装置１３３とを第１記録領域部１３１ａ及び第２記録領域部１３１ｂのそれぞれに対応して備えていてもよい。反転装置１３３は、第１記録領域部１３１ａに対応するＥＣＣ装置１３２を示す第１ＥＣＣ装置１３２ａ及び第２記録領域部１３１ｂに対応するＥＣＣ装置１３２を示す第２ＥＣＣ装置１３２ｂに診断データを読み出しデータとして入力可能に構成されている。ＣＰＵ１１は、第１ＥＣＣ装置１３２ａ及び第２ＥＣＣ装置１３２ｂのうちの予め定められた一方のＥＣＣ装置１３２に診断データを入力し、他方のＥＣＣ装置１３２に診断データを入力しないように構成されている。
【００９８】
このため、例えばＣＰＵ１１は、汎用レジスタの値を、第１記録領域部１３１ａ及び第２記録領域部１３１ｂのうちのいずれかの領域であって、第１ＥＣＣ装置１３２ａ及び第２ＥＣＣ装置１３２ｂのうち指定ＥＣＣ装置でないＥＣＣ装置１３２に対応する領域、に退避させることが可能となる。
【００９９】
ここで、ＲＡＭ１３が第１記録領域部１３１ａのみを有し、反転装置１３３が第１記録領域部１３１ａに対応する第１ＥＣＣ装置１３２ａに診断データを読み出しデータとして入力すると仮定する。そして、例えば図７におけるＳ５１０及び図８におけるＳ５２０に示すように、前述のＥＣＣ診断処理におけるＳ４０にて実行される例外処理の前においてＣＰＵ１１の汎用レジスタの値をスタック領域に退避させる例外前処理を行い、且つ、例外処理の後にスタック領域に退避させた値を汎用レジスタの値として復帰させる例外後処理を行うものとする。
【０１００】
この場合、第１反転装置１３３ａが有効に設定されていると、第１記録領域部１３１ａのスタック領域に退避時に書き込まれた値を読み出すときに反転装置１３３によって誤りを生じさせた値がＥＣＣ装置１３２に入力されてしまうという問題が生じうる。
【０１０１】
本実施形態では、前述のように、ＣＰＵ１１は、第１ＥＣＣ装置１３２ａ及び第２ＥＣＣ装置１３２ｂのうちの予め定められた一方のＥＣＣ装置１３２に診断データを入力し、他方のＥＣＣ装置１３２に診断データを入力しないように構成されている。これによれば、ＲＡＭ１３における第１記録領域部１３１ａ及び第２記録領域部１３１ｂのうち、一方の領域については、対応するＥＣＣ装置１３２の診断を行うことができる。且つ、他方の領域については、汎用レジスタの値等を記録させることが可能な通常の記録領域として利用することができる。
【０１０２】
［３．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【０１０３】
（３ａ）上記実施形態では、ＣＰＵ１１は、Ｓ１０にて、ＲＡＭ１３における記録領域部１３１の指定アドレスを初期化した後に、該指定アドレスのデータを用いて診断データを生成していたが、これに限定されるものではない。
【０１０４】
例えば、指定アドレスのデータを初期化する前に、該指定アドレスのデータを読み出し、一時的に保持してから、該指定アドレスの初期化を実行してもよい。このような場合にＣＰＵ１１が実行するＥＣＣ判断処理を図９に示すフローチャートを用いて説明する。図９に示すフローチャートは、図３に示すフローチャートに、指定アドレスのデータの退避と、指定アドレスのデータの書き戻しを追加したものである。なお、以下の説明では、図３における処理と同様の処理については、説明を一部簡略化している。
【０１０５】
ＣＰＵ１１は、Ｓ３１０では、Ｓ１０と同様に、診断状態フラグ及び診断結果フラグを設定する。
ＣＰＵ１１は、続くＳ３１５では、図３に示すＳ１０に代えて、指定アドレスのデータを読み出し、コア内の汎用レジスタ、または、ＲＡＭ１３内のスタックに一時的に記録する。このとき、指定アドレスのデータに異常が生じていると、ＥＣＣ装置１３２が正常である場合には異常検出情報が出力される。
【０１０６】
ＣＰＵ１１は、続くＳ３２０では、異常検出情報が出力されたか否かを判断する。ＣＰＵ１１は、異常検出情報が出力された場合に処理をＳ３２５へ移行させ、異常検出情報が出力されていない場合に処理をＳ３３０へ移行させる。
【０１０７】
Ｓ３２５では、ＣＰＵ１１は例外処理を実行する。本実施形態では、例外処理では、Ｓ１４０にて異常アドレスと診断アドレスが一致しているかに基づいて、ＥＣＣ装置１３２が正常であるか否かが判断される。つまり、Ｓ３２０にて異常検出情報が出力された要因が、ＥＣＣ装置１３２が異常であることによるものであるか、記録領域部１３１におけるデータの揮発等による異常であるかを、例外処理のＳ１４０にて判断する。
【０１０８】
ＣＰＵ１１は、例外処理のＳ１４０では、異常アドレスと診断アドレスとが一致していない場合は、Ｓ３２０にて異常検出情報が出力された要因がＥＣＣ装置１３２の異常によるものであると判断し、Ｓ１５０にて診断結果フラグを、異常を示すようセットする。
【０１０９】
また、ＣＰＵ１１は、例外処理のＳ１４０では、異常アドレスと診断アドレスとが一致している場合は、Ｓ３２０にて異常検出情報が出力された要因がＥＣＣ装置１３２の異常によるものではないと判断し、Ｓ１６０にて診断結果フラグを、正常を示すようリセットする。
【０１１０】
ＣＰＵ１１は、続くＳ３３０では、診断結果フラグが、ＥＣＣ装置１３２が正常であることを示しているか否かを判断する。ＣＰＵ１１は、診断結果フラグが、ＥＣＣ装置１３２が正常であることを示している場合に、処理をＳ３９０へ移行させる。また、ＣＰＵ１１は、診断結果フラグが、ＥＣＣ装置１３２が異常であることを示している場合に、処理をＳ３４０へ移行させる。
【０１１１】
ＣＰＵ１１は、続くＳ３４０−Ｓ３８０では、図３に示すＳ５−４５と同様の処理を実行する。ただし、Ｓ３４０−Ｓ３８０では、図３におけるＳ１５に相当する処理が削除され、図３におけるＳ４５を実行する前に指定アドレスのデータを書き戻す処理であるＳ３７５が追加されている。
【０１１２】
ＣＰＵ１１は、Ｓ３９０では、診断状態フラグを、診断終了を示すようリセットし、本診断処理を終了する。
マイコン１０は、上記実施形態では揮発性のＲＡＭを備えていたが、これに限定されるものではなく、不揮発性のＲＡＭも備えるよう構成されうる。このとき、揮発性のＲＡＭは、不揮発性のＲＡＭのデータを保持するバックアップＲＡＭとして利用されることが有りうる。このような場合、バックアップＲＡＭとして利用される揮発性のＲＡＭは、定期的に初期化されうる。
【０１１３】
仮に、上記実施形態のＲＡＭ１３が前述のようなバックアップＲＡＭとして利用される場合、ＥＣＣ診断処理を実行するために指定アドレスのデータが初期化されることは好ましいことではない。
【０１１４】
本変形例によれば、このように指定アドレスのデータが初期化されることは好ましくない場合には、指定アドレスのデータを一時的に退避させた上でＥＣＣ診断処理を実行することができる。
【０１１５】
（３ｂ）上記通常診断処理において、Ｓ２１０にてＲＡＭ１３の記録領域部１３１からデータを読み出した際、Ｓ２３０にて実行する例外処理において、該データを読み出したアドレス（以下、読み出しアドレス）に対応する記録領域部１３１に異常が生じていると判断された場合は、ＣＰＵ１１は次のように処理を実行してもよい。つまり、ＣＰＵ１１は、Ｓ１３０にてテスト結果フラグが異常を示すようセットされた場合は、これ以降に通常診断処理を実行する際は、該異常が生じていると判断された読み出しアドレス以外のアドレスに対してＳ２１０にてデータを読み出すよう構成されてもよい。これによれば、異常が生じていると判断された読み出しアドレスについて例外処理が繰り返されることが抑制さえる。
【０１１６】
（３ｃ）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【０１１７】
（３ｄ）上述したＥＣＵ５、マイコン１０、マイコン２０、ＣＰＵ１１、ＣＰＵ１１を機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、制御方法など、種々の形態で本開示を実現することもできる。
【０１１８】
［４．実施形態と特許請求の範囲との対応］
記録領域部１３１、第１記録領域部１３１ａ、第２記録領域部１３１ｂがメモリに相当し、ＥＣＣ装置１３２、第１ＥＣＣ装置１３２ａ、第２ＥＣＣ装置１３２ｂが異常検出回路に相当し、反転装置１３３、第１反転装置１３３ａ、第２反転装置１３３ｂがデータ生成部に相当する。また、警告灯８が報知装置に相当し、第１記録領域部１３１ａが第１領域に相当し、第２記録領域部１３１ｂが第２領域に相当する。
【０１１９】
また、ＣＰＵ１１が、データ入力部、正常判断部、異常判断部、報知指示部、一致判断部、初期化部に相当する。また、Ｓ２０がデータ入力部としての処理に相当し、Ｓ２６０が正常判断部としての処理に相当し、Ｓ２６０が正常判断部としての処理に相当し、Ｓ３５が異常判断部としての処理に相当し、Ｓ３５が報知指示部としての処理に相当し、Ｓ２４０が一致判断部としての処理に相当し、Ｓ１０が初期化部としての処理に相当する。
【符号の説明】
【０１２０】
５  ＥＣＵ、１１  ＣＰＵ、１３１  記録領域部、１３２  ＥＣＣ装置、１３３  反転装置。
【図１】
2018041402.tif 000003
【図２】
2018041402.tif 000004
【図３】
2018041402.tif 000005
【図４】
2018041402.tif 000006
【図５】
2018041402.tif 000007
【図６】
2018041402.tif 000008
【図７】
2018041402.tif 000009
【図８】
2018041402.tif 000010
【図９】
2018041402.tif 000011