JP6245044B2 - 通信システムおよび電子制御装置 - Google Patents

通信システムおよび電子制御装置 Download PDF

Info

Publication number
JP6245044B2
JP6245044B2 JP2014078730A JP2014078730A JP6245044B2 JP 6245044 B2 JP6245044 B2 JP 6245044B2 JP 2014078730 A JP2014078730 A JP 2014078730A JP 2014078730 A JP2014078730 A JP 2014078730A JP 6245044 B2 JP6245044 B2 JP 6245044B2
Authority
JP
Japan
Prior art keywords
data
electronic control
communication frame
transmission
information
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
JP2014078730A
Other languages
English (en)
Other versions
JP2015201723A (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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2014078730A priority Critical patent/JP6245044B2/ja
Publication of JP2015201723A publication Critical patent/JP2015201723A/ja
Application granted granted Critical
Publication of JP6245044B2 publication Critical patent/JP6245044B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、複数の電子制御装置間でデータを送受信する通信システムおよび電子制御装置に関する。
従来、車両に搭載された複数の電子制御装置間で送受信されるデータを保護するために、メッセージ認証コードを生成し、通信データとメッセージ認証コードを暗号化して送信する技術が知られている(例えば、特許文献1を参照)。
特開2013−48374号公報
しかし、上記特許文献1に記載の技術では、送受信されるデータの暗号化および復号化と、メッセージ認証コードによる検証を行う必要があるため、電子制御装置における演算負荷が増加してしまうという問題があった。
本発明は、こうした問題に鑑みてなされたものであり、通信データ保護のために必要な演算負荷の増加を抑制することを目的とする。
上記目的を達成するためになされた本発明の通信システムは、車両に搭載され、互いにデータ通信可能に接続された第1電子制御装置と第2電子制御装置とを備える。
第1電子制御装置は、情報決定手段と、配列順決定手段と、情報送信手段と、フレーム送信手段とを備える。
情報決定手段は、第1電子制御装置が第2電子制御装置へ送信する通信フレームに格納される複数の格納データの配列順を決定するための配列決定用情報を、予め設定された情報決定条件に基づいて決定する。また配列順決定手段は、情報決定手段が決定した配列決定用情報に基づいて、通信フレームにおける複数の格納データの配列順を示す送信用配列順を決定する。そして情報送信手段は、情報決定手段が決定した配列決定用情報を第2電子制御装置へ送信する。またフレーム送信手段は、配列順決定手段が決定した送信用配列順に基づいて、通信フレームに格納される複数の格納データを配列した通信フレームを作成して送信する。
第2電子制御装置は、配列順特定手段と、破棄判断手段と、破棄手段とを備える。
配列順特定手段は、第1電子制御装置から配列決定用情報を受信すると、受信した配列決定用情報に基づいて、第1電子制御装置から受信した通信フレームにおける送信用配列順を特定する。また破棄判断手段は、第1電子制御装置から今回受信した通信フレームにおける複数の格納データのうち予め設定された判定用格納データの値と、第1電子制御装置から前回受信した通信フレームの判定用格納データの値との差が大きいことを示す予め設定された破棄判定条件が成立したか否かを判断する。そして破棄手段は、破棄判定条件が成立したと破棄判断手段が判断した場合に、第1電子制御装置から今回受信した通信フレームを破棄する。
このように構成された本発明の通信システムでは、第1電子制御装置が、複数の格納データを送信用配列順に配列した通信フレームを作成して第2電子制御装置へ送信する。このため、この送信用配列順を特定するための情報を取得していない非正規の装置(以下、非正規装置という)は、第1電子制御装置からの通信フレームを受信しても、上記送信用配列順を特定できず、受信した通信フレームに格納されているデータの内容を識別することが困難となる。
また、第1電子制御装置は配列決定用情報を第2電子制御装置へ送信し、第2電子制御装置は、受信した配列決定用情報に基づいて、送信用配列順を特定する。このため、第2電子制御装置は、第1電子制御装置からの通信フレームを受信すると、特定した上記送信用配列順に基づいて、受信した通信フレームに格納されているデータの内容を識別することができる。
さらに、本発明の通信システムでは、上記の非正規装置が第2電子制御装置へ通信フレームを送信しても、非正規装置が送信する通信フレームにおける複数の格納データの配列順と、第2電子制御装置が配列決定用情報に基づいて特定した上記送信用配列順とが異なる可能性が高い。すなわち、第2電子制御装置が非正規装置から通信フレームを受信した場合に、非正規装置から受信した通信フレームにおける判定用格納データの格納位置と、第2電子制御装置が特定した送信用配列順に基づいて特定される判定用格納データの格納位置とが異なる可能性が高い。
そして本発明の通信システムでは、第2電子制御装置が、今回受信した通信フレームと前回受信した通信フレームとで判定用格納データの値の差が大きいか否かを破棄判定条件に基づいて判断する。この判断結果に基づいて、今回受信した通信フレームと前回受信した通信フレームとで判定用格納データの値の差が大きい場合に、第2電子制御装置は、今回受信した通信フレームを破棄する。このため、第2電子制御装置が非正規装置から通信フレームを受信した場合には、上記破棄判定条件が成立し、非正規装置からの通信フレームを破棄する可能性が高くなる。
以上より、本発明の通信システムは、通信フレームに格納されているデータの内容を、送信用配列順を特定するための情報を取得することができる正規の装置に対して識別可能とする一方、非正規装置に対して識別困難とすることができる。さらに本発明の通信システムは、非正規装置からの通信フレームを破棄判定条件に基づいて判断することが可能である。そして、本発明の通信システムは、上記のように第1電子制御装置と第2電子制御装置との間で送受信される通信データを保護するために、通信フレームに格納されているデータを暗号化することなく平文として送信している。このため、本発明の通信システムによれば、通信データ保護のために必要な演算負荷の増加を抑制することができる。
車両用通信システム1の構成を示すブロック図である。 通信フレームの構造を示す図である。 送信処理を示すフローチャートである。 データ配列テーブルの更新方法を説明する図である。 第1〜8データの処理方法を説明する図である。 受信処理を示すフローチャートである。 車両用通信システム1の動作を示す第1のシーケンス図である。 車両用通信システム1の動作を示す第2のシーケンス図である。 対応関係テーブルを示す図である。
以下に本発明の実施形態を図面とともに説明する。
車両用通信システム1は、図1に示すように、電子制御装置(Electronic Control Unit)11,12,13(以下、ECU11,12,13という)と、外部装置14とを備える。
ECU11,12,13は、車両に搭載され、車両に搭載されている通信線15を介して互いにデータ通信可能に接続されており、CAN(Controller Area Network)通信プロトコルに従ってデータの送受信を行う。また通信線15には、外部装置14を通信線15に対して着脱可能とするためのコネクタ16が設けられている。
ECU11,12,13は、CAN通信部21と、制御部22とを備える。
CAN通信部21は、通信線15に接続された通信装置との間で、CAN通信プロトコルに基づいて通信フレームの送受信を行う。
制御部22は、CPU、ROM、RAM、I/O及びこれらの構成を接続するバスラインなどからなる周知のマイクロコンピュータを中心に構成され、車両を制御するための各種処理を実行する。
なおECU11,12,13としては、具体的には、エンジン制御を行うエンジンECU、ブレーキ制御を行うブレーキECU、ステアリング制御を行うステアリングECU、サスペンション制御を行うサスペンションECU、ライトのオン/オフを制御するECU等、種々の電子制御装置を挙げることができる。
外部装置14は、CAN通信部31と、制御部32とを備える。
CAN通信部31は、通信線15に接続された通信装置との間で、CAN通信プロトコルに基づいて通信フレームの送受信を行う。
制御部32は、CPU、ROM、RAM、I/O及びこれらの構成を接続するバスラインなどからなる周知のマイクロコンピュータを中心に構成され、ECU11,12,13との間で通信を行うことにより、車両状態の診断等を行うための各種処理を実行する。
また、CAN通信部21,31によって送受信が行われる通信フレームは、図2に示すように、スタートオブフレーム(SOF)、アービトレーションフィールド、コントロールフィールド、データフィールド、CRCフィールド、ACKフィールドおよびエンドオブフレーム(EOF)により構成されている。なお、アービトレーションフィールドは、11ビットまたは29ビットのアイデンティファイア(ID)と1ビットのRTRビットで構成される。以下、IDが11ビットである通信フレームを標準通信フレームといい、IDが29ビットである通信フレームを拡張通信フレームという。
また、CAN通信で使用する11ビットのアイデンティファイア(ID)をCANIDという。CANIDは、通信フレームに含まれるデータの内容、通信フレームの送信元、および通信フレームの送信先等に基づいて予め設定されている。そして、ECU11,12,13および外部装置14のそれぞれについて、送信する通信フレームに付与する送信CANIDと、受信対象となる通信フレームを識別するための受信CANIDとが予め設定される。
データフィールドは、それぞれ8ビット(すなわち1バイト)の第1データ、第2データ、第3データ、第4データ、第5データ、第6データ、第7データおよび第8データで構成される。
このように構成された車両用通信システム1において、ECU11,12,13および外部装置14は、後述の送信処理と受信処理を実行する。
まず、ECU11,12,13および外部装置14の制御部22,32が実行する送信処理の手順を説明する。送信処理は、ECU11,12,13および外部装置14の動作中に繰り返し実行される処理である。以下、ECU11,12,13および外部装置14を代表して、ECU11の送信処理を説明する。
送信処理は、ECU11に設定されている複数の送信CANID毎に設けられている。そして制御部22は、送信CANID毎に設けられた複数の送信処理をそれぞれ互いに独立に実行する。
この送信処理が実行されると、制御部22は、図3に示すように、まずS10にて、当該送信処理に対応する送信CANIDのデータ配列指示値(後述)を前回送信してから、対応する送信CANIDが付与された通信フレームを予め設定された送信判定回数(本実施形態では例えば4回)以上送信したか否かを判断する。ここで、対応する送信CANIDが設定された通信フレームを送信判定回数以上送信した場合には(S10:YES)、S30に移行する。
一方、対応する送信CANIDが設定された通信フレームを送信判定回数以上送信していない場合には(S10:NO)、S20にて、当該送信処理に対応する送信CANIDのデータ配列指示値を前回送信してから予め設定された送信判定時間(本実施形態では例えば40ms)以上経過したか否かを判断する。ここで、送信判定時間以上経過した場合には(S20:YES)、S30に移行する。
そしてS30に移行すると、データ配列指示値を算出する。具体的には、まず、ECU11,12,13の何れか1つが備えているカレンダ付時計(不図示)から、現時点における年月日と時刻を示すカレンダ情報を取得する。そして、データ配列指示値を算出するために予め設定された指示値算出用関数に、取得したカレンダ情報を入力変数として入力することで指示値算出用関数から出力される値を、データ配列指示値とする。
さらにS40にて、データ配列指示値を送信するための通信フレーム(以下、指示値送信用フレームという)を作成する。具体的には、まず、拡張通信フレームのアービトレーションフィールドを構成する29ビットのIDのうち、11ビットに、当該送信処理に対応する送信CANIDを格納し、残りのビットにデータ配列指示値を格納する。さらに、データフィールドの第1〜8データに、指示値送信用フレーム用に予め設定された固定値(本実施形態では、例えば0xFF)を格納する。これ以外は、通常の通信フレームの作成と同様である。
そしてS50にて、S40で作成した指示値送信用フレームをCAN通信部21から送信する。
その後S60にて、データフィールドを構成する第1〜8データの何れか1つを指示するためのデータ指示値iを1に設定する。なお、データ指示値iが1,2,3,4,5,6,7,8である場合にはそれぞれ、第1,2,3,4,5,6,7,8データを指示しているとする。
さらにS70にて、データフィールドを構成する第1〜8データのうちデータ指示値iで指示されるデータ(以下、第iデータという)について、当該送信処理に対応する送信CANIDのデータ配列テーブルを更新する。
データ配列テーブルは、制御部22のRAM内に、送信CANID毎および受信CANID毎に設けられる。そして、データ配列テーブルには、第1〜8データのそれぞれについて、互いに異なる1〜8までの値が設定される。なおデータ配列テーブルには、初期値として、第iデータに対してiが設定されている(i=1,2,3,・・・,8)。
S70では、具体的には、まず、第1〜8データのデータ配列を算出するために予め設定されたデータ配列算出用関数に、当該送信処理に対応する送信CANIDと、S30で算出されたデータ配列指示値と、データ指示値iとを入力変数として入力する。そして、データ配列算出用関数から出力される値を、第iデータの配列順として、データ配列テーブルを更新する。すなわち、データ配列指示値をNa、データ配列算出用関数をF、第iデータの配列順をk(k=1,2,3,・・・,8)と表記すると、下式(1)に示す関係が成り立つ。
k = F(CANID,Na,i) ・・・(1)
本実施形態では、データ配列算出用関数はハッシュ関数であり、1〜8のデータ指示値iの入力に対して、1〜8のうちで互いに異なる値を出力するように予め設定されている。
例えば、図4に示すように、データ配列テーブルには、初期値として、第1,2,3,4,5,6,7,8データに対してそれぞれ、1,2,3,4,5,6,7,8の配列順が設定されている(テーブルTB0を参照)。次に、データ配列指示値としてD1が算出されると、データ配列テーブルには、第1,2,3,4,5,6,7,8データに対してそれぞれ、4,1,2,6,3,8,5,7の配列順が設定される(テーブルTB1を参照)。さらに、データ配列指示値としてD2が算出されると、データ配列テーブルには、第1,2,3,4,5,6,7,8データに対してそれぞれ、3,7,8,2,6,1,4,5の配列順が設定される(テーブルTB2を参照)。
そして、S70の処理が終了すると、図3に示すように、S80にて、データ指示値iをインクリメント(1加算)し、S90にて、データ指示値iがデータフィールドのデータ総数(本実施形態では8)を超えているか否かを判断する。ここで、データ指示値iがデータフィールドのデータ総数以下である場合には(S90:NO)、S70に移行して、上述の処理を繰り返す。一方、データ指示値iがデータフィールドのデータ総数を超えている場合には(S90:YES)、送信処理を一旦終了する。
またS20にて、送信判定時間以上経過していない場合には(S20:NO)、S100にて、当該送信処理に対応する送信CANIDを付与した通信フレームを送信するために予め設定されたフレーム送信条件が成立したか否かを判断する。このフレーム送信条件は、例えば、対応する送信CANIDが付与された通信フレームを前回送信してから予め設定されたフレーム送信周期が経過することである。ここで、フレーム送信条件が成立していない場合には(S100:NO)、送信処理を一旦終了する。
一方、フレーム送信条件が成立した場合には(S100:YES)、S110にて、データ指示値iを1に設定する。さらにS120にて、第iデータについて通信フレーム内での配列順を設定する。具体的には、まず、対応する送信CANIDのデータ配列テーブルを参照して、第iデータの配列順kを特定する。そして、対応する送信CANIDが付与された通信フレームの第iデータとするためのデータが格納されている第i送信データ格納領域からデータを抽出し、抽出したデータを第k送信フレーム格納領域に格納する。なお、第i送信データ格納領域(i=1,2,3,・・・,8)および第k送信フレーム格納領域(k=1,2,3,・・・,8)は、制御部22のRAMに設けられている。
例えば、図4のデータ配列テーブルTB1に示すように、第1,2,3,4,5,6,7,8データに対してそれぞれ、4,1,2,6,3,8,5,7の配列順が設定されているとする。この場合には、図5に示すように、第1,2,3,4,5,6,7,8送信データ格納領域に格納されているデータがそれぞれ、第4,1,2,6,3,8,5,7送信フレーム格納領域に格納される。
なお、データフィールドの第1,2,3,4,5,6,7,8データのうち少なくとも1つは、エンジン回転数、車速、吸入空気量、アクセル開度、電子スロットル開度、吸気温度、エンジン水温、空燃比およびエンジントルクのように、短期間(例えば、上記フレーム送信周期)で急激に値が大きく変化しない情報を含む。
そして、S120の処理が終了すると、図3に示すように、S130にて、データ指示値iをインクリメントし、S140にて、データ指示値iがデータフィールドのデータ総数(本実施形態では8)を超えているか否かを判断する。ここで、データ指示値iがデータフィールドのデータ総数以下である場合には(S140:NO)、S120に移行して、上述の処理を繰り返す。一方、データ指示値iがデータフィールドのデータ総数を超えている場合には(S140:YES)、S150にて、通信フレームを作成する。具体的には、まず、標準通信フレームのアービトレーションフィールドを構成する11ビットに、当該送信処理に対応する送信CANIDを格納する。さらに、データフィールドの第1,2,3,4,5,6,7,8データにそれぞれ、第1,2,3,4,5,6,7,8送信フレーム格納領域に格納されているデータを格納する(図5を参照)。これ以外は、通常の通信フレームの作成と同様である。
その後S160にて、S150で作成した通信フレームをCAN通信部21から送信し、送信処理を一旦終了する。
次に、ECU11,12,13および外部装置14の制御部22,32が実行する受信処理の手順を説明する。受信処理は、ECU11,12,13および外部装置14の動作中に繰り返し実行される処理である。以下、ECU11,12,13および外部装置14を代表して、ECU11の受信処理を説明する。
受信処理は、ECU11に設定されている複数の受信CANID毎に設けられている。そして制御部22は、受信CANID毎に設けられた複数の受信処理をそれぞれ互いに独立に実行する。
この受信処理が実行されると、制御部22は、図6に示すように、まずS210にて、当該受信処理に対応する受信CANIDが付与された通信フレームを受信したか否かを判断する。ここで、通信フレームを受信していない場合には(S210:NO)、受信処理を一旦終了する。一方、通信フレームを受信した場合には(S210:YES)、S220にて、受信した通信フレームのアービトレーションフィールドにデータ配列指示値が格納されているか否かを判断する。
ここで、データ配列指示値が格納されている場合には(S220:YES)、S230にて、データ指示値iを1に設定する。さらにS240にて、データフィールドを構成する第iデータについて、当該受信処理に対応する受信CANIDのデータ配列テーブルを更新する。具体的には、まず、上記のデータ配列算出用関数に、当該受信処理に対応する受信CANIDと、受信した通信フレームのアービトレーションフィールドに格納されていたデータ配列指示値と、データ指示値iとを入力変数として入力する。そして、データ配列算出用関数から出力される値を、第iデータの配列順として、データ配列テーブルを更新する。
そして、S240の処理が終了すると、S250にて、データ指示値iをインクリメントし、S260にて、データ指示値iがデータフィールドのデータ総数(本実施形態では8)を超えているか否かを判断する。ここで、データ指示値iがデータフィールドのデータ総数以下である場合には(S260:NO)、S240に移行して、上述の処理を繰り返す。一方、データ指示値iがデータフィールドのデータ総数を超えている場合には(S260:YES)、受信処理を一旦終了する。
またS220にて、データ配列指示値が格納されていない場合には(S220:NO)、S270にて、受信した通信フレームのCRC(Cyclic Redundancy Check)の結果に基づいて、通信フレームを正常に受信したか否かを判断する。ここで、通信フレームを正常に受信していないと判断した場合には(S270:NO)、S280にて、受信した通信フレームを破棄して、受信処理を一旦終了する。
一方、通信フレームを正常に受信したと判断した場合には(S270:YES)、S290にて、データ指示値iを1に設定する。さらにS300にて、受信した通信フレームにおけるデータフィールドの第iデータを、対応する送信CANIDのデータ配列テーブルに基づいて特定される受信フレーム格納領域に格納する。なお、受信フレーム格納領域は、第1,2,3,4,5,6,7,8受信フレーム格納領域で構成されており、制御部22のRAMに設けられている。
S300では、具体的には、まず、対応する送信CANIDのデータ配列テーブルを参照して、第iデータの配列順kを特定する。そして、受信した通信フレームにおけるデータフィールドの第kデータを、第i受信フレーム格納領域に格納する。
例えば、図4のデータ配列テーブルTB1に示すように、第1,2,3,4,5,6,7,8データに対してそれぞれ、4,1,2,6,3,8,5,7の配列順が設定されているとする。この場合には、図5に示すように、受信した通信フレームにおけるデータフィールドの第1,2,3,4,5,6,7,8データはそれぞれ、第2,3,5,1,7,4,8,6受信フレーム格納領域に格納される。
そして、S300の処理が終了すると、S310にて、データ指示値iをインクリメントし、S320にて、データ指示値iがデータフィールドのデータ総数(本実施形態では8)を超えているか否かを判断する。ここで、データ指示値iがデータフィールドのデータ総数以下である場合には(S320:NO)、S300に移行して、上述の処理を繰り返す。一方、データ指示値iがデータフィールドのデータ総数を超えている場合には(S320:YES)、S330にて、データフィールドの第1〜8データについて、前回受信した値(以下、前回受信値という)と、今回受信した値(以下、今回受信値という)との差の絶対値(以下、受信値差という)が、予め設定された破棄判定値以上であるものがあるか否かを判断する。具体的には、第1,2,3,4,5,6,7,8受信フレーム格納領域に格納された値をそれぞれ、第1,2,3,4,5,6,7,8受信データ格納領域に格納された値とを比較し、これらの差の絶対値が破棄判定値以上であるか否かを判断する。なお、第j受信データ格納領域(j=1,2,3,・・・,8)は制御部22のRAMに設けられている。
ここで、第1〜8データについて、受信値差が破棄判定値以上であるものが1つ以上ある場合には(S330:YES)、前回受信値と今回受信値との間に整合性が無いと判定し、S340にて、受信した通信フレームを破棄して、受信処理を一旦終了する。
一方、第1〜8データの全てについて、受信値差が破棄判定値未満である場合には(S330:NO)、前回受信値と今回受信値との間に整合性があると判定し、S350にて、第1,2,3,4,5,6,7,8受信フレーム格納領域に格納されるデータをそれぞれ、第1,2,3,4,5,6,7,8受信データ格納領域に格納し(図5を参照)、受信処理を一旦終了する。
次に、このように構成された車両用通信システム1の動作の具体例を説明する。
図7に示すように、まず、ECU11が、値が例えば100であるCANID(以下、CANID100と表記する)に対応するデータ配列指示値としてD1を算出する(以下、値がD1であるデータ配列指示値をデータ配列指示値D1と表記する)。そしてECU11は、CANID100とデータ配列指示値D1とが格納された指示値送信用フレームF01を送信し(処理P01を参照)、算出したデータ配列指示値D1に基づいて、データ配列テーブルを更新する(処理P02を参照)。
CANID100が受信CANIDとして設定されているECU12は、指示値送信用フレームF01を受信すると(処理P03を参照)、受信した指示値送信用フレームF01に格納されているデータ配列指示値D1に基づいて、データ配列テーブルを更新する(処理P04を参照)。
その後にECU11が、CANID100と、CANID100に対応するデータ配列テーブルに基づいて配列順が変更された第1〜8データとが格納された通信フレームF02を送信する(処理P05を参照)。ECU12は、通信フレームF02を受信すると(処理P06を参照)、CANID100に対応するデータ配列テーブルに基づいて、通信フレームF02における第1〜8データの配列順を元に戻し、前回受信値と今回受信値との差に基づいて、第1〜8データの整合性を判定する。ここで、前回受信値と今回受信値との間に整合性があると判定され、受信したデータをECU12に格納する。
さらにECU11は、CANID100と、CANID100に対応するデータ配列テーブルに基づいて配列順が変更された第1〜8データとが格納された通信フレームF03を送信する(処理P07を参照)。ECU12は、通信フレームF03を受信すると(処理P08を参照)、第1〜8データについて、前回受信値と今回受信値との間に整合性があると判定され、受信したデータをECU12に格納する。
次に、ECU12が、値が例えば200であるCANID(以下、CANID200と表記する)に対応するデータ配列指示値としてD2を算出する(以下、値がD2であるデータ配列指示値をデータ配列指示値D2と表記する)。そしてECU12は、CANID200とデータ配列指示値D2とが格納された指示値送信用フレームF04を送信し(処理P09を参照)、算出したデータ配列指示値D2に基づいて、データ配列テーブルを更新する(処理P10を参照)。
CANID200が受信CANIDとして設定されているECU11は、指示値送信用フレームF04を受信すると(処理P11を参照)、受信した指示値送信用フレームF04に格納されているデータ配列指示値D2に基づいて、データ配列テーブルを更新する(処理P12を参照)。
その後にECU12が、CANID200と、CANID200に対応するデータ配列テーブルに基づいて配列順が変更された第1〜8データとが格納された通信フレームF05を送信する(処理P13を参照)。ECU11は、通信フレームF05を受信すると(処理P14を参照)、CANID200に対応するデータ配列テーブルに基づいて、通信フレームF05における第1〜8データの配列順を元に戻し、前回受信値と今回受信値との差に基づいて、第1〜8データの整合性を判定する。ここで、前回受信値と今回受信値との間に整合性があると判定され、受信したデータをECU11に格納する。
さらにECU12は、CANID200と、CANID200に対応するデータ配列テーブルに基づいて配列順が変更された第1〜8データとが格納された通信フレームF06を送信する(処理P15を参照)。ECU11は、通信フレームF06を受信すると(処理P16を参照)、第1〜8データの整合性判定を行う。ここで、前回受信値と今回受信値との間に整合性があると判定され、受信したデータをECU11に格納する。
また図8に示すように、ECU12が通信フレームF03を受信した後に(処理P08を参照)、ECU11が、CANID100に対応するデータ配列指示値としてD3を算出するとする(以下、値がD3であるデータ配列指示値をデータ配列指示値D3と表記する)。そしてECU11は、CANID100とデータ配列指示値D3とが格納された指示値送信用フレームF21を送信し(処理P21を参照)、算出したデータ配列指示値D3に基づいて、データ配列テーブルを更新する(処理P22を参照)。
CANID100が受信CANIDとして設定されているECU12は、指示値送信用フレームF21を受信すると(処理P23を参照)、受信した指示値送信用フレームF21に格納されているデータ配列指示値D3に基づいて、データ配列テーブルを更新する(処理P24を参照)。
その後、コネクタ16を介して通信線15に接続された非正規装置が、CANID100が格納された通信フレームF22を送信したとする(処理P25を参照)。
CANID100が受信CANIDとして設定されているECU12は、通信フレームF22を受信すると(処理P26を参照)、CANID100に対応するデータ配列テーブルに基づいて、通信フレームF22における第1〜8データの配列順を元に戻し、前回受信値と今回受信値との差に基づいて、第1〜8データの整合性を判定する(処理P27を参照)。ここで、前回受信値と今回受信値との間に整合性がないと判定され、上記の非正規装置から受信した通信フレームF22は破棄される。
その後にECU12が、CANID100と、CANID100に対応するデータ配列テーブルに基づいて配列順が変更された第1〜8データとが格納された通信フレームF23を送信する(処理P28を参照)。ECU12は、通信フレームF23を受信すると(処理P29を参照)、CANID100に対応するデータ配列テーブルに基づいて、通信フレームF23における第1〜8データの配列順を元に戻し、前回受信値と今回受信値との差に基づいて、第1〜8データの整合性を判定する。ここで、前回受信値と今回受信値との間に整合性があると判定され、受信したデータをECU12に格納する。
このように構成された車両用通信システム1は、車両に搭載され、互いにデータ通信可能に接続されたECU11とECU12とを備える。
ECU11は、ECU11がECU12へ送信する通信フレームに格納される第1〜8データの配列順を決定するためのデータ配列指示値を、指示値算出用関数にカレンダ情報を入力変数として入力することで算出する(S30)。またECU11は、算出したデータ配列指示値に基づいて、通信フレームに格納される第1〜8データの配列順を示すデータ配列テーブルを更新する(S60〜S90)。そしてECU11は、算出したデータ配列指示値をECU12へ送信する(S40〜S50)。またECU11は、更新されたデータ配列テーブルが示す配列順に基づいて、通信フレームに格納される第1〜8データを配列した通信フレームを作成して送信する(S110〜S160)。
ECU12は、ECU11からデータ配列指示値を受信すると、受信したデータ配列指示値に基づいて、データ配列テーブルを更新する(S230〜S260)。またECU12は、ECU11から今回受信した通信フレームにおける第1〜8データの値と、ECU11から前回受信した通信フレームにおける第1〜8データの値との差の絶対値(受信値差)が破棄判定値以上であるものがあるか否かを判断する(S330)。そしてECU12は、第1〜8データについて受信値差が破棄判定値以上であるものが1つ以上ある場合に(S330:YES)、ECU11から今回受信した通信フレームを破棄する(S340)。
このように構成された車両用通信システム1では、ECU11が、第1〜8データを、データ配列テーブルが示す配列順に配列した通信フレームを作成してECU12へ送信する。このため、データ配列テーブルが示す配列順を特定するための情報を取得していない非正規装置は、ECU11からの通信フレームを受信しても、データ配列テーブルが示す配列順を特定できず、受信した通信フレームに格納されているデータの内容を識別することが困難となる。
また、ECU11はデータ配列指示値をECU12へ送信し、ECU12は、受信したデータ配列指示値に基づいて、データ配列テーブルを更新する。このため、ECU12は、ECU11からの通信フレームを受信すると、更新したデータ配列テーブルに基づいて、受信した通信フレームに格納されているデータの内容を識別することができる。
さらに車両用通信システム1では、上記の非正規装置がECU12へ通信フレームを送信しても、非正規装置が送信する通信フレームにおける第1〜8データの配列順と、ECU12がデータ配列指示値に基づいて更新したデータ配列テーブルが示す配列順とが異なる可能性が高い。すなわち、ECU12が非正規装置から通信フレームを受信した場合に、非正規装置から受信した通信フレームにおける第1〜8データの格納位置と、ECU12が更新したデータ配列テーブルが示す配列順に基づいて特定される第1〜8データの格納位置とが異なる可能性が高い。
そして車両用通信システム1では、ECU12が、今回受信した通信フレームと前回受信した通信フレームとで第1〜8データの値の差が大きいか否かを破棄判定値に基づいて判断する。この判断結果に基づいて、今回受信した通信フレームと前回受信した通信フレームとで第1〜8データの値の差が大きい場合に、ECU12は、今回受信した通信フレームを破棄する。このため、ECU12が非正規装置から通信フレームを受信した場合には、第1〜8データについて受信値差が破棄判定値以上となり、非正規装置からの通信フレームを破棄する可能性が高くなる。
以上より車両用通信システム1は、通信フレームに格納されているデータの内容を、データ配列指示値を取得することができる正規の装置に対して識別可能とする一方、非正規装置に対して識別困難とすることができる。さらに車両用通信システム1は、非正規装置からの通信フレームを破棄判定値に基づいて判断することが可能である。そして車両用通信システム1は、上記のようにECU11とECU12との間で送受信される通信フレームを保護するために、通信フレームに格納されているデータを暗号化することなく平文として送信している。このため、車両用通信システム1によれば、通信データ保護のために必要な演算負荷の増加を抑制することができる。
また車両用通信システム1では、第1〜8データのうち少なくとも1つは、エンジン回転数、車速、吸入空気量、アクセル開度、電子スロットル開度、吸気温度、エンジン水温、空燃比およびエンジントルクの何れか1つを示す情報である。これらの情報は、連続性を有する制御変数であり、通信フレームの送信周期の間で連続性が保持される。このため、今回受信した通信フレームと前回受信した通信フレームとでデータの値の差が大きいか否かを判断するために好適である。さらに、上記差が大きいか否かを判断するためのデータを通信フレームのデータフィールドに別途格納する必要がなくなるため、通信フレームのデータフィールドを有効に利用することができる。
また車両用通信システム1では、指示値送信用フレームを送信してから通信フレームを送信判定回数以上送信した場合に(S10:YES)、新たなデータ配列指示値を算出する(S30)。これにより、通信フレームを送信する毎に指示値送信用フレームを送信する必要がなくなり、データ配列指示値を算出したり指示値送信用フレームを送信したりするための処理負荷を低減することができる。
また車両用通信システム1では、ECU11は、データ配列指示値を入力変数として入力することにより配列順を示す情報を出力するデータ配列算出用関数に基づいて、第1〜8データの配列順を決定する(S70)。またECU12は、上記データ配列算出用関数に基づいて、第1〜8データの配列順を特定する。これにより、複数のデータ配列指示値のそれぞれについて、データ配列指示値と配列順との対応関係を示す情報をECU11,12に記憶する必要がなくなり、ECU11,12が備える記憶装置の記憶容量の増大を抑制することができる。
以上説明した実施形態において、車両用通信システム1は本発明における通信システム、ECU11は本発明における第1電子制御装置、ECU12は本発明における第2電子制御装置である。
また、S30の処理は本発明における情報決定手段、S60〜S90の処理は本発明における配列順決定手段、S40〜S50の処理は本発明における情報送信手段、S110〜S160の処理は本発明におけるフレーム送信手段である。
また、S230〜S260の処理は本発明における配列順特定手段、S330の処理は本発明における破棄判断手段、S340の処理は本発明における破棄手段である。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態では、車両用通信システム1が3台のECUを備えるものを示したが、2台または4台以上のECUを備えるようにしてもよい。
また上記実施形態では、カレンダ情報を使用してデータ配列指示値を算出するものを示した。これにより、データ配列指示値を算出するための元値が循環した値とならないため、過去に使用したのと同一の元値を用いてデータ配列指示値を算出することがなくなる。なお、循環した値とならない元値として、車両の積算走行距離を示す情報を用いるようにしてもよい。
また上記実施形態では、指示値送信用フレームにおけるデータフィールドの第1〜8データに指示値送信用フレーム用の固定値(本実施形態では0xFF)を格納するものを示した。しかし、指示値送信用フレームのデータフィールドに、通常の通信フレームに格納するデータを格納するようにしてもよい。この場合に、指示値送信用フレームのデータフィールドに格納されるデータの配列順は、この指示値送信用フレームに格納されているデータ配列指示値に対応したものではなく、前回のデータ配列指示値に対応したものである。
また上記実施形態では、データ配列算出用関数にデータ配列指示値を入力することにより第1〜8データの配列順を決定するものを示した。しかし、図9に示すように、複数のデータ配列指示値のそれぞれについてデータ配列指示値と配列順との対応関係を示す対応関係テーブルを、ECU11,12,13および外部装置14に予め記憶しておくようにしてもよい。これにより、算出したデータ配列指示値に基づいて対応関係テーブルを参照することで容易に配列順を決定することができ、さらに、受信したデータ配列指示値に基づいて対応関係テーブルを参照することで容易に配列順を特定することができる。このため、配列順を決定または特定するための処理負荷を低減することができる。
また、図9に示す対応関係テーブルはデータ配列指示値と配列順との対応関係を示しているが、対応関係テーブルがデータ位置情報と配列順との対応関係を示すようにしてもよい。この場合には、データ配列指示値とデータ位置情報とを関係付ける関数演算を行うことによりデータ位置情報を算出した後に、算出したデータ位置情報に基づいて対応関係テーブルを参照する。
また上記実施形態では、受信値差が破棄判定値以上である場合に(S330:YES)、通信フレームを破棄して(S340)、受信処理を一旦終了するものを示した。しかし、受信値差が破棄判定値以上である場合に(S330:YES)、通信フレームを破棄し(S340)、さらに、通信フレームを破棄した旨を示す破棄通知を、他のECUに送信するようにしてもよい。これにより、ユーザインタフェースを備えた他のECU置を介して車両の乗員へ通知したり、無線通信機能を備えた他のECUを介してサービスセンターへ車両状態を通知したりすることが可能となる。
また上記実施形態では、第1〜8データの全てについて受信値差が破棄判定値以上であるか否かを判断するものを示したが、第1〜8データのうちの少なくとも1つについて受信値差が破棄判定値以上であるか否かを判断するようにしてもよい。
また上記実施形態では、CAN通信プロトコルに基づいて通信を行うものを示したが、これに限定されるものではなく、例えばFlexRay(登録商標)等の他の通信プロトコルに基づいて通信を行う場合であっても本発明を適用可能である。
1…車両用通信システム、11,12,13…ECU

Claims (7)

  1. 車両に搭載され、互いにデータ通信可能に接続された第1電子制御装置(11)と第2電子制御装置(12)とを備える通信システム(1)であって、
    前記第1電子制御装置は、
    前記第1電子制御装置が前記第2電子制御装置へ送信する通信フレームに格納される複数の格納データの配列順を決定するための配列決定用情報を、予め設定された情報決定条件に基づいて決定する情報決定手段(S30)と、
    前記情報決定手段が決定した前記配列決定用情報に基づいて、前記通信フレームにおける複数の前記格納データの配列順を示す送信用配列順を決定する配列順決定手段(S60〜S90)と、
    前記情報決定手段が決定した前記配列決定用情報を前記第2電子制御装置へ送信する情報送信手段(S40〜S50)と、
    前記配列順決定手段が決定した前記送信用配列順に基づいて、前記通信フレームに格納される複数の格納データを配列した前記通信フレームを作成して送信するフレーム送信手段(S110〜S160)とを備え、
    前記第2電子制御装置は、
    前記第1電子制御装置から前記配列決定用情報を受信すると、受信した前記配列決定用情報に基づいて、前記第1電子制御装置から受信した前記通信フレームにおける前記送信用配列順を特定する配列順特定手段(S230〜S260)と、
    前記第1電子制御装置から前記通信フレームを受信する毎に、前記第1電子制御装置から今回受信した前記通信フレームにおける複数の前記格納データのうち予め設定された判定用格納データの値と、前記第1電子制御装置から前回受信した前記通信フレームの前記判定用格納データの値との差が大きいことを示す予め設定された破棄判定条件が成立したか否かを判断する破棄判断手段(S330)と、
    前記破棄判定条件が成立したと前記破棄判断手段が判断した場合に、前記第1電子制御装置から今回受信した前記通信フレームを破棄する破棄手段(S340)とを備える
    ことを特徴とする通信システム。
  2. 前記判定用格納データは、前記車両のエンジン回転数、車速、吸入空気量、アクセル開度、電子スロットル開度、吸気温度、エンジン水温、空燃比およびエンジントルクの何れか1つを示す情報である
    ことを特徴とする請求項1に記載の通信システム。
  3. 前記情報決定手段は、
    前記情報送信手段が前記配列決定用情報を送信してから、前記フレーム送信手段が前記通信フレームを、複数回となるように予め設定された判定回数以上送信した場合に、新たな前記配列決定用情報を決定する
    ことを特徴とする請求項1または請求項2に記載の通信システム。
  4. 前記第1電子制御装置の前記配列順決定手段は、前記配列決定用情報と前記送信用配列順との対応関係を予め設定した対応関係情報に基づいて、前記送信用配列順を決定し、
    前記第2電子制御装置の前記配列順特定手段は、前記対応関係情報に基づいて、前記送信用配列順を特定する
    ことを特徴とする請求項1〜請求項3の何れか1項に記載の通信システム。
  5. 前記第1電子制御装置の前記配列順決定手段は、前記配列決定用情報を入力変数として入力することにより前記送信用配列順を示す情報を出力する配列算出用関数に基づいて、前記送信用配列順を決定し、
    前記第2電子制御装置の前記配列順特定手段は、前記配列算出用関数に基づいて、前記送信用配列順を特定する
    ことを特徴とする請求項1〜請求項3の何れか1項に記載の通信システム。
  6. 前記判定用格納データは、前記通信フレームにおける全ての前記格納データのうちの一部である
    ことを特徴とする請求項1〜請求項5の何れか1項に記載の通信システム。
  7. 請求項1〜請求項6の何れか1項に記載の通信システムにおいて、前記第2電子制御装置として使用される電子制御装置であって、
    前記第1電子制御装置から前記配列決定用情報を受信すると、受信した前記配列決定用情報に基づいて、前記第1電子制御装置から受信した前記通信フレームにおける前記送信用配列順を特定する配列順特定手段と、
    前記第1電子制御装置から前記通信フレームを受信する毎に、前記第1電子制御装置から今回受信した前記通信フレームにおける複数の前記格納データのうち予め設定された判定用格納データの値と、前記第1電子制御装置から前回受信した前記通信フレームの前記判定用格納データの値との差が大きいことを示す予め設定された破棄判定条件が成立したか否かを判断する破棄判断手段と、
    前記破棄判定条件が成立したと前記破棄判断手段が判断した場合に、前記第1電子制御装置から今回受信した前記通信フレームを破棄する破棄手段とを備える
    ことを特徴とする電子制御装置。
JP2014078730A 2014-04-07 2014-04-07 通信システムおよび電子制御装置 Active JP6245044B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014078730A JP6245044B2 (ja) 2014-04-07 2014-04-07 通信システムおよび電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014078730A JP6245044B2 (ja) 2014-04-07 2014-04-07 通信システムおよび電子制御装置

Publications (2)

Publication Number Publication Date
JP2015201723A JP2015201723A (ja) 2015-11-12
JP6245044B2 true JP6245044B2 (ja) 2017-12-13

Family

ID=54552664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014078730A Active JP6245044B2 (ja) 2014-04-07 2014-04-07 通信システムおよび電子制御装置

Country Status (1)

Country Link
JP (1) JP6245044B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06120928A (ja) * 1992-10-09 1994-04-28 Matsushita Electric Ind Co Ltd データ通信方法およびその装置
JP2001116569A (ja) * 1999-10-18 2001-04-27 Matsushita Electric Ind Co Ltd 距離係数算出方法と、移動距離算出装置
JP3937774B2 (ja) * 2001-09-05 2007-06-27 三菱ふそうトラック・バス株式会社 車両の定速走行制御装置
JP2008061041A (ja) * 2006-08-31 2008-03-13 Sharp Corp 通信システム、プログラムおよび記録媒体
JP5522154B2 (ja) * 2011-12-07 2014-06-18 株式会社デンソー 中継システム及び、当該中継システムを構成する中継装置、通信装置

Also Published As

Publication number Publication date
JP2015201723A (ja) 2015-11-12

Similar Documents

Publication Publication Date Title
KR102471960B1 (ko) 차량용 can 통신 보안 장치 및 방법
US20160121816A1 (en) Can communication method and data frame structure for improving communication speed through increase in data amount
JP2015154185A (ja) 車載制御装置
CN110086566B (zh) 一种车载数据的传输方法及车载设备
KR20150024710A (ko) Autosar 기반 통신방법 및 통신장치
JP2007036907A (ja) ゲートウェイ装置
JP2014045421A (ja) ネットワークシステム
EP3854651A1 (en) Electronic control device, electronic control method, and program
WO2017026360A1 (ja) 通信システム
CN112602287A (zh) Can通信方法、设备及系统
JP6245044B2 (ja) 通信システムおよび電子制御装置
JP2006253922A (ja) ゲートウェイ装置及びゲートウェイ装置におけるデータ転送方法
US20230129859A1 (en) Controller area network traffic flow confidentiality
JP2017017615A (ja) 通信装置、および通信システム
JP2017130756A (ja) 中継装置
JP7140011B2 (ja) ゲートウェイ装置
CN112149696B (zh) 图嵌入模型的训练方法及装置
JP7110950B2 (ja) ネットワークシステム
JP6183281B2 (ja) 通信システムおよび電子制御装置
JP2022101967A (ja) データ保存装置、データ保存方法、およびデータ保存プログラム
CN111742520B (zh) 用于机动车辆的路由网关和方法
CN114650194B (zh) 数据通信的方法、装置、电子设备及存储介质
JP2012175353A (ja) 無線通信装置および通信システム
CN114615213B (zh) 一种基于消息队列的多网络链路接口实现方法及其系统
US20240195799A1 (en) Secure tunnelling of a frame in an in-vehicle communication network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170512

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171030

R151 Written notification of patent or utility model registration

Ref document number: 6245044

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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