In-vehicle device and relay method
By employing a distributed processing approach in the vehicle-mounted device, the first and second processing units use routing tables for message relay, and appropriate processing is performed when processing capacity is low or preparation is incomplete. This solves the problem of low relay processing efficiency caused by centralized processing, and achieves efficient message relay and high responsiveness.
Patent Information
- Application Number
- CN202280009480.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-01-27
- Filing Date
- 2022-01-14
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2042-01-14
AI Technical Summary
Existing vehicle-mounted devices struggle to efficiently perform relay processing in situations involving concentrated traffic.
A distributed processing approach is adopted, with the first processing unit and the second processing unit respectively using the first routing table and the second routing table for message relay. Appropriate message processing is performed when processing capacity is low or preparation is not complete, and the hardware gateway unit is used for relaying highly responsive messages.
Even under conditions of low processing capacity or incomplete preparation, the on-board unit can efficiently perform relay processing, avoiding message omissions and duplicate processing, and meeting high responsiveness requirements.
Smart Images

Figure CN116710328B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a vehicle-mounted device and a relay method.
[0002] This application claims priority based on Japanese Application No. 2021-011343, filed on January 27, 2021, and invokes all the contents of that Japanese application. Background Technology
[0003] In a vehicle, multiple on-board ECUs (Electronic Control Units) are installed, including on-board equipment such as powertrain systems for controlling the engine and body systems for controlling the air conditioning. These multiple on-board ECUs are connected to on-board devices. The on-board devices perform relay processing for controlling the on-board equipment, such as relaying communication between the on-board ECUs (e.g., Patent Document 1).
[0004] Existing technical documents
[0005] Patent documents
[0006] Patent document 1: Japanese Patent Application Publication No. 2017-171114. Summary of the Invention
[0007] One embodiment of this disclosure involves an in-vehicle device connected to multiple in-vehicle ECUs, which relays messages output by the multiple in-vehicle ECUs. The in-vehicle device includes a first processing unit that performs message relay processing and is connected to the multiple in-vehicle ECUs, a second processing unit that performs message relay processing and is connected to the multiple in-vehicle ECUs, a first routing table containing relay destinations of messages that are processed by the first processing unit, and a second routing table containing relay destinations of messages that are processed by the second processing unit. The first processing unit and the second processing unit each have a connection portion for connecting wiring connected to the multiple in-vehicle ECUs. The first processing unit performs the relay processing based on the first routing table, and the second processing unit performs the relay processing based on the second routing table. Attached Figure Description
[0008] Figure 1 This is a schematic diagram illustrating the structure of the vehicle-mounted system according to Embodiment 1.
[0009] Figure 2 This is a block diagram illustrating the structure of an integrated ECU.
[0010] Figure 3 This is a block diagram illustrating the structure of the first communication unit.
[0011] Figure 4This is a conceptual diagram showing an example of the contents of a rule table.
[0012] Figure 5 This is a concept diagram showing an example of the contents of Table 1.
[0013] Figure 6 This is a concept diagram showing an example of the contents of Table 3.
[0014] Figure 7 This is a block diagram illustrating the structure of the second communication unit.
[0015] Figure 8 This is a conceptual diagram showing an example of the contents of Table 2.
[0016] Figure 9 This is a concept diagram showing an example of the contents of Table 4.
[0017] Figure 10 This is a timing diagram illustrating one method of message relay by the integrated ECU.
[0018] Figure 11 This is a flowchart illustrating the processes involved in relaying communications performed by the first control unit of the first processing unit. Detailed Implementation
[0019] [The problem this disclosure aims to solve]
[0020] In the vehicle-mounted device of Patent Document 1, communication relay processing and other processing are centralized. However, the centralized processing is not taken into account in the aforementioned vehicle-mounted device.
[0021] This disclosure was made in view of the above circumstances, and its purpose is to provide a vehicle-mounted device, etc., that can efficiently perform relay processing even in the case of centralized processing.
[0022] [The Effects of This Disclosure]
[0023] According to one method of this disclosure, relay processing can be performed efficiently even in the case of centralized processing.
[0024] [Description of embodiments of this disclosure]
[0025] First, embodiments of this disclosure will be described by way of example. Additionally, at least some of the embodiments described below may be combined arbitrarily.
[0026] (1) In one aspect of this disclosure, the vehicle-mounted device is connected to a plurality of vehicle-mounted ECUs and relays messages output by the plurality of vehicle-mounted ECUs. The vehicle-mounted device includes a first processing unit that performs message relay processing and is connected to the plurality of vehicle-mounted ECUs respectively, a second processing unit that performs message relay processing and is connected to the plurality of vehicle-mounted ECUs respectively, a first routing table containing the relay destination of the message as the processing object in the first processing unit, and a second routing table containing the relay destination of the message as the processing object in the second processing unit. The first processing unit and the second processing unit each have a connection portion that connects to wiring connected to the plurality of vehicle-mounted ECUs. The first processing unit performs the relay processing based on the first routing table, and the second processing unit performs the relay processing based on the second routing table.
[0027] In this method, the vehicle-mounted device uses a first routing table and a second routing table to relay messages output by multiple vehicle-mounted ECUs. The first processing unit and the second processing unit are connected to multiple vehicle-mounted ECUs respectively, thus enabling them to receive messages output from each ECU. The first processing unit, based on the first routing table, performs relay processing on messages from the vehicle-mounted ECUs that are intended for relay. The second processing unit, based on the second routing table, performs relay processing on messages from the vehicle-mounted ECUs that are intended for relay. Because the relay processing is distributed among the first and second processing units, the load on these units is low. The vehicle-mounted device can perform relay processing efficiently. Even when the processing capacity of the first and second processing units is low, the vehicle-mounted device can still relay communication between the vehicle-mounted ECUs.
[0028] (2) In the vehicle-mounted device according to one aspect of the present disclosure, the first routing table contains the relay destination of the message that is the processing object in the second processing unit, the first processing unit determines whether the preparation of the relay processing in the second processing unit is completed, and if the preparation of the relay processing in the second processing unit is not completed, the relay processing is performed on the message that is the processing object in the first processing unit and the message that is the processing object in the second processing unit based on the first routing table.
[0029] In this method, the first routing table contains relay destinations for messages processed in the first processing unit and messages processed in the second processing unit. The timing of relay processing preparation completion in the first and second processing units may differ. The first processing unit, upon completion of relay processing preparation, determines whether relay processing preparation in the second processing unit is complete. If relay processing preparation in the second processing unit is incomplete, the first processing unit performs relay processing on both messages processed in the first and second processing units based on the first routing table. Therefore, even when relay processing preparation in the second processing unit is incomplete, the vehicle-mounted device can still relay messages output from the connected vehicle ECU.
[0030] (3) In the vehicle-mounted device according to one aspect of the present disclosure, after the preparation of the relay processing is completed, the second processing unit outputs a completion signal indicating that the preparation of the relay processing is completed, and after outputting the completion signal, the relay processing based on the second routing table is started on the message that is the processing object in the second processing unit, and when the first processing unit receives the completion signal, the relay processing based on the first routing table is started on the message that is the processing object in the first processing unit.
[0031] In this method, when the preparation for relay processing in the first processing unit is completed but the preparation for relay processing in the second processing unit is not completed, the first processing unit performs relay processing on messages that are the processing objects of the first processing unit and messages that are the processing objects of the second processing unit, as described above. After the preparation for relay processing in the second processing unit is completed, a completion signal is output to the first processing unit. After the completion signal is output, the second processing unit begins relay processing on messages that are the processing objects of the second processing unit based on the second routing table. When the first processing unit receives the output completion signal, it begins relay processing on messages that are the processing objects of the first processing unit based on the first routing table. That is, the first processing unit and the second processing unit begin relay processing on messages that are their respective relay objects. Even if the preparation completion times of relay processing in the first processing unit and the second processing unit are different, the vehicle-mounted device can distribute the relay processing so that the first processing unit and the second processing unit can perform it separately.
[0032] (4) In the vehicle-mounted device according to one aspect of this disclosure, when the first processing unit receives the completion signal and receives the message, it outputs a save signal indicating the start of saving the message to be processed to the second processing unit. After relaying the message received after receiving the completion signal, it outputs a transmission signal indicating the start of sending the message to be processed to the second processing unit. After outputting the transmission signal, it starts the relay processing of the message to be processed in the first processing unit. When the second processing unit receives the save signal, it starts saving the message to be processed in the second processing unit. When it receives the transmission signal, it starts sending the message to the relay destination.
[0033] In this method, when the first processing unit receives a completion signal and a message, it outputs a save signal to the second processing unit. The first processing unit relays the received message. After relaying the message received after receiving the completion signal and before receiving a new message, the first processing unit outputs a transmit signal to the second processing unit. After outputting the transmit signal, the first processing unit begins relay processing of the message that is the processing target of the first processing unit. When the second processing unit receives the output save signal, it begins saving the message that is the processing target of the second processing unit. When the second processing unit receives the output transmit signal, it begins transmitting the message that is the processing target of the second processing unit to the relay destination. By performing processing by the first and second processing units as described above, the vehicle-mounted device can relay messages without omission when switching from a state where relay processing is performed by the first processing unit to a state where relay processing is performed by both the first and second processing units. In addition, it is possible to prevent the first and second processing units from relaying the same message.
[0034] (5) In the vehicle-mounted device according to one aspect of the present disclosure, the first processing unit confirms the operation state of the second processing unit, and when the second processing unit is in a stopped state, performs the relay processing on the message that is the processing object in the first processing unit and the message that is the processing object in the second processing unit based on the first routing table.
[0035] In this method, the first processing unit confirms the operating status of the second processing unit. When the second processing unit is in a stopped state, or a so-called "frozen state," the first processing unit performs relay processing on messages that are processed in the first processing unit and messages that are processed in the second processing unit. The vehicle-mounted device can relay messages even when the second processing unit is in a stopped state.
[0036] (6) In the vehicle-mounted device according to one aspect of this disclosure, one of the first processing unit and the second processing unit has a hardware gateway unit that relays one of the messages and relays other messages as software processing, and the other of the first processing unit and the second processing unit relays the remaining messages as software processing. As a hardware gateway unit, for example, a cellular interface, an Ethernet port interface, a universal serial bus interface, or a CAN bus vehicle Ethernet interface can be used. However, the hardware gateway unit is not limited to these examples; any hardware having circuitry for relaying messages output by the vehicle ECU based on prescribed rules is acceptable. This hardware gateway unit (HWGW unit) can, for example, be composed of an ASCI (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a PLD (Programmable Logic Device).
[0037] In this method, the relay processing time required when using a hardware gateway unit for message relay is shorter than the relay processing time required when relaying messages as software processing. When relaying messages to vehicle ECUs requiring high responsiveness, the vehicle-mounted device can handle such ECUs by having one of the first and second processing units perform relay processing using a hardware gateway. Furthermore, since both the first and second processing units relay messages as software processing, the vehicle-mounted device can relay communications more efficiently.
[0038] (7) One aspect of the present disclosure relates to a relay method for relaying the message by an in-vehicle device, the in-vehicle device having a first processing unit and a second processing unit that perform relay processing of messages output by a plurality of in-vehicle ECUs and are respectively connected to the plurality of in-vehicle ECUs, wherein the relay method is performed by the first processing unit based on a first routing table containing the relay destinations of the messages as processing objects in the first processing unit, and the second processing unit performs the relay processing based on a second routing table containing the relay destinations of the messages as processing objects in the second processing unit.
[0039] In this method, similar to method (1), relay processing is distributed to the first processing unit and the second processing unit, so the load on the first processing unit and the second processing unit in relay processing is small. The vehicle-mounted device can perform relay processing efficiently.
[0040] (8) In a relay method according to one aspect of the present disclosure, a hardware gateway unit provided by one of the first processing unit and the second processing unit relays one of the messages, one of the first processing unit and the second processing unit relays other messages as software processing, and the other of the first processing unit and the second processing unit relays the remaining messages as software processing.
[0041] In this method, similar to method (6), when relaying messages from vehicle ECUs requiring high responsiveness, the vehicle-mounted device can handle such ECUs by having one of the first and second processing units perform relay processing using a hardware gateway. Furthermore, since the first and second processing units relay messages as software processes, the vehicle-mounted device can relay communications more efficiently.
[0042] [Details of the embodiments disclosed herein]
[0043] This disclosure will be specifically described based on the accompanying drawings illustrating embodiments thereof. Hereinafter, with reference to the drawings, an in-vehicle device according to embodiments of this disclosure will be described. Furthermore, this disclosure is not limited to these examples, but is intended to include all modifications within the meaning and scope of the claims, as indicated by the claims.
[0044] (Implementation Method 1)
[0045] The embodiments are described below with reference to the accompanying drawings. Figure 1 This is a schematic diagram illustrating the structure of the vehicle system according to Embodiment 1. The vehicle system includes a comprehensive ECU 6 mounted on a vehicle C, multiple individual ECUs 2, and vehicle-mounted devices 3 connected to the individual ECUs 2. Figure 1 In vehicle C, there are two individual ECUs 2, but the number of individual ECUs 2 is not limited to two. The integrated ECU 6 is connected to each individual ECU 2.
[0046] Individual ECUs 2 are configured in various areas of vehicle C. Each individual ECU 2 functions as a gateway or Ethernet switch, relaying communication between multiple on-board devices 3 connected to it via the on-board network 1, or between the on-board devices 3 and the integrated ECU 6. Furthermore, in addition to communication relay, each individual ECU 2 also functions as a power distribution device that distributes and relays power output from an energy storage device (not shown) and provides it to the on-board devices 3 connected to it.
[0047] The vehicle-mounted device 3 includes, for example, various sensors 5 such as LiDAR (Light Detection and Ranging), headlight sensors, CMOS cameras, and infrared sensors, as well as actuators 4 such as door opening and closing devices and motor devices. The vehicle-mounted device 3 is not limited to the above examples; it can be a door switch SW and a headlight switch SW, or it can be a headlight itself.
[0048] Individual ECU 2 performs drive control of the connected actuator 4. Individual ECU 2 acquires the output signal from sensor 5 and sends a request signal generated based on the acquired output signal to integrated ECU 6. The request signal may include, for example, the detection value of sensor 5. Integrated ECU 6 acquires the request signal sent from individual ECU 2 and sends a control signal generated based on the detection value of sensor 5 to individual ECU 2. Individual ECU 2 performs drive control of actuator 4 based on the control signal sent from integrated ECU 6.
[0049] Figure 2 This is a block diagram illustrating the structure of the integrated ECU6. The integrated ECU6 functions as a gateway or Ethernet switch, or other relay device, to relay communication between multiple individual ECUs2. Relaying communication between individual ECUs2 involves relaying messages sent and received by each individual ECU2. Communication may use, for example, the CAN (Controller Area Network) protocol, but is not limited to CAN. Other protocols include, for example, CAN-FD (Controller Area Network with Flexible Data Rate), Ethernet, or FlexRay. The integrated ECU6 can also perform protocol conversion, relaying communication between different protocols.
[0050] The messages output from individual ECU2 include control messages for controlling vehicle C and diagnostic messages for fault diagnosis of onboard equipment 3. Diagnostic messages are also known as diagnostic messages. Control messages include high-priority control messages (processed with higher priority) and low-priority control messages (processed with lower priority). Therefore, the messages output from individual ECU2 are categorized into three types: high-priority control messages, low-priority control messages, and diagnostic messages. Furthermore, the processing priority for diagnostic messages is lower than that for high-priority control messages.
[0051] High-priority control messages include those related to vehicle operation, such as messages for controlling highly responsive in-vehicle equipment 3, including the engine and brakes. Additionally, high-priority control messages include messages related to autonomous driving. Low-priority control messages include messages from vehicle control systems, such as those controlling the turning of map lights on and off, as well as messages from so-called entertainment systems, such as the vehicle's navigation and audio systems.
[0052] like Figure 2 As shown, the integrated ECU 6 includes a first processing unit 61 and a second processing unit 62 for relay processing, and a transmit / receive unit 64 for sending and receiving messages with individual ECUs. The integrated ECU 6 also includes wiring 65 connecting the first processing unit 61 and the second processing unit 62 to the transmit / receive unit 64. The transmit / receive unit 64 is a physical layer I / F determined based on the communication protocol. For example, in the case of Ethernet as the communication protocol, the transmit / receive unit 64 is an Ethernet PHY unit corresponding to data packets such as TCP / IP or UDP / IP. The transmit / receive unit 64 is connected to the individual ECU 2. For example, in the integrated ECU 6, the number of transmit / receive units 64 corresponds to the number of individual ECU 2s. In this embodiment, the integrated ECU 6 has two transmit / receive units 64 and two wirings 65. One transmit / receive unit 64 is connected to one individual ECU 2. Furthermore, one transmit / receive unit 64 is connected to the first processing unit 61 and the second processing unit 62 via one wiring 65. The other party's transmit / receive unit 64 is connected to the other party's individual ECU 2. Furthermore, the other party's transmit / receive unit 64 is connected to the first processing unit 61 and the second processing unit 62 via the other party's wiring 65. The wiring 65 is connected to the individual ECU 2 via the transmit / receive unit 64. Moreover, the number of transmit / receive units 64 and wiring 65 is not limited to two.
[0053] The first processing unit 61 and the second processing unit 62 are separate processors. In this embodiment, an example is described where the first processing unit 61 and the second processing unit 62 are separate microcontrollers (hereinafter referred to as microcomputers). However, the first processing unit 61 and the second processing unit 62 are not limited to microcomputers. As described above, the first processing unit 61 and the second processing unit 62 are connected to each of the transmit / receive units 64 via wiring 65. Therefore, the first processing unit 61 and the second processing unit 62 are connected to one of the individual ECU 2s via one of the transmit / receive units 64 and one of the wiring 65. In addition, the first processing unit 61 and the second processing unit 62 are connected to another individual ECU 2 via the other transmit / receive unit 64 and the other wiring 65. In other words, multiple individual ECU 2s are respectively connected to both the first processing unit 61 and the second processing unit 62 via the transmit / receive unit 64 and the wiring 65. The first processing unit 61 and the second processing unit 62 are capable of transmitting and receiving messages with each of the individual ECU 2s. Furthermore, the integrated ECU6 may also include three or more processing units, each consisting of a separate processor. For example, the integrated ECU6 may also have a first processing unit 61, a second processing unit 62, and a third processing unit, each serving as a separate processor.
[0054] The first processing unit 61 includes a connection unit 616 connected to the wiring 65. The first processing unit 61 also includes a first control unit 611, a first storage unit 612, a communication I / F (interface) 613, and a first communication unit 614. The first control unit 611, the first storage unit 612, the communication I / F 613, and the first communication unit 614 are connected together. The connection unit 616 is connected to the first communication unit 614. The first control unit 611 is an arithmetic processing device such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). The first control unit 611 executes various control and arithmetic processes by reading a first program 615 and data pre-stored in the first storage unit 612. For example, the first control unit 611 performs security-related processing such as message encryption and decryption and message ID verification.
[0055] The first storage unit 612 is composed of volatile memory elements such as RAM (Random Access Memory) or non-volatile memory elements such as ROM (Read Only Memory), EEPROM (Electrically Erasable Programmable ROM), or flash memory. The first storage unit 612 stores a first program 615 executed by the first control unit 611 and data referenced by the first control unit 611 during processing. The first program 615 stored in the first storage unit 612 may also be a first program 615 read from a recording medium 63 readable by the integrated ECU 6. Alternatively, the first program 615 may be downloaded from an external computer (not shown) connected to a communication network (not shown) and stored in the first storage unit 612. The first storage unit 612 also stores the first table T11 and the third table T12, which will be described later.
[0056] Communication I / F613 is a communication interface for communicating with the second processing unit 62. Communication I / F613 is connected to Communication I / F623, which will be described later, in the second processing unit 62.
[0057] The first communication unit 614 is an input / output interface using a prescribed communication protocol. The first control unit 611 communicates with each individual ECU 2 via the first communication unit 614. For example, the prescribed communication protocol is the CAN communication protocol. In this case, the first communication unit 614 is, for example, a CAN controller and a CAN receiver. Furthermore, the prescribed communication protocol is not limited to the CAN communication protocol; it could also be, for example, an Ethernet communication protocol. In this embodiment, the first communication unit 614 includes a hardware gateway (HWGW) unit 7, which will be described later. The first control unit 611 communicates with each individual ECU 2 via the first communication unit 614.
[0058] Figure 3 This is a block diagram illustrating the structure of the first communication unit 614. Figure 3 The diagram omits a portion of the wiring 65 connecting the transmitting / receiving unit 64 and the second processing unit 62. The first communication unit 614, in addition to the HWGW unit 7, also includes an input / output unit 617. The input / output unit 617 is, for example, a pin of a microcomputer. The input / output unit 617 is connected to the connection unit 616. The input / output unit 617 is connected to each individual ECU2 via the connection unit 616, the wiring 65, and the transmitting / receiving unit 64, and outputs messages to each individual ECU2. Furthermore, messages output from each individual ECU2 are input to the input / output unit 617.
[0059] The HWGW unit 7 includes a receive buffer 71, a transmit queue 72, and a decision circuit 73. The receive buffer 71 is connected to the input / output unit 617 and the decision circuit 73. The receive buffer 71 stores messages input to the input / output unit 617.
[0060] The transmission queue 72 is connected to the input / output unit 617 and the determination circuit 73. The transmission queue 72 is a memory (queue) for temporarily storing relayed messages. In this embodiment, the transmission queue 72 has multiple queues corresponding to the relay destination. Specifically, the transmission queue 72 has a queue for relaying messages to a separate ECU2 on one side and a queue for relaying messages to a separate ECU2 on the other side.
[0061] The determination circuit 73 is connected to the first control unit 611. The determination circuit 73 has a rule table T13 that stores the relay destinations of high-priority control messages. Figure 4 This is a conceptual diagram showing an example of the contents of rule table T13. Figure 4 Rule table T13 contains a message column, a relay destination column, and a message type column. In rule table T13, messages of the type "high-priority control message" output from individual ECU2 are stored in association with the information of their relay destination. Specifically, the message column of rule table T13 stores messages of the type "high-priority control message." The relay destination column stores the information of the message's relay destination, such as the address of the individual ECU2 that is the relay destination. For messages of the type "high-priority control message," the message identifier can also be stored in rule table T13. The message identifier is, for example, a message ID. Furthermore, in... Figure 4 In this context, the message types are shown for illustrative purposes, so rule table T13 may not include a message type column.
[0062] The decision circuit 73, based on rule table T13, stores messages stored in rule table T13 within the messages stored in the receive buffer 71 in the transmit queue 72. Specifically, the decision circuit 73 stores high-priority control messages in the queue corresponding to the relay destination. The messages stored in the transmit queue 72 are output (relayed) via the input / output unit 617 to the individual ECU2, which serves as the relay destination. Therefore, high-priority control messages are relayed based on rule table T13.
[0063] The determination circuit 73 outputs messages not stored in rule table T13 from the messages stored in the receive buffer 71 to the first control unit 611. That is, the determination circuit 73 outputs messages of types other than high-priority control messages to the first control unit 611. Details will be described later. The determination circuit 73 determines the relay destination of the message output from the determination circuit 73 based on either the first table T11 or the third table T12. The first control unit 611 outputs the message with the determined relay destination to the transmission queue 72 via the determination circuit 73, storing the message in the queue corresponding to the relay destination. The message stored in the transmission queue 72 is output (relayed) to the individual ECU2, which is the relay destination, via the input / output unit 617.
[0064] The first control unit 611 relays messages as software processing by executing the first program 615. The message relay as software processing performed by the first control unit 611 is based on either the first table T11 or the third table T12.
[0065] Figure 5 This is a conceptual diagram illustrating an example of the contents of Table T11. Table T11 includes a message column, a relay destination column, a message type column, and a priority column. In Table T11, the message, its relay destination information, the message type, and the message priority are stored in an associated manner. Figure 5 In the example, in the Message column of Table T11, messages of the type low-priority control messages output from individual ECU2 are stored. The Relay Destination column stores information about the relay destination of the message, such as the address of the individual ECU2 that serves as the relay destination. The Message Type column stores the type of message. The Priority column stores the priority of the message. Figure 5 In Table T11, since the message type is low-priority control message, the priority of each message is "low". As a low-priority control message, its identifier can also be stored in Table T11. Furthermore, in... Figure 5 In this table, the message types and priorities are shown for illustrative purposes only, so Table 1 T11 may not contain columns for message types and priorities.
[0066] Figure 6This is a conceptual diagram illustrating an example of the contents of Table 3 T12. Similar to Table 1 T11, Table 3 T12 includes a message column, a relay destination column, a message type column, and a priority column. In Table 3 T12, messages, their relay destination information, message type, and message priority are stored in an associated manner. Specifically, the message column of Table 3 T12 stores messages of types other than high-priority control messages output from individual ECU2. That is, the message column of Table 3 T12 stores messages output from individual ECU2 that are low-priority control messages or diagnostic messages. The relay destination column stores information about the relay destination of the message. The message type column stores the message type. The priority column stores the message priority. Figure 6 In Table 3 T12, since the message type is low-priority control message or diagnostic message, the priority of each message is "low". As a message of type low-priority control message or diagnostic message, its identifier can also be stored in Table 3 T12. Furthermore, in Figure 6 In this table, the message types and priorities are shown for illustrative purposes only, so Table 3 T12 may not contain columns for message types and priorities.
[0067] The first control unit 611 determines the relay destination of the message output from the determination circuit 73 by referring to either the first table T11 or the third table T12. As described above, the first control unit 611 outputs the message with the determined relay destination to the transmission queue 72. The output message is then sent to the individual ECU2, which serves as the relay destination. Which table, the first table T11 or the third table T12, the first control unit 611 refers to will be described later. Hereinafter, rule table T13, the first table T11, and the third table T12 will be collectively referred to as the first routing table T1.
[0068] like Figure 2 As shown, the second processing unit 62 includes a connection portion 626 connected to the wiring 65. The second processing unit 62 also includes a second control unit 621, a second storage unit 622, a communication I / F 623, and a second communication unit 624. The second control unit 621, the second storage unit 622, the communication I / F 623, and the second communication unit 624 are connected together. The connection portion 626 is connected to the second communication unit 624. The second control unit 621 is composed of an arithmetic processing device such as a CPU or MPU, and executes various control and arithmetic processes by reading a second program 625 and data pre-stored in the second storage unit 622. For example, the second control unit 621 performs security-related processing.
[0069] The second storage unit 622 is composed of volatile memory elements such as RAM or non-volatile memory elements such as ROM, EEPROM, or flash memory. The second storage unit 622 stores in advance a second program 625 executed by the second control unit 621 and data referenced by the second control unit 621 during processing. The second program 625 stored in the second storage unit 622 may also be a second program 625 read from a recording medium 63 readable by the integrated ECU 6. Alternatively, the second program 625 may be downloaded from an external computer (not shown) connected to a communication network (not shown) and stored in the second storage unit 622. Furthermore, the second storage unit 622 stores the second table T21 and the fourth table T22, which will be described later.
[0070] Communication I / F 623 is a communication interface for communicating with the first processing unit 61, and is connected to Communication I / F 623. The first control unit 611 and the second control unit 621 communicate via Communication I / F 613 and Communication I / F 623. That is, the first processing unit 61 and the second processing unit 62 communicate via Communication I / F 613 and Communication I / F 623. For example, the first processing unit 61 and the second processing unit 62 perform serial communication, but the communication between the first processing unit 61 and the second processing unit 62 is not limited to serial communication.
[0071] The second communication unit 624 is an input / output interface using a specified communication protocol. In the case of CAN, the second communication unit 624 may be, for example, a CAN controller and a CAN receiver. In this embodiment, the second communication unit 624 differs from the first communication unit 614 in that it does not have an HWGW unit 7. The second control unit 621 communicates with each individual ECU 2 via the second communication unit 624.
[0072] Figure 7 This is a block diagram illustrating the structure of the second communication unit 624. Figure 7 The diagram omits a portion of the wiring 65 connecting the transmit / receive unit 64 and the first processing unit 61. The second communication unit 624 includes an input / output unit 627, a receive buffer 628, and a transmit queue 629. The input / output unit 627, the receive buffer 628, and the transmit queue 629 are connected together. The input / output unit 627 is, for example, a pin of a microcomputer. The input / output unit 627 is connected to a connection unit 626. The input / output unit 627 is connected to each individual ECU2 via the connection unit 626, wiring 65, and the transmit / receive unit 64, and outputs messages to each individual ECU2. Additionally, messages output from each individual ECU2 are input to the input / output unit 627.
[0073] The receive buffer 628 and the transmit queue 629 are connected to the second control unit 621. The receive buffer 628 stores messages input to the input / output unit 627. The transmit queue 629 is a queue for temporarily storing relayed messages. Like the transmit queue 72, the transmit queue 629 has multiple queues corresponding to the relay destination.
[0074] Details will be described later. The second control unit 621 determines the relay destination of the message stored in the receive buffer 628 based on either the second table T21 or the fourth table T22. The second control unit 621 outputs the message with the determined relay destination to the transmit queue 629, storing the message in the queue corresponding to the relay destination. The message stored in the transmit queue 629 is then output (relayed) to the individual ECU2, which serves as the relay destination, via the input / output unit 627.
[0075] The second control unit 621 relays messages as software processing by executing the second procedure 625. The message relay as software processing performed by the second control unit 621 is based on the second table T21 or the fourth table T22.
[0076] Figure 8 This is a conceptual diagram illustrating an example of the contents of Table T21. Table T21 includes a message column, a relay destination column, a message type column, and a priority column. In Table T21, messages, their relay destination information, message type, and priority are stored in an associated manner. Specifically, the message column in Table T21 stores messages whose type is diagnostic messages output from individual ECU2. The relay destination column stores information about the relay destination of the message. The message type column stores the message type. The priority column stores the message priority. Figure 8 In Table T21, since the message type is diagnostic message, the priority of each message is "low". As a diagnostic message, its identifier can also be stored in Table T21. Furthermore, in... Figure 8 The message types and priorities are shown for illustrative purposes only, so Table 2 T21 may not include message type and priority columns.
[0077] Figure 9This is a conceptual diagram illustrating an example of the contents of Table 4, T22. Table 4, T22 includes a message column, a relay destination column, a message type column, and a priority column. In Table 4, T22 stores messages, their relay destination information, message type, and message priority in a linked manner. Specifically, the message column of Table 4, T22 stores all messages output from individual ECU2. That is, the message column of Table 4, T22 stores messages output from individual ECU2 that are high-priority control messages, low-priority control messages, or diagnostic messages. The relay destination column stores information about the relay destinations of the aforementioned messages. The message type column stores the message type. The priority column stores the message priority. Figure 9 In the example, the priority associated with high-priority control messages is "high". The priority associated with low-priority control messages and diagnostic messages is "low". Messages that are classified as high-priority control messages, low-priority control messages, or diagnostic messages can also have their identifiers stored in Table 4, T22. Furthermore, in Figure 9 The message types and priorities are shown for illustrative purposes only, so Table 4 T22 may not include message type and priority columns.
[0078] The second control unit 621 determines the relay destination of the message stored in the receive buffer 628 by referring to either the second table T21 or the fourth table T22. As described above, the second control unit 621 outputs the message with the determined relay destination to the send queue 629. The output message is then sent to the individual ECU2, which serves as the relay destination. Which table, the second table T21 or the fourth table T22, the second control unit 621 refers to will be described later. Hereinafter, the second table T21 and the fourth table T22 will be collectively referred to as the second routing table T2.
[0079] Next, it will be explained which of the first and third tables, T11 and T12, the first control unit 611 refers to during relay processing. The first control unit 611 determines whether the preparation for relay processing in the second processing unit 62 is complete, and refers to either the first or third table T12 accordingly. Furthermore, in this embodiment, the first processing unit 61 begins preparation for relay processing upon startup. Similarly, the second processing unit begins preparation for relay processing upon startup.
[0080] For example, when determining whether the preparation for relay processing in the second processing unit 62 is complete, the first control unit 611 attempts to establish communication between the first processing unit 61 and the second processing unit 62. Furthermore, the communication between the first processing unit 61 and the second processing unit 62 is communication between communication I / F 613 and communication I / F 623. If communication between the first processing unit 61 and the second processing unit 62 is established, the first control unit 611 determines that the preparation for relay processing in the second processing unit 62 is complete.
[0081] When the relay processing preparation in the second processing unit 62 is completed, the first control unit 611 determines the relay destination of the message output from the determination circuit 73 by referring to the first table T11. Therefore, in this case, the relay destination of the message stored in the first table T11 is determined, but the relay destination of the message not stored in the first table T11 is not determined. As described above, the first control unit 611 outputs the message with the determined relay destination to the transmission queue 72. The output message is sent to the individual ECU2, which is the relay destination. Therefore, when the relay processing preparation in the second processing unit 62 is completed, the first processing unit 61 performs relay processing on the messages stored in the rule table T13 and the messages stored in the first table T11. In the example of the rule table T13 and the first table T11 described above, when the relay processing preparation in the second processing unit 62 is completed, the first processing unit 61 performs relay processing on high-priority control messages and low-priority control messages.
[0082] Hereinafter, messages relayed in the relay processing based on rule table T13 or the first table T11 will also be referred to as messages that are processed in the first processing unit 61. In this embodiment, messages that are processed in the first processing unit 61 are high-priority control messages and low-priority control messages, but messages that are processed in the first processing unit 61 are not limited to the above examples. In other words, messages stored in rule table T13 are not limited to high-priority control messages. Messages stored in the first table T11 are not limited to low-priority control messages.
[0083] If communication between the first processing unit 61 and the second processing unit 62 is not established, the first control unit 611 determines that the preparation for relay processing in the second processing unit 62 is incomplete. In the absence of preparation for relay processing in the second processing unit 62, the first control unit 611 refers to Table T12 (3) to determine the relay destination of the message. As described above, the first control unit 611 outputs the message with the determined relay destination to the transmission queue 72. The output message is sent to the individual ECU2, which is the relay destination. Therefore, even if the preparation for relay processing in the second processing unit 62 is incomplete, the first processing unit 61 performs relay processing on all messages output from the individual ECU2 connected to the integrated ECU 6. Even if the preparation for relay processing in the second processing unit 62 is incomplete, the integrated ECU 6 can still relay all messages output from the connected individual ECU2 via the relay of the HWGW unit 7 and the software-processed relay performed by the first control unit 611.
[0084] The following explains which table (Table T21 or Table T12) the second control unit 621 refers to during relay processing. The second control unit 621 determines whether the preparation for relay processing in the first processing unit 61 is complete, and accordingly refers to either Table T21 or Table T22. For example, the second control unit 621 attempts to establish communication between the first processing unit 61 and the second processing unit 62. If communication between the first processing unit 61 and the second processing unit 62 is established, the second control unit 621 determines that the preparation for relay processing in the first processing unit 61 is complete.
[0085] When the relay processing preparation in the first processing unit 61 is completed, the second control unit 621 refers to the second table T21 to determine the relay destination of the messages stored in the receive buffer 628 of the second communication unit 624. Therefore, in this case, the relay destination of the messages stored in the second table T21 is determined, but the relay destination of the messages not stored in the second table T21 is not determined. As described above, the second control unit 621 outputs the messages with determined relay destinations to the transmission queue 629. The output messages are sent to the individual ECU2, which is the relay destination. Therefore, when the relay processing preparation in the first processing unit 61 is completed, the second processing unit 62 performs relay processing on the messages stored in the second table T21. In the example of the second table T21 described above, when the relay processing preparation in the first processing unit 61 is completed, the second processing unit 62 performs relay processing on diagnostic messages.
[0086] Hereinafter, the message relayed in the relay processing based on the second table T21 will also be referred to as the message that is processed in the second processing unit 62. In this embodiment, the message that is processed in the second processing unit 62 is a diagnostic message, but the message that is processed in the second processing unit 62 is not limited to diagnostic messages. In other words, the message stored in the second table T21 is not limited to diagnostic messages.
[0087] When the relay processing preparation is completed in both the first processing unit 61 and the second processing unit 62, the second processing unit 62 performs relay processing on the diagnostic messages. In this case, the first processing unit 61 performs relay processing on high-priority control messages and low-priority control messages as described above. The integrated ECU 6 distributes the relay processing of messages output from the connected individual ECU 2 to the first processing unit 61 and the second processing unit 62 for processing.
[0088] If communication between the first processing unit 61 and the second processing unit 62 is not established, the second control unit 621 determines that the preparation for relay processing in the first processing unit 61 is incomplete. In the absence of preparation for relay processing in the first processing unit 61, the second control unit 621 determines the relay destination of the message by referring to Table T22 (4). As described above, the second control unit 621 outputs the message with the determined relay destination to the transmission queue 629. The output message is sent to the individual ECU2, which serves as the relay destination. In this case, high-priority control messages are relayed by the second control unit 621 as software processing. Therefore, in the absence of preparation for relay processing in the first processing unit 61, the second processing unit 62 performs relay processing on all messages output from the individual ECU2 connected to the integrated ECU 6.
[0089] Even if the relay processing in the first processing unit 61 is not completed, the integrated ECU6 can relay all messages output from the connected individual ECU2 by performing relay processing based on the fourth table T22.
[0090] When relay processing is performed between the first processing unit 61 and the second processing unit 62, the first control unit 611 confirms the operating state of the second processing unit 62. The operating state of the second processing unit 62 includes a normal state in which the second processing unit 62 can perform processing and a stop state in which the second processing unit 62 cannot perform processing. The stop state is a so-called dead state. The first control unit 611 communicates with the second control unit 621 periodically, for example, and determines that the operating state of the second processing unit 62 is a stop state when communication is not possible. When the second processing unit 62 is in a stop state, the first control unit 611 performs relay processing based on the third table T12. That is, the table referenced by the first control unit 611 switches from the first table T11 to the third table T12.
[0091] While relay processing is being performed between the first processing unit 61 and the second processing unit 62, the second control unit 621 confirms the operating status of the first processing unit 61. The second control unit 621 communicates with the first control unit 611 periodically, for example, and determines that the first processing unit 61 is in a stopped state if communication is not possible. When the first processing unit 61 is in a stopped state, the second control unit 621 performs relay processing based on the fourth table T22. That is, the table referenced by the second control unit 621 switches from the second table T21 to the fourth table T22.
[0092] The first control unit 611 executes the first program 615 stored in the first storage unit 612, thereby outputting a completion signal indicating that the preparation for relay processing is complete to the second processing unit 62 after the preparation for relay processing is complete. The second control unit 621 executes the second program 625 stored in the second storage unit 622, thereby outputting a completion signal to the first processing unit 61 after the preparation for relay processing is complete.
[0093] The first control unit 611 executes the first program 615 stored in the first storage unit 612 and outputs a save signal indicating the start of saving a message that is to be processed. Specifically, when the first control unit 611 receives a completion signal from the second processing unit 62 and receives a message, it outputs a save signal indicating the start of saving a message that is to be processed in the second processing unit 62 to the second processing unit 62. The first control unit 611 executes the first program 615 stored in the first storage unit 612 and outputs a send signal indicating the start of sending a message that is to be processed. Specifically, after relaying a message received after receiving a completion signal from the second processing unit 62 and before receiving a new message, the first control unit 611 outputs a send signal indicating the start of sending a message that is to be processed in the second processing unit 62 to the second processing unit 62.
[0094] The second control unit 621 outputs a save signal by executing the second program 625 stored in the second storage unit 622. Specifically, when the second control unit 621 receives a completion signal from the first processing unit 61 and receives a message, it outputs a save signal to the first processing unit 61 indicating the start of saving the message to be processed in the first processing unit 61. The second control unit 621 also outputs a send signal by executing the second program 625 stored in the second storage unit 622. Specifically, after relaying a message received after receiving a completion signal from the first processing unit 61 and before receiving a new message, the second control unit 621 outputs a send signal to the first processing unit 61 indicating the start of sending the message to be processed in the first processing unit 61.
[0095] Figure 10 This is a timing diagram illustrating one method of message relay for integrated ECU6. Figure 10 In this diagram, a timing diagram including a first processing unit 61 and a second processing unit 62 is used to illustrate the relay processing of messages output from the individual ECU 2 by the integrated ECU 6. Figure 10 The example shown is an instance where the preparation for relay processing in the first processing unit 61 is completed earlier than the preparation for relay processing in the second processing unit 62. Hereinafter, the steps will be abbreviated as S.
[0096] For example, when the IG (ignition) switch (not shown) of vehicle C changes from off to on, the first processing unit 61 is activated to begin preparation for relay processing (S01). Similarly, when the IG switch changes from off to on, the second processing unit 62 is activated to begin preparation for relay processing (S02). Figure 10 In the example, the first processing unit 61 completes the preparation for relay processing earlier than the second processing unit 62 (S03).
[0097] The first processing unit 61 determines whether the preparation for relay processing in the second processing unit 62 is complete (S04). For example, the first processing unit 61 attempts to establish communication between the first processing unit 61 and the second processing unit 62. Since the preparation for relay processing in the second processing unit 62 is not complete at this point in time, communication between the first processing unit 61 and the second processing unit 62 is not established. Since communication between the first processing unit 61 and the second processing unit 62 is not established, the first processing unit 61 determines that the preparation for relay processing in the second processing unit 62 is not complete.
[0098] The first processing unit 61 begins relay processing (S05) on all messages output from the individual ECU 2 connected to the integrated ECU 6, based on rule table T13 and rule table T12. Specifically, the first processing unit 61 receives messages from the individual ECU 2. High-priority control messages among the received messages are relayed to the individual ECU 2 as the relay destination, as described above, based on rule table T13. Low-priority control messages or diagnostic messages are relayed to the individual ECU 2 as the relay destination, as described above, based on rule table T12. For example, the first processing unit 61 repeatedly performs relay processing based on rule table T13 and rule table T12.
[0099] The second processing unit 62 completes the preparation for relay processing in itself (S06) and determines whether the preparation for relay processing in the first processing unit 61 is complete. For example, the second processing unit 62 attempts to establish communication with the first processing unit 61. Since communication between the first processing unit 61 and the second processing unit 62 is established, the second processing unit 62 determines that the preparation for relay processing in the first processing unit 61 is complete. The second processing unit 62 outputs a completion signal to the first processing unit 61 (S07), notifying the first processing unit 61 that the preparation for relay processing in the second processing unit 62 is complete. Furthermore, since the order in which the preparation for relay processing in the first processing unit 61 and the second processing unit 62 is completed depends on the respective structures of the first processing unit 61 and the second processing unit 62 and the procedures referred to by the first processing unit 61 and the second processing unit 62, it can be predetermined. If it is predetermined that the preparation for relay processing in the second processing unit 62 is completed later than the preparation for relay processing in the first processing unit 61, the second processing unit 62 may not determine whether the preparation for relay processing in the first processing unit 61 is completed.
[0100] The first processing unit 61 receives a completion signal output from the second processing unit 62. The first processing unit 61 receives a message from the individual ECU2 (S08) and outputs a save signal to the second processing unit 62 (S09).
[0101] The second processing unit 62 receives a save signal output from the first processing unit 61 and begins saving the message of the processing object in the second processing unit 62 (S10). Specifically, the second processing unit 62 receives a message from the individual ECU2 and saves the received message in the receive buffer 628. The message stored in the second table T21 among the messages saved in the receive buffer 628 is then saved by the second control unit 621 in the queue corresponding to the relay destination in the transmission queue 629.
[0102] The first processing unit 61, through relay processing based on rule table T13 and rule table T12, relays the message received upon receiving the completion signal to the individual ECU2 as the relay destination (S11), thus ending the relay processing based on rule table T13 and rule table T12 (S12). The first processing unit 61 outputs a transmission signal to the second processing unit 62 (S13) to begin relay processing based on rule table T13 and rule table T11 (S14). Specifically, the first processing unit 61 receives messages from the individual ECU2. High-priority control messages among the received messages are relayed to the individual ECU2 as the relay destination based on rule table T13, as described above. Low-priority control messages are relayed to the individual ECU2 as the relay destination based on rule table T11, as described above. The table referenced by the first processing unit 61 during the relay processing switches from rule table T12 to rule table T11.
[0103] The first processing unit 61 repeatedly performs relay processing based on rule table T13 and the first table T11, relaying messages that are the processing objects in the first processing unit 61 from the messages output from the individual ECU2 to the integrated ECU6.
[0104] The second processing unit 62 receives the transmission signal output from the first processing unit 61 and begins transmitting the message to the relay destination (S15). The message stored in the transmission queue 629 is relayed to the individual ECU2, which is the relay destination. In the second processing unit 62, relay processing based on the second table T21 begins. The second processing unit 62 repeatedly performs relay processing based on the second table T21, relaying messages that are the processing objects in the second processing unit 62 from the messages output from the individual ECU2 to the integrated ECU6.
[0105] For example, if the preparation for relay processing in the second processing unit 62 is completed earlier than the preparation for relay processing in the first processing unit 61, the second processing unit 62 completes the preparation for relay processing and begins relay processing based on the fourth table T22. The first processing unit 61 completes the preparation for relay processing and outputs a completion signal to the second processing unit 62. The second processing unit 62 receives the output completion signal. The second processing unit 62 receives a message from the individual ECU 2 and outputs a save signal to the first processing unit 61. The second processing unit 62 relays the message received when the completion signal is received through relay processing based on the fourth table T22, and ends the relay processing based on the fourth table T22. The second processing unit 62 outputs a transmit signal to the first processing unit 61 and begins relay processing based on the second table T21.
[0106] The first processing unit 61 receives a save signal output from the second processing unit 62 and begins saving messages that are the processing objects in the first processing unit 61. Messages that are the processing objects in the first processing unit 61 are saved in the transmission queue 72 accordingly, along with their relay destinations. The first processing unit 61 receives a transmission signal output from the second processing unit 62 and begins transmitting messages that are the processing objects in the first processing unit 61 to their relay destinations.
[0107] By outputting the save signal and the transmit signal as described above, it is possible to prevent the first processing unit 61 and the second processing unit 62 from relaying the same message. Furthermore, the integrated ECU 6 can prevent the generation of unrelayed messages when switching from a state where only one of the first processing unit 61 and the second processing unit 62 performs relay processing to a state where both the first processing unit 61 and the second processing unit 62 perform relay processing. In other words, messages can be relayed without omission.
[0108] Figure 11This is a flowchart illustrating the processes involved in relaying communication performed by the first control unit 611 of the first processing unit 61. For example, when the IG switch changes from open to closed, the first control unit 611 starts to prepare for relay processing. When the preparation for relay processing is complete, the first control unit 611 performs the following processes.
[0109] The first control unit 611 determines whether the preparation for relay processing in the second processing unit 62 is complete (S21). For example, the first control unit 611 attempts to establish communication between the first processing unit 61 and the second processing unit 62.
[0110] If the preparation for relay processing in the second processing unit 62 is not completed (S21: "No"), the first control unit 611 performs relay processing based on rule table T13 and rule table T12 (S211). Specifically, the determination circuit 73 of the HWGW unit 7 determines the relay destination of the high-priority control message based on rule table T13 as described above, and stores the high-priority control message in the transmission queue 72 corresponding to the relay destination. The determination circuit 73 outputs low-priority control messages and diagnostic messages to the first control unit 611. The first control unit 611 determines the relay destination of the low-priority control messages and diagnostic messages based on rule table T12 as described above, and stores the low-priority control messages and diagnostic messages in the transmission queue 72 corresponding to the relay destination. The first control unit 611 causes the first communication unit 614 to send the message stored in the transmission queue 72 to the individual ECU2, which is the relay destination. The situation where the preparation for relay processing in the second processing unit 62 is not completed is, for example, when communication between the first processing unit 61 and the second processing unit 62 is not established.
[0111] The first control unit 611 determines whether a completion signal has been received from the second control unit 621 (S212). If no completion signal is received (S212: "No"), the first control unit 611 performs the processing of S211. Therefore, the first processing unit 61 performs relay processing on all messages output from the individual ECU2 connected to the integrated ECU6 until the relay processing in the second processing unit 62 is ready.
[0112] Upon receiving a completion signal (S212: "Yes"), the first control unit 611 receives a message (S213) and outputs a save signal to the second control unit 621 (S214). The received message is relayed through relay processing based on rule table T13 and the third table T12. After relaying the aforementioned message, the first control unit 611 outputs a transmit signal to the second control unit 621 (S215) and performs the processing described later in S23.
[0113] When the relay processing preparation in the second processing unit 62 is completed (S21: "Yes"), the first control unit 611 outputs a completion signal to the second control unit 621 (S22). The first control unit 611 performs relay processing based on rule table T13 and the first table T11 (S23). Specifically, the determination circuit 73 of the HWGW unit 7 determines the relay destination of the high-priority control message based on rule table T13 as described above, and saves the high-priority control message in the transmission queue 72 corresponding to the relay destination. The determination circuit 73 outputs the low-priority control message and the diagnostic message to the first control unit 611. The first control unit 611 determines the relay destination of the low-priority control message based on the first table T11 as described above, and saves the low-priority control message in the transmission queue 72 corresponding to the relay destination. The first control unit 611 causes the first communication unit 614 to send the message saved in the transmission queue 72 to the individual ECU2, which is the relay destination. At this time, the first control unit 611 does not determine the relay destination of the diagnostic message. The message that is the object of processing in the first processing unit 61 is relayed. The preparation for relay processing in the second processing unit 62 is completed, for example, when communication between the first processing unit 61 and the second processing unit 62 is established.
[0114] As described above, the first control unit 611 determines whether the second processing unit 62 is in a stopped state (S24). If the second processing unit 62 is in a stopped state (S24: "Yes"), the first control unit 611 performs the processing of S211.
[0115] If the second processing unit 62 is not in a stopped state (S24: "No"), the first control unit 611 determines whether the IG switch is open (S25). If the IG switch is open (S25: "Yes"), the first control unit 611 ends the processing. If the IG switch is not open (S25: "No"), that is, if the IG switch is on, the first control unit 611 performs the processing in S23.
[0116] The flowchart of the processing involved in the relay of communication performed by the second control unit 621 is as follows: Figure 11 The flowchart is obtained by renaming the first processing unit 61, rule table T13, first table T11, rule table T13, and third table T12 as the second processing unit 62, second table T21, and fourth table T22. Therefore, detailed descriptions of the processes involved in relaying communication performed by the second control unit 621 are omitted. Figure 11 In the diagram, within parentheses, are shown the second processing unit 62, the second table T21, and the fourth table T22 obtained by modifying the first processing unit 61, rule table T13, rule table T11, rule table T13, and third table T12.
[0117] The integrated ECU 6 uses the first processing unit 61 and the second processing unit 62 to relay the communication of the individual ECU 2. Therefore, the load in the communication relay is distributed among the first processing unit 61 and the second processing unit 62. Consequently, the load on each of the first processing unit 61 and the second processing unit 62 in the communication relay is smaller compared to the case where only one of the first processing unit 61 or the second processing unit 62 performs the relay processing. The integrated ECU 6 can perform relay processing efficiently. The integrated ECU 6 is equivalent to an in-vehicle device. The individual ECU 2 is equivalent to an in-vehicle ECU.
[0118] As described above, high-priority control messages are relayed to their destination without the first control unit 611 determining the relay destination; instead, they are relayed through processing within the HWGW unit 7. Therefore, the first processing unit 61 can perform relay processing on high-priority control messages earlier than on other types of messages. The load on the first processing unit 61 during the relay processing of high-priority control messages is smaller compared to the relay processing of other types of messages.
[0119] The integrated ECU6, by having the first processing unit perform relay processing using the HWGW unit 7 in the relay of high-priority control messages, can handle the high-responsiveness requirements of the individual ECU2 and efficiently relay communications. When relaying messages as software processing, the relay functions can be easily added and changed by updating the software. Adding and changing relay functions includes, for example, adding and changing the communication protocol involved in the relayed message.
[0120] If one of the first processing unit 61 and the second processing unit 62 becomes stopped, the other of the first processing unit 61 and the second processing unit 62 switches the referenced table. Even if one of the first processing unit 61 and the second processing unit 62 becomes stopped, the integrated ECU 6 can relay all messages output from the connected individual ECU 2. Therefore, the relay of communication in the integrated ECU 6 can be made redundant.
[0121] For example, when one of the first processing unit 61 and the second processing unit 62 returns to the normal state from the stop state, one of the first processing unit 61 and the second processing unit 62 can also output a completion signal to the other of the first processing unit 61 and the second processing unit 62. The integrated ECU 6 can then enable the first processing unit 61 and the second processing unit 62 to perform relay processing again.
[0122] For example, the first control unit 611 and the second control unit 621 can also determine whether a portion of the wiring 65 connecting the individual ECU2 to the first processing unit 61 or the second processing unit 62 has been cut. For example, if a portion of the wiring 65 connecting the individual ECU2 to the second processing unit 62 has been cut, the first control unit 611 performs relay processing based on rule table T13 and rule table T12. For example, the second control unit 621 does not perform relay processing. This enables redundancy in the relay of communication within the integrated ECU6.
[0123] For example, the second processing unit 62 may also be a second communication unit 624 equipped with an HWGW unit 7. In this case, since both the first processing unit 61 and the second processing unit 62 are equipped with HWGW units 7, the integrated ECU 6 can distribute high-priority control messages to the first processing unit 61 and the second processing unit 62 for relay.
[0124] For example, the first processing unit 61 may not have an HWGW unit 7. In this case, for example, rule table T13 is stored in the first storage unit 612. The first control unit 611 relays high-priority control messages based on rule table T13 as software processing. For example, the first control unit 611 may prioritize relaying based on rule table T13 and relaying based on either rule table T13 or rule table T12. Alternatively, high-priority control messages may be distributed to the first processing unit 61 and the second processing unit 62 and relayed as software processing.
[0125] As described above, the tables referenced in the relay processing are specified based on the type of message. Therefore, the integrated ECU 6 can appropriately perform relay processing according to the type of message. Since the integrated ECU 6 is structured such that the first control unit 611 and the second control unit 621 each relay messages as software processing, the processing load of the first processing unit 61 and the second processing unit 62 can be distributed. Because the processing load of the first processing unit 61 and the second processing unit 62 is distributed, the first processing unit 61 and the second processing unit 62 can efficiently perform processing other than relay processing, in addition to relay processing. For example, the integrated ECU 6 can enable the first processing unit 61 and the second processing unit 62 to perform any different processing other than relay processing.
[0126] The first routing table T1 and the second routing table T2 are not limited to the examples described above. For example, the first table T11 may also store a portion of low-priority control messages and a portion of diagnostic messages from messages output from a single ECU2. In this case, the second table T21 stores the remaining low-priority control messages and the remaining diagnostic messages. The first processing unit 61 performs relay processing on the high-priority control messages and a portion of the low-priority control messages and the portion of the diagnostic messages. The second processing unit 62 performs relay processing on the remaining low-priority control messages and the remaining diagnostic messages. For example, instead of the fourth table T22, the second storage unit 622 may store the rule table T13 and the first table T11. In this case, the second table T21, the rule table T13, and the first table T11 stored in the second storage unit 622 are equivalent to the second routing table T2.
[0127] The messages relayed by the HWGW unit 7 in the first processing unit 61, the messages relayed as software processing, and the messages relayed as software processing in the second processing unit 62 are not limited to the examples described above.
[0128] For example, messages relayed by HWGW Section 7 and messages relayed as software processing can also be determined based on ISO 26262's ASIL (Automotive Safety Integrity Level). ASIL is described in five levels to represent the level of safety that must be achieved to avoid potential hazards in in-vehicle embedded systems. ASIL levels are classified as QM, ASIL-A, ASIL-B, ASIL-C, and ASIL-D. QM level is for general quality management of functional safety according to ISO 26262, which is not applicable. ASIL-A to ASIL-D levels require the application of functional safety according to ISO 26262, with the functional safety requirements becoming more stringent from ASIL-A to ASIL-D.
[0129] In this case, the integrated ECU 6 determines whether the message output from the individual ECU 2 is an ASIL-related message, and relays the message accordingly based on the determination result. An ASIL-related message is, for example, a message assigned a level from ASIL-A to D. The integrated ECU 6 relays ASIL-related messages as part of the software processing of the first processing unit 61 or the second processing unit 62. This is because ASIL-related messages require processing such as anomaly detection performed by the first control unit 611 or the second control unit 621. For example, in the first table T11 at this time, a portion of the ASIL-related messages and their relay destinations are stored in association. In the second table T21, the remaining ASIL-related messages and their relay destinations are stored in association.
[0130] The integrated ECU6 relays messages unrelated to ASIL, such as messages assigned the QM level and messages not assigned ASIL, via the HWGW unit 7. In the rule table T13 at this time, messages unrelated to ASIL and their relay destinations are stored in an associated manner.
[0131] It should be considered that the embodiments disclosed herein are exemplary in all respects and not restrictive. The scope of the invention is defined not by the foregoing meaning but by the claims, and is intended to include all modifications of the same meaning and scope as those claims.
[0132] Explanation of reference numerals in the attached figures
[0133] Vehicle C
[0134] T1 Routing Table 1
[0135] Table 1, T11
[0136] Table 3 of T12
[0137] T13 Rule Table
[0138] T2 second routing table
[0139] Table 2, T21
[0140] Table 4 of T22
[0141] 1. In-vehicle network
[0142] 2. Standalone ECU (Vehicle ECU)
[0143] 3. Vehicle-mounted equipment
[0144] 4 Actuators
[0145] 5 sensors
[0146] 6. Integrated ECU (On-board Unit)
[0147] 61 First Processing Department
[0148] 611 First Control Unit
[0149] 612 First Storage Unit
[0150] 613 communication I / F
[0151] 614 1st Communications Department
[0152] 615 First Procedure
[0153] 616 Connecting Part
[0154] 617 Input / Output Section
[0155] 62 Second Processing Department
[0156] 621 Second Control Unit
[0157] 622 Second Storage Unit
[0158] 624 2nd Communications Department
[0159] 625 Procedure 2
[0160] 626 Connecting Part
[0161] 627 Input / Output Section
[0162] 628 Receive Buffer
[0163] 629 Sending Queue
[0164] 63 Recording media
[0165] 64 Transmitting and Receiving Unit
[0166] 65. Wiring
[0167] 7 Hardware Gateway (HWGW) Department
[0168] 71 Receive Buffer
[0169] 72 Sending Queue
[0170] 73. Decision circuit.
Claims
1. An in-vehicle device connected to multiple in-vehicle ECUs, for relaying messages output by the multiple in-vehicle ECUs. The vehicle-mounted device includes: The first processing unit performs message relay processing and is connected to the plurality of vehicle ECUs respectively; The second processing unit performs message relay processing and is connected to the plurality of vehicle ECUs respectively; The first routing table contains the relay destinations of the messages that are processed in the first processing unit; and The second routing table contains the relay destinations of the messages that are processed in the second processing unit. The first processing unit and the second processing unit each have a connection part for connecting wiring to the plurality of vehicle ECUs. The first processing unit performs the relay processing based on the first routing table. The second processing unit performs the relay processing based on the second routing table. The first routing table contains the relay destinations of the messages that are processed in the second processing unit. The first processing unit determines whether the preparation for the relay processing in the second processing unit is complete. If the preparation for the relay processing in the second processing unit is not complete, the first processing unit performs the relay processing on the message that is the processing object in the first processing unit and the message that is the processing object in the second processing unit based on the first routing table.
2. The vehicle-mounted device according to claim 1, wherein, After the relay processing preparation is completed, the second processing unit outputs a completion signal indicating that the relay processing preparation is complete. After outputting the completion signal, it begins to perform relay processing on the message that is the processing object in the second processing unit based on the second routing table. Upon receiving the completion signal, the first processing unit begins relay processing of the message that is the processing object in the first processing unit based on the first routing table.
3. The vehicle-mounted device according to claim 2, wherein, When the first processing unit receives the completion signal and also receives the message that is the processing target of the second processing unit, it outputs a save signal indicating the start of saving the message to the second processing unit. After relaying the message received after receiving the completion signal, it outputs a send signal indicating the start of sending the message to the second processing unit. After outputting the send signal, it begins the relay processing of the message that is the processing target of the first processing unit. When the second processing unit receives the save signal, it begins to save the message that is the object of processing in the second processing unit. When it receives the send signal, it begins to send the message that is the object of processing in the second processing unit to the relay destination.
4. The vehicle-mounted device according to any one of claims 1 to 3, wherein, The first processing unit confirms the operation status of the second processing unit, and if the second processing unit is in a stopped state, performs the relay processing on the message that is the processing object in the first processing unit and the message that is the processing object in the second processing unit based on the first routing table.
5. The vehicle-mounted device according to any one of claims 1 to 3, wherein, One of the first processing unit and the second processing unit includes a hardware gateway unit for relaying one of the messages, and performs software processing for relaying other messages. The other of the first and second processing units relays the remaining messages as part of the software processing.
6. The vehicle-mounted device according to claim 4, wherein, One of the first processing unit and the second processing unit includes a hardware gateway unit for relaying one of the messages, and performs software processing for relaying other messages. The other of the first and second processing units relays the remaining messages as part of the software processing.
7. A relay method for relaying messages by an in-vehicle device, wherein the in-vehicle device comprises a first processing unit and a second processing unit that perform relay processing of messages output by multiple in-vehicle ECUs and are respectively connected to the multiple in-vehicle ECUs. In the relay method The first processing unit performs the relay processing based on a first routing table containing relay destinations of messages that are processed in the first processing unit and relay destinations of messages that are processed in the second processing unit. The second processing unit performs the relay processing based on a second routing table containing the relay destinations of the messages that are the processing objects in the second processing unit. The first processing unit determines whether the preparation for the relay processing in the second processing unit is complete. If the preparation for the relay processing in the second processing unit is not complete, the first processing unit performs the relay processing on the message that is the processing object in the first processing unit and the message that is the processing object in the second processing unit based on the first routing table.
8. The relay method according to claim 7, wherein, The hardware gateway unit, which is provided by one of the first processing unit and the second processing unit, relays one of the messages. One of the first processing unit and the second processing unit relays other messages as software processing. The other of the first and second processing units relays the remaining messages as part of the software processing.
Citation Information
Patent Citations
Vehicle software allocation system
JP2017171114A
Sheet conveyance device and image formation apparatus
JP2021011343A
Gateway device
CN112236978A