In-vehicle device, program, and information processing method
The in-vehicle device with separate processing units and synchronized communication cables efficiently manages multiple processing units, enabling parallel operations and integrated control functions, addressing inefficiencies in existing systems.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- AUTONETWORKS TECH LTD
- Filing Date
- 2024-10-25
- Publication Date
- 2026-05-13
AI Technical Summary
Existing in-vehicle communication devices lack efficient control mechanisms for multiple processing units, leading to inefficiencies in managing and synchronizing the operations of these units.
An in-vehicle device with separate first and second processing units connected via data and signal communication cables, allowing for synchronized data transmission and reception using direct memory access (DMA) and handshake signals, enabling efficient control of multiple processing units.
Facilitates synchronized and efficient control of multiple processing units, allowing parallel processing and reduced computational load, while integrating relay and control application functions into a single device, thus enhancing vehicle control capabilities.
Smart Images

Figure 2026077382000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an in-vehicle device, a program, and an information processing method.
Background Art
[0002] Vehicles are equipped with an ECU (Electronic Control Unit) for controlling in-vehicle devices such as a drive control system for engine control and a body system for air conditioner control. The ECU includes an arithmetic processing unit such as an MPU, a rewritable non-volatile storage unit such as a RAM, and a communication unit for communicating with other ECUs, and controls the in-vehicle devices by reading and executing a control program stored in the storage unit. Further, a communication device having a wireless communication function is mounted on the vehicle, and the ECU communicates with a program providing device connected to an external network via the communication device (see, for example, Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the communication device (relay device) of Patent Document 1, in providing a plurality of processing units, no consideration is given to efficiently controlling these plurality of processing units.
[0005] An object of the present disclosure is to provide an in-vehicle device or the like that can efficiently control a plurality of processing units in providing a plurality of processing units.
Means for Solving the Problems
[0006] An in-vehicle device according to one aspect of the present disclosure is mounted in a vehicle and is communicably connected to an in-vehicle ECU via an in-vehicle network, comprising a first processing unit that performs processing related to communication with the in-vehicle ECU, and a second processing unit that performs processing related to the control of the vehicle, wherein the first processing unit and the second processing unit are communicably connected by a data communication cable for communicating data used in the processing related to the control of the vehicle, and a signal communication cable for communicating a signal for setting the start timing of data communication using the data communication cable. [Effects of the Invention]
[0007] According to one aspect of this disclosure, it is possible to provide an in-vehicle device, etc., that efficiently controls multiple processing units when the device is equipped with multiple processing units. [Brief explanation of the drawing]
[0008] [Figure 1] This is a schematic diagram illustrating the system configuration of the in-vehicle system according to Embodiment 1. [Figure 2] This is a block diagram illustrating the internal configuration of an in-vehicle device included in an in-vehicle system. [Figure 3] This is a timing chart illustrating the processing performed by the first and second processing units of an in-vehicle device. [Figure 4] This is an explanatory diagram illustrating communication between the first and second processing units of an in-vehicle device. [Figure 5] This flowchart illustrates the processing performed by the first processing unit (relay processing and control application processing) of the in-vehicle device. [Figure 6] This flowchart illustrates the processing (reception processing) performed by the first processing unit of the in-vehicle device. [Figure 7] This flowchart illustrates the processing (control application processing) performed by the second processing unit of the in-vehicle device. [Modes for carrying out the invention]
[0009] [Description of Embodiments in this Disclosure] First, embodiments of this disclosure will be listed and described. Furthermore, at least some of the embodiments described below may be combined in any way.
[0010] (1) An in-vehicle device according to one aspect of the present disclosure is mounted on a vehicle and is communicably connected to an in-vehicle ECU via an in-vehicle network, and comprises a first processing unit that performs processing related to communication with the in-vehicle ECU and a second processing unit that performs processing related to the control of the vehicle, wherein the first processing unit and the second processing unit are communicably connected by a data communication cable for communicating data used in the processing related to the control of the vehicle and a signal communication cable for communicating a signal for setting the start timing of data communication using the data communication cable.
[0011] In this embodiment, the in-vehicle device includes a first processing unit and a second processing unit, and each of these first and second processing units is configured with a separate microcomputer (MCU). That is, the in-vehicle device includes a first MCU constituting the first processing unit and a second MCU constituting the second processing unit. The first processing unit (first MCU) includes, for example, a plurality of communication units compatible with CAN or Ethernet, and performs relay processing of communication data (relay frames) transmitted and received by each of the in-vehicle ECUs connected to each of these communication units. The storage unit of the second processing unit (second MCU) stores various control applications (control apps) for processing related to vehicle control, and the second processing unit (second MCU) executes various processing related to vehicle control (provides various services) by executing these control apps. The processing related to vehicle control includes not only the control of the entire vehicle but also the control of various in-vehicle equipment such as actuators mounted on the vehicle. Thus, the in-vehicle device functions as an in-vehicle relay device such as a CAN gateway or an Ethernet switch, and also has the function of executing control applications for driving actuators, etc. In this configuration, the first processing unit (first microcontroller) primarily functions as a relay device, while the second processing unit (second microcontroller) is responsible for executing control applications. This allows the relay function and the control application function to be integrated into a single in-vehicle device, enabling the coexistence of the relay function and the control application function. The first processing unit (first microcontroller) and the second processing unit (second microcontroller) are connected via two separate cables, a data communication cable and a signal communication cable. This inter-microcontroller communication allows for the control of the in-vehicle device itself. The data communication cable is used to transmit and receive data used in vehicle control processing. The first processing unit (first microcontroller) and the second processing unit (second microcontroller) may communicate via the data communication cable, for example, using SPI (Serial Peripheral Interface).The signal communication cable is used to transmit signals (handshake signals) to set (synchronize) the start timing of data communication (transmission and reception) using the data communication cable. Therefore, even when the first processing unit (first microcontroller) and the second processing unit (second microcontroller) are independently performing separate processes, they can perform synchronized processing (handshake) by transmitting and receiving signals (handshake signals) via the signal communication cable. This allows the use of a processing synchronization method for control applications in an in-vehicle device, and enables efficient control of these multiple processing units.
[0012] (2) In an in-vehicle device according to one aspect of the present disclosure, the data communication cable is connected to a communication buffer included in the first processing unit and a communication buffer included in the second processing unit, and input / output processing by direct memory access is performed in each of the communication buffers included in the first processing unit and the second processing unit.
[0013] In this embodiment, both the first and second processing units include communication buffers, and both ends of the data communication cable are connected to the communication buffer of the first processing unit and the communication buffer of the second processing unit. These communication buffers are configured to enable input / output processing (reading and writing) by direct memory access (DMA). In this case, each of the first and second processing units is equipped with a DMA controller, and the DMA controller may perform input / output processing to the communication buffers without the intervention of the control units such as the CPU or MPU of the first and second processing units, respectively. Since input / output processing is performed by direct memory access (DMA) between the communication buffer of the first processing unit and the communication buffer of the second processing unit, to which the data communication cable is connected, the input / output processing can be performed at a relatively high speed, and furthermore, even while input / output processing is being performed, each processing unit of the first and second processing units can perform other processing in parallel, such as the execution of a control application.
[0014] (3) In an in-vehicle device according to one aspect of the present disclosure, when the first processing unit receives a signal from the second processing unit in response to a signal output via the signal communication cable, it outputs the data written to the communication buffer of the first processing unit to the communication buffer of the second processing unit via the data communication cable.
[0015] In this embodiment, the first processing unit and the second processing unit set the start timing for sending control data (input data used in the control application, or output data which is the result of calculations performed by the control application) via a data communication cable, that is, they synchronize for sending and receiving data via the data communication cable. At this time, the first processing unit and the second processing unit send and receive signals via a signal communication cable, and when the first processing unit starts the process of sending control data to the second processing unit, the first processing unit outputs (sends) a signal requesting the start of communication (communication start request signal) to the second processing unit via the signal communication cable. When the second processing unit receives the communication start request signal from the first processing unit via the signal communication cable, it outputs (replies) a signal responding to the request to start communication (communication start response signal) to the first processing unit. The first processing unit and the second processing unit are each equipped with a handshake terminal, and both ends of the signal communication cable are connected to the handshake terminal of the first processing unit and the handshake terminal of the second processing unit. By transmitting and receiving a communication start request signal and a communication start response signal between the first and second processing units via a signal communication cable, the first and second processing units can efficiently perform synchronization settings (handshakes) for transmitting and receiving control data via a data communication cable.
[0016] (4) In one aspect of the present disclosure, in the in-vehicle device, when the data acquired from the in-vehicle ECU via the in-vehicle network is data to be relayed to another in-vehicle ECU different from the in-vehicle ECU, the acquired data is output via the in-vehicle network to relay it to the other in-vehicle ECU. When the data acquired from the in-vehicle ECU is data to be used in the processing by the second processing unit, the acquired data is written into the communication buffer included in the first processing unit, and the signal is output to the second processing unit via the signal communication cable.
[0017] In this aspect, the first processing unit determines whether the data acquired from the in-vehicle ECU via the in-vehicle network is data (relay frame) to be relayed to another in-vehicle ECU by checking the header of the data. When the first processing unit determines that the data is a relay frame to be relayed, based on the destination address, port number, message ID, etc. included in the header of the data, it refers to the relay table stored in the storage unit of the first processing unit and relays (outputs) the data (relay frame) to the in-vehicle ECU that is the relay destination. When the first processing unit determines that the data is not a relay frame to be relayed, it determines that the data is data to be used in the processing by the second processing unit and writes the data into the communication buffer for the data. At this time, the writing of the data into the communication buffer for the data may be directly performed from the communication unit that received the data using direct memory access. As described above, since the first processing unit performs relay processing or transfer processing to the second processing unit according to the data acquired from the in-vehicle ECU, the relay function by the first processing unit and the control application function by the second processing unit can be integrated into an in-vehicle device that is a single device, that is, coexistence of the relay function and the control application function can be enabled.
[0018] (5) In one aspect of the present disclosure, in the in-vehicle device, the first processing unit outputs the data written into the communication buffer of the first processing unit to the communication buffer of the second processing unit via the data communication cable and continues the relay processing of the data via the in-vehicle network.
[0019] In this aspect, the transmission and reception of control data between the first processing unit and the second processing unit via the data communication cable are performed between the communication buffer of the first processing unit and the communication buffer of the second processing unit. Since these communication buffers support direct memory access (DMA), they can be performed separately from the processing of the control units such as the CPUs of the first processing unit and the second processing unit respectively. Therefore, the first processing unit can perform the transmission and reception of control data via the communication buffer and the data communication cable with the second processing unit, and continue the data relay processing via the in-vehicle network. Accordingly, the relay function and the control application function can be integrated into an in-vehicle device that is a single device, and coexistence of the relay function and the control application function can be enabled.
[0020] (6) In the in-vehicle device according to one aspect of the present disclosure, when the data acquired from the in-vehicle ECU via the in-vehicle network is not data to be relayed to the other in-vehicle ECU, the first processing unit performs processing related to the control of the vehicle using the acquired data.
[0021] In this embodiment, the memory unit of the first processing unit (first microcontroller) stores various control applications (control apps) for performing vehicle control processing, and the first processing unit (first microcontroller) executes various vehicle control processing (provides various services) by executing these control apps. That is, the first processing unit performs control app functions in the same way as the second processing unit. In this case, the computational load when the first processing unit is responsible for the control app functions may be less than the computational load when the second processing unit is responsible for the control app functions. This ensures sufficient computational capability for the relay processing performed by the first processing unit. If the data (received frame) acquired from the in-vehicle ECU is not data to be relayed (relay frame), the first processing unit performs various vehicle control processing by executing a control app using the acquired data (received frame). If the acquired data (received frame) is also used in a control app executed by the second processing unit, the first processing unit outputs it to the second processing unit via the data communication cable after synchronization by sending and receiving signals via the data communication cable. The first processing unit also has a control application function, which allows for an efficient or optimal arrangement of the control application between the first processing unit (first microcontroller) and the second processing unit (second microcontroller), enabling load balancing. Furthermore, the second processing unit (second microcontroller) does not require a communication unit (e.g., CAN communication function) for connecting to the in-vehicle network, thereby suppressing an increase in component costs for the in-vehicle device.
[0022] (7) An in-vehicle device according to one aspect of the present disclosure is configured such that an actuator is connected to the second processing unit, and the processing performed by the second processing unit includes a process for driving and controlling the actuator using data acquired from the first processing unit via the data communication cable.
[0023] In this embodiment, the second processing unit includes an input / output interface (I / F) to which a direct line (a conductive cable that transmits only one signal) or a serial cable is connected, and is connected to various sensors or body-system in-vehicle equipment (actuators) such as door mirrors via the I / F and the direct line. As a result, the in-vehicle ECU is connected to the first processing unit via an in-vehicle network configured with CAN, etc., and the actuator to be controlled is connected to the second processing unit via the direct line, etc., allowing the relay function and the control application function to be integrated into the in-vehicle device.
[0024] (8) A program according to one aspect of the present disclosure is a program that causes a computer, which is mounted in a vehicle and is communicably connected to an in-vehicle ECU via an in-vehicle network, to execute processing, the computer comprising a first processing unit that performs processing related to communication with the in-vehicle ECU and a second processing unit that performs processing related to the control of the vehicle, wherein the first processing unit and the second processing unit are communicably connected by a data communication cable for communicating data used in the processing related to the control of the vehicle and a signal communication cable for communicating a signal for setting the start timing of data communication using the data communication cable, the data communication cable is connected to a communication buffer included in the first processing unit and a communication buffer included in the second processing unit, and input / output processing by direct memory access is performed in each of the communication buffers included in the first processing unit and the second processing unit, respectively, and when the first processing unit receives a signal from the second processing unit in response to a signal output via the signal communication cable, it executes processing to output the data written to the communication buffer of the first processing unit to the communication buffer of the second processing unit via the data communication cable.
[0025] In this embodiment, a program is provided that enables a computer, equipped with multiple processing units, to function as an in-vehicle device that efficiently controls these multiple processing units.
[0026] (9) An information processing method according to one aspect of the present disclosure is an information processing method that causes a computer to perform processing, the computer being mounted in a vehicle and communicating with an in-vehicle ECU via an in-vehicle network, and comprising a first processing unit that performs processing related to communication with the in-vehicle ECU, and a second processing unit that performs processing related to the control of the vehicle, wherein the first processing unit and the second processing unit are communicating with each other by a data communication cable for communicating data used in the processing related to the control of the vehicle, and a signal communication cable for communicating a signal for setting the start timing of data communication using the data communication cable, the data communication cable is connected to a communication buffer included in the first processing unit and a communication buffer included in the second processing unit, and input / output processing by direct memory access is performed in each of the communication buffers included in the first processing unit and the second processing unit, and when the first processing unit receives a signal from the second processing unit in response to a signal output via the signal communication cable, it is caused to perform processing to output the data written to the communication buffer of the first processing unit to the communication buffer of the second processing unit via the data communication cable.
[0027] In this embodiment, when a computer is equipped with multiple processing units, an information processing method is provided that enables it to function as an in-vehicle device that efficiently controls these multiple processing units.
[0028] [Details of the embodiments of this disclosure] This disclosure will be described in detail with reference to the drawings illustrating its embodiments. An in-vehicle device 1 according to an embodiment of this disclosure will be described below with reference to the drawings. However, this disclosure is not limited to these examples and is intended to include all modifications within the meaning and scope of the claims, as indicated by the claims.
[0029] (Embodiment 1) The embodiments will be described below with reference to the drawings. Figure 1 is a schematic diagram illustrating the system configuration of the in-vehicle system S according to Embodiment 1. Figure 2 is a block diagram illustrating the internal configuration of the in-vehicle device 1 included in the in-vehicle system S. The in-vehicle system S consists of an in-vehicle device 1 mounted on a vehicle C, an in-vehicle ECU 3, and an in-vehicle network 4 that connects them communicatively via a communication line 41. Furthermore, multiple in-vehicle devices 5 are directly and communicatively connected to the in-vehicle device 1. The in-vehicle ECU 3 includes, for example, an integrated ECU that comprehensively controls the entire vehicle C. Furthermore, the in-vehicle ECU 3 may include edge ECUs that are directly connected to each in-vehicle device 1 via a communication line 41 such as a CAN bus.
[0030] Multiple (four in this embodiment) in-vehicle devices 1 may be connected to the in-vehicle network 4. These four in-vehicle devices 1 are connected to each other in a star-shaped network topology using communication lines 41, such as Ethernet (registered trademark), with an integrated ECU (in-vehicle ECU 3) at the center. In this case, the integrated ECU (in-vehicle ECU 3) functions as a relay device that relays communication data transmitted and received between the in-vehicle devices 1 connected to the integrated ECU.
[0031] The on-board device 1 is, for example, an individual ECU distributed and installed in various parts of the vehicle C. Multiple edge ECUs (on-board ECUs 3) connected by a communication line 41 such as a CAN bus are connected to the on-board device 1, which is configured as an individual ECU, and the on-board device 1 functions as a relay device that relays communication data transmitted and received between these edge ECUs (on-board ECUs 3). Alternatively, the on-board device 1 is not limited to the individual ECUs, but may be configured as the integrated ECU described above.
[0032] The in-vehicle equipment 5 connected to the in-vehicle device 1 may include, for example, sensor devices such as switches, infrared sensors, cameras, and LiDAR (light detection and ranging), and body system actuators such as lamps, wipers, door mirrors, or power seats. The in-vehicle equipment 5 may also include relay devices such as IPDs (Intelligent Power Devices) that control the power supply from a power supply device such as a lead-acid battery to these actuators. The in-vehicle device 1 may acquire input signals transmitted from input system devices such as switches or sensors, and output output signals (control signals) generated based on the acquired input signals to actuators such as door mirrors, or to relay devices such as IPDs, thereby controlling the supply or interruption of power to the actuators connected to the IPD.
[0033] The in-vehicle device 1 comprises a first processing unit 100 and a second processing unit 200. The first processing unit 100 and the second processing unit 200 are communicated together by two different sets of cables, consisting of a signal communication cable 11 and a data communication cable 12.
[0034] The first processing unit 100 (first microcontroller) is composed of, for example, a microcontroller. The first processing unit 100 includes a first control unit 101, a first storage unit 102, a first handshake terminal 103, a first communication buffer 104, and a plurality of communication units 105.
[0035] The first control unit 101 is composed of a CPU (Central Processing Unit) or an MPU (Micro Processing Unit), and performs various control and calculation processes by reading and executing a control program P (program product) and data that have been pre-stored in the first storage unit 102.
[0036] The first storage unit 102 is composed of volatile memory elements such as RAM (Random Access Memory), non-volatile memory elements such as ROM (Read Only Memory), EEPROM (Electrically Erasable Programmable ROM), or flash memory, or a combination of these storage devices, and stores in advance a control program P (program product) and data to be referenced during processing. The control program P (program product) stored in the first storage unit 102 may be a control program P (program product) read from a recording medium M that the in-vehicle device 1 can read. Alternatively, the control program P (program product) may be downloaded from an external computer (not shown) connected to a communication network (not shown) and stored in the first storage unit 102.
[0037] The first handshake terminal 103 is the terminal to which the signal communication cable 11 is connected. The first communication buffer 104 is to which the data communication cable 12 is connected, and the data transmitted and received via the data communication cable 12 is buffered. The first communication buffer 104 may be configured to enable input / output processing (reading and writing) by direct memory access (DMA).
[0038] The communication unit 105 is composed of, for example, a CAN transceiver or an Ethernet PHY unit. The first processing unit 100 (first microcontroller) is provided with multiple communication units 105, and the first processing unit 100 (first microcontroller) functions as a relay device that relays communication data transmitted and received between the in-vehicle ECUs 3 connected to each of these multiple communication units 105. In other words, the first processing unit 100 (first microcontroller) has a relay function such as a CAN gateway or an Ethernet switch.
[0039] The second processing unit 200 (second microcontroller) is composed of, for example, a microcontroller. The first processing unit 100 includes a second control unit 201, a second storage unit 202, a second handshake terminal 203, a second communication buffer 204, and an input / output interface 205. The second control unit 201, the second storage unit 202, the second handshake terminal 203, and the second communication buffer 204 have the same configuration as the first control unit 101, the first storage unit 102, the first handshake terminal 103, and the first communication buffer 104 of the first processing unit 100.
[0040] For example, multiple control direct lines (conductive cables that transmit only one signal) are connected to the input / output interface 205. Each of these control direct lines is connected to an in-vehicle device 5 such as an actuator or sensor, and data is transmitted between the second processing unit 200 (second microcontroller) and these in-vehicle devices 5 via the input / output interface 205.
[0041] The signal communication cable 11 connecting the first processing unit 100 (first microcontroller) and the second processing unit 200 (second microcontroller) transmits and receives signals for the first processing unit 100 (first microcontroller) and the second processing unit 200 (second microcontroller) to perform a handshake. Therefore, the signal communication cable 11 functions as a handshake cable.
[0042] The data communication cable 12 connecting the first processing unit 100 (first microcontroller) and the second processing unit 200 (second microcontroller) carries data (control data) that is transmitted and received via serial communication after the first processing unit 100 (first microcontroller) and the second processing unit 200 (second microcontroller) have a handshake. Therefore, the data communication cable 12 functions as a serial communication cable.
[0043] Figure 3 is a timing chart illustrating the processing performed by the first processing unit 100 and the second processing unit 200 of the in-vehicle device 1. In this embodiment, the upper section shows the processing performed by the first processing unit 100 (first microcontroller), and the lower section shows the processing performed by the second processing unit 200 (second microcontroller). The horizontal axis represents the passage of time.
[0044] The first processing unit 100 (first microcontroller) and the second processing unit 200 (second microcontroller) communicate via a data communication cable 12 (serial communication cable) using serial communication compliant with, for example, SPI (Serial Peripheral Interface). To synchronize when performing this serial communication, the first processing unit 100 (first microcontroller) and the second processing unit 200 (second microcontroller) send and receive signals (communication start request signal, communication start response signal) via a signal communication cable 11 (handshake cable) and perform a handshake.
[0045] The first processing unit 100 initiates reception processing through periodic processing, thereby acquiring received frames received via the communication unit 105. The first processing unit 100 writes the acquired received frames to the first communication buffer 104. The first processing unit 100 may be configured to select whether to perform relay processing (GW task) or writing to the first communication buffer 104 first for the received frames acquired via the communication unit 105. For example, the first storage unit 102 of the first processing unit 100 may store a priority processing table that determines which processing to perform first, and the first processing unit 100 may refer to this priority processing table to decide which processing to perform first. In this case, the priority processing table may be configured to be configurable or changeable. By configuring it to be selectable in this way, the availability of the in-vehicle device 1 can be improved.
[0046] The first processing unit 100, triggered by the completion of writing the received frame to the first communication buffer 104, performs a handshake with the second processing unit 200 (second microcontroller) via the signal communication cable 11 (handshake cable) by sending and receiving signals (communication start request signal, communication start response signal) to set up synchronization for serial communication. After the handshake with the second processing unit 200 is established (synchronization is set), the first processing unit 100 transmits the received frame to the second processing unit 200 by performing serial communication via the data communication cable 12 (serial communication cable). At this time, the first processing unit 100 may start serial communication by data transfer using DMA (Direct Memory Access).
[0047] The serial communication between the first processing unit 100 and the second processing unit 200 may be bidirectional. In this case, the second processing unit 200 may transmit the output value calculated in the previous cycle (the execution result of the control application executed in the previous cycle: low priority) to the first processing unit 100 via serial communication.
[0048] The first processing unit 100 performs relay processing (execution of a gateway task) while performing serial communication with the second processing unit 200. When the serial communication between the first processing unit 100 and the second processing unit 200 is completed, the first processing unit 100 may receive a notification indicating that the serial communication has been completed via a communication completion interrupt.
[0049] When serial communication between the first processing unit 100 and the second processing unit 200 is completed, the second processing unit 200 initiates reception processing for the received frame written to the second communication buffer 204 via a communication completion interrupt. Furthermore, the second processing unit 200 may, if necessary, acquire data from in-vehicle equipment 5 such as actuators or sensors connected to the input / output interface 205 of the second processing unit 200 via a direct control line.
[0050] The second processing unit 200 executes a control application (control application task) using the received frames and other data received from the first processing unit 100. The first processing unit 100 also executes a control application (control application task) after performing relay processing (GW task).
[0051] Thus, the relay processing (GW task) by the first processing unit 100 and the transmission of received frames via serial communication between the first processing unit 100 and the second processing unit 200 are performed in parallel. Furthermore, the relay processing (GW task) by the first processing unit 100 and the receiving processing of received frames and the execution of a control application (control application task) using said received frames by the second processing unit 200 are performed in parallel. Furthermore, the execution of the control application (control application task) by the first processing unit 100 and the execution of the control application (control application task) by the second processing unit 200 are performed in parallel.
[0052] The first processing unit 100 outputs the execution result (output data) of the executed control application to an in-vehicle ECU 3, such as an integrated ECU, via the communication unit 105. If it is necessary to combine the output data with the calculation result of the second processing unit 200, the first processing unit 100 may obtain the calculation result from the second processing unit 200 and then transmit the output data.
[0053] The second processing unit 200 writes the execution result (output data) of the executed control application to the second communication buffer 204. The second processing unit 200 sends and receives signals (communication start request signal, communication start response signal) to and from the first processing unit 100 via the signal communication cable 11 (handshake cable) and performs a handshake.
[0054] After the handshake with the first processing unit 100 is established (synchronization is set), the second processing unit 200 transmits output data (execution results of the control application) to the first processing unit 100 by performing serial communication via the data communication cable 12 (serial communication cable). At this time, the second processing unit 200 may start serial communication by DMA (Direct Memory Access) data transfer. This allows the second processing unit 200 to transmit the output value (high priority) calculated in the current period. The first processing unit 100 outputs the output value (execution results of the control application by the second processing unit 200) written to the first communication buffer 104 via serial communication to, for example, an in-vehicle ECU 3 such as an integrated ECU, via the communication unit 105.
[0055] Figure 4 is an explanatory diagram illustrating the communication between the first processing unit 100 and the second processing unit 200 provided in the in-vehicle device 1. The microcontroller-to-microcontroller communication between the first processing unit 100 (first microcontroller) and the second processing unit 200 (second microcontroller) described above is realized by the method shown in this embodiment.
[0056] The first processing unit 100 (first microcontroller) and the second processing unit 200 (second microcontroller) are equipped with terminals for handshake (first handshake terminal 103, second handshake terminal 203) to synchronize the start timing of communication. The first handshake terminal 103 of the first processing unit 100 (first microcontroller) and the second handshake terminal 203 of the second processing unit 200 (second microcontroller) are connected by a signal communication cable 11 (handshake cable). The signal communication cable 11 (handshake cable) is redundant and configured to enable simultaneous bidirectional communication, with signals indicating a communication start request or a communication start response being transmitted on each line. Handshake allows the start timing of serial communication between the first processing unit 100 (first microcontroller) and the second processing unit 200 (second microcontroller) to be synchronized.
[0057] Data communication between the first processing unit 100 (first microcontroller) and the second processing unit 200 (second microcontroller) is performed via a data communication cable 12 (serial communication cable), and is a serial communication capable of full-duplex communication, such as SPI communication. Through this serial communication, the first processing unit 100 (first microcontroller) transmits received frames (data) received by the first processing unit 100 (first microcontroller) to the second processing unit 200 (second microcontroller), and the second processing unit 200 (second microcontroller) transmits the execution results (output data) of the control application executed by the second processing unit 200 (second microcontroller) to the first processing unit 100 (first microcontroller). Alternatively, the first processing unit 100 (first microcontroller) may transmit the execution results (output data) of the control application executed by the first processing unit 100 (first microcontroller) to the second processing unit 200 (second microcontroller). In this case, the second processing unit 200 (second microcontroller) may output the output data received from the first processing unit 100 (first microcontroller) to an in-vehicle device 5 such as an actuator via the input / output I / F 205 and a direct control line, and drive and control the in-vehicle device 5.
[0058] Figure 5 is a flowchart illustrating the processing (relay processing and control application processing) performed by the first processing unit 100 of the in-vehicle device 1. Figure 6 is a flowchart illustrating the processing (reception processing) performed by the first processing unit 100 of the in-vehicle device 1. Figure 7 is a flowchart illustrating the processing (control application processing) performed by the second processing unit 200 of the in-vehicle device 1. The processing performed by the first processing unit 100 and the second processing unit 200 of the in-vehicle device 1 are interconnected, but first, the processing performed by the first processing unit 100 will be explained, and then the processing performed by the second processing unit 200 will be explained.
[0059] Based on Figure 5, the relay processing and control application processing by the first processing unit 100 will be explained. The first processing unit 100 starts periodic processing and acquires a received frame (S101). The first control unit 101 of the first processing unit 100 starts periodic processing, for example, which periodically performs multiple processes in a predetermined order, and acquires a received frame received via multiple communication units 105. The received frame is data (communication data) transmitted from an in-vehicle ECU 3 such as an integrated ECU connected to the in-vehicle network 4, or other individual ECUs, and is treated as a relay frame to be relayed, or as input data (control data) used in a control application executed by the first processing unit 100 or the second processing unit 200. The first control unit 101 of the first processing unit 100 may store the acquired received frame in the first storage unit 102 of the first processing unit 100, associating it with a timestamp indicating the time of reception.
[0060] The first processing unit 100 executes a write operation to the first communication buffer 104 using the acquired received frame (S102). The first processing unit 100 executes a process to write the acquired received frame to the first communication buffer 104, for example, using direct memory access (DMA). When using DMA, the first processing unit 100 may use its own DMA controller to directly write the received frame received by the communication unit 105 to the first communication buffer 104. By using DMA in this way, the processing by the first control unit 101 is not required when executing the process of writing the received frame to the first communication buffer 104, and the first control unit 101 can perform other processing in parallel, such as relay processing.
[0061] The first processing unit 100 starts a relay processing task (S103). The first control unit 101 of the first processing unit 100 starts the relay processing task by executing, for example, a relay application stored in the first storage unit 102, and functions as a CAN gateway or Ethernet switch. That is, the first control unit 101 functions as a relay unit configured as a software function unit by executing a relay application. Alternatively, the first processing unit 100 may function as a relay unit configured as a hardware function unit by performing processing implemented on an FPGA or ASCI.
[0062] The first processing unit 100 executes a serial communication start request (S104). The first control unit 101 of the first processing unit 100 outputs a signal (communication start request signal) to the second processing unit 200 via the signal communication cable 11 (handshake cable) requesting the start of serial communication (communication of control data via the data communication cable 12).
[0063] The first processing unit 100 determines whether or not a response to initiate communication has been received (S105). The first control unit 101 of the first processing unit 100 determines whether or not it has received a signal indicating a response to initiate communication from the second processing unit 200 (communication start response signal). If there is no response to initiate communication (S105: NO), the first control unit 101 of the first processing unit 100 continues the process of waiting for a communication start response signal from the second processing unit 200 by executing the process of S105 again.
[0064] If a response to initiate communication is received (S105: YES), the first processing unit 100 initiates serial communication with the second processing unit 200 (S106). When the first processing unit 100 receives a communication start response signal from the second processing unit 200, a handshake, i.e., synchronization setting (start timing setting), takes place between the first processing unit 100 and the second processing unit 200. The first processing unit 100 initiates serial communication with the second processing unit 200 by outputting the received frame written to the first communication buffer 104 to the second processing unit 200 via the data communication cable 12 (serial communication cable). The received frame transmitted serially to the second processing unit 200 is used as input data for a control application executed by the second processing unit 200.
[0065] When the first processing unit 100 executes the process in S103, it generates a process for executing a relay processing task, for example, and performs the following processing: The first processing unit 100 determines whether the received frame is a relay frame or not (S111). The first processing unit 100 refers to the header of the acquired received frame and determines whether the received frame is a relay frame or not based on, for example, the message ID, port number, or destination address stored in the header. The determination table for performing this determination may be one that is pre-stored in the first storage unit 102.
[0066] If the received frame is not a relay frame (S111: NO), the first processing unit 100 performs relay processing (S112). If the received frame is not a relay frame, that is, if the received frame is a relay frame, the first control unit 101 of the first processing unit 100, which functions as a relay unit, performs relay processing on the received frame. When performing relay processing on a received frame, the first control unit 101 of the first processing unit 100 may refer to a relay table stored in the first control unit 101 to identify the communication unit 105 to which the vehicle-mounted ECU 3 that is the relay destination of the received frame is connected, and output (relay) the received frame via the identified communication unit 105.
[0067] If the received frame is not a relay frame (S111: YES), the first processing unit 100 starts a control application task (S113). If the received frame is not a relay frame, the first processing unit 100 generates a process to execute the control application task, for example, and performs the following processing.
[0068] The first processing unit 100 executes control application processing (S121). If the received frame is not a relay frame, the first control unit 101 of the first processing unit 100 identifies the control application by, for example, referring to the header of the received frame, uses the received frame as input data (control data), and executes the identified control application to perform the control application processing.
[0069] The first processing unit 100 executes the control application transmission process (output) (S122). The first processing unit 100 obtains the execution result (output data) of the control application executed using the received frame as input data (control data), and executes the control application transmission process (output) by outputting the output data to the in-vehicle ECU 3 such as the integrated ECU via the communication unit 105.
[0070] Based on Figure 6, the receiving process by the first processing unit 100 will be explained. The first processing unit 100 determines whether or not communication with the second processing unit 200 has been completed (S131). The first control unit 101 of the first processing unit 100 acquires (receives) the execution result (output data) of the control application executed by the second control unit 201 of the second processing unit 200 via serial communication through the data communication cable 12 (serial communication cable). After starting serial communication with the second processing unit 200, the first control unit 101 of the first processing unit 100 determines whether or not communication with the second processing unit 200 has been completed. If communication (serial communication) with the second processing unit 200 has not been completed (S131: NO), the first processing unit 100 performs loop processing to execute the process of S131 again.
[0071] If communication (serial communication) with the second processing unit 200 is completed (S131: YES), the first processing unit 100 executes the control application transmission process (output) (S132). If communication (serial communication) with the second processing unit 200 is completed, the first control unit 101 of the first processing unit 100 obtains the execution result (output data) of the control application executed by the second control unit 201 of the second processing unit 200, and executes the control application transmission process (output) by outputting the obtained output data to the in-vehicle ECU 3 such as the integrated ECU via the communication unit 105.
[0072] Based on Figure 7, the control application processing by the second processing unit 200 will be explained. The second processing unit 200 determines whether or not there has been a request to initiate communication from the first processing unit 100 (T101). The second control unit 201 of the second processing unit 200 determines whether or not it has received a signal indicating a request to initiate communication from the first processing unit 100 (communication start request signal). If there is no response to initiate communication (T101: NO), the second control unit 201 of the second processing unit 200 continues the process of waiting for a communication start request signal from the first processing unit 100 by executing the process of T101 again.
[0073] When a request to initiate communication is received (T101: YES), the second processing unit 200 executes a serial communication initiation response (T102). When the second processing unit 200 receives a communication initiation request signal from the first processing unit 100 via the signal communication cable 11 (handshake cable), it outputs a signal (communication initiation response signal) to the first processing unit 100 that responds (allows) the initiation of serial communication (communication of control data via the data communication cable 12). The second processing unit 200 outputs the communication initiation response signal to the first processing unit 100 via the signal communication cable 11 (handshake cable). Upon receipt of the communication initiation response signal from the second processing unit 200 by the first processing unit 100, a handshake, i.e., synchronization setting, is performed between the second processing unit 200 and the first processing unit 100.
[0074] The second processing unit 200 starts serial communication (T103). The second processing unit 200 acquires received frames from the first processing unit 100 by starting serial communication with the first processing unit 100 via the data communication cable 12 (serial communication cable).
[0075] The data communication cable 12, which is a serial communication cable, is configured to enable full-duplex serial communication. Not only is data transmitted from the first processing unit 100 to the second processing unit 200, but data may also be transmitted from the second processing unit 200 to the first processing unit 100 in accordance with the synchronization setting by the handshake. This allows for bidirectional data transmission and reception between the first processing unit 100 and the second processing unit 200 via serial communication, i.e., via the data communication cable 12, triggered by a signal (handshake signal) from either the first processing unit 100 or the second processing unit 200. Alternatively, when initiating serial communication from the second processing unit 200 to the first processing unit 100 (communication via the data communication cable 12), the second processing unit 200 may set the synchronization by outputting a communication start request signal to the first processing unit 100 via the signal communication cable 11 (handshake cable) and receiving a communication start response signal from the first processing unit 100.
[0076] The second processing unit 200 determines whether communication with the first processing unit 100 has been completed (T104). The second control unit 201 of the second processing unit 200 determines whether communication with the first processing unit 100, that is, whether reception of the received frame transmitted from the first processing unit 100 via serial communication (communication via the data communication cable 12), has been completed. If communication has not been completed (T104: NO), the second processing unit 200 performs a loop process to execute the process of T104 again. As a result, the received frame transmitted from the first processing unit 100 via serial communication is written to the second communication buffer 204.
[0077] If communication is completed (T104: YES), the second processing unit 200 performs reception processing (T105). When the reception of the received frame transmitted from the first processing unit 100 via serial communication (communication via the data communication cable 12) is completed, the second processing unit 200 performs reception processing by storing the received frame written to the second communication buffer 204 in a work area used when executing the control application, such as the second storage unit 202.
[0078] The second processing unit 200 executes control application processing (T106). The second control unit 201 of the second processing unit 200 identifies the control application by, for example, referring to the header of the received frame obtained from the first processing unit 100, and executes the identified control application using the received frame as input data (control data). The second control unit 201 of the second processing unit 200 stores the execution result (output data) of the control application executed using the received frame as input data (control data) in the second storage unit 202.
[0079] The second processing unit 200 performs a write operation to the second communication buffer 204 (T107). The second processing unit 200 performs a process to write the output data (execution result of the control application) stored in the second storage unit 202 to the second communication buffer 204. In this case, the second processing unit 200 may also use the DMA controller provided in the second processing unit 200 to directly write the output data stored in the second storage unit 202 to the second communication buffer 204.
[0080] The second processing unit 200 initiates serial communication with the first processing unit 100 (T108). The second processing unit 200 initiates serial communication with the first processing unit 100 by outputting the output data (execution result of the control application) written to the second communication buffer 204 via the data communication cable 12 (serial communication cable). At this time, the second processing unit 200 may also send a communication start request signal to the first processing unit 100 via the signal communication cable 11 (handshake cable), perform a handshake with the first processing unit 100 in response to the communication start response signal returned from the first processing unit 100, and initiate serial communication with the first processing unit 100 after the handshake is established.
[0081] The embodiments disclosed herein should be considered in all respects to be illustrative and not restrictive. The scope of the present invention is indicated by the claims, not in the sense described above, and all modifications within the sense and scope equivalent to the claims are intended.
[0082] With respect to the multiple claims described in the claims, they can be combined with each other regardless of the form of reference. Multiple dependent claims that depend on multiple claims may be described in the claims. Multiple dependent claims that depend on multiple dependent claims may also be described. Even if multiple dependent claims that depend on multiple dependent claims are not described, this does not limit the description of multiple dependent claims that depend on multiple dependent claims. [Explanation of Symbols]
[0083] C Vehicle S In-vehicle system 1 In-vehicle device (individual ECU) 11. Signal communication cable (handshake cable) 12. Data communication cable (serial communication cable) 100 First Processing Unit (First Microcontroller) 101 First Control Unit 102 1st memory section 103 First Handshake Terminal 104 First communication buffer 105 Communications Unit (functions as a relay unit with software functionality) 200 Second Processing Unit (Second Microcontroller) 201 Second Control Unit 202 2nd memory section 203 Second Handshake Terminal 204 Second communication buffer 205 Input / Output Interfaces P Control Program (Program Product) M recording medium 3. In-vehicle ECUs (integrated ECUs, edge ECUs) 4. In-vehicle network 41 Communication lines 5. In-vehicle equipment (actuators, sensors)
Claims
1. It is installed in the vehicle and is connected to the in-vehicle ECU via the in-vehicle network, A first processing unit that performs processing related to communication with the in-vehicle ECU, An in-vehicle device comprising a second processing unit that performs processing related to the control of the vehicle, The first processing unit and the second processing unit are connected in a manner that allows communication between them by a data communication cable for communicating data used in the vehicle control process and a signal communication cable for communicating a signal for setting the start timing of data communication using the data communication cable. In-vehicle device.
2. The data communication cable is connected to the communication buffer included in the first processing unit and the communication buffer included in the second processing unit. Input / output processing is performed in each of the communication buffers included in the first processing unit and the second processing unit by direct memory access. The in-vehicle device according to claim 1.
3. When the first processing unit receives a signal from the second processing unit in response to a signal output via the signal communication cable, it outputs the data written to the communication buffer of the first processing unit to the communication buffer of the second processing unit via the data communication cable. The in-vehicle device according to claim 2.
4. The first processing unit is, If the data acquired from the in-vehicle ECU via the in-vehicle network is data to be relayed to another in-vehicle ECU different from the in-vehicle ECU, the acquired data is output via the in-vehicle network to relay it to the other in-vehicle ECU. If the data acquired from the in-vehicle ECU is data to be used in processing by the second processing unit, the acquired data is written to a communication buffer included in the first processing unit, and the signal is output to the second processing unit via the signal communication cable. The in-vehicle device according to claim 3.
5. The first processing unit outputs the data written to the communication buffer of the first processing unit to the communication buffer of the second processing unit via the data communication cable, and continues the data relay processing via the in-vehicle network. The in-vehicle device according to claim 4.
6. If the data acquired by the in-vehicle ECU via the in-vehicle network is not data to be relayed to another in-vehicle ECU, the first processing unit uses the acquired data to perform processing related to the control of the vehicle. The in-vehicle device according to claim 4.
7. An actuator is connected to the second processing unit. The processing by the second processing unit includes the process of driving and controlling the actuator using data acquired from the first processing unit via the data communication cable. The in-vehicle device according to any one of claims 1 to 6.
8. It is installed in the vehicle and is connected to the in-vehicle ECU via the in-vehicle network, A first processing unit that performs processing related to communication with the in-vehicle ECU, A second processing unit that performs processing related to the control of the vehicle and A program that causes a computer equipped with the following features to perform a process: The first processing unit and the second processing unit are connected to each other via a data communication cable for communicating data used in the vehicle control process and a signal communication cable for communicating a signal to set the start timing of data communication using the data communication cable. The data communication cable is connected to the communication buffer included in the first processing unit and the communication buffer included in the second processing unit. The first processing unit and the second processing unit each include a communication buffer, and input / output processing is performed by direct memory access. When the first processing unit receives a signal from the second processing unit in response to a signal output via the signal communication cable, it outputs the data written to the communication buffer of the first processing unit to the communication buffer of the second processing unit via the data communication cable. A program that executes a process.
9. It is installed in the vehicle and is connected to the in-vehicle ECU via the in-vehicle network, A first processing unit that performs processing related to communication with the in-vehicle ECU, A second processing unit that performs processing related to the control of the vehicle and An information processing method that causes a computer equipped with the following to perform processing: The first processing unit and the second processing unit are connected to each other via a data communication cable for communicating data used in the vehicle control process and a signal communication cable for communicating a signal to set the start timing of data communication using the data communication cable. The data communication cable is connected to the communication buffer included in the first processing unit and the communication buffer included in the second processing unit. The first processing unit and the second processing unit each include a communication buffer, and input / output processing is performed by direct memory access. When the first processing unit receives a signal from the second processing unit in response to a signal output via the signal communication cable, it outputs the data written to the communication buffer of the first processing unit to the communication buffer of the second processing unit via the data communication cable. An information processing method that executes a process.