JP2014036417A - 処理装置、ネットワークシステム、及び通信制御プログラム - Google Patents

処理装置、ネットワークシステム、及び通信制御プログラム Download PDF

Info

Publication number
JP2014036417A
JP2014036417A JP2012178386A JP2012178386A JP2014036417A JP 2014036417 A JP2014036417 A JP 2014036417A JP 2012178386 A JP2012178386 A JP 2012178386A JP 2012178386 A JP2012178386 A JP 2012178386A JP 2014036417 A JP2014036417 A JP 2014036417A
Authority
JP
Japan
Prior art keywords
bus
data
gateway device
output
communication
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
JP2012178386A
Other languages
English (en)
Inventor
Masahiko Shinagawa
昌彦 品川
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2012178386A priority Critical patent/JP2014036417A/ja
Publication of JP2014036417A publication Critical patent/JP2014036417A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】処理装置が、より確実に特定のデータの中継をゲートウェイ装置に行わせること。
【解決手段】ゲートウェイ装置がデータを中継し、優先度に基づく通信調停が行われる複数のバスのうち一のバスにデータを出力する出力部と、前記出力部を制御する制御部であって、前記出力部に、前記ゲートウェイ装置を通過する特定のデータを前記バスに出力させる際に、前記ゲートウェイ装置を通過しないダミーデータを前記バスに出力させる制御部と、を備える処理装置。
【選択図】図7

Description

本発明は、処理装置、ネットワークシステム、及び通信制御プログラムに関する。
従来、ECU(Electronic Control Unit)等の処理装置が複数個、バスに接続された構成のネットワークシステムが普及している。こうしたネットワークシステムにおける複数のECUは、それぞれが自己に割り当てられた情報処理を行い、処理結果をバスに出力して他のECUに提供することができる。
また、ネットワークシステムにおいて、通信速度やプロトコルが異なる(これらが同じであることもあり得る)バスが二系統以上存在する場合に、それぞれのバスに接続された処理装置群の通信を中継するゲートウェイ装置が知られている。
これに関連し、優先度による調停が行われるバスに接続されたゲートウェイ装置が知られている(例えば、特許文献1参照)。このゲートウェイ装置は、原則としてIDコードの優先度に従ってデータをバスに出力するが、優先度の低いデータについても待ち時間が設定時間を超過した場合には優先的に出力する処理を行う。
また、ネットワーク間を接続するネットワーク接続装置が知られている(例えば、特許文献2参照)。このネットワーク接続装置は、ネットワーク1からネットワーク2にデータを中継しようとする際に、自己のバッファの残り量が設定値よりも少なくなると、ネットワーク1にダミーデータを送出して、ネットワーク2に中継すべきデータの入力を抑止し、バッファあふれを防止する。
特開2007−36907号公報 特開平8−328981号公報
しかしながら、上記各特許文献に記載の技術は、ゲートウェイ装置自己が、データの中継を、より確実に行うためのものであり、ゲートウェイ装置に中継を依頼する処理装置側で何らかの動作を行うものではない。このため、処理装置が、例えば特定のデータを通常のデータよりも確実に、ゲートウェイ装置に中継させる必要があったとしても、処理装置側で何らかのアクションを起こすことができない。
一つの側面によれば、処理装置が、より確実に特定のデータの中継をゲートウェイ装置に行わせることを目的とする。
上記目的を達成するための本発明の一態様は、
ゲートウェイ装置がデータを中継し、優先度に基づく通信調停が行われる複数のバスのうち一のバスにデータを出力する出力部と、
前記出力部を制御する制御部であって、前記出力部に、前記ゲートウェイ装置を通過する特定のデータを前記バスに出力させる際に、前記ゲートウェイ装置を通過しないダミーデータを前記バスに出力させる制御部と、
を備える処理装置である。
この本発明の一態様によれば、処理装置が、より確実に特定のデータの中継をゲートウェイ装置に行わせることができる。
本発明の一態様において、
前記ダミーデータは、固定の優先度を有するものとして前記バスに出力されるものとしてもよい。
この場合、
前記ダミーデータは、前記出力部がデータを出力するバスを流れるデータの中で、最高優先度を有するものとして前記バスに出力されるものとしてもよい。
本発明の一態様において、
前記制御部は、前記出力部に、前記ゲートウェイ装置を通過しないダミーデータを、前記特定のデータの前後に前記バスに出力させるものとしてもよいし、前記制御部は、前記出力部に、前記ゲートウェイ装置を通過しないダミーデータを、前記特定のデータの前に前記バスに出力させるものとしてもよいし、前記制御部は、前記出力部に、前記ゲートウェイ装置を通過しないダミーデータを、前記特定のデータの後に前記バスに出力させるものとしてもよい。
本発明の他の態様は、
ゲートウェイ装置がデータを中継し、優先度に基づく通信調停が行われる複数のバスのうち一のバスに接続された処理装置であって、
規定回数以上、バスへのデータの出力ができなかった場合に、前記バスに流れるデータがゲートウェイ装置を通過しないダミーデータであるか否かを判定し、前記バスに流れるデータがゲートウェイ装置を通過しないダミーデータでない場合には通信に関する設定を初期化する処理を行い、前記バスに流れるデータがゲートウェイ装置を通過しないダミーデータである場合には前記通信に関する設定を初期化する処理を行わない、
処理装置である。
また、本発明の他の態様は、
複数のバスと、
前記複数のバスを中継するゲートウェイ装置と、
前記複数のバスのいずれかに接続され、優先度による通信調停を行って前記バスにデータを出力する複数の処理装置と、
を備え、
前記複数の処理装置のうち少なくとも一部は、前記ゲートウェイ装置を通過する特定のデータを前記バスに出力する際に、前記ゲートウェイ装置を通過しないダミーデータを前記バスに出力する、
ネットワークシステムである。
この場合、
前記複数の処理装置のうち少なくとも一部は、規定回数以上、バスへのデータの出力ができなかった場合に、前記バスに流れるデータが前記ゲートウェイ装置を通過しないダミーデータであるか否かを判定し、前記バスに流れるデータが前記ゲートウェイ装置を通過しないダミーデータでない場合には通信に関する設定を初期化する処理を行い、前記バスに流れるデータが前記ゲートウェイ装置を通過しないダミーデータである場合には前記通信に関する設定を初期化する処理を行わないものとしてもよい。
また、本発明の他の態様は、
ゲートウェイ装置がデータを中継し、優先度に基づく通信調停が行われる複数のバスのうち一のバスに接続された処理装置に、
バスに出力しようとするデータが、前記ゲートウェイ装置を通過する特定のデータであるか否かを判定させ、
前記バスに出力しようとするデータが、前記ゲートウェイ装置を通過する特定のデータである場合に、前記ゲートウェイ装置を通過しないダミーデータを前記バスに出力させる、
通信制御プログラムである。
また、本発明の他の態様は、
ゲートウェイ装置がデータを中継し、優先度に基づく通信調停が行われる複数のバスのうち一のバスに接続された処理装置に、
規定回数以上、バスへのデータの出力ができなかった場合に、前記バスに流れるデータがゲートウェイ装置を通過しないダミーデータであるか否かを判定させ、
前記バスに流れるデータがゲートウェイ装置を通過しないダミーデータでない場合には通信に関する設定を初期化する処理を行わせ、前記バスに流れるデータがゲートウェイ装置を通過しないダミーデータである場合には前記通信に関する設定を初期化する処理を行わせない、
通信制御プログラムである。
一実施態様によれば、処理装置が、より確実に特定のデータの中継をゲートウェイ装置に行わせることができる。
一実施例に係るネットワークシステム1の構成例である。 ECU30の構成例である。 各ECUがバスに出力するフレームの形式例である。 ゲートウェイ装置40の構成例である。 ゲートウェイ装置40内においてフレームが滞留するという現象を模式的に示す図である。 特定のフレームF*の前後にダミーフレームDFがバスに出力される様子を示す図である。 ダミーフレームの出力に関してECU30により実行される処理の流れを示すフローチャートである。 通信イニシャライズ処理に関してECU30により実行される処理の流れを示すフローチャートである。 通信イニシャライズ処理に関してECU30により実行される処理の流れを示すフローチャートの他の例である。
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
以下、図面を参照し、本発明の処理装置、ネットワークシステム、及び通信制御プログラムの実施例について説明する。
[全体構成]
図1は、一実施例に係るネットワークシステム1の構成例である。ネットワークシステム1は、バス10に接続されたECU30#0、30#1と、バス20に接続されたECU30#2、30#3、30#4と、バス10及びバス20に接続されたゲートウェイ装置40とを備える。なお、特許請求の範囲における「処理装置」は、例えば「ECU」に対応する。
バス10及びバス20では、例えば、CAN(Controller Area Network)に基づく通信が行われ、各ECUは、バスを流れるデータを取得することができる。バス10及びバス20は、例えば、ツイストペアケーブルであり、差動電圧方式によって信号を伝達する。
[ECU]
図2は、各ECU(以下、ECUを区別しないときはECU30と表記して説明する)の構成例である。なお、各ECUのうち一部が、図2に示す構成、又は以下に説明する機能の一部を備えないものとしても構わない。
ECU30は、例えば、CPU(Central Processing Unit)31と、CPU31が実行するプログラムを格納したプログラムメモリ32と、ワーキングメモリとして機能するRAM(Random Access Memory)33と、周辺機器とのインターフェースとなる周辺I/O34と、CANコントローラ35と、CANトランシーバ36とを備える。
プログラムメモリ32は、例えば、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)、HDD(Hard Disk Drive)等であり、制御アプリ32A、通信ミドルウェア32B、CANドライバ32C等のプログラムを格納する。
制御アプリ32Aは、各ECUに割り当てられた制御を行うためのプログラムである。例えば、ネットワークシステム1が車両に搭載される場合、制御アプリ32Aは、例えば、エンジン制御を実行するためのプログラム、ブレーキ制御を実行するためのプログラム、ステアリング制御を実行するためのプログラム、空調制御を実行するためのプログラム等である。ECU30は、制御アプリ32Aが制御演算を行った結果を、例えば周期的にバスに出力する。
通信ミドルウェア32Bは、例えば、制御アプリ32Aから送信処理要求を受けたデータをCANドライバ32Cに対応した形式に変換し、CANドライバ32Cに出力する。また、通信ミドルウェア32Bは、CANドライバ32Cから入力されるデータを受け付け、制御アプリ32Aが解釈可能な形式に変換等を行なって制御アプリ32Aに出力する。
RAM33には、送信バッファ33Aと受信バッファ33Bが設定される。
CANコントローラ35は、プロトコルコントローラや、CPUクロックを分周する分周器等を備える。CANコントローラ35は、CANトランシーバ36を介して、バス10又はバス20との間で種々のデータを送受信する。
CANコントローラ35は、バスにデータ(フレーム)を出力する際には、送信バッファ33Aに格納されたフレームを、NRZ(Non‐Return‐to‐Zero)方式でシリアルの送信信号に変換し、CANトランシーバ36に出力する。CANコントローラ35は、変換後の信号が"0(ドミナント)"のビットには論理レベルがLowの電圧を出力し、"1(リセッシブ)"のビットには論理レベルがHighの電圧を出力する。
CANトランシーバ36は、CANコントローラ35から取得した送信信号を差動電圧に変換してバスに出力する。また、CANトランシーバ36は、バスからデータを取得する際には、バスの差動電圧を読み取り、所定の電圧範囲に含まれるように整形した受信信号をCANコントローラ35に出力する。CANコントローラ35の受信端子Rxにはコンパレータが取り付けられており、所定の閾値電圧とCANトランシーバ36からの受信信号とを比較して"1"、"0"のデジタルデータを生成して受信バッファ33Bに格納する。
図3は、各ECUがバスに出力するフレームの形式例である。1回の送信において出力されるフレームは、フレームの開始を表すスタートオブフレーム(SOF)、データの識別子であるID、データフレームとリモートフレームを識別するためのリモートトランスミッションリクエスト(RTR)、データのバイト数等を表すコントロールフィールド、転送するデータの実体であるデータフィールド、フレームの誤りをチェックするためのCRCを付加するCRCシーケンス、正しいメッセージを受信したユニットからの通知(ACK)を受けるACKスロット及びACKデリミタ、フレームの終了を表すエンドオブフレーム(EOF)等を含む。
バス10及びバス20では、IDとRTRにより表される優先度に基づく通信調停が行われる。複数のECUから同時にフレームが送信される場合、各ECUは、自己が送信したデータとバス状態をモニターした結果を比較する。ここで、リセッシブとドミナントが別々のECUから同時に送信された場合、ドミナントが優先され、バスの状態はドミナントとなる。このとき、リセッシブを送信したノードは自己が送信したものとバス状態の違いにより、通信調停に負けたと判断して送信を停止する。係る原理により、複数のECUから同時にフレームが送信開始された場合、他ノードがリセッシブ送信を行っているときにドミナントを送信したノードが通信調停に勝つことになるので、IDの値が小さいフレームほど、優先度が高いということになる。優先度すなわちIDは、例えば、ECU毎に固有の値が割り当てられる。
[ゲートウェイ装置]
図4は、ゲートウェイ装置40の構成例である。ゲートウェイ装置40は、例えば、CPU41と、CPU41が実行するプログラムを格納したプログラムメモリ42と、ワーキングメモリとして機能するRAM43と、バス10に対応するCANコントローラ44及びCANトランシーバ45と、バス20に対応するCANコントローラ46及びCANトランシーバ47とを備える。
プログラムメモリ42は、例えばROM、EEPROM、HDD等であり、中継制御プログラム42A、通信ミドルウェア42B、CANドライバ42C等のプログラムを格納する。中継制御プログラム42Aの機能については後述する。通信ミドルウェア42BやCANドライバ42Cの基本的機能についてはECU30と同様である。
RAM43には、送信バッファ(10側)43A及び受信バッファ(10側)43Bと、送信バッファ(20側)43C及び受信バッファ(20側)43Dと、ID毎バッファ43E#0、43E#1、…43E#k(kは中継を行うフレームに対応したIDの数)と、が設定される
CANコントローラ44は、CANトランシーバ45を介して、バス10との間で種々のデータを送受信する。CANコントローラ44は、バスにフレームを出力する際には、送信バッファ(10側)43Aに格納されたフレームをシリアルの送信信号に変換し、CANトランシーバ45に出力する。CANコントローラ44は、変換後の信号が"0(ドミナント)"のビットには論理レベルがLowの電圧を出力し、"1(リセッシブ)"のビットには論理レベルがHighの電圧を出力する。
CANトランシーバ45は、CANコントローラ44から取得した送信信号を差動電圧に変換してバスに出力する。また、CANトランシーバ45は、バスからデータを取得する際には、バスの差動電圧を読み取り、所定の電圧範囲に含まれるように整形した受信信号をCANコントローラ44に出力する。CANコントローラ44の受信端子Rxにはコンパレータが取り付けられており、所定の閾値電圧とCANトランシーバ45からの受信信号とを比較して"1"、"0"のデジタルデータを生成して受信バッファ(10側)43Bに格納する。
同様に、CANコントローラ46は、CANトランシーバ47を介して、バス20との間で種々のデータを送受信する。CANコントローラ46は、バスにフレームを出力する際には、送信バッファ(20側)43Cに格納されたフレームをシリアルの送信信号に変換し、CANトランシーバ47に出力する。CANコントローラ46は、変換後の信号が"0(ドミナント)"のビットには論理レベルがLowの電圧を出力し、"1(リセッシブ)"のビットには論理レベルがHighの電圧を出力する。
CANトランシーバ47は、CANコントローラ46から取得した送信信号を差動電圧に変換してバスに出力する。また、CANトランシーバ47は、バスからデータを取得する際には、バスの差動電圧を読み取り、所定の電圧範囲に含まれるように整形した受信信号をCANコントローラ46に出力する。CANコントローラ46の受信端子Rxにはコンパレータが取り付けられており、所定の閾値電圧とCANトランシーバ47からの受信信号とを比較して"1"、"0"のデジタルデータを生成して受信バッファ(20側)43Dに格納する。
受信バッファ(10側)43Aにフレームが格納されると、割り込みが発生し、中継制御プログラム42Aが動作する。中継制御プログラム42Aを実行するCPU41は、受信バッファ(10側)43Bに格納されたフレームのIDを参照し、バス20側に中継すべきフレームであるか否かを判定する。そして、バス20側に中継すべきフレームである場合は、ID毎バッファ43EのうちIDに対応するものに当該フレームを移動させ、バス20側に中継すべきフレームでない場合は、受信バッファ(10側)43Bから削除する。
また、CPU41は、受信バッファ(20側)43Dに格納されたフレームのIDを参照し、バス10側に中継すべきフレームであるか否かを判定する。そして、バス10側に中継すべきフレームである場合は、ID毎バッファ43EのうちIDに対応するものに当該フレームを移動させ、バス10側に中継すべきフレームでない場合は、受信バッファ(20側)43Dから削除する。
なお、このような中継有無の判定機能を、CANコントローラやCANトランシーバが備えるものとしてもよい。この場合、受信バッファ(10側)43Bや受信バッファ(20側)43Dには、他のバスに中継すべきフレームのみが格納される。
そして、CPU41は、ID毎バッファ43Eに格納されたフレームを、所定のアルゴリズムに基づく順序で、送信バッファ(10側)43A又は送信バッファ(20側)43Cに移動させる。これによって、CANコントローラ44により、送信バッファ(10側)43Aに格納されたフレームがバス10に出力され、CANコントローラ46により、送信バッファ(20側)43Aに格納されたフレームがバス20に出力される。
ここで、出力順を決定するための所定のアルゴリズムについては任意に決定することができる。例えば、簡易な例では、CPU41は、バスに中継すべき全てのフレームについて単にFIFO(First In, First Out)に従って出力順を決定してもよい。また、CPU41は、IDにより決定される優先度に応じて出力順を修正してもよい。後者の場合、待ち時間が一定時間以上となったフレームを優先的に出力するようにしてもよい。
[ゲートウェイ装置におけるフレームの滞留]
ゲートウェイ装置40は、ECU30と同様、バス10又は20における通信調停に従う。すなわち、中継するデータのID及びRTRにより表される優先度に従って、バス10又はバス20にデータを出力する。
従って、ゲートウェイ装置40内においてフレームが滞留するという現象が生じ得る。図5は、ゲートウェイ装置40内においてフレームが滞留するという現象を模式的に示す図である。特に、ゲートウェイ装置40のCPU41が、バスに中継すべき全てのフレームについて単にFIFOに従って出力順を決定する場合に、係る現象は生じやすいものとなる。図5に示すように、バス10側に中継されるフレームのうち、出力順が最も早い先頭のフレームAの優先度が低ければ、後続のフレームB、Cの優先度が高いものであっても、フレームAがバス10における通信調停に負け続ける結果、フレームA、B、Cの全てが長い時間、中継待ちとなる可能性がある。
このような現象が続くと、フレームA、B、CのいずれかとIDが同じフレームが例えばバス20からゲートウェイ装置40に入力されると、ID毎バッファ43Eのうち該当するIDに対応するものにフレームが蓄積されることになる。ID毎バッファ43Eとして十分な領域が確保されていれば、中継待ちによって処理が遅延すること以外の問題は生じないが、特に各種装置に組み込まれる組込コンピュータにおいては、リソースを無制限に使用するのは難しいというのが実際のところである。特にリソース制限が厳しい装置に適用された場合、ID毎バッファ43Eの各IDに対応した領域が1フレーム分しかないということもあり得る。この結果、ID毎バッファ43Eのうち、あるIDに対応したものにフレームが蓄積されると、中継待ち状態であったフレームが上書きによって消去されるという不都合も生じ得る。
[ダミーフレームの出力]
上記のようなゲートウェイ装置40におけるフレームの滞留によって、反対側のバスに中継を依頼したいフレームが消失することを予防するために、ECU30は、以下に説明するようなダミーデータの出力処理を行う。
ECU30の制御アプリ32Aは、自ECUがバスに出力するフレームのうち、特に確実にゲートウェイ装置40に中継させる必要がある特定のフレームについて、例えば特定のフラグを付与して通信ミドルウェア32Bに出力する。通信ミドルウェア32Bは、特定のフラグが付与された特定のフレームをバスに出力する際には、例えば特定のフレームをバスに出力する前後に、ダミーフレームをバスに出力する。
図6は、特定のフレームF*の前後にダミーフレームDFがバスに出力される様子を示す図である。ダミーフレームDFは、例えば、特定のフレームF*の前に数フレーム分、特定のフレームF*の後に1フレーム分、出力される。ダミーフレームDFは、固定の優先度すなわちID(例えば最高優先度のID[0])を有するものとしてバスに出力され、この結果、通信調停に勝ちやすい(或いは必ず勝つ)ように設定される。また、ダミーフレームDFは、ゲートウェイ装置40により中継されないように、予めゲートウェイ装置40の設定がなされている。すなわち、ゲートウェイ装置40は、ダミーフレームの固定IDを参照すると、ダミーフレームDFをID毎バッファ43Eに移動させずに消去する処理を行う。ダミーフレームDFのIDを固定とし、通常のフレームとIDが重ならないようにすることで、ゲートウェイ装置40においてダミーフレームDFを中継しないという制御を容易に行うことができる。
この結果、ゲートウェイ装置40においてフレームの滞留が生じることにより、特定のフレームF*がゲートウェイ装置40で消失するという不都合が生じるのを、抑制することができる。
なお、ダミーフレームを出力する処理は、ネットワークシステム1が有する全てのECU30が行う必要はなく、一部のECU30のみが係る機能を有する場合もあり得る。
以下、ECU30がバス20に接続されたものと仮定して説明する。ECU30がダミーフレームDFをバス20に出力すると、ゲートウェイ装置40では、バス10に中継されるべきフレームの流入が減少(ダミーフレームDFが最高優先度であれば停止)する。
従って、ECU30がダミーフレームDFを特定のフレームF*の前にバス20に出力することにより、特定のフレームF*がゲートウェイ装置40に入力されたタイミングでは、ゲートウェイ装置40内でバス10に中継されるのを待つフレームの数が少なくなっている(或いはゼロになっている)可能性を高めることができる。これによって、特定のフレームF*は、バス10に出力される出力順が、ID毎バッファ43Eに格納された当初から早いものとなるため、中継待ち時間が短くなり、中継待ちの時間の間に後続のフレームによって上書き消去される可能性を低くすることができる。
一方、ECU30がダミーフレームDFを特定のフレームF*の後にバス20に出力することにより、特定のフレームF*がゲートウェイ装置40内でバス10に中継されるのを待っている間において、バス10に中継されるべきフレームのゲートウェイ装置40への流入が減少又は停止する。この結果、例えば、特定のフレームF*よりも優先度の高いフレームがゲートウェイ装置40内に流入し、バス10への出力順が追い越されることによって、特定のフレームF*の中継待ち時間が長くなるのを抑制することができる。これによって、特定のフレームF*は、中継待ち時間が短くなり、中継待ちの時間の間に後続のフレームによって上書き消去される可能性が低くなる。
このように、ダミーフレームDFを特定のフレームF*の前にバス20に出力することと、ダミーフレームDFを特定のフレームF*の後にバス20に出力することは、それぞれにメリットがある。このため、図6に示したようにダミーフレームDFを特定のフレームF*の前後にバス20に出力するのに限らず、ダミーフレームDFを特定のフレームF*の前にのみバス20に出力してもよいし、ダミーフレームDFを特定のフレームF*の後にのみバス20に出力しても構わない。
係る処理によって、ECU30は、特定のフレームF*を、保護された状態でゲートウェイ装置40に送信することができる。この結果、ECU30は、より確実に特定のフレームF*の中継をゲートウェイ装置40に行わせることができる。
図7は、ダミーフレームの出力に関してECU30により実行される処理の流れを示すフローチャートである。
まず、ECU30のCPU31は、制御アプリ32Aによりフレームのバスへの出力が行われるタイミングが到来するまで待機する(S100)。
制御アプリ32Aによりフレームの出力が行われるタイミングが到来すると、CPU31は、当該フレームが、特定のフレームF*であるか否かを判定する(S102)。特定のフレームF*は、前述のように、例えば制御アプリ32Aによって特定のフラグ等が付与されているため、S102の判定は、係るフラグ等を参照して行うことができる。
バスへの出力が行われるフレームが、特定のフレームF*でない場合、通常の出力処理を行う(S104)。
一方、バスへの出力が行われるフレームが、特定のフレームF*である場合は、ダミーフレームDFと特定のフレームF*をバスに出力する(S106)。
図7に示すフローチャートの処理は、例えば、通信ミドルウェア32Bに記述されている。また、これに限らず、図7に示すフローチャートの処理は、制御アプリ32A又はCANドライバ32Cに記述されていてもよい。
[通信イニシャライズ処理の回避]
ここで、他のECU30がダミーフレームDFをバスに出力する可能性があることに対応して、ECU30が実行する処理について説明する。
前述のように、ECU30は、制御アプリ32Aが制御演算を行った結果を、例えば周期的にバスに出力する。これに関連し、ECU30は、規定回数以上、連続してバスへのフレームの出力ができなかった場合に、通信イニシャライズ処理を行う。通信イニシャライズ処理は、通信に関する設定を初期化する処理であり、例えば、送信バッファ33Aのクリア、ボウレートやサンプリング周期等を含む通信設定を格納した図示しないレジスタの再設定(ROMからの再ロード)等が含まれる。
しかしながら、ダミーフレームDFが頻繁にバスに出力され得る環境では、通信イニシャライズ処理が頻発する可能性がある。通信イニシャライズ処理を行っている間は、ECU30からバスへのフレームの出力が停止してしまうため、ダミーフレームDFがバスに出力されることにより、他のECU30において通信イニシャライズ処理が頻発し、通信処理が滞るという不都合が生じうる。
これに対応するために、ECU30は、規定回数以上、連続してバスへのフレームの出力ができなかった場合であっても、バスを流れるフレームがダミーフレームDFである場合には、通信イニシャライズ処理を回避する処理を行う。
係る処理によって、ECU30は、通信イニシャライズ処理が頻発し、通信処理が滞るという不都合が生じるのを抑制することができる。
図8は、通信イニシャライズ処理に関してECU30により実行される処理の流れを示すフローチャートである。
まず、ECU30のCPU31は、制御アプリ32Aによりフレームのバスへの出力が行われるタイミングが到来するまで待機する(S200)。
制御アプリ32Aによりフレームの出力が行われるタイミングが到来すると、CPU31は、当該フレームのバスへの出力が、通信調停に勝ったか負けたかを判定する(S202)。
通信調停に勝った場合、CPU31は、カウント値Ctをゼロクリアし(S204)、本フローチャートの1ルーチンを終了する。カウントCtは、例えばCPU31が有する図示しないレジスタ等に格納される値である。
通信調停に負けた場合、CPU31は、カウント値Ctを1増加させ(S206)、カウント値Ctが規定値Th以上であるか否かを判定する(S208)。
カウント値Ctが規定値Th未満である場合、CPU31は、本フローチャートの1ルーチンを終了する。一方、カウント値Ctが規定値Th以上である場合、CPU31は、通信調停に負けた相手がダミーフレームDFであったか否かを判定する(S210)。
通信調停に負けた相手がダミーフレームDFでなかった場合、CPU31は、通信イニシャライズ処理を行い(S212)、カウント値Ctをゼロクリアし(S214)、本フローチャートの1ルーチンを終了する。
通信調停に負けた相手がダミーフレームDFであった場合、CPU31は、通信イニシャライズ処理を行わず、カウント値Ctを1減少させ(S216)、本フローチャートの1ルーチンを終了する。なお、S216の処理は省略しても構わない。
図8に示すフローチャートの処理は、例えば、通信ミドルウェア32Bに記述されている。また、これに限らず、図8に示すフローチャートの処理は、制御アプリ32A又はCANドライバ32Cに記述されていてもよい。
なお、図8に示すフローチャートは、「通信調停負けが規定回数に達したときに、相手がダミーフレームDFであれば通信イニシャライズを回避する」ものであるが、そもそも、「通信調停負けの相手がダミーフレームDFであればカウント値Ctをインクリメントしない」という処理を行ってもよい。図9は、通信イニシャライズ処理に関してECU30により実行される処理の流れを示すフローチャートの他の例である。
図9のフローチャートを実行する場合、まず、ECU30のCPU31は、制御アプリ32Aによりフレームのバスへの出力が行われるタイミングが到来するまで待機する(S300)。
制御アプリ32Aによりフレームの出力が行われるタイミングが到来すると、CPU31は、当該フレームのバスへの出力が、通信調停に勝ったか負けたかを判定する(S302)。
通信調停に勝った場合、CPU31は、カウント値Ctをゼロクリアし(S304)、本フローチャートの1ルーチンを終了する。
通信調停に負けた場合、CPU31は、通信調停に負けた相手がダミーフレームDFであったか否かを判定する(S306)。通信調停に負けた相手がダミーフレームDFであった場合、CPU31は、本フローチャートの1ルーチンを終了する。
通信調停に負けた相手がダミーフレームDFでなかった場合、CPU31は、カウント値Ctを1増加させ(S308)、カウント値Ctが規定値Th以上であるか否かを判定する(S310)。
カウント値Ctが規定値Th未満である場合、CPU31は、本フローチャートの1ルーチンを終了する。一方、カウント値Ctが規定値Th以上である場合、CPU31は、通信イニシャライズ処理を行い(S312)、カウント値Ctをゼロクリアし(S314)、本フローチャートの1ルーチンを終了する。
[まとめ]
以上説明した処理装置、ネットワークシステム、及び通信制御プログラムの実施例によれば、特定のフレームF*をバスに出力する際に、ダミーフレームDFを併せてバスに出力するため、特定のフレームF*の中継を、より確実にゲートウェイ装置40に行わせることができる。
また、ダミーフレームDFとの調停に負けた場合に通信イニシャライズ処理を行わないように制御するため、通信イニシャライズ処理が頻発し、通信処理が滞るという不都合が生じるのを抑制することができる。
なお、ダミーフレームDFは、例えば「ゲートウェイ装置を通過しないダミーデータ」の一例であり、特定のフレームF*は、例えば「ゲートウェイ装置を通過する特定のデータ」の一例である。
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、上記実施例では、CANに基づく通信が行われるシステムに適用された例について説明したが、優先度に基づく通信調停が行われるプロトコルであれば、如何なるプロトコルを採用したシステムにも適用可能である。
1 ネットワークシステム
10、20 バス
30 ECU
31 CPU
32 プログラムメモリ
32A 制御アプリ
32B 通信ミドルウェア
32C CANドライバ
33 RAM
33A 送信バッファ
33B 受信バッファ
34 周辺I/O
35 CANコントローラ
36 CANトランシーバ
40 ゲートウェイ装置
41 CPU
42 プログラムメモリ
42A 中継制御プログラム
42B 通信ミドルウェア
42C CANドライバ
43 RAM
43A 送信バッファ(10側)
43B 受信バッファ(10側)
43C 送信バッファ(20側)
43D 受信バッファ(20側)
43E ID毎バッファ
44、46 CANコントローラ
45、47 CANトランシーバ

Claims (11)

  1. ゲートウェイ装置がデータを中継し、優先度に基づく通信調停が行われる複数のバスのうち一のバスにデータを出力する出力部と、
    前記出力部を制御する制御部であって、前記出力部に、前記ゲートウェイ装置を通過する特定のデータを前記バスに出力させる際に、前記ゲートウェイ装置を通過しないダミーデータを前記バスに出力させる制御部と、
    を備える処理装置。
  2. 請求項1記載の処理装置であって、
    前記ダミーデータは、固定の優先度を有するものとして前記バスに出力される、
    処理装置。
  3. 請求項1又は2記載の処理装置であって、
    前記ダミーデータは、前記出力部がデータを出力するバスを流れるデータの中で、最高優先度を有するものとして前記バスに出力される、
    処理装置。
  4. 請求項1ないし3のいずれか1項記載の処理装置であって、
    前記制御部は、前記出力部に、前記ゲートウェイ装置を通過しないダミーデータを、前記特定のデータの前後に前記バスに出力させる、
    処理装置。
  5. 請求項1ないし3のいずれか1項記載の処理装置であって、
    前記制御部は、前記出力部に、前記ゲートウェイ装置を通過しないダミーデータを、前記特定のデータの前に前記バスに出力させる、
    処理装置。
  6. 請求項1ないし3のいずれか1項記載の処理装置であって、
    前記制御部は、前記出力部に、前記ゲートウェイ装置を通過しないダミーデータを、前記特定のデータの後に前記バスに出力させる、
    処理装置。
  7. ゲートウェイ装置がデータを中継し、優先度に基づく通信調停が行われる複数のバスのうち一のバスに接続された処理装置であって、
    規定回数以上、バスへのデータの出力ができなかった場合に、前記バスに流れるデータがゲートウェイ装置を通過しないダミーデータであるか否かを判定し、前記バスに流れるデータがゲートウェイ装置を通過しないダミーデータでない場合には通信に関する設定を初期化する処理を行い、前記バスに流れるデータがゲートウェイ装置を通過しないダミーデータである場合には前記通信に関する設定を初期化する処理を行わない、
    処理装置。
  8. 複数のバスと、
    前記複数のバスを中継するゲートウェイ装置と、
    前記複数のバスのいずれかに接続され、優先度による通信調停を行って前記バスにデータを出力する複数の処理装置と、
    を備え、
    前記複数の処理装置のうち少なくとも一部は、前記ゲートウェイ装置を通過する特定のデータを前記バスに出力する際に、前記ゲートウェイ装置を通過しないダミーデータを前記バスに出力する、
    ネットワークシステム。
  9. 請求項8記載のネットワークシステムであって、
    前記複数の処理装置のうち少なくとも一部は、規定回数以上、バスへのデータの出力ができなかった場合に、前記バスに流れるデータが前記ゲートウェイ装置を通過しないダミーデータであるか否かを判定し、前記バスに流れるデータが前記ゲートウェイ装置を通過しないダミーデータでない場合には通信に関する設定を初期化する処理を行い、前記バスに流れるデータが前記ゲートウェイ装置を通過しないダミーデータである場合には前記通信に関する設定を初期化する処理を行わない、
    ネットワークシステム。
  10. ゲートウェイ装置がデータを中継し、優先度に基づく通信調停が行われる複数のバスのうち一のバスに接続された処理装置に、
    バスに出力しようとするデータが、前記ゲートウェイ装置を通過する特定のデータであるか否かを判定させ、
    前記バスに出力しようとするデータが、前記ゲートウェイ装置を通過する特定のデータである場合に、前記ゲートウェイ装置を通過しないダミーデータを前記バスに出力させる、
    通信制御プログラム。
  11. ゲートウェイ装置がデータを中継し、優先度に基づく通信調停が行われる複数のバスのうち一のバスに接続された処理装置に、
    規定回数以上、バスへのデータの出力ができなかった場合に、前記バスに流れるデータがゲートウェイ装置を通過しないダミーデータであるか否かを判定させ、
    前記バスに流れるデータがゲートウェイ装置を通過しないダミーデータでない場合には通信に関する設定を初期化する処理を行わせ、前記バスに流れるデータがゲートウェイ装置を通過しないダミーデータである場合には前記通信に関する設定を初期化する処理を行わせない、
    通信制御プログラム。
JP2012178386A 2012-08-10 2012-08-10 処理装置、ネットワークシステム、及び通信制御プログラム Pending JP2014036417A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012178386A JP2014036417A (ja) 2012-08-10 2012-08-10 処理装置、ネットワークシステム、及び通信制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012178386A JP2014036417A (ja) 2012-08-10 2012-08-10 処理装置、ネットワークシステム、及び通信制御プログラム

Publications (1)

Publication Number Publication Date
JP2014036417A true JP2014036417A (ja) 2014-02-24

Family

ID=50285124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012178386A Pending JP2014036417A (ja) 2012-08-10 2012-08-10 処理装置、ネットワークシステム、及び通信制御プログラム

Country Status (1)

Country Link
JP (1) JP2014036417A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7480675B2 (ja) 2020-10-29 2024-05-10 株式会社デンソー 中継装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7480675B2 (ja) 2020-10-29 2024-05-10 株式会社デンソー 中継装置

Similar Documents

Publication Publication Date Title
US20210312043A1 (en) Vehicle communications bus data security
JP5919205B2 (ja) ネットワーク装置およびデータ送受信システム
EP3358788B1 (en) Illegality detection electronic control unit, vehicle onboard network system, and communication method
JP5255579B2 (ja) 車内データ中継装置、車両制御システム
US10153825B2 (en) Vehicle-mounted control device
JP6174305B2 (ja) データ送信装置、通信制御方法、及び通信制御プログラム
US9778677B2 (en) Bit-timing symmetrization
US10693675B2 (en) Electronic control unit, communication method, and onboard network system
JP2011131762A (ja) データ中継用制御装置および車両制御システム
CN112099465A (zh) 车辆诊断通信装置及方法、包括车辆诊断通信装置的系统
JP2009253557A (ja) 車載用の中継接続ユニット
JP2007036907A (ja) ゲートウェイ装置
JP2014236248A (ja) 電子制御装置、電子制御システム
JP2016143963A (ja) 車載通信システム
JP2006253922A (ja) ゲートウェイ装置及びゲートウェイ装置におけるデータ転送方法
JP2014036417A (ja) 処理装置、ネットワークシステム、及び通信制御プログラム
US8989203B2 (en) Electronic device, communication control method, and recording medium
JP2017038291A (ja) 車両用通信装置
JP2018157366A (ja) 通信装置、通信方法、およびプログラム
JP6344348B2 (ja) バッファ制御装置、通信ノード、及び中継装置
JP4361540B2 (ja) ゲートウェイ装置、データ転送方法及びプログラム
JP6137033B2 (ja) 車載ネットワークシステム及び車載中継装置
JP2024033325A (ja) 装置及び方法
CN117478452A (zh) Can通信控制器和操作can通信控制器的方法
JP2010154329A (ja) Ieee1394通信lsiおよびアシンクロナス送信方法