(57)【要約】      （修正有）【課題】プログラムに異常が発生した場合に、車両機能の維持と、安全性の確保との両立を図る。【解決手段】車両の安全性に関連する車両制御を実行する第１のプログラム、及び、前記安全性に関連する車両制御以外の車両制御を実行する第２のプログラムを格納するＲＯＭと、前記ＲＯＭ内に含まれるデータの異常を検出するＲＯＭ異常検出部と、前記第１のプログラム及び前記第２のプログラムの異常を検出する実行プログラム異常検出部と、前記実行プログラム異常検出部により異常が検出された際に実行されていたプログラムが前記第１のプログラムの場合は、前記ＣＰＵのリセットを実行し、実行されていたプログラムが前記第２のプログラムであった場合であって、前記ＲＯＭ異常検出部により異常が検出されない場合は、前記ＣＰＵのリセット、又は、前記車両の機能制限を実行する異常時処理部を備える。【選択図】図３
2016084050.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
前記ＣＰＵ上で実行されることにより車両の安全性に関連する車両制御を実行する第１のプログラム、及び、前記ＣＰＵ上で実行されることにより前記安全性に関連する車両制御以外の車両制御を実行する第２のプログラムを格納するＲＯＭと、
前記ＲＯＭ内に含まれるデータの異常を検出するＲＯＭ異常検出部と、
前記ＣＰＵ上で実行される前記第１のプログラム及び前記第２のプログラムの異常を検出する実行プログラム異常検出部と、
前記実行プログラム異常検出部により異常が検出された際に実行されていたプログラムが前記第１のプログラムの場合は、前記ＣＰＵのリセットを実行し、前記実行プログラム異常検出部により異常が検出された際に実行されていたプログラムが前記第２のプログラムであった場合であって、前記ＲＯＭ異常検出部により異常が検出されない場合は、前記ＣＰＵのリセット、又は、前記車両の機能制限を実行する異常時処理部を備える、
車両制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両制御装置に関する。
【背景技術】
【０００２】
従来から、車両に発生した異常に対応して車両の機能（例えば、走行機能）を制限する場合に、異常の種類に応じて、制限の程度を変更する技術が知られている（例えば、特許文献１）。
【０００３】
特許文献１では、車両に発生した異常に対応して駆動力を制限する場合に、異常の種類（異常の発生に伴い更なる異常が発生するおそれがあるか否か等）に応じて、段階的に駆動力制限の程度を変更する運転制御装置が記載されている。
【０００４】
このように、車両に発生した異常の種類に応じて、車両の機能を制限する程度を変更することで、車両機能の維持と、安全性の確保との両立を図ることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−３１７３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、車両に発生する異常には、車両の様々な制御を実行する制御装置内のＣＰＵ上で実行されるプログラムの異常が含まれる。このようなＣＰＵ上で実行されるプログラムの異常に関しても、プログラム自体の異常（コードの誤り等）の場合もあれば、プログラムを実行するハードウェア（ＣＰＵやバス等）に起因する異常の場合もあり得る。そのため、本来、発生した異常の種類に応じて、車両の機能を制限することが望ましい。
【０００７】
しかしながら、単に、実行されるプログラムの異常を検出するのみでは、その原因の特定ができないため、異常の種類に関わらず、安全性の確保を優先して、例えば、制御を停止させると共に、ＣＰＵを強制的にリセットする処理等を行わざるを得ない場合がある。
【０００８】
そこで、上記課題に鑑み、車両の各種制御を実行する制御装置内のＣＰＵ上で実行されるプログラムに異常が発生した場合に、車両機能の維持と、安全性の確保との両立を図り、発生した異常の種類に応じて、車両の機能制限を実行することが可能な車両制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、一実施形態において、車両制御装置は、
ＣＰＵと、
前記ＣＰＵ上で実行されることにより車両の安全性に関連する車両制御を実行する第１のプログラム、及び、前記ＣＰＵ上で実行されることにより前記安全性に関連する車両制御以外の車両制御を実行する第２のプログラムを格納するＲＯＭと、
前記ＲＯＭ内に含まれるデータの異常を検出するＲＯＭ異常検出部と、
前記ＣＰＵ上で実行される前記第１のプログラム及び前記第２のプログラムの異常を検出する実行プログラム異常検出部と、
前記実行プログラム異常検出部により異常が検出された際に実行されていたプログラムが前記第１のプログラムの場合は、前記ＣＰＵのリセットを実行し、前記実行プログラム異常検出部により異常が検出された際に実行されていたプログラムが前記第２のプログラムであった場合であって、前記ＲＯＭ異常検出部により異常が検出されない場合は、前記ＣＰＵのリセット、又は、前記車両の機能制限を実行する異常時処理部を備える。
【発明の効果】
【００１０】
本実施の形態によれば、車両の各種制御を実行する制御装置内のＣＰＵ上で実行されるプログラムに異常が発生した場合に、車両機能の維持と、安全性の確保との両立を図り、発生した異常の種類に応じて、車両の機能制限を実行することが可能な車両制御装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る車両制御装置の構成の一例を示すブロック図である。
【図２】車両制御装置におけるメモリ保護機能の一例を示す図である。
【図３】車両制御装置によるアクセス異常時処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して発明を実施するための形態について説明する。
【００１３】
まず、本実施形態に係る車両制御装置１の構成について説明をする。
【００１４】
図１は、本実施形態に係る車両制御装置１の構成の一例を示すブロック図である。車両制御装置１は、ハイブリッド車としての車両１００に搭載され、ハイブリッド車の走行制御や高圧バッテリの充放電制御を実行する。
【００１５】
図１に示すように、本実施形態に係る車両制御装置１は、ＨＶ−ＥＣＵ（Ｅｌｅｃｔｒｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）１０を含む。また、車両１００は、車両制御装置１に関連する構成要素として、駆動力源であるモータ２０、エンジン３０、及び、エンジン３０の始動手段かつエンジン３０を動力源とする交流発電機であるジェネレータ４０を含む。
【００１６】
ＨＶ−ＥＣＵ１０は、ハイブリッド車としての車両１００の走行制御と高圧バッテリの充放電制御を主に実行する電子制御ユニットである。ＨＶ−ＥＣＵ１０は、マイクロコンピュータとして構成され、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、メインメモリ１２、メモリ管理部１３等を含む。ＨＶ−ＥＣＵ１０は、ＣＰＵ１１上でメインメモリ１２に格納される各種プログラムを実行することにより各種制御処理を実行する。
【００１７】
なお、ＨＶ−ＥＣＵ１０は、上記構成要素の他、マイクロコンピュータが一般的に備えるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）  ＲＯＭ、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ、割り込みコントローラ、Ｉ／Ｏ等を備えてよい。
【００１８】
ＣＰＵ１１は、メインメモリ１２に格納される各種プログラムを実行する処理手段である。ＣＰＵ１１は、例えば、命令フェッチユニット、ＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ  Ｌｏｇｉｃ  Ｕｎｉｔ）、ＭＵＬ（乗算器）、ＤＩＶ（除算器）、ＬＳＵ（Ｌｏａｄ  Ｓｔｏｒｅ  Ｕｎｉｔ）等を含む演算ユニット、内部レジスタやキャッシュメモリ等の内部メモリ、プログラムカウンタ等を有する。
【００１９】
メインメモリ１２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。メインメモリ１２には、車両１００の制御に関する第１のプログラム及び第２のプログラムが格納される。また、メインメモリ１２には、第１のプログラム用データ（第１のプログラムをＣＰＵ１１で実行する際に利用するデータ）及び第２のプログラム用データ（第２のプログラムをＣＰＵ１１で実行する際に利用するデータ）等が格納される。
【００２０】
なお、メインメモリ１２に格納される各種プログラムは、ＨＶ−ＥＣＵ１０上のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ、以下単にＯＳと称する）によるタスク管理の下、メインメモリ１２からＣＰＵ１１にロードされ、実行される。また、当該ＯＳは、マルチタスク機能により、複数のプログラムを同時並行して、ＣＰＵ１１上で実行させることができる。
【００２１】
第１のプログラムは、車両１００の安全性に関連する車両制御処理を実行するプログラム（以下、「安全関連プログラム」と称する）である。「車両１００の安全性に関連する車両制御」とは、車両１００の走行に関連する制御のうち、制御に異常が生じた場合に、運転者が当該異常による影響を回避することが困難なものを意味し、より具体的には、制御の異常による影響が即時的に生じるものを意味してよい。第１のプログラムは、例えば、車両１００の走行状態や運転者による操作状態等に応じて、モータ２０の駆動トルク及びエンジン３０の要求出力を算出するためのプログラムである。以下、第１のプログラムは、当該例にかかるプログラムである前提で説明を行う。
【００２２】
第２のプログラムは、車両１００の安全性に関連する車両制御処理以外の車両制御処理（車両１００の安全性に関連しない車両制御処理）を実行するプログラム（以下、「非安全関連プログラム」と称する）である。「車両１００の安全性に関連しない車両制御」とは、車両１００の走行に関連する制御のうち、制御に異常が生じた場合に、運転者が当該異常による影響を回避することが可能なものを意味し、より具体的には、制御の異常による影響が緩やかに（即時的でなく）生じるものを意味してよい。第２のプログラムは、例えば、ジェネレータ４０を駆動して、モータ２０の駆動力源である高圧バッテリ（不図示）の充電を行うためのプログラムである。以下、第２のプログラムは、当該例にかかるプログラムである前提で説明を行う。
【００２３】
図２は、メインメモリ１２のメモリ保護機能の一例を示す図であるが、メインメモリ１２には、第１のプログラムを実行するタスク（第１のプログラム実行タスク）によるアクセスが許可される第１のプログラム領域と第２のプログラムを実行するタスク（第２のプログラム実行タスク）によるアクセスが許可される第２のプログラム領域が設けられる。
【００２４】
図２に示すように、第１のプログラム領域には、第１のプログラム及び第１のプログラム用データが格納され、第２のプログラム領域には、第２のプログラム及び第２のプログラム用データが格納される。ＯＳ及びメモリ管理部１３によるメモリ保護機能によって、第１のプログラム領域には、第１のプログラム実行タスクのみがアクセス可能とされ、第２のプログラム領域には、第２のプログラム実行タスクのみがアクセス可能とされる。第２のプログラム実行タスクによる第１のプログラム領域へのアクセス、及び、第１のプログラム実行タスクによる第２のプログラム領域へのアクセスは、メモリ管理部１３によりアクセス異常（不正アクセス）と判断される。
【００２５】
また、メインメモリ１２は、アクセス異常が発生した場合の処理を実行するプログラム（アクセス異常時処理プログラム）を格納する。アクセス異常時処理プログラムは、メモリ管理部１３からＯＳに対して異常アクセスの通知がされると、ＯＳによる割り込み処理によりＣＰＵ１１上で実行される。アクセス異常時処理の詳細については、後述する。
【００２６】
また、メインメモリ１２は、メインメモリ１２に含まれるデータの異常検出処理を実行するプログラム（メインメモリ異常検出処理プログラム）を格納する。例えば、メインメモリ異常検出処理プログラムは、メインメモリ１２に含まれるデータ内のチェックサムを用いて、メインメモリ１２に含まれるデータの異常検出処理を実行してよい。具体的には、メインメモリ１２のアドレスを順次インクリメントしながら、チェックサムの値を累積的に加算し、予め設定した正しいチェックサムの値との一致性に応じて、メインメモリ１２内のデータが異常か否かを判断してよい。
【００２７】
メモリ管理部１３は、例えば、ＭＭＵ（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）であり、メインメモリ１２のメモリ保護機能を提供する。メモリ管理部１３は、例えば、ＣＰＵ１１からのアクセス要求に含まれる仮想ページ番号とメインメモリ１２の物理ページ番号との所定の対応関係（ページエントリテーブル）に応じて、ＣＰＵ１１からメインメモリ１２へのアクセスを管理する。そして、メモリ管理部１３は、アクセス権のないメインメモリ１２の領域（物理ページ番号）にアクセスしている場合、ＯＳに対して、アクセス異常（不正アクセス）を通知する。
【００２８】
次に、本実施形態に係る車両制御装置１による上述したアクセス異常時処理の詳細について説明をする。
【００２９】
図３は、本実施形態に係る車両制御装置１によるアクセス異常時処理の一例を示すフローチャートである。なお、当該フローチャートは、メモリ管理部１３からのアクセス異常（具体的には、第１のプログラム実行タスクによる第２のプログラム領域へのアクセス、又は、第２のプログラム実行タスクによる第１のプログラム領域へのアクセス）の通知に応じて、ＯＳがアクセス異常時処理プログラムをＣＰＵ１１上で実行することにより実現される。
【００３０】
ステップＳ１０１では、メモリ管理部１３によりアクセス異常の判断がされた際に、ＣＰＵ１１上で実行されていたプログラムが安全関連プログラム（第１のプログラム）か否かを判断する。安全関連プログラムである場合は、ステップＳ１０２に進み、安全関連プログラムでない場合（即ち、非安全関連プログラムの場合）、ステップＳ１０３に進む。
【００３１】
なお、ＣＰＵ１１上で実行されるアクセス異常時処理プログラムは、ＯＳのタスクスケジューリング情報等を参照することにより、メモリ管理部１３によりアクセス異常の判断がされた際に、ＣＰＵ１１上で実行されていたプログラムが安全関連プログラム（第１のプログラム）か否かを判断してよい。
【００３２】
ステップＳ１０２では、ＣＰＵ１１上で実行される全制御を停止させた上で、ＣＰＵ１１のリセット（リセット信号を出力させる処理）を実行し、今回の処理を終了する。
【００３３】
なお、ＣＰＵ１１のリセットは、例えば、ＣＰＵ１１外部に設けられるマニュアルリセット回路のリセットスイッチ（不図示）をリセット信号でＯＮすることにより実現されてよい。
【００３４】
ステップＳ１０３では、非安全関連プログラム（第２のプログラム）の実行を停止させる。
【００３５】
ステップＳ１０４では、上述したメインメモリ異常検出処理プログラムをＣＰＵ１１上で実行させることにより、メインメモリ１２に含まれるデータの異常検出処理を実行する。
【００３６】
ステップＳ１０５では、ステップＳ１０４の処理にて、メインメモリ１２に含まれるデータに異常が検出されたか否かを判定する。異常が検出された場合、今回の処理を終了し、異常が検出されなかった場合、ステップＳ１０６に進む。
【００３７】
ステップＳ１０６では、車両１００の走行機能の制限を要求するフラグ（制限走行要求フラグ）をＯＮにする、或いは、ＣＰＵ１１上で実行される全制御を停止させた上でＣＰＵ１１のリセットを実行して今回の処理を終了する。
【００３８】
なお、ＨＶ−ＥＣＵ１０は、例えば、制限走行要求フラグがＯＮにされた状態にて、モータ２０への要求トルク、エンジン３０への要求出力に対して、比較的低い値に設定される上限値をそれぞれ設定し、当該上限値以下になるようにモータ２０、エンジン３０を制御する。
【００３９】
このように、本実施形態に係る車両制御装置１は、安全関連プログラム実行中に、実行中のプログラムの異常（アクセス異常）が検出された場合、ＣＰＵ１１のリセットを実行する。これにより、車両１００の安全確保を確実に図ることができる。
【００４０】
即ち、安全関連プログラム（第１のプログラム）の実行中に、例えば、アクセス異常（第１のプログラム実行タスクによる第２のプログラム領域へのアクセス）が発生すると、上述のとおり、運転者が当該アクセス異常による影響を回避するのが困難なおそれがある。そのため、安全関連プログラムの実行中に、実行中のプログラムの異常（アクセス異常）が検出された場合は、ＣＰＵ１１上の全制御処理を速やかに停止させ、ＣＰＵ１１のリセットを実行することにより、車両１００の安全確保を確実に図ることができる。
【００４１】
また、本実施形態に係る車両制御装置１は、非安全関連プログラム実行中に、実行中のプログラムの異常（アクセス異常）が検出された場合、非安全関連プログラムの実行を停止させる。これにより、ＯＳのマルチタスク機能により並列処理される安全関連プログラムの実行を確実に継続させることができる。
【００４２】
また、本実施形態に係る車両制御装置１は、非安全関連プログラムの実行中に、実行中のプログラムの異常（アクセス異常）が検出された場合であって、メインメモリ１２に含まれるデータの異常が検出されない場合、ＣＰＵ１１をリセットする、又は、車両１００の走行機能を制限する。一方、本実施形態に係る車両制御装置１は、非安全関連プログラムの実行中に、実行中のプログラムの異常（アクセス異常）が検出された場合であって、メインメモリ１２に含まれるデータの異常が検出される場合、ＣＰＵ１１のリセットや車両１００の走行機能の制限を行わない。これにより、車両１００の機能維持と、安全確保の両立を図り、発生した異常の種類（ＣＰＵ１１上で実行されるプログラム異常の要因）に応じて、車両１００の機能制限を行うことができる。
【００４３】
即ち、メインメモリ１２に含まれるデータの異常が検出されない場合は、メインメモリ１２内の非安全関連プログラム（第２のプログラム）自体の問題ではなく、ＣＰＵ１１やバス等のハードウェアの異常に起因して、実行中の非安全関連プログラムに異常（アクセス異常）が発生したと考えられる。よって、ＣＰＵ１１やバス等のハードウェアの異常に起因して、実行中の安全関連プログラムにも異常が発生する可能性があるため、ＣＰＵ１１のリセットや車両１００の機能制限を実行することで、車両１００の安全確保を図ることができる。一方、メインメモリ１２に含まれるデータの異常が検出される場合は、メインメモリ１２内の非安全関連プログラム（第２プログラム）自体の問題により実行中の非安全関連プログラムに異常（アクセス異常）が発生したと考えられる。よって、ＣＰＵ１１やバス等のハードウェアに異常が発生している可能性は低いため、車両１００の安全関連プログラム（第１のプログラム）の実行は継続して、車両１００の走行機能の維持を図ることができる。
【００４４】
以上、本発明を実施するための形態について詳述したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００４５】
例えば、上述した実施形態における車両制御装置の制御対象となる車両は、ハイブリッド車であったが、エンジンのみを駆動力源とする車両、モータのみを駆動力源とする電動車両（電気自動車）、レンジエクステンダー車、水素自動車等、任意の車両であってよい。
【符号の説明】
【００４６】
１  車両制御装置
１０  ＨＶ−ＥＣＵ
１１  ＣＰＵ
１２  メインメモリ（ＲＯＭ）
１３  メモリ管理部（実行プログラム異常検出部）
２０  モータ
３０  エンジン
４０  ジェネレータ
【図１】
2016084050.tif 000003
【図２】
2016084050.tif 000004
【図３】
2016084050.tif 000005