JP2023108935A - 中継装置、プログラム及び、中継方法 - Google Patents
中継装置、プログラム及び、中継方法 Download PDFInfo
- Publication number
- JP2023108935A JP2023108935A JP2022010260A JP2022010260A JP2023108935A JP 2023108935 A JP2023108935 A JP 2023108935A JP 2022010260 A JP2022010260 A JP 2022010260A JP 2022010260 A JP2022010260 A JP 2022010260A JP 2023108935 A JP2023108935 A JP 2023108935A
- Authority
- JP
- Japan
- Prior art keywords
- control unit
- relay
- target data
- completed
- initialization
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 82
- 238000012545 processing Methods 0.000 claims abstract description 155
- 238000004891 communication Methods 0.000 claims abstract description 126
- 230000003139 buffering effect Effects 0.000 claims description 111
- 230000005540 biological transmission Effects 0.000 claims description 52
- 239000000872 buffer Substances 0.000 abstract description 21
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000010365 information processing Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】車載ECU間にて送受信されるデータを中継する際、当該データを効率的に記憶(バッファリング)する中継装置を提供する。【解決手段】車載システムSにおいて、車両Cに搭載され、複数の車載ECU6間にて送受信されるデータを中継する中継装置2は、車載ECUそれぞれと通信するための複数の通信部と、複数の通信部それぞれに対応する複数の制御部と、複数の制御部それぞれからアクセス可能な記憶部とを備える。複数の制御部それぞれは、別個に初期化処理を行い、初期化処理を終了した制御部は、初期化処理が終了していない他の制御部に対応する通信部を介して中継する中継対象データを取得した場合、取得した中継対象データの内の一部を、初期化処理が終了していない他の制御部との間で共有される共有領域に書き込むことにより、記憶部に記憶する。【選択図】図1
Description
本発明は、中継装置、プログラム及び、中継方法に関する。
車両には、エンジン制御等のパワー・トレーン系、エアコン制御等のボディ系等の車載機器を制御するための複数の車載ECU(Electronic Control Unit)が搭載されており、これら車載ECUは、中継装置と社内ネットワークにより通信可能に接続される。中継装置は、社内ネットワークを介して接続される車載ECU間にて送受信されるデータを中継する(例えば特許文献1参照)。
しかしながら、特許文献1に記載の中継装置は、例えば自装置の起動直後等においてデータを中継する際、当該データを効率的にバッファリングする点について考慮されていない。
本開示は、車載ECU間にて送受信されるデータを中継する際、当該データを効率的に記憶(バッファリング)することができる中継装置等を提供することを目的とする。
本開示の一態様に係る中継装置は、車両に搭載され、複数の車載ECU間にて送受信されるデータを中継する中継装置であって、前記車載ECUそれぞれと通信するための複数の通信部と、複数の前記通信部それぞれに対応する複数の制御部と、前記複数の制御部それぞれからアクセス可能な記憶部とを備え、前記複数の制御部それぞれは、別個に初期化処理を行い、初期化処理を終了した制御部は、初期化処理が終了していない他の制御部に対応する通信部を介して中継する中継対象データを取得した場合、取得した中継対象データの内の一部を、初期化処理が終了していない前記他の制御部との間で共有される共有領域に書き込むことにより、前記記憶部に記憶する。
本開示の一態様によれば、車載ECU間にて送受信されるデータを中継する際、当該データを効率的に記憶(バッファリング)する中継装置等を提供することができる。
[本発明の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本開示の一態様に係る中継装置は、車両に搭載され、複数の車載ECU間にて送受信されるデータを中継する中継装置であって、前記車載ECUそれぞれと通信するための複数の通信部と、複数の前記通信部それぞれに対応する複数の制御部と、前記複数の制御部それぞれからアクセス可能な記憶部とを備え、前記複数の制御部それぞれは、別個に初期化処理を行い、初期化処理を終了した制御部は、初期化処理が終了していない他の制御部に対応する通信部を介して中継する中継対象データを取得した場合、取得した中継対象データの内の一部を、初期化処理が終了していない前記他の制御部との間で共有される共有領域に書き込むことにより、前記記憶部に記憶する。
本態様にあたっては、中継装置は、中継装置が備える複数の制御部それぞれは、別個に初期化処理を行い、当該初期化処理を経て起動することにより、中継処理等の通常動作を行う状態に遷移する。これら複数の制御部それぞれによる初期化処理は、例えば予め定められた順序により行われ、すなわちこれら複数の制御部は、順次に初期化処理を行うものであってもよい。これら複数の制御部は、当該初期化処理を終了後、個々の制御部にて実行される制御プログラムに応じて、自身(自制御部)が担う通信部を介して取得(受信)したデータの中継処理(通常動作)を行う。この際、初期化処理を終了し、中継処理(通常動作)を開始した一の制御部が、取得した中継対象データを、中継先となる通信部に対応する他の制御部に受け渡すにあたり、一の制御部は、当該中継対象データを、当該他の制御部との間で共有される共有領域(記憶部)に書き込む(バッファリングする)。この際、当該他の制御部は、未だ初期化処理を終了しておらず、中継処理(通常動作)を開始していないことが想定される。このような場合であっても、一の制御部は、取得した全ての中継対象データの内、一部の中継対象データを共有領域(記憶部)に書き込む(バッファリングする)ため、当該共有領域(記憶部)が枯渇又はオーバフローすることを抑制することができる。一の制御部が複数の中継対象データを取得した場合であっても、これら複数の中継対象データの内、一部の中継対象データのみをバッファリングすることにより、取得(受信)した中継対象データの総容量よりも、少ないデータ容量の中継対象データを記憶部に記憶(バッファリング)することができる。これにより、複数の制御部それぞれが順次に初期化処理を行うことにより、個々の制御部が、中継処理(通常動作)を開始するタイミング(中継処理開始時点)が異なる場合であっても、他の制御部との間で共有される共有領域(記憶部)に書き込む中継対象データのデータ量を制限することができる。従って、当該共有領域(記憶部)にて記憶領域が不足(バッファオーバーフロー)することを抑制することができる。すなわち、個々の制御部の中継処理開始時点に時間差が生じるものとなるが、当該時間差に対応する期間に受信したデータの全てをバッファリングすることなく、例えば、予め定められたバッファリングモードに基づき、当該受信した全てのデータの一部のデータのみをバッファリングし、共有領域(記憶部)が不足等することを抑制することができる。これにより、中継装置に実装する記憶部の記憶容量を軽減することができる。
(2)本開示の一態様に係る中継装置は、前記初期化処理を終了した制御部は、取得した中継対象データの内、所定の優先度以上の中継対象データを前記共有領域に書き込む。
本態様にあたっては、中継対象データは、複数種類の中継対象データを含み、当該種類に応じて中継対象データの優先度が予め決定されている。初期化処理を終了した制御部は、例えば、優先度が所定値以上の種類の中継対象データのみを共有領域に書き込むことにより、取得(受信)した中継対象データの総容量よりも、少ないデータ容量の中継対象データを記憶部に記憶(バッファリング)することができる。
(3)本開示の一態様に係る中継装置は、前記中継対象データは、CANメッセージであり、前記初期化処理を終了した制御部は、前記中継対象データに含まれるCAN-IDに応じて、前記中継対象データの優先度を特定する。
本態様にあたっては、中継対象データはCANメッセージであり、当該CANメッセージにおける優先度は、例えば、CANメッセージに含まれるCAN-IDにより特定される。当該CANメッセージは、CAN-FDメッセージを含む。CANプロコトルを用いる通信において、CAN-IDの値が小さいほどアービトレーション(通信調停)における送信優先権が高く、当該CAN-IDに基づき、優先度を特定することにより、CANプロコトルにおける通信調停に則して、比較的に重要なCANメッセージを記憶部に記憶(バッファリング)することができる。従って、例えば、所定値以下のCAN-IDに対しては優先度1(1:バッファリング対象)として、当該所定値よりも大きい値のCAN-IDに対しては優先度0(0:バッファリング対象外)とするように優先度を示すフラグ値を付与(設定)することにより、中継対象データ(CANメッセージ)の優先度を設定することができる。優先度の設定は、バッファリング対象であるか否かを示す2段階である場合に限定されず、3段階以上となる多段階により優先度の設定がされるものであってもよい。又は、CAN-IDの値そのものを用いて、優先度を設定するものであってもよい。この場合、CAN-IDの値が小さいほど、バッファリングする際の優先度は、高いものとなる。なお、本実施形態において、車載ECU間にて送受信されるデータはCANメッセージに限定されず、TCP/IPプロコトルによるIPパケットであってもよい。IPパケットの場合は、優先度は、TCP/IPのプロトコルにて定義されるポート番号(TCPポート番号、UDPポート番号)によって、優先度、すなわちバッファリングするか否かのフラグ値(高:バッファリング対象、低:バッファリング対象外)を決定するものであってもよい。
(4)本開示の一態様に係る中継装置は、前記初期化処理を終了した制御部は、取得した複数の中継対象データが、同種の中継対象データを含む場合、同種の中継対象データの内、最新の中継対象データを共有領域に書き込む。
本態様にあたっては、同種の複数の中継対象データの内、最新の中継対象データを共有領域に書き込むことにより、各種それぞれの中継対象データにおいて、当該中継対象データの各種類それぞれの最新値を、記憶部に記憶(バッファリング)することができる。
(5)本開示の一態様に係る中継装置は、前記中継対象データは、CANメッセージであり、前記初期化処理を終了した制御部は、前記中継対象データに含まれるCAN-IDに基づいて、前記中継対象データが同種であるか否かの種別判定を行う。
本態様にあたっては、初期化処理を終了した制御部は、CANメッセージである中継対象データ取得した場合、CANメッセージに含まれるCAN-IDに基づいて、当該中継対象データ(CANメッセージ)が同種であるか否かの種別判定を行うため、当該種別判定を効率的に行うことができる。IPパケットの場合は、同種であるか否かの種別判定は、例えばTCP/IPのプロトコルにて定義されるポート番号(TCPポート番号、UDPポート番号)又は、当該ポート番号と送信元アドレス(ソースアドレス)との組み合わせに基づき、中継対象データとなるIPパケットが同種であるか否かの種別判定を行うものであってもよい。
(6)本開示の一態様に係る中継装置は、前記初期化処理を終了した制御部は、初期化処理が終了していない前記他の制御部の中継処理開始時点により特定されるバッファリング対象期間にて、取得した中継対象データを前記共有領域に書き込む。
本態様にあたっては、個々の制御部における初期化の開始時点(開始時刻)、初期化に要する初期化時間、及び当該開始時点に初期化時間を加算することにより算出される中継処理開始時点(中継処理開始時刻)は、例えば、初期化スケジューリング情報として記憶部に記憶されている。初期化処理を終了した一の制御部は、自身(自制御部)の中継処理開始時点に基づき、当該初期化スケジューリング情報を参照して、初期化処理が終了していない他の制御部の中継処理開始時点を特定し、当該他の制御部の中継処理開始時点を終点とするバッファリング対象期間に取得した中継対象データを共有領域に書き込む。当該バッファリング対象期間は、初期化処理を終了した制御部の中継処理開始時点から、初期化処理が終了していない他の制御部の中継処理開始時点までの期間よりも、短い期間として設定してある。これにより、一の制御部の中継処理開始時点と、他の制御部の中継処理開始時点との時間差による期間が、当該バッファリング対象期間よりも長い場合であっても、他の制御部の中継処理開始時点を基点(終点)として、遡及的に特定されるバッファリング対象期間に取得(受信)した中継対象データのみを共有領域に書き込むことができる。これにより、他の制御部の中継処理開始時点を基準に最新、及び比較的に新しい中継対象データを効率的に記憶(バッファリング)することができる。
(7)本開示の一態様に係る中継装置は、前記バッファリング対象期間は、中継対象データの送信周期に基づき決定される。
本態様にあたっては、バッファリング対象期間は、中継対象データの送信周期に基づき決定されるものであり、例えば、当該送信周期以上として予め設定されている。中継対象データが、複数種類の中継対象データを含む場合、各種類毎の中継対象データそれぞれの送信周期において、最も長い送信周期以上となるようにバッファリング対象期間は、設定されているものであってもよい。このようにバッファリング対象期間の下限値を設定することにより、中継対象データが、複数種類の中継対象データを含む場合、これら各種類毎の中継対象データを、少なくとも1回は取得し、記憶することができる。又は、バッファリング対象期間は、各種類毎の中継対象データそれぞれの送信周期の合算値以下となるように設定されるものであってもよい。このようにバッファリング対象期間の上限値を設定することにより、バッファリング対象期間が過度に長くなることを抑制し、記憶する中継対象データ(バッファリング対象の中継対象データ)による総容量が増加することを抑制することができる。
(8)本開示の一態様に係る中継装置は、前記中継装置は、取得した中継対象データの内の一部を前記共有領域に書き込む際、書き込み対象となる一部を特定するための複数のバッファリングモードを備え、前記初期化処理を終了した制御部は、前記複数のバッファリングモードの内、選択された一つ以上のバッファリングモードにより、取得した中継対象データの内の一部を前記共有領域に書き込む。
本態様にあたっては、中継装置は、取得した中継対象データの内の一部を共有領域に書き込む際、書き込み対象となる一部を特定するための複数のバッファリングモードを備える。当該複数のバッファリングモードは、例えば、優先度モード、最新値モード、及び初期化完了直前モードを含む。優先度モードが選択された場合、初期化処理を終了した制御部は、取得した中継対象データの内、所定の優先度以上の中継対象データを共有領域に書き込む。最新値モードが選択された場合、初期化処理を終了した制御部は、取得した中継対象データが、同種(例えば、同じCANID)の複数の中継対象データを含む場合、同種の複数の中継対象データの内、最新の中継対象データを共有領域に書き込む。初期化完了直前モードが選択された場合、初期化処理を終了した制御部は、初期化処理が終了していない他の制御部の中継処理開始時点により特定されるバッファリング対象期間にて、取得した中継対象データを共有領域に書き込む。初期化処理を終了した制御部は、2つ以上のバッファリングモードが選択された場合、これら選択された2つ以上のバッファリングモードの組み合わせにより、取得した中継対象データの内の一部を共有領域に書き込む。複数のバッファリングモードにおけるいずれか単一のバッファリングモード、又は2つ以上のバッファリングモードの組み合わせが、選択可能として設定されることにより、中継装置が搭載される車両の型式、種別、又は車両の走行状態等に応じて、適切なバッファリングモードを用いることができ、当該中継装置の可用性を向上させることができる。
(9)本開示の一態様に係るプログラムは、車両に搭載され、複数の車載ECU間にて送受信されるデータを中継し、前記車載ECUそれぞれと通信するための複数の通信部と、複数の前記通信部それぞれに対応する複数の制御部と、前記複数の制御部それぞれからアクセス可能な記憶部とを備えるコンピュータに、前記複数の制御部それぞれを、別個に初期化処理を行い、初期化処理を終了した制御部が、初期化処理が終了していない他の制御部に対応する通信部を介して中継する中継対象データを取得した場合、取得した中継対象データの内の一部を、初期化処理が終了していない前記他の制御部との間で共有される共有領域に書き込むことにより、前記記憶部に記憶する処理を実行させる。
本態様にあたっては、コンピュータを、車載ECU間にて送受信されるデータを中継する際、当該データを効率的に記憶(バッファリング)する中継装置として機能させるプログラムを提供することができる。
(10)本開示の一態様に係る情報処理方法は、車両に搭載され、複数の車載ECU間にて送受信されるデータを中継し、前記車載ECUそれぞれと通信するための複数の通信部と、複数の前記通信部それぞれに対応する複数の制御部と、前記複数の制御部それぞれからアクセス可能な記憶部とを備えるコンピュータに、前記複数の制御部それぞれを、別個に初期化処理を行い、初期化処理を終了した制御部が、初期化処理が終了していない他の制御部に対応する通信部を介して中継する中継対象データを取得した場合、取得した中継対象データの内の一部を、初期化処理が終了していない前記他の制御部との間で共有される共有領域に書き込むことにより、前記記憶部に記憶する処理を実行させる。
本態様にあたっては、コンピュータを、車載ECU間にて送受信されるデータを中継する際、当該データを効率的に記憶(バッファリング)する中継装置として機能させる情報処理方法を提供することができる。
[本開示の実施形態の詳細]
本発明をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る中継装置2を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
本発明をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る中継装置2を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
(実施形態1)
以下、実施の形態について図面に基づいて説明する。図1は、実施形態1に係る中継装置2を含む車載システムの構成を例示する模式図である。図2は、中継装置2の物理構成を例示するブロック図である。車載システムSは、車両Cに搭載された中継装置2を主たる装置として構成され、当該中継装置2は、車両Cに搭載される複数の車載ECU6と通信可能に接続される。中継装置2は、複数の車載ECU6それぞれか送信された送信データ(通信データ)を受信し、当該送信データに含まれるメッセージID又は送信先アドレス等を含むヘッダー情報に基づき、送信データの中継処理を行う。当該中継装置2は、更に、車外通信装置1を介して、インターネット等の車外ネットワークに接続される外部サーバS1と、通信可能に接続されるものであってもよい。中継装置2は、当該外部サーバS1と、車両Cに搭載される車載ECU6との間で送受信される送信データ(通信データ)についても、中継処理を行うものであってもよい。
以下、実施の形態について図面に基づいて説明する。図1は、実施形態1に係る中継装置2を含む車載システムの構成を例示する模式図である。図2は、中継装置2の物理構成を例示するブロック図である。車載システムSは、車両Cに搭載された中継装置2を主たる装置として構成され、当該中継装置2は、車両Cに搭載される複数の車載ECU6と通信可能に接続される。中継装置2は、複数の車載ECU6それぞれか送信された送信データ(通信データ)を受信し、当該送信データに含まれるメッセージID又は送信先アドレス等を含むヘッダー情報に基づき、送信データの中継処理を行う。当該中継装置2は、更に、車外通信装置1を介して、インターネット等の車外ネットワークに接続される外部サーバS1と、通信可能に接続されるものであってもよい。中継装置2は、当該外部サーバS1と、車両Cに搭載される車載ECU6との間で送受信される送信データ(通信データ)についても、中継処理を行うものであってもよい。
車両Cには、車外通信装置1、中継装置2、及び種々の車載機器(アクチュエータ、センサ)を制御するための複数の車載ECU6が、搭載されている。車外通信装置1と中継装置2とは、例えばシリアルケーブル等のハーネスにより通信可能に接続されている。中継装置2及び車載ECU6は、CAN(Control Area Network)、CAN-FD又は、Ethernet(登録商標)等の通信プロトコルに対応した車載ネットワーク7によって通信可能に接続されている。
車外通信装置1は、車外通信部(図示せず)及び、中継装置2と通信するための入出力I/F(図示せず)(インターフェイス)を含む。車外通信部は、LTE、4G、5G、WiFi等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部に接続されたアンテナ11を介して外部サーバS1とデータの送受信を行う。車外通信装置1と外部サーバS1との通信は、例えば公衆回線網又はインターネット等の外部ネットワークを介して行われる。
中継装置2は、CANゲートウェイ又はイーサSW(レイヤー2スイッチ又はレイヤー3スイッチ)等として機能し、更にCANプロコトルとTCP/IPプロトコルとの間など、異なるプロトコル間におけるプロトコル変換を行う機能を有する。中継装置2は、通信に関する中継に加え、二次電池等の電源装置から出力された電力を分配及び中継し、自装置(中継装置2)に接続されるアクチュエータ等の車載機器に電力を供給する電力分配装置としても機能するPLB(Power Lan Box)であってもよい。又は、中継装置2は、車両C全体をコントロールするボディECUの一機能部として構成されるものであってもよい。又は、中継装置2は、例えばヴィークルコンピュータ等の中央制御装置にて構成され、車両Cの全体的な制御を行う統合ECUであってもよい。
中継装置2は、制御部3、記憶部4、車内通信部5、及び入出力I/F21を含む。制御部3は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部4に予め記憶された制御プログラムP(プログラム製品)及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。
制御部3は、第1制御部31、第2制御部32、第3制御部33、及び第4制御部34を含む複数の制御部3により構成される。例えば、制御部3が4つのコア(クアッドコア)で構成されるマルチコアCPUである場合、第1制御部31、第2制御部32、第3制御部33、及び第4制御部34それぞれは、各コアに対応するものとなる。制御部3はマルチコアCPUである場合に限定されず、シングルコアのCPUを複数有するマルチCPUであってもよく、デュアルコアのCPUを2つ備えるものであってもよい。制御部3が、第1制御部31、第2制御部32、第3制御部33及び第4制御部34による4つのコア(個々の制御部3)によって構成される形態は一例であり、制御部3は、例えばオクトコア等にて構成されるものであってよい。詳細は後述するが、これら第1制御部31、第2制御部32、第3制御部33及び第4制御部34それぞれは、異なるタイミングで初期化処理を行う。更に、第1制御部31、第2制御部32、第3制御部33及び第4制御部34それぞれは、個々の車内通信部と対応関係を有する。
記憶部4は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、制御プログラムP及び処理時に参照するデータが予め記憶してある。記憶部4に記憶された制御プログラムP(プログラム製品)は、中継装置2が読み取り可能な記録媒体400から読み出された制御プログラムP(プログラム製品)を記憶したものであってもよい。当該制御プログラムPは、第1制御部31、第2制御部32、第3制御部33、及び第4制御部34それぞれに対応した個々の制御プログラムPを含むものであってもよい。
記憶部4は、制御部3を構成する複数のコア等(第1制御部31、第2制御部32、第3制御部33及び第4制御部34)それぞれからアクセス可能であり、これら第1制御部31、第2制御部32、第3制御部33及び第4制御部34によって共有メモリとして用いられる共有領域41を含む。当該共有領域41は、記憶部4の物理アドレス又は論理アドレスにて定義された領域に設定されるものであってもよい。共有領域41は、第1制御部31、第2制御部32、第3制御部33及び第4制御部34それぞれによる組み合わせに応じて、個別に設定されるものであってもよい。すなわち、共有領域41は、第1制御部31及び第2制御部32の共有領域41、第1制御部31及び第3制御部33の共有領域41、及び第1制御部31及び第4制御部34の共有領域41、第2制御部32及び第3制御部33の共有領域41、第2制御部32及び第4制御部34の共有領域41、及び第3制御部33及び第4制御部34の共有領域41を含むものであってもよい。
車内通信部5は、例えばCAN(Control Area Network)、CAN-FD(CAN with Flexible Data Rate)又はイーサネット(TCP/IP)等の通信プロトコルを用いた入出力インターフェイスである。車内通信部5は、CANトランシーバにて構成されるCAN通信部51、及びイーサネットPHY部にて構成されるイーサネット通信部52を含み、中継装置2と車載ECU6とが通信するための物理層に対応した通信部として機能する。車内通信部5の個数と、制御部3を構成するコア等の個数は、同数となるように、中継装置2は構成されるものであってもよい。
車内通信部5は、複数個設けられており、車内通信部5夫々に、車載ネットワーク7を構成する通信線71夫々(イーサネットケーブル711、CANバス712)、すなわちバス夫々が接続されている。このように車内通信部5を複数個設けることにより、車載ネットワーク7を複数個のバス又はセグメントに分け、各バス等に車載ECU6を、当該車載ECU6の機能に応じて接続するものであってもよい。中継装置2の制御部3は、車内通信部5を介して車載ネットワーク7に接続されている車載ECU6と相互に通信する。
入出力I/F21は、車外通信装置1の入出力I/Fと同様に、例えばシリアル通信するための通信インターフェイスである。入出力I/F21を介して、中継装置2は、車外通信装置1、及び車両Cの起動及び停止を行うIGスイッチ8と通信可能に接続される。これら車外通信装置1及びIGスイッチ8と、中継装置2との接続は、入出力I/Fを介す場合に限定されず、車内通信部5を介した接続であってもよい。
図3は、複数の制御部3における初期化処理を例示する説明図である。例えばマルチコア等(本実施形態ではクアッドコア)にて構成される制御部3は、各コアに対応する第1制御部31、第2制御部32、第3制御部33、及び第4制御部34を含む。
これら第1制御部31、第2制御部32、第3制御部33、及び第4制御部34は、初期化処理を順次に開始することにより、中継処理等の通常動作を開始する通常動作開始時点(初期化完了時点)が、異なるものとなる。これら初期化処理の順番は、例えば、後述する対応関係テーブルにて定義されている。
本実施形態においては、第1制御部31、第2制御部32、第3制御部33、及び第4制御部34の順番で、それぞれが初期化処理を開始する。第1制御部31は最先に初期化処理を行い、第1制御部31の初期化完了後、第2制御部32が初期化処理を開始する。第2制御部32の初期化完了後、第3制御部33が初期化処理を開始する。第3制御部33の初期化完了後、第4制御部34が初期化処理を開始する。
このように第1制御部31、第2制御部32、第3制御部33、及び第4制御部34それぞれが、シーケンシャルに初期化処理を行うことにより、例えば、第1制御部31と第4制御部34とにおいては、通常動作開始時点の時間差が発生する。当該通常動作開始時点の時間差が発生することにより、第1制御部31の通常動作開始時点から、第4制御部34の通常動作開始時点までの間、第1制御部31から第4制御部34への直接的な中継処理は行えないものとなる。このため、第1制御部31は、受信(取得)した送信データの内、第4制御部34が担う車内通信部5を介して中継する中継対象データを、第1制御部31及び第4制御部34の共有領域41に格納(バッファリング)するものとなる。しかしながら、第1制御部31の通常動作開始時点から、第4制御部34の通常動作開始時点まで期間に受信した全ての中継対象データを共有領域41にバッファリングした場合、当該共有領域41の記憶容量(空き領域)が不足することが懸念される。これに対し、第1制御部31は、受信した全ての中継対象データの内、一部の中継対象データのみを共有領域41にバッファリングすることにより、共有領域41の記憶容量(空き領域)が逼迫することを抑制する。
第1制御部31は、第4制御部34と同様に自身(第1制御部31)よりも後に初期化処理を行う(初期化処理を完了する)第2制御部32及び第3制御部33に対しても、第4制御部34に対するバッファリング処理と同様のバッファリング処理を行う。第2制御部32も、自身よりも後に初期化処理を行う第3制御部33及び第4制御部34に対し、第1制御部31と同様のバッファリング処理を行う。第3制御部33も、自身よりも後に初期化処理を行う第4制御部34に対し、第1制御部31と同様のバッファリング処理を行う。
図4は、複数の制御部3それぞれと車内通信部5との対応関係を例示する説明図(対応関係テーブル)である。制御部3を構成する第1制御部31、第2制御部32、第3制御部33、及び第4制御部34それぞれと車内通信部5との対応関係を示す情報(対応関係情報)は、例えばテーブル形式(対応関係テーブル)にて、記憶部4に記憶される。対応関係テーブルは、管理項目(フィールド)として、例えば、コア番号、初期化順番、初期化所要時間、通信部番号、及び通信部種類を含む。
コア番号の管理項目には、制御部3を構成する第1制御部31、第2制御部32、第3制御部33、及び第4制御部34それぞれを一意に示すデバイス番号が格納される。本実施形態においては、第1制御部31(Core1)、第2制御部32(Core2)、第3制御部33(Core3)、及び第4制御部34(Core4)それぞれを示すコア番号が格納される。制御部3が、マルチCPUにて構成される場合、本管理項目には、CPU番号が格納されるものであってもよい。
初期化順番の管理項目には、制御部3を構成する第1制御部31、第2制御部32、第3制御部33、及び第4制御部34それぞれが、初期化処理を開始する順番が格納される。本実施形態においては、第1制御部31、第2制御部32、第3制御部33、及び第4制御部34の順番にて、初期化処理が行われる。当該初期化順番を参照することにより、個々の制御部3は、自身よりも後に初期化処理を行う他の制御部3を特定することができる。
初期化所要時間の管理項目には、第1制御部31、第2制御部32、第3制御部33、及び第4制御部34それぞれの初期化処理に要する時間(所要時間)が格納される。当該初期化所要時間を参照することにより、個々の制御部3は、自身よりも後に初期化処理を行う他の制御部3が初期化処理を完了する時点を導出することができる。このように対応関係テーブルは、初期化順番及び初期化順番の管理項目を含むことにより、初期化スケジューリング情報を含むものとなる。
通信部番号の管理項目には、第1制御部31、第2制御部32、第3制御部33、及び第4制御部34それぞれに対応する車内通信部5のデバイス番号が格納される。当該対応関係に基づき、個々の制御部3は、自身に対応する車内通信部5を介して送信データの送受信を行う。通信部種類の管理項目には、第1制御部31、第2制御部32、第3制御部33、及び第4制御部34それぞれに対応する車内通信部5のプロコトルの種類が格納される。個々の制御部3と車内通信部5との対応関係に関する詳細は、後述する。
図5は、中継経路情報を例示する説明図(中継経路テーブル)である。中継装置2が、車載ECU6又は外部サーバS1から受信した送信データを中継処理する際に用いられる中継経路情報は、例えばテーブル形式(中継経路テーブル)にて、記憶部4に記憶される。中継経路テーブルの管理項目(フィールド)として、例えば、メッセージID、中継先通信部、送信周期、優先度、及び対応ポート番号を含む。
メッセージIDの管理項目には、例えば、CANメッセージに含まれるメッセージID等、送信データを分類又は識別するための通信データ識別子が格納される。中継先通信部の管理項目には、同じレコードに格納されるメッセージIDの送信データの中継先となる車内通信部5の通信部番号が格納される。当該通信部番号は、対応関係テーブルにて定義(格納)されている値である。通信部番号を特定することにより、当該通信部番号に対応する制御部3、すなわち第1制御部31、第2制御部32、第3制御部33及び第4制御部34のいずれかを特定することができる。中継経路テーブルは、中継先通信部の管理項目を含むことにより、中継装置2が中継処理を行う際に用いる経路情報(ルーティング情報)を含むものとなる。
送信周期の管理項目には、同じレコードに格納されるメッセージIDの送信データの送信周期が格納される。優先度の管理項目には、同じレコードに格納されるメッセージIDの送信データの優先度を示す値が格納される。当該優先度は、メッセージIDに基づき決定される。CANプロトコルにおけるメッセージIDは、数値が小さいほど、アービトレーション(通信調停)が優先される。本実施形態においては、所定値未満のメッセージIDは高い優先度として設定され、所定値以上のメッセージIDは低い優先度として設定される。
対応ポート番号の管理項目には、同じレコードに格納されるメッセージIDの送信データがCANメッセージである場合、当該CANメッセージをIPパケットにプロコトル変換する際、当該IPパケットに含まれるポート番号(TCPポート番号、UDPポート番号)が格納される。中継経路テーブルは、対応ポート番号の管理項目を含むことにより、中継装置2が中継処理を行う際、CANメッセージとIPパケットとのプロコトル変換に用いるプロコトル変換情報を含むものとなる。
図6は、中継装置2内における中継対象データの中継処理を例示する説明図(論理構成図)である。制御部3を構成する第1制御部31、第2制御部32、第3制御部33、及び第4制御部34それぞれには、対応する車内通信部5が定められている。
第1制御部31(Core1)に対応する車内通信部5は、例えば、通信部番号がC-01のCAN通信部51である。第2制御部32(Core2)に対応する車内通信部5は、例えば、通信部番号がC-02のCAN通信部51である。第3制御部33(Core3)に対応する車内通信部5は、例えば、通信部番号がe-01のイーサネット通信部52である。第4制御部34(Core4)に対応する車内通信部5は、例えば、通信部番号がe-02のイーサネット通信部52である。
第1制御部31は、C-01のCAN通信部51における送信データの受信(取得)及び送信(出力)を行う処理を担う。第2制御部32は、C-02のCAN通信部51における送信データの受信(取得)及び送信(出力)を行う処理を担う。第3制御部33は、e-01のイーサネット通信部52における送信データの受信(取得)及び送信(出力)を行う処理を担う。第4制御部34は、e-02のイーサネット通信部52における送信データの受信(取得)及び送信(出力)を行う処理を担う。
記憶部4には、第1制御部31、第2制御部32、第3制御部33、及び第4制御部34それぞれが、アクセス可能な共有領域41を含む。当該共有領域41は、初期化処理を終了した制御部3が、初期化処理が終了していない他の制御部3に対応する通信部を介して中継する中継対象データを取得した場合、当該中継対象データをバッファリングする記憶領域として用いられる。
本実施形態における例示において、初期化処理を終了した制御部3を第1制御部31とし、初期化処理が終了していない他の制御部3を第4制御部34として説明する。第1制御部31は、自身が担うCAN通信部51(C-01)から受信したCANメッセージ(送信データ)が、中継対象であるか否かを判断(判定)する。第1制御部31は、例えば、中継経路テーブルを参照して、当該CANメッセージが、第4制御部34に対し中継すべき送信データ(中継対象データ)であるか否かを判定する。
CANメッセージが第4制御部34に対し中継すべき送信データ(中継対象データ)であって、かつ当該第4制御部34が初期化処理を完成していない場合、第1制御部31は、当該CANメッセージを共有領域41に格納(バッファリング)する。第1制御部31は、CANメッセージ等の中継対象データを共有領域41にバッファリングするにあたり、受信した全ての中継対象データの内、予め定められた所定のルールに基づき、一部の中継対象データのみをバッファリングする。これにより、共有領域41の空き領域(空き容量)が不足又は逼迫することを抑制又は防止することができる。
第4制御部34は、初期化処理を完了後、共有領域41を参照することにより、第1制御部31がバッファリングしたCANメッセージ(中継対象データ)を取得し、当該CANメッセージをIPパケットにプロコトル変換することにより、当該IPパケットを生成する。第4制御部34は、同一のメッセージIDを含むCANメッセージが、複数個、バッファリングされている場合、当該複数のCANメッセージのペイロードに含まれるデータを、単一のIPパケットのペイロードに含ませることにより、プロコトル変換するものであってもよい。
第4制御部34は、生成したIPパケットを、自身が担うイーサネット通信部52(e-02)から、当該イーサネット通信部52(e-02)に接続される車載ECU6に送信(出力)する。又は、第4制御部34は、送信先となる車載ECU6を特定することなく、マルチキャストを用いて、生成したIPパケットを送信(出力)するものであってもよい。
このように共有領域41を用いたバッファリングを行うことにより、初期化処理を終了した制御部3(第1制御部31)と、初期化処理が終了していない他の制御部3(第4制御部34)との間における中継処理を行うことができる。共有領域41にバッファリングされる中継対象データは、一部の中継対象データのみとする処理を行うことにより、共有領域41の空き領域が不足又は逼迫することを抑制又は防止することができる。
図7は、中継装置2の制御部3の処理を例示するフローチャートである。中継装置2の制御部3は、例えば車両Cが起動状態(IGスイッチ8がオン)にされた際、定常的に以下の処理を行う。中継装置2の制御部3は、例えば、複数のコア又はCPUにより構成されるマルチコアCPU等であり、本実施形態においては、第1制御部31、第2制御部32、第3制御部33、及び第4制御部34からの4つのコア(制御部3)から成る。
これら第1制御部31、第2制御部32、第3制御部33、及び第4制御部34は、所定の初期順番にて、順次に初期化処理を行う。初期化処理を完了したコア(制御部3)は、初期化処理を完了していないコア(制御部3)、すなわち自身(自コア)よりも後に初期化処理が完了する全てのコア(制御部3)それぞれに対し、以下の処理を行う。本実施形態においては、初期化処理を完了したコア(制御部3)は、最先に初期化処理を完了する第1制御部31(Core1)とし、初期化処理を完了していない他のコア(制御部3)は、最後に初期化処理を完了する第4制御部34(Core4)として説明する。
中継装置2の第1制御部31(制御部3)は、初期化処理を実行する(S101)。中継装置2の第1制御部31は、例えば、IGスイッチ8から出力されたオン信号を取得し、当該オン信号をトリガーに初期化処理を開始する。初期化処理は、例えば対応関係テーブルにて示されるように所定の初期化所要時間にて行われ、当該初期化所要時間の経過後、初期化処理は終了(完了)する。これにより、中継装置2の第1制御部31は、初期化処理を終了した制御部3となる。
中継装置2の第1制御部31(制御部3)は、送信データを受信したか否かを判定する(S102)。送信データを受信していない場合(S102:NO)、中継装置2の第1制御部31(制御部3)は、再度S102からの処理を実行すべく、ループ処理を行う。
送信データを受信した場合(S102:YES)、中継装置2の第1制御部31(制御部3)は、受信した送信データが第4制御部34に対する中継対象データであるか否かを判定する(S103)。受信した送信データが第4制御部34に対する中継対象データでない場合(S103:NO)、中継装置2の第1制御部31(制御部3)は、再度S102からの処理を実行すべく、ループ処理を行う。
受信した送信データが第4制御部34に対する中継対象データである場合(S103:YES)、中継装置2の第1制御部31(制御部3)は、中継対象データの中継先となる車内通信部5に対応する第4制御部34(他の制御部3)が初期化中であるか否かを判定する(S104)。中継装置2の第1制御部31は、第4制御部34が初期化中であるか否か、すなわち第4制御部34が初期化を終了(完了)したか否かを判定する。
第4制御部34が初期化中である場合とは、第4制御部34が初期化を終了(完了)していないことを意図し、第4制御部34が初期化を開始していない場合も含む。第1制御部31は、自身の初期化完了時点(通常動作開始時点)を基準に第4制御部34の初期化完了時点を算出し、現時点が、第4制御部34の初期化完了時点を超過しているか否かに基づき、第4制御部34が初期化を終了(完了)したか否かを判定するものであってもよい。
第1制御部31は、第4制御部34の初期化完了時点を算出するにあたり、例えば、記憶部4に記憶されている対応関係テーブルを参照するものであってもよい。第4制御部34の初期化完了時点は、第1制御部31の初期化完了時点(通常動作開始時点)を基準として、第1制御部31よりも後に初期化を行う第2制御部32、第3制御部33及び第4制御部34の初期化所要時間を合算することにより、導出することができる。
初期化を終了した(初期化中でない)と判定した場合(S104:NO)、中継装置2の第1制御部31(制御部3)は、中継処理(通常時処理)を行う(S1041)。中継装置2の第1制御部31は、第4制御部34の初期化が終了していると判定した場合、例えば、当該第4制御部34にて実行されているプロセス又はスレッドとプロセス間通信を行うことにより、取得した中継対象データを第4制御部34に受け渡すことにより、中継処理(通常時処理)を行う。第4制御部34の初期化が終了(完了)している場合、当該第4制御部34が初期化中である場合に行うバッファリングは不要となり、CAN通信部51を担う第1制御部31と、イーサネット通信部52を担う第4制御部34とが連関処理を行うことによる中継処理が、中継装置2の通常時処理として行われる。
初期化を終了していない(初期化中である)と判定した場合(S104:YES)、中継装置2の第1制御部31(制御部3)は、中継対象データの優先度に基づき、バッファリング対象であるか否かを判定する(S105)。第4制御部34が初期化を終了していない場合、中継装置2の第1制御部31は、例えば、記憶部4に記憶されている中継経路テーブルを参照することにより、中継対象データの優先度に基づくバッファリング対象の有無を判定する。例えば中継対象データがCANメッセージの場合、当該CANメッセージに含まれるメッセージID(CAN-ID)に応じて優先度が定められており、本実施形態においては、メッセージIDの値が所定値以下のCANメッセージは、バッファリング対象であると設定されている。
バッファリング対象であると判定した場合(S105:YES)、中継装置2の第1制御部31(制御部3)は、中継対象データを記憶部4の共有領域41に格納(バッファリング)する(S106)。例えば中継経路テーブルを参照することにより、中継対象データがバッファリング対象であると判定した場合、中継装置2の第1制御部31は、当該中継対象データを記憶部4の共有領域41に格納(バッファリング)する。当該共有領域41は、第4制御部34からもアクセスできる記憶領域として設定されているものであり、初期化処理を終了した第4制御部34は、記憶領域を参照することにより、第1制御部31によってバッファリングされた中継対象データを取得することができる。
バッファリング対象でない判定した場合(S105:NO)、中継装置2の第1制御部31(制御部3)は、中継対象データを破棄する(S1051)。例えば中継経路テーブルを参照することにより、中継対象データがバッファリング対象でない判定した場合、すなわち当該中継対象データの優先度が低く、バッファリングが不要である場合、第1制御部31は、中継対象データを破棄する。これにより、バッファリングを行うための記憶領域である共有領域41が、逼迫又は不足し、優先度が高い中継対象データのバッファリングが不可となることを抑制又は防止することができる。
中継装置2の第1制御部31(制御部3)は、S106、S1061、又はS1041の実行後、本フローにおける一連の処理を終了する。又は、中継装置2の第1制御部31(制御部3)は、S106、S1061、又はS1041の実行後、再度S102からの処理を実行すべく、ループ処理を行うものであってもよい。
中継装置2の第4制御部34(他の制御部3)は、初期化処理を完了後、記憶部4における共有領域41を参照することにより、第1制御部31が当該共有領域41に記憶(バッファリング)した中継対象データを取得する。中継対象データが複数個のCANメッセージであり、第4制御部34が担う車内通信部5がイーサネット通信部52である場合、第4制御部34は、取得した複数のCANメッセージを、単一のIPパケットに変換し、当該IPパケットを自身が担うイーサネット通信部52から出力することにより、中継対象データの中継処理を行うものであってもよい。
IPパケットにおけるペイロードの格納容量は、CANメッセージにおけるペイロードの格納容量よりも大きいため、このようにバッファリングされた複数のCANメッセージを単一のIPパケットに変換することにより、中継対象データの中継処理を効率的に行うことができる。すなわち、CAN通信部51を担う制御部3(第1制御部31、第2制御部32)を、イーサネット通信部52を担う制御部3(第3制御部33、第4制御部34)よりも、早く初期化処理を完了(終了)させることにより、共有領域41にバッファリングした複数のCANメッセージを、単一のIPパケットに変換して中継することができ、中継処理におけるスループットを向上させることができる。このように個々の制御部3(第1制御部31、第2制御部32、第3制御部33、第4制御部34)が順次に初期化処理を完了する構成を有する中継装置2において、CAN通信部51で受信した送信データをイーサネット通信部52から送信することにより中継処理を行う際、本実施形態によるバッファリング処理を好適に適用することができる。
本実施形態において、第4制御部34が、第1制御部31がバッファリングした複数のCANメッセージを単一のIPパケットに変換するとしたが、これに限定されない。第1制御部31が、バッファリングした複数のCANメッセージを単一のIPパケットに変換するものであってもよい。すなわち、第1制御部31は、バッファリング対象となる複数のCANメッセージを単一のIPパケットに変換し、当該変換したIPパケットを、共有領域41に記憶(バッファリング)するものであってもよい。これにより、第4制御部34は、初期化処理が完了後、共有領域41を参照することにより、変換されたIPパケットを取得し、当該IPパケットを自身が担うイーサネット通信部52から出力できるため、中継処理におけるスループットを更に向上させることができる。
上記フローにて、最先に初期化処理を完了する第1制御部31(Core1)は、最後に初期化処理を完了する第4制御部34(Core4)に対する処理と同様の処理を、自身よりも後に初期化処理を行う第2制御部32(Core2)、及び第3制御部33(Core3)に対しても行う。第2制御部32及び第3制御部33は、第1制御部31が共有領域41に記憶(バッファリング)した中継対象データに対し、第4制御部34と同様の処理を行う。
第1制御部31(Core1)は、自身よりも後に初期化処理を行うそれぞれのコア(第2制御部32、第3制御部33、及び第4制御部34)に対する処理を、例えば複数のプロセス又はスレッドを用いて、並行処理するものであってもよい。第1制御部31(Core1)は、自身よりも後に初期化処理を行う第2制御部32、第3制御部33及び第4制御部34に対し、例えばS101からS103までの処理を共通化し、S104以下の処理を第2制御部32、第3制御部33及び第4制御部34に対し個別に処理することにより、並行処理化するものであってもよい。この際、S103の処理を行うことにより、いずれのコア(第2制御部32、第3制御部33、及び第4制御部34)に対する中継対象データ(中継処理)であるかを特定するものであってもよい。これら処理は本実施形態にて限定されるものでなく、後述する他の実施形態においても同様である。
第2制御部32(Core2)は、自身よりも後に初期化処理を行う第3制御部33(Core3)、及び第4制御部34(Core4)に対しても、第1制御部31による上記フローと同様の処理を行う。第3制御部33(Core3)は、自身よりも後に初期化処理を行う第4制御部34(Core4)に対しても、第1制御部31による上記フローと同様の処理を行う。最後に初期化処理を完了する第4制御部34(Core4)については、自身よりも後に初期化処理が完了するコア(制御部3)がないため、上記フローによる処理を行うことは不要であることは、言うまでもない。
(実施形態2)
図8は、実施形態2(最新値を記憶)に係る中継装置2の制御部3の処理を例示するフローチャートである。中継装置2の制御部3は、実施形態1と同様に、例えば車両Cが起動状態(IGスイッチ8がオン)にされた際、定常的に以下の処理を行う。
図8は、実施形態2(最新値を記憶)に係る中継装置2の制御部3の処理を例示するフローチャートである。中継装置2の制御部3は、実施形態1と同様に、例えば車両Cが起動状態(IGスイッチ8がオン)にされた際、定常的に以下の処理を行う。
中継装置2の第1制御部31(制御部3)は、初期化処理を実行する(S201)。中継装置2の第1制御部31(制御部3)は、送信データを受信したか否かを判定する(S202)。中継装置2の第1制御部31(制御部3)は、受信した送信データが第4制御部34に対する中継対象データであるか否かを判定する(S203)。中継装置2の第1制御部31(制御部3)は、中継対象データの中継先となる車内通信部5に対応する第4制御部34(他の制御部3)が初期化中であるか否かを判定する(S204)。初期化を終了したと判定した場合(S204:NO)、中継装置2の第1制御部31(制御部3)は、中継処理(通常時処理)を行う(S2041)。中継装置2の第1制御部31は、実施形態1のS101からS1041と同様に、S201からS2041までの処理を行う。
初期化を終了していないと判定した場合(S204:YES)、中継装置2の第1制御部31(制御部3)は、中継対象データを記憶部4の共有領域41に上書きにて格納(バッファリング)する(S205)。共有領域41には、第4制御部34に対する中継対象データがバッファリングされるものとなり、当該中継対象データは複数の種類に分類される。中継対象データの種類は、例えば、当該中継対象データがCANメッセージの場合、メッセージID(CAN-ID)によって区分されるものとなり、同一のメッセージIDのCANメッセージは、同種の中継対象データとなり、異なるメッセージIDのCANメッセージは、異種の中継対象データとなる。
中継装置2の第1制御部31は、取得した複数の中継対象データの内、同種の中継対象データについては、最新の中継対象データのみを共有領域41にバッファリングする。これにより、最新の中継対象データと同種の中継対象データであって、以前にバッファリングされた古い中継対象データは、当該最新の中継対象データによって上書きされるものとなる。このように中継装置2の第1制御部31は、取得(受信)した中継対象データの種類に応じて、最新の中継対象データのみを共有領域41に格納(バッファリング)する。従って、取得(受信)した中継対象データを共有領域41にバッファリングする際、当該中継対象データと同種の中継対象データ(例えば、同じCAN-IDのCANメッセージ)が既にバッファリングされている場合、当該既にバッファリングされている中継対象データは、上書きされる。
中継装置2の第1制御部31は、中継対象データの種類毎に、最新の中継対象データのみを共有領域41にバッファリングするとしたが、これに限定されない。中継装置2の第1制御部31は、最新及び当該最新より1つ前の中継対象データからなる2つ(2世代)の中継対象データを共有領域41にバッファリングするものであってもよい。又は、共有領域41の記憶容量に応じて、最新及び当該最新より2つ以上前の中継対象データからなる複数世代の中継対象データを共有領域41にバッファリングするものであってもよい。又は、中継装置2の第1制御部31は、実施形態1にて適用した優先度に応じて、優先度が高い分類の中継対象データは2世代にてバッファリングし、優先度が低い分類の中継対象データは1世代(優先度が高い分類の中継対象データよりも低い世代管理)にてバッファリングするものであってもよい。
(実施形態3)
図9は、実施形態3(初期化完了する直前)に係る複数の制御部3における初期化処理を例示する説明図である。初期化処理の開始順番に応じて、通常動作開始時点の時間差が発生するものとなり、例えば、第1制御部31と第4制御部34とによる通常動作開始時点の時間差は、第2制御部32、第3制御部33及び第4制御部34の初期化所要時間を合算した時間(期間)となる。この場合、当該通常動作開始時点の時間差による期間は、バッファリング対象外期間と、バッファリング対象期間とに分別され、第1制御部31は、バッファリング対象期間にて受信した中継対象データのみを、共有領域41にバッファリングする。当該バッファリング対象期間は、個々の制御部3となる第1制御部31、第2制御部32、第3制御部33及び第4制御部34それぞれにおいて、別個に定義されているものであってもよく、それぞれのバッファリング対象期間が、例えば記憶部4に記憶されている。
図9は、実施形態3(初期化完了する直前)に係る複数の制御部3における初期化処理を例示する説明図である。初期化処理の開始順番に応じて、通常動作開始時点の時間差が発生するものとなり、例えば、第1制御部31と第4制御部34とによる通常動作開始時点の時間差は、第2制御部32、第3制御部33及び第4制御部34の初期化所要時間を合算した時間(期間)となる。この場合、当該通常動作開始時点の時間差による期間は、バッファリング対象外期間と、バッファリング対象期間とに分別され、第1制御部31は、バッファリング対象期間にて受信した中継対象データのみを、共有領域41にバッファリングする。当該バッファリング対象期間は、個々の制御部3となる第1制御部31、第2制御部32、第3制御部33及び第4制御部34それぞれにおいて、別個に定義されているものであってもよく、それぞれのバッファリング対象期間が、例えば記憶部4に記憶されている。
バッファリング対象期間は、第4制御部34に対し中継される中継対象データの送信周期に基づき決定されるものであってもよい。第4制御部34におけるバッファリング対象期間は、当該第4制御部34に対し中継される中継対象データ、すなわち第4制御部34に対応する車内通信部5(イーサネット通信部52)を介して中継される中継対象データの送信周期以上であってもよい。
中継対象データが、複数種類(複数のメッセージID等)の中継対象データを含む場合、各種類毎の中継対象データそれぞれの送信周期において、最も長い送信周期以上となるようにバッファリング対象期間は、設定されているものであってもよい。このようにバッファリング対象期間の下限値を設定することにより、中継対象データが、複数種類の中継対象データを含む場合であっても、これら各種類毎の中継対象データを少なくとも1回は取得し、共有領域41にバッファリングすることができる。
更に、バッファリング対象期間は、各種類毎の中継対象データそれぞれの送信周期の合算値以下となるように設定されるものであってもよい。このようにバッファリング対象期間の上限値を設定することにより、バッファリング対象期間が過度に長くなることを抑制し、バッファリング対象の中継対象データの総容量が、過度に増加することを抑制することができる。
通常動作開始時点の時間差による期間において、バッファリング対象外期間は前半に位置し、バッファリング対象期間は後半に位置する。これにより、第4制御部34を一例とした場合、当該第4制御部34の通常動作開始時点を基準に、直前に受信された最新の中継対象データを含む、比較的に新しい中継対象データを、共有領域41にバッファリングすることができる。
図10は、中継装置2の制御部3の処理を例示するフローチャートである。中継装置2の制御部3は、実施形態1と同様に、例えば車両Cが起動状態(IGスイッチ8がオン)にされた際、定常的に以下の処理を行う。中継装置2の第1制御部31(制御部3)は、初期化処理を実行する(S301)。中継装置2の第1制御部31(制御部3)は、送信データを受信したか否かを判定する(S302)。中継装置2の第1制御部31(制御部3)は、受信した送信データが第4制御部34に対する中継対象データであるか否かを判定する(S303)。中継装置2の第1制御部31(制御部3)は、中継対象データの中継先となる車内通信部5に対応する第4制御部34(他の制御部3)が初期化中であるか否かを判定する(S304)。初期化を終了したと判定した場合(S304:NO)、中継装置2の第1制御部31(制御部3)は、中継処理(通常時処理)を行う(S3041)。中継装置2の第1制御部31は、実施形態1のS101からS1041と同様に、S301からS3041までの処理を行う。
初期化を終了していないと判定した場合(S304:YES)、中継装置2の第1制御部31(制御部3)は、バッファリング対象期間であるか否かを判定する(S305)。第4制御部34が初期化を終了していない場合、中継装置2の第1制御部31は、現時点が第4制御部34に対するバッファリング対象期間に含まれるか否かを判定する。第4制御部34に対するバッファリング対象期間は、当該第4制御部34の中継処理開始時点を基点(終点)として、遡及的に特定される。当該バッファリング対象期間は、共有領域41の記憶容量に応じた適切な期間が設定されるものであり、例えば、第1制御部31及び第4制御部34の通常処理(中継処理)開始時点における時間差の40%程度の期間として設定されるものであってもよい。
又は、第4制御部34に対するバッファリング対象期間は、第4制御部34(イーサネット通信部52:e-02)に中継される中継対象データの送信周期に基づき、例えば、当該送信周期以上の値が設定されるものであってもよい。中継対象データが、複数のメッセージID等、複数種類の中継対象データ(CANメッセージ)を含む場合、各種類毎の中継対象データそれぞれの送信周期において、最も長い送信周期以上となるようにバッファリング対象期間は、設定されているものであってもよい。これにより、いずれの種類の中継対象データであっても、少なくとも1回は取得し、共有領域41にバッファリングすることができる。
記憶部4には、第4制御部34及び、他の制御部3(第2制御部32、第3制御部33)におけるバッファリング対象期間が記憶されており、第1制御部31は、記憶部4を参照することにより、第4制御部34等のバッファリング対象期間を特定することができる。第1制御部31は、実施形態1と同様に、例えば、対応関係テーブルを参照することにより、第1制御部31の初期化完了時点(通常動作開始時点)を基準として、第4制御部34の初期化完了時点(通常動作開始時点)を導出する。第1制御部31は、導出した第4制御部34の初期化完了時点(通常動作開始時点)から、第4制御部34のバッファリング対象期間を逆算(遡及)することにより、当該第4制御部34のバッファリング対象期間の開始時点(時刻)と終了時点(時刻)とを導出する。当該終了時刻が、第4制御部34の初期化完了時点(通常動作開始時点)に相当(一致)することは、言うまでもない。
第1制御部31は、例えば時計機能等を含むものであり、現時点の時刻が、第4制御部34のバッファリング対象期間の開始時刻から終了時刻までの間となる場合、現時点が第4制御部34に対するバッファリング対象期間であると判定する。第1制御部31は、現時点の時刻が、第4制御部34のバッファリング対象期間の開始時刻から終了時刻までの間とならない場合、すなわちバッファリング対象期間の開始時刻よりも前である場合、現時点が第4制御部34に対するバッファリング対象期間ではない(バッファリング対象外期間)と判定する。
バッファリング対象期間であると判定した場合(S305:YES)、中継装置2の第1制御部31(制御部3)は、中継対象データを記憶部4の共有領域41に格納(バッファリング)する(S306)。バッファリング対象期間であると判定した場合、すなわち現時点が第4制御部34に対するバッファリング対象期間に含まれる場合、中継装置2の第1制御部31は、実施形態1の処理S106と同様に中継対象データを記憶部4の共有領域41に格納(バッファリング)する。
バッファリング対象期間でない判定した場合(S305:NO)、中継装置2の第1制御部31(制御部3)は、中継対象データを破棄する(S3051)。バッファリング対象期間でない判定した場合、すなわち現時点が第4制御部34に対するバッファリング対象期間に含まれない場合、中継装置2の第1制御部31は、実施形態1の処理S1061と同様に中継対象データを破棄する。
(実施形態4)
図11は、実施形態4(バッファリングモード選択)に係る中継装置2の制御部3の処理を例示するフローチャートである。中継装置2の制御部3は、実施形態1と同様に、例えば車両Cが起動状態(IGスイッチ8がオン)にされた際、定常的に以下の処理を行う。
図11は、実施形態4(バッファリングモード選択)に係る中継装置2の制御部3の処理を例示するフローチャートである。中継装置2の制御部3は、実施形態1と同様に、例えば車両Cが起動状態(IGスイッチ8がオン)にされた際、定常的に以下の処理を行う。
中継装置2の第1制御部31(制御部3)は、初期化処理を実行する(S401)。中継装置2の第1制御部31は、実施形態1のS101と同様に、S401の処理を行う。
中継装置2の第1制御部31(制御部3)は、選択されたバッファリングモードを特定する(S402)。中継装置2は、取得した中継対象データの内の一部を共有領域41に書き込む際、書き込み対象となる一部を特定するための複数のバッファリングモードを備える。これら、複数のバッファリングモードは、例えば、前述した各実施形態におけるバッファリング処理によるものである。当該複数のバッファリングモードは、例えば、優先度モード、最新値モード、及び初期化完了直前モードを含み、現時点にて選択されているバッファリングモードを示すフラグ値が、記憶部4に記憶されている。
中継装置2の第1制御部31は、例えば、記憶部4を記憶されているフラグ値を参照することにより、現時点において選択されているバッファリングモードを特定する。バッファリングモード(フラグ値)は、例えば、中継装置2が搭載される車両Cの操作者による入力値に基づき、選択(設定)されるものであってもよい。又は、バッファリングモード(フラグ値)は、例えば、車両Cの製造業者が運用管理する外部サーバS1から送信されたシグナル信号に基づき、選択(設定)されるものであってもよい。このように、バッファリングモードの可変設定を許容することにより、車両Cに対し適切なバッファリングモードにて、共有領域41へのバッファリング処理を行うことができる。
中継装置2の第1制御部31(制御部3)は、選択されたバッファリングモードにてバッファリングを実施する(S403)。該複数のバッファリングモードは、例えば、優先度モード、最新値モード、及び初期化完了直前モードを含む。
優先度モードが選択された場合、中継装置2の第1制御部31は、取得した中継対象データの内、所定の優先度以上の中継対象データを共有領域41に書き込む。優先度モードによる第1制御部31の処理は、例えば実施形態1の処理S102からS106を行うものであってもよい。
最新値モードが選択された場合、中継装置2の第1制御部31は、取得した中継対象データが、同種(例えば、同じCANID)の複数の中継対象データを含む場合、同種の複数の中継対象データの内、最新の中継対象データを共有領域41に書き込む。最新値モード優先度モードによる第1制御部31の処理は、例えば実施形態2の処理S202からS205を行うものであってもよい。
初期化完了直前モードが選択された場合、中継装置2の第1制御部31は、初期化処理が終了していない他の制御部3の中継処理開始時点により特定されるバッファリング対象期間にて、取得した中継対象データを共有領域41に書き込む。初期化完了直前モードによる第1制御部31の処理は、例えば実施形態3の処理S302からS306を行うものであってもよい。
選択されるバッファリングモードの個数は、1つ(単数)である場合に限定されず、複数のバッファリングモードが選択されるものであってもよい。中継装置2の第1制御部31は、2つ以上となる複数のバッファリングモードが選択された場合、これら選択された2つ以上のバッファリングモードの組み合わせにより、取得した中継対象データの内の一部を共有領域41に書き込む。
今回開示された実施形態は全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
C 車両
S 車載システム
S1 外部サーバ
1 車外通信装置
11 アンテナ
2 中継装置
21 入出力I/F
3 制御部
31 第1制御部(Core1)
32 第2制御部(Core2)
33 第3制御部(Core3)
34 第4制御部(Core4)
4 記憶部
41 共有領域
400 記録媒体
P 制御プログラム(プログラム製品)
5 車内通信部
51 CAN通信部
52 イーサネット通信部
6 車載ECU
7 車載ネットワーク
71 通信線
711 イーサネットケーブル
712 CANバス
8 IGスイッチ
S 車載システム
S1 外部サーバ
1 車外通信装置
11 アンテナ
2 中継装置
21 入出力I/F
3 制御部
31 第1制御部(Core1)
32 第2制御部(Core2)
33 第3制御部(Core3)
34 第4制御部(Core4)
4 記憶部
41 共有領域
400 記録媒体
P 制御プログラム(プログラム製品)
5 車内通信部
51 CAN通信部
52 イーサネット通信部
6 車載ECU
7 車載ネットワーク
71 通信線
711 イーサネットケーブル
712 CANバス
8 IGスイッチ
Claims (10)
- 車両に搭載され、複数の車載ECU間にて送受信されるデータを中継する中継装置であって、
前記車載ECUそれぞれと通信するための複数の通信部と、
複数の前記通信部それぞれに対応する複数の制御部と、
前記複数の制御部それぞれからアクセス可能な記憶部とを備え、
前記複数の制御部それぞれは、別個に初期化処理を行い、
初期化処理を終了した制御部は、初期化処理が終了していない他の制御部に対応する通信部を介して中継する中継対象データを取得した場合、取得した中継対象データの内の一部を、初期化処理が終了していない前記他の制御部との間で共有される共有領域に書き込むことにより、前記記憶部に記憶する
中継装置。 - 前記初期化処理を終了した制御部は、取得した中継対象データの内、所定の優先度以上の中継対象データを前記共有領域に書き込む
請求項1に記載の中継装置。 - 前記中継対象データは、CANメッセージであり、
前記初期化処理を終了した制御部は、前記中継対象データに含まれるCAN-IDに応じて、前記中継対象データの優先度を特定する
請求項2に記載の中継装置。 - 前記初期化処理を終了した制御部は、取得した複数の中継対象データが、同種の中継対象データを含む場合、同種の中継対象データの内、最新の中継対象データを共有領域に書き込む
請求項1に記載の中継装置。 - 前記中継対象データは、CANメッセージであり、
前記初期化処理を終了した制御部は、前記中継対象データに含まれるCAN-IDに基づいて、前記中継対象データが同種であるか否かの種別判定を行う
請求項4に記載の中継装置。 - 前記初期化処理を終了した制御部は、初期化処理が終了していない前記他の制御部の中継処理開始時点により特定されるバッファリング対象期間にて、取得した中継対象データを前記共有領域に書き込む
請求項1に記載の中継装置。 - 前記バッファリング対象期間は、中継対象データの送信周期に基づき決定される
請求項6に記載の中継装置。 - 前記中継装置は、取得した中継対象データの内の一部を前記共有領域に書き込む際、書き込み対象となる一部を特定するための複数のバッファリングモードを備え、
前記初期化処理を終了した制御部は、前記複数のバッファリングモードの内、選択された一つ以上のバッファリングモードにより、取得した中継対象データの内の一部を前記共有領域に書き込む
請求項1から請求項7のいずれか1項に記載の中継装置。 - 車両に搭載され、複数の車載ECU間にて送受信されるデータを中継し、
前記車載ECUそれぞれと通信するための複数の通信部と、
複数の前記通信部それぞれに対応する複数の制御部と、
前記複数の制御部それぞれからアクセス可能な記憶部とを備えるコンピュータに、
前記複数の制御部それぞれを、別個に初期化処理を行い、
初期化処理を終了した制御部が、初期化処理が終了していない他の制御部に対応する通信部を介して中継する中継対象データを取得した場合、取得した中継対象データの内の一部を、初期化処理が終了していない前記他の制御部との間で共有される共有領域に書き込むことにより、前記記憶部に記憶する
処理を実行させるプログラム。 - 車両に搭載され、複数の車載ECU間にて送受信されるデータを中継し、
前記車載ECUそれぞれと通信するための複数の通信部と、
複数の前記通信部それぞれに対応する複数の制御部と、
前記複数の制御部それぞれからアクセス可能な記憶部とを備えるコンピュータに、
前記複数の制御部それぞれを、別個に初期化処理を行い、
初期化処理を終了した制御部が、初期化処理が終了していない他の制御部に対応する通信部を介して中継する中継対象データを取得した場合、取得した中継対象データの内の一部を、初期化処理が終了していない前記他の制御部との間で共有される共有領域に書き込むことにより、前記記憶部に記憶する
処理を実行させる中継方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022010260A JP2023108935A (ja) | 2022-01-26 | 2022-01-26 | 中継装置、プログラム及び、中継方法 |
PCT/JP2023/000044 WO2023145391A1 (ja) | 2022-01-26 | 2023-01-05 | 中継装置、プログラム及び、中継方法 |
CN202380016566.0A CN118451689A (zh) | 2022-01-26 | 2023-01-05 | 中继装置、程序及中继方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022010260A JP2023108935A (ja) | 2022-01-26 | 2022-01-26 | 中継装置、プログラム及び、中継方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023108935A true JP2023108935A (ja) | 2023-08-07 |
Family
ID=87471714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022010260A Pending JP2023108935A (ja) | 2022-01-26 | 2022-01-26 | 中継装置、プログラム及び、中継方法 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2023108935A (ja) |
CN (1) | CN118451689A (ja) |
WO (1) | WO2023145391A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05143562A (ja) * | 1991-11-19 | 1993-06-11 | Mitsubishi Electric Corp | リンク型マルチプロセツサー監視方法 |
JP2014179838A (ja) * | 2013-03-15 | 2014-09-25 | Yamaha Corp | 通信装置、およびプログラム |
JP7327242B2 (ja) * | 2020-03-26 | 2023-08-16 | 株式会社オートネットワーク技術研究所 | 車載中継装置、情報処理方法及びプログラム |
-
2022
- 2022-01-26 JP JP2022010260A patent/JP2023108935A/ja active Pending
-
2023
- 2023-01-05 WO PCT/JP2023/000044 patent/WO2023145391A1/ja unknown
- 2023-01-05 CN CN202380016566.0A patent/CN118451689A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN118451689A (zh) | 2024-08-06 |
WO2023145391A1 (ja) | 2023-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9224251B2 (en) | Gateway device | |
US8301821B2 (en) | Communication module for connecting a serial bus to a plurality of system buses | |
JP4410661B2 (ja) | 分散制御システム | |
JP6471739B2 (ja) | 車載通信システム | |
US20160359545A1 (en) | Vehicle-mounted control device | |
JP2009527168A (ja) | バス間でのメッセージの自動ルーティングのためのゲートウェイ | |
WO2021106604A1 (ja) | 車載中継装置、プログラム及び中継方法 | |
JP2010027062A (ja) | 分散制御システム | |
JP7459881B2 (ja) | 管理装置、車載システム、通信管理方法および通信管理プログラム | |
JP7394185B2 (ja) | 通信システム | |
JP2021166335A (ja) | 車載中継装置、情報処理方法及びプログラム | |
US9213660B2 (en) | Receiver based communication permission token allocation | |
WO2023145391A1 (ja) | 中継装置、プログラム及び、中継方法 | |
JP4839140B2 (ja) | 中継接続ユニット | |
US20210273887A1 (en) | In-vehicle communication apparatus, communication program, and message transmission method | |
JP5728043B2 (ja) | ゲートウェイ装置 | |
US20240283676A1 (en) | Relay device, relay system, relaying method, and computer program | |
JP2014017614A (ja) | 通信システム、中継装置及び通信装置 | |
JP2006273261A (ja) | 自動車用制御ユニット | |
JP4361540B2 (ja) | ゲートウェイ装置、データ転送方法及びプログラム | |
JP4839115B2 (ja) | 車載用データベース分配ノード | |
JP2007129467A (ja) | 中継接続ユニット | |
US20130238736A1 (en) | Communication node, communication system, and method for performing a communication | |
US20240089142A1 (en) | Vehicle-mounted apparatus and a method for relaying | |
JP4854598B2 (ja) | データ転送制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240522 |