In-vehicle communication device, in-vehicle communication system, communication processing device, and communication method
The in-vehicle communication device addresses processing bottlenecks in vehicle control systems by combining and annotating data from multiple sources and protocols, reducing the load on communication units and enhancing system efficiency.
Patent Information
- Application Number
- JP2022032892
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-03
- Publication Date
- 2025-06-11
- Estimated Expiration
- 2042-03-03
AI Technical Summary
In vehicle control systems with multiple cores, the first core often acts as a relay for communication between other ECUs, leading to processing bottlenecks and delays due to the need to pack and transmit multiple data sets using various communication protocols.
An in-vehicle communication device with an application processing unit, multiple communication units for different protocols, a generation unit that combines and annotates data from various sources, and a relay unit that transmits this data to the application processing unit, thereby reducing the processing load on the communication unit.
This solution reduces the processing load for data relay and transmission, minimizing delays and improving overall system efficiency by optimizing data handling and protocol management.
Smart Images

Figure 0007690910000001 
Figure 0007690910000002 
Figure 0007690910000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to an in-vehicle communication device mounted on a vehicle and performing communication with other devices inside or outside the vehicle, and an in-vehicle communication system.
Background Art
[0002] In Patent Document 1, a vehicle control system is proposed that includes a control system ECU (Electronic Control Unit) having a processor on which a real-time OS (Operating System) is arranged, and an information system ECU having a processor on which a real-time OS is arranged and a processor on which a multimedia OS is arranged. In this vehicle control system, communication between the control system ECU and the information system ECU is performed by a processor on which a real-time OS is arranged, and communication within the information system ECU is performed by an inter-core communication function of the processor on which the real-time OS is arranged and an inter-core communication function of the processor on which the multimedia OS is arranged.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In an ECU equipped with a plurality of cores like the vehicle control system described in Patent Document 1, for example, a first core for communicating with other ECUs and a second core for executing an application program are provided, and the first core may be assigned the role of relaying communication between other ECUs and the second core. In such a configuration, the first core packs (combines into one) a plurality of data received from other ECUs and transmits them to the second core. Also, when the first core communicates with a plurality of ECUs using a plurality of communication protocols, the first core attaches information such as which communication protocol was used for communication to the received data, performs packing, and transmits it to the second core. Such relaying processing of the first core becomes a bottleneck and may cause processing delays in the ECU and the like.
[0005] The present disclosure has been made in view of such circumstances, and an object thereof is to provide an in-vehicle communication device, an in-vehicle communication system, a communication processing device, and a communication method that can be expected to reduce the load of processing for relaying data transmission and reception performed between a core and other devices.
Means for Solving the Problems
[0006] The in-vehicle communication device according to this aspect includes an application processing unit that executes an application program, a first communication unit that communicates with one or more in-vehicle devices using a first communication protocol, one or more second communication units that communicate with one or more in-vehicle devices using a second communication protocol different from the first communication protocol, a generation unit that generates relay data including first data received by the first communication unit and second data received by the second communication unit, and a relay unit that transmits the generated relay data to the application processing unit. The generation unit combines a plurality of first data received by the first communication unit and attaches first additional information, attaches second additional information to each second data received by the second communication unit, and generates the relay data by combining the first data with the first additional information attached thereto and the second data with the second additional information attached thereto respectively.
[0007] The present application can be implemented not only as an apparatus including such a characteristic processing unit, but also as a method including such characteristic processing as steps, or as a computer program for causing a computer to execute such steps. It can be implemented as a semiconductor integrated circuit that implements part or all of these apparatuses, or as other apparatuses or systems including these apparatuses.
Advantages of the Invention
[0008] According to the above, it can be expected to reduce the processing load for relaying data transmission and reception performed between the core and other apparatuses.
Brief Description of the Drawings
[0009]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Embodiments for Carrying Out the Invention
[0010] [Description of Embodiments of the Present Disclosure] First, embodiments of the present disclosure will be listed and described. At least a part of the embodiments described below may be arbitrarily combined.
[0011] (1) The in-vehicle communication device according to this aspect includes an application processing unit that executes an application program, a first communication unit that communicates with one or more in-vehicle devices using a first communication protocol, one or more second communication units that communicate with one or more in-vehicle devices using a second communication protocol different from the first communication protocol, a generation unit that generates relay data including first data received by the first communication unit and second data received by the second communication unit, and a relay unit that transmits the generated relay data to the application processing unit. The generation unit attaches first additional information to a plurality of first data received by the first communication unit, attaches second additional information to each second data received by the second communication unit, and generates the relay data by combining the first data with the first additional information and the second data with the second additional information respectively attached thereto.
[0012] In this aspect, the in-vehicle communication device includes an application processing unit and a communication processing unit. The application processing unit is a processor, core, or IC (Integrated Circuit) that executes an application program. The communication processing unit is a processor, core, or IC that communicates with one or more in-vehicle devices using a first communication protocol and a second communication protocol different from this, generates relay data including a plurality of data received from the in-vehicle devices, and transmits it to the application processing unit. The communication processing unit attaches one piece of first additional information to a plurality of first data received using the first communication protocol, attaches second additional information to each second data received using the second communication protocol, and combines the plurality of first data with the first additional information and the second data with the second additional information respectively attached thereto to form relay data. Thereby, it can be expected to reduce the processing load of the communication processing unit compared to the case where first additional information is attached to each of the plurality of first data.
[0013] (2) Preferably, the generation unit further attaches third additional information to a plurality of second data each attached with the second additional information, and generates the relay data by combining the first data attached with the first additional information and the second data attached with the second additional information and the third additional information.
[0014] In this aspect, the communication processing unit of the in-vehicle communication device further attaches one third additional information to a plurality of second data each attached with the second additional information, and combines the first data attached with the first additional information and the second data attached with the second additional information and the third additional information to form relay data. Thereby, the communication processing unit of the in-vehicle communication device can generate relay data by including information common to the plurality of second data in the third additional information.
[0015] (3) Preferably, the first additional information and the second additional information include information for identifying a communication protocol, and the third additional information includes information regarding the number of the second data included in the relay data.
[0016] In this aspect, the first additional information and the second additional information attached by the communication processing unit of the in-vehicle communication device include information for identifying the communication protocol through which the data to which this is attached is received. Further, the third additional information includes information regarding the number of the second data included in the relay data. Thereby, the application processing unit that has received the relay data generated by the communication processing unit can determine the number of the second data included in the relay data based on the third additional information, and can determine through which communication protocol each data has been transmitted and received based on the first additional information or the second additional information.
[0017] (4) Preferably, the generation unit uses, as the relay data, the combination of the first data attached with the first additional information and the second data attached with the second additional information and the third additional information, to which fourth additional information is attached, and the fourth additional information includes information regarding the number of the first data and the second data included in the relay data.
[0018] In this aspect, the communication processing unit uses, as relay data, data obtained by attaching fourth additional information to first data with first additional information attached thereto and second data with second additional information and third additional information attached thereto. Thereby, the communication processing unit can generate relay data by including, in the fourth additional information, information common to the first data and the second data and the like.
[0019] (5) Preferably, the application processing unit includes a plurality of data management units that manage data for each communication protocol, and a distribution unit that distributes the first data and the second data included in the relay data received from the communication processing unit to the data management unit of the corresponding communication protocol based on the first additional information and the second additional information included in the relay data.
[0020] In this aspect, an application processing unit of an in-vehicle communication device includes a plurality of data management units that manage data for each communication protocol. The application processing unit distributes the first data and the second data included in the relay data received from the communication processing unit to the plurality of data management units based on the first additional information and the second additional information. Thereby, it can be expected that the application processing unit manages the data received from other devices with an appropriate data management unit.
[0021] (6) Preferably, the first communication protocol is the communication protocol with the largest number of data receptions in the communication processing unit.
[0022] In this aspect, the first communication protocol for attaching first additional information to a plurality of data in a lump is set as the communication protocol with the largest data reception amount in the communication processing unit. Thereby, it can be expected to reduce the number of additional information attached for generating relay data and reduce the processing load on the communication processing unit.
[0023] (7) The in-vehicle communication system according to this aspect includes an application processing device that executes an application program, a first communication unit that communicates with one or more in-vehicle devices using a first communication protocol, one or more second communication units that communicate with the one or more in-vehicle devices using a second communication protocol different from the first communication protocol, a generation unit that generates relay data including first data received by the first communication unit and second data received by the second communication unit, and a relay unit that transmits the generated relay data to the application processing device. The generation unit attaches first additional information to a plurality of first data received by the first communication unit, attaches second additional information to each second data received by the second communication unit, and generates the relay data by combining the first data with the first additional information and the second data with the second additional information respectively attached thereto. As the application processing device, for example, there is an ECU on which an application program can be executed. Further, as the communication processing device, for example, there is a gateway ECU.
[0024] In this aspect, similar to aspect (1), it can be expected that the load of the processing performed by the communication processing device is reduced.
[0025] (8) The communication processing device according to this aspect includes a first communication unit that communicates with one or more in-vehicle devices using a first communication protocol, one or more second communication units that communicate with the one or more in-vehicle devices using a second communication protocol different from the first communication protocol, a generation unit that generates relay data including first data received by the first communication unit and second data received by the second communication unit, and a relay unit that transmits the generated relay data to an application processing device that executes an application program. The generation unit attaches first additional information to a plurality of first data received by the first communication unit, attaches second additional information to each second data received by the second communication unit, and generates the relay data by combining the first data with the first additional information and the second data with the second additional information respectively attached thereto.
[0026] In this aspect, similar to aspect (1), it can be expected to reduce the load of the processing performed by the communication processing device.
[0027] (9) The communication method according to this aspect includes a first communication unit that communicates with one or more in-vehicle devices using a first communication protocol, and one or more second communication units that communicate with the one or more in-vehicle devices using a second communication protocol different from the first communication protocol. The communication processing device combines a plurality of first data received by the first communication unit and attaches first additional information thereto, attaches second additional information to each second data received by the second communication unit, generates relay data by combining the first data with the first additional information attached thereto and the second data with the second additional information attached thereto respectively, and transmits the relay data to an application processing device that executes an application program.
[0028] In this aspect, similar to aspect (1), it can be expected to reduce the load of the processing performed by the communication processing device.
[0029] [Details of Embodiments of the Present Disclosure] A specific example of the in-vehicle communication device according to the embodiment of the present disclosure will be described below with reference to the drawings. The present disclosure is not limited to these examples, and is defined by the claims, and is intended to include all modifications within the meaning and scope equivalent to the claims.
[0030] <System Configuration> FIG. 1 is a schematic diagram showing the configuration of an in-vehicle system according to the present embodiment. The in-vehicle system according to the present embodiment is a system in which an in-vehicle communication device 3 mounted on a vehicle 1 collects various information from one or more other ECUs 4 and transmits the collected information to a server device 2 provided outside the vehicle 1. In the vehicle 1 according to the present embodiment, a plurality of ECUs 4 that perform various processes such as control processing related to the running of the vehicle 1, information processing for collecting peripheral information of the vehicle 1, or information providing processing for a user are mounted at appropriate positions. These plurality of ECUs 4 are connected via communication lines arranged in the vehicle 1, and cooperate with each other by transmitting and receiving data to and from each other via these communication lines.
[0031] In addition, these plurality of ECUs 4 are connected to the in-vehicle communication device 3 via communication lines. The in-vehicle system shown in FIG. 1 has a network configuration in which three communication lines are connected to the in-vehicle communication device 3, and three ECUs 4 are respectively connected to each communication line. That is, three ECUs 4 are connected to one communication line in a bus-type network configuration, and the three communication lines constituting this bus-type network are respectively connected to the in-vehicle communication device 3 in a star-type network configuration. However, the illustrated network configuration is an example and is not limited thereto, and the in-vehicle communication device 3 and the plurality of ECUs 4 mounted on the vehicle 1 may be connected in various network configurations such as a bus type, a star type, or a ring type.
[0032] The in-vehicle communication device 3 relays the transmission and reception of data between the connected plurality of communication lines, and also relays the transmission and reception of data between the server device 2 provided outside the vehicle 1 and the ECU 4 in the vehicle 1. For example, the in-vehicle communication device 3 relays the transmission and reception of data between the ECUs 4 mounted on the vehicle 1 by transmitting the data received from one communication line from the other one or more communication lines. Also, for example, the in-vehicle communication device 3 relays the transmission and reception of data between the server device 2 and the ECU 4 by transmitting the data received from the server device 2 from one or more communication lines. Also, for example, the in-vehicle communication device 3 relays the transmission and reception of data between the server device 2 and the ECU 4 by transmitting the data received from the ECU 4 to the server device 2.
[0033] <Device Configuration> FIG. 2 is a block diagram showing the hardware configuration of the in-vehicle communication device 3 according to the present embodiment. The in-vehicle communication device 3 according to the present embodiment includes an application core 10, a real-time core 20, storage units 31 and 32, a wireless communication unit 33, and the like. In the present embodiment, the cores included in the in-vehicle communication device 3 are, for example, an arithmetic processing unit such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), a storage unit such as an SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory), and one or a plurality of communication units that communicate using a communication protocol such as CAN, LIN, or Ethernet (registered trademark), etc., which are integrated into one package as an IC. Note that in the present embodiment, the in-vehicle communication device 3 includes two cores, an application core 10 and a real-time core 20, and these two cores are so-called single-core ICs, and the IC of the application core 10 and the IC of the real-time core 20 are mounted on a circuit board or the like of the in-vehicle communication device 3. However, the in-vehicle communication device 3 may be configured to mount a so-called multi-core IC and include the application core 10 and the real-time core 20 in one IC.
[0034] The storage units 31 and 32 are configured using non-volatile memory elements such as flash memories or EEPROMs (Electrically Erasable Programmable Read Only Memories). The storage unit 31 stores various computer programs such as application programs and the OS executed by the application core 10, and data necessary for the execution of these computer programs. The storage unit 32 stores various computer programs such as communication programs and real-time OSs executed by the real-time core 20, and data necessary for the execution of these computer programs. In the present embodiment, the in-vehicle communication device 3 is configured to include the storage units 31 and 32 for each core, but the present invention is not limited thereto, and a configuration in which one storage unit is shared by the application core 10 and the real-time core 20 may be used.
[0035] The wireless communication unit 33 communicates with a server device 2 provided outside the vehicle 1 by wireless communication such as mobile phone communication networks or wireless LANs (Local Area Networks). Note that the wireless communication unit 33 may communicate with various devices provided outside the vehicle 1 in addition to the server device 2. The wireless communication unit 33 transmits data given from the application core 10 to the server device 2 and gives data received from the server device 2 to the application core 10. The wireless communication unit 33 is mounted on the circuit board of the in-vehicle communication device 3 as, for example, one IC, and can exchange data with the application core 10 via wiring provided on the circuit board. However, the wireless communication unit 33 may be provided within the application core 10.
[0036] The application core 10 included in the in-vehicle communication device 3 according to this embodiment is, for example, a core that executes an application program, and the real-time core 20 is a core that performs relay processing related to communication within the vehicle 1. The application core 10 and the real-time core 20 are, for example, mounted on a circuit board of the in-vehicle communication device 3, and are electrically connected via wiring provided on the circuit board, and data can be exchanged via this wiring. In this embodiment, the application core 10 and the real-time core 20 exchange data by communicating with each other via a communication protocol such as Ethernet or SPI (Serial Peripheral Interface) via this wiring.
[0037] The real-time core 20 communicates with one or more ECUs 4 provided in the vehicle 1 via one or more communication lines connected to the in-vehicle communication device 3. In the illustrated example, three communication lines conforming to the CAN communication protocol and three communication lines conforming to the LIN communication protocol are connected to the in-vehicle communication device 3. For example, these communication lines are connected to one or more connectors provided on the circuit board of the in-vehicle communication device 3, and these connectors and the real-time core 20 are electrically connected via wiring provided on the circuit board. The real-time core 20 relays the transmission and reception of data between the ECUs 4 connected to these communication lines, and also relays the transmission and reception of data between the application core 10 and the ECUs 4.
[0038] FIG. 3 is a block diagram showing the software configuration of the in-vehicle communication device 3 according to this embodiment. In the in-vehicle communication device 3 according to this embodiment, software modules indicated by broken-line blocks in FIG. 3 are realized by the application core 10 and the real-time core 20 executing programs stored in the storage units 31 and 32. Note that in this embodiment, the modules indicated by broken-line blocks in FIG. 3 are software modules realized by program execution, but are not limited thereto, and may be hardware modules realized as hardware.
[0039] In this embodiment, the application core 10 includes a communication processing module 11, a CAN manager module 12, a LIN manager module 13, an application module 14, an uploader module 15, and the like. The real-time core 20 includes a CAN transceiver processing module 21, a LIN transceiver processing module 22, a relay processing module 23, and the like. In FIG. 3, the name of each block is abbreviated by omitting "module".
[0040] The CAN transceiver processing module 21 of the real-time core 20 is a module for performing communication according to the CAN communication protocol with the ECU 4 in the vehicle 1. The CAN transceiver processing module 21 receives data (messages, frames, etc.) conforming to the CAN communication protocol from the ECU 4 via a communication line, and provides the received data to the relay processing module 23. The CAN transceiver processing module 21 also converts the data provided from the relay processing module 23 into data conforming to the CAN communication protocol and transmits it to the ECU 4.
[0041] The LIN transceiver processing module 22 is a module for performing communication according to the LIN communication protocol with the ECU 4 in the vehicle 1. The LIN transceiver processing module 22 receives data conforming to the LIN communication protocol from the ECU 4 via a communication line, and provides the received data to the relay processing module 23. The LIN transceiver processing module 22 also converts the data provided from the relay processing module 23 into data conforming to the LIN communication protocol and transmits it to the ECU 4.
[0042] The relay processing module 23 performs processing to relay data transmission and reception between the CAN transmission / reception processing module 21, the LIN transmission / reception processing module 22, and the application core 10. For example, the relay processing module 23 transmits the data received from the CAN transmission / reception processing module 21 to the LIN transmission / reception processing module 22, and transmits the data received from the LIN transmission / reception processing module 22 to the CAN transmission / reception processing module 21, thereby relaying data between CAN and LIN within the vehicle 1. Also, for example, the relay processing module 23 transmits the data received from the CAN transmission / reception processing module 21 or the LIN transmission / reception processing module 22 to the application core 10, and transmits the data received from the application core 10 to the CAN transmission / reception processing module 21 or the LIN transmission / reception processing module 22, thereby relaying data between the application core 10 and the ECU 4 within the vehicle 1.
[0043] Also, the relay processing module 23 of the real-time core 20 included in the in-vehicle communication device 3 according to the present embodiment generates relay data that combines a plurality of data received from one or a plurality of ECUs 4 by the CAN transmission / reception processing module 21 and the LIN transmission / reception processing module 22 into one, and transmits the generated relay data to the application core 10. Details of the generation process of the relay data by the relay processing module 23 will be described later.
[0044] The communication processing module 11 of the application core 10 performs data transmission and reception with the real-time core 20. The communication processing module 11 transmits the data received from the real-time core 20 to the CAN manager module 12 or the LIN manager module 13, and transmits the data received from the CAN manager module 12 or the LIN manager module 13 to the real-time core 20.
[0045] The CAN manager module 12 is a module that manages the data received by the in-vehicle communication device 3 from the ECU 4 according to the CAN communication protocol. The CAN manager module 12 virtually provides the communication function according to the CAN communication protocol performed by the in-vehicle communication device 3 to the application module 14. Thereby, the application module 14 can transmit and receive data to and from the ECU 4 mounted on the vehicle 1 by transmitting and receiving data to and from the CAN manager module 12. The CAN manager module 12 provides the data given by the communication processing module 11 to the application module 14 and provides the data given by the application module 14 to the communication processing module 11.
[0046] The LIN manager module 13 is a module that manages the data received by the in-vehicle communication device 3 from the ECU 4 according to the LIN communication protocol. The LIN manager module 13 virtually provides the communication function according to the LIN communication protocol performed by the in-vehicle communication device 3 to the application module 14. Thereby, the application module 14 can transmit and receive data to and from the ECU 4 mounted on the vehicle 1 by transmitting and receiving data to and from the LIN manager module 13. The LIN manager module 13 provides the data given by the communication processing module 11 to the application module 14 and provides the data given by the application module 14 to the communication processing module 11.
[0047] The application module 14 is a module that performs various processes such as providing information to the driver of the vehicle 1 or transmitting information to the outside of the vehicle 1 based on the data collected from the ECU 4 mounted on the vehicle 1. Although only one application module 14 is illustrated in FIG. 3, a plurality of application modules 14 can be executed in parallel in the application module 14. The application module 14 according to the present embodiment transmits the data in the vehicle 1 to the external server device 2 and performs a process of transmitting the data received from the server device 2 to the ECU 4 of the vehicle 1. The application module 14 can receive data from the CAN manager module 12 or the LIN manager module 13, appropriately process the received data, and transmit the data to the uploader module 15, thereby transmitting the data to the server device 2. Further, the application module 14 can receive data from the uploader module 15 and transmit the received data to the ECU 4 connected to the corresponding CAN or LIN communication line by specifying an appropriate port number and transmitting it to the CAN manager module 12 or the LIN manager module 13.
[0048] The uploader module 15 is a module that communicates with the server device 2 by controlling the operation of the wireless communication unit 33. In the present embodiment, the uploader module 15 receives data from the application module 14 and transmits (uploads) the received data to the server device 2. Further, when the uploader module 15 receives some data as a response from the server device 2 for the transmission of the data, the received data may be transmitted to the application module 14.
[0049] <Relay data generation process> The real-time core 20 included in the in-vehicle communication device 3 according to this embodiment communicates with a plurality of ECUs 4 mounted on the vehicle 1 using various communication protocols, collects (packages) a plurality of data received from the ECUs 4, generates one relay data, and transmits the generated relay data to the application core 10. FIG. 4 is a schematic diagram for explaining the relay data generation process. Note that FIG. 4 shows an example in which the real-time core 20 receives data using communication protocols of ADC (analog-digital conversion) and PWM (pulse width modulation) in addition to the CAN and LIN communication protocols. In this embodiment, the communication protocol includes standards for data transmission and reception such as ADC and PWM.
[0050] The real-time core 20 according to this embodiment can transmit and receive data to and from the ECU 4 and the like using a plurality of communication protocols such as CAN, LIN, ADC, and PWM. The real-time core 20 temporarily stores the received data in a communication buffer in order to relay the data received from the ECU 4 and the like to the application core 10, and at a predetermined timing, transmits the plurality of data stored in the communication buffer to the application core 10 as relay data. Note that the communication buffer is provided in a storage area or a storage unit 32 within the real-time core 20. Also, in this embodiment, at least two communication buffers, i.e., a communication buffer for storing data for the first communication protocol and a communication buffer for storing data for the second communication protocol, are provided in the in-vehicle communication device 3.
[0051] In the present embodiment, the plurality of communication protocols through which the real-time core 20 communicates with the ECU 4 or the like are pre-classified into one first communication protocol and one or more second communication protocols other than this. In the present embodiment, the communication protocol of CAN is the first communication protocol, and the communication protocols of LIN, ADC, and PWM other than this are classified as the second communication protocols. The classification of this first communication protocol and second communication protocols is determined in advance by, for example, the designer of the in-vehicle communication device 3 or the in-vehicle system. In the present embodiment, for the first communication protocol, a communication protocol in which the amount of data received by the real-time core 20 is the largest (or the amount of data transmitted and received in the vehicle 1 is the largest) is defined. In this example, it is assumed that the amount of data received by the real-time core 20 through the CAN communication protocol is the largest. For the second communication protocol, all communication protocols other than the first communication protocol, in this example, the communication protocols of LIN, ADC, and PWM are defined.
[0052] When the real-time core 20 receives data from the ECU 4 or the like, if this data is received through the first communication protocol (CAN), it stores the data in the communication buffer for the first communication protocol, and if it is received through the second communication protocols (LIN, ADC, PWM), it stores the data in the communication buffer for the second communication protocol. At this time, for each data received through the second communication protocol, the real-time core 20 attaches additional information (second header) indicating through which communication protocol (LIN, ADC, PWM) the data is received, and stores the data in the communication buffer.
[0053] The real-time core 20 repeats transmitting relay data to the application core 10 at a predetermined period, for example. When the timing to transmit the relay data arrives, the real-time core 20 reads out the data stored in the communication buffer and generates the relay data. At this time, the real-time core 20 attaches additional information (the first header) indicating which communication protocol (CAN) the data was received by, to the plurality of data received by the first communication protocol. Also, for the plurality of data each received by the second communication protocol and each attached with a second header, the real-time core 20 attaches additional information (the third header) indicating that these plurality of data were received by the second communication protocol and the number of these plurality of data. Further, the real-time core 20 attaches additional information (the fourth header) indicating the total number of all data included in the relay data, and combines these additional information and the data into the relay data.
[0054] For example, the relay data shown in the lower part of FIG. 4 is a concatenation of the fourth header, the third header, the second header, and a plurality of sets of data received by the second communication protocol, the first header, and a plurality of data received by the first communication protocol in this order. The real-time core 20 Communication concatenates the data stored in the buffer and the first to fourth headers in the order shown in the figure to generate the relay data. However, the order of the headers and data included in the relay data shown in FIG. 4 is only an example and is not limited thereto, and the headers and data may be arranged in any order. The real-time core 20 transmits the generated relay data to the application core 10.
[0055] The application core 10 receives the relay data transmitted from the real-time core 20. The application core 10 that has received the relay data grasps, for example, based on the third header, that the relay data contains three pieces of data using a communication protocol other than CAN, and acquires three sets of the second header and data from the third header. For each acquired set of the second header and data, the application core 10 determines the communication protocol of each piece of data based on the second header, and provides the data to a manager module corresponding to the communication protocol (such as the LIN manager module 13, etc.).
[0056] Also, the application core 10 can determine, based on the fourth header, that the total number of data included in the relay data is 703, and based on the third header, that there are three pieces of data using a communication protocol other than CAN. Based on these, it can be determined that 700 pieces of data using the CAN communication protocol are included in the relay data. The application core 10 acquires 700 pieces of data following the first header from the relay data, and provides the data to the CAN manager module 12 corresponding to the CAN communication protocol.
[0057] <Flowchart> FIG. 5 is a flowchart showing the procedure of the reception process performed by the real-time core 20 according to the present embodiment. In this flowchart, the real-time core 20 performs a process of counting the total number of data and the number of data other than CAN, which can be performed using a counting variable that utilizes a storage area such as a register or memory provided in the real-time core 20. The total number of data is the number of data included in the relay data, and the number of data other than CAN is the number of data other than CAN included in the relay data.
[0058] The real-time core 20 included in the in-vehicle communication device 3 according to this embodiment determines whether data has been received from in-vehicle devices such as the ECU 4 mounted on the vehicle 1 (step S1). If no data has been received (S1: NO), the real-time core 20 waits until data is received. If data has been received (S1: YES), the real-time core 20 adds 1 to the total number of all data (step S2 ).
[0059] The real-time core 20 determines whether the received data is based on the CAN communication protocol (step S3). If the received data is based on the CAN communication protocol (S3: YES), the real-time core 20 stores the received data in the communication buffer for the first communication protocol (CAN) (step S4) and ends the process.
[0060] If the received data is not based on the CAN communication protocol (S3: NO), the real-time core 20 adds 1 to the number of non-CAN data (step S5). The real-time core 20 determines what communication protocol the received data is based on (step S6). The real-time core 20 generates a second header including information indicating the communication protocol determined in step S6 (step S7). The real-time core 20 stores the received data and the second header generated in step S7 in the communication buffer for the second communication protocol (other than CAN) (step S8) and ends the process.
[0061] FIG. 6 is a flowchart showing the procedure of the processing at the time of transmission performed by the real-time core 20 according to this embodiment. The real-time core 20 included in the in-vehicle communication device 3 according to this embodiment periodically repeats data transmission to the application core 10, and determines whether the timing for transmitting data to the application core 10 has arrived (step S21). If the timing for transmitting data has not arrived (S21: NO), the real-time core 20 waits until the timing for transmitting data arrives.
[0062] When the timing to transmit data arrives (S21: YES), the real-time core 20 generates relay data to be transmitted to the application core 10 based on the data stored in the communication buffer (step S22). At this time, the real-time core 20 attaches a first header indicating that the communication protocol is CAN to a plurality of data stored in the communication buffer for the first communication protocol. Also, the real-time core 20 attaches a third header indicating that the communication protocol is other than CAN and the number of included data to a set of a plurality of second headers and data stored in the communication buffer for the second communication protocol. The real-time core 20 concatenates a plurality of data according to the CAN communication protocol with the first header attached thereto and a set of a plurality of second headers and data with the third header attached thereto, and uses, as relay data, the one with a fourth header indicating the total number of all data attached thereto (see FIG. 4).
[0063] The real-time core 20 transmits the generated relay data to the application core 10 (step S23). The real-time core 20 resets the values of the total number of all data and the number of data other than CAN that have been counted (step S24), and ends the process.
[0064] FIG. 7 is a flowchart showing the procedure of the process performed by the application core 10 according to the present embodiment. The application core 10 included in the in-vehicle communication device 3 according to the present embodiment determines whether or not relay data has been received from the real-time core 20 (step S41). When the relay data has not been received (S41: NO), the application core 10 waits until the relay data is received. When the relay data has been received (S41: YES), the application core 10 confirms the total number of all data included in the relay data based on the fourth header included in the relay data (step S42).
[0065] Next, the application core 10 determines whether the number of data other than the CAN communication protocol included in the relay data is greater than 0 based on the third header included in the relay data (step S43). If the number of data other than the CAN communication protocol is 0 (S43: NO), the application core 10 proceeds to step S48.
[0066] If the number of data other than the CAN communication protocol exceeds 0 (S43: YES), the application core 10 acquires one set of the second header and data included in the received relay data (step S44). The application core 10 confirms the communication protocol of the acquired data based on the acquired second header (step S45). The application core 10 provides the data acquired in step S44 to the manager module corresponding to the communication protocol confirmed in step S45 (for example, the LIN manager module 13) (step S46). The application core 10 determines whether the processing of steps S44 to S46 has been completed for all data other than the CAN communication protocol (step S47). If the processing has not been completed for all data other than the CAN communication protocol (S47: NO), the application core 10 returns the processing to step S44 and performs the same processing on the next set of the second header and data. If the processing has been completed for all data other than the CAN communication protocol (S47: YES), the application core 10 proceeds to step S48.
[0067] The application core 10 provides the data of a plurality of CAN communication protocols following the first header included in the received relay data to the CAN manager module 12 (step S48) and ends the processing.
[0068] <Modification Example> FIG. 8 is a block diagram showing the configuration of an in-vehicle communication system according to a modified example. The in-vehicle communication system according to the modified example includes a first in-vehicle communication device 3A having an application core 10 and a second in-vehicle communication device 3B having a real-time core 20. The first in-vehicle communication device 3A and the second in-vehicle communication device 3B are connected via a communication line. The communication processing module 11 of the application core 10 of the first in-vehicle communication device 3A and the relay processing module 23 of the real-time core 20 of the second in-vehicle communication device 3B can communicate via this communication line.
[0069] As shown in the modified example, the application core 10 and the real-time core 20 may be distributed and mounted on a plurality of in-vehicle communication devices instead of being mounted on one in-vehicle communication device.
[0070] <Summary> The in-vehicle communication device (in-vehicle communication system) 3 according to the present embodiment configured as described above includes an application core (application processing unit, application processing device) 10 that executes an application program, and a real-time core (communication processing unit, communication processing device) 20 that relays data transmission and reception between the ECU (in-vehicle device) 4 mounted on the vehicle 1 and the application core 10. The real-time core 20 includes a CAN transmission / reception processing module (first communication unit) 21 that communicates using the CAN communication protocol (first communication protocol), a LIN transmission / reception processing module (second communication unit) 22 that communicates using a communication protocol different from the CAN communication protocol (second communication protocol), and a relay processing module 23 that performs data relay processing. The real-time core 20 attaches a single first header (first additional information) to a plurality of pieces of data (first data) received by the CAN transmission / reception processing module 21, and attaches a second header (second additional information) to each piece of data (second data) received by the LIN transmission / reception processing module 22. The real-time core 20 generates relay data by combining the plurality of pieces of first data with the first header attached thereto and the plurality of pieces of second data with the second header attached thereto, and transmits the relay data to the application core 10. Thereby, it can be expected that the in-vehicle communication device 3 reduces the processing load performed by the real-time core 20 as compared with the case of attaching the first header to each of the plurality of pieces of first data.
[0071] Further, the real-time core 20 of the in-vehicle communication device 3 according to the present embodiment combines a plurality of pieces of second data each with the second header attached thereto, further attaches a single third header (third additional information) thereto, and generates relay data by combining the plurality of pieces of first data with the first header attached thereto and the plurality of pieces of second data with the second header and the third header attached thereto, and transmits the relay data to the application core 10. Thereby, the real-time core 20 of the in-vehicle communication device 3 can generate relay data by including common information and the like in the third header for the plurality of pieces of second data.
[0072] In addition, the first header and the second header attached to the real-time core 20 of the in-vehicle communication device 3 according to the present embodiment include information for identifying the communication protocol that received the data to which this is attached. The third header includes information regarding the number of second data included in the relay data. Thereby, the application core 10 that has received the relay data generated by the real-time core 20 can determine the number of second data included in the relay data based on the third header, and can determine whether each data was transmitted and received using any communication protocol based on the first header or the second header.
[0073] In addition, the real-time core 20 of the in-vehicle communication device 3 according to the present embodiment uses, as relay data, data obtained by attaching a fourth header (fourth additional information) to the first data with the first header attached thereto and the second data with the second header and the third header attached thereto. Thereby, the real-time core 20 can generate relay data by including common information and the like for the first data and the second data in the fourth header.
[0074] In addition, the application core 10 of the in-vehicle communication device 3 according to the present embodiment includes a plurality of manager modules (data management units) that manage data for each communication protocol. The application core 10 distributes a plurality of data included in the relay data received from the real-time core 20 to the plurality of manager modules based on the first header and the second header. Thereby, it can be expected that the application core 10 manages the data received from other devices with an appropriate manager module.
[0075] In addition, in the in-vehicle communication device 3 according to the present embodiment, the first communication protocol that attaches the first header to a plurality of data is set as the communication protocol with the largest data reception amount in the real-time core 20, for example, the CAN communication protocol. Thereby, it can be expected to reduce the number of headers attached to generate the relay data and reduce the processing load performed by the real-time core 20.
[0076] In the present embodiment, examples of communication protocols used for the in-vehicle communication device 3 to communicate with other in-vehicle devices such as the ECU 4 include CAN, LIN, ADC, and PWM. However, the communication protocol is not limited to these, and for example, various communication protocols such as CAN-FD (CAN with Flexible Data Rate), FlexRay (registered trademark), or Ethernet may be used. Also, in the present embodiment, an example of an application program executed by the application core 10 is shown where data is transmitted to the server device 2 outside the vehicle 1. However, it is not limited to this, and the application program may perform any processing. Further, although the in-vehicle communication device 3 is configured to include the application core 10 and the real-time core 20, it is not limited to this, and an in-vehicle communication system may be configured such that a first in-vehicle communication device including the application core 10 and a second in-vehicle communication device including the real-time core 20 are connected via a communication line.
[0077] Also, in the present embodiment, it is assumed that the designer of the in-vehicle system or the in-vehicle communication device 3 etc. pre-determines the first communication protocol and the second communication protocol other than it. However, it is not limited to this. The in-vehicle communication device 3 may dynamically change which communication protocol to handle as the first communication protocol. For example, the in-vehicle communication device 3 can count the number of receptions for each communication protocol for the data received at a predetermined time, and set the communication protocol with the largest number of data receptions as the first communication protocol.
[0078] The embodiments disclosed this time should be considered as illustrative in all respects and not restrictive. The scope of the present disclosure is shown not by the above meaning but by the scope of claims, and it is intended that all modifications within the meaning and scope equivalent to the scope of claims are included.
Explanation of Reference Numerals
[0079] 1 Vehicle 3 In-vehicle communication device (in-vehicle communication system) 3A First In-vehicle Communication Device (Application Processing Device) 3B Second In-vehicle Communication Device (Communication Processing Device) 4 ECU (In-vehicle Device) 10 Application Core (Application Processing Unit, Application Processing Device) 11 Communication Processing Module (Distribution Unit) 12 CAN Manager Module (Data Management Unit) 13 LIN Manager Module (Data Management Unit) 14 Application Module 15 Uploader Module 20 Real-time Core (Communication Processing Unit, Communication Processing Device) 21 CAN Transceiver Processing Module (First Communication Unit) 22 LIN Transceiver Processing Module (Second Communication Unit) 23 Relay Processing Module (Generation Unit, Relay Unit) 31, 32 Memory Unit 33 Wireless Communication Unit
Claims
1. An application processing unit that executes an application program, a first communication unit that communicates with one or more in-vehicle devices using a first communication protocol, one or more second communication units that communicate with one or more in-vehicle devices using a second communication protocol different from the first communication protocol, a generation unit that generates relay data including first data received by the first communication unit and second data received by the second communication unit, and a relay unit that transmits the generated relay data to the application processing unit. Comprising: The generation unit: Collects a plurality of first data received by the first communication unit and attaches first additional information thereto, Attaches second additional information to each second data received by the second communication unit, Generates the relay data by combining the first data with the first additional information and the second data with the second additional information respectively. An in-vehicle communication device.
2. The generation unit: Collects a plurality of second data each with the second additional information attached thereto, attaches third additional information thereto, Generates the relay data by combining the first data with the first additional information and the second data with the second additional information and the third additional information. The in-vehicle communication device according to Claim 1.
3. The first additional information and the second additional information include information for identifying the communication protocol, The third additional information includes information regarding the number of the second data included in the relay data. The in-vehicle communication device according to Claim 2.
4. The generation unit uses, as the relay data, the combination of the first data with the first additional information and the second data with the second additional information and the third additional information, with fourth additional information attached thereto, The fourth additional information includes information regarding the number of the first data and the second data included in the relay data. The in-vehicle communication device according to Claim 2 or Claim 3.
5. The application processing unit: Has a plurality of data management units that manage data for each communication protocol, A distribution unit that distributes the first data and the second data included in the relay data received from the communication processing unit to the data management unit of the corresponding communication protocol based on the first additional information and the second additional information included in the relay data. Having: The in-vehicle communication device according to any one of Claims 1 to 4.
6. The first communication protocol is the communication protocol with the largest number of data receptions in the communication processing unit. The in-vehicle communication device according to any one of claims 1 to 5.
7. An application processing device that executes an application program, A first communication unit that communicates with one or more in-vehicle devices using a first communication protocol, one or more second communication units that communicate with one or more in-vehicle devices using a second communication protocol different from the first communication protocol, a generation unit that generates relay data including first data received by the first communication unit and second data received by the second communication unit, and a relay unit that transmits the generated relay data to the application processing device comprising: The generation unit: collects a plurality of first data received by the first communication unit and attaches first additional information thereto, attaches second additional information to each second data received by the second communication unit, generates the relay data by combining the first data with the first additional information attached thereto and the second data with the second additional information attached thereto respectively. An in-vehicle communication system.
8. A first communication unit that communicates with one or more in-vehicle devices using a first communication protocol, one or more second communication units that communicate with one or more in-vehicle devices using a second communication protocol different from the first communication protocol, a generation unit that generates relay data including first data received by the first communication unit and second data received by the second communication unit, and a relay unit that transmits the generated relay data to an application processing device that executes an application program comprising: The generation unit: collects a plurality of first data received by the first communication unit and attaches first additional information thereto, attaches second additional information to each second data received by the second communication unit, generates the relay data by combining the first data with the first additional information attached thereto and the second data with the second additional information attached thereto respectively. A communication processing device.
9. A communication processing device comprising a first communication unit that communicates with one or more in-vehicle devices using a first communication protocol and one or more second communication units that communicate with one or more in-vehicle devices using a second communication protocol different from the first communication protocol, collects a plurality of first data received by the first communication unit and attaches first additional information thereto, attaches second additional information to each second data received by the second communication unit, Generate relay data that combines the first data with the first additional information and the second data with the second additional information respectively, and transmit the relay data to an application processing device that executes an application program. Communication method.
Citation Information
Patent Citations
Control system for vehicle
JP2008174098A
Communication system and relay device
JP2009094731A
On-vehicle system, gateway, relay device, program, information processing method, information processing system, and vehicle
JP2019121822A