(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-13
(45)【発行日】2024-11-21
(54)【発明の名称】車両制御装置
(51)【国際特許分類】
G06F 11/14 20060101AFI20241114BHJP
B60W 50/023 20120101ALI20241114BHJP
【FI】
G06F11/14 641
B60W50/023
(21)【出願番号】P 2023508440
(86)(22)【出願日】2021-09-27
(86)【国際出願番号】 JP2021035372
(87)【国際公開番号】W WO2022201597
(87)【国際公開日】2022-09-29
【審査請求日】2023-08-25
(31)【優先権主張番号】P 2021046953
(32)【優先日】2021-03-22
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】509186579
【氏名又は名称】日立Astemo株式会社
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】蛯名 朋仁
【審査官】田中 幸雄
(56)【参考文献】
【文献】特開2008-305317(JP,A)
【文献】特開2013-54434(JP,A)
【文献】特開2018-92571(JP,A)
【文献】国際公開第2017/022364(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/14
B60W 50/023
(57)【特許請求の範囲】
【請求項1】
第1コアと第2コアとを少なくとも有するマルチコアCPUと、
各コアがアクセス可能に構成され、少なくとも通信パラメータを保存する共有データメモリと、
前記マルチコアCPUの動作を監視するとともに前記マルチコアCPUにリセット信号を出力する監視部と、
を備え、
前記第2コアは、リセット解除から前記第1コアによるOS初期化完了までの間に、前記共有データメモリにアクセスして通信パラメータの確認を行い、前記共有データメモリに保存される通信パラメータに基づいて外部との通信を行うことを特徴とする車両制御装置。
【請求項2】
前記共有データメモリには、リセット前の現在使用中の通信パラメータが保存され、
前記第2コアは、前記共有データメモリに保存される現在使用中の通信パラメータに基づいて外部との通信を行う請求項1に記載の車両制御装置。
【請求項3】
前記共有データメモリには、通信を行うプログラムが更に保存されている請求項1又は2に記載の車両制御装置。
【請求項4】
前記共有データメモリには、スクリプトを解釈して実行するプログラムが更に保存されている請求項1又は2に記載の車両制御装置。
【請求項5】
前記共有データメモリには、通信パラメータのデフォルト値が更に保存され、
予期せぬ異常によってリセットされた場合に、前記第2コアは前記デフォルト値に基づいて外部との通信を行う請求項1~4のいずれか一項に記載の車両制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両制御装置に関し、特にマルチコアCPUを備える車両制御装置に関する。
本願は、2021年3月22日に出願された日本国特願2021-046953号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【0002】
近年、自動車等の車両において、エンジン制御、ブレーキ制御、トランスミッション制御、ドア制御、エアコン制御等を行うために複数のECU(Electronic Control Unit、すなわち車両制御装置)が搭載されている。これらのECUは、車載ネットワークを介して互いに通信し協働することにより、車両の安全走行等を実現している。
【0003】
ECUは、複数のコアを有するマルチコアCPUを備える場合がある。マルチコアCPUでは、一般的に、いずれかのコアに異常が生じた場合、異常状態から回復させるべくマルチコアCPU全体のリセットが行われる。しかし、マルチコアCPU全体がリセットされると、リセット解除からOS初期化完了までの間に通信が途絶する問題がある。また、通信途絶によって、他のECUからは異常であると判定されてしまう。
【0004】
このような問題を解決するため、例えば下記特許文献1に記載のように、FPGA(Field Programmable Gate Array)を使用してリセット解除からOS初期化完了までの時間を短縮する技術が検討されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上記特許文献1に記載の技術では、リセット解除からOS初期化完了までの時間を短縮できるが、改善余地があった。
【0007】
本発明は、このような技術課題を解決するためになされたものであって、リセット解除からOS初期化完了までの間の通信の途絶を防止できる車両制御装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る車両制御装置は、第1コアと第2コアとを少なくとも有するマルチコアCPUと、各コアがアクセス可能に構成され、少なくとも通信パラメータを保存する共有データメモリと、前記マルチコアCPUの動作を監視するとともに前記マルチコアCPUにリセット信号を出力する監視回路と、を備え、前記第2コアは、リセット解除から前記第1コアによるOS初期化完了までの間に、前記共有データメモリにアクセスして通信パラメータの確認を行い、前記共有データメモリに保存される通信パラメータに基づいて外部との通信を行うことを特徴としている。
【0009】
本発明に係る車両制御装置では、第2コアは、リセット解除から第1コアによるOS初期化完了までの間に、共有データメモリにアクセスして通信パラメータの確認を行い、共有データメモリに保存される通信パラメータに基づいて外部との通信を行うので、OS初期化の完了を待たずに通信が可能となる。その結果、リセット解除からOS初期化完了までの間の通信の途絶を防止することができる。
【発明の効果】
【0010】
本発明によれば、リセット解除からOS初期化完了までの間の通信の途絶を防止することができる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態に係る車両制御装置を備えた車両制御システムを示す構成図である。
【
図2】第1実施形態に係る車両制御装置のリセット解除後の制御を示すシーケンス図である。
【
図3】第2実施形態に係る車両制御装置のリセット前後の制御を示すシーケンス図である。
【
図4】第3実施形態に係る車両制御装置のリセット前後の制御を示すシーケンス図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明に係る車両制御装置の実施形態について説明する。
【0013】
[第1実施形態]
図1は第1実施形態に係る車両制御装置を備えた車両制御システムを示す構成図である。本実施形態の車両制御装置10は、ECUにより構成され、他の複数のECU(ECU20、ECU30)とともに車両制御システムを形成する。ここでは、例えば車両制御装置10はエンジン制御を担当し、ECU20はブレーキ制御を担当し、ECU30はトランスミッション制御を担当する。そして、車両制御装置10、ECU20及びECU30は、CAN(Controller Area Network)等の車載ネットワーク15により接続され、該車載ネットワーク15で通信を行い協働することで、車両の安全走行等を実現している。
【0014】
図1に示すように、車両制御装置10は主に、マルチコアCPU11と、マルチコアCPU11の動作を監視する監視IC(Integrated Circuit)12とを備えている。
【0015】
マルチコアCPU11は、複数のコア(第1コア111-1,第2コア111-2,…第nコア111-n)と、複数のコアに対して1対1に設けられたプログラムメモリ(プログラムメモリ112-1,プログラムメモリ112-2,…プログラムメモリ112-n)及びデータメモリ(データメモリ113-1,データメモリ113-2,…データメモリ113-n)とを有する。各プログラムメモリ及び各データメモリは、対応するコアの機能を果たすためのプログラム及びデータを保存する。なお、nは2以上の自然数である。
【0016】
本実施形態において、第1コア111-1に対応するプログラムメモリ112-1には、リセット解除後に実行するOS(Operating System)の初期化に関する初期化プログラムと、第1コア111-1に割り当てられた処理を行うためのアプリケーションソフトウェア(以下では、単に「アプリケーション」という)とが保存されている。第2コア111-2に対応するプログラムメモリ112-2には、リセット解除後に実行する通信処理に関する通信プログラムと、第2コア111-2に割り当てられた処理を行うためのアプリケーションとが保存されている。
【0017】
監視IC12は、特許請求の範囲に記載の「監視部」に相当するものであり、マルチコアCPU11から出力される信号13に基づいて、マルチコアCPU11が正常に動作しているか否かを監視する。また、監視IC12は、信号13が途絶した場合、マルチコアCPU11に異常が発生しているものとしてリセット信号14をマルチコアCPU11に出力し、マルチコアCPU11をリセットさせることができる。更に、電源投入(言い換えれば、電源ON)直後の場合、電源電圧が低電圧であるため、監視IC12はリセット信号14をマルチコアCPU11に出力し、マルチコアCPU11をリセットさせることができる。そして、電源電圧が安定した後、監視IC12はリセット信号14の出力を停止する。これによって、マルチコアCPU11のリセットが解除され、マルチコアCPU11が動作を開始する。
【0018】
マルチコアCPU11は、各コアがアクセスできる共有データメモリ115と、各コアと接続される通信デバイス114とを更に備えている。各コアは、バス116を介して通信デバイス114及び共有データメモリ115とそれぞれ接続されている。共有データメモリ115には、コア間で共有する通信パラメータ等のデータが保存されている。通信パラメータとしては、通信速度、データサイズ及び送信周期等が挙げられる。
【0019】
マルチコアCPU11は、一つのICで構成されても良く、複数のICで構成されても良い。また、監視IC12は、必ずしもマルチコアCPU11から独立して設ける必要がなく、該監視IC12に相当する監視機能をマルチコアCPU11に組み込むようにしても良い。
【0020】
このように構成された車両制御装置10では、OSを搭載しており、各制御処理に関するプログラムはOSの管理下で動作する。そして、異常等の原因でマルチコアCPU11がリセットされた場合、OSは、リセット解除後に初期化処理を行う。OSの初期化処理では、OSはデバイスの初期化及びアプリケーションの初期化を行い、更にアプリケーションの実行を行う。
【0021】
そして、複数のコアを有するマルチコアCPU11では、初期化の一貫性を保つために、1つのコアにより初期化を実行するようになっている。上述したように、第1コア111-1に対応するプログラムメモリ112-1には、リセット解除後に実行するOSの初期化に関する初期化プログラムが保存されているので、従って、第1コア111-1はリセット解除後のOS初期化処理を行う。
【0022】
一方、第2コア111-2に対応するプログラムメモリ112-2には、リセット解除後に実行する通信処理に関する通信プログラムが保存されているので、第2コア111-2はリセット解除後の通信処理を行う。その際に、第2コア111-2は、リセット解除後に実行する通信プログラムによって、共有データメモリ115にアクセスして通信パラメータの確認を行い、更に共有データメモリ115に保存される通信パラメータに基づいて外部との通信を行う。なお、第2コア111-2の通信処理は、第1コア111-1によるOSの初期化処理と並行して実行される。
【0023】
そして、第1コア111-1によるOS初期化処理が完了し、第1コア111-1におけるアプリケーションの起動した時点で、通信の切り替えが行われる。すなわち、第2コア111-2の通信プログラムが停止し、第1コア111-1が主導する通信処理を開始する。
【0024】
以下、
図2を基に車両制御装置10におけるリセット解除後の制御を説明する。ここでは、電源ONによるリセットの解除から、OSの初期化、通信、アプリケーション実行といった一連の処理の例を挙げて説明する。なお、
図2において、ステップS211~S214は第1コア111-1により行われる処理であり、ステップS221~S225は第2コア111-2により行われる処理である。
【0025】
図2に示すように、電源ONによるリセット解除後、第1コア111-1は、まずOSを起動し(ステップS211)、次にOSの初期化処理を行う(ステップS212)。このとき、第2コア111-2は、第1コア111-1の処理と並行して各処理を行う。
【0026】
具体的には、第2コア111-2は、まず共有データメモリ115にアクセスし、通信パラメータの確認を行う(ステップS221)。本ステップにおける通信パラメータの確認は、共有データメモリ115に正常な通信パラメータが設定されているか否かの確認である。電源ON直後(言い換えれば、リセット解除直後)は、共有データメモリ115の値は不定値であるので、正常な通信パラメータは設定されていない。このため、第2コア111-2は通信パラメータ初期化の処理を行う(ステップS222)。続いて、第2コア111-2は、初期化した通信パラメータに基づき、通信デバイス114を介して外部装置(例えばECU20やECU30)との通信を開始する(ステップS223)。
【0027】
そして、第1コア111-1によるOSの初期化処理が完了すると、第1コア111-1は、通信等に関するアプリケーションを起動する(ステップS213)。このとき、第2コア111-2は、通信切り替えの処理を行う(ステップS224)。具体的には、第2コア111-2の通信プログラムが停止し、第1コア111-1が主導する通信処理が行われる。続いて、第1コア111-1と第2コア111-2は、それぞれのアプリケーションを実行する(ステップS214とステップS225)。
【0028】
本実施形態の車両制御装置10によれば、電源ONによるリセット解除から第1コア111-1によるOS初期化完了までの間に、第2コア111-2は共有データメモリ115にアクセスして通信パラメータの確認を行い、通信パラメータの初期化処理を行った後に、初期化した通信パラメータに基づいて外部装置との通信を行うので、OS初期化の完了を待たずに通信が可能となる。その結果、リセット解除からOS初期化完了までの間の通信の途絶を防止することができる。更に、これによって、通信途絶に起因する他のECUからの異常判定を回避することができる。
【0029】
[第2実施形態]
第2実施形態に係る車両制御装置10は、上記第1実施形態と同様な構造を有するが、車両制御装置10の制御内容において上記第1実施形態と相違している。以下では、その相違点のみを説明する。
【0030】
従来では、例えばエンジン制御とモータ制御のような異なる機能について、別々のECUを設けてそれぞれの制御を行っていた。近年、装置のコンパクト化やコスト削減等を図るために、異なる機能を持つECUを統合することが進められている。そして、統合ECUにおいては、ある機能に異常が発生しても、他の機能の動作を継続することが求められている。
【0031】
異常が発生した場合は、該異常が発生した機能をソフトウェア的に初期化することにより解消する手法があるが、マルチコアCPU全体をハードウェア的にリセットすることで異常を解消する手法も考えられる。本実施形態では、マルチコアCPU全体をハードウェア的にリセットすることで異常を解消する手法が採用されている。そして、マルチコアCPU11全体のリセットに先立ち、現在使用中の通信パラメータを共有データメモリ115に保存しておき、リセット解除後に上記保存された現在使用中の通信パラメータに基づいて通信を行うことにより、リセット前後における通信の連続性を維持することができる。なお、本実施形態でいう異常は、車両に取り付けられたセンサ等を介して検出できる異常である。従って、このような異常に起因するリセットは、意図したリセットである。
【0032】
以下、
図3を基に本実施形態に係る車両制御装置のリセット前後の制御を説明する。
図3において、ステップS311~S315は第1コア111-1により行われる処理であり、ステップS321~S325は第2コア111-2により行われる処理である。
【0033】
図3に示すように、第1コア111-1は、異常を検出すると(ステップS311)、現在使用中の通信パラメータを保存するように第2コア111-2に指示する。第2コア111-2は、第1コア111-1からの指示に基づき、現在使用中の通信パラメータを保存する(ステップS321)。このとき、第2コア111-2は、現在使用中の通信パラメータを該第2コア111-2に対応するデータメモリ113-2ではなく、共有データメモリ115に保存させる。ここで、共有データメモリ115に保存される通信パラメータを通信パラメータ331とする。
【0034】
続いて、第1コア111-1は、監視IC12に対し、リセット発生する指示を送信する(ステップS312)。続いて、マルチコアCPU11はリセットされる。
【0035】
リセット解除後、第1コア111-1は、まずOSを起動し(ステップS313)、次にOS初期化の処理を行う(ステップS314)。このとき、第2コア111-2は、第1コア111-1の処理と並行して各処理を行う。
【0036】
具体的には、第2コア111-2は、共有データメモリ115にアクセスし、共有データメモリ115に保存されている通信パラメータ331の確認を行う(ステップS322)。本ステップにおける通信パラメータの確認は、電源ON直後のメモリの不定値ではないことの確認である。続いて、第2コア111-2は、通信パラメータ331を参照し、通信パラメータの復帰処理を行う(ステップS323)。続いて、第2コア111-2は、復帰した通信パラメータ(すなわち、通信パラメータ331)に基づき、通信デバイス114を介して外部装置(例えばECU20やECU30)との通信を開始する(ステップS324)。
【0037】
そして、第1コア111-1によるOSの初期化処理が完了すると、第1実施形態で述べたように、第1コア111-1は通信等に関するアプリケーションを起動し(ステップS315)、第2コア111-2は通信切り替えの処理を行う(ステップS325)。その後、第1実施形態で述べた各処理はそれぞれ行われる。
【0038】
本実施形態の車両制御装置10によれば、上述第1実施形態と同様な作用効果を得られるほか、更に以下の作用効果を奏する。すなわち、リセット前に現在使用中の通信パラメータを共有データメモリ115に保存し、リセット解除から第1コア111-1によるOS初期化完了までの間に、第2コア111-2は共有データメモリ115に保存される現在使用中の通信パラメータに基づいて通信を行うので、リセット前後における通信の連続性を維持することができる。なお、上記特許文献1に記載の技術では、リセット解除後に初期通信のみを行うので、リセット前後における通信の連続性を維持できない問題が生じると考えられる。本実施形態の車両制御装置10によれば、上記特許文献1に記載の技術の問題を解決することができる。
【0039】
なお、本実施形態において、通信パラメータが正常な値か、電源ON直後のメモリの不定値かを区別するためには、通信パラメータに関する各データを二重化したり、チェックサムやハッシュを付加したりする等、既知の手法を用いることができる。
【0040】
また、本実施形態において、通信パラメータに加えて通信プログラムを更に共有データメモリ115に保存するようにしても良い。このようにすれば、複雑な通信処理にも対応できるので、例えば可変値を含む通信も可能となる。更に、共有データメモリ115には、スクリプトを解釈して実行するプログラムが保存されても良く、例えばスクリプト言語で記述された通信プログラムが保存される。このようにすれば、複雑な通信処理にも対応できる。
【0041】
[第3実施形態]
第3実施形態に係る車両制御装置10は、上記第1実施形態と同様な構造を有するが、車両制御装置10の処理内容において上記第1実施形態と相違している。以下では、その相違点のみを説明する。
【0042】
図4は第3実施形態に係る車両制御装置のリセット前後の制御を示すシーケンス図である。
図4において、ステップS411~S414は第1コア111-1により行われる処理であり、ステップS421~S424は第2コア111-2により行われる処理である。
【0043】
図4に示すように、第1コア111-1は、まず通信パラメータのデフォルト値の保存処理を行う(ステップS411)。通信パラメータのデフォルト値は、予期せぬ異常によってリセットが起きた場合に使用される通信パラメータの値であって、予め設定されたものである。このデフォルト値には、予期せぬ異常によるリセットであることを示す通信パターンが予め組み込まれている。デフォルト値は、上述したメモリの不定値と区別するための手法を用いて共有データメモリ115に保存されている。ここで、共有データメモリ115に保存されるデフォルト値を通信パラメータ431とする。
【0044】
そして、マルチコアCPU11に予期せぬ異常が発生した場合、監視IC12は、リセット信号14をマルチコアCPU11に出力する。これによって、マルチコアCPU11はリセットされる。
【0045】
リセット解除後、第1コア111-1は、まずOSを起動し(ステップS412)、次にOS初期化の処理を行う(ステップS413)。このとき、第2コア111-2は、第1コア111-1の処理と並行して各処理を行う。
【0046】
具体的には、第2コア111-2は、共有データメモリ115にアクセスし、共有データメモリ115に保存されている通信パラメータ431を確認し、メモリの不定値ではないことをチェックし(ステップS421)、通信パラメータ431を取得する(ステップS422)。これによって、ステップS411で設定されたデフォルト値が取得される。
【0047】
続いて、第2コア111-2は、取得した通信パラメータ431に基づき、通信デバイス114を介して外部装置(例えばECU20やECU30)との通信を開始する(ステップS423)。そして、通信パラメータ431には予期せぬ異常によるリセットのことを示す通信パターンが組み込まれているため、他のECU(ECU20及びECU30)は車両制御装置10でそれを把握できる。
【0048】
そして、第1コア111-1によるOSの初期化処理が完了すると、第1実施形態で述べたように、第1コア111-1は、通信等に関するアプリケーションを起動し(ステップS414)、第2コア111-2は、通信切り替え処理を行う(ステップS424)。その後、第1実施形態で述べた各処理がそれぞれ行われる。
【0049】
本実施形態の車両制御装置10では、第1コア111-1は通信パラメータのデフォルト値を予め設定し、共有データメモリ115に保存しておく。そして、予期せぬ異常によってリセットが生じた場合、第2コア111-2は該デフォルト値に基づいて通信を行うことで、OS初期化の完了を待たずに通信が可能となる。その結果、リセット解除からOS初期化完了までの間の通信の途絶を防止することができる。また、これによって、通信途絶に起因する他のECUからの異常判定を回避することができる。
【0050】
なお、本実施形態において、通信パラメータのデフォルト値はステップS411で第1コア111-1により設定されるが、例えばフラグのみを設定し、ステップS421では、フラグが検知されると、固定の通信パラメータを第2コア111-2に送信するようにしても良い。
【0051】
また、上記3つの実施形態において、電源ONによるリセットのパターン(第1実施形態)、意図したリセットのパターン(第2実施形態)、及び、予期せぬ異常によるリセットのパターン(第3実施形態)をそれぞれ説明した。例えば他のECUへの通信データに上記3つのパターンをそれぞれ識別できる識別番号等を付した状態で送信すれば、他のECUに車両制御装置10が正常か異常かを明確に伝えることができる。
【0052】
以上、本発明の実施形態について詳述したが、本発明は、上述の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の精神を逸脱しない範囲で、種々の設計変更を行うことができるものである。
【符号の説明】
【0053】
10 車両制御装置
11 マルチコアCPU
12 監視IC(監視部)
13 信号
14 リセット信号
15 車載ネットワーク
20,30 ECU
111-1 第1コア
111-2 第2コア
111-n 第nコア
112-1,112-2,…112-n プログラムメモリ
113-1,113-2,…113-n データメモリ
114 通信デバイス
115 共有データメモリ
116 バス