(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024135757
(43)【公開日】2024-10-04
(54)【発明の名称】車両制御装置
(51)【国際特許分類】
G06F 9/455 20180101AFI20240927BHJP
B60R 16/02 20060101ALI20240927BHJP
【FI】
G06F9/455 150
B60R16/02 660T
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023046609
(22)【出願日】2023-03-23
(71)【出願人】
【識別番号】509186579
【氏名又は名称】日立Astemo株式会社
(74)【代理人】
【識別番号】110001829
【氏名又は名称】弁理士法人開知
(72)【発明者】
【氏名】吉村 健太郎
(72)【発明者】
【氏名】溝口 将史
(72)【発明者】
【氏名】前田 功治
(72)【発明者】
【氏名】石郷岡 祐
(72)【発明者】
【氏名】前濱 宏樹
(72)【発明者】
【氏名】芹沢 一
(57)【要約】
【課題】複数のデバイスをそれぞれ制御する複数のアプリケーションを互いの独立性を担保しつつ実行可能な車両制御装置を提供する。
【解決手段】複数のデバイス2,3,4を制御する車両制御装置1において、複数のデバイス2,3,4との間で信号の入出力を行うデバイス入出力部16a,16b,16cと、複数のデバイス2,3,4に対応した、互いに隔離された複数のアプリケーション実行環境11,12,13とを備え、複数のアプリケーション実行環境11,12,13は、複数のデバイス入出力部16a,16b,16cに対応した複数の仮想入出力部112,122,132を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のデバイスを制御する車両制御装置において、
前記複数のデバイスとの間で信号の入出力を行う複数のデバイス入出力部と、
前記複数のデバイスに対応した、互いに隔離された複数のアプリケーション実行環境とを備え、
前記複数のアプリケーション実行環境は、前記複数のデバイス入出力部に対応した複数の仮想入出力部を有する
ことを特徴とする車両制御装置。
【請求項2】
請求項1に記載の車両制御装置において、
前記複数のアプリケーション実行環境は、前記複数のデバイスと前記車両制御装置とを接続している配線に対応した複数の仮想入出力インタフェースを有する
ことを特徴とする車両制御装置。
【請求項3】
請求項2に記載の車両制御装置において、
前記複数の仮想入出力インタフェースに対する入出力要求を前記複数のデバイス入出力部への入出力へと変換する仮想入出力管理部を備える
ことを特徴とする車両制御装置。
【請求項4】
請求項3に記載の車両制御装置において、
前記仮想入出力管理部は、前記複数の仮想入出力部の動作状況を監視する
ことを特徴とする車両制御装置。
【請求項5】
請求項4に記載の車両制御装置において、
前記仮想入出力管理部は、前記複数の仮想入出力部が所定の時間内に処理を完了するか否かを監視し、前記複数の仮想入出力部のうち特定の仮想入出力部が前記所定の時間内に処理が完了しなかった場合に、前記複数のアプリケーション実行環境のうち前記特定の仮想入出力部が属する特定のアプリケーション実行環境の回復処理を実行する
ことを特徴とする車両制御装置。
【請求項6】
請求項5に記載の車両制御装置において、
前記特定のアプリケーション実行環境の回復処理は、
前記複数のアプリケーション実行環境のうち前記特定のアプリケーション実行環境以外の他のアプリケーション実行環境に対して、前記特定のアプリケーション実行環境の回復処理を実行する旨を通知する処理と、
前記特定のアプリケーション実行環境を再起動する処理と、
前記複数のデバイス入出力部のうち、前記特定のアプリケーション実行環境に属する仮想入出力部に対応した特定のデバイス入出力部を初期化する処理と、
再起動した前記特定のアプリケーション実行環境の時刻を前記他のアプリケーション実行環境の時刻と同期させる処理とを含む
ことを特徴とする車両制御装置。
【請求項7】
請求項1に記載の車両制御装置において、
前記複数のアプリケーション実行環境は、ハイパーバイザーにより管理された複数の仮想マシンである
ことを特徴とする車両制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両の走行状態を制御する車両制御装置に関する。
【背景技術】
【0002】
自動車分野においては、マイコン及びソフトウェアにより、車両の走行状態を管理するためのセンサ、アクチュエータなどの制御を行う電子制御装置が広く用いられている。近年の自動運転化、電動化などの技術の発展に伴い電子制御装置に求められる機能が増大しており、自動車に搭載される電子制御装置の数が増大するとともに、電子制御装置間での車載ネットワーク通信量が増大しつつある。そこで、複数のアプリケーションを一つの電子制御装置に統合することで、電子制御装置の数を抑制することが提案されている。
【0003】
例えば特許文献1には、仮想マシンを用いて複数のアプリケーションを一つの電子制御装置に統合するとともに、ファイルを保存する実ストレージを仮想マシンごとに分割する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示された技術によれば、各アプリケーションは自身に割り当てられたストレージへのアクセスのみが許可されるため、各アプリケーションが他のアプリケーションに割り当てられたストレージに誤ってアクセスすることを防止することが可能となる。しかしながら、特許文献1では、センサやアクチュエータなどの複数のデバイスをそれぞれ制御する複数のアプリケーションを一つの電子制御装置に統合する場合は想定されていない。
【0006】
本発明は、上記課題に鑑みてなされたものであり、その目的は、複数のデバイスをそれぞれ制御する複数のアプリケーションを互いの独立性を担保しつつ実行可能な車両制御装置を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明は、複数のデバイスを制御する車両制御装置において、前記複数のデバイスとの間で信号の入出力を行う複数のデバイス入出力部と、前記複数のデバイスに対応した、互いに隔離された複数のアプリケーション実行環境とを備え、前記複数のアプリケーション実行環境は、前記複数のデバイス入出力部に対応した複数の仮想入出力部を有するものとする。
【発明の効果】
【0008】
本発明によれば、車両制御装置において、各アプリケーションがデバイスを制御する際にアクセスするデバイス入出力部を他のアプリケーションが誤ってアクセスすることを防止することにより、複数のアプリケーションを互いの独立性を担保しつつ実行することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態における車両制御装置の構成図
【
図2】本発明の実施形態における仮想入出力部のインタフェースを示す構成図
【
図3】本発明の実施形態における仮想入出力部の処理の流れを示すフローチャート
【
図4】本発明の実施形態における仮想入出力管理部の処理の流れを示すフローチャート
【
図5】本発明の実施形態における仮想入出力管理部による仮想入出力部の回復処理の流れを示すフローチャート
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を用いて説明する。なお、各図中、同等の要素には同一の符号を付し、重複した説明は適宜省略する。
【0011】
図1は、本発明を自動車の電子制御装置であるECU1(ECU:Electronic Control Unit)に適用した場合の構成図である。ECU1には、車両周辺の環境を計測するためのセンサおよび車両走行及び装備を制御するためのアクチュエータなどの複数のデバイスが接続されている。インバータ2は、パワーステアリング、電動車両用ドライブシステムなどの駆動を行うデバイスである。ドアモータ3は、ドアの開閉動作を行うデバイスである。カメラ4は、前方の障害物認識などの環境認識を行うデバイスである。PWM出力配線21は、ECU1とインバータ2とを接続する配線であり、PWM波形を出力している。DI配線31およびDO配線32はECU1とドアモータ3とを接続する配線であり、デジタル入力およびデジタル出力を制御している。CAN通信配線41はECU1とカメラ4とを接続する配線であり、CAN(Control Area Network)通信を制御している。
【0012】
仮想マシンA11は、インバータ2に対応して設けられたアプリケーション実行環境である。仮想マシンB12は、ドアモータ3に対応して設けられたアプリケーション実行環境である。仮想マシンC13は、カメラ4に対応して設けられたアプリケーション実行環境である。仮想マシン11,12,13はハイパーバイザー15により互いに隔離された状態に管理されており、各仮想マシンは他の仮想マシンに直接アクセスすることはできない。ただし、仮想マシン間に設けられた仮想通信チャンネル(図示せず)を介して互いの情報を交換することは可能である。仮想入出力管理部14は、仮想マシン(仮想マシンA11、仮想マシンB12および仮想マシンC13)内に設けられたECU仮想入出力部(ECU仮想入出力部A112、ECU仮想入出力部B122、ECU仮想入出力部C132)の動作状況を管理し、不具合がある場合には再起動などの回復処理を実行する。ハイパーバイザー15は、ECU1における仮想マシン(仮想マシンA11、仮想マシンB12および仮想マシンC13)の実行を制御する。ECU入出力部16は、ECUにおける入出力(アナログ入出力、デジタル入出力、通信など)を制御する。ECU入出力部16は、各デバイス2,3,4に対応した複数のデバイス入出力部16a,16b,16cを含む。
【0013】
アプリA111は、インバータ2を制御するためのソフトウェアアプリケーションである。ECU仮想入出力部A112は、インバータ2を制御するためのデバイス入出力部16aに対応した仮想的な入出力部である。
【0014】
アプリB121は、ドアモータ3を制御するためのソフトウェアアプリケーションである。ECU仮想入出力部B122は、ドアモータ3を制御するためのデバイス入出力部16bに対応した仮想的な入出力部である。
【0015】
アプリA131は、カメラ4を制御するためのソフトウェアアプリケーションである。ECU仮想入出力部C132は、カメラ4を制御するためのデバイス入出力部16cに対応した仮想的な入出力部である。
【0016】
このように、車両を制御するためのデバイスごとに対応させて隔離されたアプリケーション実行環境を設けるとともに、隔離されたアプリケーション実行環境ごとに仮想入出力部を設ける。自動車制御においては、たとえば機能安全規格(ISO26262)で定義されているように、制御の機能の重要性に応じて電子制御システムの信頼性レベル(ASIL)が定められている。複数のデバイスを一つの電子制御装置で制御する場合には、ASILレベルが異なるデバイスの制御が混在することになる。本実施形態の構成を取ることにより、ASILレベルが低い(要求信頼性が低い)アプリケーション(例えばアプリB)が一時的なエラーを出した場合でも、ASILレベルが高い(要求信頼性が高い)アプリケーション(例えばアプリA)の入出力処理に影響を及ぼさないよう隔離することが可能となる。
【0017】
図2は、本実施形態における仮想入出力部112,122,132のインタフェースを示す構成図である。仮想入出力インタフェース113は、ECU1とインバータ2とを接続しているPWM出力配線21に対応して設けられる。仮想入出力インタフェース123は、ECU1とドアモータ3とを接続しているDI配線31に対応して設けられる。仮想入出力インタフェース124は、ECU1とドアモータ3とを接続しているDO配線32に対応して設けられる。仮想入出力インタフェース133は、ECU1とカメラ4とを接続しているCAN通信配線41に対応して設けられる。
【0018】
このように、隔離されたアプリケーション実行環境11,12,13ごとに仮想入出力部112,122,132を設けるとともに、仮想入出力部112,122,132にはECU1とデバイス2,3,4とを接続している配線21,31,32,41に対応した仮想入出力インタフェース113,123,124,133を設ける。本実施形態の構成を取ることにより、ASILレベルが低い(要求信頼性が低い)アプリケーション(例えばアプリB)が一時的なエラーを出した場合でも、ASILレベルが高い(要求信頼性が高い)アプリケーション(例えばアプリA)が使用しているデバイス入出力部に影響が及ぶことを防ぐことが可能となる。
【0019】
図3は、本実施形態における仮想入出力部A112の処理の流れを示すフローチャートである。ステップS1121で処理を開始する。ステップS1122で、アプリA111からの仮想入出力インタフェース113利用要求を受け付ける。ステップS1123で、仮想入出力インタフェース113に対応したデバイス入出力部16aを特定する。ステップS1124で、デバイス入出力部16aにてPWM入出力を制御するための処理、例えばレジスタへの書き込みを実行する。ステップS1125で処理を終了する。
【0020】
このように仮想入出力部112,122,132は、仮想入出力インタフェース113,123,124,133に対する入出力要求を車両制御装置1の入出力へと変換する。本実施形態の構成を取ることにより、例えば開発段階においてデバイス別に個別のECUでアプリケーション111,121,131を開発する場合と、製品化段階でアプリケーション111,121,131を一つのECUに統合する場合とにおいて仮想マシン11,12,13を実行するECUが変更される状況であっても、ECU仮想入出力部112,122,132のみを変更すればよくなるため、アプリケーション111,121,131の再利用性が向上する。
【0021】
図4は、本実施形態における仮想入出力管理部14の処理の流れを示すフローチャートである。ステップS141で処理を開始する。ステップS142で、仮想入出力部112,122,132の処理時間を測定する。ステップS143で、処理時間が所定の時間を超過した仮想入出力部が有るか否かを判定する。処理時間が所定の時間を超過した仮想入出力部が有る場合にはステップS144に進み、処理時間が所定の時間を超過した仮想入出力部が無い場合にはステップS145に進む。ステップS144で、処理時間が所定の時間を超過した仮想入出力部が属する仮想マシン(アプリケーション実行環境)の回復処理を実行する。ステップS145で処理を終了する。
【0022】
このように、仮想入出力管理部14は、各仮想入出力部112,122,132が所定の時間内に処理が完了するか否かを監視し(ステップS142,S143)、いずれかの仮想入出力部が所定の時間内に処理を完了しなかった場合には、当該仮想入出力部が属する仮想マシン(アプリケーション実行環境)の回復処理を実行する(ステップS144)。本実施形態の構成を取ることにより、一部の仮想入出力部でエラーが発生した場合に、ECU全体を再起動することなく当該一部の仮想マシンの回復処理を実行することができるため、高信頼性が要求されるアプリケーションの処理を継続することが可能となる。
【0023】
図5は、本実施形態における仮想入出力管理部14による仮想入出力部の回復処理の流れを示すフローチャートである。ステップS1441で処理を開始する。ステップS1442で、回復処理が実行される仮想マシンの情報を、回復処理を実行しない他の仮想マシンに通知する。ステップS1443で、当該仮想マシンの再起動処理を実行する。ステップS1444で、当該仮想マシンに属する仮想入出力部に対応したデバイス入出力部の初期化処理を実行する。ステップS1445で、当該仮想マシンと他の仮想マシンとの時刻同期処理を実行する。ステップS1446で処理を終了する。
【0024】
本実施形態の構成を取ることにより、一部の仮想マシンの再起動に伴って、ECU入出力部16の内、再起動される仮想マシンに属する仮想入出力部に対応したデバイス入出力部のみが初期化されるため、他の仮想マシンに属する仮想入出力部は処理を継続することができる。
【0025】
(まとめ)
本実施形態では、複数のデバイス2,3,4を制御する車両制御装置1において、複数のデバイス2,3,4との間で信号の入出力を行うデバイス入出力部16a,16b,16cと、複数のデバイス2,3,4のそれぞれに対応した、互いに隔離された複数のアプリケーション実行環境11,12,13とを備え、複数のアプリケーション実行環境11,12,13は、複数のデバイス入出力部16a,16b,16cに対応した複数の仮想入出力部112,122,132を有する。
【0026】
以上のように構成した本実施形態によれば、車両制御装置1において、各アプリケーション111,121,131がデバイス2,3,4を制御する際にアクセスするデバイス入出力部16a,16b,16cを他のアプリケーションが誤ってアクセスすることを防止することができるため、複数のアプリケーション111,121,131を互いの独立性を担保しつつ実行することが可能となる。
【0027】
また、本実施形態における複数のアプリケーション実行環境11,12,13は、複数のデバイス2,3,4と車両制御装置1とを接続している配線21,31,32,41に対応した複数の仮想入出力インタフェース113,123,124,133を有する。これにより、仮想マシン11,12,13を実行するECUが変更される状況であっても、ECU仮想入出力部112,122,132のみを変更すればよくなるため、アプリケーション111,121,131の再利用性が向上する。
【0028】
また、本実施形態における複数の仮想入出力インタフェース113,123,124,133に対する入出力要求を複数のデバイス入出力部16a,16b,16cへの入出力へと変換する仮想入出力管理部14を備える。これにより、アプリケーション実行環境11,12,13上で動作しているアプリケーション111,121,131が車両制御装置1の入出力部16に直接アクセスすることを防止することが可能となる。
【0029】
また、本実施形態における仮想入出力管理部14は、複数の仮想入出力部112,122,132の動作状況を監視する。これにより、アプリケーション実行環境11,12,13が正常に動作しているか否かを判定することが可能となる。
【0030】
また、本実施形態における仮想入出力管理部14は、複数の仮想入出力部112,122,132が所定の時間内に処理を完了するか否かを監視し、複数の仮想入出力部112,122,132のうち特定の仮想入出力部が前記所定の時間内に処理が完了しなかった場合に、複数のアプリケーション実行環境11,12,13のうち前記特定の仮想入出力部が属する特定のアプリケーション実行環境の回復処理を実行する。これにより、アプリケーション実行環境11,12,13のいずれかでエラーが生じた場合に、エラーが生じたアプリケーション実行環境の動作を復旧させることが可能となる。
【0031】
また、本実施形態における前記特定のアプリケーション実行環境の回復処理は、複数のアプリケーション実行環境11,12,13のうち前記特定のアプリケーション実行環境以外の他のアプリケーション実行環境に対して、前記特定のアプリケーション実行環境の回復処理を実行する旨を通知する処理と、前記特定のアプリケーション実行環境を再起動する処理と、複数のデバイス入出力部16a,16b,16cのうち、前記特定のアプリケーション実行環境に属する仮想入出力部に対応した特定のデバイス入出力部を初期化する処理と、再起動した前記特定のアプリケーション実行環境の時刻を前記他のアプリケーション実行環境の時刻と同期させる処理とを含む。これにより、特定のアプリケーション実行環境の回復処理を実行中も、他のアプリケーション実行環境の機能を維持することが可能となる。
【0032】
また、本実施形態における複数のアプリケーション実行環境11,12,13は、ハイパーバイザー15により管理された複数の仮想マシン11,12,13である。これにより、複数のアプリケーション実行環境11,12,13を容易に実現することが可能となる。
【0033】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、プロセッサの内蔵メモリや、外付けのフラッシュメモリ、SSD(Solid State Drive)等の記録装置に置くことができる。
【符号の説明】
【0034】
1…ECU(車両制御装置)、2…インバータ(デバイス)、3…ドアモータ(デバイス)、4…カメラ(デバイス)、11,12,13…仮想マシン(アプリケーション実行環境)、14…仮想入出力管理部、15…ハイパーバイザー、16…ECU入出力部、16a,16b,16c…デバイス入出力部、21…PWM出力配線、31…DI配線、32…DO配線、41…CAN通信配線、111…アプリケーション、112…ECU仮想入出力部、113…仮想入出力インタフェース、121…アプリケーション、122…ECU仮想入出力部、123,124…仮想入出力インタフェース、131…アプリケーション、132…ECU仮想入出力部、133…仮想入出力インタフェース。