JP2023041817A - 代替装置、代替制御プログラム及び代替方法 - Google Patents

代替装置、代替制御プログラム及び代替方法 Download PDF

Info

Publication number
JP2023041817A
JP2023041817A JP2023013437A JP2023013437A JP2023041817A JP 2023041817 A JP2023041817 A JP 2023041817A JP 2023013437 A JP2023013437 A JP 2023013437A JP 2023013437 A JP2023013437 A JP 2023013437A JP 2023041817 A JP2023041817 A JP 2023041817A
Authority
JP
Japan
Prior art keywords
vehicle
alternative
ecu
program
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2023013437A
Other languages
English (en)
Other versions
JP7485110B2 (ja
Inventor
史也 石川
Fumiya Ishikawa
之宏 宮下
Yukihiro Miyashita
浩史 上田
Hiroshi Ueda
直樹 足立
Naoki Adachi
慎一 相羽
Shinichi Aiba
翔悟 上口
Shogo Kamiguchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Priority to JP2023013437A priority Critical patent/JP7485110B2/ja
Publication of JP2023041817A publication Critical patent/JP2023041817A/ja
Application granted granted Critical
Publication of JP7485110B2 publication Critical patent/JP7485110B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/023Avoiding failures by using redundant parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0225Failure correction strategy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】異常なECUを検出した場合、当該ECUの機能を代替する代替装置等を提供する。【解決手段】代替装置は、複数の車載制御装置が実装される車両に搭載される代替装置であって、制御部と、代替部とを備え、前記制御部は、前記複数の車載制御装置から送信される送信データに基づき代替部を制御するものであり、前記送信データに基づき異常な車載制御装置を特定し、特定した前記異常な車載制御装置を無効化し、特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを、前記代替部に適用し、前記代替部は、適用された前記プログラムを実行することにより、前記無効化された車載制御装置を代替する。【選択図】図2

Description

本発明は、代替装置、代替制御プログラム及び代替方法に関する。
車両には、エンジン制御等のパワー・トレーン系、エアコン制御等のボディ系等の車載機器を制御するためのECU(Electronic Control Unit)が搭載されている。ECUは、MPU等の演算処理部、RAM等の書き換え可能な不揮発性の記憶部、及び他のECUと通信するための通信部を含み、記憶部に記憶した制御プログラムを読み込んで実行することにより、車載機器の制御を行う。当該車両に搭載されるECUのいずれかのECUは、他のECUから送信されたメッセージが有効なメッセージであるか否かを判断することによりなりすましメッセージを検出し、なりすましメッセージが検出された場合は、なりすましメッセージをデータフレームの受信中にエラーフレームによって上書きする(例えば特許文献1参照)。
特開2018-182767号公報
しかしながら、特許文献1のECUは、なりすましメッセージを送信する異常又は不正なECUからの不正なメッセージをエラーフレームによって上書きすることができるが、当該異常となったECUが、本来正常時に実施する機能を代替する点に関する考慮がされていない。
本発明の目的は、異常なECUを検出した場合、当該ECUの機能を代替する代替装置等を提供する。
本開示の一態様に係る代替装置は、複数の車載制御装置が実装される車両に搭載される代替装置であって、制御部と、代替部とを備え、
前記制御部は、前記複数の車載制御装置から送信される送信データに基づき代替部を制御するものであり、
前記送信データに基づき異常な車載制御装置を特定し、
特定した前記異常な車載制御装置を無効化し、
特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを、前記代替部に適用し、
前記代替部は、適用された前記プログラムを実行することにより、前記無効化された車載制御装置を代替する。
本開示の一態様によれば、異常なECUを検出した場合、当該ECUの機能を代替する代替装置等を提供することができる。
図1は、実施形態1に係る代替装置を含む車載制御装置代替システムの構成を例示する模式図である。 図2は、代替装置の物理構成を例示するブロック図である。 図3は、代替装置による代替の一態様を例示する説明図(シーケンス図)である。 図4は、代替装置の制御部の処理を例示するフローチャートである。 図5は、実施形態2(仮想環境)に係る代替装置の論理構成を例示するブロック図である。
[本開示の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本開示の一態様に係る代替装置は、複数の車載制御装置が実装される車両に搭載される代替装置であって、制御部と、代替部とを備え、
前記制御部は、前記複数の車載制御装置から送信される送信データに基づき代替部を制御するものであり、
前記送信データに基づき異常な車載制御装置を特定し、
特定した前記異常な車載制御装置を無効化し、
特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを、前記代替部に適用し、
前記代替部は、適用された前記プログラムを実行することにより、前記無効化された車載制御装置を代替する。
本態様にあたっては、制御部は、特定した異常な車載制御装置を無効化し、当該異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを、代替部に適用する。当該プログラムが適用された代替部は、当該プログラムを実行することにより、無効化された車載制御装置を代替する。従って、異常となった車載制御装置を無効化して他の車載装置又は車両に対して影響が及ぶことを防止すると共に、異常となった車載制御装置が本来正常時に実施する機能を、代替部に代替させて実施させることができる。
(2)本開示の一態様に係る代替装置は、前記複数の車載制御装置は、CAN又はEthernetの通信プロトコルにより前記制御部と通信可能に接続されており、
前記代替部は、前記CAN及び前記Ethernetの通信プロトコルにより前記制御部と通信可能に接続されている。
本態様にあたっては、前記代替部は、CAN及びEthernetの通信プロトコルにより制御部と通信可能に接続されているため、通信プロトコルとしてCANを用いた車載制御装置及びEthernetを用いた車載制御装置の双方の車載制御装置を代替することができる。
(3)本開示の一態様に係る代替装置は、前記制御部は、
前記プログラムを前記代替部に適用する前は、前記複数の車載制御装置から送信される前記送信データを中継するための中継経路に、前記代替部を含めず、
前記プログラムを前記代替部に適用した後は、前記中継経路に、前記代替部を含める。
本態様にあたっては、制御部は、車載制御装置間の通信を中継する際に、異常となった車載制御装置を代替するためのプログラムを代替部に適用する前は、当該中継するための中継経路に代替部を含めない。従って、車載制御装置からの送信データは、代替部に中継されないため、当該送信データが不正なデータ等を含むものであっても、当該不正なデータ等に対する代替部の堅牢性を担保することができる。
(4)本開示の一態様に係る代替装置は、前記代替部は、他の車載制御装置と通信するための通信経路を介して取得したデータに基づき、出力するデータを生成し、前記生成したデータを、前記通信経路を介して出力する処理を行う車載制御装置を代替する。
本態様にあたっては、車載制御装置は、他の車載制御装置と通信するための通信経路を介して取得したデータに基づき、出力するデータを生成し、前記生成したデータを、前記通信経路を介して出力する処理を行う車載制御装置を代替する。すなわち、当該車載制御装置は、制御対象となるモータ、ブレーキ又は各種センサ等の車載装置とワイヤーハーネス等により直接接続されている車載制御装置ではなく、通信経路を介して取得したデータに基づき出力するデータを生成し、当該生成したデータを、通信経路を介して出力する。従って、代替部と、制御対象となる車載装置とを接続するワイヤーハーネス等を不要とし、車両内における配策を簡易化することができる。
(5)本開示の一態様に係る代替装置は、前記車両には、車外の外部サーバと通信するための車外通信装置が実装されており、
前記制御部は、
前記車外通信装置を介して前記外部サーバから、前記プログラムを取得し、
取得した前記プログラムを前記代替部に適用する。
本態様にあたっては、制御部は、車外通信装置を介して外部サーバからプログラムを取得する。従って、特定した異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムが、代替装置が備える記憶部に記憶されていない場合であっても、当該プログラムを外部サーバから取得して、代替部に適用することができる。
(6)本開示の一態様に係る代替装置は、前記制御部は、
前記無効化された車載制御装置に対し復帰処理を行い、
前記復帰処理により、前記無効化された車載制御装置が正常となった場合、前記代替部による代替を停止させる。
本態様にあたっては、制御部は、無効化された車載制御装置に対し、例えば当該車載制御装置の再起動、又は当該車載制御装置へのリプログラミングの実行等の復帰処理を行う。制御部は、当該復帰処理により無効化された車載制御装置が正常となった場合、代替部による代替を停止させるため、異常となった車載制御装置を効率的に復帰させることができる。
(7)本開示の一態様に係る代替装置は、前記代替部は、仮想化オペレーティングシステムによって仮想環境を生成しており、
前記プログラムは、前記仮想環境上で実行される。
本態様にあたっては、代替部には仮想化オペレーティングシステムによって仮想環境が生成されており、プログラムは仮想環境上で実行される。従って、代替部と、代替される車載制御装置とにおいて、例えばハードウェア構成上の差異がある場合であっても、仮想化オペレーティングシステムによる仮想環境により当該差異を吸収することができ、代替部は複数の異なる種類の車載制御装置を効率的に代替することができる。
(8)本開示の一態様に係る代替装置は、前記仮想環境は、前記無効化された車載制御装置の個数に応じて生成され、
前記プログラムの個数は、前記無効化された車載制御装置の個数と同数であり、
前記プログラム夫々は、前記個数に応じて生成された夫々の仮想環境上で実行される。
本態様にあたっては、仮想環境は特定した異常な車載制御装置の個数に応じて生成され、生成された夫々の仮想環境上にて、特定した異常な車載制御装置夫々に対応するプログラム夫々が、実行される。従って、代替部が物理的に単一の装置で構成される場合であっても、当該代替部を含む代替装置は、同時に複数の車載制御装置を代替することができる。
(9)本開示の一態様に係る代替制御プログラムは、コンピュータに、
車両に搭載される複数の車載制御装置から送信される送信データに基づき異常な車載制御装置を特定し、
特定した前記異常な車載制御装置を無効化し、
特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを実行することにより、前記無効化された車載制御装置を代替する
ための処理を実行させる。
本態様にあたっては、コンピュータを代替装置として機能させることができる。
(10)本開示の一態様に係る代替方法は、車両に搭載される複数の車載制御装置から送信される送信データに基づき異常な車載制御装置を特定し、
特定した前記異常な車載制御装置を無効化し、
特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを実行することにより、前記無効化された車載制御装置を代替する。
本態様にあたっては、異常なECUを検出した場合、当該ECUの機能を代替する代替方法を提供することができる。
[本開示の実施形態の詳細]
本開示をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る代替装置6を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
(実施形態1)
以下、実施の形態について図面に基づいて説明する。図1は、実施形態1に係る代替装置6を含む車載制御装置代替システムSの構成を例示する模式図である。図2は、代替装置6の物理構成を例示するブロック図である。
車載制御装置代替システムSは、車両に搭載される代替装置6、車外通信装置1を含み、車外ネットワークNを介して接続された外部サーバ100から取得したプログラムを、代替装置6に含まれる代替ECU5(代替部)に適用することにより、当該車両Cに実装されている複数の車載ECU3(Electronic Control Unit/車載制御装置)のいずれかの車載ECU3を代替する。
外部サーバ100は、例えばインターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータであり、RAM(Random Access Memory)、ROM(Read Only Memory)又はハードディスク等による記憶部101を備える。外部サーバ100には、車載ECU3の製造メーカ等によって作成された当該車載ECU3を制御するためのプログラム又はデータが、記憶部101に保存されている。当該プログラム又はデータは、更新プログラムとして、車両Cに送信され、車両Cに搭載されている車載ECU3のプログラム又はデータを更新するために用いられる。このように構成された外部サーバ100は、OTA(Over The Air)サーバとも称される。車両Cに搭載される車載ECU3は、外部サーバ100から無線通信により送信された更新プログラムを取得し、当該更新プログラムを実行するプログラムとして適用することにより、自ECUが実行するプログラムを更新(リプロ)することができる。外部サーバ100の記憶部101には、後述する代替ECU5に適用するプログラム(代替プログラム)が記憶されている。
車両Cには、車外通信装置1、代替装置6、表示装置7、及び種々の車載機器を制御するための複数の車載ECU3が搭載されている。代替装置6は、車載中継装置2及び代替ECU5を含む。車載中継装置2と車外通信装置1とは、例えばシリアルケーブル等のワイヤーハーネスにより通信可能に接続されている。車載中継装置2及び車載ECU3は、CAN(Control Area Network/登録商標)又はイーサネット(Ethernet/登録商標)等の通信プロトコルに対応した通信線41及び車内LAN4によって通信可能に接続されている。
車外通信装置1は、車外通信部(図示せず)及び、車載中継装置2と通信するための入出力I/F(図示せず)を含む。車外通信部は、3G、LTE、4G、WiFi等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部に接続されたアンテナ11を介して外部サーバ100とデータの送受信を行う。車外通信装置1と外部サーバ100との通信は、例えば公衆回線網又はインターネット等の外部ネットワークNを介して行われる。入出力I/Fは、車載中継装置2と、例えばシリアル通信するための通信インターフェイスである。車外通信装置1と車載中継装置2とは、入出力I/F及び入出力I/Fに接続されたシリアルケーブル等のワイヤーハーネスを介して相互に通信する。本実施形態では、車外通信装置1は、車載中継装置2と別装置とし、入出力I/F等によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置1は、車載中継装置2の一構成部位として、車載中継装置2に内蔵されるものであってもよい。
代替装置6は、車載中継装置2及び代替ECU5を含み、車載ECU3から送信される送信データに基づき異常な車載ECU3を特定し、特定した異常な車載ECU3を無効化する共に、特定した異常な車載ECU3が正常時に実施する機能を発揮するためのプログラム(代替プログラム)を代替ECU5に適用することにより、無効化した車載ECU3を代替する。
車載中継装置2は、制御部20、記憶部21、入出力I/F22、及び車内通信部23を含む。車載中継装置2は、例えば、認知系の車載ECU3、判断系の車載ECU3及び、操作系の車載ECU3等の複数の通信線41による系統のセグメントを統括し、これらセグメント間での車載ECU3同士の通信を中継するゲートウェイ(中継器)である。又は、車載中継装置2は、車両C全体をコントロールするボディECUの一機能部として構成されるものであってもよい。車載中継装置2は、車外通信装置1が無線通信によって外部サーバ100から受信した更新プログラムを、車外通信装置1から取得し、車内LAN4を介して当該更新プログラムを所定の車載ECU3(更新対象の車載ECU3)に送信するように構成されているもの(リプロマスター)であってもよい。
制御部20は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部21に予め記憶された制御プログラム及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。車載中継装置2の制御部20は、代替装置6の制御部として機能する。
車載中継装置2の制御部20(代替装置6の制御部)は記憶部21に記憶されている制御プログラムを実行することにより、車載ECUから送信される送信データに基づいて、当該送信データが異常であるか否かを判定する判定部として機能する。車載中継装置2の制御部20(代替装置6の制御部)は記憶部21に記憶されている制御プログラムを実行することにより、異常と判定した送信データの送信元である異常な車載ECUを特定する特定部として機能する。車載中継装置2の制御部20(代替装置6の制御部)は記憶部21に記憶されている制御プログラムを実行することにより、特定した異常な車載ECUを無効化する無効化部として機能する。車載中継装置2の制御部20(代替装置6の制御部)は記憶部21に記憶されている制御プログラムを実行することにより、特定した異常な車載ECUが正常時に実施する機能を発揮するためのプログラム(代替プログラム)を、代替ECU5に適用する代替プログラム適用部として機能する。車載中継装置2の制御部20(代替装置6の制御部)は記憶部21に記憶されている制御プログラムを実行することにより、外部サーバ100から送信された車載ECU3のプログラム又は代替ECU5に適用するプログラム(代替プログラム)を、車外通信装置1を介して取得する取得部として機能する。
記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、制御プログラム及び処理時に参照するデータがあらかじめ記憶してある。記憶部21に記憶された制御プログラムは、車載中継装置2が読み取り可能な記録媒体211から読み出された制御プログラムを記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムをダウンロードし、記憶部21に記憶させたものであってもよい。
記憶部21には、車載ECU3間の通信、又は車載ECU3と外部サーバ100との間の通信のための中継処理を行うにあたり用いられる中継経路情報(ルーティングテーブル)が、記憶される。当該中継経路情報は、通信プロトコルに基づき書式が決定される。通信プロトコルがCANの場合、CAN用中継経路情報は、CANメッセージに含まれるメッセージ識別子(CAN-ID)及び、当該CAN-IDに関連付けられた中継先(CAN通信部232のI/Oポート番号)を含む。通信プロトコルがTCP/IPの場合、TCP/IP用中継経路情報は、IPパケットに含まれる送信先アドレス(MACアドレス又はIPアドレス)及び、当該送信先アドレスに関連付けられた中継先(イーサネット通信部231の物理ポート番号)を含む。
詳細は後述するが、制御部20は、代替ECU5による代替処理の実行又停止に基づき、中継経路情報を変更するものであってもよい。すなわち、代替ECU5が代替処理を停止している間は、制御部20は、例えば中継経路情報から代替ECU5を外し、車載ECU3間の通信又は外部サーバ100との通信において、代替ECU5がこれら通信経路に含まれないようにするものであってもよい。代替ECU5が代替処理を実行している間は、制御部20は、中継経路情報に代替ECU5を含め、車載ECU3間の通信又は外部サーバ100との通信において、代替ECU5がこれら中継経路(車載ECU3間の通信又は外部サーバ100との通信を中継するための経路)に含まれるようにする。代替ECU5が代替処理を停止している間は、中継経路情報から代替ECU5を外すことにより、当該代替ECU5を中継経路に含めないことにより、代替ECU5が、車外の外部装置又は、車内の不正な車載ECU3からの攻撃を受けることを抑制することができる。
記憶部21には、外部サーバ100から送信された車載ECU3のプログラムが記憶される。記憶部21には、代替ECU5に適用するプログラム(代替プログラム)が記憶される。詳細は後述するが、代替ECU5のハードウェア仕様と車載ECU3のハードウェア仕様とを同一、又は両仕様において互換性を持たせることにより、代替ECU5に適用するプログラム(代替プログラム)として、外部サーバ100から送信された車載ECU3のプログラムを用いることができる。
記憶部21には、車両Cに搭載される全ての車載ECU3の構成情報(車両構成情報)が記憶される。記憶部21に記憶される車載ECU3夫々の構成情報(車両構成情報)は、例えば、車載ECU3の製造番号(シリアル番号)、ECU部番(型番)、Software部番、プログラムの現バージョン、旧バージョン、動作面数、動作面、MAC(Media Access Control)アドレス、IPアドレス、前回更新完了日時、リプロステータス及びVIN(車両識別番号)を含む。また、車載ECU3がCANによって接続される場合、車載ECU3の構成情報は、当該車載ECU3がメッセージを送信する際に用いる(含める)CAN-IDを含むものであってよい。これら車両構成情報は、個々の車載ECU3において重複しないように設定された連番等によるECU-IDに関連付けられて管理され、例えばテーブル形式のデータとして記憶部21に記憶される。制御部20は、IGスイッチがオン又はオフにされた場合等の所定のタイミングにて、定常的に車両Cに搭載されている全ての車載ECU3又は特定の車載ECU3から、車載ECU3夫々の構成情報を取得し、記憶部21に記憶する。
制御部20は、記憶部21に記憶されている車両構成情報に含まれるSoftware部番及びプログラムの現バージョン等を参照することにより、代替する車載ECU3のプログラムを特定することができる。制御部20は、当該特定したプログラムに基づいて、代替ECU5に適用するプログラム(代替プログラム)を特定するものであってもよい。又は、個々の車載ECU3を一意に識別するECU-IDと、当該ECU-IDを代替する際に代替ECUに適用するプログラム(代替プログラム)とを関連づけて記憶部21に記憶し、制御部20は、当該ECU-IDに基づいて代替プログラムを特定してもよい。
入出力I/F22は、車外通信装置1の入出力I/Fと同様に、例えばシリアル通信するための通信インターフェイスである。入出力I/F22を介して、車載中継装置2は、車外通信装置1、表示装置7(HMI装置)及び、車両Cの起動及び停止を行うIGスイッチ(図示せず)と通信可能に接続される。
車内通信部23は、例えばCAN(Control Area Network)又はイーサネット(Ethernet/登録商標)の通信プロトコルを用いた入出力インターフェイス(CAN通信部232、イーサネット通信部231)であり、制御部20は、車内通信部23を介して車内LAN4に接続されている車載ECU3又は他の中継装置等の車載機器と相互に通信する。
イーサネット通信部231は、100BASE-T1又は1000BASE-T1等のイーサネットケーブル411にて伝送されるTCP/IPのパケットに対応するイーサネットPHY部である。
CAN通信部232は、CANバス412上にて伝送されるCANメッセージに対応するものであり、ハイ側及びロー側の2本の配線により構成されるCANバス412上の差動電圧の電位差による波形を受信し、受信した波形を1と0のビット列で表される信号に復号するCANトランシーバである。又は、CAN通信部232は、CANトランシーバ及びCANコントローラを含むものであってもよい。
車内通信部23(イーサネット通信部231、CAN通信部232)は、複数個設けられており、車内通信部23夫々に、車内LAN4を構成する通信線41(イーサネットケーブル411、CANバス412)が接続されている。このように車内通信部23を複数個設けることにより、車内LAN4を複数個のセグメントに分け、各セグメントに車載ECU3を、当該車載ECU3の機能(認知系機能、判断系機能、操作系機能)に応じて接続する。
代替ECU5は、車載中継装置2の制御部20(代替装置6の制御部)からの指示に基づき、代替装置6における代替部として機能する。代替ECU5は、車載中継装置2と同様に制御部50、記憶部51及び車内通信部52を含む。記憶部51は、車載中継装置2と同様に揮発性及び不揮発性のメモリ素子により構成してあり、代替する車載ECU3と同様の機能を発揮するプログラム(代替プログラム)が記憶される。制御部50は、車載中継装置2と同様にCPU等により構成してあり、記憶部51に記憶されたプログラム(代替プログラム)を読み出し実行することにより車載機器等の制御に関する処理を行い、無効化した車載ECU3を代替する。
車内通信部52は、車載中継装置2と同様にイーサネット通信部521及びCAN通信部522の少なくともいずれか一方を含み、イーサネット通信部521又はCAN通信部522を介して、代替ECU5は、車載中継装置2の制御部20(代替装置6の制御部)と通信する。
車内通信部52は、イーサネット通信部521及びCAN通信部522を含み、代替ECU5はイーサネット通信部521及びCAN通信部522の2つの車内通信部52によって、車載中継装置2と接続することが望ましい。代替ECU5が、イーサネット通信部521及びCAN通信部522を備えることにより、イーサネット通信部のみを有する車載ECU3及びCAN通信部のみを有する車載ECU3の双方の車載ECU3を代替することができる。
代替ECU5の車内通信部52(イーサネット通信部521及びCAN通信部522)に接続される車載中継装置2の車内通信部23(イーサネット通信部231及びCAN通信部232)は、車載ECU3に接続される車内通信部23(イーサネット通信部231及びCAN通信部232)とは異なる車内通信部23であることが望ましい。代替ECU5に接続される車内通信部23と、車載ECU3に接続される車内通信部23とを、異ならせることにより、車載ECU3が接続されるセグメント以外のセグメントに代替ECU5を接続し、代替ECU5と車載中継装置2との通信の帯域幅を確実に確保することができる。
代替ECU5は、車載中継装置2とは別筐体として図示してあるが、これに限定されない。代替ECU5は、車載中継装置2と同一の筐体に内蔵され、車載中継装置2と一体化して構成されるものであってもよい。この場合、代替ECU5を内蔵する車載中継装置2そのものが、代替装置6に相当する。
代替ECU5による代替処理を制御する制御部(代替装置6の制御部)は、車載中継装置2の制御部20であるとしたが、これに限定されない。代替ECU5による代替処理を制御する制御部を含む代替装置6は、車載中継装置2とは別個に構成された専用装置であってもよい。当該専用装置は、車載中継装置2及び代替ECU5と通信可能に接続されており、車載中継装置2を介して取得したプログラム(代替プログラム)を代替ECU5に送信して、当該プログラムを代替ECU5に適用する。又は、車載中継装置2の制御部20と代替ECU5の制御部50とが協働して、代替装置6の制御部としての機能を発揮するものであってもよい。
代替ECU5に適用するプログラム(代替プログラム)は、車載中継装置2が車外通信装置1を介して外部サーバ100から取得するとしたが、これに限定されない。代替ECU5に適用するプログラム(代替プログラム)の個数又は種類は、代替の対象となる車載ECU3の個数に応じて複数となり、これら複数の代替プログラムの全て又は一部が、予め車載中継装置2の記憶部21又は代替ECU5の記憶部51に予め記憶されているものであってもよい。この場合、車載中継装置2の制御部20は、自装置の記憶部21を参照することにより、代替プログラムを取得し、取得した代替プログラムを代替ECU5に適用する。又は、代替プログラムが代替ECU5の記憶部51に予め記憶されている場合、車載中継装置2の制御部20は、代替ECU5に例えば適用指示信号を送信することにより、代替ECU5に自ECUの記憶部51に記憶してある代替プログラムを適用させるものであってもよい。
車載ECU3は、代替ECU5と同様に制御部(図示せず)、記憶部(図示せず)及び車内通信部(図示せず)を含む。記憶部は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、車載ECU3のプログラム又はデータが記憶されている。このプログラム又はデータが、車載中継装置2から送信される更新プログラムによって更新される対象である。又、記憶部には自ECUの構成情報が記憶されている。車内通信部は、代替ECU5又は車載中継装置2と同様にイーサネット通信部又はCAN通信部を含み、車載ECU3は、車内通信部を介して車載中継装置2(代替装置6)と通信する。
車両Cに搭載される全ての車載ECU3が、代替ECU5によって代替されるものである場合に限定されない。車両Cに搭載される一部の車載ECU3が、代替ECU5によって代替されるものであってもよい。代替ECU5によって代替される車載ECU3のハードウェア仕様は、代替ECU5のハードウェア仕様と同一又は、これらハードウェア仕様間において互換性を有するものであってもよい。これらハードウェア仕様が同一又は互換性を有することにより、車載ECU3にて実行されるプログラムと同じプログラムを代替ECU5で実行することができる。
図1及び図2に示すとおり、車載ECU3は、記憶部に記憶されているプログラムを実行することにより、例えば認知系、判断系又は操作系に機能分類されるものであってもよい。
認知系の車載ECU3は、例えば、カメラ、赤外線センサ又はLIDAR(Light Detection and Ranging)等のセンサ42と接続しており、当該センサ42から出力された出力値を例えばデジタル変換し、車内LAN4を介して判断系の車載ECU3に送信(出力)する。
判断系の車載ECU3は、例えば、認知系の車載ECU3から送信されたデータを受信(取得)し、受信したデータに基づき、車両Cの自動運転機能を発揮するためのデータを生成、又はデータを加工する処理行い、当該生成等したデータを、車内LAN4を介して操作系の車載ECU3に送信(出力)する。
操作系の車載ECU3は、例えば、モータ、エンジン又はブレーキ等のアクチュエータ43(車載駆動装置)と接続しており、判断系の車載ECU3から送信されたデータを受信(取得)し、受信したデータに基づき当該アクチュエータの動作を制御して、車両Cの走行、停止又は操舵等の操作を行い、自動運転機能を発揮する。
すなわち、判断系の車載ECU3は、センサ42又はアクチュエータ43とは直接接続されておらず、車内LAN4を介して取得したデータを加工又は、取得したデータに基づき出力するデータを生成し、当該生成等したデータを、操作系の車載ECU3等の他の車載ECU3に出力する処理を行う。従って、判断系の車載ECU3等、センサ42又はアクチュエータ43とは直接接続されておらずデータ生成等を行う車載ECU3を代替ECU5によって代替することにより、代替ECU5と、センサ42又はアクチュエータ43とをワイヤーハーネス等により直接的に接続することを不要とし、車内における配策を簡易化することができる。
表示装置7は、例えばカーナビゲーションのディスプレイ等のHMI(Human Machine Interface)装置である。表示装置7は、車載中継装置2の入出力I/F22とシリアルケーブル等のハーネスにより通信可能に接続されている。表示装置7には、車載中継装置2の制御部20から入出力I/F22を介して出力されたデータ又は情報が表示される。
代替装置6は、車載中継装置2及び代替ECU5を含むものであり、図2において代替装置が含む代替ECU5は一つであるとして記載してあるが、これに限定されない。代替装置6は、2つ以上の代替ECU5を含むものであってもよい。代替装置6が複数の代替ECU5を含むことにより、複数の車載ECU3が同時期に異常となった場合であっても、これら複数の車載ECU3夫々を、複数の代替ECU5夫々によって代替することができる。
図3は、代替装置6による代替の一態様を例示する説明図(シーケンス図)である。図3において、代替装置6が、無効化した車載ECU3を代替する処理について、外部サーバ100、車載ECU3及び代替装置6(車載中継装置2、代替ECU5)の処理を含むシーケンス図を用いて説明する。
車載ECU3は、車載中継装置2にデータを送信する(S1)。車載ECU3は、自ECUに記憶部に記憶してあるプログラムを実行することにより、車載装置又は車載器の制御に関する処理を実行し、生成したデータを他の車載ECU3又はマルチキャストにて送信する。
車載中継装置2は、送信されたデータを取得し、異常検知を行う(S2)。車載中継装置2は、中継処理を行うため、車両Cに搭載された全ての車載ECU3から送信されたデータを受信し、当該受信したデータのヘッダ情報及び中継経路情報に基づき中継する。車載中継装置2は、受信したデータを解析等することにより、当該データの正否を判定する判定部として機能し、受信したデータの異常検知を行う。データの正否の判定において、不正なデータとは、例えば、車外通信装置1等を介して車外から侵入したウィルス等により異常な状態となった車載ECU3又は不正に交換された車載ECU3等の不正な車載ECU3から送信されるメッセージである。制御部20は、受信したデータに対し、診断プログラム(ダイアグプロセス)を実行、又はIDS(Intrusion Detection System)の機能を発揮することにより、当該データを解析し正否を判定する。又は、制御部20は、データを送信するにあたり規定されている送信周期とは、異なる周期で送信されているデータを不正なデータとして判定してもよい。
車載中継装置2は、異常と判定したデータの送信元の車載ECU3を特定する(S3)。車載中継装置2は、例えば、異常と判定したデータのヘッダー情報を参照し、当該データの送信元の車載ECU3を特定する。当該データがIPパケットの場合、車載中継装置2は、ヘッダー情報に含まれる送信元のIPアドレス又はMACアドレスを抽出し、抽出した送信元アドレスに基づき車両構成情報を参照することにより、送信元の車載ECU3(ECU-ID)を特定する。当該データがCANメッセージの場合、車載中継装置2は、ヘッダー情報に含まれるCAN-IDを抽出し、抽出したCAN-IDに基づき車両構成情報を参照することにより、送信元の車載ECU33(ECU-ID)を特定する。
車載中継装置2は、特定した異常な車載ECU3を無効化する(S4)。特定した異常な車載ECU3を無効化する処理として、車載中継装置2は、例えば、当該異常な車載ECU3に対し、強制停止させるための信号を送信する。当該信号を受信した車載ECU3は、停止状態に遷移する。当該強制停止させるための信号は、当該信号を受信した車載ECU3に給電される電力を遮断させる信号を含むものであってもよい。又は、車載中継装置2は、特定した異常な車載ECU3から送信されたデータを中継せず、破棄することにより、当該異常な車載ECU3の機能を無効化するものであってもよい。又は、車載中継装置2は、特定した異常な車載ECU3のMACアドレス又はECU-ID等の送信元アドレスを、他の車載ECU3に送信(ブロードキャスト)し、当該送信元アドレスを含むデータを無視又は破棄することを他の車載ECU3に通知することにより、当該異常な車載ECU3の機能を無効化するものであってもよい。
車載中継装置2は、代替ECU5に適用するプログラム(代替プログラム)を、外部サーバ100から取得する(S5)。車載中継装置2は、例えば、車両構成情報を参照して、無効化した車載ECU3が正常時に実施するプログラムを特定し、当該特定したプログラムと同様の機能を発揮するプログラム(代替プログラム)を外部サーバ100から取得する。前述のとおり、無効化した車載ECU3のハードウェア仕様と、代替ECU5のハードウェア仕様とが、同一又は互換性を有する場合、代替ECU5に適用するプログラム
(代替プログラム)は、無効化した車載ECU3が正常時に実施するプログラムと同一のプログラムである。
無効化した車載ECU3のハードウェア仕様と、代替ECU5のハードウェア仕様とが、異なる又は互換性を有しない場合であっても、車載中継装置2は、これらハードウェア仕様の差異を吸収するエミュレータを代替ECU5にミドルウェアとして実装(実行)させる。車載中継装置2は、当該エミュレータの上で、無効化した車載ECU3が正常時に実施するプログラムを、代替プログラムとして代替ECU5に適用するものであってもよい。ハードウェア仕様の差異を吸収するエミュレータを代替ECU5に実装させることにより、代替する車載ECU3が実行するプログラムと同一のプログラムを、代替プログラムとして代替ECU5に適用(実行させる)することができる。
車載中継装置2による代替プログラムの取得は、外部サーバ100からの取得に限定されない。代替プログラム又はエミュレータが既に車載中継装置2の記憶部21に予め記憶されている場合、車載中継装置2は、記憶部21を参照して当該予め記憶されている代替プログラム等を取得するものであってもよい。
車載中継装置2は、代替ECU5へプログラム(代替プログラム)を適用する(S6)。車載中継装置2は取得した代替プログラムを代替ECU5に送信すると共に、代替ECU5が代替プログラムを実行して起動するように起動信号を送信する。代替プログラムが予め代替ECU5の記憶部51に記憶されている場合、車載中継装置2は、代替ECU5に実行する代替プログラムを特定する情報を送信すると共に、代替ECU5が当該代替プログラムを実行して起動するように起動信号を送信するものであってもよい。
車載中継装置2は、中継経路情報を変更する(S7)。車載中継装置2は、代替ECU5が、無効化した車載ECU3が実行していた機能を発揮できるように、中継経路情報を変更する。代替ECU5が、無効化した車載ECU3とは異なる車内通信部23に接続されている場合、代替ECU5が他の車載ECU3と通信を行うため、車載中継装置2は、中継経路情報において、代替ECU5が接続されている車内通信部23のポート番号と、代替ECU5のMACアドレス、IPアドレス、ECU-ID又はCAN-ID等との関連付けを変更する。
代替プログラムが適用された代替ECU5は、当該代替プログラムを実行し、無効化された車載ECU3の代替を開始する(S8)。代替プログラムは、無効化された車載ECU3が正常時に実施する機能を発揮するためのプログラムであるため、代替ECU5は、無効化されたECUと同等の機能を発揮することができる。無効化されたECUと、代替ECU5とが、車載中継装置2において別個の車内通信部23に接続されている場合であっても、中継経路情報を変更することにより、代替ECU5と他の車載ECU3等との通信は、車載中継装置2によって中継され、代替ECU5及び他の車載ECU3等による透過的な通信環境を担保することができる。
車載中継装置2は、無効化した車載ECU3に対し、復帰処理を実行する(S9)。無効化した車載ECU3に対する復帰処理として、車載中継装置2は、例えば、当該無効化した車載ECU3に対し再起動(リセット)させる再起動信号を送信する。又は、車載中継装置2は、無効化した車載ECU3の正規のプログラムを外部サーバ100から取得し、取得したプログラムを無効化した車載ECU3に適用する処理、すなわちリプロ処理を行うものであってもよい。又は、車載中継装置2は、無効化した車載ECU3とダイアグモードで通信し、当該無効化した車載ECU3に対し自己回復処理を実行させることにより、復帰処理を試みるものであってもよい。
車載中継装置2は、復帰処理により、無効化した車載ECU3が復帰(正常化)したことを確認する(S10)。車載中継装置2は、例えば、復帰した車載ECU3とダイアグモードで通信し、復帰した車載ECU3による自己診断結果を取得することにより、無効化した車載ECU3が復帰(正常化)したことを確認する。
車載中継装置2は、無効化した車載ECU3が復帰(正常化)した場合、代替ECU5に代替を終了させる信号を出力(送信)する(S11)。
車載中継装置2から代替を終了させる信号を取得(受信)した代替ECU5は、実行している代替プログラムを停止し、代替を終了する(S12)。
車載中継装置2は、代替ECU5が代替処理を開始する前の中継経路情報となるように、現行の中継経路情報を変更する(S13)。代替ECU5が代替処理を開始する前の中継経路情報となるように、現行の中継経路情報を変更することにより、正常動作するように復帰した車載ECU3と他の車載ECU3とが、通信可能にすることができる。
図4は、代替装置6の制御部20の処理を例示するフローチャートである。車載中継装置2(代替装置6)の制御部20は、例えば車両Cが起動状態(IGスイッチがオン)において、定常的に以下の処理を行う。
車載中継装置2の制御部20は、車載ECU3から送信された送信データを取得する(S100)。制御部20は、車載ECU3間の通信を中継するにあたり、これら車載ECU3から送信されたデータを受信(取得)する。
車載中継装置2の制御部20は、取得した送信データは異常であるか否か判定する(S101)。制御部20は、車載ECU3から送信された送信データ(受信した受信データ)に関し、例えば、当該受信データの送信タイミング又はIDSによる解析結果等に基づき、取得した送信データは異常であるか否か判定する。
車載ECU3から送信された送信データが異常でない場合(S101:NO)、すなわち車載ECU3から送信された送信データが正常である場合、車載中継装置2の制御部20は、再度S100の処理を実行すべくループ処理を行う。
車載ECU3から送信された送信データが異常である場合(S101:YES)、車載中継装置2の制御部20は、送信データに基づき異常な車載ECU3を特定する(S102)。制御部20は、取得した送信データのヘッダー情報に含まれる送信元アドレス又はメッセージ識別子(CAN-ID)等を抽出し、車両構成情報を参照して、当該異常な送信データの送信元である異常な車載ECU3を特定する。
車載中継装置2の制御部20は、異常な車載ECU3を無効化する(S103)。制御部20は、特定した異常な車載ECU3に対し、例えば強制終了させる信号を出力し、当該異常な車載ECU3を無効化する。又は、特定した異常な車載ECU3から送信されるデータを破棄等することにより、当該異常な車載ECU3を無効化するものであってもよい。
車載中継装置2の制御部20は、代替ECU5に適用するためのプログラムを取得する(S104)。制御部20は、例えば車両構成情報を参照し、無効化した車載ECU3のプログラムを特定し、特定したプログラムと同様の機能を発揮するプログラム(代替プログラム)を外部サーバ100から取得する。又は、代替プログラムが車載中継装置2の記憶部21など、車載中継装置2の制御部20が参照(アクセス)することができる記憶領域に予め記憶(保存)されている場合、当該保存されている代替プログラムを取得する(用いる)ものであってもよい。
車載中継装置2の制御部20は、取得したプログラムを代替ECU5に適用する(S105)。制御部20は、取得したプログラム(代替プログラム)を代替ECU5に送信すると共に、代替ECU5に対し起動信号を出力(送信)することにより、当該代替プログラムを代替ECU5に適用する。代替プログラムが適用された代替ECU5は、当該代替プログラムを実行することにより起動し、無効化した車載ECU3と同様の機能を発揮することにより、当該車載ECU3を代替する。
車載中継装置2の制御部20は、中継経路情報を変更する(S106)。制御部20は、代替ECU5が他の車載ECU3と通信可能となるように、自装置の記憶部21に記憶してある中継経路情報を変更する。
車載中継装置2の制御部20は、無効化した車載ECU3の復帰を試みる(S107)。制御部20は、例えば、無効化した車載ECU3に再起動信号を送信、リプロ処理を実行又は、無効化した車載ECU3とダイアグモードによる通信を行い、無効化した車載ECU3に自己回復処理を実行させることにより、復帰処理を試みる。
車載中継装置2の制御部20は、無効化した車載ECU3が復帰したか否かを判定する(S108)。制御部20は、例えば、復帰した車載ECU3とダイアグモードで通信し、復帰した車載ECU3による自己診断結果を取得することにより、無効化した車載ECU3が復帰(正常化)したか否かを判定する。又は、制御部20は、無効化した車載ECU3をリプロ処理し再起動させた後、再起動した車載ECU3から送信される送信データを解析することにより、当該再起動した車載ECU3が正常に復帰(正常化)したか否かを判定するものであってもよい。
復帰しなかった場合(S108:NO)、車載中継装置2の制御部20は、再度、異常な車載ECU3を無効化する(S1081)。復帰処理を試みても無効化した車載ECU3が復帰(正常化)しなかった場合、すなわち当該車載ECU3の異常な状態が継続した場合、制御部20は、再度、当該異常な状態が継続している車載ECU3を無効化する。
復帰した場合(S108:YES)、車載中継装置2の制御部20は、代替ECU5による代替を終了させる(S109)。復帰処理により無効化した車載ECU3が復帰(正常化)した場合、制御部20は、代替ECU5に対し、例えば代替を終了させる信号を出力(送信)する。代替を終了させる信号を取得(受信)した代替ECU5は、実行している代替プログラムを停止し、代替を終了する。
車載中継装置2の制御部20は、中継経路情報を変更する(S110)。制御部20は、代替ECU5が代替処理を開始する前の中継経路情報となるように、現行の中継経路情報を変更する。
車載中継装置2の制御部20は、S110又はS1081の処理を行った後、本フローチャートの処理を終了する。又は、制御部20はS110の処理を行った後、再度S100の処理を実行すべくループ処理を行うものであってもよい。車載中継装置2の制御部20は、本フローチャートの処理における判定(S101、S108)に関する判定結果、異常であると特定した車載ECU3に関する情報を記憶部21に記憶し、表示装置7又は外部サーバ100に出力し、これら情報を車両Cの操作者又は外部サーバ100の管理者に報知するものであってもよい。
代替装置6は、異常となった車載ECU3を無効化して他の車載装置又は車両Cに対して影響が及ぶことを防止すると共に、異常となった車載ECU3が本来正常時に実施する機能を、代替ECU5に代替させて実施させることができる。従って、例えば、車両Cが自動運転機能を備えている場合、いずれかの車載ECU3に異常が発生しても、異常な車載ECU3を無効化し、代替ECU5が代替することにより、自動運転を継続することができる。
代替装置6は、自装置に記憶されている車両構成情報に基づき、代替する車載ECU3が実行するプログラムを特定する。代替装置6は、代替ECU5に適用することにより当該特定したプログラムと同様の機能を発揮するプログラム(代替プログラム)を外部サーバ100から取得するため、自装置の記憶部21の記憶領域を圧迫することなく、複数の車載ECU3のプログラムに対応した代替プログラムを取得することができる。
代替装置6は、無効化した車載ECU3を代替ECU5によって代替した後、当該無効化した車載ECU3の復帰を試み、無効化した車載ECU3が復帰(正常化)した場合、代替ECU5による代替を終了する。従って、異常となった車載ECU3の機能を、代替ECU5により代替させて継続しつつ、当該異常な車載ECU3を効率的に復帰させることができる。
(実施形態2)
図5は、実施形態2(仮想環境)に係る代替装置6の論理構成を例示するブロック図である。実施形態2の代替装置6は、代替ECU5における代替プログラムを仮想環境上で実行する点で、実施形態1と異なる。実施形態2の代替装置6は、実施形態1の代替装置6と同様に車載中継装置2及び代替ECU5(代替部)を含む。実施形態2の代替装置6が含む車載中継装置2は、実施形態1の代替装置6と同様の構成及び機能を有するものであり、詳細な説明は省略する。
実施形態2の代替装置6が含む代替ECU5は、実施形態1の代替ECU5と同様に制御部50、記憶部51及び車内通信部52を含み、車内通信部52はイーサネット通信部521及びCAN通信部522の少なくともいずれか一方又は双方を含む。すなわち、実施形態1の代替ECU5と実施形態2の代替ECU5のハードウェア構成は、同様の構成である。
図5は、実施形態2の代替ECU5の論理構成を例示するものであり、制御部50等によるハードウェア層(物理基盤)を最下層とし、仮想環境下で実行される代替プログラムを最上層とした階層構造を例示するブロック図である。
代替ECU5の記憶部51には、仮想化オペレーティングシステム53(Hypervisor)が記憶されており、代替ECU5の制御部50は、仮想化オペレーティングシステム53を用いて起動することにより、仮想化オペレーティングシステム53上にて複数の仮想環境を構築することができる。仮想化の方式は、図5に示すように仮想化オペレーティングシステム53によって直接的に制御部50等のハードウェアリソースにアクセスするハイパーバイザー方式、又は仮想化オペレーティングシステム53とハードウェアリソースとの間にLinux(登録商標)等のオペレーティングシステムが介在するホストOS方式であってもよい。
仮想化オペレーティングシステム53を用いて起動した代替ECU5は、仮想化オペレーティングシステム53の機能により、複数の仮想環境を構築することができ、複数の仮想環境には、代替ECU5が備える制御部50等のハードウェアリソースが割り当てられる。これらハードウェアリソースが割り当てられた仮想環境夫々は、仮想的な制御部(仮想制御部)、記憶部(仮想記憶部)及び車内通信部(仮想車内通信部)を備えるものとなり、仮想ECU54として機能する。
仮想ECU54夫々の仮想記憶部夫々には、例えばUbuntu(登録商標)等のゲストOSが記憶され、仮想ECU54夫々はゲストOSを起動し、当該ゲストOSの上で代替プログラムを実行することにより、無効化した車載ECUを代替する。上述のごとく仮想記憶部の実体は、仮想ECU54夫々割り当てられた記憶部51の記憶領域であるため、ゲストOSも仮想化オペレーティングシステム53と同様に記憶部51に記憶されていることは、言うまでもない。ゲストOSの上でのプログラムの動作環境と、代替対象となる無効化した車載ECUにおけるプログラムの動作環境とが異なる場合、ゲストOS上にて当該動作環境の差異を吸収するエミュレータをミドルウェアとして起動するものであってもよい。又は、コンテナ方式の仮想化オペレーティングシステム53を用いる場合、ゲストOSを不要とし、当該仮想化オペレーティングシステム53の上でコンテナを生成し、当該コンテナ上にてエミュレータを起動して、当該動作環境の差異を吸収するものであってもよい。
仮想化オペレーティングシステム53を用いて起動した代替ECU5は、構築したいずれかの仮想環境(仮想ECU54)のうちの一つの仮想ECU54にて、当該仮想環境を管理するプログラム(仮想環境管理プログラム)を実行する。仮想環境管理プログラムを実行する仮想ECU54は、車載中継装置2の制御部20と通信し、車載中継装置2から送信される信号に基づき、仮想化オペレーティングシステム53にて用意されるコマンド等を実行することにより、新たな仮想ECU54の生成又は生成した仮想ECU54の削除を行う。すなわち、仮想環境管理プログラムを実行する仮想ECU54は、仮想化オペレーティングシステム53のコントロールパネルを兼ねるものであってもよい。
仮想環境管理プログラムを実行する仮想ECU54は、車載中継装置2から代替プログラムが送信された場合、新たな仮想ECU54を生成し、生成した仮想ECU54上で、車載中継装置2から取得した当該代替プログラムを実行させることにより、代替プログラムを代替装置6に適用することができる。仮想環境管理プログラムを実行する仮想ECU54は、車載中継装置2から代替を終了させる信号が送信された場合、当該信号に基づいて、代替処理を実行している仮想ECU54における代替プログラムの停止、又は生成した仮想ECU54を削除するものであってもよい。
仮想化オペレーティングシステム53を用いて起動した代替ECU5により、仮想ECU54の生成又は削除等の仮想環境の全体管理を行う仮想ECU54と、代替プログラムを実行する仮想ECU54とを、別個の動作環境とし、これら仮想ECU54間における相互干渉を抑制して、仮想ECU54夫々の安定稼働を図ることができる。
仮想化オペレーティングシステム53上に実装されるゲストOS又はエミュレータを用いることにより、仮想ECU54のプログラム実行環境と、無効化された車載ECU3のプログラム実行環境とを同一とする又は、互換性を持たせることができる。従って、車載ECU3と代替ECU5とのハードウェア仕様が異なるものであっても当該仕様の差異を吸収し、代替対象の車載ECU3のプログラムと同一のプログラムを、代替プログラムとして仮想ECU54にて実行することができる。
図5に示すとおり、代替ECU5は、車載中継装置2の制御部20からの指示に応じて、複数個の仮想ECU54を生成し、生成した複数個の仮想ECU54夫々において、異なる代替プログラムを実行することができる。従って、同時期に複数の車載ECU3が異常となった場合であっても、単一の代替ECU5にて複数個の仮想ECU54を生成し、当該複数の車載ECU3の代替を行うことができる。
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本開示の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
C 車両
S 車載制御装置代替システム
100 外部サーバ(OTAサーバ)
101 記憶部
1 車外通信装置
11 アンテナ
2 車載中継装置(ゲートウェイ)
20 制御部
21 記憶部
211 記録媒体
22 入出力I/F
23 車内通信部
231 イーサネット通信部
232 CAN通信部
3 車載ECU(車載制御装置)
4 車内LAN
41 通信線
411 イーサネットケーブル
412 CANバス
42 センサ
43 アクチュエータ
5 代替ECU(代替部)
50 制御部
51 記憶部
52 車内通信部
521 イーサネット通信部
522 CAN通信部
53 仮想化オペレーティングシステム
54 仮想ECU(仮想環境)
6 代替装置
7 表示装置

Claims (10)

  1. 複数の車載制御装置が実装される車両に搭載される代替装置であって、制御部と、代替部とを備え、
    前記制御部は、前記複数の車載制御装置から送信される送信データに基づき代替部を制御するものであり、
    前記送信データに基づき異常な車載制御装置を特定し、
    特定した前記異常な車載制御装置を無効化し、
    特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを、前記代替部に適用し、
    前記代替部は、適用された前記プログラムを実行することにより、前記無効化された車載制御装置を代替する
    代替装置。
  2. 前記複数の車載制御装置は、CAN又はEthernetの通信プロトコルにより前記制御部と通信可能に接続されており、
    前記代替部は、前記CAN及び前記Ethernetの通信プロトコルにより前記制御部と通信可能に接続されている
    請求項1に記載の代替装置。
  3. 前記制御部は、
    前記プログラムを前記代替部に適用する前は、前記複数の車載制御装置から送信される前記送信データを中継するための中継経路に、前記代替部を含めず、
    前記プログラムを前記代替部に適用した後は、前記中継経路に、前記代替部を含める
    請求項1又は請求項2に記載の代替装置。
  4. 前記代替部は、他の車載制御装置と通信するための通信経路を介して取得したデータに基づき、出力するデータを生成し、前記生成したデータを、前記通信経路を介して出力する処理を行う車載制御装置を代替する
    請求項1から請求項3のいずれか1項に記載の代替装置。
  5. 前記車両には、車外の外部サーバと通信するための車外通信装置が実装されており、
    前記制御部は、
    前記車外通信装置を介して前記外部サーバから、前記プログラムを取得し、
    取得した前記プログラムを前記代替部に適用する
    請求項1から請求項4のいずれか1項に記載の代替装置。
  6. 前記制御部は、
    前記無効化された車載制御装置に対し復帰処理を行い、
    前記復帰処理により、前記無効化された車載制御装置が正常となった場合、前記代替部による代替を停止させる
    請求項1から請求項5のいずれか1項に記載の代替装置。
  7. 前記代替部は、仮想化オペレーティングシステムによって仮想環境を生成しており、
    前記プログラムは、前記仮想環境上で実行される
    請求項1から請求項5のいずれか1項に記載の代替装置。
  8. 前記仮想環境は、前記無効化された車載制御装置の個数に応じて生成され、
    前記プログラムの個数は、前記無効化された車載制御装置の個数と同数であり、
    前記プログラム夫々は、前記個数に応じて生成された夫々の仮想環境上で実行される
    請求項7に記載の代替装置。
  9. コンピュータに、
    車両に搭載される複数の車載制御装置から送信される送信データに基づき異常な車載制御装置を特定し、
    特定した前記異常な車載制御装置を無効化し、
    特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを実行することにより、前記無効化された車載制御装置を代替する
    ための処理を実行させる代替制御プログラム。
  10. 車両に搭載される複数の車載制御装置から送信される送信データに基づき異常な車載制御装置を特定し、
    特定した前記異常な車載制御装置を無効化し、
    特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを実行することにより、前記無効化された車載制御装置を代替する
    代替方法。
JP2023013437A 2019-03-11 2023-01-31 代替装置、代替制御プログラム及び代替方法 Active JP7485110B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023013437A JP7485110B2 (ja) 2019-03-11 2023-01-31 代替装置、代替制御プログラム及び代替方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019044034A JP7225948B2 (ja) 2019-03-11 2019-03-11 代替装置、代替制御プログラム及び代替方法
JP2023013437A JP7485110B2 (ja) 2019-03-11 2023-01-31 代替装置、代替制御プログラム及び代替方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019044034A Division JP7225948B2 (ja) 2019-03-11 2019-03-11 代替装置、代替制御プログラム及び代替方法

Publications (2)

Publication Number Publication Date
JP2023041817A true JP2023041817A (ja) 2023-03-24
JP7485110B2 JP7485110B2 (ja) 2024-05-16

Family

ID=72427213

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019044034A Active JP7225948B2 (ja) 2019-03-11 2019-03-11 代替装置、代替制御プログラム及び代替方法
JP2023013437A Active JP7485110B2 (ja) 2019-03-11 2023-01-31 代替装置、代替制御プログラム及び代替方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019044034A Active JP7225948B2 (ja) 2019-03-11 2019-03-11 代替装置、代替制御プログラム及び代替方法

Country Status (4)

Country Link
US (1) US11630746B2 (ja)
JP (2) JP7225948B2 (ja)
CN (1) CN113498509A (ja)
WO (1) WO2020183897A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6628005B1 (ja) * 2018-06-01 2020-01-08 三菱電機株式会社 データ通信制御装置、データ通信制御プログラムおよび車両制御システム
WO2020241952A1 (ko) * 2019-05-31 2020-12-03 엘지전자 주식회사 자율 주행 차량 시스템 및 차량의 자율 주행 방법
CN114666363B (zh) * 2022-02-25 2024-03-01 阿波罗智联(北京)科技有限公司 信息传输方法、装置、电子设备、存储介质及产品
WO2024090288A1 (ja) * 2022-10-27 2024-05-02 ソフトバンクグループ株式会社 Central Brain制御の冗長設定

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3864747B2 (ja) 2001-10-09 2007-01-10 株式会社デンソー 冗長系信号処理装置
JP2008168649A (ja) 2007-01-05 2008-07-24 Mazda Motor Corp 車両用制御システム
JP6024564B2 (ja) 2013-03-28 2016-11-16 株式会社オートネットワーク技術研究所 車載通信システム
US9401923B2 (en) * 2013-10-23 2016-07-26 Christopher Valasek Electronic system for detecting and preventing compromise of vehicle electrical and control systems
JP5784786B1 (ja) 2014-04-11 2015-09-24 三菱電機株式会社 電子制御装置
JP6407981B2 (ja) * 2014-05-08 2018-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 車載ネットワークシステム、電子制御ユニット及び不正対処方法
JP2018182767A (ja) 2018-08-22 2018-11-15 日立オートモティブシステムズ株式会社 Ecu、ネットワーク装置、及び車用ネットワーク装置

Also Published As

Publication number Publication date
JP7225948B2 (ja) 2023-02-21
US11630746B2 (en) 2023-04-18
CN113498509A (zh) 2021-10-12
JP2020149130A (ja) 2020-09-17
WO2020183897A1 (ja) 2020-09-17
JP7485110B2 (ja) 2024-05-16
US20220206909A1 (en) 2022-06-30

Similar Documents

Publication Publication Date Title
JP7225948B2 (ja) 代替装置、代替制御プログラム及び代替方法
JP7071574B2 (ja) ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
US20180152341A1 (en) Gateway device, firmware update method, and recording medium
US11914987B2 (en) Master update agent and distributed update agent architecture for vehicles
WO2020189710A1 (ja) 車載更新装置、更新処理プログラム及び、プログラムの更新方法
US20210397433A1 (en) On-board update device, update processing program, program update method, and on-board update system
WO2020080273A1 (ja) 車載更新装置、更新処理プログラム及び、プログラムの更新方法
JP2023090981A (ja) ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP7192415B2 (ja) プログラム更新システム及び更新処理プログラム
WO2021205819A1 (ja) 車載中継装置、情報処理方法及びプログラム
JP7310570B2 (ja) 車載更新装置、プログラム及び、プログラムの更新方法
JP7226047B2 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
JP2021015618A (ja) 車載更新装置、更新処理プログラム及び、プログラムの更新方法
US11928900B2 (en) Arithmetic operation device and determination method
JP7327242B2 (ja) 車載中継装置、情報処理方法及びプログラム
US20230105426A1 (en) In-vehicle information processing apparatus, information processing method, and client program
WO2021205825A1 (ja) 車載装置、情報処理方法及びコンピュータプログラム
CN114579161A (zh) 应用程序更新方法及ecu
WO2020195034A1 (ja) 車載更新装置、更新処理システム、更新処理方法及び処理プログラム
WO2020105657A1 (ja) 車載中継装置及び中継方法
US20230107783A1 (en) In-vehicle information processing apparatus, information processing method, and server program
CN112204926B (zh) 数据通信控制装置、非易失性存储器以及车辆控制系统
JP2023057798A (ja) 車載装置、プログラム及び、プログラムの更新方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230131

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240415