JP2019213163A - 通信制御装置 - Google Patents

通信制御装置 Download PDF

Info

Publication number
JP2019213163A
JP2019213163A JP2018110496A JP2018110496A JP2019213163A JP 2019213163 A JP2019213163 A JP 2019213163A JP 2018110496 A JP2018110496 A JP 2018110496A JP 2018110496 A JP2018110496 A JP 2018110496A JP 2019213163 A JP2019213163 A JP 2019213163A
Authority
JP
Japan
Prior art keywords
transfer data
message
data generation
transfer
time
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
Application number
JP2018110496A
Other languages
English (en)
Inventor
尚之 大泉
Naoyuki Oizumi
尚之 大泉
健 中田
Takeshi Nakada
健 中田
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.)
Marelli Corp
Original Assignee
Marelli Corp
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 Marelli Corp filed Critical Marelli Corp
Priority to JP2018110496A priority Critical patent/JP2019213163A/ja
Publication of JP2019213163A publication Critical patent/JP2019213163A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】通信バス間におけるメッセージの転送処理を許容遅延時間内に完了できない事態を低減しうる通信制御装置を提供する。【解決手段】通信制御装置100は、複数の通信バス間におけるメッセージの転送処理を行う。通信制御装置100は、制御部60と、転送処理完了時間を算出するためのパラメータと、転送処理完了時間として許容可能な遅延時間である許容遅延時間とを、メッセージのデータIDに紐付けて格納する記憶部50と、を備える。制御部60は、メッセージを受信すると、該メッセージの転送データ生成順番を最後に設定し、パラメータを読み出して、受信したメッセージの転送処理完了時間を算出し、算出した転送処理完了時間が許容遅延時間を超える場合、受信したメッセージの転送データ生成順番を、転送データ生成順番が1つ前のメッセージの転送データ生成順番と入れ替える。【選択図】図2

Description

本発明は、通信制御装置に関する。
近年、コネクテッドカー及び自動運転車など、車載通信における通信の情報量が多い自動車の開発が進んでいる。現在、車載通信では主にCAN(Controller Area Network)通信が使われている。例えば特許文献1には、CAN通信において、送信優先度を制御することで送信データの送信機会を均等化させる発明が開示されている。
車載通信における通信の情報量が多くなると、通信バスの負荷が大きくなる。これに対し、複数の通信バスを設けることで、通信の情報量の増加に対応することが考えられている。
複数の通信バスを設けた場合、通信バス間のメッセージの送受信は、通信バス間におけるメッセージの転送処理を制御する通信制御装置によって行われる。ここで、「メッセージ」とは、CAN通信などの車載通信において送受信されるデータのまとまりである。「メッセージ」は、「フレーム」とも呼ばれる。
特開2001−119416号公報
通信バス間におけるメッセージの転送処理において、データの内容に応じて定められた優先度のみに基づいて、転送処理用の転送データを生成する順番を決定すると、優先度の低いメッセージの転送処理を許容遅延時間内に完了できない事態が起こりうる。
かかる観点に鑑みてなされた本発明の目的は、通信バス間におけるメッセージの転送処理を許容遅延時間内に完了できない事態を低減しうる通信制御装置を提供することにある。
上記課題を解決するために、第1の観点に係る通信制御装置は、
複数の通信バス間に接続され、該通信バス間におけるメッセージの転送処理を行う通信制御装置であって、
前記メッセージを受信すると、転送先の前記通信バスに適合した転送データを、設定された転送データ生成順番に基づいて生成する制御部と、
前記メッセージの転送処理を完了するまでの時間である転送処理完了時間を算出するためのパラメータと、前記転送処理完了時間として許容可能な遅延時間である許容遅延時間とを、前記メッセージのデータIDに紐付けて格納する記憶部と、を備え、
前記制御部は、
前記メッセージを受信すると、該メッセージの前記転送データ生成順番を最後に設定し、
前記パラメータを読み出して、受信した前記メッセージの前記転送処理完了時間を算出し、
算出した前記転送処理完了時間が前記許容遅延時間を超える場合、受信した前記メッセージの前記転送データ生成順番を、転送データ生成順番が1つ前のメッセージの転送データ生成順番と入れ替える。
第1の観点に係る通信制御装置によれば、通信バス間におけるメッセージの転送処理を許容遅延時間内に完了できない事態を低減しうる。
一実施形態に係る通信制御装置が複数の通信バス間に接続されている様子を示す図である。 一実施形態に係る通信制御装置の構成例を示すブロック図である。 記憶部が格納するテーブルの一例を示す図である。 タイムカウンタの動作を説明するための図である。 一実施形態に係る通信制御装置の動作の一例を示すフローチャートである。 図5のフローチャートのステップS103を説明するための図である。 図5のフローチャートのステップS104及びS105を説明するための図である。 図5のフローチャートのステップS106を説明するための図である。 図5のフローチャートのステップS104及びS105を説明するための図である。 図5のフローチャートのステップS106を説明するための図である。 図5のフローチャートのステップS104及びS105を説明するための図である。 図5のフローチャートのステップS113を説明するための図である。
以下、本開示の実施形態について、図面を参照して説明する。
図1に示すように、通信制御装置100は、複数の通信バス1〜3の間に接続されている。図1に示す例では、通信バス1、通信バス2及び通信バス3の通信プロトコルは、それぞれ、CAN、CAN FD(CAN with Flexible Data rate)及びイーサネット(登録商標)(Ethernet)である。CAN FD及びイーサネットは、CANよりも通信速度の速い通信プロトコルである。
なお、通信バス1、通信バス2及び通信バス3の通信プロトコルを、それぞれ、CAN、CAN FD及びイーサネットとしたのは一例であり、通信バス1〜3の通信プロトコルは、これに限定されない。
また、本実施形態においては、通信制御装置100が3つの通信バス1〜3の間に接続されている場合を例に挙げて説明するが、通信制御装置100が接続される通信バスの数はこれに限定されない。通信制御装置100が接続される通信バスの数は、2つでもよいし、4つ以上でもよい。
通信バス1には、電子制御ユニット(ECU:Electronic Control Unit)201が接続されている。通信バス2には、電子制御ユニット202が接続されている。通信バス3には、電子制御ユニット203が接続されている。電子制御ユニット201〜203は、自動車などの車両に搭載されている電装品を制御する制御ユニットである。
図1においては、通信バス1に2つの電子制御ユニット201が接続されているが、通信バス1に接続される電子制御ユニット201の個数はこれに限定されない。通信バス1には、1つ又は3つ以上の電子制御ユニット201が接続されてよい。通信バス2に接続される電子制御ユニット202の個数、及び、通信バス3に接続される電子制御ユニット203の個数についても同様である。
通信制御装置100は、自動車などの車両に搭載されていてよい。通信制御装置100は、通信バス1〜3の間におけるメッセージの転送処理を行う。
図2に示すように、一実施形態に係る通信制御装置100は、受信部10−1〜10−3と、受信バッファ20−1〜20−3と、送信バッファ30−1〜30−3と、送信部40−1〜40−3と、記憶部50と、制御部60と、タイムカウンタ70とを備える。
受信部10−1〜10−3は、それぞれ、通信バス1〜3に接続されている。
受信部10−1は、図1に示す電子制御ユニット201から通信バス1を介してメッセージを受信すると、通信バス1の通信プロトコルに応じた処理を行い、該メッセージを受信バッファ20−1に格納する。通信プロトコルに応じた処理は、例えば、受信したメッセージのCRCチェックなどである。
受信部10−2及び10−3の機能は、受信部10−1の機能と同様であるため、受信部10−2及び10−3の説明は省略する。以後、受信部10−1〜10−3について、特に区別する必要がない場合は、受信部10と総称する場合がある。
受信バッファ20−1〜20−3は、それぞれ、受信部10−1〜10−3に接続されている。
受信バッファ20−1は、受信部10−1からメッセージを受け取ると、該メッセージを格納する。また、受信バッファ20−1は、受信部10−1から受け取ったメッセージを、制御部60の転送データ生成部66に出力する。
受信バッファ20−2及び20−3の機能は、受信バッファ20−1の機能と同様であるため、受信バッファ20−2及び20−3の説明は省略する。以後、受信バッファ20−1〜20−3について、特に区別する必要がない場合は、受信バッファ20と総称する場合がある。
送信バッファ30−1〜30−3は、それぞれ、送信部40−1〜40−3に接続されている。
送信バッファ30−1は、転送データ生成部66から転送データを受け取ると、該転送データを格納する。また、送信バッファ30−1は、転送データ生成部66から受け取った転送データを、送信部40−1に出力する。ここで、「転送データ」とは、転送先の通信プロトコルに適合するように転送データ生成部66によって処理されたデータである。送信バッファ30−1は、通信バス1の通信プロトコルに適合するように処理されたデータを、転送データ生成部66から受け取る。
送信バッファ30−2及び30−3の機能は、送信バッファ30−1の機能と同様であるため、送信バッファ30−2及び30−3の説明は省略する。以後、送信バッファ30−1〜30−3について、特に区別する必要がない場合は、送信バッファ30と総称する場合がある。
送信部40−1〜40−3は、それぞれ、通信バス1〜3に接続されている。
送信部40−1は、送信バッファ30−1から転送データを受け取ると、通信バス1の通信プロトコルに応じた送信制御を行い、該転送データを、通信バス1を介して図1に示す電子制御ユニット201に送信する。通信プロトコルに応じた送信制御は、例えば、通信バス1の状態のチェックなどである。
送信部40−2及び40−3の機能は、送信部40−1の機能と同様であるため、送信部40−2及び40−3の説明は省略する。以後、送信部40−1〜40−3について、特に区別する必要がない場合は、送信部40と総称する場合がある。
記憶部50は、制御部60に接続され、制御部60から取得した情報を格納する。記憶部50は、制御部60のワーキングメモリとして機能してよい。記憶部50は、制御部60で実行されるプログラムを格納してよい。記憶部50は、例えば、半導体メモリで構成されるが、これには限られず、磁気記憶媒体で構成されてよいし、他の記憶媒体で構成されてよい。記憶部50は、制御部60の一部として制御部60に含まれてよい。
記憶部50は、メッセージが含むデータIDに、転送先ポートと、許容遅延時間と、各種パラメータとを紐付けたテーブルを格納している。図3に、記憶部50が格納しているテーブルの一例を示す。
図3に示す例においては、記憶部50は、「データID」に、「転送先ポート」と、「許容遅延時間」と、「転送データ生成時間」と、「転送速度」と、「ヘッダとフッタの合計ビット数」とを紐付けたテーブルを格納している。
データIDは、各メッセージに含まれるIDであり、メッセージがどのような内容のデータを含むメッセージであるかを示す。データIDは、例えば、メッセージに含まれるデータが車速であることを示す。
転送先ポートは、メッセージの転送先がどの通信バスであるかを示す。例えば、転送先ポートが1chであるとき、メッセージの転送先は、通信バス1である。
許容遅延時間は、通信制御装置100がメッセージの転送処理完了時間として、許容可能な遅延時間である。ここで、「転送処理完了時間」とは、通信制御装置100がメッセージを受信してからメッセージの転送処理を完了するまでの時間である。
転送データ生成時間は、転送データ生成部66が転送データを生成する際にかかる時間である。転送データ生成時間は、例えば予め測定した値を、記憶部50に格納しておいてよい。
転送速度は、送信部40がメッセージを通信バスに送信する際にデータを送信できる速度である。
ヘッダとフッタの合計ビット数は、メッセージが含むヘッダのビット数と、メッセージが含むフッタのビット数とを合計したビット数である。
制御部60は、通信制御装置100の各構成部を制御する。制御部60は、例えば、制御手順を規定したプログラムを実行するCPU(Central Processing Unit)等のプロセッサで構成されてよい。制御部60は、例えば、記憶部50に格納されているプログラムを読み込み、各種プログラムを実行する。
制御部60は、フレーム情報抽出部61と、スケジューリング部62と、転送データ生成部66とを備える。フレーム情報抽出部61、スケジューリング部62及び転送データ生成部66により実行される処理は、制御部60を構成するプロセッサにより実行される。なお、制御部60を構成するプロセッサは、単一のプロセッサで構成される必要はなく、複数のプロセッサにより構成されていてもよい。
フレーム情報抽出部61は、受信バッファ20に格納されているメッセージから、フレーム情報として、メッセージのデータIDと、メッセージのデータサイズとを抽出し、スケジューリング部62に出力する。
スケジューリング部62は、受信部10が受信したメッセージから転送先の通信バスに適合した転送データを生成する際の順番をスケジューリングする。以後、転送データを生成する際の順番を、「転送データ生成順番」とも称する。
スケジューリング部62は、スケジューラ63と、算出部64と、判定部65とを備える。
スケジューラ63は、転送データ生成部66が受信バッファ20からメッセージを受け取ると、受け取ったメッセージの転送データ生成順番を最後に設定する。
スケジューラ63は、判定部65から転送データ生成順番の入れ替えの指示を受け取ると、受け取った指示に基づいて、転送データ生成順番を入れ替える。
スケジューラ63は、現状の転送データ生成順番を記憶している。
算出部64は、記憶部50が格納しているテーブルから「転送データ生成時間」と、「転送速度」と、「ヘッダとフッタの合計ビット数」とを読み出して、受信バッファ20が受け取ったメッセージの転送処理完了時間を算出する。算出部64による転送処理完了時間の具体的な算出方法の一例については、図5に示すフローチャートの説明において後述する。
判定部65は、転送データ生成部66が受け取ったメッセージに対して算出部64が算出した転送処理完了時間と、該メッセージの許容遅延時間とを比較し、転送処理完了時間が許容遅延時間を超えているかを判定する。この際、判定部65は、転送データ生成部66が受け取ったメッセージの許容遅延時間を、記憶部50から、該メッセージのデータIDに紐付けられている許容遅延時間を読み出すことにより取得してよい。
判定部65は、メッセージの転送処理完了時間が許容遅延時間を超えていると判定した場合、該メッセージの転送データ生成順番を、転送データ生成順番が1つ前のメッセージの転送データ生成順番と入れ替えるようにスケジューラ63に指示する。
転送データ生成部66は、受信バッファ20からメッセージを受け取る。転送データ生成部66は、スケジューラ63が記憶している転送データ生成順番に基づいて、転送データを生成する。
転送データ生成部66は、転送データを生成すると、記憶部50が格納しているテーブルを参照し、転送データの転送先ポートに対応する送信バッファ30に、生成した転送データを格納する。
転送データ生成部66は、受信バッファ20から新たなメッセージを受け取ると、転送データの生成処理を中断する。
タイムカウンタ70は、転送データ生成部66がメッセージの転送データを生成する処理を開始してからの経過時間をカウントする。以後、転送データ生成部66が転送データを生成する処理のことを、「転送データ生成処理」とも称する。
図4を参照して、タイムカウンタ70の動作について説明する。図4においては、転送データ生成部66は、時間t0において、受信したメッセージの転送データ生成処理を開始するものとする。
転送データ生成部66は、時間t0において開始した転送データ生成処理を、時間t2に完了し、生成した転送データを送信バッファ30に格納する。図4に示す時間aは、時間t2から時間t0を引いた時間を表す。すなわち、時間aは、転送データ生成部66が転送データ生成処理を開始してから、生成した転送データを送信バッファ30に格納するまでの時間を示す。
送信バッファ30は、時間t2に、転送データ生成部66からの転送データの受け取りを開始し、受け取った転送データを、送信部40に出力する。送信部40は、送信バッファ30から受け取った転送データを、送信部40が接続している通信バスに送信する。送信部40は、転送データの送信処理を、時間t3に完了する。図4に示す時間bは、時間t3から時間t2を引いた時間を表す。すなわち、時間bは、送信バッファ30が転送データ生成部66から転送データを受け取ってから、送信部40が転送データの送信処理を完了するまでの時間を示す。
タイムカウンタ70は、図4に示す時間Tをカウントする。図4において、時間t1は、現在、転送データ生成部66による転送データ生成処理が時間t1まで進んでいることを意味する。すなわち、タイムカウンタ70は、転送データ生成部66が転送データ生成処理を開始してから、現時点で転送データ生成処理が進んでいる部分までの時間Tをカウントする。
タイムカウンタ70は、転送データ生成部66が受信バッファ20から受け取ったそれぞれのメッセージごとに、転送データ生成部66がメッセージの転送データ生成処理を開始してからの経過時間をカウントする。
タイムカウンタ70は、転送データ生成部66が新たなメッセージを受信バッファ20から受け取ると、制御部60から、経過時間のカウントの停止指示を受け取る。タイムカウンタ70は、カウントの停止指示を受け取ると、現在転送データを生成していたメッセージのカウントの値を記憶し、経過時間のカウントを停止する。
タイムカウンタ70は、制御部60から、経過時間のカウントの再開指示を受け取ると、記憶していたカウントの値から、経過時間のカウントを再開する。
タイムカウンタ70は、転送データ生成部66が現在転送データを生成しているメッセージについての転送データ生成処理を完了すると、転送データ生成部66からの指示を受けて、カウントの値をクリアする。
図5に示すフローチャートを参照して、一実施形態に係る通信制御装置100の動作の一例について説明する。図5に示すフローチャートの説明においては、図6〜図12を適宜参照して説明する。
図5に示すフローチャートの説明においては、転送データ生成部66が、2つのメッセージを受信バッファ20から受け取っている状態において、新たなメッセージを受信バッファ20から受け取った場合を例に挙げて説明する。
通信制御装置100の制御部60は、受信バッファ20が新たなメッセージを受信したかを常時監視している(ステップS101)。
受信バッファ20が新たなメッセージを受信していない場合(ステップS101のNo)、制御部60は、ステップS101の処理を繰り返す。
受信バッファ20が新たなメッセージを受信した場合(ステップS101のYes)、フレーム情報抽出部61は、受信バッファ20に格納されたメッセージからフレーム情報を抽出する(ステップS102)。以後、新たに受信したメッセージのことを「受信メッセージ」と称して説明する。フレーム情報抽出部61は、フレーム情報として、受信メッセージのデータIDと、受信メッセージのデータサイズとを抽出し、スケジューリング部62に出力する。また、受信バッファ20は、受信メッセージを転送データ生成部66に出力する。
スケジューラ63は、受信メッセージの転送データ生成順番を一番最後に設定する(ステップS103)。本説明においては、2つのメッセージが転送データ生成部66において処理中であるため、スケジューラ63は、受信メッセージの転送データ生成順番を、3番目に設定する。この様子を、図6に示す。なお、既に転送データ生成部66において処理中であった2つのメッセージは、「メッセージ1」及び「メッセージ2」であるものとする。
算出部64は、受信メッセージの転送処理完了時間を算出する(ステップS104)。図7を参照して、算出部64による受信メッセージの転送処理完了時間の算出について説明する。
図7において、受信部10は、時間t1に受信メッセージを受信し、送信部40は、時間t2に、受信メッセージから生成した転送データの送信を完了するものとする。この場合、転送処理完了時間は、図7において、cRXとして表される時間である。
算出部64は、受信メッセージの転送処理完了時間cRXを、以下の数式(1)により算出する。
RX=(a1−T1)+(a2−T2)+aRX+bRX (1)
ここで、a1は、メッセージ1の転送データ生成時間である。a2は、メッセージ2の転送データ生成時間である。aRXは、受信メッセージの転送データ生成時間である。算出部64は、図3に示すような記憶部50が格納するテーブルを参照して、各メッセージのデータIDに紐付けられた転送データ生成時間を読み出す。
また、式(1)において、T1は、メッセージ1について、タイムカウンタ70が記憶しているカウントの値である。すなわち、T1は、メッセージ1の転送データ生成処理がT1だけ進んでいることを意味する。T2は、メッセージ2について、タイムカウンタ70が記憶しているカウントの値である。図7に示す例においては、T2はゼロである。算出部64は、タイムカウンタ70からT1及びT2を読み出す。
また、式(1)において、bRXは、転送データ生成部66が受信メッセージから生成した転送データが送信部40によって送信される際にかかる時間である。以後、転送データが送信部40によって送信される際にかかる時間を「転送データ送信時間」と称して説明する。
算出部64は、転送データ送信時間bRXを、以下の数式(2)により算出する。
RX=(転送データ全体のビット数)/(転送先の通信バスの転送速度) (2)
ここで、算出部64は、式(2)における「転送データ全体のビット数」を、フレーム情報抽出部61が抽出した受信メッセージのデータサイズと、記憶部50が格納するテーブルから読み出した「ヘッダとフッタの合計ビット数」とを足し合わせることにより算出する。また、算出部64は、式(2)における「転送先の通信バスの転送速度」を、記憶部50が格納しているテーブルの「転送速度」を参照して読み出す。
なお、送信部40による転送データの送信処理は、転送データ生成部66による転送データ生成処理と独立して実行しうる。そのため、数式(1)によるcRXの算出において、図7に示すb1及びb2は足し合わされていない。
判定部65は、算出部64が算出した受信メッセージの転送処理完了時間cRXが、受信メッセージの許容遅延時間を超えるかを判定する(ステップS105)。判定部65は、受信メッセージの許容遅延時間を、記憶部50が格納するテーブルから読み出す。図7において、受信メッセージの許容遅延時間を、WRXとして示す。図7に示す例では、受信メッセージの転送処理完了時間cRXは、受信メッセージの許容遅延時間WRXを超えている。なお、図7において、メッセージ1及びメッセージ2の許容遅延時間を、それぞれ、W1及びW2として示している。図7に示す例では、メッセージ1の転送データの送信は、W1を超えずに完了している。また、メッセージ2の転送データの送信は、W2を超えずに完了している。
判定部65が、算出部64が算出した受信メッセージの転送処理完了時間cRXが、受信メッセージの許容遅延時間を超えていると判定すると(ステップS105のYes)、スケジューラ63は、受信メッセージの転送データ生成順番を、転送データ生成順番が1つ前のメッセージであるメッセージ2の転送データ生成順番と入れ替える(ステップS106)。この様子を図8に示す。図8に示すように、スケジューラ63は、受信メッセージの転送データ生成順番を2番目にし、メッセージ2の転送データ生成順番を3番目にする。
図9に、受信メッセージとメッセージ2の転送データ生成順番を入れ替え、受信メッセージの転送データ生成順番を2番目にしたときの様子を示す。この状態で、算出部64は、再度ステップS104を実行し、受信メッセージの転送処理完了時間を算出する。
算出部64は、受信メッセージの転送データ生成順番を2番目にしたときの受信メッセージの転送処理完了時間cRXを、以下の数式(3)により算出する。
RX=(a1−T1)+aRX+bRX (3)
判定部65は、算出部64が数式(3)により算出した受信メッセージの転送処理完了時間cRXが、受信メッセージの許容遅延時間を超えるかを判定する(ステップS105)。図9に示す例では、数式(3)により算出した受信メッセージの転送処理完了時間cRXは、依然として、受信メッセージの許容遅延時間WRXを超えている。
したがって、判定部65は、再度ステップS106に進み、スケジューラ63は、受信メッセージの転送データ生成順番を、転送データ生成順番がさらに1つ前のメッセージであるメッセージ1の転送データ生成順番と入れ替える。この様子を図10に示す。図10に示すように、スケジューラ63は、受信メッセージの転送データ生成順番を1番目にし、メッセージ1の転送データ生成順番を2番目にする。
図11に、受信メッセージとメッセージ1の転送データ生成順番を入れ替え、受信メッセージの転送データ生成順番を1番目にしたときの様子を示す。この状態で、算出部64は、再度ステップS104を実行し、受信メッセージの転送処理完了時間を算出する。
算出部64は、受信メッセージの転送データ生成順番を1番目にしたときの受信メッセージの転送処理完了時間cRXを、以下の数式(4)により算出する。
RX=aRX+bRX (4)
判定部65は、算出部64が数式(4)により算出した受信メッセージの転送処理完了時間cRXが、受信メッセージの許容遅延時間を超えるかを判定する(ステップS105)。図11に示す例では、数式(4)により算出した受信メッセージの転送処理完了時間cRXは、受信メッセージの許容遅延時間WRXを超えていない。したがって、ステップS105の判定はNoとなり、判定部65は、ステップS107に進む。
転送データ生成部66は、タイムカウンタ70から受信メッセージのカウントの値を読み出し、読み出したカウントの値を再開位置として、転送データ生成処理を開始する(ステップS107)。受信メッセージに対しては、これまで転送データ生成処理が実行されていなかったため、タイムカウンタ70によるカウントの値はゼロである。したがって、転送データ生成部66は、受信メッセージの最初の部分から転送データ生成処理を開始する。転送データ生成部66は、転送データ生成処理を開始すると、経過時間のカウントを開始するように、カウント開始のトリガをタイムカウンタ70に送信する。転送データ生成部66は、転送データを生成すると、記憶部50が格納するテーブルから転送先ポートを読み出し、対応する送信バッファ30に、生成した転送データを格納する。
制御部60は、転送データ生成部66が転送データ生成処理を実行している間も、受信バッファ20が新たなメッセージを受信したかを監視している(ステップS108)。
受信バッファ20が新たなメッセージを受信した場合(ステップS108のYes)、転送データ生成部66は、転送データ生成処理を中断する。タイムカウンタ70は、転送データ生成処理の中断時点でのカウントの値を記憶し、経過時間のカウントを停止する(ステップS109)。制御部60は、ステップS109を実行した後、ステップS102に戻る。
受信バッファ20が新たなメッセージを受信していない場合(ステップS108のNo)、転送データ生成部66は、転送データ生成処理が完了したか判定する(ステップS110)。転送データ生成処理が完了していない場合(ステップS110のNo)、転送データ生成部66は、ステップS110の処理を繰り返す。転送データ生成処理が完了した場合(ステップS110のYes)、転送データ生成部66は、転送データ生成処理が完了した旨を、スケジューリング部62に通知する。また、転送データ生成部66は、転送データ生成処理が完了したメッセージのカウントの値をクリアするように、タイムカウンタ70に指示する。
スケジューラ63は、転送データ生成処理が完了していないメッセージがあるか判定する(ステップS111)。
転送データ生成処理が完了していないメッセージがない場合(ステップS111のNo)、制御部60は、スケジューラ63が記憶している転送データ生成順番をクリアして(ステップS112)、ステップS101に戻る。
転送データ生成処理が完了していないメッセージがある場合(ステップS111のYes)、スケジューラ63は、転送データ生成処理が完了していない待機中のメッセージの転送データ生成順番を1つ繰り上げる(ステップS113)。図12に、メッセージ1及びメッセージ2の転送データ生成順番を繰り上げる様子を示す。スケジューラ63は、待機中のメッセージの転送データ生成順番を繰り上げると、転送データ生成順番が1番目のメッセージを転送データ生成部66に通知する。転送データ生成部66は、転送データ生成順番が1番目のメッセージに対し、ステップS107の処理を実行する。
本実施形態に係る通信制御装置100によれば、制御部60は、メッセージを受信すると、該メッセージの転送データ生成順番を最後に設定する。その後、制御部60は、記憶部50からパラメータを読み出して、受信したメッセージの転送処理完了時間を算出する。そして、制御部60は、算出した転送処理完了時間が許容遅延時間を超える場合、受信したメッセージの転送データ生成順番を、転送データ生成順番が1つ前のメッセージの転送データ生成順番と入れ替える。これにより、本実施形態に係る通信制御装置100は、通信バス間におけるメッセージの転送処理を許容遅延時間内に完了できない事態を低減しうる。また、本実施形態に係る通信制御装置100の制御部60の処理において、制御部60は、クロック周波数の高いプロセッサで構成されることを要求しないため、プロセッサのコストを低減しうる。
また、本実施形態に係る通信制御装置100によれば、制御部60は、転送データ生成順番を入れ替えると、入れ替えた後の転送データ生成順番において、転送処理完了時間を算出する。そして、制御部60は、入れ替えた後の転送データ生成順番において算出した転送処理完了時間が許容遅延時間を超える場合、受信したメッセージの転送データ生成順番を、転送データ生成順番がさらに1つ前のメッセージの転送データ生成順番と入れ替える。これにより、本実施形態に係る通信制御装置100は、通信バス間におけるメッセージの転送処理を許容遅延時間内に完了できない事態をさらに低減しうる。
また、本実施形態に係る通信制御装置100によれば、制御部60は、受信したメッセージの転送処理完了時間が許容遅延時間を超えなくなるまで、転送データ生成順番を入れ替える処理を繰り返す。これにより、本実施形態に係る通信制御装置100は、通信バス間におけるメッセージの転送処理を許容遅延時間内に完了できない事態をさらに低減しうる。
本開示に係る一実施形態について、諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は修正を行うことが容易であることに注意されたい。従って、これらの変形又は修正は本開示の範囲に含まれることに留意されたい。例えば、各手段に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段等を1つに組み合わせたり、あるいは分割したりすることが可能である。
1、2、3 通信バス
10 受信部
20 受信バッファ
30 送信バッファ
40 送信部
50 記憶部
60 制御部
61 フレーム情報抽出部
62 スケジューリング部
63 スケジューラ
64 算出部
65 判定部
66 転送データ生成部
70 タイムカウンタ
100 通信制御装置
201、202、203 電子制御ユニット(ECU)

Claims (7)

  1. 複数の通信バス間に接続され、該通信バス間におけるメッセージの転送処理を行う通信制御装置であって、
    前記メッセージを受信すると、転送先の前記通信バスに適合した転送データを、設定された転送データ生成順番に基づいて生成する制御部と、
    前記メッセージの転送処理を完了するまでの時間である転送処理完了時間を算出するためのパラメータと、前記転送処理完了時間として許容可能な遅延時間である許容遅延時間とを、前記メッセージのデータIDに紐付けて格納する記憶部と、を備え、
    前記制御部は、
    前記メッセージを受信すると、該メッセージの前記転送データ生成順番を最後に設定し、
    前記パラメータを読み出して、受信した前記メッセージの前記転送処理完了時間を算出し、
    算出した前記転送処理完了時間が前記許容遅延時間を超える場合、受信した前記メッセージの前記転送データ生成順番を、転送データ生成順番が1つ前のメッセージの転送データ生成順番と入れ替える、通信制御装置。
  2. 請求項1に記載の通信制御装置において、
    前記制御部は、
    前記転送データ生成順番を入れ替えると、入れ替えた後の前記転送データ生成順番において、前記転送処理完了時間を算出し、
    前記入れ替えた後の前記転送データ生成順番において算出した前記転送処理完了時間が前記許容遅延時間を超える場合、受信した前記メッセージの前記転送データ生成順番を、転送データ生成順番がさらに1つ前のメッセージの転送データ生成順番と入れ替える、通信制御装置。
  3. 請求項2に記載の通信制御装置において、
    前記制御部は、受信した前記メッセージの前記転送処理完了時間が前記許容遅延時間を超えなくなるまで、前記転送データ生成順番を入れ替える処理を繰り返す、通信制御装置。
  4. 請求項1から3のいずれか一項に記載の通信制御装置において、
    前記制御部は、受信した前記メッセージよりも前記転送データ生成順番が前のメッセージの前記転送データを生成する時間と、受信した前記メッセージの前記転送データを生成する時間と、受信した前記メッセージの前記転送データを転送先の前記通信バスに送信する時間と、を足し合わせて、前記転送処理完了時間を算出する、通信制御装置。
  5. 請求項1から4のいずれか一項に記載の通信制御装置において、
    受信した各メッセージについて、前記転送データの生成処理を開始してからの経過時間をカウントするタイムカウンタをさらに備える、通信制御装置。
  6. 請求項5に記載の通信制御装置において、
    前記制御部は、前記メッセージを受信すると、前記転送データを生成中のメッセージに対する前記転送データの生成処理を中断し、
    前記タイムカウンタは、前記転送データの生成処理が中断すると、前記経過時間のカウントの値を記憶して前記経過時間のカウントを停止する、通信制御装置。
  7. 請求項6に記載の通信制御装置において、
    前記制御部は、前記転送データ生成順番の入れ替えが完了すると、前記タイムカウンタが記憶している前記経過時間のカウントの値から、前記転送データの生成処理を開始する、通信制御装置。
JP2018110496A 2018-06-08 2018-06-08 通信制御装置 Pending JP2019213163A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018110496A JP2019213163A (ja) 2018-06-08 2018-06-08 通信制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018110496A JP2019213163A (ja) 2018-06-08 2018-06-08 通信制御装置

Publications (1)

Publication Number Publication Date
JP2019213163A true JP2019213163A (ja) 2019-12-12

Family

ID=68847122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018110496A Pending JP2019213163A (ja) 2018-06-08 2018-06-08 通信制御装置

Country Status (1)

Country Link
JP (1) JP2019213163A (ja)

Similar Documents

Publication Publication Date Title
JP4612094B2 (ja) バス間でのメッセージの自動ルーティングのためのゲートウェイ
JP5207198B2 (ja) パケットを送受信する装置、プログラムおよびその方法
JP2012065171A (ja) 車内データ中継装置、車両制御システム
JP2014138206A (ja) 制御装置および制御方法
CN112711550B (zh) Dma自动配置模块和片上***soc
JP2002135257A (ja) シリアル通信用データ処理装置
CN107517167B (zh) 一种数据传输控制方法、装置及SoC芯片
CN112486112A (zh) 一种EtherCAT主站控制***及其控制方法
JP2014021887A (ja) Ioユニットと通信を行う数値制御装置
CN103842979B (zh) 用于执行等时数据缓冲的***和方法
US20110188520A1 (en) Method for operating a time-controlled bus system
JP2019213163A (ja) 通信制御装置
JP6402576B2 (ja) 通信装置、情報処理装置、情報処理システム及び通信装置の制御方法
CN104468404A (zh) 一种缓冲区配置方法及装置
US9619005B2 (en) Apparatus and method for saving power of USB device
JP4372110B2 (ja) データ転送回路、それを利用したマルチプロセッサシステム、及びデータ転送方法
JP2015126499A (ja) 送信装置、受信装置、パケット送信方法、及びパケット受信方法
JP6328324B2 (ja) 無線通信装置、無線通信方法及び無線通信プログラム
CN111385219A (zh) 借用硬件中断实现高性能高精度软件tcp限速的方法
CN103873386A (zh) 管理网络传输顺序的方法
WO2012117445A1 (ja) 情報処理システム
JP2006345171A (ja) データ伝送方法およびデータ伝送システム
CN100536426C (zh) 在中断方式下增加带宽的高效协议处理的***和方法
CN106301712A (zh) 一种同步通信方法及其应用设备、***
CN117748556A (zh) 储能并机***