JP6276738B2 - Can通信ユニット及びcan通信プログラム - Google Patents

Can通信ユニット及びcan通信プログラム Download PDF

Info

Publication number
JP6276738B2
JP6276738B2 JP2015173003A JP2015173003A JP6276738B2 JP 6276738 B2 JP6276738 B2 JP 6276738B2 JP 2015173003 A JP2015173003 A JP 2015173003A JP 2015173003 A JP2015173003 A JP 2015173003A JP 6276738 B2 JP6276738 B2 JP 6276738B2
Authority
JP
Japan
Prior art keywords
message
node
data
transmission
received
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.)
Active
Application number
JP2015173003A
Other languages
English (en)
Other versions
JP2017050717A (ja
Inventor
一裕 樋渡
一裕 樋渡
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.)
Asahi Kasei Corp
FDK Corp
Original Assignee
Asahi Kasei Corp
FDK 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 Asahi Kasei Corp, FDK Corp filed Critical Asahi Kasei Corp
Priority to JP2015173003A priority Critical patent/JP6276738B2/ja
Publication of JP2017050717A publication Critical patent/JP2017050717A/ja
Application granted granted Critical
Publication of JP6276738B2 publication Critical patent/JP6276738B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、CAN通信ユニット及びCAN通信プログラムに関する。
CAN(Control Area Network)は、シンプルなネットワーク構成のため、低コストで構築できるネットワークである。さらには、CAN通信は、故障検出機能が優れており、信頼性が高い通信方式として知られている。
例えば、車載される複数のECU(Electronic Control Unit)を、グループ毎のCANバスに接続し、2つのCANバス間を中継装置により接続するCANがある。このCANにおいて、1つのCANバスから受信した情報を、その情報が有する識別情報に従って、指定された中継装置へ転送する技術がある。
特開2013−135430号公報
しかしながら、CANにおいて、データの要否を判定するノードと、データを有するノードと、データを処理に用いるノードとが異なる場合がある。この場合に、上記技術では、先ず、データの要否を判定するノードが、判定結果に従って、データを有するノードからデータを取得する。その後、データの要否を判定するノードが、取得したデータを、データを処理に用いるノードへ送信する、というデータのやりとりにより、CANバスのトラヒック増大を招くという問題がある。
上述の問題に鑑み、実施形態の一例は、CANバスのトラヒックを抑制することを目的とする。
実施形態の一例に係るCAN通信ユニット及びCAN通信プログラムは、例えば、メッセージを一意に識別するメッセージIDのうち、CANバスを介した第1の他のCAN(Control Area Network)通信ユニットからの受信メッセージの受信メッセージID及び受信メッセージIDに応じた処理内容と、CANバスを介した第2の他のCAN通信ユニットへの送信メッセージの送信メッセージID及び送信メッセージIDに応じた処理内容とを対応付けて格納するメッセージテーブルを有する。そして、第1の他のCAN通信ユニットから受信メッセージを受信した際に、受信メッセージがメッセージテーブルに格納されている場合、受信メッセージの受信メッセージIDに応じた処理内容を実行後、メッセージテーブルにおいて受信メッセージIDと対応する送信メッセージIDに応じた処理内容を実行し、送信メッセージIDを付与した送信メッセージを第2の他のCAN通信ユニットへCANバスを介して送出し、受信メッセージがメッセージテーブルに格納されていない場合、受信メッセージを破棄する。
実施形態の一例によれば、CANバスのトラヒックを抑制できる。
図1は、実施形態に係るCANの一例を示すブロック図である。 図2は、実施形態に係るCANにおけるメッセージIDの一例を示す図である。 図3は、実施形態に係るノードAが有する受信メッセージIDテーブル及び送信メッセージIDテーブルの一例を示す図である。 図4は、実施形態に係るノードZが有するメッセージIDテーブルの一例を示す図である。 図5は、実施形態に係るノードBが有する受信メッセージIDテーブル及び送信メッセージIDテーブルの一例を示す図である。 図6は、実施形態に係るCANにおける通信処理を示すシーケンス図である。 図7は、実施形態の効果を示す説明図である。 図8は、実施形態の他の形態に係るCANにおける通信処理を示すシーケンス図である。
以下に、実施形態の一例にかかるCAN通信ユニット及びCAN通信プログラムを図面に基づいて説明する。なお、以下の実施形態は、一例を示すに過ぎず、開示技術を限定するものではない。以下の実施形態は、矛盾しない範囲で適宜組合せることができる。
[実施形態]
(実施形態に係るCAN)
図1は、実施形態に係るCANの一例を示すブロック図である。実施形態に係るCAN(Control Area Network)1は、ノードA_10A、ノードZ_10Z、ノードB_10Bを有する。CAN1において、ノードA_10A、ノードZ_10Z、ノードB_10Bは、CANバス2を介して接続される。CANバス2は、I2C(Inter-Integrated Circuit、登録商標)等の2線バスや、SPI(Serial Peripheral Interface、登録商標)等の3線バスを用いることができる。
例えば、ノードA_10Aは、ノードZ_10Zが保持するデータの要否を判定するノードである。また、ノードZ_10Zは、データを保持するノードである。また、ノードB_10Bは、ノードA_10Aの判定により必要と判定された、ノードZ_10Zが保持するデータを受信し、データ処理を実行するノードである。
なお、各ノードは、それぞれCPU(Central Processing Unit)やMPU(Micro-Processing Unit)等の処理部、CANプロトコルに規定される通信調停やエラー検出等の基本機能に関する処理を実行するCANコントローラを有する。各ノードは、各処理部により処理を実行し、CANコントローラによりCAN通信が制御される。また、図示は省略しているが、ノードは、温度センサやパルスセンサ等の各種センシングを実行するセンサ、表示や各種動作又は各種制御等のアクチュエーションを実行するアクチュエータ等の各種モジュールを含む。なお、図1に示す各ノードの数は、一例を示すに過ぎない。
(実施形態に係るCANにおけるメッセージIDの一例)
図2は、実施形態に係るCANにおけるメッセージIDの一例を示す図である。図2の一覧に示す「メッセージID」はCAN1内でユニークな識別子であり、「メッセージID」「処理内容」「受信ノード」の対応付けは、CAN1において一意である。例えば、CAN1において、「メッセージID」“#1”及び“#2”のメッセージは、「受信ノード」“ノードZ”に対する「処理内容」“データ要求”を行うメッセージである。また、例えば、CAN1において、「メッセージID」“#3”のメッセージは、「受信ノード」“ノードB”に対する「処理内容」“データ送信”を行うメッセージであり、このメッセージを受信した「受信ノード」“ノードB”が「処理内容」“データ受信”を行うメッセージである。また、例えば、CAN1において、「メッセージID」“#4”のメッセージは、「受信ノード」“ノードA”に対する「処理内容」“データ送信”を行うメッセージであり、このメッセージを受信した「受信ノード」“ノードA”が「処理内容」“データ受信”を行うメッセージである。
(実施形態に係るノードA)
ノードA_10Aは、メッセージIDテーブル11A、処理部12A、CANコントローラ13Aを有する。メッセージIDテーブル11Aは、受信メッセージIDテーブル11A−1、送信メッセージIDテーブル11A−2を含む。受信メッセージIDテーブル11A−1、送信メッセージIDテーブル11A−2は、EPROM(Erasable Programmable Read Only Memory)、FLASH ROM(Read Only Memory)等の、図示しない不揮発性記憶デバイスに格納される。受信メッセージIDテーブル11A−1、送信メッセージIDテーブル11A−2は、ノードA_10Aの電源投入時等に、処理部12Aがアクセス可能な、図示しないRAM(Random Access Memory)等の揮発性の記憶領域へ展開される。
図3は、実施形態に係るノードAが有する受信メッセージIDテーブル及び送信メッセージIDテーブルの一例を示す図である。例えば、図3の(a)に示すように、受信メッセージIDテーブル11A−1は、「受信メッセージID」「処理内容」「受信ノード」を対応付けて格納する。「受信メッセージID」は、CAN1内でユニークな識別子である。例えば、処理部12Aは、CANコントローラ13Aを介して「受信メッセージID」“#4”のメッセージをCANバス2から受信した場合に、「処理内容」“データ受信”の処理を実行する。
例えば、処理部12Aは、CANコントローラ13Aを介してCANバス2から「受信メッセージID」“#4”のメッセージを有するデータフレームを受信した場合に、「処理内容」“データ受信”に応じて、受信したデータフレームからデータを抽出する。そして、処理部12Aは、抽出したデータに対して所定の処理を行う。
なお、CAN通信フレームは、「RTR(Remote Transmission Request)フィールド」に“1”が格納されている場合には、他のノードへの要求を送信するリモートフレームである。また、CAN通信フレームは、「RTRフィールド」に“0”が格納されている場合には、他のノードからの要求に応答してデータを送信するデータフレームである。
また、例えば、図3の(b)に示すように、送信メッセージIDテーブル11A−2は、「送信メッセージID」「処理内容」「受信ノード」を対応付けて格納する。「送信メッセージID」は、CAN1内でユニークな識別子である。例えば、処理部12Aは、「送信メッセージID」“#1”が入力された場合には、「送信メッセージID」“#1”を埋め込んだ「処理内容」“データ要求”のリモートフレームを、「受信ノード」“ノードZ”を宛先としてCANコントローラ13Aを介してCANバス2へ送出する。
また、例えば、処理部12Aは、「送信メッセージID」“#2”が入力された場合には、「送信メッセージID」“#2”を埋め込んだ「処理内容」“データ要求”のリモートフレームを、「受信ノード」“ノードZ”を宛先としてCANコントローラ13Aを介してCANバス2へ送出する。
また、例えば、処理部12Aは、「送信メッセージID」“#3”が入力された場合には、「送信メッセージID」“#3”を埋め込んだ「処理内容」“データ送信”のデータフレームを、「受信ノード」“ノードB”を宛先としてCANコントローラ13Aを介してCANバス2へ送出する。なお、「送信メッセージID」“#3”を埋め込んだ「処理内容」“データ送信”のデータフレームは、ノードZ_10Zから取得したデータ又はノードA_10A内において取得したデータである。
(実施形態に係るノードZ)
ノードZ_10Zは、メッセージIDテーブル11Z、処理部12Z、CANコントローラ13Z、ノード間で送受信されるデータを格納する記憶部14Zを有する。メッセージIDテーブル11Zは、EPROM、FLASH ROM等の、図示しない不揮発性記憶デバイスに格納される。メッセージIDテーブルZ11は、ノードZ_10Zの電源投入時等に、処理部12Zがアクセス可能な、図示しないRAM等の揮発性の記憶領域へ展開される。
図4に示すように、メッセージIDテーブル11Zは、「行No.」「受信メッセージID」「処理内容」「受信ノード」と、「送信メッセージID」「処理内容」「受信ノード」とを対応付けて格納する。「行No.」は、メッセージIDテーブル11Zにおける各行を識別する番号である。
「受信メッセージID」は、CAN1内でユニークな識別子である。例えば、処理部12Zは、CANコントローラ13Zを介して「受信メッセージID」“#1”のリモートフレームをCANバス2から受信した場合に、「送信メッセージID」“#4”を埋め込んだ「処理内容」“データ送信”のデータフレームを、「受信ノード」“ノードA”を宛先としてCANコントローラ13Zを介してCANバス2へ送出する。なお、「送信メッセージID」“#4”を埋め込んだデータフレームは、「受信メッセージID」“#1”のリモートフレームの「処理内容」“データ要求”に応じて記憶部14Zから読み出したデータを含む。
また、例えば、処理部12Zは、CANコントローラ13Zを介して「受信メッセージID」“#2”のリモートフレームをCANバス2から受信した場合に、「送信メッセージID」“#3”を埋め込んだ「処理内容」“データ送信”のデータフレームを、「受信ノード」“ノードB”を宛先としてCANコントローラ13Zを介してCANバス2へ送出する。なお、「送信メッセージID」“#3”を埋め込んだデータフレームは、「受信メッセージID」“#2”のリモートフレームの「処理内容」“データ要求”に応じて記憶部14Zから読み出したデータを含む。
このように「受信メッセージID」を対応する「送信メッセージID」へ変換することにより、例えば、ノードA_10Aからの要求に応じてノードZ_10Zが記憶部14Zからデータを読み出してノードA_10Aへ送信し、ノードA_10AがデータをノードB_10Bへ送信するという送受信処理を、ノードA_10Aからの要求に応じてノードZ_10Zが記憶部14Zからデータを読み出してノードB_10Bへ直接送信することができる。また、例えば、ノードB_10Bからの要求に応じてノードZ_10Zが記憶部14Zからデータを読み出してノードB_10Bへ送信し、ノードB_10BがデータをノードA_10Aへ送信するという送受信処理を、ノードB_10Bからの要求に応じてノードZ_10Zが記憶部14Zからデータを読み出してノードA_10Aへ直接送信することができる。
(実施形態に係るノードB)
ノードB_10Bは、メッセージIDテーブル11B、処理部12B、CANコントローラ13Bを有する。メッセージIDテーブル11Bは、受信メッセージIDテーブル11B−1、送信メッセージIDテーブル11B−2を含む。受信メッセージIDテーブル11B−1、送信メッセージIDテーブル11B−2は、EPROM、FLASH ROM等の、図示しない不揮発性記憶デバイスに格納される。受信メッセージIDテーブル11B−1、送信メッセージIDテーブル11B−2は、ノードB_10Bの電源投入時等に、処理部12Bがアクセス可能な、図示しないRAM等の揮発性の記憶領域へ展開される。
図5は、実施形態に係るノードBが有する受信メッセージIDテーブル及び送信メッセージIDテーブルの一例を示す図である。例えば、図5の(a)に示すように、受信メッセージIDテーブル11B−1は、「受信メッセージID」「処理内容」「受信ノード」を対応付けて格納する。「受信メッセージID」は、CAN1内でユニークな識別子である。例えば、処理部12Bは、CANコントローラ13Aを介して「受信メッセージID」“#3”のメッセージをCANバス2から受信した場合に、「処理内容」“データ受信”の処理を実行する。
例えば、処理部12Bは、CANコントローラ13Bを介してCANバス2から「受信メッセージID」“#3”のメッセージを有するデータフレームを受信した場合に、「処理内容」“データ受信”に応じて、受信したデータフレームからデータを抽出する。そして、処理部12Bは、抽出したデータに対して所定の処理を行う。
また、例えば、図5の(b)に示すように、送信メッセージIDテーブル11B−2は、「送信メッセージID」「処理内容」「受信ノード」を対応付けて格納する。「送信メッセージID」は、CAN1内でユニークな識別子である。例えば、処理部12Bは、「送信メッセージID」“#1”が入力された場合には、「送信メッセージID」“#1”を埋め込んだ「処理内容」“データ要求”のリモートフレームを、「受信ノード」“ノードZ”を宛先としてCANコントローラ13Aを介してCANバス2へ送出する。
また、例えば、処理部12Bは、「送信メッセージID」“#2”が入力された場合には、「送信メッセージID」“#2”を埋め込んだ「処理内容」“データ要求”のリモートフレームを、「受信ノード」“ノードZ”を宛先としてCANコントローラ13Bを介してCANバス2へ送出する。
また、例えば、処理部12Bは、「送信メッセージID」“#4”が入力された場合には、「送信メッセージID」“#4”を埋め込んだ「処理内容」“データ送信”のデータフレームを、「受信ノード」“ノードA”を宛先としてCANコントローラ13Aを介してCANバス2へ送出する。なお、「送信メッセージID」“#4”を埋め込んだ「処理内容」“データ送信”のデータフレームは、ノードZ_10Zから取得したデータ又はノードB_10B内において取得したデータである。
(実施形態に係るCANにおける通信処理)
図6は、実施形態に係るCANにおける通信処理を示すシーケンス図である。図6において、「受信メッセージID」は、図2〜図5に示したものと同一とする。
先ず、ステップS11において、ノードA_10Aは、データ要求メッセージを、CANコントローラ13Aを介してCANバス2へ送出する。ここでのデータ要求メッセージの「メッセージID」は、“#1”又は“#2”であるとする。CAN通信の規格上、ステップS11において送出されたデータ要求メッセージは、ノードZ_10Z及びノードB_10Bへ送達する。しかし、ノードB_10Bは、ステップS11において送出されたデータ要求メッセージの対象外であるので、ノードB_10Bにおいてデータ要求メッセージは破棄される。
次に、ステップS12において、ノードZ_10Zの処理部12Zは、受信したデータ要求メッセージから「メッセージID」を抽出し、抽出した「メッセージID」がメッセージIDテーブル11Zに存在するか否かを判定する。処理部12Zは、ステップS12で抽出した「メッセージID」がメッセージIDテーブル11Zに存在する場合に(ステップS12:Yes)、ステップS13へ処理を移す。一方、処理部12Zは、ステップS12で抽出した「受信メッセージID」がメッセージテーブル11Zに存在しない場合に(ステップS12:No)、ステップS18へ処理を移す。なお、ステップS18では、処理部12Zは、ステップS12で受信したデータ要求メッセージを破棄する。
ステップS13では、処理部12Zは、ステップS12で抽出した「メッセージID」がメッセージIDテーブル11Zの「行No.」“1”に該当するか否かを判定する。処理部12Zは、ステップS12で抽出した「メッセージID」がメッセージIDテーブル11Zの「行No.」“1”に該当する場合に(ステップS13:Yes)、ステップS14へ処理を移す。一方、処理部12Zは、ステップS12で抽出した「メッセージID」がメッセージIDテーブル11Zの「行No.」“1”に該当しない場合に(ステップS13:No)、ステップS16へ処理を移す。
ステップS14では、処理部12Zは、メッセージIDテーブル11Zにおいて、ステップS12で抽出した「受信メッセージID」“#1”と対応する「処理内容」を実行し、対応する「送信メッセージID」“#4”を設定したメッセージ(データフレーム)を生成する。続いて、ステップS15では、処理部12Zは、CANコントローラ13Zを介して、ステップS14で生成したメッセージ(データフレーム)をCANバス2へ送出する。なお、CAN通信の規格上、ステップS15において送出されたメッセージ(データフレーム)は、ノードA_10A及びノードB_10Bへ送達する。しかし、ノードB_10Bは、ステップS15において送出されたメッセージ(データフレーム)の対象外であるので、ノードB_10Bにおいてメッセージ(データフレーム)は破棄される。
なお、ステップS11→ステップS12:Yes→ステップS13:Yes→ステップS14→ステップS15の処理の流れとなるのは、例えば、ステップS11において、ノードA_10Aから「メッセージID」“#1”のメッセージが送出された場合である。すなわち、ノードA_10Aが、ノードZ_10Zへ要求したデータを、自身が受信する場合である。
一方、ステップS16では、処理部12Zは、メッセージIDテーブル11Zにおいて、ステップS12で抽出した「受信メッセージID」“#2”と対応する「処理内容」を実行し、対応する「送信メッセージID」“#3”を設定したメッセージ(データフレーム)を生成する。続いて、ステップS17では、処理部12Zは、CANコントローラ13Zを介して、ステップS16で生成したメッセージ(データフレーム)をCANバス2へ送出する。なお、CAN通信の規格上、ステップS17において送出されたメッセージ(データフレーム)は、ノードA_10A及びノードB_10Bへ送達する。しかし、ノードA_10Aは、ステップS17において送出されたメッセージ(データフレーム)の対象外であるので、ノードA_10Aにおいてメッセージ(データフレーム)は破棄される。
なお、ステップS11→ステップS12:Yes→ステップS13:No→ステップS16→ステップS17の処理の流れとなるのは、例えば、ステップS11において、ノードA_10Aから「メッセージID」“#2”のメッセージが送出された場合である。すなわち、ノードA_10Aが、ノードZ_10Zへ要求したデータを、ノードB_10Bへ直接送信する場合である。
(実施形態による効果)
図7は、実施形態の効果を示す説明図である。図7の(a)に示す従来技術は、ノードA_10Aが、ノードZ_10Z−1に記憶されるデータをノードB_10Bへ受け渡すために、次の処理を実行する。すなわち、先ず、ノードA_10Aが、データ要求メッセージをノードZ_10Z−1へ、CANバス2を介して送出する(ステップS1a)。次に、ノードA_10Aからデータ要求メッセージを受信したノードZ_10Z−1が、データ要求に対応する応答データをノードA_10Aへ、CANバス2を介して送出する(ステップS2a)。そして、応答データをノードZ_10Z−1から受信したノードA_10Aが、応答データをノードB_10BへCANバス2を介して送出する(ステップS3a)。すなわち、従来技術は、ノードA_10Aが、ノードZ_10Z−1に記憶されるデータをノードB_10Bへ受け渡すために、ステップS1a〜ステップS3aの3ステップにわたりCANバス2を使用する。
一方、図7の(b)に示す実施形態の一例は、ノードA_10Aが、ノードZ_10Zに記憶されるデータをノードB_10Bへ受け渡すために、次の処理を実行する。すなわち、先ず、ノードA_10Aが、ノードZ_10Zへデータ要求メッセージを送出する(ステップS1b)。そして、データ要求メッセージを受信したノードZ_10Zが、データ要求メッセージの「メッセージID」を、データ要求メッセージに対する応答データをノードB_10Bで処理できる「メッセージID」へ変換する。そして、ノードZ_10Zが、応答データをノードB_10Bへ送出する(ステップS2b)。すなわち、実施形態の一例は、ノードA_10Aが、ノードZ_10Zに記憶されるデータをノードB_10Bへ受け渡すために、ステップS1b〜ステップS2bの2ステップにわたりCANバス2を使用する。このため、実施形態の一例は、CANバス2を使用する時間を短縮し、CANバス2のトラヒックを削減し、CANバス2の利用効率を向上させることができる。そして、実施形態の一例は、CANシステムの負荷を軽減できる。
[実施形態の他の形態]
(1)CANにおける通信処理について
図8は、実施形態の他の形態に係るCANにおける通信処理を示すシーケンス図である。実施形態の他の形態に係るCANにおける通信処理は、実施形態に係るCANにおける通信処理におけるステップS13:Noと、ステップS16との間に、ステップS13aを実行する点が異なる。ステップS13:Noの場合、ステップS13aでは、ノードZ_10Zの処理部12Zは、ノードA_10A宛としてデータを送出するか否かを判定する。処理部12Zは、ノードA_10A宛としてデータを送出する場合(ステップS13a:Yes)、ステップS14へ処理を移す。一方、処理部12Zは、ノードB_10B宛としてデータを送出する場合(ステップS13a:No)、ステップS16へ処理を移す。
ここで、ステップS13:Noは、ノードA_10Aからの要求に応じてノードZ_10Zが記憶部14Zからデータを読み出してノードA_10A宛へ送信し、ノードA_10AがデータをノードB_10B宛へ送信する代わりに、ノードA_10Aからの要求に応じてノードZ_10Zが記憶部14Zからデータを読み出してノードB_10B宛へ直接送信する場合である。しかし、処理部12Zは、例えば、「メッセージID」から判定できるメッセージの優先順位が高く、より優先して送出されるべきメッセージが他に存在する場合に、ノードA_10Aからの要求に応じてノードZ_10Zが記憶部14Zからデータを読み出してノードB_10B宛へ直接送信するとの判定結果にかかわらず、優先して送出されるべきメッセージを送出し、当該データをノードA_10A宛へ送信してもよい。すなわち、ステップS13aの判定処理時に、ノードB_10B宛へ送出するメッセージが複数あり、ステップS11のデータ要求メッセージに応じて送出されるデータよりも優先順位が高いメッセージが存在する場合がある。このとき、優先順位が高いメッセージが先に送出される。このため、ステップS11のデータ要求メッセージに応じて送出されるデータは、優先順位が低いため、ステップS13a:Yes→ステップS14→ステップS15の処理を経て、ノードA_10A宛として送出され、ノードA_10Aを経由してノードB_10B宛へ送出される。
また、例えば、ステップS13aの判定処理時に、ノードZ_10ZからノードB_10B宛へのトラヒックが輻輳状態であり、ノードZ_10ZからノードA_10Aへのトラヒックに空きがある場合がある。このとき、ステップS11のデータ要求メッセージに応じて送出されるデータは、トラヒックの輻輳を回避して、ステップS13a:Yes→ステップS14→ステップS15の処理を経て、ノードA_10A宛として送出され、ノードA_10Aを経由してノードB_10B宛へ送出される。
例えば、送出するメッセージの「メッセージID」に“#3”を設定することに代えて“#4”を設定することで、ノードB_10B宛のメッセージをノードA_10A宛とすることができる(図4参照)。このように、ステップS13におけるノードA_10Aからの要求に応じてノードZ_10Zが記憶部14Zからデータを読み出してノードB_10B宛へ直接送信するとの判定結果にかかわらず、ステップS13aにおいてノードA_10A宛へ送信するとすることにより、メッセージの優先順位やCANバス2のトラヒックに応じて、データが目的の宛先であるノードB_10Bへより迅速に到達する場合がある。
(2)リモートフレーム及びデータフレームについて
上記の実施形態では、データを要求するフレームをリモートフレームとし、リモートフレームに応答してデータを送信するフレームをデータフレームとした。しかし、開示技術は、これに限られず、データフレームでデータを要求し、データフレームでデータ要求に応答してデータを送信するとしてもよい。例えば、データフレームのデータフィールドにデータが格納されていないデータフレームを、データを要求するフレームとし、データフィールドにデータが格納されているデータフレームを、データを送信するフレームとしてもよい。
(3)メッセージIDテーブル14Zをもとに送信メッセージIDを設定する点について
上記の実施形態では、ノードZ_10Zに記憶されるデータをノードA_10Aの指示のもとに、ノードB_10Bへ受け渡す際に、ノードA_10Aを経由させずにデータをノードB_10Bへデータを送信するよう送信メッセージIDを設定するとした。しかし、送信メッセージIDの設定は、データの間接受け渡しから直接受け渡しへの変更に係るものに限らず、各ノードにおける処理一般に適用可能である。例えば、ノードA_10Aの指示のもとに、ノードZ_10Z及びノードB_10Bが互いに連携して処理を行い、ノードZ_10Z及びノードB_10BからノードA_10Aへ各処理結果を返し、ノードA_10Aは、ノードZ_10Z及びノードB_10Bからの各処理結果に応じて、次処理をノードZ_10Z及びノードB_10Bへ指示する場合がある。このような場合に、ノードZ_10Z及びノードB_10Bは、各処理結果をノードA_10Aへ返さず、ノードZ_10Z及びノードB_10B間で処理結果を授受することにより、処理を完結させるようにすることも可能である。
すなわち、処理の始点となる始点ノードから処理の終点となる終点ノードとの間に、中間の処理を担う中間ノードが存在する場合がある。この場合に、実施形態は、始点ノードから中間ノードへ送信されたメッセージIDを、中間ノードが保持するメッセージIDテーブルの記述内容に従って設定変更する。これにより、始点ノード及び中間ノード間、もしくは、中間ノード及び終点ノード間におけるメッセージのやりとりを省略できる場合に、実施形態は広く適用可能である。
上記の実施形態に係るノードA_10A、ノードZ_10Z、ノードB_10Bの各部は、メモリ等の記憶装置と協働するCPUやMPU、あるいは、FPGAやASIC等の処理装置がCAN通信プログラムを実行することにより、実現される。FPGAは、Field-Programmable Gate Arrayである。ASICは、Application Specific Integrated Circuitである。そして、上記の実施形態に係るノードA_10A、ノードZ_10Z、ノードB_10Bの各部は、処理負荷や回路設計に応じて、適宜統合又は分散してもよい。また、上記の実施形態に係るノードA_10A、ノードZ_10Z、ノードB_10Bの各部を適宜、組合せ、代替、省略して構成したCAN通信ユニットも、開示技術にかかるCAN通信ユニットに含まれる。
1 CAN
2 CANバス
10A ノードA
10Z ノードZ
10B ノードB
11A−1、11B−1 受信メッセージIDテーブル
11B−2、11B−2 送信メッセージIDテーブル
11Z メッセージIDテーブル
12A、12Z、12B 処理部
13A、13Z、13B CANコントローラ
14Z 記憶部

Claims (4)

  1. メッセージを一意に識別するメッセージIDのうち、CANバスを介した第1の他のCAN(Control Area Network)通信ユニットからの受信メッセージの受信メッセージID及び該受信メッセージIDに応じた処理内容と、前記CANバスを介した第2の他のCAN通信ユニットへの送信メッセージの送信メッセージID及び該送信メッセージIDに応じた処理内容とを対応付けて格納するメッセージテーブルと、
    前記第1の他のCAN通信ユニットから前記受信メッセージを受信した際に、該受信メッセージが前記メッセージテーブルに格納されている場合、該受信メッセージの受信メッセージIDに応じた処理内容を実行後、前記メッセージテーブルにおいて該受信メッセージIDと対応する送信メッセージIDに応じた処理内容を実行し、該送信メッセージIDを付与した前記送信メッセージを前記第2の他のCAN通信ユニットへ前記CANバスを介して送出し、該受信メッセージが前記メッセージテーブルに格納されていない場合、該受信メッセージを破棄する処理部と
    を備えることを特徴とするCAN通信ユニット。
  2. データを記憶する記憶部
    をさらに備え、
    前記処理部は、第1の他のCAN通信ユニットから前記受信メッセージを受信した際に、該受信メッセージが前記メッセージテーブルに格納されている場合、該受信メッセージの受信メッセージIDに応じて前記記憶部からデータを取得後、該受信メッセージIDと対応する送信メッセージIDを付与した前記送信メッセージに該データを埋め込んで第2の他のCAN通信ユニットへ前記CANバスを介して送出する
    ことを特徴とする請求項1に記載のCAN通信ユニット。
  3. 前記処理部は、前記送信メッセージを他のCAN通信ユニットへ前記CANバスを介して送出する際に、該送信メッセージの優先度又は前記CANバスのトラヒックに応じて該送信メッセージの送信メッセージIDを変更して送信する
    ことを特徴とする請求項1又は2に記載のCAN通信ユニット。
  4. コンピュータに、
    CANバスを介した第1の他のCAN(Control Area Network)通信ユニットから受信メッセージを受信し、
    前記受信メッセージを受信した際に、メッセージを一意に識別するメッセージIDのうち、前記受信メッセージの受信メッセージID及び該受信メッセージIDに応じた処理内容と、前記CANバスを介した第2の他のCAN通信ユニットへの送信メッセージの送信メッセージID及び該送信メッセージIDに応じた処理内容とを対応付けて格納するメッセージテーブルを参照し、該受信メッセージが前記メッセージテーブルに格納されている場合、該受信メッセージの受信メッセージIDに応じた処理内容を実行後、前記メッセージテーブルにおいて該受信メッセージIDと対応する送信メッセージIDに応じた処理内容を実行し、該送信メッセージIDを付与した前記送信メッセージを前記第2の他のCAN通信ユニットへ前記CANバスを介して送出し、
    前記受信メッセージを受信した際に、該受信メッセージが前記メッセージテーブルに格納されていい場合、該受信メッセージを破棄する
    処理を実行させるCAN通信プログラム。
JP2015173003A 2015-09-02 2015-09-02 Can通信ユニット及びcan通信プログラム Active JP6276738B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015173003A JP6276738B2 (ja) 2015-09-02 2015-09-02 Can通信ユニット及びcan通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015173003A JP6276738B2 (ja) 2015-09-02 2015-09-02 Can通信ユニット及びcan通信プログラム

Publications (2)

Publication Number Publication Date
JP2017050717A JP2017050717A (ja) 2017-03-09
JP6276738B2 true JP6276738B2 (ja) 2018-02-07

Family

ID=58279669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015173003A Active JP6276738B2 (ja) 2015-09-02 2015-09-02 Can通信ユニット及びcan通信プログラム

Country Status (1)

Country Link
JP (1) JP6276738B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200112439A1 (en) * 2018-10-03 2020-04-09 Panasonic Automotive Systems Company Of America, Division Of Panasonic Corporation Of North America Secure controller area network in vehicles

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5919205B2 (ja) * 2013-01-28 2016-05-18 日立オートモティブシステムズ株式会社 ネットワーク装置およびデータ送受信システム
JP5904187B2 (ja) * 2013-10-18 2016-04-13 トヨタ自動車株式会社 通信システム及び通信方法

Also Published As

Publication number Publication date
JP2017050717A (ja) 2017-03-09

Similar Documents

Publication Publication Date Title
CN108028794B (zh) 车载用网关装置
WO2014057643A1 (ja) 中継装置
RU2011149464A (ru) Узловое устройство и способ связи
US11467566B2 (en) Communication device, communication terminal, communication device and method for operating a communication system for transmitting time-critical data
US11398919B2 (en) Method for detecting network subscribers in an automation network and automation network
US20200119975A1 (en) Communication System, Communication Apparatus, and Communication Method
JP5767277B2 (ja) ゲートウェイ装置
JP6544230B2 (ja) 通信システム
US20140003325A1 (en) Relay communication system and relay communication device
JP6276738B2 (ja) Can通信ユニット及びcan通信プログラム
JP6569547B2 (ja) 通信方法
JP6291516B2 (ja) リング型ネットワークを用いた通信システム
JP5728043B2 (ja) ゲートウェイ装置
JP6406559B2 (ja) 通信装置、通信方法、およびプログラム
JP4361540B2 (ja) ゲートウェイ装置、データ転送方法及びプログラム
JP2015053568A (ja) 通信制御装置
JP2007129467A (ja) 中継接続ユニット
JP7140011B2 (ja) ゲートウェイ装置
JP6137033B2 (ja) 車載ネットワークシステム及び車載中継装置
US10713198B2 (en) Direct memory access control unit for a processing unit that includes a working memory
US20160344573A1 (en) Method and apparatus for processing interactions between devices
US11522815B2 (en) Switch, control apparatus, communication system, communication control method and program
JP7277206B2 (ja) 通信制御装置および方法
JP2015210667A (ja) 通信ユニットおよびcan通信制御プログラム
JP6903843B2 (ja) ノード

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170727

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: 20171226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180112

R150 Certificate of patent or registration of utility model

Ref document number: 6276738

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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