JP3789769B2 - Data relay apparatus and multiplex communication system - Google Patents
Data relay apparatus and multiplex communication system Download PDFInfo
- Publication number
- JP3789769B2 JP3789769B2 JP2001121320A JP2001121320A JP3789769B2 JP 3789769 B2 JP3789769 B2 JP 3789769B2 JP 2001121320 A JP2001121320 A JP 2001121320A JP 2001121320 A JP2001121320 A JP 2001121320A JP 3789769 B2 JP3789769 B2 JP 3789769B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- buffer
- transmission
- multiplex communication
- communication line
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Description
【0001】
【発明の属する技術分野】
本発明はデータ中継装置および多重通信システムに関する。
【0002】
【従来の技術】
近年、特にコンピュータ技術の進歩を背景として情報通信の高度化が進んでおり、例えば自動車においても、搭載される電装品等を制御する制御部の間でやり取りされる情報量は急速に増大している。そこで情報を伝達するワイヤーハーネスの数を低減すべく多重通信システムが採用されつつある。多重通信システムは、共通の多重通信線に、データの送受信を行う制御用ECU等の通信ノードが接続されたもので、通信ノード間で多重通信線を介してデータ通信を行う。データはデータ本体とともにデータの種類の情報等を含み構成されており、受信した通信ノードがデータの内容を理解できるようになっている。制御の種類が多岐にわたる上記自動車等の場合には、データ通信を効率よく行うために、図32に示すように、要求される通信速度の相違等に応じて、多重通信線921,922,923とこれに接続されるノード931,932とよりなる複数の通信系911,912,913に分け、属する通信系911〜913が異なるノード931,932間の通信は、データ中継装置94を介して行うようにしたものがある。図例では、シフトレバー81のシフトポジションに応じてエンジン等の動力系の制御を行うエンジンECU931と、メータ82の表示等を制御するメータECU932とは、異なる通信系911,912に属している。
【0003】
データ中継装置94には通常、データを受信するための受信バッファや、多重通信線に送信する直前のデータが格納される送信バッファが設けられている。また、多量のデータの中継を効率よく行うようにしたものとして、受信データを中継先の多重通信線に送信する前に一時保持するバッファを、中継されるデータの種類ごとに設けておき、データを受信すると、受信したデータの種類を識別して、その種類に対応したバッファに書き込むようにしたものがある(特開2000−244548号公報)。この技術では、異なる種類のデータ間で上書きされることが禁止されるので、どんなに通信が混雑していても、いずれかの種類のデータが完全に消失してしまうのを防止する、優れた効果を奏する。また、上記特開2000−244548号公報には、さらにデータの優先度を再設定することで、データ中継装置におけるデータの滞留を緩和するものも開示されている。
【0004】
【発明が解決しようとする課題】
ところで、データの中には、最新のデータだけではなく時系列的に入力するデータの変化そのものが意味を有するものがある。図32の例では、メータECU932は、メータ82の表示部のひとつであるシフトポジションを示す「P」「R」「N」「D」「2」「L」の6つのインディケータ821の点灯と消灯とを切り換えるようになっているが、各インディケータ821の点灯か消灯かのデータは、メータECU932とは別の通信系911に属するエンジンECU931から受け取ることになる。
【0005】
図33はこの点灯か消灯かのデータのデータ本体の構成例を示すもので、1ビット目から6ビット目まで「P」から「L」のシフトポジジョンが1対1に対応し、各ビットはが点灯であれば「1」、消灯であれば「0」となる。運転者が自動車を発進させようとシフトレバーを「P」から「L」まで5段階に一気に動かすと、エンジンECU931からは、各段階を経るごとに、「1」となるビットを隣のビットに移動させたデータがエンジンECU931から送信され、これらのデータがたて続けにデータ中継装置94に入ることになる。かかる場合に、データ中継装置94においてバッファの上書きによりデータが最新のものに置き変わってしまうと、インディケータ821においてシフトポジションの表示が飛ぶという不都合が生じる。
【0006】
かかるデータを確実に転送しようとすれば上記のごとく優先度を高く再設定するのも一案であるが、データ中継装置94の送信バッファに他の種類のデータが滞留していれば、結局、バッファのデータが上書きされていくことになる。
【0007】
本発明は上記実情に鑑みなされたもので、データの消失に対する耐性の高いデータ中継装置および多重通信システムを提供することを目的とする。
【0008】
請求項1記載の発明では、データの本体とともにデータの種類の情報を含むデータを伝送する多重通信線の間に介設されて複数の種類のデータを中継するデータ中継装置であって、受信したデータの中継先の多重通信線を選択し受信データを転送するデータコントローラを有するデータ中継装置において、
受信データを中継先の多重通信線に送信する前に一時保持するバッファを、中継されるデータの種類ごとに設けるとともに、データ種類のうち1以上のデータ種類については複数のバッファを割り当て、
上記データコントローラには、受信したデータの種類を識別し、その種類に対応するバッファを、受信したデータの書き込み先として指定するバッファ指定手段と、
各多重通信線において、データ種類が同一のバッファからのデータを転送する順番が、バッファにデータが書き込まれた順番となるように、データが格納されたバッファからのデータの転送を管理するデータ転送管理手段とを具備せしめ、
該データ転送管理手段を、所定の時間間隔で立ち上がり、順次、上記バッファ内の送信するデータの有無を確認してデータがあればバッファからデータを転送するように、かつ、データ種類が同一のバッファについてのデータの有無の確認を、最先にデータが格納されたバッファのみについて行うように設定する。
【0009】
データの種類ごとにバッファを設けることで、バッファは、同じ種類の最新のデータによってのみ上書きされ、受信データにより送信待ちの他の種類のデータを消失してしまうことを防止することができる。
【0010】
さらに、複数のバッファが割り当てられた種類のデータについては、相前後してデータが受信されても、これらを同時に保持することができ、データ消失に対する耐性を高めることができる。しかも、バッファからのデータ転送が、少なくとも選択された多重通信線が同じものについては、バッファにデータが格納された時期が早いものから行われるから、バッファからのデータ転送において、同じ種類のデータ間での飛び越しを確実に防止することができる。
【0012】
バッファ内のデータの有無を順次、確認していくことで、バッファ群の中から、送信すべきデータの存在が確実に知られ、また、データ種類が同一のバッファについてのデータの有無は、先ず、最先にデータが格納されたバッファについて確認されるから、最先に格納されたデータが、データ種類が同一の他のバッファに先んじてバッファからの転送を実行することができる。
【0013】
請求項2記載の発明では、請求項1の発明の構成において、上記データ転送管理手段を、データ種類が同一のバッファについて上記最先にデータが格納されたバッファ内のデータの転送を、選択された多重通信線に対応してすべて完了した後に、データの種類が同一の他のバッファ内のデータのうちで最先に受信されたデータを上記最先にデータが格納されたバッファに移動するように設定する。
【0014】
種類が同一のデータの中で最先に受信されたデータが、常に所定バッファに存在するようにすることで、すべてのバッファについてデータの有無を確認しなくとも、転送すべきデータの有無を確実に確認することができる。
【0015】
請求項3記載の発明では、請求項1の発明の構成において、データが格納されたバッファを特定するバッファ情報を含み、選択された多重通信線が同じバッファ情報の並び順が、バッファからデータを転送する順番である送信データリストを具備せしめ、
上記データ転送管理手段を、データのバッファへの書き込みおよびバッファからのデータの転送に応じて上記送信データリストを更新するように設定する。
【0016】
バッファ内のデータの有無を確認しなくとも、送信データリストから、転送すべきデータを格納したバッファが知られるので、データの中継を速やかに行うことができる。
【0017】
しかも、多重通信線ごとに、バッファからデータを転送する順番が知られるから、データ種類が同一のデータが相前後してバッファに書き込まれて、送信データリストに同一のデータ種類について複数がエントリされた場合において、当該データがバッファから一の多重通信線に対応して転送され、他の多重通信線に対応しては転送されていない状況が現出しても、上記一の多重通信線に対応して次に転送すべきデータを格納したバッファは、送信されたデータが格納されたバッファのバッファ情報の次に並べられたバッファ情報で特定されるバッファであることが知られる。これにより、同じデータを間違って送信することを回避できる。
【0018】
請求項4記載の発明では、請求項3の発明の構成において、上記送信データリストを、バッファを特定するバッファ情報と、上記転送先テーブルに基づいて多重通信線ごとに初期値が与えられて、上記バッファに格納されたデータを転送すべきか否かの管理情報とからなる構成とし、
上記データ転送管理手段を、バッファからのデータの転送に応じて、管理情報をデータの送信が不要である旨の情報に切り換えるように設定する。
【0019】
転送すべきデータが格納されたバッファとともに、そのデータの多重通信線ごとの転送進捗状況を一元管理することができるから、バッファに格納されたデータの転送が、選択された多重通信線に対応してすべて完了しているか否かを、容易に知ることができ、制御負担を減じることができる。
【0020】
請求項5記載の発明では、多重通信システムを、請求項1ないし4記載のデータ中継装置と、データを送受信する通信ノードが上記多重通信線に接続された複数の通信系とを具備する構成とすることで、中継データの消失によってデータ通信の信頼性を損なわない多重通信システムを構築することができる。
【0021】
【発明の実施の形態】
(第1実施形態)
図1に本発明の第1実施形態になるデータ中継装置および多重通信システムを示す。多重通信システムは、複数(図例では3)の通信系11,12,13とデータ中継装置4とにより構成される。各通信系11〜13は、多重通信線21,22,23に通信ノード31,32,33が接続されたもので、通信ノード31〜33間で所定のプロトコルにてデータを送受信するようになっている。通信ノード31〜33は各通信系11〜13に少なくともひとつ属している。
【0022】
上記データのフレーム構造の一例を図2に示す。これは自動車のBEAN(Body Electronics Area Network)プロトコルにおけるフレーム構造である。なお、以下の説明においてデータ通信は、このBEANプロトコルに従うものとして説明する。SOF(Start Of Frame)はフレームの開始を表し1bitが割り当てられる。PRI(Priority)はフレームの優先度を表す領域で、4bitが割り当てられる。「1」の方が「0」よりも優先度が高い。データ中継装置4、通信ノード31〜33は、各通信系11〜13において、多重通信線21〜23上でデータ同士の衝突が起きた場合に優先度の高いデータが優先し他のデータは送信が中止される。ML(Message Length)は、続くメッセージ部分の長さを表す領域で、メッセージ部分を構成するDID、MIDは、後述するようにそれぞれ1byteであり、DATAは可変長であるから、DATAのbyte数+2となる。
【0023】
メッセージ部分の最初はDID(Destination ID)であり、これはフレームの宛て先ノードIDを表す領域である。MID(Message ID)はメッセージIDを表す領域で、8bitが割り当てられる。MIDは、データの種類ごとに付与され、データの本体である後述するDATAの内容が表すデータの種類を特定する。通信でやりとりされるデータの種類にはエンジン回転数等があり、それぞれに例えば図3に示すようにMIDが付与される。図の例で説明すると、MID=08hである通信データのDATAはエンジン回転数を表し、MID=A5hである通信データのDATAは車速を表し、MID=DDhである通信データのDATAはパワーウィンドウスイッチの状態を表す。DATAはデータ本体の領域で1〜11byteが割り当てられる。
【0024】
DATAの後にはCRC(Cyclic Redundancy Characters)、EOM(End Of Message)、RSP(Responce)が続く。CRCは通信エラーチェック用の領域で、8bitが割り当てられる。CRCは、通信ノードが上記PRIからDATAまでの内容を所定の数式に代入してビット演算した結果を書き込み、受信した通信ノードが受信データと比較することで、通信エラーをチェックする。EOMは所定のビット列でメッセージの終了を表し8bitが割り当てられる。RSPはデータを受信した通信ノードがレスポンスを書き込む領域で、2bitが割り当てられる。RSPには受信した通信ノードによりフレームの内容を正常に解釈できたか否かの結果が書き込まれ、これよりデータを送信した通信ノードが再送信の必要があるか否かを判定する。データの最後尾はEOF(End Of Frame)で、所定のビット列によりフレームの終わりを表し、6bitが割り当てられる。
【0025】
各多重通信線21〜23は、データ中継装置4と接続され、データ中継装置4が、通信ノード31〜33から送信されたデータを別の通信系11〜13に属する通信ノード31〜33へと中継するようになっている。
【0026】
データ中継装置4は、多重通信線21〜23とのインターフェースをなす通信用ICや、制御用のマイクロコンピュータ等で構成されたもので、図ではその機能ブロックで表してあり、受信バッファ411,412,413、送信バッファ421,422,423、バッファ群43、データコントローラ44、転送先テーブル45等からなる。
【0027】
受信バッファ411〜413、送信バッファ421〜423は各多重通信線21〜23に対応して設けてある。受信バッファ411〜413は多重通信線21〜23から送信されたデータを受け、送信バッファ421〜423は送信しようとするデータが書き込まれる。受信バッファ411〜413および送信バッファ421〜423は上記通信用ICにより構成される。なお、データ通信機能をマイクロコンピュータを構成するCPU上で実行されるソフトウェアとして組み込んでもよく、この場合、受信バッファ411〜413、送信バッファ421〜423はマイクロコンピュータを構成するRAM上に割り当てる。
【0028】
バッファ群43は複数のバッファ431よりなり、各バッファ431は、詳細は後述するように受信バッファ411〜413が受けたデータを送信バッファ421〜423に転送する前に一時保持するようになっている。中継されるデータのMIDに少なくとも1つのバッファ431が割り当てられ、バッファ431ははそれぞれ1つのMIDに専属している。このうち特定のMIDについては複数のバッファ431が割り当てられており、相前後して受信した同じMIDの複数のデータを同時に保持することができる。バッファ431は、例えば転送されるデータが5種類で、そのうちの1種類については3つのバッファを割り当て、その他の種類は1つずつバッファを割り当てるとすれば、バッファ431を7つ用意することになる。
【0029】
なお、以下の説明において、データ中継の対象となるMIDに1対1に対応して、適宜、バッファ431をバッファnというように表し(n=自然数)、複数のバッファ431を割り当てたMIDのバッファ431については個々のバッファ431をバッファn(k)というように表して(k=自然数)識別するものとする(以下、kを段数という)。また、複数のバッファを割り当てたデータ種類の場合、バッファnは、バッファn(k)の全体をいうものとする。例えば、図4に示すように、バッファ1はMID=01hのデータの書き込み用とし、バッファ2はMID=5Fhのデータの書き込み用とし、バッファ3はMID=92hのデータの書き込み用とし、バッファ4(1)、バッファ4(2)、およびバッファ4(3)はそれぞれMID=C8hのデータの書き込み用とし、バッファ5はMID=EBhのデータの書き込み用とする。バッファ群43のデータ領域は上記マイクロコンピュータを構成するRAM上に割り当てられる。
【0030】
データコントローラ44は、受信データの中継先の多重通信線21〜23を選択し、中継先の多重通信線21〜23用の送信バッファ421〜423に転送するもので、所定間隔で立ち上がり、受信バッファ411〜413からバッファ431へのデータ転送を制御するとともに、バッファ431から送信バッファ421〜423へのデータ転送を制御する。データコントローラ44はマイクロコンピュータを構成するCPU上で実行されるソフトウェア上で実現される。データコントローラ44、受信バッファ411〜413および送信バッファ421〜423は、データコントローラ44のデータ転送処理と、受信バッファ411〜413の受信作動および送信バッファ421〜423の送信作動とを交互に繰り返すように設定されている。
【0031】
転送先テーブル45は、受信データのMIDと中継先の多重通信線用の送信バッファ421〜423とを対応せしめるもので、MIDと多重通信線21〜23とを指定すると、そのMIDの受信データをどの多重通信線21〜23用の送信バッファ421〜423に転送すべきか否かの情報が読みだせるようになっている。転送先テーブル45の内容は上記マイクロコンピュータを構成するROM上に予めデータコントローラ44の制御プログラムとともに書き込まれる。
【0032】
図5は転送先テーブル45の一例を示すもので、読みだした情報が「1」であれば、その多重通信線用の送信バッファに転送すべきことを、「0」であれば、その多重通信線用の送信バッファに転送しないことを示す。図例では、MID=01hであるデータVは第2多重通信線用の送信バッファ422にのみ転送し、MID=5FhであるデータWは第3多重通信線用の送信バッファ423にのみ転送し、MID=92hであるデータXは第1多重通信線用の送信バッファ421にのみ転送し、MID=C8hであるデータYは第1多重通信線用の送信バッファ421および第2多重通信線用の送信バッファ422に転送し、MID=EBhであるデータZは第2多重通信線用の送信バッファ422および第3多重通信線用の送信バッファ423に転送すべきことを表している。
【0033】
また、データコントローラ44には、受信バッファ411〜413からバッファ群43へのデータ転送処理時に実行されるバッファ指定手段441が設けてあり、受信バッファ411〜413のデータのMIDを識別し、そのMIDに対応するバッファ431を受信バッファ411〜413のデータの転送先として指定する。
【0034】
また、単一のバッファ431からなるMIDの場合は、受信バッファ411〜413のデータにより、そのMID用のバッファ431に上書きされることになるが、複数のバッファ431が割り当てられたMIDについては、データが格納されていないバッファ431のうち、段数の若いものから順に書き込まれていくようになっており、空きバッファ431がなければ最後の段数kf のバッファn(kf )のバッファ431に上書きされることになる。
【0035】
かくして受信データはそのMIDに対応してMID別にバッファ431に書き込まれる。
【0036】
また、データコントローラ44には、バッファ群43から送信バッファ421〜423へのデータ転送処理時に実行されて、データ転送の順番を管理するデータ転送管理手段442が設けてある。
【0037】
図6、図7、図8、図9に、バッファ群43から送信バッファ421〜423へのデータ転送処理を示すフローチャートを示す。これはデータ転送管理手段442の設定内容を示すものである。ステップS100では開始バッファ#=1とし、終了バッファ#=Nとする。ここで、Nはバッファ群43を構成するバッファ431の数である。ステップS101ではn=開始バッファ#(=1)とする。ステップS102ではバッファnにデータが書き込まれているか否かを確認する。なお、バッファ♯が複数のバッファ431を割り当てたMIDに対応するものの場合は、データが書き込まれているか否かの判断は、バッファn(1)のみに基づいて行う。
【0038】
書き込まれている場合はステップS105に進む(図7)。ステップS105ではバッファnのデータに転送先フラグが設定されているか否かを確認する。転送先フラグは多重通信線21〜23ごとに設定され、「1」が設定されていれば、バッファnのデータをその多重通信線21〜23に転送すべきことを表す。
【0039】
転送先フラグが設定されていなければステップS106,S107を実行し転送先フラグを設定する。ステップS106ではバッファnのデータのMIDを確認し、ステップS107では上記データ転送先テーブル45を参照してバッファnのデータの転送先を取得してバッファnのデータに転送先フラグを設定する。すなわち、第1多重通信線用の送信バッファ421に転送すべきであれば転送先フラグf1を「1」とし、第2多重通信線用の送信バッファ422に転送すべきであれば転送先フラグf2を「1」とし、第3多重通信線用の送信バッファ423に転送すべきであれば転送先フラグf3を「1」とする。
【0040】
転送先フラグを設定すると、ステップS108(図8)に進む。ステップS108では転送先フラグf1を確認し、「1」であればステップS109に進む。ステップS109では第1多重通信線用の送信バッファ421が空か否かを確認する。送信バッファ421が空であればステップS110に進みバッファnのデータを送信バッファ421に転送する。そして続くステップS111でバッファnの転送先フラグf1を「0」とし、ステップS112に進む。
【0041】
ステップS112では転送先フラグf2が「1」か否かを確認する。「1」であればステップS113に進む。ステップS113では第2多重通信線用の送信バッファ422が空か否かを確認する。送信バッファ422が空であればステップS114に進み、バッファnのデータを送信バッファ422に転送する。そして続くステップS115でバッファnの転送先フラグf2を「0」とし、ステップS116に進む。
【0042】
ステップS116では転送先フラグf3が「1」か否かを確認する。「1」であればステップS117に進む。ステップS117では第3多重通信線用の送信バッファ423が空か否かを確認する。送信バッファ423が空であればステップS118に進み、バッファnのデータを送信バッファ423に転送する。そして続くステップS119でバッファnの転送先フラグf3を「0」とし、ステップS120に進む(図9)。
【0043】
ステップS120では転送先フラグf1=0かつf2=0かつf3=0であるか否かを判定する。肯定されれば転送すべき送信バッファ421〜423へのデータ転送が完了しているということであり、ステップS121でバッファnのデータを削除する。複数のバッファ431が割り当てられているMIDの場合は、バッファn(1)のデータを削除する。
【0044】
続くステップS122では、バッファnが複数段構成、すなわち複数のバッファ431が割り当てられたMIDのものであるか否かを判定する。判定は、複数段構成をとるもののバッファ♯を予め記憶しておき、これに基づいて行い得る。肯定されればステップS123に進み、バッファn(2)のデータをバッファn(1)にコピーし、3段以上の構成であれば、さらにバッファn(3)のデータをバッファn(2)にというように、各バッファn(k)のデータをひとつ若い段数kのバッファn(k)に移動していく。同一MID内のバッファ431におけるかかる作動は、FIFOと実質的に同様のデータ処理である。
【0045】
図10(A)、図10(B)は、かかる、バッファ431から送信バッファ421〜423(図例では421)への転送処理を示すもので、転送するデータの有無についてバッファ群43内を順次、確認し、MID=92h、段数1のバッファ431に格納されたデータを送信バッファ421に転送したとすると(図10(A))、上記バッファ431のデータを削除し、段数2、段数3のデータが順繰りに繰り上がり、段数3のバッファが空になることになる(図10(B))。なお、かかるデータ移動はデータの物理的なアドレスが実際に変わるのではなく、データの格納場所をそのままにデータに対応する段数の情報の方を繰り替えるようにしてもよく、2つの手段は等価である。
【0046】
その後、ステップS103に進む(図6)。ステップS122が否定されれば単一のバッファ構成ということであり、ステップS123をスキップしてステップS103に進む。
【0047】
ステップS103においてnが終了バッファ#か否かを判定し、n≠終了バッファ#であればステップS104にてnを1ステップ、インクリメントし、ステップS102に戻り、次のバッファ♯のバッファnについてステップS102,S108〜S123が実行される。このように、バッファ431はバッファ♯順に、転送するデータの有無が確認され、データが保持されているときはそのデータを所定の送信バッファ421〜423に転送する。そして最後のバッファNについてのデータを転送するとデータ転送処理が終了となる。
【0048】
上記データ転送処理において、送信バッファ421〜423がデータを保持しており送信待ちの状態にあるためにステップS109,S113,S117の少なくともいずれかが否定されると、ステップS110,S111、ステップS114,S115、ステップS118,S119はスキップし転送先フラグf1,f2,f3のいずれかは「1」のままである。したがってステップS120は否定され、ステップS121はスキップしバッファnのデータはそのまま保持される。すなわち、転送先の送信バッファ421〜423が空になるのを待つことになる。この場合、次回のデータ転送処理において、ステップS105からステップS106,S107をスキップしてステップS108〜S119が実行され、転送先の送信バッファ421〜423が空になっていれば、前回、送信待ちのため転送できなかったデータを転送する。
【0049】
転送先の送信バッファ421〜423が空になるのを待つ状態が続けば、バッファ群43から送信バッファ421〜423への転送は行われない。その間に、バッファ431に保持されたのと同じMIDの新しいデータが受信されると、当該バッファ431はその新しいデータにより上書きされることになるが、バッファ431を、中継するデータのMIDごとに設けることで、データ種類の異なるデータにより上書きされることを回避できるので、あるMIDのデータが完全に消失してしまうのを防止することができる。
【0050】
また、上記シフトポジションのインディケータの点灯か消灯かのデータを複数段構成のバッファ431に受け持たせるようにすれば、上記データが相前後してエンジンECUからたて続けに送信されても、この一連のデータがバッファ431において保持され、表示飛びに対する耐性を高めることができる。しかも、最先に受信されたデータは常に段数1のバッファ431に存在しているから、データの飛び越しがなく、上記インディケータは「P」から「R」「N」「D」「2」「L」の順に変わっていくことになる。
【0051】
しかも、バッファ群43を構成するバッファ431の数は、中継するデータの種類の数に、データ消失に対する耐性を高めたいMIDのものについて複数のバッファを増設すればよいから、構成が簡単である。
【0052】
さらに、データコントローラ44が順次、バッファ431のデータの有無について確認するから、バッファ群43の中から送信バッファ421〜423に転送し多重通信線21〜23に送信すべきデータの存在が確実に知られる。
【0053】
なお、バッファ群43は、特に速やかに中継すべき重要なデータ種類ほど、例えば優先度(PRI)の高いデータ種類ほど若いバッファ♯のバッファ431を割り当てることで、重要なデータを速やかに中継先の多重通信線21〜23に送信することができる。
【0054】
また、データコントローラ44は立ち上がるごとに、バッファ群43の中から送信バッファ421〜423へのデータ転送処理において、中継対象のすべてのMIDについて、送信するデータの確認を行っているが、先ず、例えばバッファ群43のバッファ♯前半のバッファ431についてデータの転送処理を行い、次に立ち上がった時にバッファ♯後半のバッファ431についてデータの転送処理を行うように設定し、2回のデータの転送処理でバッファ群43を一巡するようにしてもよい。この場合、重要なデータ種類に対応するバッファ431については、上記2回のデータの転送処理の両方にて行うことで、重要なデータを速やかに中継先の多重通信線21〜23に送信することができる。
【0055】
なお、バッファ431内のデータの有無の確認は、本実施形態の方法を示す図11(A)のごとく、複数段構成のバッファ431では段数1のバッファ431のみ確認するのがよい。この方法の他、図11(B)に示すように、一部もしくは全部の複数段構成のバッファ431について、バッファn(1)の確認の後、そのMIDのすべてのバッファn(k)を確認するようにしたり、(C)に示すように、バッファn(1)から所定の段数のバッファn(k)まで確認する方法もあるが、図11(A)の本実施形態の方法とすることで、同一MIDの中で最もバッファ431に格納された時期が早いデータの転送が優先的になされることになる。
【0056】
なお、この場合、図12に示すように、送信バッファ421〜423(図例では421)を複数段の構成にしてFIFO型でデータ処理し、バッファ431から転送された順に多重通信線21に送信する構成としてもよく、データ中継をよりスムーズに行い得る。
【0057】
(第2実施形態)
図13に本発明の第2実施形態になるデータ中継装置および多重通信システムの構成を示す。本実施形態のデータ中継装置4Aは、第1実施形態の構成において、別のデータコントローラに代えたものである。第1実施形態のデータコントローラでは、バッファ確認手段は、開始バッファ#、終了バッファ#をそれぞれ固定してバッファ1から始まり順にバッファNまでデータの有無を確認しデータの転送処理を行っているが、本実施形態のデータコントローラ44Aでは、データ転送管理手段442Aは、立ち上がるごとに開始バッファ#と終了バッファ#を変更し確認順序をずらしていくように設定されている。第1実施形態との相違点を中心に説明する。
【0058】
図14にデータ中継装置4Aのデータコントローラ44Aにおけるバッファ群43から送信バッファ421〜423へのデータ転送処理を示す。ステップS200において前回のデータ転送処理における開始バッファ#を1、インクリメントする。続くステップS201では開始バッファ#がNを越えているか否かを確認する。越えていなければ終了バッファ#を開始バッファ#−1とする。すなわち開始バッファ#のひとつ前のバッファ♯のバッファにて、バッファ431のデータの有無の確認を含むバッファ群43から送信バッファ421〜423への転送処理が一巡する。
【0059】
続くステップS204ではnを開始バッファ#とし、ステップS205ではバッファnにデータが書き込まれているか否かを確認し、書き込まれている場合には図7〜図9と同じ手順によりデータの書き込まれたバッファnについて転送処理を行ってステップS206に進む。書き込まれていなければ(ステップS205)そのままステップS206に進む。
【0060】
ステップS206ではnが終了バッファ#か否かを確認し、nが終了バッファ#でなければ、ステップS207,S208を実行した後、上記ステップS205移行の手順が実行されて次のバッファ#のバッファ431についてデータ転送処理を続ける。ここで、ステップS207,S208はnを次に確認するバッファ431の通し番号に更新する手順で、ステップS207ではnを1、インクリメントする。ステップS208ではこのnがN以上か否かを確認し、N未満であればステップS205に戻り、ステップS207にてインクリメントされたnすなわち次のバッファ♯のバッファ431についてデータの有無を確認する。このように順次、nが大きくなりついにNになるが、この場合、ステップS208からステップS209に進み、nを1としステップS205に戻る。バッファNの次に確認するのはバッファ1だからである。このようにN個すべてのバッファ431についてデータ転送処理が実行される。
【0061】
このデータ転送処理では、開始バッファ#と終了バッファ#とを、検索が1巡するごとに順次ずらしていくので、MID間でデータの転送に於ける延滞の程度が偏るということを防止することができる。例えば、図4、図5の例で説明すると、第2多重通信線22に転送するデータはデータV,Y,Zの3つである。データVはバッファ1に、データYはバッファ4に、データZはバッファ5に保持されるから、常にバッファ1からデータの有無の確認が開始される第1実施形態のデータコントローラ44では、バッファ1から転送されたデータVにより送信バッファ422が書き込まれると、データYは書き込むことができない(ステップS113参照)。また、送信バッファ422にデータV,Yのいずれかが書き込まれるとデータZは書き込むことができない。したがってデータYはデータVに比して、データZはデータV,Yに比して送信バッファ422への転送がしにくくデータがデータ中継装置4にて延滞する場合がある。これに対して本実施形態のデータコントローラ44Aでは、検索が1巡するごとにデータの有無の確認順序を順繰りにずらしていくので、バッファ1〜バッファN間で、公平にデータを、対応する送信バッファ421〜423に転送することができる。また、確認順序が固定しないので、データの中継に要する時間をバッファ431間で平均化することができる。
【0062】
なお、本データ転送処理では、データ中継装置4Aの起動時における開始バッファ#の初期値は1〜Nのうちいずれに設定してもよい。
【0063】
(第3実施形態)
図15に本発明の第3実施形態になるデータ中継装置および多重通信システムを示す。第1実施形態との相違点を中心に説明する。
【0064】
データ中継装置4Bは、送信データリスト46が設けてある。送信データリスト46は模式的には図16のごとく表せる。各多重通信線21〜23に送信するデータが格納されたバッファ431を特定する情報として、MIDおよび段数を含み、また、多重通信線21〜23ごとに、当該データを送信すべきか否かを示す転送先管理フラグを含んでいる。第1実施形態の転送先フラグと同様に「1」が転送すべきことを、「0」が転送不要であることを示している。なお、順位は送信データリスト46に書き込まれた順番を示している。
【0065】
送信データリスト46からは、ひとつの多重通信線21〜23に注目して、転送先管理フラグが「1」のところがあれば、転送すべきデータが受信バッファ411〜413からバッファ431に転送されてきているということが知られ、また、かかる、転送先管理フラグが「1」のところが複数あれば、転送する順番が知られることになる。すなわち、順位の高いものから転送するものとする。図例では第1多重通信線21の送信順番が、1位はMID=C8h、段数2のバッファ431であり、第2位はMID=92h、段数1のバッファ431であることを示している。また、第3多重通信線23の送信順番が、1位はMID=5Fh、段数2のバッファ431であることを示している。送信データリスト46の記憶領域はデータ中継装置4Bを構成するRAM上に設定される。
【0066】
データコントローラ44Bには、受信バッファ411〜413からバッファ群43へのデータ転送処理時およびバッファ群43から送信バッファ421〜423へのデータ転送処理時に起動されるデータ転送管理手段442Bが設けてあり、受信したデータを格納するバッファ431のバッファ情報(MIDおよび段数)および転送先管理フラグを送信データリスト46に追記する等、送信データリスト46を更新するようになっている。
【0067】
データコントローラ44Bで実行されるデータ転送処理を図17、図18、図19、図20、図21、図22により説明する。図17〜図19は受信バッファ411〜413からバッファ群43へのデータ転送処理であり、図20〜図22はバッファ群43から送信バッファ421〜423へのデータ転送処理である。
【0068】
バッファ群43へのデータ転送処理は、ステップS300〜S305(図17)が第1多重通信線21から受信したデータの転送処理であり、ステップS306〜S311(図18)が第2多重通信線22から受信したデータの転送処理であり、ステップS312〜S317(図19)が第3多重通信線23から受信したデータの転送処理である。なお、ステップS300〜S302,S306〜S308,S312〜S314はバッファ指定手段441としての手順であり、ステップS301〜S304、ステップS307〜S310、ステップS313〜S316はデータ転送管理手段442Bとしての手順である。
【0069】
ステップS300では第1多重通信線用の受信バッファ411が空か否かを確認し、空でなければ、ステップS301で受信バッファ411に入っている受信データのMIDを確認し、ステップS302で受信データを格納するバッファ431の段数を確認する。この場合、当該MIDが複数のバッファを割り当てたものであれば、格納先はデータが格納されていないものを選択する。データが格納されていない空きバッファ431が複数ある場合の選択方法は任意である。また、当該MIDに割り当てられたすべてのバッファ431にデータが格納されてしまっている場合は、同じMIDで送信データリスト46の最も末尾側のバッファ431を受信データの格納先として選択する。次いで、ステップS303で上記データ転送先テーブル45に基づいて受信データの転送先を取得する。
【0070】
そして、ステップS304では送信データリスト46の末尾に、ステップS301〜S303にて取得したバッファ情報および転送先管理フラグの初期値を追記する。ここで、転送先管理フラグは、転送すべき多重通信線21〜23について「1」とする。なお、ステップS302において送信データリスト46の最も末尾側のバッファ431を受信データの格納先として選択した場合等、上書きとなる場合には、送信データリスト46の転送先管理フラグのみを、ステップS303で取得した転送先に基づいて再設定する。
【0071】
続くステップS305では、第1多重通信線用の受信バッファ411のデータをバッファ群43のうち、ステップS301,302で確認した所定のバッファ431に転送する。そして第2多重通信線22から受信したデータの転送処理(ステップS306〜S311)に移行する。なお、ステップS300において第1多重通信線用の受信バッファ411が空のときは、ステップS301〜S305をスキップし、上記第2多重通信線22から受信したデータの転送処理(ステップS306〜S311)に移行する。
【0072】
ステップS306では第2多重通信線用の受信バッファ412が空か否かを確認し、空でなければ、上記ステップ301〜305と同様に、ステップS307で受信バッファ412に入っている受信データのMIDを確認し、ステップS308で受信データを格納するバッファ431の段数を確認する。次いで、ステップS309で上記データ転送先テーブル45に基づいて受信データの転送先を取得する。
【0073】
次いでステップS310では、ステップS307〜S309にて取得したバッファ情報および転送先管理フラグにより送信データリスト46を更新し、ステップS311で、第2多重通信線用の受信バッファ412のデータをバッファ群43のうち、ステップS307,S308で確認した所定のバッファ431に転送する。そして第3多重通信線23から受信したデータの転送処理(ステップS312〜S318)に移行する。なお、ステップS306において第2多重通信線用の受信バッファ412が空のときは、ステップS307〜S311をスキップし、上記第3多重通信線23から受信したデータの転送処理に移行する(ステップS312〜S317)。
【0074】
ステップS312では第3多重通信線用の受信バッファ413が空か否かを確認し、空でなければ、上記ステップ301〜305と同様に、ステップS313で受信バッファ413に入っている受信データのMIDを確認し、ステップS314で受信データを格納するバッファ431の段数を確認する。次いで、ステップS315で上記データ転送先テーブル45に基づいて受信データの転送先を取得する。
【0075】
次いでステップS316では、ステップS313〜S315にて取得したバッファ情報および転送先管理フラグにより送信データリスト46を更新し、ステップS317で、第3多重通信線用の受信バッファ413のデータをバッファ群43のうち、ステップS314,S315で確認した所定のバッファ431に転送し、データの転送処理を終了する。なお、ステップS312において第3多重通信線用の受信バッファ413が空のときは、ステップS313〜S317をスキップし、データの転送処理を終了する。
【0076】
次にバッファ431から各送信バッファ421〜423へのデータ転送処理について説明する。ステップS400〜S407(図20)がバッファ431から第1多重通信線用送信バッファ421へのデータの転送処理であり、ステップS408〜S415(図21)が第2多重通信線用送信バッファ422へのデータの転送処理であり、ステップS416〜S423(図22)が第3多重通信線用送信バッファ423へのデータの転送処理である。ステップS400〜S406、ステップS408〜S414、ステップS416〜S422はデータ転送管理手段422Bとしての手順である。
【0077】
ステップS400では、第1多重通信線用の送信バッファ421が空か否かを確認し、空であればステップS401に進み送信データリスト46の第1多重通信線用の転送先管理フラグがすべて「0」か否かを確認する。否定判断されると、すなわちバッファ431から第1多重通信線用の送信バッファ421に転送すべきデータがあれば、ステップS402に進んで、第1多重通信線用転送管理フラグが「1」のもののうちで最上位のバッファ情報(MIDおよび段数)を取得する。続くステップS403ではバッファ群43のうち取得したバッファ情報に対応したバッファ431のデータを第1多重通信線用の送信バッファ421に転送する。そして、送信データリスト46の、「1」をとる第1多重通信線用転送先管理フラグの最上位のものをクリア(「0」)する。
【0078】
続くステップS405では、転送先管理フラグをクリアしたデータの他の転送先管理フラグ、すなわち、第2、第3の多重通信線用の転送先管理フラグを確認し、すべての転送先管理フラグが「0」であれば、ステップS406で送信バッファ421への送信を完了したデータの情報(バッファ情報および転送先管理フラグ)を送信データリスト46から削除し、以下の低順位の情報を繰り上げる。そして、ステップS407で、送信バッファ421への送信を完了したデータをそのバッファ431から削除する。そして、ステップS408に進む。なお、ステップS405が肯定判断されると、ステップS406,S407をスキップしてステップS408に進む。
【0079】
このように送信データリスト46に書き込まれた順に、送信バッファ421が空き次第、バッファ431からデータが送信バッファ421に転送され、そこで第1多重通信線21への送信待ちの状態となる。なお、ステップS400において送信バッファ421にデータが既に書き込まれている場合、ステップS401が肯定判断された場合、すなわち第1多重通信線21に転送すべきデータがない場合には、ステップS408(図21)に進む。
【0080】
ステップS408〜S415では、第2多重通信線用の送信バッファ422、これに転送するデータを保持しているバッファ431、送信データリスト46についてステップS400〜S407と同様の手順が行われる。すなわち、第2多重通信線用の送信バッファ422が空で(ステップS408)、送信データリスト46の第2多重通信線用転送先管理フラグに「1」のものがあれば(ステップS409)、第2多重通信線用転送先管理フラグが「1」のもののうちで最上位のバッファ情報を取得し(ステップS410)、取得したバッファ情報に対応したバッファ431のデータを送信バッファ422に転送する(ステップS411)。そして、送信データリスト46の第2多重通信線用転送先管理フラグの最上位のものをクリアする(ステップS412)。
【0081】
次いで、ステップS413で、転送したデータについての、他の転送先管理フラグ、すなわち、第1、第3の多重通信線用の転送先管理フラグを確認し、すべての転送先管理フラグが「0」であれば、ステップS414で、送信バッファ422への送信を完了したデータの情報を送信データリスト46から削除し、低順位の情報を繰り上げ、ステップS415で、送信バッファ422への送信を完了したデータをそのバッファ431から削除する。そして、ステップS416(図22)に進む。
【0082】
ステップS416〜S423では、第3多重通信線用の送信バッファ423、これに転送するデータを保持しているバッファ431、送信データリスト46についてステップS400〜S407と同様の手順が行われる。すなわち、第3多重通信線用の送信バッファ423が空で(ステップS416)、送信データリスト46の第3多重通信線用転送先管理フラグに「1」のものがあれば(ステップS417)、第3多重通信線用転送先管理フラグが「1」のもののうちで最上位のバッファ情報を取得し(ステップS418)、取得したバッファ情報に対応したバッファ431のデータを送信バッファ423に転送する(ステップS419)。そして、送信データリスト46の第3多重通信線用転送先管理フラグの最上位のものをクリアする(ステップS420)。
【0083】
次いで、ステップS421で、転送したデータについての、他の転送先管理フラグ、すなわち、第1、第2の多重通信線用の転送先管理フラグを確認し、すべての転送先管理フラグが「0」であれば、ステップS422で、送信バッファ423への送信を完了したデータの情報を送信データリスト46から削除し、低順位の情報を繰り上げ、ステップS423で、送信バッファ423への送信を完了したデータをそのバッファ431から削除する。これにより、バッファ431から送信バッファ421〜423へのデータ転送が完了する。
【0084】
データコントローラ44Bのデータ転送処理は上記のごとく設定されており、送信データリスト46は、多重通信線21〜23へ送信すべきデータの情報が更新されていく。送信データリスト46の上位のものは早く受信されたデータのものである。したがって、各多重通信線21〜23のそれぞれにおいて、中継すべきデータが受信された順に送信バッファ421〜423において送信待ちの状態になる。すべてのバッファ431についてデータの有無を確認しなくとも、バッファ431に書き込まれた送信すべきデータが格納されたバッファが送信データリスト46から知られるので、データの中継を速やかに行うことができる。
【0085】
(第4実施形態)
図23に本発明の第4実施形態になるデータ中継装置および多重通信システムを示す。第3実施形態との相違点を中心に説明する。
【0086】
データ中継装置4Cは、各多重通信線21〜23ごとに送信データリスト461,462,463が設けてある。送信データリスト461〜463は各多重通信線21〜23に送信するデータを格納したバッファの情報(MIDおよび段数)が送信順に書き込まれたもので、模式的には図24(A)、図24(B)、図24(C)のごとく表せる。転送先管理フラグを含まない点で第3実施形態の送信データリストと相違している。図の例では、第1多重通信線21への送信順番が1位はMID=C8h、段数2のバッファ431に格納されたデータであり、第2位はMID=92h、段数1のバッファ431のデータであることを示している。送信データリスト461〜463の記憶領域はデータ中継装置4Cを構成するRAM上に設定される。
【0087】
データコントローラ44Cには、受信バッファ411〜413からバッファ群43へのデータ転送処理時に起動されるデータ転送管理手段442Cが設けてある。
【0088】
データコントローラ4Cで実行されるデータ転送処理を図25、図26、図27、図28、図29、図30により説明する。図25〜図27は受信バッファ411〜413からバッファ群43へのデータ転送処理であり、図28〜図30はバッファ群43から送信バッファ421〜423へのデータ転送処理である。
【0089】
バッファ群43へのデータ転送処理は、ステップS500〜S508(図25)が第1多重通信線21から受信したデータの転送処理であり、ステップS509〜S517(図26)が第2多重通信線22から受信したデータの転送処理であり、ステップS518〜S526(図27)が第3多重通信線23から受信したデータの転送処理である。なお、ステップS500〜S502,S509〜S511,S518〜S520はバッファ指定手段441としての手順であり、ステップS501〜S507,ステップS510〜S516,ステップS519〜S525はデータ転送管理手段442Cとしての手順である。
【0090】
ステップS500では第1多重通信線用の受信バッファ411が空か否かを確認し、空でなければ、ステップS501で受信バッファ411に入っている受信データのMIDを確認し、ステップS502で当該MIDのデータを格納するバッファ431の段数を確認する。次いで、ステップS503で上記データ転送先テーブル45に基づいて受信データの転送先を取得する。
【0091】
続くステップS504では取得された転送先に第2多重通信線用の送信バッファ422があるか否かを確認し、肯定されればステップS505に進む。ステップS505では、第2多重通信線22用の送信データリスト462の末尾に、ステップS501,S502にて確認されたバッファ情報(MIDおよび段数)を追記し、ステップS506に進む。ステップS506では、取得された転送先に第3多重通信線用の送信バッファ423があるか否かを確認し、肯定されればステップS507に進む。ステップS507では、第3多重通信線23用の送信データリスト463の末尾に、ステップS501,S502にて確認されたバッファ情報(MIDおよび段数)を追記しステップS508に進む。なお、ステップS505,S507において送信データリスト462,463に既に同じバッファ情報がある場合には、バッファ情報を追記するともに送信データリスト462,463に既に書かれたバッファ情報を削除する。
【0092】
ステップS508では、第1多重通信線用の受信バッファ411のデータをバッファ群43のうち、バッファ情報で特定される所定のバッファ431に転送する。そして第2多重通信線22から受信したデータの転送処理(ステップS509〜S517)に移行する。なお、ステップS500において第1多重通信線用の受信バッファ411が空のときは、第2、第3多重通信線用の送信データリスト462,463への追記処理(ステップS501〜S507)およびデータ転送処理(ステップS508)をスキップし、上記第2多重通信線22から受信したデータの転送処理(ステップS509〜S517)に移行する。
【0093】
ステップS509では第2多重通信線用の受信バッファ412が空か否かを確認し、空でなければ、ステップS510で受信バッファ412に入っている受信データのMIDを確認し、ステップS511で当該MIDのデータを格納するバッファ431の段数を確認する。次いで、ステップS512で上記データ転送先テーブル45に基づいて受信データの転送先を取得する。
【0094】
続くステップS513では取得された転送先に第1多重通信線用の送信バッファ421があるか否かを確認し、肯定されればステップS514に進む。ステップS514では、第1多重通信線21用の送信データリスト461の末尾に、ステップS510,S511にて確認されたバッファ情報(MIDおよび段数)を追記し、ステップS515に進む。ステップS515では、取得された転送先に第3多重通信線用の送信バッファ423があるか否かを確認し、肯定されればステップS516に進む。ステップS516では、第3多重通信線23用の送信データリスト463の末尾に、ステップS510,S511にて確認されたバッファ情報(MIDおよび段数)を追記しステップS517に進む。なお、ステップS514,S516において送信データリスト461,463に既に同じバッファ情報がある場合には、バッファ情報を追記するともに送信データリスト461,463に既に書かれたバッファ情報を削除する。
【0095】
ステップS517では、第2多重通信線用の受信バッファ412のデータを、バッファ群43のうちバッファ情報で特定されるバッファ431に転送する。そして第3多重通信線23から受信したデータの転送処理(ステップS518〜S526)に移行する。なお、ステップS509において第2多重通信線用の受信バッファ412が空のときは、第1、第3多重通信線用の送信データリスト461,463への追記処理(ステップS510〜S516)およびデータ転送処理(ステップS517)をスキップし、上記第3多重通信線23から受信したデータの転送処理(ステップS518〜S526)に移行する。
【0096】
ステップS518では第3多重通信線用の受信バッファ413が空か否かを確認し、空でなければ、ステップS519で受信バッファ413に入っている受信データのMIDを確認し、ステップS520で当該MIDのデータを格納するバッファ431の段数を確認する。次いで、ステップS521で上記データ転送先テーブル45に基づいて受信データの転送先を取得する。
【0097】
続くステップS522では取得された転送先に第1多重通信線用の送信バッファ421があるか否かを確認し、肯定されればステップS523に進む。ステップS523では、第1多重通信線21用の送信データリスト461の末尾に、ステップS519,S520にて確認されたバッファ情報(MIDおよび段数)を追記し、ステップS524に進む。ステップS524では、取得された転送先に第2多重通信線用送信バッハ422があるか否かを確認し、肯定されればステップS525に進む。ステップS525では、第2多重通信線22用の送信データリスト462の末尾に、ステップS519,S520にて確認されたバッファ情報(MIDおよび段数)を追記しステップS526に進む。なお、ステップS523,S525において送信データリスト461,462に既に同じバッファ情報がある場合には、バッファ情報を追記するともに送信データリスト461,462に既に書かれたバッファ情報を削除する。
【0098】
ステップS526では、第3多重通信線用の受信バッファ413のデータを、バッファ群43のうちバッファ情報で特定される所定のバッファ431に転送し、受信バッファ411〜413からバッファ431へのデータ転送処理を終了する。なお、ステップS518において第3多重通信線用の受信バッファ413が空のときは、第1、第2多重通信線用の送信データリスト461,462への追記処理(ステップS519〜S525)およびデータ転送処理(ステップS526)をスキップし、データ転送処理を終了する。
【0099】
次にバッファ431から各送信バッファ421〜423へのデータ転送処理について説明する。ステップS600〜S606(図28)がバッファ431から第1多重通信線用送信バッファ421へのデータの転送処理であり、ステップS607〜S613(図29)が第2多重通信線用送信バッファ422へのデータの転送処理であり、ステップS614〜S620(図30)が第3多重通信線用送信バッファ423へのデータの転送処理である。ステップS601〜S604、ステップS608〜S611、ステップS615〜S618はデータ転送管理手段442Cとしての手順である。
【0100】
ステップS600では、第1多重通信線用の送信バッファ421が空か否かを確認し、空であればステップS601に進み第1多重通信線用の送信データリスト461が空か否かを確認する。送信データリスト461が空でない、すなわちバッファ431から送信バッファ421に転送すべきデータがあれば、ステップS602に進んで上記送信データリスト461の先頭のバッファ情報を取得する。続く、ステップS603ではバッファ群43のうち取得したバッファ情報で特定されるバッファ431のデータを第1多重通信線用の送信バッファ421に転送する。次いで、送信データリスト461の先頭のバッファ情報すなわちステップS603で転送したデータの情報を削除し、低順位の情報を繰り上げる。
【0101】
続くステップS605では第2、第3多重通信線用送信データリスト642,643に、ステップS604で削除したバッファ情報と同じものがあるか否かを判定し、否定されると、ステップS606で、ステップS603で転送を完了したデータが格納されたバッファ431からデータを削除し、ステップS605に進む。このように送信データリスト461に書き込まれた順に、送信バッファ421が空き次第、バッファ431からデータが送信バッファ421に転送され、そこで第1多重通信線21への送信待ちの状態となる。なお、ステップS600において送信バッファ421にデータが既に書き込まれている場合、ステップS601において送信データリスト461が空で転送すべきデータがない場合には、ステップS602〜S606をスキップしてステップS607(図29)に進む。
【0102】
ステップS607〜S613では、第2多重通信線用の送信バッファ422、これに転送するデータを保持しているバッファ431、送信データリスト462についてステップS600〜S606と同様の手順が行われる。すなわち、第2多重通信線用の送信バッファ422が空で(ステップS607)、第2多重通信線用の送信データリスト462に書き込みがあれば(ステップS608)、送信データリスト462の先頭のバッファ情報を読み(ステップS609)、当該バッファ情報で特定されるバッファ431からデータを送信バッファ422に転送する(ステップS610)。そして送信データリスト462の先頭のデータのバッファ情報、すなわちこの転送の済んだデータのバッファを削除し以下の低順位の情報を繰り上げる(ステップS611)。
【0103】
次いで、第1、第3多重通信線用送信データリスト641,643に、ステップS611で削除したバッファ情報と同じものがなければ(ステップS612)、ステップS610で転送を完了したデータが格納されたバッファ431からデータを削除し(ステップS613)、ステップS614(図30)に進む。
【0104】
ステップS614〜S620では、第3多重通信線用の送信バッファ423、これに転送するデータを保持しているバッファ431、送信データリスト463についてステップS600〜S606と同様の手順が行われる。すなわち、第3多重通信線用の送信バッファ423が空で(ステップS614)、第3多重通信線用の送信データリスト463に書き込みがあれば(ステップS615)、送信データリスト463の先頭のバッファ情報を読み(ステップS616)、当該バッファ情報で特定されるバッファ431からデータを送信バッファ423に転送する(ステップS617)。そして送信データリスト463の先頭のデータのバッファ情報、すなわちこの転送の済んだデータのバッファ情報を削除し以下の低順位の情報を繰り上げる(ステップS618)。
【0105】
次いで、第1、第2多重通信線用送信データリスト641,642に、ステップS618で削除したバッファ情報と同じものがなければ(ステップS619)、ステップS617で転送を完了したデータが格納されたバッファ431からデータを削除し(ステップS620)、バッファ431から送信バッファ421〜423への転送処理を終了する。
【0106】
データコントローラ44Cのデータ転送処理は上記のごとく設定されており、各送信データリスト461〜463は、対応する多重通信線21〜23へ送信すべきデータのバッファ情報が更新されていく。送信データリスト461〜463内の順番は受信された順である。例えば上記図24の例で、第1多重通信線用の送信データリスト461は、バッファ群431から送信順番第1位のC8hのデータが送信バッファ421に転送され、送信データリスト461からバッファ情報(MID=C8h、段数2)が削除されたとすると、このバッファ情報(MID=C8h、段数2)は第2、第3多重通信線用の送信データリスト462,463を含めてなくなっている。これより、バッファ情報(MID=C8h、段数2)で特定されるバッファ431のデータはすべての転送を完了していることが知られ、バッファ431から削除されることになる。
【0107】
なお、同じMID=C8hのデータでも、第2多重通信線用の送信データリスト462で送信順番第1位のバッファ情報(MID=C8h、段数1)のデータが送信されても、同じバッファ情報が第1多重通信線用の送信データリスト461にあり、第2多重通信線用の送信データリスト462からバッファ情報(MID=C8h、段数1)が削除されても、バッファ431に格納されたデータは削除されず、第1多重通信線用の送信バッファ421に送信されるまで基本的に保持される。
【0108】
これにより、第3実施形態と同様に、すべてのバッファ431についてデータの有無を確認しなくとも、バッファ431に書き込まれた送信すべきデータが格納されたバッファ431が送信データリスト461〜463から知られるので、データの中継を速やかに行うことができる。また、各多重通信線21〜23への送信順番が受信した順番となるので、すべての受信データを延滞することなく確実に送信することができる。
【0109】
また、各送信データリスト461〜463には多重通信線21〜23ごとにバッファ情報が転送する順番に並んでいるから、複数の多重通信線21〜23のそれぞれに対応して同じMIDのバッファ情報が複数並んだ場合、ある送信バッファ421〜423への転送が済んでも当該データは削除されないが、同じ送信バッファ421〜423に次に転送すべきデータを間違えることがない。
【0110】
また、一部のMID、図例ではC8h等については、複数のバッファ431を割り当てることで、データ中継装置4Cが相前後して受信した同一MIDの複数のデータを、いずれも送信すべきデータとして送信データリスト461〜463にエントリすることができるので、データ消失に対する耐性を高めることができる。
【0111】
なお、上記各実施形態では、データを受信してバッファの空きがない場合には上書きするとしているが、データコンローラを、受信バッファにデータを保持したまま、バッファへの転送を一時、保留するように設定してもよい。その間にバッファが空けば、上書きを回避することができる。この場合、図31に示すように、多重通信線21ごとに受信バッファ411を複数設けてFIFO型でデータ処理し、バッファ431での上書きの回避と、多重通信線21からのデータ受信作動の確保との両立を図ることができる。
【図面の簡単な説明】
【図1】本発明の第1のデータ中継装置および多重通信システムの構成図である。
【図2】本発明の第1のデータ中継装置および多重通信システムの通信データのフレーム構造を示す図である。
【図3】本発明の第1のデータ中継装置および多重通信システムの通信データの種類とそのMIDの対応関係を示す図である。
【図4】本発明の第1のデータ中継装置のバッファの模式図である。
【図5】本発明の第1のデータ中継装置の転送先テーブルにおけるデータとその転送先の対応関係を示す図である。
【図6】本発明の第1のデータ中継装置のデータコントローラにおいて実行される制御を示す第1のフローチャートである。
【図7】本発明の第1のデータ中継装置のデータコントローラにおいて実行される制御を示す第2のフローチャートである。
【図8】本発明の第1のデータ中継装置のデータコントローラにおいて実行される制御を示す第3のフローチャートである。
【図9】本発明の第1のデータ中継装置のデータコントローラにおいて実行される制御を示す第4のフローチャートである。
【図10】(A),(B)はそれぞれ本発明の第1のデータ中継装置の作動を示す図である。
【図11】(A)は上記データコントローラの設定を示す図であり、(B),(C)はそれぞれ変形例の設定を示す図である。
【図12】本発明のデータ中継装置および多重通信システムの変形例を示す構成図である。
【図13】本発明の第2のデータ中継装置および多重通信システムの構成図である。
【図14】本発明の第2のデータ中継装置のデータコントローラにおいて実行される制御を示すフローチャートである。
【図15】本発明の第3のデータ中継装置および多重通信システムの構成図である。
【図16】本発明の第3のデータ中継装置の送信データリストの構成を示す図である。
【図17】本発明の第3のデータ中継装置のデータコントローラにおいて実行される制御を示す第1のフローチャートである。
【図18】本発明の第3のデータ中継装置のデータコントローラにおいて実行される制御を示す第2のフローチャートである。
【図19】本発明の第3のデータ中継装置のデータコントローラにおいて実行される制御を示す第3のフローチャートである。
【図20】本発明の第3のデータ中継装置のデータコントローラにおいて実行される制御を示す第4のフローチャートである。
【図21】本発明の第3のデータ中継装置のデータコントローラにおいて実行される制御を示す第5のフローチャートである。
【図22】本発明の第3のデータ中継装置のデータコントローラにおいて実行される制御を示す第6のフローチャートである。
【図23】本発明の第4のデータ中継装置および多重通信システムの構成図である。
【図24】(A),(B),(C)はそれぞれ本発明の第4のデータ中継装置の送信データリストの構成を示す図である。
【図25】本発明の第4のデータ中継装置のデータコントローラにおいて実行される制御を示す第1のフローチャートである。
【図26】本発明の第4のデータ中継装置のデータコントローラにおいて実行される制御を示す第2のフローチャートである。
【図27】本発明の第4のデータ中継装置のデータコントローラにおいて実行される制御を示す第3のフローチャートである。
【図28】本発明の第4のデータ中継装置のデータコントローラにおいて実行される制御を示す第4のフローチャートである。
【図29】本発明の第4のデータ中継装置のデータコントローラにおいて実行される制御を示す第5のフローチャートである。
【図30】本発明の第4のデータ中継装置のデータコントローラにおいて実行される制御を示す第6のフローチャートである。
【図31】本発明のデータ中継装置および多重通信システムの別の変形例を示す構成図である。
【図32】従来のデータ中継装置および多重通信システムの代表例の構成図である。
【図33】通信データの本体の模式図である。
【符号の説明】
11,12,13 通信系
21,22,23 多重通信線
31,32,33 通信ノード
4,4A,4B,4C データ中継装置
411,412,413 受信バッファ
421,422,423 送信バッファ
43 バッファ群
431 バッファ
44,44A,44B,44C データコントローラ
441 バッファ指定手段
442,442A,442B,442C データ転送管理手段
45 転送先テーブル
46,461,462,463 送信データリスト[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data relay device and a multiple communication system.
[0002]
[Prior art]
In recent years, the advancement of information communication has progressed especially against the background of advances in computer technology. For example, even in automobiles, the amount of information exchanged between control units that control mounted electrical components has increased rapidly. Yes. Thus, multiple communication systems are being adopted to reduce the number of wire harnesses that transmit information. In a multiplex communication system, a communication node such as a control ECU that transmits and receives data is connected to a common multiplex communication line, and data communication is performed between the communication nodes via the multiplex communication line. The data is configured to include data type information and the like together with the data body, and the received communication node can understand the contents of the data. In the case of the above-mentioned automobiles and the like having various control types, as shown in FIG. 32, in order to perform data communication efficiently, as shown in FIG. 32,
[0003]
The
[0004]
[Problems to be solved by the invention]
By the way, in some data, not only the latest data but also the change itself of data input in time series has a meaning. In the example of FIG. 32, the meter ECU 932 lights and extinguishes the six
[0005]
FIG. 33 shows an example of the structure of the data body of this ON / OFF data. The shift positions from “P” to “L” correspond to the 1st to 6th bits, and each bit is It is “1” if is turned on, and “0” if it is turned off. When the driver moves the shift lever from “P” to “L” at a stroke in 5 steps to start the car, the
[0006]
If it is intended to transfer such data reliably, it is one idea to reset the priority as described above. However, if other types of data remain in the transmission buffer of the
[0007]
The present invention has been made in view of the above circumstances, and an object thereof is to provide a data relay device and a multiplex communication system that are highly resistant to data loss.
[0008]
According to the first aspect of the present invention, there is provided a data relay device that relays a plurality of types of data interposed between multiplex communication lines that transmit data including data type information together with the data body. In a data relay apparatus having a data controller that selects a multiplex communication line as a data relay destination and transfers received data,
A buffer that temporarily holds received data before transmission to the relay destination multiplex communication line is provided for each type of data to be relayed, and a plurality of buffers are assigned to one or more data types among the data types,
The data controller identifies a type of received data, and designates a buffer corresponding to the type as a write destination of the received data; and
In each multiplex communication line, the order in which the data from the same data type is transferred is the order in which the data is written in the buffer. Data transfer management means for managing the transfer of data from the buffer storing the data,
The data transfer management means is Starts up at a predetermined time interval, sequentially checks whether there is data to be transmitted in the buffer, and if there is data, transfers the data from the buffer, and checks whether there is data for a buffer of the same data type To perform only on the buffer that stores the data first Set.
[0009]
By providing a buffer for each data type, the buffer can be overwritten only by the latest data of the same type, and other types of data waiting for transmission can be prevented from being lost due to the received data.
[0010]
Furthermore, regarding the types of data to which a plurality of buffers are allocated, even if data is received in succession, these can be held simultaneously, and the resistance against data loss can be increased. In addition, data transfer from the buffer is performed at least when the selected multiplex communication lines are the same, since data is stored in the buffer from the earliest time. It is possible to surely prevent jumping over.
[0012]
By sequentially checking the presence / absence of data in the buffer, the existence of data to be transmitted is surely known from the buffer group, and the presence / absence of data for buffers of the same data type is first determined. Since the buffer storing the data first is checked, the data stored first can be transferred from the buffer prior to another buffer having the same data type.
[0013]
[0014]
By ensuring that the first data received among the same type of data always exists in the specified buffer, it is possible to ensure the presence of data to be transferred without checking the presence or absence of data for all buffers. Can be confirmed.
[0015]
The data transfer management means is set to update the transmission data list in accordance with the writing of data into the buffer and the transfer of data from the buffer.
[0016]
Even without checking the presence or absence of data in the buffer, the buffer storing the data to be transferred is known from the transmission data list, so that data can be relayed promptly.
[0017]
In addition, since the order in which data is transferred from the buffer is known for each multiplex communication line, data of the same data type is written to the buffer in succession, and a plurality of entries for the same data type are entered in the transmission data list. If the data is transferred from the buffer corresponding to one multiplex communication line and not transferred to another multiplex communication line, it corresponds to the one multiplex communication line. The buffer storing the data to be transferred next is known to be a buffer specified by the buffer information arranged next to the buffer information of the buffer storing the transmitted data. Thereby, it can avoid sending the same data accidentally.
[0018]
The data transfer management means is set so as to switch the management information to information indicating that data transmission is unnecessary in accordance with the transfer of data from the buffer.
[0019]
Since it is possible to centrally manage the transfer progress of each multiplex communication line with the buffer storing the data to be transferred, the transfer of the data stored in the buffer corresponds to the selected multiplex communication line. It is easy to know whether or not everything has been completed, and the control burden can be reduced.
[0020]
[0021]
DETAILED DESCRIPTION OF THE INVENTION
(First embodiment)
FIG. 1 shows a data relay apparatus and a multiple communication system according to the first embodiment of the present invention. The multiplex communication system is composed of a plurality of
[0022]
An example of the frame structure of the data is shown in FIG. This is a frame structure in the automobile BEAN (Body Electronics Area Network) protocol. In the following description, data communication will be described as following the BEAN protocol. SOF (Start Of Frame) represents the start of a frame and is assigned 1 bit. PRI (Priority) is an area representing the priority of a frame, and 4 bits are allocated. “1” has a higher priority than “0”. The
[0023]
The beginning of the message part is a DID (Destination ID), which is an area representing the destination node ID of the frame. MID (Message ID) is an area representing a message ID, and is assigned 8 bits. The MID is assigned for each type of data, and specifies the type of data represented by the content of DATA, which will be described later, which is the main body of the data. The type of data exchanged by communication includes the engine speed and the like, and for example, an MID is assigned to each as shown in FIG. In the example shown in the figure, DATA of communication data with MID = 08h represents engine speed, DATA of communication data with MID = A5h represents vehicle speed, and DATA of communication data with MID = DDh represents a power window switch. Represents the state. DATA is assigned 1 to 11 bytes in the area of the data body.
[0024]
DATA is followed by CRC (Cyclic Redundancy Characters), EOM (End Of Message), and RSP (Response). The CRC is a communication error check area, and is assigned 8 bits. In the CRC, the communication node substitutes the content from the PRI to DATA into a predetermined mathematical formula and writes a bit operation result, and the received communication node compares the received data with the received data to check a communication error. EOM represents the end of the message with a predetermined bit string and is assigned 8 bits. The RSP is an area in which a communication node that has received data writes a response, and is assigned 2 bits. In the RSP, a result indicating whether or not the content of the frame has been correctly interpreted by the received communication node is written, and from this, it is determined whether or not the communication node that transmitted the data needs to be retransmitted. The end of the data is EOF (End Of Frame), which represents the end of the frame by a predetermined bit string, and is assigned 6 bits.
[0025]
Each of the
[0026]
The
[0027]
Reception buffers 411 to 413 and
[0028]
The
[0029]
In the following description, the
[0030]
The
[0031]
The transfer destination table 45 associates the MID of the received data with the transmission buffers 421 to 423 for the relay destination multiplex communication line. When the MID and the
[0032]
FIG. 5 shows an example of the transfer destination table 45. If the read information is “1”, it should be transferred to the transmission buffer for the multiplex communication line. Indicates that data is not transferred to the transmission buffer for the communication line. In the illustrated example, data V with MID = 01h is transferred only to the
[0033]
Further, the
[0034]
In addition, in the case of an MID composed of a
[0035]
Thus, the received data is written into the
[0036]
The
[0037]
6, 7, 8, and 9 are flowcharts illustrating data transfer processing from the
[0038]
If written, the process proceeds to step S105 (FIG. 7). In step S105, it is confirmed whether or not the transfer destination flag is set for the data in the buffer n. The transfer destination flag is set for each of the
[0039]
If the transfer destination flag is not set, steps S106 and S107 are executed to set the transfer destination flag. In step S106, the MID of the data in the buffer n is confirmed. In step S107, the data transfer destination table 45 is referred to obtain the data transfer destination of the buffer n, and a transfer destination flag is set in the data in the buffer n. That is, the transfer destination flag f1 is set to “1” if it should be transferred to the
[0040]
When the transfer destination flag is set, the process proceeds to step S108 (FIG. 8). In step S108, the transfer destination flag f1 is confirmed. If “1”, the process proceeds to step S109. In step S109, it is confirmed whether or not the
[0041]
In step S112, it is confirmed whether or not the transfer destination flag f2 is “1”. If “1”, the process proceeds to step S113. In step S113, it is confirmed whether or not the
[0042]
In step S116, it is confirmed whether or not the transfer destination flag f3 is “1”. If “1”, the process proceeds to step S117. In step S117, it is confirmed whether or not the
[0043]
In step S120, it is determined whether the transfer destination flag f1 = 0, f2 = 0, and f3 = 0. If the determination is affirmative, it means that the data transfer to the transmission buffers 421 to 423 to be transferred is completed, and the data in the buffer n is deleted in step S121. In the case of an MID to which a plurality of
[0044]
In a succeeding step S122, it is determined whether or not the buffer n has a multi-stage configuration, that is, a MID to which a plurality of
[0045]
FIGS. 10A and 10B show the transfer processing from the
[0046]
Then, it progresses to step S103 (FIG. 6). If step S122 is negative, it means a single buffer configuration, and step S123 is skipped and the process proceeds to step S103.
[0047]
In step S103, it is determined whether or not n is an end buffer #. If n ≠ end buffer #, n is incremented by one step in step S104, and the process returns to step S102, and step S102 is performed for buffer n of the next buffer #. , S108 to S123 are executed. In this way, the
[0048]
In the above data transfer processing, if at least one of steps S109, S113, and S117 is denied because the transmission buffers 421 to 423 hold data and are waiting for transmission, steps S110, S111, S114, Steps S115 and S118, S119 are skipped, and any one of the transfer destination flags f1, f2, and f3 remains “1”. Therefore, step S120 is denied, step S121 is skipped, and the data in buffer n is held as it is. That is, it waits for the transfer destination transmission buffers 421 to 423 to become empty. In this case, in the next data transfer process, step S105 to step S106, S107 are skipped and steps S108 to S119 are executed. Therefore, the data that could not be transferred is transferred.
[0049]
If the state of waiting for the destination transmission buffers 421 to 423 to become empty continues, the transfer from the
[0050]
In addition, if the data on whether the indicator at the shift position is turned on or off is received by the
[0051]
Moreover, the number of
[0052]
Further, since the
[0053]
Note that the
[0054]
Each time the
[0055]
Note that the presence / absence of data in the
[0056]
In this case, as shown in FIG. 12, the transmission buffers 421 to 423 (421 in the example) are configured in a plurality of stages to process data in the FIFO type, and transmitted to the
[0057]
(Second Embodiment)
FIG. 13 shows the configuration of a data relay device and a multiple communication system according to the second embodiment of the present invention. The
[0058]
FIG. 14 shows data transfer processing from the
[0059]
In the next step S204, n is set as the start buffer #, and in step S205, it is confirmed whether or not data is written in the buffer n. If it is written, the data is written by the same procedure as in FIGS. The transfer process is performed for the buffer n, and the process proceeds to step S206. If not written (step S205), the process proceeds to step S206 as it is.
[0060]
In step S206, it is confirmed whether or not n is an end buffer #. If n is not an end buffer #, steps S207 and S208 are executed, and then the procedure of the above-described step S205 is executed and the
[0061]
In this data transfer process, the start buffer # and the end buffer # are sequentially shifted every time one search is performed, so that it is possible to prevent the degree of delay in data transfer between MIDs from being biased. it can. For example, in the example of FIGS. 4 and 5, the data transferred to the second
[0062]
In this data transfer process, the initial value of the start buffer # when the
[0063]
(Third embodiment)
FIG. 15 shows a data relay device and a multiple communication system according to the third embodiment of the present invention. The difference from the first embodiment will be mainly described.
[0064]
The
[0065]
From the
[0066]
The
[0067]
Data transfer processing executed by the
[0068]
Data transfer processing to the
[0069]
In step S300, it is confirmed whether the
[0070]
In step S304, the buffer information acquired in steps S301 to S303 and the initial value of the transfer destination management flag are added to the end of the
[0071]
In the subsequent step S305, the data in the
[0072]
In step S306, it is confirmed whether or not the
[0073]
Next, in step S310, the
[0074]
In step S312, it is confirmed whether or not the
[0075]
Next, in step S316, the
[0076]
Next, data transfer processing from the
[0077]
In step S400, it is confirmed whether or not the
[0078]
In subsequent step S405, other transfer destination management flags of the data for which the transfer destination management flag has been cleared, that is, transfer destination management flags for the second and third multiplex communication lines, are checked, and all transfer destination management flags are set to “ If it is “0”, the information (buffer information and transfer destination management flag) of data that has been transmitted to the
[0079]
As described above, data is transferred from the
[0080]
In steps S408 to S415, the same procedure as in steps S400 to S407 is performed for the
[0081]
Next, in step S413, other transfer destination management flags for the transferred data, that is, transfer destination management flags for the first and third multiplex communication lines are confirmed, and all transfer destination management flags are “0”. If so, in step S414, the information on the data that has been transmitted to the
[0082]
In steps S416 to S423, the same procedure as in steps S400 to S407 is performed for the
[0083]
Next, in step S421, other transfer destination management flags for the transferred data, that is, transfer destination management flags for the first and second multiplex communication lines are confirmed, and all transfer destination management flags are “0”. If so, in step S422, the information of the data that has been transmitted to the
[0084]
The data transfer process of the
[0085]
(Fourth embodiment)
FIG. 23 shows a data relay device and a multiple communication system according to the fourth embodiment of the present invention. The difference from the third embodiment will be mainly described.
[0086]
In the
[0087]
The
[0088]
Data transfer processing executed by the
[0089]
The data transfer process to the
[0090]
In step S500, it is confirmed whether or not the
[0091]
In a succeeding step S504, it is confirmed whether or not the acquired transfer destination has the
[0092]
In step S508, the data in the
[0093]
In step S509, it is confirmed whether or not the
[0094]
In a succeeding step S513, it is confirmed whether or not the acquired transfer destination has the
[0095]
In step S517, the data in the
[0096]
In step S518, it is confirmed whether or not the
[0097]
In a succeeding step S522, it is confirmed whether or not the acquired transfer destination has the
[0098]
In step S526, the data in the
[0099]
Next, data transfer processing from the
[0100]
In step S600, it is confirmed whether or not the
[0101]
In subsequent step S605, it is determined whether there is the same buffer information deleted in step S604 in the second and third multiplex communication line transmission data lists 642, 643. If the determination is negative, step S606 is performed. In step S603, the data is deleted from the
[0102]
In steps S607 to S613, the same procedure as in steps S600 to S606 is performed for the
[0103]
Next, if the first and third multiplex communication line transmission data lists 641 and 643 do not have the same buffer information deleted in step S611 (step S612), the buffer in which the data that has been transferred in step S610 is stored. Data is deleted from 431 (step S613), and the process proceeds to step S614 (FIG. 30).
[0104]
In steps S614 to S620, the same procedure as in steps S600 to S606 is performed for the
[0105]
Next, if the first and second multiplex communication line transmission data lists 641 and 642 do not have the same buffer information deleted in step S618 (step S619), the buffer in which the data transferred in step S617 is stored is stored. Data is deleted from 431 (step S620), and the transfer processing from the
[0106]
The data transfer process of the
[0107]
Even if the data with the same MID = C8h is transmitted, even if the data of the first transmission order in the
[0108]
As a result, as in the third embodiment, the
[0109]
In addition, since the transmission data lists 461 to 463 are arranged in the order in which the buffer information is transferred for each of the
[0110]
In addition, for some MIDs, such as C8h in the illustrated example, by assigning a plurality of
[0111]
In each of the above embodiments, data is overwritten when data is received and the buffer is not empty. However, the data controller temporarily holds the transfer to the buffer while holding the data in the reception buffer. You may set as follows. Overwriting can be avoided if the buffer is free in the meantime. In this case, as shown in FIG. 31, a plurality of
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a first data relay device and a multiple communication system according to the present invention.
FIG. 2 is a diagram showing a frame structure of communication data of the first data relay device and the multiple communication system of the present invention.
FIG. 3 is a diagram showing a correspondence relationship between types of communication data and their MIDs in the first data relay device and the multiple communication system of the present invention.
FIG. 4 is a schematic diagram of a buffer of the first data relay device of the present invention.
FIG. 5 is a diagram showing a correspondence relationship between data in the transfer destination table of the first data relay apparatus of the present invention and the transfer destination;
FIG. 6 is a first flowchart showing control executed in the data controller of the first data relay apparatus of the present invention.
FIG. 7 is a second flowchart showing the control executed in the data controller of the first data relay apparatus of the present invention.
FIG. 8 is a third flowchart showing the control executed in the data controller of the first data relay apparatus of the present invention.
FIG. 9 is a fourth flowchart showing the control executed in the data controller of the first data relay apparatus of the present invention.
FIGS. 10A and 10B are diagrams showing the operation of the first data relay device of the present invention, respectively.
FIGS. 11A and 11B are diagrams showing settings of the data controller, and FIGS. 11B and 11C are diagrams showing settings of modified examples, respectively.
FIG. 12 is a block diagram showing a modification of the data relay device and multiplex communication system of the present invention.
FIG. 13 is a configuration diagram of a second data relay device and a multiple communication system according to the present invention.
FIG. 14 is a flowchart showing the control executed in the data controller of the second data relay apparatus of the present invention.
FIG. 15 is a configuration diagram of a third data relay device and a multiple communication system according to the present invention.
FIG. 16 is a diagram showing a configuration of a transmission data list of the third data relay apparatus of the present invention.
FIG. 17 is a first flowchart showing control executed in the data controller of the third data relay device of the present invention;
FIG. 18 is a second flowchart showing the control executed in the data controller of the third data relay apparatus of the present invention.
FIG. 19 is a third flowchart showing the control executed in the data controller of the third data relay apparatus of the present invention.
FIG. 20 is a fourth flowchart showing the control executed in the data controller of the third data relay apparatus of the present invention.
FIG. 21 is a fifth flowchart showing the control executed in the data controller of the third data relay apparatus of the present invention.
FIG. 22 is a sixth flowchart showing the control executed in the data controller of the third data relay apparatus of the present invention.
FIG. 23 is a block diagram of a fourth data relay apparatus and multiple communication system according to the present invention.
FIGS. 24A, 24B, and 24C are diagrams showing the configuration of a transmission data list of the fourth data relay apparatus of the present invention, respectively.
FIG. 25 is a first flowchart showing the control executed in the data controller of the fourth data relay apparatus of the present invention.
FIG. 26 is a second flowchart showing the control executed in the data controller of the fourth data relay apparatus of the present invention.
FIG. 27 is a third flowchart showing the control executed in the data controller of the fourth data relay apparatus of the present invention.
FIG. 28 is a fourth flowchart showing the control executed in the data controller of the fourth data relay apparatus of the present invention.
FIG. 29 is a fifth flowchart showing the control executed in the data controller of the fourth data relay apparatus of the present invention.
FIG. 30 is a sixth flowchart showing the control executed in the data controller of the fourth data relay apparatus of the present invention.
FIG. 31 is a block diagram showing another modification of the data relay device and multiplex communication system of the present invention.
FIG. 32 is a configuration diagram of a typical example of a conventional data relay device and multiple communication system.
FIG. 33 is a schematic diagram of a main body of communication data.
[Explanation of symbols]
11, 12, 13 Communication system
21, 22, 23 Multiple communication lines
31, 32, 33 Communication node
4,4A, 4B, 4C Data relay device
411, 412 and 413 receive buffer
421, 422, 423 transmission buffer
43 Buffers
431 buffers
44, 44A, 44B, 44C Data controller
441 Buffer designation means
442, 442A, 442B, 442C Data transfer management means
45 Destination table
46,461,462,463 transmission data list
Claims (5)
受信データを中継先の多重通信線に送信する前に一時保持するバッファを、中継されるデータの種類ごとに設けるとともに、データ種類のうち1以上のデータ種類については複数のバッファを割り当て、
上記データコントローラには、受信したデータの種類を識別し、その種類に対応するバッファを、受信したデータの書き込み先として指定するバッファ指定手段と、
各多重通信線において、データ種類が同一のバッファからのデータを転送する順番が、バッファにデータが書き込まれた順番となるように、データが格納されたバッファからのデータの転送を管理するデータ転送管理手段とを具備せしめ、
該データ転送管理手段を、所定の時間間隔で立ち上がり、順次、上記バッファ内の送信するデータの有無を確認してデータがあればバッファからデータを転送するように、かつ、データ種類が同一のバッファについてのデータの有無の確認を、最先にデータが格納されたバッファのみについて行うように設定したことを特徴とするデータ中継装置。A data relay device for relaying a plurality of types of data, which is interposed between multiplex communication lines for transmitting data including data type information together with the data body, and a multiplex communication line to which received data is relayed In a data relay apparatus having a data controller that selects and transfers received data,
A buffer that temporarily holds received data before transmission to the relay destination multiplex communication line is provided for each type of data to be relayed, and a plurality of buffers are assigned to one or more data types among the data types,
The data controller identifies a type of received data, and designates a buffer corresponding to the type as a write destination of the received data; and
Data transfer that manages the transfer of data from the buffer in which the data is stored so that the order in which the data from the same type of data is transferred in each multiplex communication line is the order in which the data is written to the buffer Management means,
The data transfer management means rises at a predetermined time interval, sequentially checks whether or not there is data to be transmitted in the buffer, and transfers data from the buffer if there is data. A data relay device characterized in that the presence or absence of data is set to be checked only for the buffer storing the data first .
上記データ転送管理手段を、データのバッファへの書き込みおよびバッファからのデータの転送に応じて上記送信データリストを更新するように設定したデータ中継装置。2. The data relay device according to claim 1, comprising buffer information for identifying a buffer in which data is stored, wherein the order of the buffer information in the same selected multiplex communication line is the order in which the data is transferred from the buffer. Provide a list,
A data relay apparatus in which the data transfer management means is set to update the transmission data list in response to writing of data into a buffer and transfer of data from the buffer .
上記データ転送管理手段を、バッファからのデータの転送に応じて、管理情報をデータの送信が不要である旨の情報に切り換えるように設定したデータ中継装置。4. The data relay device according to claim 3, wherein the transmission data list is stored in the buffer by providing an initial value for each multiplex communication line based on buffer information for specifying a buffer and the transfer destination table. And management information on whether or not to transfer,
A data relay apparatus in which the data transfer management means is set to switch the management information to information indicating that data transmission is unnecessary in accordance with the transfer of data from the buffer .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001121320A JP3789769B2 (en) | 2001-04-19 | 2001-04-19 | Data relay apparatus and multiplex communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001121320A JP3789769B2 (en) | 2001-04-19 | 2001-04-19 | Data relay apparatus and multiplex communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002319958A JP2002319958A (en) | 2002-10-31 |
JP3789769B2 true JP3789769B2 (en) | 2006-06-28 |
Family
ID=18971221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001121320A Expired - Lifetime JP3789769B2 (en) | 2001-04-19 | 2001-04-19 | Data relay apparatus and multiplex communication system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3789769B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006340099A (en) * | 2005-06-02 | 2006-12-14 | Denso Corp | Gateway unit |
JP2007336179A (en) * | 2006-06-14 | 2007-12-27 | Auto Network Gijutsu Kenkyusho:Kk | In-vehicle database system |
JP4886420B2 (en) * | 2006-08-08 | 2012-02-29 | 株式会社オートネットワーク技術研究所 | Relay connection unit |
JP4799351B2 (en) * | 2006-09-29 | 2011-10-26 | 株式会社オートネットワーク技術研究所 | In-vehicle communication method, in-vehicle communication system, and relay device |
JP5222002B2 (en) * | 2008-04-03 | 2013-06-26 | 株式会社オートネットワーク技術研究所 | In-vehicle relay connection unit |
JP5131020B2 (en) * | 2008-05-09 | 2013-01-30 | 株式会社デンソー | Relay device, network system, and program |
US9485113B2 (en) | 2013-10-11 | 2016-11-01 | Ge Aviation Systems Llc | Data communications network for an aircraft |
-
2001
- 2001-04-19 JP JP2001121320A patent/JP3789769B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002319958A (en) | 2002-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3445183B2 (en) | Data relay device and multiplex communication system | |
JP3789769B2 (en) | Data relay apparatus and multiplex communication system | |
JP6961063B2 (en) | Network hub, transfer method and in-vehicle network system | |
EP0498995A2 (en) | Data transfer control system | |
US11340888B2 (en) | Relay device and external device | |
US9665514B2 (en) | Integrated circuit having a bus network, and method for the integrated circuit | |
EP1030482B1 (en) | Data repeater and multiplex communication system using the same | |
EP3641230B1 (en) | Control apparatus | |
JP2008005290A (en) | Relay connecting unit, and electronic control unit | |
JP4574377B2 (en) | Data processing module and method for managing transmitted / received messages thereof | |
CN112787901B (en) | Network hub, forwarding method and vehicle-mounted network system | |
JP2009089286A (en) | Relay connection unit | |
EP1175046A2 (en) | Buffer unit and switching apparatus | |
JP2004350138A (en) | Data relaying apparatus and multiplex communication system | |
US20080117924A1 (en) | Data relay unit | |
US6374319B1 (en) | Flag-controlled arbitration of requesting agents | |
JP2002149535A (en) | System, device and method for file transfer and recording medium recorded with file transfer program | |
JP2002236659A (en) | Electronic control device for vehicle | |
CN113141300B (en) | Communication gateway for transmitting data frames for motor vehicles | |
JP6900254B2 (en) | In-vehicle network relay device and relay method | |
KR100527158B1 (en) | Half Duplex Communication Method | |
JP2004240679A (en) | Computer control system, and method for rewriting software | |
CN112440906B (en) | Vehicle control system, vehicle control method, and storage medium | |
JP4799351B2 (en) | In-vehicle communication method, in-vehicle communication system, and relay device | |
JP2745617B2 (en) | Transmission order control method for remote monitoring control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20031209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051101 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051228 |
|
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: 20060328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060329 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3789769 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100407 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100407 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110407 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140407 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |