JP2013207600A - Communication node, communication system, and communication method - Google Patents

Communication node, communication system, and communication method Download PDF

Info

Publication number
JP2013207600A
JP2013207600A JP2012075122A JP2012075122A JP2013207600A JP 2013207600 A JP2013207600 A JP 2013207600A JP 2012075122 A JP2012075122 A JP 2012075122A JP 2012075122 A JP2012075122 A JP 2012075122A JP 2013207600 A JP2013207600 A JP 2013207600A
Authority
JP
Japan
Prior art keywords
error detection
data
detection code
data frame
counter value
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
JP2012075122A
Other languages
Japanese (ja)
Inventor
Masaya Shobu
昌也 菖蒲
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 JP2012075122A priority Critical patent/JP2013207600A/en
Publication of JP2013207600A publication Critical patent/JP2013207600A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To improve security of communication.SOLUTION: A first communication node includes a first error detection code operation unit for calculating a first error detection code, based on data to be transmitted to a second communication node and a counter value representing transmission order of the data, using the counter value as a seed, and a transmission control unit for controlling transmission of a data frame, which includes the first error detection code and the data, to the second communication node. The second communication node includes a communication module for receiving a data frame from the first communication node, a second error detection code operation unit for calculating a second error detection code based on data in the data frame and a counter value representing receiving order of the data, using the counter value as a seed, an error detection unit for determining whether the second error detection code matches a first error detection code in the data frame or not, and a signal processing unit for performing a process according to the data in the data frame, based on the determination result of the error detection unit.

Description

本発明は、例えば、車両に搭載される通信システムに関する。   The present invention relates to a communication system mounted on a vehicle, for example.

車両には、該車両内の様々な制御を行うために車載ネットワークが構築されることが多い。車載ネットワークは、LANに、多くの電子制御ユニット(ECU: Electronic Control Unit)、センサ、アクチュエータ等が接続されることにより実現される。以下、車載ネットワークに接続される、電子制御ユニット、センサ、アクチュエータ等を通信ノードと呼ぶ。通信ノードは、車両内の様々な位置に設置される。通信ノード間は、通信線や電線により接続される。   In many cases, an in-vehicle network is constructed in a vehicle in order to perform various controls in the vehicle. The in-vehicle network is realized by connecting many electronic control units (ECUs), sensors, actuators, and the like to the LAN. Hereinafter, electronic control units, sensors, actuators, and the like connected to the in-vehicle network are referred to as communication nodes. Communication nodes are installed at various positions in the vehicle. Communication nodes are connected by communication lines or electric wires.

通信ノードが、受信したデータが正しいか否かを確認する方法として、オートザー(AUTOSAR: Automotive Open System Architecture)で検討されているE2Eプロトコルで提案されている方法がある。E2Eプロトコルで提案されている方法では、送信側は、データと同時に、CRCと、カウンタ値とを送信する。受信側は、CRCと、カウンタ値に基づいて、データの確からしさを確認する。   As a method for the communication node to confirm whether or not the received data is correct, there is a method proposed in the E2E protocol that is being studied by AUTOSAR (Automatic Open System Architecture). In the method proposed in the E2E protocol, the transmitting side transmits the CRC and the counter value simultaneously with the data. The receiving side confirms the certainty of the data based on the CRC and the counter value.

CRC値に基づいて通信バスの短絡故障を判定することにより、通信バスが短絡故障しても、外部装置の誤動作を抑えることができる通信装置が知られている(例えば、特許文献1参照)。   A communication device that can suppress malfunction of an external device even if the communication bus is short-circuited by determining a short-circuit failure of the communication bus based on the CRC value is known (for example, see Patent Document 1).

特開2010−130091号公報JP 2010-130091 A

上述したように、受信したデータが正しいか否かを確認する方法として、E2Eプロトコルで提案されている方法がある。   As described above, there is a method proposed in the E2E protocol as a method for confirming whether received data is correct.

CAN(Controller Area Network)に、E2Eプロトコルで提案されている方法を適用する場合について説明する。   A case where the method proposed in the E2E protocol is applied to a CAN (Controller Area Network) will be described.

CANには、「データフレーム」、「リモートフレーム」、「エラーフレーム」、「オーバーロードフレーム」と呼ばれる4種類の異なる情報を表すフレームが定義されている。CANでは、データエリアのサイズは、8バイト以下に規定されている。   In CAN, four types of frames representing different types of information called “data frame”, “remote frame”, “error frame”, and “overload frame” are defined. In CAN, the size of the data area is defined as 8 bytes or less.

図1は、CANに、E2Eプロトコルで提案されている方法を適用する場合のデータフレームの一例を示す。データフレームには、データフィールド、アービトレーション、コントロール、誤り検出符号、ACKフィールドが含まれる。図1では、アービトレーション、コントロール、ACKフィールドは省略される。   FIG. 1 shows an example of a data frame when a method proposed in the E2E protocol is applied to CAN. The data frame includes a data field, arbitration, control, error detection code, and ACK field. In FIG. 1, the arbitration, control, and ACK fields are omitted.

図1には、データフィールドと、誤り検出符号との和が8バイトである例が示される。CRCと、カウンタ値のサイズの和が2バイトである場合、8バイトのデータフィールドのうち、2バイトがCRCと、カウンタ値により占有される。つまり、8バイトのうち、データの確からしさを確認するために2バイトが占有される。送信するデータに対して、データの確からしさを確認するためのデータの割合が多く、通信負荷が大きい。   FIG. 1 shows an example in which the sum of the data field and the error detection code is 8 bytes. When the sum of the CRC and the counter value size is 2 bytes, 2 bytes are occupied by the CRC and the counter value in the 8-byte data field. That is, of the 8 bytes, 2 bytes are occupied in order to confirm the certainty of the data. The ratio of data for confirming the accuracy of data is large with respect to data to be transmitted, and the communication load is large.

通信負荷が大きいため、CANに、E2Eプロトコルで提案されている方法を適用するには、ネットワーク全体のバス負荷を増大させなければならないかも知れない。さらに、データラインを増設することを検討しなければならないかもしれない。また、データレイアウトを見直さなければならないかも知れない。   Since the communication load is large, to apply the method proposed in the E2E protocol to CAN, it may be necessary to increase the bus load of the entire network. In addition, you may have to consider adding more data lines. You may also have to review the data layout.

本発明は、上述の点に鑑みてなされたものであり、通信の安全性を改善することを目的とする。   The present invention has been made in view of the above points, and an object thereof is to improve the safety of communication.

開示の一実施例の通信ノードは、
通信システムに含まれる通信ノードであって、
他の通信ノードへ送信するデータと、該データの送信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第1の誤り検出符号を計算する第1の誤り検出符号演算部と、
前記他の通信ノードへ、前記第1の誤り検出符号演算部により計算された第1の誤り検出符号と、前記データとを含むデータフレームを送信する制御を行う送信制御部と
を有する。
The communication node of one embodiment of the disclosure is
A communication node included in the communication system,
A first error detection code computing unit that calculates a first error detection code using the counter value as a seed based on data to be transmitted to another communication node and a counter value representing the transmission order of the data;
A transmission control unit configured to control transmission of a data frame including the first error detection code calculated by the first error detection code calculation unit and the data to the other communication node;

開示の一実施例の通信ノードは、
通信システムに含まれる通信ノードであって、
他の通信ノードからのデータフレームを受信する通信モジュールと、
該通信モジュールにより受信されたデータフレームに含まれるデータと、該データの受信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、誤り検出符号を計算する誤り検出符号演算部と、
該誤り検出符号演算部により計算された誤り検出符号と、前記データフレームに含まれる誤り検出符号とが一致するか否かを判定する誤り検出部と、
該誤り検出部による判定結果に基づいて、前記データフレームに含まれるデータに応じた処理を行う信号処理部と
を有する。
The communication node of one embodiment of the disclosure is
A communication node included in the communication system,
A communication module for receiving data frames from other communication nodes;
An error detection code calculation unit that calculates an error detection code using the counter value as a seed based on data included in the data frame received by the communication module and a counter value indicating the reception order of the data;
An error detection unit that determines whether or not the error detection code calculated by the error detection code calculation unit and the error detection code included in the data frame match;
A signal processing unit that performs processing according to data included in the data frame based on a determination result by the error detection unit.

開示の一実施例の通信システムは、
複数の通信ノードを有する通信システムであって、
第1の通信ノードは、
第2の通信ノードへ送信するデータと、該データの送信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第1の誤り検出符号を計算する第1の誤り検出符号演算部と、
前記第2の通信ノードへ、前記第1の誤り検出符号演算部により計算された第1の誤り検出符号と、前記データとを含むデータフレームを送信する制御を行う送信制御部と
を有し、
前記第2の通信ノードは、
前記第1の通信ノードからのデータフレームを受信する通信モジュールと、
該通信モジュールにより受信されたデータフレームに含まれるデータと、該データの受信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第2の誤り検出符号を計算する第2の誤り検出符号演算部と、
該第2の誤り検出符号演算部により計算された第2の誤り検出符号と、前記データフレームに含まれる第1の誤り検出符号とが一致するか否かを判定する誤り検出部と、
該誤り検出部による判定結果に基づいて、前記データフレームに含まれるデータに応じた処理を行う信号処理部と
を有する。
A communication system according to an embodiment of the disclosure includes:
A communication system having a plurality of communication nodes,
The first communication node is
A first error detection code computing unit that calculates a first error detection code using the counter value as a seed based on data to be transmitted to the second communication node and a counter value representing the transmission order of the data; ,
A transmission control unit that performs control to transmit a data frame including the first error detection code calculated by the first error detection code calculation unit and the data to the second communication node;
The second communication node is
A communication module for receiving a data frame from the first communication node;
Second error detection for calculating a second error detection code using the counter value as a seed based on data included in the data frame received by the communication module and a counter value indicating the reception order of the data A sign calculation unit;
An error detection unit that determines whether or not the second error detection code calculated by the second error detection code calculation unit matches the first error detection code included in the data frame;
A signal processing unit that performs processing according to data included in the data frame based on a determination result by the error detection unit.

開示の一実施例の通信方法は、
複数の通信ノードを有する通信システムにおける通信方法であって、
第1の通信ノードは、
第2の通信ノードへ送信するデータと、該データの送信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第1の誤り検出符号を計算し、
前記第2の通信ノードへ、前記第1の誤り検出符号と、前記データとを含むデータフレームを送信する制御を行い、
前記第2の通信ノードは、
前記第1の通信ノードからのデータフレームを受信し、
該データフレームに含まれるデータと、該データの受信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第2の誤り検出符号を計算し、
該第2の誤り検出符号と、前記データフレームに含まれる第1の誤り検出符号とが一致するか否かを判定し、
該判定結果に基づいて、前記データフレームに含まれるデータに応じた処理を行う。
A communication method according to an embodiment of the disclosure is as follows.
A communication method in a communication system having a plurality of communication nodes,
The first communication node is
Based on the data to be transmitted to the second communication node and the counter value representing the transmission order of the data, the first error detection code is calculated using the counter value as a seed,
Performing control to transmit a data frame including the first error detection code and the data to the second communication node;
The second communication node is
Receiving a data frame from the first communication node;
Based on the data included in the data frame and the counter value representing the reception order of the data, the second error detection code is calculated using the counter value as a seed,
Determining whether the second error detection code and the first error detection code included in the data frame match;
Based on the determination result, processing according to the data included in the data frame is performed.

開示の実施例によれば、通信の安全性を改善することができる。   According to the disclosed embodiments, communication security can be improved.

データフレームの一例を示す図である。It is a figure which shows an example of a data frame. 通信システムの一実施例を示す図である。It is a figure which shows one Example of a communication system. 通信システムの一実施例を示す図である。It is a figure which shows one Example of a communication system. データフレームの一実施例を示す図である。It is a figure which shows one Example of a data frame. 通信ノードの一実施例を示す図である。It is a figure which shows one Example of a communication node. 通信ノードの一実施例を示す機能ブロック図である。It is a functional block diagram which shows one Example of a communication node. 通信ノードの動作の一実施例を示すフローチャートである。It is a flowchart which shows one Example of operation | movement of a communication node. 通信ノードの動作の一実施例を示すフローチャートである。It is a flowchart which shows one Example of operation | movement of a communication node.

次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
Next, the form for implementing this invention is demonstrated, referring drawings based on the following Examples.
In all the drawings for explaining the embodiments, the same reference numerals are used for those having the same function, and repeated explanation is omitted.

<実施例>
<通信システム>
図2は、通信システムの一実施例を示す。
<Example>
<Communication system>
FIG. 2 shows an embodiment of a communication system.

通信システムは、複数の通信ノード100(nは、n>0の整数)を有する。図2には、一例としてn=4の場合について示される。nの値は、通信システムに含まれる通信ノードの数に応じて適宜変更可能である。また、通信システムに、各通信ノード100に接続される他の通信ノード(図示無し)が1又は複数含まれてもよい。他の通信ノードが複数含まれる場合、該他の通信ノードは、複数の通信ノード100のうち、最も近い位置に配置された通信ノードと接続されるのが好ましい。 The communication system includes a plurality of communication nodes 100 n (n is an integer of n> 0). FIG. 2 shows an example where n = 4. The value of n can be changed as appropriate according to the number of communication nodes included in the communication system. Further, the communication system may include one or a plurality of other communication nodes (not shown) connected to each communication node 100 n . When a plurality of other communication nodes are included, the other communication nodes are preferably connected to a communication node arranged at the closest position among the plurality of communication nodes 100 n .

通信ノード100は、電子制御ユニット(ECU: Electronic Control Unit)等により実現されてもよい。他の通信ノードは、電子制御ユニットにより実現されてもよいし、センサ、アクチュエータ等により実現されてもよい。 The communication node 100 n may be realized by an electronic control unit (ECU) or the like. The other communication node may be realized by an electronic control unit, or may be realized by a sensor, an actuator, or the like.

具体的には、データバス150に、複数の通信ノード100が接続されることにより、車載ネットワークが構成される。該車載ネットワークには、CAN(Controller Area Network)が含まれる。CANは、ISO15118によりハードウェア仕様と、ソフトウェア仕様が規定されている。該車載ネットワークには、LIN(Local Interconnect Network)が含まれてもよい。また、該車載ネットワークには、FlexRay(登録商標)に従って通信を行うものが含まれてもよい。 Specifically, an in-vehicle network is configured by connecting a plurality of communication nodes 100 n to the data bus 150. The in-vehicle network includes a CAN (Controller Area Network). For CAN, hardware specifications and software specifications are defined by ISO15118. The in-vehicle network may include a LIN (Local Interconnect Network). Further, the in-vehicle network may include one that performs communication according to FlexRay (registered trademark).

通信ノード100は、データバス150に接続される。通信ノード100は、例えば車両等の移動体に搭載される。通信システムの一実施例では、車両に搭載される。 The communication node 100 n is connected to the data bus 150. The communication node 100 n is mounted on a moving body such as a vehicle. In one embodiment of the communication system, it is mounted on a vehicle.

図3は、車両に搭載される通信システムの一実施例を示す。図3には、車両に、図2に示される通信システムが搭載される例が示される。   FIG. 3 shows an embodiment of a communication system mounted on a vehicle. FIG. 3 shows an example in which the communication system shown in FIG. 2 is mounted on a vehicle.

通信システムの一実施例では、通信ノード100は、エンジン、駆動系、トランスミッション、ボディ等に搭載される。エンジン、駆動系、トランスミッション、ボディに関わらず、通信ノード100の搭載位置は適宜変更可能である。 In one embodiment of the communication system, the communication node 100 n is mounted on an engine, a drive system, a transmission, a body, and the like. Engine, drive train, transmission, regardless of the body, the mounting position of the communication node 100 n may be changed as appropriate.

図3に示される例では、通信ノード100は、ブレーキを制御するブレーキ電子制御ユニットであってもよい。通信ノード100は、エンジンを制御するエンジン電子制御ユニットであってもよい。通信ノード100は、メータを制御するメータ電子制御ユニットであってもよい。通信ノード100は、ドアの開閉を制御するドア電子制御ユニットであってもよい。ブレーキを制御する機能を有する電子制御ユニット、エンジンを制御する機能を有する電子制御ユニット、メータを制御する機能を有する電子制御ユニット、ドアの開閉を制御する機能を有する電子制御ユニット以外の制御ユニットが含まれてもよい。 In the example shown in FIG. 3, the communication node 100 1 can be a brake electronic control unit for controlling the brake. The communication node 100 2 may be an electronic engine control unit for controlling the engine. The communication node 100 3 may be a meter electronic control unit for controlling the meter. The communication node 100 4 may be a door electronic control unit for controlling the opening and closing of the door. An electronic control unit having a function of controlling a brake, an electronic control unit having a function of controlling an engine, an electronic control unit having a function of controlling a meter, and a control unit other than an electronic control unit having a function of controlling opening / closing of a door May be included.

通信システムの一実施例では、誤り検出符号を計算する際に、シード(Seed)と、送信するデータ(以下、「データ」という)とを利用する。具体的には、シードとして、カウンタのカウンタ値を利用する。カウンタのカウンタ値は、データの送信順序を表すものであってもよい。データの送信順序を表すものである場合、カウンタ値はデータ送信に伴って変化する。例えば、カウンタのカウンタ値は、データ送信に伴って変化する。通信システムの一実施例では、データ送信に伴って、カウンタ値が1増加する場合について説明する。具体的には、1フレーム送信される度に、カウンタ値が1増加する。カウンタ値の変化分については適宜設定可能である。   In one embodiment of the communication system, when calculating an error detection code, a seed and data to be transmitted (hereinafter referred to as “data”) are used. Specifically, the counter value of the counter is used as a seed. The counter value of the counter may represent the data transmission order. When the data transmission order is indicated, the counter value changes with the data transmission. For example, the counter value of the counter changes with data transmission. In one embodiment of the communication system, a case where the counter value increases by 1 as data is transmitted will be described. Specifically, every time one frame is transmitted, the counter value increases by one. The change in the counter value can be set as appropriate.

誤り検出符号として、巡回符号(CRC: Cyclic Redundancy Check)が利用されてもよいし、チェックサムが利用されてもよいし、ハッシュ関数が利用されてもよい。誤り検出符号は、データに符号誤り(エラー)が発生した場合に、該符号誤りを検出できるものであれば、巡回符号、チェックサム、ハッシュ関数に限られない。誤り検出符号等を用いることにより、通信システムの信頼性を確保できる。データに符号誤り(エラー)が発生した場合に、該符号誤りを検出し、誤り訂正できるものが利用されてもよい。   As the error detection code, a cyclic code (CRC: Cyclic Redundancy Check) may be used, a checksum may be used, or a hash function may be used. The error detection code is not limited to a cyclic code, a checksum, and a hash function as long as the code error can be detected when a code error (error) occurs in the data. By using an error detection code or the like, the reliability of the communication system can be ensured. When a code error (error) occurs in data, a data that can detect and correct the code error may be used.

通信システムの一実施例では、誤り検出符号として、巡回符号が利用される場合について説明する。   In one embodiment of the communication system, a case where a cyclic code is used as an error detection code will be described.

データを送信する通信ノード(以下、「送信ノード」という)は、カウンタ値と、データとを利用して誤り検出符号を計算する。つまり、誤り検出符号をデータの送信順序を表すカウンタ値と、データとにより演算する。送信ノードは、該データと、該誤り検出符号とを含むデータフレームを送信する。   A communication node that transmits data (hereinafter referred to as “transmission node”) calculates an error detection code using the counter value and the data. That is, the error detection code is calculated from the counter value indicating the data transmission order and the data. The transmitting node transmits a data frame including the data and the error detection code.

図4は、送信ノードにより送信されるデータフレームの一実施例を示す。データフレームには、データフィールド、アービトレーション、コントロール、誤り検出符号、ACKフィールドが含まれる。図4では、アービトレーション、コントロール、ACKフィールドは省略される。   FIG. 4 shows an example of a data frame transmitted by the transmitting node. The data frame includes a data field, arbitration, control, error detection code, and ACK field. In FIG. 4, the arbitration, control, and ACK fields are omitted.

図4に示されるデータフレームの一実施例では、データフィールドが7バイトであり、誤り検出符号が1バイトである。図1に示されるデータフレームと比較して、データフレームにカウンタ値が含まれていない。つまり、図1に示されるデータフレームと比較して、データフレームに含めることができるデータ量を増加させることができる。このため、通信負荷を低減できる。データフレームに含めることができるデータ量に対して、該データの確からしさを確認するための誤り検出符号の割合を減少させることができるためである。   In one embodiment of the data frame shown in FIG. 4, the data field is 7 bytes and the error detection code is 1 byte. Compared to the data frame shown in FIG. 1, the data frame does not contain a counter value. That is, the amount of data that can be included in the data frame can be increased compared to the data frame shown in FIG. For this reason, communication load can be reduced. This is because the ratio of error detection codes for confirming the certainty of the data can be reduced with respect to the amount of data that can be included in the data frame.

データを受信する通信ノード(以下、「受信ノード」という)は、送信ノードからのデータフレームに含まれる誤り検出符号に基づいて、受信したデータフレームに含まれるデータが正しいか否か、該データの受信順序が正しいか否かを確認できる。   A communication node that receives data (hereinafter referred to as “receiving node”) determines whether the data included in the received data frame is correct based on the error detection code included in the data frame from the transmitting node. Whether the reception order is correct can be confirmed.

受信ノードは、誤り検出符号を計算する際に、シードと、受信したデータ(以下、「データ」という)とを利用する。具体的には、シードとして、カウンタのカウンタ値を利用する。カウンタのカウンタ値は、データの受信順序を表すものであってもよい。データの受信順序を表すものである場合、カウンタ値はデータの受信に伴って変化する。例えば、カウンタのカウンタ値は、データの受信に伴って変化する。通信システムの一実施例では、データの受信に伴って、カウンタ値が1増加する場合について説明する。具体的には、1フレーム受信される度に、カウンタ値が1増加する。カウンタ値の変化分については適宜設定可能である。データが正しいか否かを確認することにより、データ化けしているか否かを確認することができる。   The receiving node uses the seed and received data (hereinafter referred to as “data”) when calculating the error detection code. Specifically, the counter value of the counter is used as a seed. The counter value of the counter may represent the data reception order. In the case of representing the order of data reception, the counter value changes as data is received. For example, the counter value of the counter changes as data is received. In the embodiment of the communication system, a case where the counter value increases by 1 as data is received will be described. Specifically, every time one frame is received, the counter value increases by one. The change in the counter value can be set as appropriate. By checking whether the data is correct, it is possible to check whether the data is garbled.

誤り検出符号として、巡回符号が利用される場合、送信ノードでは、1バイトを巡回符号としてもよい。例えば、データフィールドと、誤り検出符号のために、8バイトが用意されている場合に、該8バイトのうち1バイトを巡回符号とするようにしてもよい。受信ノードでは、該巡回符号を利用して、受信したデータが正しいか否か、受信したデータの受信順序が正しいか否かを確認できる。送信ノードからのデータ異常及び送信順序の異常の両方又はいずれか一方が生じていた場合には、送信ノードからのデータに含まれる巡回符号の値と、送信ノードからのデータと受信順序に基づいて演算された巡回符号の値とは一致しない。このため、受信ノードは、巡回符号をチェックすることにより、送信ノードからのデータのデータ異常及び受信順序の異常の両方又はいずれか一方を検出できる。つまり、送信ノードにより、データフレームにカウンタ値を含めなくても、受信ノードに、送信ノードからのデータフレームに含まれるデータの順序が正しいか否かを確認させることができる。つまり、受信したデータフレームに含まれるデータが正しいか否か、該データの順序が正しいか否かを確認するためのデータ量を減少させることができる。従って、カウンタ値を格納するために用いていたフィールドをデータ送信に用いることができるため通信効率を向上させることができる。   When a cyclic code is used as the error detection code, one byte may be used as the cyclic code at the transmission node. For example, when 8 bytes are prepared for the data field and the error detection code, one of the 8 bytes may be used as a cyclic code. The receiving node can check whether the received data is correct and whether the reception order of the received data is correct using the cyclic code. If either or both of data anomalies from the transmitting node and / or an order of transmission has occurred, based on the value of the cyclic code included in the data from the transmitting node, the data from the transmitting node, and the receiving order It does not match the calculated cyclic code value. For this reason, the receiving node can detect the data abnormality of the data from the transmission node and / or the abnormality of the reception order by checking the cyclic code. That is, the transmitting node can make the receiving node check whether the order of data included in the data frame from the transmitting node is correct without including the counter value in the data frame. That is, it is possible to reduce the amount of data for confirming whether the data included in the received data frame is correct and whether the order of the data is correct. Accordingly, since the field used for storing the counter value can be used for data transmission, the communication efficiency can be improved.

受信ノードに、受信したデータが正しいか否か、該データの順序が正しいか否かを確認させることができるため、通信システムの機能の安全上、高いASIL(Automotive Safety Integrity Level)での通信の安全性を確保することが可能となる。   Since the receiving node can check whether or not the received data is correct and whether or not the order of the data is correct, the safety of the communication system with high ASIL (Automatic Safety Integrity Level) is ensured for the safety of the communication system function. It is possible to ensure safety.

全てのシステムは、そのリスクに応じて、複数の安全尺度にクラス分けされる。この尺度は、ISO WD26262では、ASILと呼ばれる。システムには、ASILに応じて、リスクの発生する可能性を低減するために、様々な手法の導入が要求される。送信側では、カウンタ値と、データとを利用して巡回符号を計算し、該データに該巡回符号を付加したデータフレームを送信する。また、受信側では、巡回符号に基づいて、誤り検出を行う。以上の手法を導入することにより、受信側では、受信したデータが正しいか否か、該データの受信順序が正しいか否かを確認できる。   All systems are classified into multiple safety measures according to their risk. This measure is called ASIL in ISO WD26262. Depending on ASIL, the system is required to introduce various methods in order to reduce the possibility of risk occurrence. On the transmission side, a cyclic code is calculated using the counter value and data, and a data frame with the cyclic code added to the data is transmitted. On the receiving side, error detection is performed based on the cyclic code. By introducing the above method, the receiving side can confirm whether the received data is correct and whether the reception order of the data is correct.

通信ノード100、100、100、及び100は、ASK方式により変調されたデータを送受信してよいし、OFDM方式により変調されたデータを送受信してもよい。他の通信方式により変調されたデータが送受信されてもよい。ASK方式により変調されたデータが送受信されるか、OFDM方式により変調されたデータが送受信されるかは、通信ノード100が搭載される位置に応じて設定されてもよい。 The communication nodes 100 1 , 100 2 , 100 3 , and 100 4 may transmit / receive data modulated by the ASK scheme, or may transmit / receive data modulated by the OFDM scheme. Data modulated by another communication method may be transmitted and received. Whether data modulated by the ASK scheme or data modulated by the OFDM scheme is transmitted / received may be set according to the position where the communication node 100 n is mounted.

<通信ノード100
通信ノード100は、当該通信ノード100に接続されている他の通信ノードとの間でデータを送受信する。
<Communication node 100 n >
The communication node 100 n transmits and receives data to and from other communication nodes connected to the communication node 100 n .

通信ノード100は、データと、カウンタ値とを利用して、誤り検出符号を計算する。通信ノード100は、該データと、該誤り検出符号とを含むデータフレームを作成する。通信ノード100は、データフレームを送信する。 The communication node 100 n uses the data and the counter value to calculate an error detection code. The communication node 100 n creates a data frame including the data and the error detection code. The communication node 100 n transmits a data frame.

また、通信ノード100は、当該通信ノード100に接続されている他の通信ノードからのデータフレームを受信する。通信ノード100は、他の通信ノードからのデータフレームに基づいて、誤り検出を行う。 Also, the communication node 100 n receives a data frame from another communication node connected to the communication node 100 n . The communication node 100 n performs error detection based on data frames from other communication nodes.

通信ノード100は、誤り検出の結果、他の通信ノードからのデータフレームに含まれるデータに誤りが検出されなかった場合には、該データに従って処理を行うようにしてもよい。誤りが検出されなかった場合には、受信したデータフレームに含まれるデータが正しいとともに、送信順序も正しいと判定できるためである。 If no error is detected in the data included in the data frame from another communication node as a result of the error detection, the communication node 100 n may perform processing according to the data. This is because if no error is detected, it can be determined that the data included in the received data frame is correct and the transmission order is correct.

一方、通信ノード100は、誤り検出の結果、他の通信ノードからの送信データに誤りが検出された場合には、該送信データを破棄するようにしてもよいし、再送要求を行うようにしてもよい。 On the other hand, if an error is detected in the transmission data from another communication node as a result of the error detection, the communication node 100 n may discard the transmission data or make a retransmission request. May be.

図5は、通信ノード100の一実施例を示す。図5には、主にハードウェア構成が示される。 Figure 5 shows an embodiment of the communication node 100 n. FIG. 5 mainly shows a hardware configuration.

通信ノード100は、マイクロプロセッサ(MPU: Micro−Processing Unit)102を有する。MPU102は、通信ノード100全体の制御を行う。 The communication node 100 n has a microprocessor (MPU: Micro-Processing Unit) 102. MPU102 communicates node 100 n overall control.

通信ノード100は、通信モジュール104を有する。通信モジュール104は、他の通信ノードの通信モジュール104と、通信を行う。例えば、所定の通信プロトコルに従って通信を行う。通信モジュール104は、ASK方式により変調を行うようにしてもよいし、OFDM方式により変調を行うようにしてもよい。また、通信モジュール104は、他の通信方式により変調を行うようにしてもよい。また、通信モジュール104はASK方式により変調処理された信号の復調を行うようにしてもよいし、OFDM方式により変調処理された信号の復調を行うようにしてもよい。また、通信モジュール104は、他の通信方式により変調処理された信号の復調を行うようにしてもよい。 The communication node 100 n has a communication module 104. The communication module 104 communicates with the communication module 104 of another communication node. For example, communication is performed according to a predetermined communication protocol. The communication module 104 may perform modulation using the ASK method or may perform modulation using the OFDM method. Further, the communication module 104 may perform modulation using another communication method. Further, the communication module 104 may demodulate a signal modulated by the ASK method, or may demodulate a signal modulated by the OFDM method. In addition, the communication module 104 may demodulate a signal modulated by another communication method.

通信ノード100は、記憶部106を有する。記憶部106には、MPU102に、通信ノード100として機能させるためのプログラムが格納される。 The communication node 100 n includes a storage unit 106. The storage unit 106 stores a program for causing the MPU 102 to function as the communication node 100 n .

MPU102と、通信モジュール104と、記憶部106との間は、バス50により互いに接続される。   The MPU 102, the communication module 104, and the storage unit 106 are connected to each other via a bus 50.

<通信ノード100の機能>
図6は、通信ノード100の機能を示す。図6には、主に、MPU102により実行される機能が示される。つまり、記憶部106に格納されたソフトウェア(プログラム)に従って、MPU102が機能することにより、図6に示される機能が実行される。また、MPU102に格納されたソフトウェア(ファームウェア)に従って、MPU102が機能することにより、図6に示される機能が実行されるようにしてもよい。
<Function of the communication node 100 n>
FIG. 6 shows the function of the communication node 100 n . FIG. 6 mainly shows functions executed by the MPU 102. That is, when the MPU 102 functions according to software (program) stored in the storage unit 106, the function shown in FIG. 6 is executed. Further, the function shown in FIG. 6 may be executed by the function of the MPU 102 according to the software (firmware) stored in the MPU 102.

MPU102は、誤り検出符号演算部1022と、カウンタ1024と、送信制御部1026と、誤り検出部1028と、信号処理部1030として機能する。   The MPU 102 functions as an error detection code calculation unit 1022, a counter 1024, a transmission control unit 1026, an error detection unit 1028, and a signal processing unit 1030.

以下、データフレームを送信する場合と、データフレームを受信する場合に分けて説明する。   Hereinafter, a case where a data frame is transmitted and a case where a data frame is received will be described separately.

通信ノード100が、データフレームを送信する機能と、データフレームを受信する機能の両方の機能を有していてもよい。また、通信ノード100が、データフレームを送信する機能、及びデータフレームを受信する機能のいずれか一方の機能を有してもよい。つまり、通信ノード100が、データフレームを送信する機能を有してもよい。また、通信ノード100がデータフレームを受信する機能を有してもよい。 The communication node 100 n may have both functions of transmitting a data frame and receiving a data frame. In addition, the communication node 100 n may have one of a function of transmitting a data frame and a function of receiving a data frame. That is, the communication node 100 n may have a function of transmitting a data frame. The communication node 100 n may have a function of receiving a data frame.

<データフレームを送信する場合>
誤り検出符号演算部1022には、データが入力される。誤り検出符号演算部1022は、カウンタ1024から、送信順序を表すカウンタ値を取得し、該カウンタ値と、データとに基づいて、誤り検出符号を演算する。誤り検出符号演算部1022は、送信制御部1026へ、誤り検出符号(以下、「第1の誤り検出符号」という)を入力する。具体的には、誤り検出符号演算部1022は、カウンタ値をシード値として、該シード値と、予め設定される多項式に基づいて、巡回符号を算出する。
<When sending data frames>
Data is input to the error detection code calculation unit 1022. The error detection code calculation unit 1022 acquires a counter value indicating the transmission order from the counter 1024, and calculates an error detection code based on the counter value and data. Error detection code calculation section 1022 inputs an error detection code (hereinafter referred to as “first error detection code”) to transmission control section 1026. Specifically, the error detection code calculation unit 1022 uses the counter value as a seed value to calculate a cyclic code based on the seed value and a preset polynomial.

送信制御部1026は、誤り検出符号演算部1022と接続される。送信制御部1026には、データが入力される。送信制御部1026は、データと、誤り検出符号演算部1022からの第1の誤り検出符号とを含むデータフレームを作成する。該第1の誤り検出符号は、該データに基づいて演算されたものである。送信制御部1026は、通信モジュール104から、データフレームを送信する制御を行う。データフレームは、送信制御部1026による制御に従って、通信モジュール104から送信される。   Transmission control unit 1026 is connected to error detection code calculation unit 1022. Data is input to the transmission control unit 1026. The transmission control unit 1026 creates a data frame including the data and the first error detection code from the error detection code calculation unit 1022. The first error detection code is calculated based on the data. The transmission control unit 1026 performs control to transmit a data frame from the communication module 104. The data frame is transmitted from the communication module 104 according to control by the transmission control unit 1026.

<データフレームを受信する場合>
誤り検出符号演算部1022には、通信モジュール104から、他の通信ノード100からのデータフレームが入力される。誤り検出符号演算部1022は、カウンタ1024から受信順序を表すカウンタ値を取得し、該カウンタ値と、データフレームに含まれるデータとに基づいて、誤り検出符号を演算する。具体的には、誤り検出符号演算部1022は、カウンタ値をシード値として、該シード値と、予め設定される多項式に基づいて、誤り検出符号を算出する。誤り検出符号演算部1022は、誤り検出部1028へ、誤り検出符号(以下、「第2の誤り検出符号」という)を入力する。
<When receiving data frames>
A data frame from another communication node 100 n is input from the communication module 104 to the error detection code calculation unit 1022. The error detection code calculation unit 1022 acquires a counter value indicating the reception order from the counter 1024, and calculates an error detection code based on the counter value and data included in the data frame. Specifically, the error detection code calculation unit 1022 uses the counter value as a seed value, and calculates an error detection code based on the seed value and a preset polynomial. The error detection code calculation unit 1022 inputs an error detection code (hereinafter referred to as “second error detection code”) to the error detection unit 1028.

カウンタ1024は、誤り検出符号演算部1022と接続される。カウンタ1024は、データフレームをカウントする。具体的には、他の通信ノードへデータフレームを送信する際に、カウンタ値を1増加させる。他の通信ノードへのデータフレーム毎に、カウンタ値が用意される。また、他の通信ノード100からデータフレームを受信した際に、カウンタ値を1増加させる。通信ノード100からのデータフレーム毎に、カウンタ値が用意される。また、カウンタ値が所定の値まで増加した場合には、リセットするようにしてもよい。つまり、カウンタ値の範囲が予め設定される。カウンタ値の範囲が予め設定されることにより、カウンタ値が無限大に増加することを防止できる。 The counter 1024 is connected to the error detection code calculation unit 1022. The counter 1024 counts data frames. Specifically, the counter value is incremented by 1 when a data frame is transmitted to another communication node. A counter value is prepared for each data frame to other communication nodes. Further, upon receiving a data frame from another communication node 100 n, the counter value is incremented by one. For each data frame from the communication node 100 n, the counter value is provided. Further, when the counter value increases to a predetermined value, it may be reset. That is, the range of the counter value is set in advance. By setting the range of the counter value in advance, it is possible to prevent the counter value from increasing to infinity.

通信システムの一実施例では、カウンタ値が0から15まで増加し、16となる際に0にリセットされる場合について説明する。どの値でリセットされるかは適宜設定可能である。カウンタ1024は、誤り検出符号演算部1022からのカウンタ値の要求に応じて、誤り検出符号演算部1022へ、カウンタ値を入力する。誤り検出符号演算部1022は、データフレームの送信の際、受信の際にカウンタ値を要求する。   In one embodiment of the communication system, a case will be described in which the counter value increases from 0 to 15 and is reset to 0 when it reaches 16. Which value is reset can be set as appropriate. The counter 1024 inputs the counter value to the error detection code calculation unit 1022 in response to a request for the counter value from the error detection code calculation unit 1022. The error detection code calculation unit 1022 requests a counter value at the time of data frame transmission and reception.

誤り検出部1028は、通信モジュール104と、誤り検出符号演算部1022と接続される。誤り検出部1028には、通信モジュール104から、他の通信ノードからのデータフレームが入力される。誤り検出部1028は、通信モジュール104からのデータフレームに含まれる第1の誤り検出符号と、誤り検出符号演算部1022からの第2の誤り検出符号とが等しいか否か、換言すれば一致するか否かを判定する。   The error detection unit 1028 is connected to the communication module 104 and the error detection code calculation unit 1022. Data frames from other communication nodes are input from the communication module 104 to the error detection unit 1028. The error detection unit 1028 determines whether or not the first error detection code included in the data frame from the communication module 104 and the second error detection code from the error detection code calculation unit 1022 are equal, in other words, match. It is determined whether or not.

誤り検出部1028は、通信モジュール104からの送信データに含まれる第1の誤り検出符号と、誤り検出符号演算部1022からの第2の誤り検出符号とが等しい場合には、信号処理部1030に誤りが検出されなかったことを通知する。   When the first error detection code included in the transmission data from the communication module 104 is equal to the second error detection code from the error detection code calculation unit 1022, the error detection unit 1028 sends a signal processing unit 1030 to the signal processing unit 1030. Notify that no error was detected.

一方、誤り検出部1028は、通信モジュール104からのデータに含まれる第1の誤り検出符号と、誤り検出符号演算部1022からの第2の誤り検出符号の演算結果とが等しくない場合には、誤り検出符号演算部1022へ、誤りが検出されたことを通知する。   On the other hand, when the error detection unit 1028 does not equal the calculation result of the first error detection code included in the data from the communication module 104 and the second error detection code from the error detection code calculation unit 1022, The error detection code calculation unit 1022 is notified that an error has been detected.

誤り検出符号演算部1022は、誤り検出部1028から誤りが検出されたことが通知された場合、前回のカウンタ値とは異なるカウンタ値と、データフレームに含まれるデータとに基づいて、第2の誤り検出符号を演算する。誤り検出符号演算部1022は、誤り検出部1028へ、第2の誤り検出符号の演算結果を入力する。   When the error detection code calculation unit 1022 is notified that an error has been detected from the error detection unit 1028, the error detection code calculation unit 1022 determines the second value based on the counter value different from the previous counter value and the data included in the data frame. An error detection code is calculated. The error detection code calculation unit 1022 inputs the calculation result of the second error detection code to the error detection unit 1028.

誤り検出部1028は、再度、通信モジュール104からのデータフレームに含まれる第1の誤り検出符号と、誤り検出符号演算部1022からの第2の誤り検出符号とが等しいか否かを判定する。   The error detection unit 1028 again determines whether or not the first error detection code included in the data frame from the communication module 104 is equal to the second error detection code from the error detection code calculation unit 1022.

誤り検出部1028は、通信モジュール104からのデータフレームに含まれる第1の誤り検出符号と、誤り検出符号演算部1022からの第2の誤り検出符号とが等しい場合には、信号処理部1030に誤りが検出されなかったことを通知する。この場合、受信したデータの順序が誤っていたと判定される。   When the first error detection code included in the data frame from the communication module 104 is equal to the second error detection code from the error detection code calculation unit 1022, the error detection unit 1028 sends a signal processing unit 1030 to the signal processing unit 1030. Notify that no error was detected. In this case, it is determined that the order of the received data is incorrect.

一方、誤り検出部1028は、通信モジュール104からのデータフレームに含まれる第1の誤り検出符号と、誤り検出符号演算部1022からの第2の誤り検出符号とが等しくない場合には、誤り検出符号演算部1022へ、誤りが検出されたことを通知する。誤り検出符号演算部1022は、誤り検出部1028から誤りが検出されたことが通知された場合、再度同様の処理を行う。予め設定されるカウンタ値の範囲に含まれる全カウンタ値について計算された第2の誤り検出符号の全てが、第1の誤り検出符号と等しくない場合には、データに誤りがあると判定される。この場合、誤り検出部1028は、信号処理部1030へ、データに誤りがあることを通知する。   On the other hand, if the first error detection code included in the data frame from the communication module 104 and the second error detection code from the error detection code calculation unit 1022 are not equal, the error detection unit 1028 detects an error. The code calculation unit 1022 is notified that an error has been detected. The error detection code calculation unit 1022 performs the same process again when notified from the error detection unit 1028 that an error has been detected. If all the second error detection codes calculated for all counter values included in the preset counter value range are not equal to the first error detection code, it is determined that there is an error in the data. . In this case, the error detection unit 1028 notifies the signal processing unit 1030 that there is an error in the data.

信号処理部1030は、通信モジュール104と、誤り検出部1028と接続される。信号処理部1030には、通信モジュール104から、他の通信ノードからのデータフレームが入力される。信号処理部1030は、誤り検出部1028から誤りが検出されなかったことを通知された場合には、通信モジュール104からのデータフレームに含まれるデータに従って処理する。   The signal processing unit 1030 is connected to the communication module 104 and the error detection unit 1028. Data frames from other communication nodes are input from the communication module 104 to the signal processing unit 1030. When notified from the error detection unit 1028 that an error has not been detected, the signal processing unit 1030 performs processing according to the data included in the data frame from the communication module 104.

一方、信号処理部1030は、誤り検出部1028から誤りが検出されたことを通知された場合には、通信モジュール104からのデータフレームを破棄するようにしてもよいし、該データフレームを送信した第2の通信ノードに対して、再送を要求するようにしてもよい。   On the other hand, when notified from the error detection unit 1028 that an error has been detected, the signal processing unit 1030 may discard the data frame from the communication module 104 or transmit the data frame. You may make it request | require resending with respect to a 2nd communication node.

<通信ノード100の動作(その1)>
図7は、通信ノード100の動作の一実施例を示す。
<Operation of Communication Node 100 n (Part 1)>
FIG. 7 shows an embodiment of the operation of the communication node 100 n .

図7には、通信ノード100により、データフレームが送信される処理が示される。 FIG. 7 shows a process in which a data frame is transmitted by the communication node 100 n .

ステップS702では、通信ノード100に、送信するデータが発生する。 In step S702, the communication node 100 n, the data to be transmitted is generated.

ステップS704では、カウンタ1024は、送信順序を表すカウンタ値を増加させる。例えば、カウンタ1024は、カウンタ値を1増加させる。該1は一例であり、適宜設定変更可能である。但し、送信ノードのカウンタにおける増加量と、該送信ノードからのデータフレームを受信する受信ノードのカウンタにおける増加量とは等しい。   In step S704, the counter 1024 increments a counter value indicating the transmission order. For example, the counter 1024 increments the counter value by one. 1 is an example, and the setting can be changed as appropriate. However, the amount of increase in the counter of the transmitting node is equal to the amount of increase in the counter of the receiving node that receives the data frame from the transmitting node.

ステップS706では、誤り検出符号演算部1022は、ステップS702において発生したデータと、ステップS704において値を増加させたカウンタ値とに基づいて、誤り検出符号を演算する。具体的には、誤り検出符号演算部1022は、カウンタ値をシードとして、予め設定される多項式に基づいて、誤り検出符号を算出する。送信ノードの誤り検出符号演算部1022により利用される多項式と、該送信ノードからの送信データを受信する受信ノードの誤り検出符号演算部1022により利用される多項式とは等しい。   In step S706, the error detection code calculation unit 1022 calculates an error detection code based on the data generated in step S702 and the counter value increased in step S704. Specifically, the error detection code calculation unit 1022 calculates an error detection code based on a preset polynomial using the counter value as a seed. The polynomial used by the error detection code calculation unit 1022 of the transmission node is equal to the polynomial used by the error detection code calculation unit 1022 of the reception node that receives transmission data from the transmission node.

ステップS708では、送信制御部1026は、データと、ステップ706による演算により求められた誤り検出符号とを含むデータフレームを作成する。送信制御部1026は、データに、誤り検出符号を付加することにより、図4に示されるデータフレームを作成する。図4に示されるデータフレームでは、データは、データ1−データ7により表される。   In step S708, the transmission control unit 1026 creates a data frame including the data and the error detection code obtained by the calculation in step 706. The transmission control unit 1026 creates the data frame shown in FIG. 4 by adding an error detection code to the data. In the data frame shown in FIG. 4, the data is represented by data 1 -data 7.

ステップS710では、送信制御部1026は、ステップS708により作成されたデータフレームを送信する。送信制御部1026による制御により、通信モジュール104から他の通信ノードへ、データフレームが送信される。   In step S710, the transmission control unit 1026 transmits the data frame created in step S708. Under the control of the transmission control unit 1026, the data frame is transmitted from the communication module 104 to another communication node.

<通信ノード100の動作(その2)>
図8は、通信ノード100の動作の一実施例を示す。
<Operation of communication node 100 n (part 2)>
Figure 8 illustrates one embodiment of the operation of the communication node 100 n.

図8には、通信ノード100により、他の通信ノードからのデータフレームが受信される処理が示される。 FIG. 8 shows a process in which a data frame from another communication node is received by the communication node 100 n .

ステップS802では、他の通信ノード100からのデータフレームを受信する。   In step S802, a data frame from another communication node 100 is received.

ステップS804では、誤り検出符号演算部1022は、ステップS802により受信されたデータフレームが初回に受信されたものであるか否かを判定する。例えば、誤り検出符号演算部1022は、イグニッションがオンにされた後にデータフレームが最初に受信されたものであるか否かを判定する。   In step S804, the error detection code calculation unit 1022 determines whether or not the data frame received in step S802 has been received for the first time. For example, the error detection code calculation unit 1022 determines whether or not the data frame is first received after the ignition is turned on.

ステップS806では、データフレームが初回に受信されたものであると判定された場合、誤り検出符号演算部1022は、シード値を初期値に設定する。カウンタに前回の値が存在しないためである。例えば、誤り検出符号演算部1022は、シード値を零(初期値)に設定する。データフレームが初回に受信されたものである場合に、シード値を初期値に設定することにより、カウンタ値が不明である場合にも処理できる。   If it is determined in step S806 that the data frame is received for the first time, the error detection code calculation unit 1022 sets the seed value to an initial value. This is because the previous value does not exist in the counter. For example, the error detection code calculation unit 1022 sets the seed value to zero (initial value). When the data frame is received for the first time, by setting the seed value to the initial value, processing can be performed even when the counter value is unknown.

ステップS808では、誤り検出符号演算部1022は、データフレームに含まれるデータと、シード値とに基づいて、第2の誤り検出符号を演算する。具体的には、誤り検出符号演算部1022は、シード値と、予め設定される多項式に基づいて、巡回符号を算出する。   In step S808, the error detection code calculation unit 1022 calculates a second error detection code based on the data included in the data frame and the seed value. Specifically, the error detection code calculation unit 1022 calculates a cyclic code based on the seed value and a preset polynomial.

ステップS810では、誤り検出符号演算部1022は、シード値を増加させる。例えば、誤り検出符号演算部1022は、シード値を1増加させる。該1は一例であり、適宜変更可能である。但し、送信ノードの誤り検出符号演算部1022における増加量と、該送信ノードからのデータフレームを受信する受信ノードの誤り検出符号演算部1022における増加量とは等しい。   In step S810, the error detection code calculation unit 1022 increases the seed value. For example, the error detection code calculation unit 1022 increases the seed value by one. The 1 is an example and can be changed as appropriate. However, the increase amount in the error detection code calculation unit 1022 of the transmission node is equal to the increase amount in the error detection code calculation unit 1022 of the reception node that receives the data frame from the transmission node.

ステップS812では、誤り検出符号演算部1022は、ステップS810により増加させたシード値が16より大きいか否かを判定する。シード値が16より大きい場合には、リセットされるためである。   In step S812, the error detection code calculation unit 1022 determines whether or not the seed value increased in step S810 is larger than 16. This is because when the seed value is larger than 16, it is reset.

ステップS814では、ステップS812によりシード値が16以下であると判定された場合、データフレームに含まれる第1の誤り検出符号と、ステップS808による演算により求められた第2の誤り検出符号とが一致するか否かが判定される。   In step S814, if it is determined in step S812 that the seed value is 16 or less, the first error detection code included in the data frame matches the second error detection code obtained by the calculation in step S808. It is determined whether or not to do so.

ステップS816では、ステップS812によりシード値が16より大きいと判定された場合、誤り検出部1028は、データフレームに含まれるデータに誤りが有ると判定する。この場合、信号処理部1030は、データフレームを破棄するようにしてもよいし、他のノードへ、再送要求を行うようにしてもよい。再送要求を行う場合、次回のデータフレームの受信の際にも、初回受信と同様のシーケンスが実行される。   In step S816, if it is determined in step S812 that the seed value is greater than 16, the error detection unit 1028 determines that the data included in the data frame has an error. In this case, the signal processing unit 1030 may discard the data frame or may make a retransmission request to another node. When a retransmission request is made, the same sequence as the first reception is executed when the next data frame is received.

ステップS818では、ステップS814によりデータフレームに含まれる第1の誤り検出符号と、ステップS808による演算により求められた第2の誤り検出符号とが一致すると判定された場合、信号処理部1030は、データフレームが初回に受信されたものであるか否かを判定する。   In step S818, if it is determined that the first error detection code included in the data frame in step S814 matches the second error detection code obtained by the calculation in step S808, the signal processing unit 1030 It is determined whether or not the frame is received for the first time.

ステップS820では、ステップS818によりデータフレームが初回に受信されたものであると判定された場合、信号処理部1030は、データフレームに含まれるデータに基づいて処理を行う。   In step S820, if it is determined in step S818 that the data frame is received for the first time, the signal processing unit 1030 performs processing based on the data included in the data frame.

ステップS822では、誤り検出符号演算部1022は、次回のデータフレームの受信に備えるために、カウンタ値として、シード値を1減少させ(シード値−1)、カウンタ1024に設定する。ステップS822による処理の実行後、ステップS802に戻る。次回の受信以降、前回サーチしたカウンタ値を元にして、処理が実行される。具体的には、受信毎にカウンタがインクリメントされる。   In step S822, the error detection code calculation unit 1022 decreases the seed value by 1 (seed value-1) and sets it to the counter 1024 as a counter value in preparation for the next data frame reception. After executing the process in step S822, the process returns to step S802. After the next reception, processing is executed based on the previously searched counter value. Specifically, the counter is incremented for each reception.

一方、ステップS814により、データフレームに含まれる第1の誤り検出符号と、ステップS808による演算により求められた第2の誤り検出符号とが一致しないと判定された場合、ステップS808に戻る。ステップS808に戻ることにより、ステップS810により増加させたシード値を用いて、第2の誤り検出符号が演算され、同様の処理が行われる。   On the other hand, if it is determined in step S814 that the first error detection code included in the data frame does not match the second error detection code obtained by the calculation in step S808, the process returns to step S808. By returning to step S808, the second error detection code is calculated using the seed value increased in step S810, and the same processing is performed.

ステップS824では、ステップS818によりデータフレームが初回に受信されたものでないと判定された場合、誤り検出符号演算部1022は、次回のデータフレームの受信に備えるために、カウンタ値を1減少させ(シード値−1)、カウンタ1024に設定する。   In step S824, if it is determined in step S818 that the data frame is not received for the first time, the error detection code calculation unit 1022 decrements the counter value by 1 in order to prepare for reception of the next data frame (seeding). Value-1) and set in the counter 1024.

ステップS826では、信号処理部1030は、データに順序誤りがあると判定する。例えば、信号処理部1030は、カウンタ異常及び受信順序異常の両方又はいずれか一方であると判定する。ステップS826による処理の実行後、ステップS802に戻る。   In step S826, the signal processing unit 1030 determines that there is an order error in the data. For example, the signal processing unit 1030 determines that there is a counter abnormality and / or a reception order abnormality. After executing the process in step S826, the process returns to step S802.

ステップS828では、ステップS804によりデータフレームが初回に受信されたものでないと判定した場合、カウンタ1024は、受信順序を表すカウンタ値を増加させる。例えば、カウンタ1024は、カウンタ値を1増加させる。該1は一例であり、適宜設定変更可能である。但し、送信ノードのカウンタにおける増加量と、該送信ノードからのデータフレームを受信する受信ノードのカウンタにおける増加量とは等しい。   In step S828, if it is determined in step S804 that the data frame has not been received for the first time, the counter 1024 increments the counter value indicating the reception order. For example, the counter 1024 increments the counter value by one. 1 is an example, and the setting can be changed as appropriate. However, the amount of increase in the counter of the transmitting node is equal to the amount of increase in the counter of the receiving node that receives the data frame from the transmitting node.

ステップS830では、誤り検出符号演算部1022は、ステップS802において受信したデータフレームに含まれるデータと、ステップS828において値を増加させたカウンタ値とに基づいて、第2の誤り検出符号を演算する。具体的には、誤り検出符号演算部1022は、カウンタ値をシードとして、予め設定される多項式に基づいて、第2の誤り検出符号を算出する。送信ノードの誤り検出符号演算部1022により利用される多項式と、該送信ノードからのデータフレームを受信する受信ノードの誤り検出符号演算部1022により利用される多項式とは等しい。   In step S830, error detection code calculation section 1022 calculates a second error detection code based on the data included in the data frame received in step S802 and the counter value incremented in step S828. Specifically, the error detection code calculation unit 1022 calculates a second error detection code based on a preset polynomial using the counter value as a seed. The polynomial used by the error detection code calculation unit 1022 of the transmission node is equal to the polynomial used by the error detection code calculation unit 1022 of the reception node that receives the data frame from the transmission node.

ステップS832では、誤り検出部1030は、ステップS802により受信したデータフレームに含まれる第1の誤り検出符号と、ステップS830による演算により求められた第2の誤り検出符号とが一致するか否かが判定される。   In step S832, the error detection unit 1030 determines whether or not the first error detection code included in the data frame received in step S802 matches the second error detection code obtained by the calculation in step S830. Determined.

ステップS834では、ステップS802により受信したデータフレームに含まれる第1の誤り検出符号と、ステップS830による演算により求められた第2の誤り検出符号とが一致すると判定された場合、信号処理部1030は、データフレームに含まれるデータに基づいて処理を行う。ステップS834による処理の実行後、ステップS802に戻る。次回の受信以降、前回サーチしたカウンタ値を元にして、処理が実行される。具体的には、受信毎にカウンタがインクリメントされる。   In step S834, when it is determined that the first error detection code included in the data frame received in step S802 matches the second error detection code obtained by the calculation in step S830, the signal processing unit 1030 The processing is performed based on the data included in the data frame. After executing the process in step S834, the process returns to step S802. After the next reception, processing is executed based on the previously searched counter value. Specifically, the counter is incremented for each reception.

一方、ステップS802により受信したデータフレームに含まれる第1の誤り検出符号と、ステップS830による演算により求められた第2の誤り検出符号とが一致しないと判定された場合、ステップS806に遷移する。ステップS806に遷移することにより、ステップS806−S826の処理が実行される。つまり、シード値を変更して、第1の誤り検出符号と、第2の誤り検出符号の演算結果が一致するか否かが判定される。シード値が15より大きくなっても一致しない場合、データフレームに含まれるデータに誤りが有ると判定される。   On the other hand, if it is determined that the first error detection code included in the data frame received in step S802 does not match the second error detection code obtained by the calculation in step S830, the process proceeds to step S806. By transitioning to step S806, the processing of steps S806 to S826 is executed. That is, the seed value is changed, and it is determined whether or not the calculation results of the first error detection code and the second error detection code match. If the seed value is greater than 15 but does not match, it is determined that there is an error in the data included in the data frame.

シード値が15より大きくならずに一致した場合、カウンタ異常(受信順序異常)と判定される。   If the seed values do not exceed 15 and match, it is determined that the counter is abnormal (reception order abnormality).

本実施例に係る通信システムによれば、送信ノードは、受信ノードへ送信するデータと、該データの送信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第1の誤り検出符号を計算し、第1の誤り検出符号と、前記データとを含むデータフレームを送信する。データフレームに、データの送信順序を表すカウンタ値を含めないため、データフレームで送信できるデータ量を増加させることができる。   According to the communication system according to the present embodiment, the transmission node uses the counter value as a seed based on the data to be transmitted to the reception node and the counter value indicating the transmission order of the data. And a data frame including the first error detection code and the data is transmitted. Since the data frame does not include a counter value indicating the data transmission order, the amount of data that can be transmitted in the data frame can be increased.

受信ノードは、データフレームに含まれるデータと、該データの受信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第2の誤り検出符号を計算し、第1の誤り検出符号と一致するか否かを判定する。第1の誤り検出符号と、第2の誤り検出符号とが一致するか否かを判定することにより、データフレームに含まれるデータに誤りがあるか否か、受信順序が正しいか否かを判定できる。   Based on the data included in the data frame and the counter value indicating the reception order of the data, the receiving node calculates a second error detection code using the counter value as a seed, It is determined whether or not they match. By determining whether or not the first error detection code and the second error detection code match, it is determined whether or not the data included in the data frame has an error and whether or not the reception order is correct it can.

以上、本発明は特定の実施例を参照しながら説明されてきたが、各実施例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に係る装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。   Although the present invention has been described above with reference to specific embodiments, each embodiment is merely an example, and those skilled in the art will understand various variations, modifications, alternatives, substitutions, and the like. I will. For convenience of explanation, an apparatus according to an embodiment of the present invention has been described using a functional block diagram, but such an apparatus may be realized by hardware, software, or a combination thereof. The present invention is not limited to the above-described embodiments, and various variations, modifications, alternatives, substitutions, and the like are included without departing from the spirit of the present invention.

50 通信バス
100(nは、n>0の整数) 通信ノード
150 通信バス
102 MPU
104 通信モジュール
106 記憶部
1022 誤り検出符号演算部
1024 カウンタ
1026 送信制御部
1028 誤り検出部
1030 信号処理部
50 Communication bus 100 n (n is an integer of n> 0) Communication node 150 Communication bus 102 MPU
DESCRIPTION OF SYMBOLS 104 Communication module 106 Memory | storage part 1022 Error detection code | cord | chord calculation part 1024 Counter 1026 Transmission control part 1028 Error detection part 1030 Signal processing part

Claims (10)

通信システムに含まれる通信ノードであって、
他の通信ノードへ送信するデータと、該データの送信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第1の誤り検出符号を計算する第1の誤り検出符号演算部と、
前記他の通信ノードへ、前記第1の誤り検出符号演算部により計算された第1の誤り検出符号と、前記データとを含むデータフレームを送信する制御を行う送信制御部と
を有する、通信ノード。
A communication node included in the communication system,
A first error detection code computing unit that calculates a first error detection code using the counter value as a seed based on data to be transmitted to another communication node and a counter value representing the transmission order of the data;
A communication node, comprising: a transmission control unit that performs control to transmit a data frame including the first error detection code calculated by the first error detection code calculation unit and the data to the other communication node. .
他の通信ノードからのデータフレームを受信する通信モジュールと、
該通信モジュールにより受信されたデータフレームに含まれるデータと、該データの受信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第2の誤り検出符号を計算する第2の誤り検出符号演算部と、
該第2の誤り検出符号演算部により計算された第2の誤り検出符号と、前記データフレームに含まれる第1の誤り検出符号とが一致するか否かを判定する誤り検出部と、
該誤り検出部による判定結果に基づいて、前記データフレームに含まれるデータに応じた処理を行う信号処理部と
を有する、請求項1に記載の通信ノード。
A communication module for receiving data frames from other communication nodes;
Second error detection for calculating a second error detection code using the counter value as a seed based on data included in the data frame received by the communication module and a counter value indicating the reception order of the data A sign calculation unit;
An error detection unit that determines whether or not the second error detection code calculated by the second error detection code calculation unit matches the first error detection code included in the data frame;
The communication node according to claim 1, further comprising: a signal processing unit that performs processing according to data included in the data frame based on a determination result by the error detection unit.
前記第2の誤り検出符号演算部により計算された第2の誤り検出符号と、前記データフレームに含まれる第1の誤り検出符号とが一致しない場合に、前記第2の誤り検出符号演算部は、前記カウンタ値を順次変更し、該カウンタ値をシードとして、第2の誤り検出符号を計算し、
前記誤り検出部は、該第2の誤り検出符号演算部により計算された第2の誤り検出符号と、前記データフレームに含まれる第1の誤り検出符号とが一致するか否かを判定する、請求項2に記載の通信ノード。
When the second error detection code calculated by the second error detection code calculator does not match the first error detection code included in the data frame, the second error detection code calculator is The counter value is sequentially changed, and the second error detection code is calculated using the counter value as a seed,
The error detection unit determines whether or not the second error detection code calculated by the second error detection code calculation unit matches the first error detection code included in the data frame; The communication node according to claim 2.
前記誤り検出部は、予め設定されるカウンタ値の範囲に含まれる全カウンタ値について計算された第2の誤り検出符号の全てが、前記データフレームに含まれる第1の誤り検出符号と一致しない場合に、前記通信モジュールにより受信されたデータフレームに含まれるデータに誤りが有ると判定する、請求項3に記載の通信ノード。   The error detection unit is configured such that all of the second error detection codes calculated for all counter values included in a preset counter value range do not match the first error detection code included in the data frame. The communication node according to claim 3, wherein the data included in the data frame received by the communication module is determined to have an error. 予め設定されるカウンタ値の範囲に含まれる全カウンタ値について計算された第2の誤り検出符号に、前記データフレームに含まれる第1の誤り検出符号と一致するものがある場合に、前記信号処理部は、前記誤り検出部による判定結果に基づいて、前記データフレームの受信順序に誤りがあると判定する、請求項3又は4に記載の通信ノード。   When the second error detection code calculated for all the counter values included in the preset counter value range matches the first error detection code included in the data frame, the signal processing is performed. The communication node according to claim 3 or 4, wherein the unit determines that there is an error in the reception order of the data frames based on the determination result by the error detection unit. 前記第2の誤り検出符号演算部は、前記通信モジュールにより受信されたデータフレームが初回に受信されたデータフレームである場合に、前記カウンタ値を順次変更し、該カウンタ値をシードとして、第2の誤り検出符号を計算し、
前記誤り検出部は、該第2の誤り検出符号演算部により計算された第2の誤り検出符号と、前記データフレームに含まれる第1の誤り検出符号とが一致するか否かを判定する、請求項2ないし5のいずれか1項に記載の通信ノード。
The second error detection code calculation unit sequentially changes the counter value when the data frame received by the communication module is a data frame received for the first time, and uses the counter value as a seed. Error detection code of
The error detection unit determines whether or not the second error detection code calculated by the second error detection code calculation unit matches the first error detection code included in the data frame; The communication node according to any one of claims 2 to 5.
前記誤り検出部は、予め設定されるカウンタ値の範囲に含まれる全カウンタ値について計算された第2の誤り検出符号の全てが、前記データフレームに含まれる第1の誤り検出符号と一致しない場合に、前記通信モジュールにより受信されたデータフレームに含まれるデータに誤りが有ると判定する、請求項6に記載の通信ノード。   The error detection unit is configured such that all of the second error detection codes calculated for all counter values included in a preset counter value range do not match the first error detection code included in the data frame. The communication node according to claim 6, wherein the data included in the data frame received by the communication module is determined to have an error. 通信システムに含まれる通信ノードであって、
他の通信ノードからのデータフレームを受信する通信モジュールと、
該通信モジュールにより受信されたデータフレームに含まれるデータと、該データの受信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、誤り検出符号を計算する誤り検出符号演算部と、
該誤り検出符号演算部により計算された誤り検出符号と、前記データフレームに含まれる誤り検出符号とが一致するか否かを判定する誤り検出部と、
該誤り検出部による判定結果に基づいて、前記データフレームに含まれるデータに応じた処理を行う信号処理部と
を有する、通信ノード。
A communication node included in the communication system,
A communication module for receiving data frames from other communication nodes;
An error detection code calculation unit that calculates an error detection code using the counter value as a seed based on data included in the data frame received by the communication module and a counter value indicating the reception order of the data;
An error detection unit that determines whether or not the error detection code calculated by the error detection code calculation unit and the error detection code included in the data frame match;
And a signal processing unit that performs processing according to data included in the data frame based on a determination result by the error detection unit.
複数の通信ノードを有する通信システムであって、
第1の通信ノードは、
第2の通信ノードへ送信するデータと、該データの送信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第1の誤り検出符号を計算する第1の誤り検出符号演算部と、
前記第2の通信ノードへ、前記第1の誤り検出符号演算部により計算された第1の誤り検出符号と、前記データとを含むデータフレームを送信する制御を行う送信制御部と
を有し、
前記第2の通信ノードは、
前記第1の通信ノードからのデータフレームを受信する通信モジュールと、
該通信モジュールにより受信されたデータフレームに含まれるデータと、該データの受信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第2の誤り検出符号を計算する第2の誤り検出符号演算部と、
該第2の誤り検出符号演算部により計算された第2の誤り検出符号と、前記データフレームに含まれる第1の誤り検出符号とが一致するか否かを判定する誤り検出部と、
該誤り検出部による判定結果に基づいて、前記データフレームに含まれるデータに応じた処理を行う信号処理部と
を有する、通信システム。
A communication system having a plurality of communication nodes,
The first communication node is
A first error detection code computing unit that calculates a first error detection code using the counter value as a seed based on data to be transmitted to the second communication node and a counter value representing the transmission order of the data; ,
A transmission control unit that performs control to transmit a data frame including the first error detection code calculated by the first error detection code calculation unit and the data to the second communication node;
The second communication node is
A communication module for receiving a data frame from the first communication node;
Second error detection for calculating a second error detection code using the counter value as a seed based on data included in the data frame received by the communication module and a counter value indicating the reception order of the data A sign calculation unit;
An error detection unit that determines whether or not the second error detection code calculated by the second error detection code calculation unit matches the first error detection code included in the data frame;
A signal processing unit that performs processing according to data included in the data frame based on a determination result by the error detection unit.
複数の通信ノードを有する通信システムにおける通信方法であって、
第1の通信ノードは、
第2の通信ノードへ送信するデータと、該データの送信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第1の誤り検出符号を計算し、
前記第2の通信ノードへ、前記第1の誤り検出符号と、前記データとを含むデータフレームを送信する制御を行い、
前記第2の通信ノードは、
前記第1の通信ノードからのデータフレームを受信し、
該データフレームに含まれるデータと、該データの受信順序を表すカウンタ値とに基づいて、該カウンタ値をシードとして、第2の誤り検出符号を計算し、
該第2の誤り検出符号と、前記データフレームに含まれる第1の誤り検出符号とが一致するか否かを判定し、
該判定結果に基づいて、前記データフレームに含まれるデータに応じた処理を行う、通信方法。
A communication method in a communication system having a plurality of communication nodes,
The first communication node is
Based on the data to be transmitted to the second communication node and the counter value representing the transmission order of the data, the first error detection code is calculated using the counter value as a seed,
Performing control to transmit a data frame including the first error detection code and the data to the second communication node;
The second communication node is
Receiving a data frame from the first communication node;
Based on the data included in the data frame and the counter value representing the reception order of the data, the second error detection code is calculated using the counter value as a seed,
Determining whether the second error detection code and the first error detection code included in the data frame match;
A communication method for performing processing according to data included in the data frame based on the determination result.
JP2012075122A 2012-03-28 2012-03-28 Communication node, communication system, and communication method Pending JP2013207600A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012075122A JP2013207600A (en) 2012-03-28 2012-03-28 Communication node, communication system, and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012075122A JP2013207600A (en) 2012-03-28 2012-03-28 Communication node, communication system, and communication method

Publications (1)

Publication Number Publication Date
JP2013207600A true JP2013207600A (en) 2013-10-07

Family

ID=49526276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012075122A Pending JP2013207600A (en) 2012-03-28 2012-03-28 Communication node, communication system, and communication method

Country Status (1)

Country Link
JP (1) JP2013207600A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020078521A (en) * 2018-11-14 2020-05-28 株式会社三共 Game machine

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020078521A (en) * 2018-11-14 2020-05-28 株式会社三共 Game machine

Similar Documents

Publication Publication Date Title
US10713106B2 (en) Communication device, communication method and non-transitory storage medium
US10193859B2 (en) Security apparatus, attack detection method, and storage medium
US9252956B2 (en) Method and system for transmitting control data in a manner that is secured against manipulation
WO2017026359A1 (en) Communication device
KR101564901B1 (en) Protocol protection
US20190123908A1 (en) Arithmetic Device, Authentication System, and Authentication Method
US9956973B2 (en) System, method, and apparatus for generating vital messages on an on-board system of a vehicle
US8762788B2 (en) Redundancy control system and method of transmitting computational data thereof for detection of transmission errors and failure diagnosis
JP2007038904A (en) Car-mounted gateway device and message forwarding method used in gateway device
US20210144124A1 (en) Security apparatus, attack detection method, and storage medium
US11888866B2 (en) Security module for a CAN node
US10009357B2 (en) Data frame for protected data transmissions
US11218501B2 (en) Detector, detection method, and detection program
KR20150019499A (en) Message process method of gateway
KR101334017B1 (en) Apparatus of checking a validity of message on network for a vehicle and method of thereof
CN115085993A (en) Data verification method and device and domain controller
US20210385010A1 (en) Safety communication device, safety communication system, safety communication method, and computer readable medium
JP2013207600A (en) Communication node, communication system, and communication method
US20230188536A1 (en) Communication method based on dual channels and rssp-i, apparatus, electronic device and storage medium
US20230327907A1 (en) Relay device, communication network system, and communication control method
EP3619854B1 (en) Elimination of latency in a communication channel
JP4702104B2 (en) COMMUNICATION DEVICE, COMMUNICATION PROCESSING METHOD, AND COMMUNICATION PROCESSING PROGRAM
JP2022067012A (en) Relay device, communication network system and communication control method