Communication device and data communication method

JP7641375B2Active Publication Date: 2025-03-06ASTEMO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023527591
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-06-11
Filing Date
2022-05-18
Publication Date
2025-03-06
Estimated Expiration
2042-05-18

AI Technical Summary

Benefits of technology

【0007】 本発明によれば、通信装置において、同じ識別情報が付されたデータについて、自ノードから送信したデータであるか、又は他ノードから送信されたデータであるかを識別することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007641375000001
    Figure 0007641375000001
  • Figure 0007641375000002
    Figure 0007641375000002
  • Figure 0007641375000003
    Figure 0007641375000003
Patent Text Reader

Abstract

This communication device 120 comprises at least one transmission buffer Tx1 and at least one of reception buffers Rx1 to RxN. Further, the communication device 120 transmits data with identification information from the transmission buffer Tx1 to a CAN bus 200 via a CAN transceiver 160, receives the data flowing through the CAN bus 200, and stores the received data in any one of the reception buffers Rx1 to RxN. For the data stored in the reception buffers Rx1 to RxN, the communication device 120 identifies data transmitted from the own node and processes the data.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a communication device and a data communication method for transmitting and receiving arbitrary data between electronic control devices mounted on a vehicle. [Background technology]

[0002] Data transmitted between electronic control devices is provided with identification information for identifying the data content, the transmitting node, and the like. Due to the increasing sophistication of in-vehicle systems, the amount of identification information provided to data transmitted between electronic control devices is also increasing. In addition, a communication device built into an electronic control device is also restricted in that the amount of identification information that can be received on each channel forming a node is limited. For this reason, as described in Patent Document 1, a technology has been proposed that uses multiple channels provided in a communication interface in an integrated manner to receive data with a number of identification information that cannot be received on a single channel. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2012-142646 A Summary of the Invention [Problem to be solved by the invention]

[0004] Incidentally, data transmitted from one channel of a communication interface flows through a communication bus that constitutes an in-vehicle network, and is notified to all channels connected to the communication bus. In a communication device, for example, for mirroring purposes, it is necessary to receive and process data transmitted to the communication bus directly from the communication bus. However, a communication device may receive data from another communication device that has the same identification information as the data transmitted to the communication bus, and it is difficult to identify whether the data is transmitted to the communication bus or transmitted from another communication device, making it difficult to process the data appropriately.

[0005] Therefore, an object of the present invention is to provide a communication device and a data communication method that are capable of identifying whether data having the same identification information is data transmitted from the own node or data transmitted from another node. [Means for solving the problem]

[0006] The transmitting device includes at least one transmitting buffer and at least one receiving buffer. The communication device transmits data with identification information from the transmitting buffer to the communication bus, receives data flowing through the communication bus, and stores the data in the receiving buffer. The communication device then performs the following on the data stored in the receiving buffer: using a table storing at least one record associated with identification information of received data received from a communication bus and a transmitting node capable of identifying whether the received data is data transmitted from the own node or data transmitted from another node, Identifies and processes data sent from its own node. Effect of the Invention

[0007] According to the present invention, in a communication device, it is possible to identify whether data to which the same identification information is attached is data transmitted from the own node or data transmitted from another node. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a schematic diagram illustrating an example of an in-vehicle network. [Diagram 2] FIG. 2 is an explanatory diagram illustrating an example of a data frame. [Diagram 3] FIG. 2 is an explanatory diagram illustrating an example of a remote frame. [Figure 4] FIG. 2 is a schematic diagram illustrating an example of a communication device built into an electronic control device. [Diagram 5] FIG. 11 is an explanatory diagram illustrating an example of a reception rule table. [Figure 6] FIG. 11 is an explanatory diagram illustrating an example of a configuration table. [Figure 7] FIG. 11 is an explanatory diagram showing an example of a reception rule table set using a configuration table. [Figure 8]FIG. 13 is a schematic diagram showing another example of a communication device built into the electronic control device. [Figure 9] 11 is an explanatory diagram of a data blocking function when the data blocking circuit is activated; FIG. [Figure 10] FIG. 11 is an explanatory diagram of the data blocking function when the data blocking circuit is not in operation. [Figure 11] FIG. 13 is an explanatory diagram showing another example of the reception rule table. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. 1 shows an example of a line-type in-vehicle network mounted on vehicles such as passenger cars, buses, trucks, and construction machines. A plurality of electronic control units (ECUs) 100 that electronically control engine systems, automatic transmission systems, skid prevention systems, and automatic driving systems are connected to each other so as to be able to transmit and receive any data via, for example, a Controller Area Network (CAN) bus 200. The CAN bus 200 is less susceptible to the effects of noise by determining dominant and recessive based on the voltage difference between two communication lines CAN_H and CAN_L.

[0010] Here, the CAN bus 200 is given as an example of a communication bus. However, the communication bus is not limited to the CAN bus 200, and may be a well-known bus such as a LIN (Local Interconnect Network) bus or a FlexRay (registered trademark) bus. In the example of the in-vehicle network shown in FIG. 1, five electronic control units 100 are mounted on the vehicle, but the number of electronic control units 100 can be set arbitrarily.

[0011] A data frame DF or a remote frame RF used in the CAN protocol is transmitted and received between the multiple electronic control devices 100 as an example of data to which identification information is added.

[0012] The data frame DF includes a SOF (Start Of Frame), an ID (Identifier), an RTR (Remote Transmission Request), a control field, a data field, a CRC (Cyclic Redundancy Check) field, an ACK (Acknowledgement) field, and an EOF (End Of Frame), as shown in Fig. 2. Here, the ID is given as an example of identification information attached to data.

[0013] SOF indicates the start of the data frame DF. ID is used to identify the data contents and the sending node, and to indicate the priority of communication arbitration. RTR is used to identify the data frame DF and the remote frame RF. The control field includes an IDE (Identifier Extension), a reserved bit r, and a DLC (Data Length Code) that indicates how many bytes of data are transmitted in the data field. The data field is used to store the main body of the data to be transmitted. The CRC field includes a CRC sequence for determining whether the data has been received normally, and a CRC delimiter that indicates the end of the CRC sequence. The ACK field includes an ACK slot and an ACK delimiter that indicates the end of the ACK slot. EOF indicates the end of the data frame DF. The data frame DF shown in FIG. 2 is an example of a data frame in the standard format, but may be an extended frame data frame.

[0014] The remote frame RF is used to request a data frame DF, and as shown in Fig. 3, includes an SOF, an ID, an RTR, a control field, a CRC field, an ACK field, and an EOF. That is, the basic structure of the remote frame RF is the same as that of the data frame DF without the data field. Therefore, in order to avoid duplication, a detailed description of the remote frame RF will be omitted here. Please refer to the description of the data frame DF if necessary.

[0015] 4, the electronic control device 100 includes at least a communication device 120 for connecting to the CAN bus 200 and transmitting / receiving any data, in addition to a microcomputer (not shown) for controlling the controlled device. The communication device 120 includes a microcontroller 140 for transmitting / receiving data, and a CAN transceiver 160.

[0016] The microcontroller 140 includes a buffer module 140A, a non-volatile memory 140B, a volatile memory 140C, and an internal bus 140D that connects these components so that they can communicate with each other.

[0017] The communication interface of the buffer module 140A includes a plurality of channels CH_1 to CH_N (N: a natural number of 2 or more) that function as nodes. Here, the number of channels built into the buffer module 140A can be appropriately set in consideration of, for example, the devices to be controlled by the electronic control device 100, the number of electronic control devices 100 mounted on the vehicle, and the like.

[0018] Channel CH_1 includes at least one transmit buffer Tx and at least one receive buffer Rx. Each of channels CH_2 to CH_N includes at least one receive buffer Rx. In the example shown in FIG. 4, each of channels CH_1 to CH_N includes one receive buffer Rx, but it should be understood that this receive buffer Rx is a collective expression that may include multiple receive buffers. In the following description, the receive buffer of channel CH_i (i: natural number from 1 to N) will be represented as "Rxi" as necessary. In addition, when receive buffer Rxi includes multiple receive buffers, each receive buffer will be represented as "Rxn(j)" (j: number of receive buffers included in receive buffer Rxn) as necessary.

[0019] In channel CH_i, the ID of the data assigned to each of the receiving buffers Rxi(j) is preset according to a receiving rule table RTBL (described in detail later) that is in one-to-one correspondence with the channel CH_i. In other words, each receiving buffer Rxi(j) is assigned to a data ID. Here, at least some of the receiving buffers Rxi(j) of channel CH_i may be configured to receive a plurality of data assigned different IDs by masking using a wildcard, the number of which exceeds the number of receiving buffers Rxi(j).

[0020] The non-volatile memory 140B is made up of a flash ROM (Read Only Memory) or an EEPROM (Electrically Erasable Programmable Read Only Memory) that can retain data even when the power supply is cut off, and stores one configuration table CTBL and multiple reception rule tables RTBL. Here, the configuration table CTBL and the reception rule table RTBL stored in the non-volatile memory 140B are given as examples of the second table and the first table, respectively.

[0021] The volatile memory 140C is composed of a dynamic random access memory (DRAM) or a static random access memory (SRAM) in which data is lost when the power supply is cut off, and stores buffers A and B for transferring and temporarily storing data stored in the reception buffer Rxi of the buffer module 140A, and a first-in first-out (FIFO) buffer. Here, the number of buffers and FIFO buffers stored in the volatile memory 140C can be appropriately changed according to, for example, the control contents of the controlled device.

[0022] The CAN transceiver 160 is a bus interface IC (Integrated Circuit) used to connect the microcontroller 140 to another microcontroller, and performs operations such as generating and adjusting a bus transmission voltage, ensuring an operating current, and protecting wiring. A data input port of the CAN transceiver 160 is connected to a transmission buffer Tx1 of a channel CH_1 in the buffer module 140A. A data output port of the CAN transceiver 160 is connected to all of the reception buffers Rx1 to RxN of channels CH_1 to CH_N in the buffer module 140A. In addition, two ports for serial communication of the CAN transceiver 160 are connected to communication lines CAN_H and CAN_L of the CAN bus 200, respectively.

[0023] Therefore, the buffer module 140A can receive data with IDs that cannot be received by one channel CH_i by integrating the reception buffers Rx1-RxN of multiple channels CH_1-CH_N. For example, if the number of IDs that can be received by one channel CH_i is 128, data with 128×N different IDs can be received by integrating N channels.

[0024] The reception rule table RTBL stored in the non-volatile memory 140B is provided for each channel CH_i of the buffer module 140A. As shown in Fig. 5, the reception rule table RTBL defines at least one record that associates a channel number capable of identifying a reception buffer Rxi(j) that receives data, an ID (reception ID) of the data to be received, and a storage destination.

[0025] 5, assuming that there are 128 receive buffers Rx in each channel CH_i, it is defined that the receive buffer Rxi(0) assigned with channel number "0" receives data assigned with receive ID "0x100" and stores it in buffer A of the volatile memory 140C. Also, it is defined that the receive buffer Rxi(1) assigned with channel number "1" receives data assigned with receive ID "0x111" and stores it in buffer B of the volatile memory 140C. Furthermore, it is defined that the receive buffer Rxi(127) assigned with channel number "127" receives multiple data assigned with different IDs by masking using wildcards and stores it in a FIFO buffer consisting of multiple buffers in a first-in, first-out format.

[0026] The configuration table CTBL stored in the non-volatile memory 140B is used to make it possible to identify data that has the same ID as the transmitted data, for mirroring or other purposes. As shown in FIG. 6, the configuration table CTBL defines at least one record in which an ID of transmitted data (transmission ID), an ID of received data (reception ID), and a transmitting node that can identify whether the received data is data transmitted from the own node or data transmitted from another node are associated. In short, each record of the configuration table CTBL is associated with at least an ID of transmitted data and an ID of received data. Optionally, each record of the configuration table CTBL is associated with a transmitting node that can identify whether the received data is data transmitted from the own node or data transmitted from another node, in addition to an ID of transmitted data and an ID of received data.

[0027] 6, the first record of the configuration table CTBL defines that the sending ID is "0x100", the receiving ID is "0x100", and the sending node is "other node", that is, data with the receiving ID "0x100" is data sent from another node. The next record of the configuration table CTBL defines that the sending ID is "0x105", the receiving ID is "0x105", and the sending node is "own node", that is, data with the receiving ID "0x105" is data sent from the own node.

[0028] The communication device 120 of the electronic control device 100 sets the reception rule table RTBL by referring to the configuration table CTBL at the time of initialization when the communication device 120 is started.

[0029] Here, a method in which the communication device 120 sets the reception rule table RTBL using the configuration table CTBL shown in FIG. 6 will be described. The communication device 120 refers to the configuration table CTBL, sequentially scans the first record to the last record, and extracts records in which the transmission ID and reception ID are the same, for example, the first record and the next record. Then, as shown in FIG. 7, for a plurality of reception rule tables RTBL that correspond one-to-one with the channels CH_1 to CH_N, the communication device 120 sets the transmission node to "own node" or "other node" for the record in which the reception ID of the extracted record is set. In short, each record in the reception rule table RTBL is associated with at least the ID of the reception data received from the CAN bus 200, and a transmission node that can identify whether the reception data is data transmitted from the own node or data transmitted from another node. Note that the reception rule table RTBL is set in hardware by electronic circuits or the like that constitute the buffer module 140A of the communication device 120, and therefore an increase in the processing load of the microcomputer of the electronic control device 100 can be suppressed.

[0030] In the communication device 120, when data with ID "0x100" is transmitted from the electronic control device 100 to the CAN bus 200, a microcomputer (not shown) stores the data in a transmission buffer Tx1 of a channel CH_1 of the buffer module 140A. When the data is stored in the transmission buffer Tx1, the buffer module 140A transmits the data in the transmission buffer Tx1 to a data input port of the CAN transceiver 160 by hardware processing, and clears the transmission buffer Tx1. The CAN transceiver 160, which has received the data, converts the data received from the microcontroller 140 into a protocol compatible with the CAN bus 200 and transmits the data from two ports for serial communication to the CAN bus 200.

[0031] The data sent to the CAN bus 200 flows through the CAN bus 200 and is notified to the communication devices 120 of all the electronic control devices 100 connected to the CAN bus 200. Specifically, the CAN transceiver 160 connected to the CAN bus 200 converts the data received from the CAN bus 200 into a protocol compatible with the microcontroller 140, and sends the data from the data output port to all the receive buffers Rx1 to RxN of the channels CH_1 to CH_N.

[0032] At this time, the buffer module 140A refers to a plurality of reception rule tables RTBL stored in the non-volatile memory 140B, and stores the data in the corresponding reception buffer Rx according to the reception rules defined therein. To explain this with a specific example, when the ID of the received data is "0x100", the buffer module 140A refers to the reception rule table RTBL shown in Fig. 7, and stores the data in the reception buffer Rx of the channel CH_1 corresponding to the channel number 0 associated with the reception ID "0x100". After storing the data in the reception buffer Rx, the buffer module 140A refers to the reception rule table RTBL shown in Fig. 7, stores the data in the storage destination buffer A associated with the reception ID "0x100", and clears the reception buffer Rx.

[0033] At this time, the buffer module 140A can identify whether the received data is data transmitted from its own node or data transmitted from another node by referring to the reception ID and the transmission node in the reception rule table RTBL shown in Fig. 7. That is, the buffer module 140A extracts the ID from the received data and judges whether this ID exists in the reception rule table RTBL. Then, if the buffer module 140A judges that the ID of the received data exists in the reception rule table RTBL, it refers to the transmission node of the record associated with it, and if the transmission node is "your own node", it identifies the received data as data transmitted from its own node. On the other hand, if the transmission node of the record associated with the ID of the received data is "another node", the buffer module 140A identifies the received data as data transmitted from another node.

[0034] To explain the identification process using the reception rule table RTBL shown in FIG. 7 as an example, when the ID of the received data is "0x100", the buffer module 140A refers to the reception rule table RTBL and identifies a record whose reception ID is "0x100". The buffer module 140A then refers to the sending node of that record, and since this is "other node", identifies that the received data is data sent from another node. Furthermore, when the ID of the received data is "0x105", the buffer module 140A refers to the reception rule table RTBL and identifies a record whose reception ID is "0x105". The buffer module 140A then refers to the sending node of that record, and since this is "own node", identifies that the received data is data sent from its own node, that is, data for mirroring.

[0035] Therefore, when the communication device 120 receives data with the same ID as the data it transmitted, it can refer to the reception rule table RTBL to identify whether the received data is data transmitted from its own node or data transmitted from another node. Then, the communication device 120 can appropriately process the received data according to the result of such identification.

[0036] However, if mirroring is not required in the electronic control device 100, when data is transmitted from the communication device 120, even if data with the same ID is received, the data is not used to control the controlled device, and it is difficult to say that resources are used effectively. Therefore, as shown in FIG. 8, a data discarding circuit 180 that discards data from the CAN transceiver 160 during data transmission may be arranged on two lines connecting the buffer module 140A of the microcontroller 140 and the CAN transceiver 160. In short, the data discarding circuit 180 may be arranged between the transmission buffer Tx1 and the reception buffers Rx1 to RxN and the CAN bus 200. Here, it is preferable that the data discarding circuit 180 is, for example, a dedicated IC in order to reduce the processing load of the microcomputer of the electronic control device 100.

[0037] 9, while data is being transmitted from the transmission buffer Tx1 of the channel CH_1 of the buffer module 140A to the CAN transceiver 160, the data discarding circuit 180 discards data transmitted from the CAN transceiver 160 to the buffer module 140A. Specifically, when data is recessive, the data discarding circuit 180 determines that data is being transmitted to the CAN transceiver 160, and forcibly changes the recessive state of the data transmitted from the CAN transceiver 160 to dominant (see the dashed line in the figure). Then, the data discarding circuit 180 prevents meaningful data from being transmitted to the buffer module 140A, essentially discarding the data.

[0038] By adding the data discard circuit 180, while data is being transmitted from the transmit buffer Tx1 of the channel CH_1 in the buffer module 140A, data transmitted from the CAN transceiver 160 to the receive buffers Rx1 to RxN of the channels CH_1 to CH_N is discarded. Therefore, when mirroring is not required, the communication device 120 does not receive data for mirroring that is not the target of processing, and can effectively use the receive buffers Rx1 to RxN of the buffer module 140A. Note that the data discard circuit 180 may be provided with a switching function such as a mechanical switch or a software switch so as to be switchable between enabled and disabled.

[0039] When a plurality of data are stored in the FIFO buffer by the mask process, the microcomputer of the electronic control device 100 needs to scan the FIFO buffer by an application program to select data when using specific data. Also, the microcomputer of the electronic control device 100 needs to scan data at a certain period to prevent the FIFO buffer from becoming full and being unable to store data. Therefore, the processing load required for scanning the FIFO buffer increases on the microcomputer of the electronic control device 100. The buffer unit 120A of the communication device 120 may transfer data stored in the receive buffer Rx to a virtual storage by using DMA (Direct Memory Access), but the same problems as those of the FIFO buffer arise.

[0040] Therefore, as shown in Fig. 11, in the reception rule table RTBL, data may be grouped according to a predetermined rule such as the data reception cycle or function, and data may be stored in a different FIFO buffer for each group. In the example shown in Fig. 11, mask 1 of channel number "125" defines that data with a reception cycle of 10 ms is stored in FIFO buffer A, and mask 2 of channel number "126" defines that data of a function called security is stored in FIFO buffer B. In short, the communication device 120 can set multiple mask processes for each group having an ID classified according to a predetermined rule. Mask 3 of channel number "127" indicates that the reception ID and storage destination are defined according to an arbitrary predetermined rule.

[0041] In this way, for example, the frequency of scanning data and the scanning target can be optimized by shortening the period for scanning the FIFO buffer for data with a short reception period and lengthening the period for scanning the FIFO buffer for data with a long reception period. Also, for data used in a specific function, scanning of irrelevant data not used in that function can be avoided by scanning the FIFO buffer at a period set in consideration of the function of the data, and the frequency of scanning data and the scanning target can be optimized. By optimizing the frequency of scanning data and the scanning target, it is possible to reduce the processing load of the microcomputer of the electronic control device 100 while avoiding a situation in which the FIFO buffer becomes full and is unable to store data.

[0042] Therefore, according to the communication device 120 of this embodiment, even if the microcontroller 140 is not a highly functional one with ample resources, the resources of the microcontroller 140 can be utilized to increase the number of receivable IDs.

[0043] Furthermore, a person skilled in the art will easily understand that new embodiments can be created by omitting parts of the technical ideas of the various above-mentioned embodiments, combining parts of them appropriately, or replacing parts of them with well-known technology.

[0044] As one example, the storage of received data in a buffer or FIFO buffer may be performed not only by the buffer module 140A but also by each of the channels CH_1 to CH_N that receive the data.

[0045] Furthermore, the buffer module 140A may refer to the configuration table CTBL shown in Fig. 6 instead of the reception rule table RTBL shown in Fig. 7 to identify whether the received data is data transmitted from its own node or data transmitted from another node. In this case, the reception rule table RTBL may use the reception rule table shown in Fig. 5, on which the reception rule table RTBL is based, instead of the reception rule table shown in Fig. 7.

[0046] 7 may be created in advance by, for example, a designer, without using the configuration table CTBL. In this case, the communication device 120 does not need to have the configuration table CTBL. [Explanation of symbols]

[0047] 120...Communication device 140A...Buffer module 200...CAN bus (communication bus) ID...Identification information CAN_H...Communication line CAN_L...Communication line CH_1 to CH_N...Channel Tx1...Transmit buffer Rx1 to RxN...Receive buffer DF...Data frame (data) RF...Remote frame (data)

Claims

1. A communication device comprising at least one transmission buffer and at least one reception buffer, transmitting data having identification information attached thereto from the transmission buffer to a communication bus, receiving data flowing through the communication bus and storing the data in the reception buffer, identifying and processing data transmitted from the own node using a table storing at least one record associated with identification information of received data received from the communication bus and a transmitting node capable of identifying whether the received data is data transmitted from the own node or data transmitted from another node, for the data stored in the receiving buffer; Transmitting device.

2. There are a plurality of the receiving buffers, Each of the receiving buffers is assigned to each piece of data identification information. The communication device according to claim 1 .

3. The receiving buffer can be assigned to multiple identities using wildcards. The communication device according to claim 2 .

4. A plurality of wild cards can be set for each piece of identification information classified according to a predetermined rule. The communication device according to claim 3.

5. a data discard circuit disposed between the transmission buffer and the communication bus, the data discarding circuit discarding data transmitted from the communication bus to the reception buffer while transmitting data from the transmission buffer to the communication bus; The communication device according to claim 1 .

6. The data discard circuit is further provided with a switching function for switching between enabled and disabled. The communication device according to claim 5.

7. A communication device comprising at least one transmission buffer and at least one reception buffer, transmitting data having identification information attached thereto from the transmission buffer to a communication bus, receiving data flowing through the communication bus and storing the data in the reception buffer, identifying and processing data transmitted from the own node using a table storing at least one record associated with identification information of received data received from the communication bus and a transmitting node capable of identifying whether the received data is data transmitted from the own node or data transmitted from another node, for the data stored in the receiving buffer; Data communication method.

8. There are a plurality of the receiving buffers, Each of the receiving buffers is assigned to each piece of data identification information. The data communication method according to claim 7.

9. The receiving buffer can be assigned to multiple identities using wildcards. The data communication method according to claim 8.

10. A plurality of wild cards can be set for each piece of identification information classified according to a predetermined rule. The data communication method according to claim 9.

Citation Information

Patent Citations

  • Data processing module and method for deciding stored position of its received message

    JP2006238350A

  • Vehicle communication device

    JP2012142646A

  • Communication system

    JP2014011621A

  • Controller area network communications using ethernet

    US20140023068A1

  • Controller area network (CAN) device and method for controlling can traffic

    US20170093659A1