(57)【特許請求の範囲】
【請求項１】
使用される第1領域と使用されない第2領域を有するメモリと、
前記第1領域が故障しているか否かを判定する第1判定部と、
前記第1領域が故障している場合、フェールセーフ処理を実行する第1実行部と、
前記第2領域が故障しているか否かを判定する第2判定部と、
前記第2領域が故障している場合、前記フェールセーフ処理を実行せずに、前記メモリが故障している事実を示す故障情報に故障している前記メモリの領域を示す領域情報と故障している前記メモリの種類である揮発性又は不揮発性を示す情報を含めて記憶する処理を実行する第2実行部と、
記憶された前記故障情報を外部装置に出力することで、故障している前記メモリの領域と前記メモリの種類に応じて前記外部装置に報知を行わせる出力部と、
を備えることを特徴とする車載制御装置。
【請求項２】
請求項1に記載の車載制御装置であって、
前記第1判定部及び前記第1実行部は、
電源がオンになってから前記車載制御装置が外部装置と通信を開始することができる状態になるまでの期間に動作し、
前記第2判定部及び前記第2実行部は、
前記車載制御装置が前記外部装置と通信を開始することができる状態になった後に動作する
ことを特徴とする車載制御装置。
【請求項３】
請求項2に記載の車載制御装置であって、
前記第2判定部及び前記第2実行部は、
バックグランドで動作する
ことを特徴とする車載制御装置。
【請求項４】
請求項1に記載の車載制御装置であって、
前記第1実行部は、
前記第1領域が故障している場合、前記故障情報を記憶する
ことを特徴とする車載制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載制御装置に関する。
【背景技術】
【０００２】
車両の制御装置において、メモリ（ＲＯＭおよびＲＡＭ）の故障を確実に確認し得る故障診断装置が知られている（例えば、特許文献1参照）。
【０００３】
特許文献１のメモリの故障診断装置では、不揮発性及び揮発性メモリの診断装置を複数持たせる事により、診断対象のメモリ上とは異なるメモリ上にある診断装置にて診断を行なう。また、その診断装置が置かれているメモリの診断は、先に診断対象としていたメモリ上にある事で、メモリの診断装置とは別の位置にある診断対象のメモリの正しさを相互に診断させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第3659014号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されるような技術では、診断対象とするメモリ（RAM及びROM）については、その領域に区分はなく、メモリ全領域を対象とした診断となっており、故障検出時のフェールセーフについても一律の実行内容となっている。
【０００６】
そのため、故障したメモリの部位が車両の動作に影響がない箇所（ROMについては、プログラム及びデータが記録されていない部位、RAMについては、プログラムやCPUからの利用がない部位）が故障した場合にも、フェールセーフの車両挙動となる。つまり、事実上では通常の制御を実施可能な場面においても、フェールセーフの車両挙動となる事で、エンドユーザーの車両使用時に操作・走行に対する違和感を与えてしまう。
【０００７】
本発明の目的は、メモリの故障に起因するフェールセーフ処理により車両の運転が制限されることを抑制することができる車載制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明は、使用される第1領域と使用されない第2領域を有するメモリと、前記第1領域が故障しているか否かを判定する第1判定部と、前記第1領域が故障している場合、フェールセーフ処理を実行する第1実行部と、前記第2領域が故障しているか否かを判定する第2判定部と、前記第2領域が故障している場合、前記フェールセーフ処理を実行せずに、前記メモリが故障している事実を示す故障情報に故障している前記メモリの領域を示す領域情報と故障している前記メモリの種類である揮発性又は不揮発性を示す情報を含めて記憶する処理を実行する第2実行部と、記憶された前記故障情報を外部装置に出力することで、故障している前記メモリの領域と前記メモリの種類に応じて前記外部装置に報知を行わせる出力部と、を備える。
【発明の効果】
【０００９】
本発明によれば、メモリの故障に起因するフェールセーフ処理により車両の運転が制限されることを抑制することができる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第1〜第2の実施の形態における、車両の電子制御システムのコントロールユニットを示す構成図である。
【図２−１】本発明の第1の実施形態に於いての、RAM故障診断処理の手順を示すフローチャートである。
【図２−２】本発明の第1の実施形態に於いての、ROM故障診断処理の手順を示すフローチャートである。
【図３−１】本発明の第2の実施形態に於いての、電源投入時に実施するROM故障診断処理の手順を示すフローチャートである。
【図３−２】本発明の第2の実施形態に於いての、バックグラウンド処理内で実施するROM故障診断処理の手順を示すフローチャートである。
【図４−１】本発明の第2の実施形態に於いての、電源投入時に実施するRAM故障診断処理の手順を示すフローチャートである。
【図４−２】本発明の第2の実施形態に於いての、バックグラウンド処理内で実施するRAM故障診断処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を用いて、本発明の第1〜第2の実施形態によるコントロールユニット（車載制御装置）の構成及び動作について説明する。なお、コントロールユニットはメモリの故障診断装置として機能する。また、各図において、同一符号は同一部分を示す。
【００１２】
（ハードウェアの構成）
図１には、本発明の第1〜第2の実施の形態における、車両の電子制御システムのコントロールユニット1の構成を示す。コントロールユニット1は、プロセッサとしてのCPU3（Central Processing Unit）と、CPU3にバス7で接続されたメモリ2を備え、このメモリ2には、ROM21（Read Only Memory）とRAM22（Random Access Memory）が備えられる。
【００１３】
ROM21は、制御プログラム及び制御に使用する固定値データが格納されており、一般的に製造時に記憶された内容が不変の値として保存してある不揮発性の記憶媒体である。
【００１４】
ROM21には、制御プログラム及び制御に使用する固定値データが格納されている領域ROM211と、制御プログラムやデータを格納していない領域ROM212の2種類の領域に分別する事ができる。
【００１５】
換言すれば、ROM21（メモリ）は、使用される領域ROM211（第1領域）と使用されない領域ROM212（第2領域）を有する。
【００１６】
RAM22は、ROM21に格納される制御プログラムが各種の演算に使用する一時的データの格納や、CPU3がROM21の制御プログラムの実行及び、ROM21に格納される固定値データの参照に必要となる情報の格納に使用される汎用的な揮発性の記憶媒体である。
【００１７】
RAM22は、ROM21に格納される制御プログラムが各種の演算に使用する一時的データの格納や、CPU3がROM21の制御プログラムの実行及び、ROM21に格納される固定値データの参照に必要となる情報の格納に使用される領域RAM221と、使用されない領域RAM222に区分する事ができる。
【００１８】
換言すれば、RAM22（メモリ）は、使用される領域RAM221（第1領域）と使用されない領域RAM222（第2領域）を有する。
【００１９】
コントロールユニット1に於いて、メモリの故障を検知した場合、アクチュエータ4（例えば、油圧アクチュエータ）へのコントロールユニット1からの出力が固定化される。具体的には、出力がハードウェア的に安全サイドとなる出力状態に固定される（フェールセーフ処理）。ここで、フェールセーフ処理は、車両に搭載される制御対象機器が安全な状態になるように制御する処理ということもできる。
【００２０】
同じく、他のコントロールユニット5との通信（CANやシリアル通信などを利用しての通信）が実施されない事により、当該コントロールユニット1の異常を他のコントロールユニット5が検出し、当該コントロールユニット1の異常をユーザーに告知する。一般的には、他のコントロールユニット5の機能により、ワーニングランプなどの点灯・点滅により告知する。
【００２１】
なお、他のコントロールユニット5は、例えば、エンジンを制御するECU、メータを制御するECU、エアバッグを制御するECU等である。
【００２２】
メモリ2の正常さが確認できた場合には、コントロールユニット1が正常に動作している判断となる事で、センサ及びスイッチ6の入力と他のコントロールユニット5からの入力情報に従い、アクチュエータ4の出力が制御される。
【００２３】
なお、センサは、例えば、温度センサ、車速センサ、スロットルセンサ等である。
【００２４】
（比較例）
次に、比較例としての故障診断処理を説明する。
【００２５】
車両の制御装置においては、各種装置は、図1に示すようなコントロールユニット1のCPU3（演算処理装置）により制御される。CPU3は、バス7によりメモリ2と接続される。メモリ2には、CPU3における各種演算に必要なプログラムやデータを記憶するROM21とRAM22が備えられている。
【００２６】
また、このような車両の制御装置では、ROM21の所定の領域に記憶されたプログラムに基づいて、車両の各種構成に故障発生の検査がなされる。この検査によりいずれかの構成に故障が発生したとの判定がなされた場合には、RAM21の所定の領域に記憶される。故障の有無をROM21に置かれたプログラム並びにCPU3により、その故障に対応したフェールセーフ処理（例えばアクチュエータ4の制御による車両の動作制限や、他のコントトールユニット5を経由しての警告灯点灯などの処理）が実行される。
【００２７】
このような故障診断処理（故障の診断からフェールセーフ処理に至る処理）は、メモリ2のROM21とRAM22の故障についても実行される。
【００２８】
具体的に、ROM21の診断は、ROM21自身の所定の記憶領域に記憶されたROM故障診断用プログラムに基づいて実行され、例えば、ROM21の各記憶領域に記憶された数値の総和を演算し、ROM21上に予め記憶された値と一致するか否かを確認する事により、ROM21の各記憶領域のデータが製造時の内容に対して変化していないかを確認する。また、RAM22の診断は、ROM21の所定の記憶領域ROM211に記憶されたRAM故障診断用プログラムに基づいて実行され、例えば、RAM22の各記憶領域に所定の値の書き込みと読み出しを行ない、書き込んだ値が正しく読み出される事により、RAM22の各記憶領域が正しく機能しているかを確認する。
【００２９】
このようなROM21およびRAM22の診断により、ROM21の故障が検出された場合には、RAM22の所定の記憶領域にROM故障を記憶し、またROM21の故障が検出された場合には、RAM21の所定の記憶領域にRAM故障を記憶する。CPU3は、ROM故障またはRAM故障が発生していることを確認すると、ROM21またはRAM22の故障があったと判断し、通常の動作を実施しない事で、それぞれの故障に対応した処理（例えば他のコントトールユニット5がコントロールユニット1と通信ができない事を検知したことによる警告灯点灯などの処理）が実行される。
【００３０】
（第1の実施形態）
図2-1は、本発明の第1の実施形態として解説するところの、電源投入時に
実施するRAM診断制御のフローチャートである。CPU3は、所定のプログラムを実行することにより、以下の処理を行う。
【００３１】
S11では、RAM221の故障診断を実施する。ここで、CPU3は、RAM221（第1領域）が故障しているか否かを判定する第1判定部として機能する。
【００３２】
RAM221の故障診断は、予め決められたメモリサイズ単位毎に、既定の値（例えば、FFHや00H：Hは16進数を表す）を書き込む動作に続いて読み出しを行ない、書き込んだ値と同一の値が読み出された事を確認する事により、RAMとしての機能が正常である事を判断する。この動作をRAM221のすべての領域に対して実施し、1か所でも正常でない部位を検出した時、RAM221の異常と判断する。
【００３３】
S12では、RAM222を対象にS11と同じ診断を実施する。ここで、CPU3は、RAM222（第2領域）が故障しているか否かを判定する第2判定部として機能する。
【００３４】
S13では、S12でのRAM222の故障診断結果から、故障検出していれば、S14にてRAM222の故障がある事実の記憶を実施する。ここで、CPU3は、RAM222（第2領域）が故障している場合、フェールセーフ処理を実行せずに、RAM22（メモリ）が故障している事実を示す故障情報を記憶する処理を実行する第2実行部として機能する。
【００３５】
S15では、S11でのRAM221の故障診断結果から、故障検出していれば、S16にてRAM221の故障がある事実の記憶及び、S17によるRAM故障時のフェールセーフを実施する。ここで、CPU3は、RAM221（第1領域）が故障している場合、フェールセーフ処理を実行する第1実行部として機能する。詳細には、CPU3（第1実行部）は、RAM221（第1領域）が故障している場合、故障情報を記憶する。
【００３６】
S17のフェールセーフ動作は、S11からのステップを再度繰り返す動作である。RAM221の故障が検出されている間は、コントロールユニットとしての正常動作が開始されない事で、コントロールユニット1との通信を実施している他のコントロールユニット5によって、コントロールユニット1の異常が報知される。
【００３７】
図2-2は、本発明の第1の実施形態として解説するところの、電源投入時に実施するROM診断制御のフローチャートである。
【００３８】
S21では、ROM211の故障診断を実施する。ここで、CPU3は、ROM211（第1領域）が故障しているか否かを判定する第1判定部として機能する。
【００３９】
ROM211の故障診断は、ROM211の範囲を予め決められたメモリサイズ単位毎に読み出し、読み出された値の合計値、あるいは合計値のパリティが、予めROM211の合計値あるいは合計値のパリティとしてROM211に保存してある値と同一値か否かを確認する。
【００４０】
S22では、ROM212を対象にS21と同じ診断を実施する。ここで、CPU3は、ROM212（第2領域）が故障しているか否かを判定する第2判定部として機能する。
【００４１】
S23では、ROM212の故障診断結果を判定し、故障検出していれば、S24にてROM212の故障がある事実の記憶を実施する。ここで、CPU3は、ROM212（第2領域）が故障している場合、フェールセーフ処理を実行せずに、ROM21（メモリ）が故障している事実を示す故障情報を記憶する処理を実行する第2実行部として機能する。
【００４２】
S25では、ROM211の故障診断結果を判定し、故障検出していれば、S26にてROM211の故障がある事実の記憶及び、S27によるROM故障時のフェールセーフを実施する。ここで、CPU3は、ROM211（第1領域）が故障している場合、フェールセーフ処理を実行する第1実行部として機能する。
【００４３】
S27のフェールセーフ動作は、コントロールユニットとしての通常動作への移行をせず、アクチュエータ4の制御が実施されない事による、必要最小限の走行機能の維持及び、他のコントロールユニット5を通して、またはコントロールユニット1の機能として、故障の報知を行なう。
【００４４】
また、プログラムの動作としては、外部のツール（一般的には車両ディーラー等が所有している）による、リプログラミング（ROM21の内容の書き換え）の待機状態となる。
【００４５】
第1の実施形態により、従来技術ではメモリ故障を検出した場合に一律でフェールセーフの車両動作としていた場面で、故障の検出範囲は従来技術での範囲を維持しつつ、故障の発生したROM21またはRAM22の部位によっては、通常の車両の動作を可能とする事で、正常動作範囲を拡大させる事ができ、エンドユーザーに対して、車両の正常走行が可能な範囲を拡大させる事が実現できる。
【００４６】
以上説明したように、本実施形態によれば、メモリの故障に起因するフェールセーフ処理により車両の運転が制限されることを抑制することができる。
【００４７】
（第2の実施形態）
図3-1は、本発明の第2の実施形態として解説するところの、電源投入時に実施するRAM診断制御のフローチャートである。CPU3は、所定のプログラムを実行することにより、以下の処理を行う。なお、図3-1のS11、S15、S16、S17の処理は図2-1に示した第1の実施形態の処理と同じである。
【００４８】
S11では、RAM221の故障診断を実施する。
【００４９】
S15では、RAM221の故障診断結果を判定し、故障検出していれば、S16にてRAM221の故障がある事実の記憶及び、S17によるRAM故障時のフェールセーフを実施する。
【００５０】
S17のフェールセーフ動作は、S11からのステップを再度繰り返す動作である。RAM221の故障が検出されている間は、コントロールユニットとしての正常動作が開始されない事で、コントロールユニット1との通信を実施している他のコントロールユニット5によって、コントロールユニット1の異常が報知される。
【００５１】
図3-2は、本発明の第2の実施形態として解説するところの、バックグラウンド処理にて実施するRAM診断制御のフローチャートである。なお、図3-2のS12、S13、S14の処理は図2-1に示した第1の実施形態の処理と同じであるが、本実施形態のRAM故障診断処理はバックグラウンド処理として実行される点が第1の実施形態と異なる。バックグラウンド処理は、例えば、定時的に実行されるが、任意のタイミング及び頻度で実行されるようにしてもよい。
【００５２】
S12では、RAM222の故障診断を実施する。
【００５３】
S13では、RAM222の故障診断結果を判定し、故障検出していれば、S14にてRAM222の故障がある事実の記憶を実施すると共に、他のコントロールユニット5を通して、またはコントロールユニット1の機能として、故障の報知を行なう。
【００５４】
図4-1は、本発明の第2の実施形態として解説するところの、電源投入時に実施するROM診断制御のフローチャートである。なお、図4-1のS21、S25、S26、S27の処理は図2-2に示した第1の実施形態の処理と同じである。
【００５５】
S21では、ROM211の故障診断を実施する。
【００５６】
S25では、ROM211の故障診断結果を判定し、故障検出していれば、S26にてROM211の故障がある事実の記憶及び、S27によるROM故障時のフェールセーフを実施する。
【００５７】
S27のフェールセーフ動作は、コントロールユニットとしての通常動作への移行をせず、アクチュエータ4の制御が実施されない事による、必要最小限の走行機能の維持及び、他のコントロールユニット5を通して、またはコントロールユニット1の機能として、故障の報知を行なう。
【００５８】
また、プログラムの動作としては、外部のツール（一般的には車両ディーラー等が所有している）による、リプログラミング（ROM21の内容の書き換え）の待機状態となる。
【００５９】
図4-2は、本発明の第2の実施形態として解説するところの、バックグラウンド処理にて実施するROM診断制御のフローチャートである。なお、図4-2のS22、S23、S24の処理は図2-2に示した第1の実施形態の処理と同じであるが、本実施形態のROM故障診断処理はバックグラウンド処理として実行される点が第1の実施形態と異なる。
【００６０】
S22では、ROM212の故障診断を実施する。
【００６１】
S23では、ROM212の故障診断結果を判定し、故障検出していれば、S24にてROM212の故障がある事実の記憶を実施すると共に、他のコントロールユニット5を通して、またはコントロールユニット1の機能として、故障の報知を行なう。
【００６２】
図3-1〜図4-2を用いて説明したように、本実施形態では、CPU3は、電源がオンになってからコントロールユニット1（車載制御装置）が他のコントロールユニット5（外部装置）と通信を開始することができる状態になるまでの期間に前述した第1判定部及び第1実行部として動作する。
【００６３】
一方、CPU3は、コントロールユニット1が他のコントロールユニット5と通信を開始することができる状態になった後に第2判定部及び第2実行部として動作する。詳細には、CPU3は、バックグラウンドで前述した第2判定部及び第2実行部として動作する。
【００６４】
第2の実施形態により、従来技術ではメモリ全領域に対しての診断を電源投入時に実施しているのに対し、車両制御に必須なメモリ（ROM211及びRAM221）の診断のみ電源投入時に実施させ、車両制御には使用されないメモリ（ROM212及びRAM222）についての故障検知は、通常の制御を開始した後で実施させる事により、電源投入後、通常の制御が開始されるまでのイニシャル時間を短縮できるので、アクチュエータ4の制御開始や、他のコントロールユニット5との通信確立までの時間を短縮させる事が実現できる。
【００６５】
以上説明したように、本実施形態によれば、メモリの故障に起因するフェールセーフ処理により車両の運転が制限されることを抑制することができる。また、イニシャル時間が短縮するため、車両の操作性が向上する。
【００６６】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００６７】
上記実施形態において、故障情報は、例えば、故障していないRAM211若しくはRAM222に記憶されるが、外部の記憶装置に記憶するようにしてもよい。
【００６８】
上記実施形態において、故障情報は、故障しているメモリの領域を示す領域情報を含むようにしてもよい。また、故障情報は、故障しているメモリの種類（揮発性又は不揮発性）を示す情報を含むようにしてもよい。これにより、故障しているメモリの領域又は種類を特定することができる。
【００６９】
上記実施形態において、車載制御装置は、記憶された故障情報を他のコントロールユニット5（外部装置）に出力する出力部を備えてもよい。すなわち、CPU3は、出力部として機能してもよい。これにより、故障情報をリアルタイムで通知することができる。ここで、故障情報が故障しているメモリの領域又は種類を示す情報を含む場合には、他のコントロールユニット5（外部装置）は、故障しているメモリの領域又は種類に応じて、報知を行うようにしてもよい。
【００７０】
また、上記の各構成、機能等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD（Solid State Drive）等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【００７１】
なお、本発明の実施形態は、以下の態様であってもよい。
【００７２】
（１）車両の制御装置に備えられ、演算処理装置における各種演算に必要な情報を記憶するメモリの故障を診断するメモリの故障診断装置において、前記メモリに区分を設け、その区分は故障診断の対象となるメモリの使用状態によって定められ、故障部位毎の故障検出時の処理を、故障の事実の記憶とフェールセーフ処理を実施する場合と、故障の事実を記憶するのみの場合に分割することを特徴とするメモリの故障診断装置。
【００７３】
（２）車両の制御装置に備えられ、演算処理装置における各種演算に必要な情報を記憶するメモリの故障を診断するメモリの故障診断装置において、前記メモリに区分を設け、その区分は故障診断の対象となるメモリの使用状態によって定められ、故障部位毎の故障検出時の処理を、故障の事実の記憶とフェールセーフ処理を実施するタイミングと、故障の事実を記憶するのみの処理を実施するタイミングを分割することを特徴とするメモリの故障診断装置。
【符号の説明】
【００７４】
１…コントロールユニット
２…メモリ
２１…ＲＯＭ
２１１…ＲＯＭ（使用されているROM領域）
２１２…ＲＯＭ（使用されていないＲＯＭ領域）
２２…ＲＡＭ
２２１…ＲＡＭ（使用されているＲＡＭ領域）
２２２…ＲＡＭ（使用されていないＲＡＭ領域）
３…ＣＰＵ
４…車両駆動用アクチュエータ
５…他のＥＣＵ（エンジンコントロールユニット他）
６…電源、センサ、スイッチ等の入力情報
７…バス（CPUとメモリ間のデータ通信線）
【図１】
0006501703.tif 000002
【図２−１】
0006501703.tif 000003
【図２−２】
0006501703.tif 000004
【図３−１】
0006501703.tif 000005
【図３−２】
0006501703.tif 000006
【図４−１】
0006501703.tif 000007
【図４−２】
0006501703.tif 000008