(57)【要約】【課題】メモリ異常の検出遅れを防止しつつ、マイコンの処理負荷を抑えることが可能なメモリ診断装置を提供する。【解決手段】メモリ診断装置４１は、制御対象を制御するための制御出力を逐次出力する制御装置４０が用いるメモリ（ＲＡＭ３２）の診断を行うものであり、以下の記憶部５１、比較部５２およびメモリ診断部５３を備える。記憶部５１は、制御装置４０が出力した制御出力の値を記憶する。比較部５２は、制御出力の現在の値と前回の値とから制御出力の変化量を求め、制御出力の変化量と予め定められた閾値とを比較する。メモリ診断部５３は、制御出力の変化量が閾値よりも大きければメモリの診断を実施し、制御出力の変化量が閾値以下であればメモリの診断を実施しない。【選択図】図２
2018106458.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御するための制御出力を逐次出力する制御装置が用いるメモリの診断を行うメモリ診断装置であって、
前記制御装置が出力した前記制御出力の値を記憶する記憶部と、
前記制御出力の現在の値と前回の値とから前記制御出力の変化量を求め、前記制御出力の変化量と予め定められた閾値とを比較する比較部と、
前記制御出力の変化量が前記閾値よりも大きければ前記メモリの診断を実施し、前記制御出力の変化量が前記閾値以下であれば前記メモリの診断を実施しないメモリ診断部と、
を備える
メモリ診断装置。
【請求項２】
前記メモリ診断部は、前記メモリの診断を不実施とした連続回数が規定の回数に達したときは、前記制御出力の変化量が前記閾値以下であっても前記メモリの診断を実施する、
請求項１に記載のメモリ診断装置。
【請求項３】
前記メモリの置かれた環境を示す環境情報を取得する環境情報取得部と、
前記環境情報に基づいて前記メモリの診断の要否を判断する診断要否判定部と、
をさらに備え、
前記メモリ診断部は、前記診断要否判定部が前記メモリの診断を必要と判断したときは、前記制御出力の変化量が前記閾値以下であっても前記メモリの診断を実施する、
請求項１または請求項２に記載のメモリ診断装置。
【請求項４】
前記診断要否判定部は、前記メモリの異常が生じやすい環境または過去に異常が生じた環境を記憶しており、
前記診断要否判定部は、前記環境情報取得部が取得した環境情報の示す環境が、前記メモリの異常が生じやすい環境または過去に異常が生じた環境に当てはまれば、前記メモリの診断が必要と判断する、
請求項３に記載のメモリ診断装置。
【請求項５】
請求項１から請求項４のいずれか一項に記載のメモリ診断装置と、
前記制御対象を車両または車両の一部とする前記制御装置と、
を備える車両制御装置であって、
前記制御装置は、前記メモリ診断部により前記メモリの異常が検出されると、前記車両のフェールセーフ処理を行う、
車両制御装置。
【請求項６】
制御対象を制御するための制御出力を逐次出力する制御装置が用いるメモリの診断を行うメモリ診断装置におけるメモリ診断方法であって、
前記メモリ診断装置の記憶部が、前記制御装置が出力した前記制御出力の値を記憶し、
前記メモリ診断装置の比較部が、前記制御出力の現在の値と前回の値とから前記制御出力の変化量を求め、前記制御出力の変化量を予め定められた閾値と比較し、
前記メモリ診断装置のメモリ診断部が、前記制御出力の変化量が前記閾値よりも大きければ前記メモリの診断を実施し、前記制御出力の変化量が前記閾値以下であれば前記メモリの診断を実施しない、
メモリ診断方法。
【請求項７】
前記メモリ診断部は、前記メモリの診断を不実施とした連続回数が規定の回数に達したときは、前記制御出力の変化量が前記閾値以下であっても前記メモリの診断を実施する、
請求項６に記載のメモリ診断方法。
【請求項８】
前記メモリ診断装置の環境情報取得部が、前記メモリの置かれた環境を示す環境情報を取得し、
前記メモリ診断装置の診断要否判定部が、前記環境情報に基づいて前記メモリの診断の要否を判断し、
前記メモリ診断部は、前記診断要否判定部が前記メモリの診断を必要と判断したときは、前記制御出力の変化量が前記閾値以下であっても前記メモリの診断を実施する、
請求項６または請求項７に記載のメモリ診断方法。
【請求項９】
前記診断要否判定部は、前記メモリが故障しやすい環境または過去に故障したときの環境を記憶しており、
前記診断要否判定部は、前記環境情報取得部が取得した環境情報の示す環境が、前記メモリが故障しやすい環境または過去に故障したときの環境に当てはまれば、前記メモリの診断が必要と判断する、
請求項８に記載のメモリ診断方法。
【請求項１０】
前記制御装置が制御する前記制御対象が車両または車両の一部であり、
請求項６から請求項９のいずれか一項に記載のメモリ診断方法を実施し、
前記メモリ診断部により前記メモリの異常が検出されると、前記制御装置が、前記車両のフェールセーフ処理を行う、
車両制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ診断装置およびそれを備える車両制御装置に関するものである。
【背景技術】
【０００２】
車両の電子制御技術の発達に伴い、車両制御システムのメモリ診断装置の開発が進んでいる。例えば、下記の特許文献１には、車両制御用ＥＣＵ（Electronic Control Unit）が備えるマイコンのメモリの記憶領域を記憶されるデータの重要度（データの異常が車両の安全性に与える影響度）に応じて複数のブロックに分け、重要度の高いデータが記憶されるブロックほど高い頻度で診断する技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４０４２４６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のように、メモリの一部の記憶領域に対する診断の頻度を下げることで、メモリの診断にかかるマイコンの処理負荷を小さくできる。しかし、診断の頻度を下げることは、メモリ異常の検出遅れに繋がる。たとえ重要度の低いデータの記憶領域であったとしても、メモリ異常の検出が遅れるのは好ましくない。
【０００５】
本発明は上記のような課題を解決するためになされたものであり、メモリ異常の検出遅れを防止しつつ、マイコンの処理負荷を抑えることが可能なメモリ診断装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るメモリ診断装置は、メモリ診断装置は、制御対象を制御するための制御出力を逐次出力する制御装置が用いるメモリの診断を行うメモリ診断装置であって、前記制御装置が出力した前記制御出力の値を記憶する記憶部と、前記制御出力の現在の値と前回の値とから前記制御出力の変化量を求め、前記制御出力の変化量と予め定められた閾値とを比較する比較部と、前記制御出力の変化量が前記閾値よりも大きければ前記メモリの診断を実施し、前記制御出力の変化量が前記閾値以下であれば前記メモリの診断を実施しないメモリ診断部と、を備えるものである。
【発明の効果】
【０００７】
本発明によれば、メモリ診断装置の負荷軽減のためにメモリの診断頻度を下げた場合でも、出力装置が出力した制御出力の変化量が大きくなるとメモリの診断が行われるため、メモリ異常の検出遅れを防止することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係るメモリ診断装置を備える車両制御システムの構成を示す図である。
【図２】実施の形態１に係るメモリ診断装置の構成を示す図である。
【図３】メモリ診断履歴の例を示す図である。
【図４】実施の形態１に係るメモリ診断装置の動作を示す図である。
【図５】実施の形態１に係るメモリ診断装置が行うメモリ診断タスクを示すフローチャートである。
【図６】メモリ診断が実施されたときの車両制御装置の動作を示すフローチャートである。
【図７】実施の形態２に係るメモリ診断装置を備える車両制御システムの構成を示す図である。
【図８】実施の形態２に係るメモリ診断装置の構成を示す図である。
【図９】実施の形態２に係るメモリ診断装置の動作を示す図である。
【図１０】実施の形態２に係るメモリ診断装置の動作を示すフローチャートである。
【発明を実施するための形態】
【０００９】
＜実施の形態１＞
以下に示す実施の形態では、本発明に係るメモリ診断装置を車両制御システムに適用した例を示す。ただし、本発明に係るメモリ診断装置の適用は、車両制御システムに限定されず、メモリの診断を行うあらゆるシステムに適用可能である。
【００１０】
図１は、実施の形態１に係るメモリ診断装置を備える車両制御システムの構成を示す図である。図１に示すように、当該車両制御システムは、車両制御装置１０と、車両制御装置１０が制御する車両に搭載された各種のセンサ１１、各種のアクチュエータ１２およびバッテリ１３とを含んでいる。
【００１１】
車両制御装置１０は、車両または車両の一部を電子制御するＥＣＵである。センサ１１は、車両の状態を示す情報を取得するものであり、例えばスロットルポジションセンサや吸気温センサ等である。アクチュエータ１２は、車両の駆動装置であり、例えばインジェクタ（燃料噴射装置）、スロットル開度調節用のモータ、電動パワーステアリング（ＥＰＳ）などがある。バッテリ１３は、車両制御装置１０に電力を供給する電源である。
【００１２】
車両制御装置１０は、バッテリ１３からの電力で駆動され、センサ１１から入力される情報に基づいて、アクチュエータ１２を制御する。つまり、本実施の形態において、車両制御装置１０の制御対象はアクチュエータ１２である。
【００１３】
車両制御装置１０は、マイコン２０、入出力回路２１および電源ＩＣ２２を備えている。入出力回路２１は、センサ１１からの信号をマイコン２０に入力したり、マイコン２０からの指令に応じてアクチュエータ１２へ駆動信号を出力したりする。電源ＩＣ２２は、バッテリ１３からの電力を受け、マイコン２０および入出力回路２１に一定の電源電圧を供給する。ここで、電源ＩＣ２２は、マイコン２０からウォッチドッグパルスが出力されなくなるとマイコン２０へリセット信号を出力する、いわゆるウォッチドッグタイマ機能（暴走監視機能）を備えていてもよい。
【００１４】
マイコン２０は、バスを介して相互接続されたＣＰＵ（Central Processing Unit）３０、ＲＯＭ（Read Only Memory）３１、ＲＡＭ（Random Access Memory）３２およびＩ／Ｏインタフェース３３を備えている。ＲＯＭ３１には、ＣＰＵ３０が実行するプログラムおよびそのプログラムの実行時に参照される固定データ等が格納されている。ＲＡＭ３２には、ＣＰＵ３０が行う演算に用いられるデータが記録される。Ｉ／Ｏインタフェース３３は、ＣＰＵ３０、ＲＯＭ３１およびＲＡＭ３２が接続されたバスと入出力回路２１および電源ＩＣ２２との間で信号の入出力を行う。
【００１５】
ＣＰＵ３０は、制御装置４０およびメモリ診断装置４１を備えている。制御装置４０は、制御対象であるアクチュエータ１２を制御するための制御出力を、予め定められた間隔で逐次出力する。例えば、アクチュエータ１２が電動パワーステアリング（ＥＰＳ）の場合、制御出力は、ステアリングの目標舵角や目標操舵トルク、ＥＰＳモータ電流指令値などを示すものとなる。制御装置４０は、センサ１１から取得した情報に基づく演算によって制御出力を生成し、その演算にはＲＡＭ３２が使用される。
【００１６】
なお、制御対象の制御周期（すなわち制御出力の出力周期）は、制御処理の内容に応じて変化してもよい。また、制御対象が複数ある場合、それぞれの制御処理の優先度が変化してもよい。例えば、ＩＳＯ２６２６２に規定されるＡＳＩＬ（Automotive Safety Integrity Level）のレベルが高い処理ほど、高い優先度を与えるようにするとよい。
【００１７】
メモリ診断装置４１は、制御装置４０が動作している間、ＲＡＭ３２の診断を行うことによりＲＡＭ３２の異常を検出する。以下、メモリ診断装置４１が行うＲＡＭ３２の診断のことを単に「メモリ診断」という。メモリ診断の方法は任意のものでよく、例えば、ミラーチェック、サムチェック、ＣＲＣ（Cyclic Redundancy Check）チェックなどの方法が考えられる。
【００１８】
制御装置４０およびメモリ診断装置４１は、ＣＰＵ３０がＲＯＭ３１に格納されているプログラムを実行することによって実現される。すなわち、制御装置４０およびメモリ診断装置４１は、マイコン２０に実装されたソフトウェアである。図１では、制御装置４０とメモリ診断装置４１が１つのＣＰＵによって構成された例を示しているが、それらはそれぞれ個別のＣＰＵで構成されていてもよい。
【００１９】
図２は、メモリ診断装置４１の構成を示す機能ブロック図である。図２のように、メモリ診断装置４１は、記憶部５１、比較部５２およびメモリ診断部５３を備えている。記憶部５１は、制御装置４０が出力した制御出力の値を記憶する。比較部５２は、制御装置４０が出力している制御出力の現在の値と、記憶部５１に記憶されている制御出力の前回の値とから制御出力の変化量を算出し、制御出力の変化量と予め定められた閾値とを比較して、制御出力の変化量が閾値を超えているか否かを判断する。
【００２０】
本実施の形態では、制御出力の閾値も記憶部５１に記憶されているものとする。制御出力の閾値は、アクチュエータ１２の種類ごとに異なる値となる。また、制御出力の閾値は固定値でなくてもよく、例えば、車両の状態（車速など）に応じて閾値をダイナミックに変化させてもよい。
【００２１】
メモリ診断部５３は、メモリ診断を実施するためのタスク（以下「メモリ診断タスク」という）を予め定められた周期で実行する。ただし、個々のメモリ診断タスクで、必ずしもメモリ診断が実施されるとは限らない。メモリ診断部５３は、比較部５２が制御出力の変化量と閾値とを比較した結果を参照し、制御出力の変化量が閾値よりも大きければメモリ診断を実施するが、制御出力の変化量が閾値以下であれば当該診断を不実施とする。
【００２２】
記憶部５１には、メモリ診断タスクごとにメモリ診断が行われたかどうかの履歴（以下「メモリ診断履歴」という）も記憶される。図３に、記憶部５１に記憶されるメモリ診断履歴の例を示す。
【００２３】
本実施の形態では、メモリ診断部５３が、記憶部５１に記憶されているメモリ診断履歴を参照し、メモリ診断タスクでメモリ診断を不実施とした連続回数（以下「メモリ診断不実施回数」という）が規定回数に達しているか否かを確認する。メモリ診断不実施回数が規定回数に達していれば、メモリ診断部５３は、制御出力の変化量が閾値以下であるか否かに関わらず、メモリ診断を実施する。それにより、メモリ診断が長時間実施されなくなることが防止される。
【００２４】
メモリ診断部５３の動作をまとめると図４に示すようになる。図４のように、制御装置４０が出力する制御出力の変化量が閾値よりも大きい場合、または、メモリ診断不実施回数が規定回数に達した場合のいずれかに該当すれば、メモリ診断部５３がメモリ診断を実施する。一方、制御出力の変化量が閾値よりも小さく、且つ、メモリ診断不実施回数が規定回数に達していない場合には、メモリ診断は実施されない。
【００２５】
図５は、実施の形態１に係るメモリ診断装置４１が行うメモリ診断タスクを示すフローチャートである。図５を参照しつつ、メモリ診断装置４１の動作を説明する。
【００２６】
車両制御装置１０を搭載した車両がオンになり、マイコン２０に電源ＩＣ２２から電源が供給されると、制御装置４０およびメモリ診断装置４１が起動する。図５には示されていないが、制御装置４０が出力した制御出力の値は、メモリ診断装置４１の記憶部５１に随時記憶される。
【００２７】
メモリ診断装置４１が起動した後、メモリ診断タスクの実行周期になると（ステップＳ１０１でＹＥＳ）、メモリ診断部５３は、記憶部５１に記憶されているメモリ診断履歴を参照し、メモリ診断不実施回数が規定回数に達しているか否かを確認する（ステップＳ１０２）。
【００２８】
メモリ診断不実施回数が規定回数に達していなければ（ステップＳ１０２でＮＯ）、比較部５２が、制御装置４０が出力している制御出力の現在の値と、記憶部５１に記憶されている制御出力の前回の値とから制御出力の変化量を求め、制御出力の変化量が閾値を超えているか否かを判断する（ステップＳ１０３）。
【００２９】
メモリ診断不実施回数が規定回数に達しておらず（ステップＳ１０２でＮＯ）、且つ、制御出力の変化量が閾値を超えていない場合（ステップＳ１０３でＮＯ）には、メモリ診断部５３はメモリ診断を不実施とする（ステップＳ１０４）。そして、メモリ診断部５３は、メモリ診断を不実施とした旨をメモリ診断履歴として記憶部５１に記録する（ステップＳ１０６）。
【００３０】
一方、メモリ診断不実施回数が規定回数に達した場合（ステップＳ１０２でＹＥＳ）、または、制御出力の変化量が閾値を超えている場合（ステップＳ１０３でＹＥＳ）には、メモリ診断部５３はメモリ診断を実施する（ステップＳ１０５）。そして、メモリ診断部５３は、メモリ診断を実施した旨をメモリ診断履歴として記憶部５１に記録する（ステップＳ１０６）。
【００３１】
なお、メモリ診断装置４１が動作を継続している間（ステップＳ１０７でＮＯ）、上記のステップＳ１０１〜Ｓ１０６が繰り返し実行される。例えば車両がオフにされたときや、電源ＩＣ２２がオフにされたときには、メモリ診断装置４１は動作を終了し（ステップＳ１０７でＹＥＳ）、図５のフローは終了する。
【００３２】
本実施の形態に係るメモリ診断装置４１では、メモリ診断不実施回数の上限（ステップＳ１０２の「規定回数」に相当）を大きな値に設定すれば、メモリ診断が実施される間隔が長くなるため、メモリ診断装置４１の演算負荷（すなわちＣＰＵ３０の演算負荷）を抑制できる。それにより、マイコン２０として低スペックのものを採用して、車両制御装置１０のコストダウンを図ることができる。
【００３３】
また、制御装置４０が出力する制御出力の変化量が閾値よりも大きくなったときには、メモリ診断不実施回数が規定回数に達していなくてもメモリ診断が実施され、制御出力に生じた大きな変化がＲＡＭ３２の異常に起因するものでないか確認される。よって、メモリ診断不実施回数の上限が大きな値に設定された場合でも、メモリの異常の検出遅れを防止することができる。
【００３４】
また、ＲＡＭ３２の記憶領域を複数のブロックに分けて、メモリ診断不実施回数の上限をブロックごとに異なる値としてもよい。その場合、メモリ診断部５３はメモリ診断をブロックごとに行い、記憶部５１にはブロックごとのメモリ診断履歴が記録される。制御対象が車両である場合、ＩＳＯ２６２６２に規定されるＡＳＩＬに従ってＲＡＭ３２の記憶領域を分割してもよい。すなわち、ＡＳＩＬレベルの高い処理に用いられるブロックほど、メモリ診断不実施回数の上限を小さくして、メモリ診断の頻度を上げるとよい。そうすることで、車両の安全性への影響度が高いデータが記憶されるブロックほど、異常を早く検出できるようになり、車両の安全性を向上させることができる。
【００３５】
また本実施の形態の車両制御装置１０では、メモリ診断装置４１がメモリ診断を行ってＲＡＭ３２の異常が検出された場合、制御装置４０が車両のフェールセーフ処理を行う。フェールセーフ処理とは、システムの異常が発生したときに安全な方向に導くための処理をいう。
【００３６】
図６は、メモリ診断が実施されたときの車両制御装置１０の動作を示すフローチャートである。つまり、図６のフローは、図５のフローのステップＳ１０５が実行されたときに、制御装置４０によって実行される。ここで、メモリ診断装置４１は、メモリ診断によりＲＡＭ３２の異常が検出されると、その旨を制御装置４０へ通知するように動作するものとする。
【００３７】
メモリ診断装置４１によってメモリ診断が実施され（ステップＳ１５１）、その結果、ＲＡＭ３２の異常が検出された場合（ステップＳ１５２でＹＥＳ）、制御装置４０はフェールセーフ処理として予め定められた処理を行う（ステップＳ１５３）。一方、ＲＡＭ３２の異常が検出されなければ（ステップＳ１５２でＮＯ）、そのまま図６のフローは終了する。
【００３８】
フェールセーフ処理の例としては、車両のメータパネル内にある異常警告ランプを点灯させる処理などがある。また、フェールセーフ処理として、マイコン２０をリセットしてもよい。例えば、車両制御装置１０にマイコン２０をリセットするリセット回路を設けておき、ＲＡＭ３２の異常が検出されたときに、制御装置４０がフェールセーフ処理としてリセット回路を動作させるようにするとよい。マイコン２０をリセットするフェールセーフ処理は、ＲＡＭ３２の異常がハードウェア的な異常でなくデータの一時的な異常である場合に、ＲＡＭ３２を正常な状態へ復帰させることができ、有効である。マイコン２０をリセットしても同じ異常が繰り返し検出される場合には、異常警告ランプを点灯させるなど、他のフェールセーフ処理が行われるとよい。
【００３９】
以上のように、本実施の形態に係るメモリ診断装置４１によれば、ＣＰＵ３０の演算負荷を小さくするためにメモリ診断不実施の連続回数の上限を大きくした場合でも、制御装置４０が出力する制御出力の変化量が閾値よりも大きくなればメモリ診断が実施されるため、メモリ異常の検出遅れが防止される。また、メモリ診断装置４１によりＲＡＭ３２の異常が検出されたときに、車両制御装置１０がフェールセーフ処理を行うことで、車両の安全性を向上させることができる。
【００４０】
＜実施の形態２＞
図７は、実施の形態２に係るメモリ診断装置を備える車両制御システムの構成を示す図である。図７の車両制御システムの構成は、図１の構成に対し、車両制御装置１０に通信装置２３を追加したものとなっている。通信装置２３は、例えば他の車両の通信機やインフラ設備としての情報配信装置との通信により、各種の情報を取得する。
【００４１】
また図８は、実施の形態２に係る車両制御装置１０が備えるメモリ診断装置４１の構成を示す図である。図８のメモリ診断装置４１の構成は、図２の構成に対し、環境情報取得部５４および診断要否判定部５５を追加した構成となっている。
【００４２】
環境情報取得部５４は、センサ１１あるいは通信装置２３を通して、車両制御装置１０の置かれた環境（すなわちＲＡＭ３２の置かれた環境）を示す情報である環境情報を取得する。環境情報取得部５４が取得する環境情報は、車両制御装置１０の動作の信頼性に影響するものであり、例えば、温度環境、湿度環境など雰囲気に関する情報や、電気的環境を示す情報、振動環境を示す情報などが挙げられる。
【００４３】
温度環境を示す情報は、気温の情報の他、日射状況、時刻（昼か夜か）、現在位置（車両が走行中の地点または地域）、車両の走行状態（例えば、走行中か停止中か、上り坂を走行中か否か、高速道路を走行中か否か）などを示す情報でもよい。湿度環境を示す情報は、大気湿度の情報の他、結露の有無、降雨の有無、洗車中かどうか等などの耐水環境を示す情報でもよい。その他の雰囲気に関する状態を示す情報としては、火山地域かどうか、埃の量、塩分の量、油脂類の量などを示す情報が考えられる。電気的環境を示す情報としては、電磁波障害の有無、静電気放電の有無などがある。振動環境を示す情報としては、路面状況に起因する振動または音の大きさや周波数などがある。環境情報は、以上の例に限られず、車両制御装置１０の動作の信頼性に関係するものであればどのような情報でもよい。
【００４４】
環境情報は、センサ１１あるいは通信装置２３により取得される。通信装置２３としては、例えば、ＧＰＳ（Global Positioning System）装置、車載通信機、ナビゲーションシステム等などが考えられる。ＧＰＳ装置は、複数のＧＰＳ衛星から測位信号を受信して、自己の位置を測位するものである。車載通信機は、他の車両との間の車車間通信や、路側機との間の路車間通信を行うものである。ナビゲーションシステムは、ＧＰＳ装置から得られた位置情報と、地図情報とに基づいて、車両が位置する地点または地域を特定したり、車両の走行予定経路を取得したりするものである。
【００４５】
また、環境情報を取得するセンサ１１としては、温度センサ、湿度センサ、降雨センサ、速度センサ、加速度センサ、方位センサ、振動センサ、前方・側方センサなどが考えられる。前方・側方センサは、ミリ波レーダーや超音波ソナーなどで構成され、車両の周囲に存在する他の車両、歩行者、障害物などの位置および移動速度を検出することができる。その他、車載カメラもセンサ１１に含まれていてもよい。
【００４６】
診断要否判定部５５は、センサ１１あるいは通信装置２３を通して環境情報取得部５４が取得した環境情報に基づき、メモリ診断の要否を判断する。診断要否判定部５５は、ＲＡＭ３２の異常（ハードウェア異常、ソフトウェア異常、センサ異常を含む）が生じやすい環境、または、過去にＲＡＭ３２の異常が生じた環境を記憶しており、環境情報取得部５４が取得した環境情報が示す環境が、ＲＡＭ３２の異常が生じやすい環境または過去に異常が生じた環境に当てはまれば、メモリ診断が必要と判断する。
【００４７】
ＲＡＭ３２の異常が生じやすい環境は、ＪＩＳ（日本工業規格）、ＪＡＳＯ（日本自動車企画）、ＳＡＥ（アメリカ自動車技術会）などの規格で定められる自動車部品の信頼性要求、例えば「温度の下限値は−１０℃」や「振動環境は１〜１０００Ｈｚ」などのような基準を満たさない環境として規定することができる。過去にＲＡＭ３２の異常が生じた環境としては、例えば、過去に異常が検出された場所（地点または地域）などが考えられる。
【００４８】
実施の形態２では、メモリ診断不実施回数が規定回数に達した場合、および、制御装置４０が出力した制御出力の変化量が閾値以下であった場合だけでなく、環境情報取得部５４によりメモリの診断を必要と判断された場合にも、メモリ診断部５３がメモリ診断を実施する。つまり実施の形態２では、環境情報取得部５４によりメモリの診断を必要と判断されれば、メモリ診断部５３は、制御出力の変化量が閾値以下であってもメモリ診断を実施する。上記したメモリ診断部５３の動作は、図９のように表すことができる。
【００４９】
図１０は、実施の形態２に係るメモリ診断装置４１が行うメモリ診断タスクを示すフローチャートである。図１０を参照しつつ、メモリ診断装置４１の動作を説明する。
【００５０】
車両制御装置１０を搭載した車両がオンになり、マイコン２０に電源ＩＣ２２から電源が供給されると、制御装置４０およびメモリ診断装置４１が起動する。図１０には示されていないが、制御装置４０が出力した制御出力の値は、メモリ診断装置４１の記憶部５１に随時記憶される。
【００５１】
メモリ診断装置４１が起動した後、メモリ診断タスクの実行周期になると（ステップＳ２０１でＹＥＳ）、メモリ診断部５３は、記憶部５１に記憶されているメモリ診断履歴を参照し、メモリ診断不実施回数が規定回数に達しているか否かを確認する（ステップＳ２０２）。
【００５２】
メモリ診断不実施回数が規定回数に達していなければ（ステップＳ２０２でＮＯ）、比較部５２が、制御装置４０が出力している制御出力の現在の値と、記憶部５１に記憶されている制御出力の前回の値とから制御出力の変化量を求め、制御出力の変化量が閾値を超えているか否かを判断する（ステップＳ２０３）。
【００５３】
メモリ診断不実施回数が規定回数に達しておらず（ステップＳ２０２でＮＯ）、且つ、制御出力の変化量が閾値を超えていない場合（ステップＳ２０３でＮＯ）、メモリ診断部５３は、環境情報取得部５４によりメモリの診断が必要と判断されているか否かを確認する（ステップＳ２０４）。
【００５４】
環境情報取得部５４によりメモリの診断が必要と判断されていなければ（ステップＳ２０４でＮＯ）、メモリ診断部５３はメモリ診断を不実施とする（ステップＳ２０５）。そして、メモリ診断部５３は、メモリ診断を不実施とした旨をメモリ診断履歴として記憶部５１に記録する（ステップＳ２０７）。
【００５５】
一方、メモリ診断不実施回数が規定回数に達した場合（ステップＳ２０２でＹＥＳ）、または、制御出力の変化量が閾値を超えている場合（ステップＳ２０３でＹＥＳ）、または、環境情報取得部５４によりメモリの診断が必要と判断されている場合（ステップＳ２０４でＹＥＳ）には、メモリ診断部５３はメモリ診断を実施する（ステップＳ２０６）。そして、メモリ診断部５３は、メモリ診断を実施した旨をメモリ診断履歴として記憶部５１に記録する（ステップＳ２０７）。
【００５６】
なお、メモリ診断装置４１が動作を継続している間（ステップＳ２０８でＮＯ）、上記のステップＳ２０１〜Ｓ２０７が繰り返し実行される。しかし、例えば車両がオフにされたときや、電源ＩＣ２２がオフにされたときには、メモリ診断装置４１が動作を終了し（ステップＳ２０８でＹＥＳ）、図１０のフローは終了する。
【００５７】
本実施の形態に係るメモリ診断装置４１では、メモリ診断不実施回数の上限を大きな値に設定すれば、メモリ診断が行われる間隔が長くなるため、メモリ診断装置４１の演算負荷を抑制できる。それにより、マイコン２０として低スペックのものを採用して、車両制御装置１０のコストダウンを図ることができる。
【００５８】
また、制御装置４０が出力する制御出力の変化量が閾値よりも大きくなったときや、ＲＡＭ３２の異常が生じやすい環境、または過去にＲＡＭ３２の異常が生じたときと同じ環境になった場合には、メモリ診断不実施回数が規定回数に達していなくてもメモリ診断が実施される。よって、メモリ診断不実施回数の上限が大きな値に設定された場合でも、メモリの異常の検出遅れを防止することができる。
【００５９】
本実施の形態でも、ＲＡＭ３２の記憶領域を複数のブロックに分け、メモリ診断不実施回数の上限をブロックごとに異なる値としてもよい。その場合、メモリ診断部５３はメモリ診断をブロックごとに行い、記憶部５１にはブロックごとのメモリ診断履歴が記録される。
【００６０】
また本実施の形態においても、車両制御装置１０は、メモリ診断装置４１がメモリ診断を行ってＲＡＭ３２の異常を検出した場合に、制御装置４０が車両のフェールセーフ処理を行うとよい。すなわち、図１０のフローのステップＳ２０６が実行されたときに、制御装置４０が、図６のフローを実行するとよい。
【００６１】
以上のように、本実施の形態に係るメモリ診断装置４１によれば、ＣＰＵ３０の演算負荷を小さくするためにメモリ診断不実施の連続回数の上限を大きくした場合でも、制御装置４０が出力する制御出力の変化量が閾値よりも大きくなったとき、さらには、ＲＡＭ３２の異常が生じやすい環境または過去にＲＡＭ３２の異常が生じたときと同じ環境になった場合にメモリ診断が実施されるため、メモリの異常の検出遅れを防止することができる。また、メモリ診断装置４１によりＲＡＭ３２の異常が検出されたときに、車両制御装置１０がフェールセーフ処理を行うことで、車両の安全性を向上させることができる。
【００６２】
上の説明では、診断要否判定部５５が、環境情報取得部５４が取得した環境情報に基づいて、メモリ診断の要否を判断するものとしたが、例えば、メモリ診断の要否が他の車両やインフラ設備で判断されてもよい。例えば、インフラ設備から送信されたメモリ診断指示を通信装置２３が受信した場合に、診断要否判定部５５がメモリ診断の実施を必要と判断するようにしてもよい。
【００６３】
また、上記した実施の形態では、メモリ診断装置４１がＲＡＭ３３の診断を行うように説明したが、ＲＯＭ３１の診断も同様の手法で行うことができる。また、メモリ診断装置４１がＲＯＭ３１の診断を行う場合も、ＲＡＭ３２の場合と同様に、車両の安全性を向上させることができる。
【００６４】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせ、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【００６５】
１０  車両制御装置、１１  センサ、１２  アクチュエータ、１３  バッテリ、２０  マイコン、２１  入出力回路、２２  電源ＩＣ、２３  通信装置、３０  ＣＰＵ、３１  ＲＯＭ、３２  ＲＡＭ、３３  Ｉ／Ｏインタフェース、４０  制御装置、４１  メモリ診断装置、５１  記憶部、５２  比較部、５３  メモリ診断部、５４  環境情報取得部、５５  診断要否判定部。
【図１】
2018106458.tif 000003
【図２】
2018106458.tif 000004
【図３】
2018106458.tif 000005
【図４】
2018106458.tif 000006
【図５】
2018106458.tif 000007
【図６】
2018106458.tif 000008
【図７】
2018106458.tif 000009
【図８】
2018106458.tif 000010
【図９】
2018106458.tif 000011
【図１０】
2018106458.tif 000012