Onboard relay apparatus, relay method, and relay program
The in-vehicle relay device uses a selection unit to manage packet relay processes, ensuring accurate restoration of fragmented messages by suspending transmission if out-of-order packets are detected, thereby improving fault diagnosis reliability.
Patent Information
- Application Number
- PCT/JP2025/017017
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-09
- Filing Date
- 2025-05-09
- Publication Date
- 2025-11-13
AI Technical Summary
In-vehicle relay devices struggle to reliably restore fragmented messages due to the inability to identify the sending in-vehicle device when multiple packets are received out of order, leading to potential misidentification and failed fault diagnosis.
The in-vehicle relay device employs a selection unit to choose between first and second relay processes, where the first process relays packets in order and the second process collectively relays multiple packets corresponding to the same message, ensuring accurate restoration by suspending transmission if another packet is received out of sequence.
This approach ensures more reliable message restoration by preventing out-of-order packet reception, enhancing the accuracy of fault diagnosis in in-vehicle networks.
Smart Images

Figure JP2025017017_13112025_PF_FP_ABST
Abstract
Description
Vehicle-mounted relay device, relay method, and relay program
[0001] This application claims priority from Japanese Patent Application No. 2024-76526, filed May 9, 2024, the disclosure of which is incorporated herein by reference in its entirety.
[0002] Patent Document 1 (JP 2015-147446 A) discloses the following vehicle control device: That is, the vehicle control device has a plurality of unit vehicle control devices that are mounted on a vehicle and connected via a network, and a vehicle identification code that identifies the vehicle is stored in at least one unit vehicle control device, and each of the unit vehicle control devices is equipped with a node that exchanges messages with an external diagnostic device via communications, one of the nodes is designated as a representative node, and unique identification information held by the representative node is transferred to and stored as vehicle identification information by the other nodes, and in response to a vehicle identification request message sent from the diagnostic device to each of the nodes, each of the nodes replies with either a vehicle identification response message that includes the vehicle identification code and the vehicle identification information stored in each node itself, or a vehicle identification response message that does not include the vehicle identification code but includes the vehicle identification information stored in each node itself.
[0003] JP 2015-147446 A
[0004] The vehicle-mounted relay device of the present disclosure includes a relay unit that performs relay processing to relay packets that include split messages into which a message is split, where the packets are transmitted and received between functional units including functional units mounted on a vehicle, and a selection unit that can select between a first relay processing that relays the packets in the order received from the functional unit, and a second relay processing that relays multiple packets that include split messages corresponding to the same message together.
[0005] One aspect of the present disclosure can be realized not only as an in-vehicle relay device equipped with such a characteristic processing unit, but also as a semiconductor integrated circuit that realizes part or all of the in-vehicle relay device, or as a system that includes the in-vehicle relay device.
[0006] FIG. 1 is a diagram illustrating an example of a configuration of a communication system according to a first embodiment of the present disclosure. FIG. 2 is a diagram illustrating an example of a CAN frame transmitted by an on-board device in an on-board system according to an embodiment of the present disclosure. FIG. 3 is a diagram illustrating an example of an IP packet transmitted and received between an on-board relay device according to the first embodiment of the present disclosure and a diagnostic tool. FIG. 4 is a diagram illustrating an example of a configuration of an on-board relay device according to the first embodiment of the present disclosure. FIG. 5 is a diagram illustrating an example of a processing sequence of a diagnostic tool, an on-board relay device, and on-board devices in a comparative example of a communication system. FIG. 6 is a sequence illustrating an example of processing of a diagnostic tool, an on-board relay device, and on-board devices in a communication system according to the first embodiment of the present disclosure. FIG. 7 is a flowchart defining an example of an operation procedure when an on-board relay device according to the first embodiment of the present disclosure performs relay processing. FIG. 8 is a flowchart defining an example of an operation procedure when an on-board relay device according to the first embodiment of the present disclosure performs relay processing. FIG. 9 is a flowchart defining an example of an operation procedure when an on-board relay device according to the first embodiment of the present disclosure performs relay processing. FIG. 10 is a diagram illustrating an example of the configuration of a communication system according to a second embodiment of the present disclosure. FIG. 11 is a sequence illustrating an example of processing by a diagnostic tool, an in-vehicle relay device, and in-vehicle equipment in a communication system according to the second embodiment of the present disclosure. FIG. 12 is a diagram illustrating an example of the configuration of an in-vehicle relay device according to the second embodiment of the present disclosure. FIG. 13 is a diagram illustrating an example of message information stored by an in-vehicle relay device according to the second embodiment of the present disclosure. FIG. 14 is a sequence illustrating another example of processing by a diagnostic tool, an in-vehicle relay device, and in-vehicle equipment in a communication system according to the second embodiment of the present disclosure. FIG. 15 is a flowchart defining an example of an operation procedure when an in-vehicle relay device according to the second embodiment of the present disclosure performs relay processing. FIG. 16 is a flowchart defining an example of an operation procedure when an in-vehicle relay device according to the second embodiment of the present disclosure performs relay processing. FIG. 17 is a flowchart defining an example of an operation procedure when an in-vehicle relay device according to the second embodiment of the present disclosure performs relay processing.
[0007] Conventionally, an in-vehicle relay device has been developed that relays packets transmitted and received between a diagnostic tool and an in-vehicle device.
[0008] [Problem to be Solved by the Present Disclosure] For example, an in-vehicle device may divide a message into multiple packets and transmit them to a diagnostic tool or the like via an in-vehicle relay device. In this case, each time the in-vehicle relay device receives a packet containing a divided message from the in-vehicle device, it transmits the packet to the diagnostic tool. The diagnostic tool restores the message using the multiple packets received from the in-vehicle device via the in-vehicle relay device.
[0009] In this case, the diagnostic tool may be unable to identify the in-vehicle device that sent the packet. In this case, if the diagnostic tool receives a packet from the in-vehicle relay device that was sent from another in-vehicle device while sequentially receiving multiple packets from the in-vehicle relay device, it will be difficult to restore the message.
[0010] The present disclosure has been made to solve the above-mentioned problems, and its purpose is to provide an in-vehicle relay device, a relay method, and a relay program that can more reliably restore a message at the receiving end in an in-vehicle network where packets containing a fragmented message are transmitted.
[0011] Effect of the Present Disclosure According to the present disclosure, in an in-vehicle network in which packets containing a fragmented message are transmitted, the message can be more reliably restored on the receiving side.
[0012] [Description of Embodiments of the Present Disclosure] First, the contents of the embodiments of the present disclosure will be listed and described. (1) An in-vehicle relay device according to an embodiment of the present disclosure includes a relay unit that performs relay processing to relay packets that are transmitted and received between functional units including functional units mounted on a vehicle, the packets including fragmented messages obtained by fragmenting a message, and a selection unit that is capable of selecting between a first relay processing that is the relay processing that relays the packets in the order received from the functional units, and a second relay processing that is the relay processing that collectively relays multiple packets including the fragmented messages corresponding to the same message.
[0013] With this configuration, when a functional unit is sequentially relaying multiple packets from a different functional unit and there is a possibility that the other functional unit will receive a packet from the other functional unit, the second relay process can be selected as the relay process for the multiple packets. This makes it possible to prevent the relay destination from receiving another packet while sequentially receiving the multiple packets. Therefore, in an in-vehicle network where packets containing a fragmented message are transmitted, the message can be more reliably restored on the receiving side.
[0014] (2) In (1) above, the vehicle-mounted relay device may further include a judgment unit that performs a judgment process to determine the type of message corresponding to the packet received by the relay unit, and the selection unit may select the second relay process as the relay process for multiple packets corresponding to a specific message that is the message of the specific type when the type of message judged by the judgment unit is a specific type.
[0015] With this configuration, it is possible to more accurately determine whether to select the second relay process as the relay process for multiple packets corresponding to a message, depending on the type of message. Also, since multiple packets corresponding to a specific type of message can be relayed together, it is possible to more reliably prevent the relay destination of the packets from receiving other packets while the multiple packets are being sequentially received.
[0016] (3) In the above (2), if the relay unit receives a packet corresponding to another message different from the specific message before receiving all of the multiple packets including the divided messages corresponding to the same specific message, the relay unit may perform the relay processing on the packet corresponding to the other message before receiving the packet corresponding to the specific message.
[0017] With this configuration, when a packet corresponding to another message is received after a packet corresponding to a specific type of message, delays in relaying the packet corresponding to the other message can be reduced.
[0018] (4) In the above (2) or (3), the determining unit may determine the type of the message in the determining process depending on the functional unit that is the sender of the packet.
[0019] With this configuration, when a packet is received from a specific functional unit, it is possible to determine that the type of message corresponding to the packet is of a specific type, and more reliably select the second relay processing as the relay processing for the packet.
[0020] (5) In any one of (2) to (4) above, the determination unit may acquire message information indicating a list of the specific messages, and perform the determination process using the acquired message information.
[0021] With this configuration, it is possible to easily determine whether the type of message corresponding to the received packet is a specific type, using the message information.
[0022] (6) In any one of (2) to (5) above, the packet corresponding to the specific message may be the packet received by the relay unit from the functional unit via a CAN.
[0023] The data length of a CAN frame conforming to the CAN standard is shorter than the data length of an Ethernet frame conforming to other standards, such as the Ethernet (registered trademark) standard. Therefore, when a functional unit stores and transmits packets containing fragmented messages in a CAN frame, the number of packets tends to be large. In other words, at the packet relay destination, while sequentially receiving multiple packets transmitted from a certain functional unit, there is a high possibility that a packet transmitted from another functional unit will be received. With the above configuration, the packet relay destination can receive multiple packets transmitted from a certain functional unit all at once, thereby more reliably restoring the message.
[0024] (7) In the above (1), when the relay unit receives a first packet addressed to a second functional unit from a first functional unit and receives a second packet addressed to the second functional unit from a third functional unit different from the first functional unit before transmitting multiple first packets including split messages corresponding to the same message to the second functional unit, the selection unit may select the second relay process as the relay process for the first packet.
[0025] With this configuration, relay processing is performed according to the order in which packets arrive, making it easier to determine which relay processing to select, compared to a configuration in which relay processing is determined according to the type of message corresponding to the received packet.
[0026] (8) In any of (1) to (7) above, the relay unit may perform the relay processing on the packets transmitted and received between the functional unit connected to a transmission path conforming to the Ethernet standard and the functional unit connected to a transmission path conforming to the CAN standard.
[0027] The communication speed according to the CAN standard is slower than the communication speed according to the Ethernet standard. Therefore, it takes a long time to sequentially relay multiple packets transmitted from a functional unit connected to a transmission path according to the CAN standard, and there is a high possibility that a packet transmitted from another functional unit will be received while relaying multiple packets. With the above configuration, for example, when a packet is received from a functional unit connected to a transmission path according to the CAN standard, the second relay process can be selected as the relay process for the packet, thereby more reliably restoring the message in the functional unit connected to the transmission path according to the Ethernet standard.
[0028] (9) In any one of (1) to (8) above, the relay unit may perform the relay process on the packet corresponding to the message that complies with the DoIP standard.
[0029] A message conforming to the DoIP standard is exchanged between a functional unit installed in a vehicle and a diagnostic tool that performs a fault diagnosis of the functional unit. For example, the functional unit divides the message conforming to the DoIP standard into multiple packets and transmits them to the diagnostic tool. With the above configuration, the second relay process can be selected as the relay process for the multiple packets corresponding to the message, thereby enabling the diagnostic tool to more reliably restore the message.
[0030] (10) A relay method according to an embodiment of the present disclosure is a relay method in an on-board relay device, and includes a step of performing a relay process to relay packets that are transmitted and received between functional units including functional units mounted on a vehicle, the packets including split messages into which a message has been split, and a step of selecting a first relay process that is a relay process that relays the packets in the order received from the functional units, or a second relay process that is a relay process that relays multiple packets together including split messages corresponding to the same message.
[0031] With this method, when a functional unit is sequentially relaying multiple packets from a different functional unit and there is a possibility that the other functional unit will receive a packet from the other functional unit, the second relay process can be selected as the relay process for the multiple packets. This makes it possible to prevent the relay destination from receiving another packet while sequentially receiving the multiple packets. Therefore, in an in-vehicle network where packets containing a fragmented message are transmitted, the message can be more reliably restored on the receiving side.
[0032] (11) A relay program according to an embodiment of the present disclosure is a relay program used in an in-vehicle relay device, and is a program for causing a computer to function as a relay unit that performs relay processing to relay packets that include split messages into which a message is split, which are packets sent and received between functional units including functional units mounted on a vehicle, and a selection unit that can select between a first relay processing that relays the packets in the order received from the functional unit, and a second relay processing that relays multiple packets that include split messages corresponding to the same message together.
[0033] With this configuration, when a functional unit is sequentially relaying multiple packets from a different functional unit and there is a possibility that the other functional unit will receive a packet from the other functional unit, the second relay process can be selected as the relay process for the multiple packets. This makes it possible to prevent the relay destination from receiving another packet while sequentially receiving the multiple packets. Therefore, in an in-vehicle network where packets containing a fragmented message are transmitted, the message can be more reliably restored on the receiving side.
[0034] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the drawings, identical or corresponding parts are designated by the same reference numerals, and their description will not be repeated. Furthermore, at least some of the embodiments described below may be combined in any manner.
[0035] <First embodiment> [Communication system] Fig. 1 is a diagram illustrating an example of the configuration of a communication system according to a first embodiment of the present disclosure. Referring to Fig. 1, a communication system 501 includes an in-vehicle system 301 and a diagnostic tool 250. The in-vehicle system 301 is mounted on a vehicle 1. The diagnostic tool 250 is a diagnostic tool that complies with, for example, DoIP (Diagnostics over Internet Protocol), a communication standard defined in ISO 13400, and performs fault diagnosis of the in-vehicle system 301. The diagnostic tool 250 is an example of a functional unit.
[0036] The in-vehicle system 301 includes an in-vehicle relay device 101 and a plurality of in-vehicle devices 202. The in-vehicle devices 202 are an example of a functional unit.
[0037] The in-vehicle devices 202 include an in-vehicle ECU (Electronic Control Unit), a sensor, a navigation device, a human-machine interface, a camera, etc. The in-vehicle ECUs include an automatic driving ECU, an engine ECU, a steering control ECU, a brake control ECU, and a TCU (Telematics Communication Unit).
[0038] The in-vehicle relay device 101 and the plurality of in-vehicle devices 202 constitute an in-vehicle network 401. The plurality of in-vehicle devices 202 are connected to the in-vehicle relay device 101 via, for example, a CAN bus 51, which is a transmission path conforming to the CAN (Controller Area Network) standard.
[0039] 1, the in-vehicle system 301 includes in-vehicle devices 202A, 202B, 202C, and 202D that are the in-vehicle device 202. In addition, in the example shown in FIG. 1, CAN buses 51A and 51B are provided as the CAN bus 51.
[0040] The in-vehicle devices 202A and 202B are connected to the in-vehicle relay device 101 via a CAN bus 51A. The in-vehicle devices 202C and 202D are connected to the in-vehicle relay device 101 via a CAN bus 51B.
[0041] The on-board relay device 101 is, for example, a gateway device, and relays data transmitted and received between the on-board devices 202.
[0042] For example, each in-vehicle device 202 transmits a CAN frame including various information (described later) such as information for assisting the automatic driving performed by the vehicle 1 and information used for entertainment, and a CAN-ID (Identifier) indicating the type of data, to another in-vehicle device 202 or the in-vehicle relay device 101. The in-vehicle relay device 101 relays a CAN frame received from a certain in-vehicle device 202 to another in-vehicle device 202.
[0043] 2 is a diagram illustrating an example of a CAN frame transmitted by an on-board device in an on-board system according to an embodiment of the present disclosure. Referring to FIG. 2, the CAN frame includes, in this order from the beginning of the frame, a start-of-frame (SOF) field, an extension field, a control field, a data field (hereinafter also referred to as a DAT field), a cyclic redundancy check (CRC) field, an acknowledgement (ACK) field, and an end-of-frame (EOF) field.
[0044] The CONTROL field includes an IDE (Identifier Extension), a reserved bit "r", and a DLC (Data Length Code). The DLC value Na indicates the data length of the DAT field.
[0045] The in-vehicle system 301 is not limited to a configuration in which two CAN buses 51 are provided, but may be a configuration in which one CAN bus 51 or three or more CAN buses 51 are provided.
[0046] Furthermore, the on-board relay device 101 and the on-board device 202 may be configured to communicate in accordance with a communication protocol such as CAN FD (CAN with Flexible Data Rate), Ethernet, FlexRay (registered trademark), MOST (Media Oriented System Transport) (registered trademark), LIN (Local Interconnect Network), and CXPI (Clock Extension Peripheral Interface) (registered trademark), instead of or in addition to communication in accordance with the CAN standard.
[0047] (Diagnostic Tool) For example, the diagnostic tool 250 is connected to the vehicle-mounted relay device 101 via an Ethernet cable 52, which is a transmission path conforming to the Ethernet standard.
[0048] For example, IP packets are used to exchange information between the diagnostic tool 250 and the vehicle-mounted relay device 101. The IP packets are stored in Ethernet frames and transmitted.
[0049] (TCP Connection) The diagnostic tool 250 transmits and receives IP packets containing messages to and from the vehicle-mounted relay device 101 by establishing a communication connection for exchanging predetermined messages in accordance with a connection-oriented protocol.
[0050] FIG. 3 is a diagram illustrating an example of an IP packet transmitted and received between the vehicle-mounted relay device according to the first embodiment of the present disclosure and the diagnostic tool.
[0051] 3, the diagnostic tool 250 and the in-vehicle relay device 101 transmit and receive IP packets in accordance with TCP (Transmission Control Protocol) / IP. The diagnostic tool 250 and the in-vehicle relay device 101 establish a TCP connection, which is a communication connection conforming to TCP / IP, by a three-way handshake.
[0052] More specifically, the diagnostic tool 250 creates an IP packet (hereinafter also referred to as a "SYN packet") including a TCP packet with the SYN (synchronize) flag set to on in the TCP header, and transmits the created SYN packet to the vehicle-mounted relay device 101.
[0053] When the vehicle-mounted relay device 101 receives a SYN packet from the diagnostic tool 250, it creates an IP packet (hereinafter also referred to as a "SYN / ACK packet") including a TCP packet with the SYN flag and ACK flag set to on in the TCP header, and sends the IP packet including the created SYN / ACK packet to the diagnostic tool 250.
[0054] When the diagnostic tool 250 receives the SYN / ACK packet from the in-vehicle relay device 101, it creates an IP packet (hereinafter also referred to as an "ACK packet") including a TCP packet with the ACK flag in the TCP header set to ON, and transmits the created ACK packet to the in-vehicle relay device 101. This establishes a TCP connection between the diagnostic tool 250 and the in-vehicle relay device 101.
[0055] In addition, when the diagnostic tool 250 terminates the TCP connection with the vehicle-mounted relay device 101, it creates an IP packet (hereinafter also referred to as a "FIN packet") including a TCP packet with the FIN (finish) flag in the TCP header set to on, and sends the created FIN packet to the vehicle-mounted relay device 101.
[0056] When the vehicle-mounted relay device 101 receives a FIN packet from the diagnostic tool 250, it creates an IP packet (hereinafter also referred to as a "FIN / ACK packet") including a TCP packet with the FIN flag and ACK flag set to on in the TCP header, and sends the created FIN / ACK packet to the diagnostic tool 250.
[0057] When the diagnostic tool 250 receives the FIN / ACK packet from the in-vehicle relay device 101, it creates an ACK packet and transmits the created ACK packet to the in-vehicle relay device 101. This terminates the TCP connection between the diagnostic tool 250 and the in-vehicle relay device 101.
[0058] The diagnostic tool 250 transmits one or more IP packets to the destination in-vehicle device 202 via the in-vehicle relay device 101 during the connection period Tc of the TCP connection with the in-vehicle relay device 101 .
[0059] More specifically, the diagnostic tool 250 transmits a message conforming to the DoIP standard, for example, an IP packet including a request message Mr (hereinafter also referred to as a "request packet"), to the destination in-vehicle device 202 via the in-vehicle relay device 101. The request message Mr is a message indicating that the diagnostic tool 250 requests transmission of a message necessary for performing a fault diagnosis of the in-vehicle device 202. Note that the diagnostic tool 250 may be configured to multicast the request packet to multiple in-vehicle devices 202 via the in-vehicle relay device 101.
[0060] Specifically, the diagnostic tool 250 creates a request packet containing the request message Mr, the request packet containing its own IP address and the IP address of the destination in-vehicle device 202 as the source address and destination address, respectively.
[0061] Then, the diagnostic tool 250 transmits the created request packet to the vehicle-mounted relay device 101 .
[0062] [On-Vehicle Relay Device] Fig. 4 is a diagram illustrating an example of the configuration of an on-vehicle relay device according to the first embodiment of the present disclosure. Referring to Fig. 4, the on-vehicle relay device 101 includes communication ports 11 and 12, a processing unit 13, and a storage unit 14. The processing unit 13 includes a relay unit 21, a selection unit 22, and a buffer 23. The processing unit 13 is realized, for example, by a processing circuit (circuitry) including one or more processors. The storage unit 14 is, for example, a non-volatile memory included in the processing circuit.
[0063] The communication port 11 is a connector that can be connected to the CAN bus 51. In the example shown in Fig. 4, the in-vehicle relay device 101 includes communication ports 11A and 11B that are the communication ports 11. The communication port 11A is connected to a plurality of in-vehicle devices 202, such as in-vehicle devices 202A and 202B, via the CAN bus 51A. The communication port 11B is connected to a plurality of in-vehicle devices 202, such as in-vehicle devices 202C and 202D, via the CAN bus 51B.
[0064] The communication port 12 is a connector to which an Ethernet cable 52 can be connected. In the example shown in Fig. 4, the vehicle relay device 101 includes communication ports 12A and 12B, which are the communication ports 12. The communication port 12A is connected to the diagnostic tool 250 via the Ethernet cable 52.
[0065] (Relay Unit) The relay unit 21 performs a relay process of relaying data transmitted and received between devices connected to its own vehicle-mounted relay device 101 .
[0066] (a) Relay of CAN Frames More specifically, the relay unit 21 performs relay processing on CAN frames transmitted and received between the in-vehicle devices 202 .
[0067] Specifically, when the relay unit 21 receives a CAN frame from a certain in-vehicle device 202, the relay unit 21 checks whether the received CAN frame is a CAN frame that should be received by its own in-vehicle relay device 101.
[0068] For example, the storage unit 14 stores a reception list indicating the CAN-IDs included in the CAN frames that should be received by the vehicle-mounted relay device 101. The reception list is registered in the storage unit 14 by the manufacturer of the vehicle 1, for example, when the vehicle 1 is shipped.
[0069] When the relay unit 21 receives a CAN frame, it refers to the reception list in the storage unit 14 to check whether the CAN-ID included in the CAN frame is registered in the reception list.
[0070] For example, if the CAN-ID included in a received CAN frame is not registered in the reception list, the relay unit 21 discards the CAN frame.
[0071] For example, storage unit 14 stores a routing table indicating the correspondence between CAN-IDs and CAN buses 51 (hereinafter also referred to as "destination buses") to which on-board devices 202 to which CAN frames are to be transmitted are connected. The routing table is registered in storage unit 14 by the manufacturer of vehicle 1, for example, when vehicle 1 is shipped.
[0072] When the CAN-ID included in a CAN frame received from in-vehicle device 202 is registered in the reception list, relay unit 21 identifies the destination bus corresponding to the CAN-ID by referring to the routing table in storage unit 14. Then, relay unit 21 outputs the CAN frame to the identified destination bus.
[0073] (b) Relaying of IP packets The relay unit 21 also performs relay processing for IP packets transmitted and received between the diagnostic tool 250 connected to the Ethernet cable 52 and the in-vehicle equipment 202 connected to the CAN bus 51, for example, relay processing for IP packets corresponding to messages conforming to the DoIP standard.
[0074] Specifically, for example, when the relay unit 21 receives a request packet from the diagnostic tool 250, the relay unit 21 identifies the destination bus corresponding to the destination address included in the received request packet.
[0075] For example, storage unit 14 stores a correspondence table indicating the correspondence between IP addresses and CAN-IDs. The correspondence table is registered in storage unit 14 by the manufacturer of vehicle 1 when vehicle 1 is shipped, for example.
[0076] When the relay unit 21 receives an Ethernet frame containing a request packet from the diagnostic tool 250, it refers to the correspondence table in the memory unit 14 to identify the CAN-ID corresponding to the IP address of the in-vehicle device 202 contained in the request packet.
[0077] The relay unit 21 then acquires a request packet from the received Ethernet frame and creates a CAN frame that includes the acquired request packet. For example, the relay unit 21 stores the acquired request packet in the DAT field of the CAN frame. The relay unit 21 also stores the identified CAN-ID in an extension field of the CAN frame. In the following description, the CAN frame that stores the request packet is also referred to as a request frame.
[0078] For example, when the relay unit 21 creates a request frame, it identifies the destination bus corresponding to the CAN-ID stored in the request frame by referring to the routing table in the storage unit 14. Then, the relay unit 21 outputs the created request frame to the destination bus.
[0079] [Response Packet] Referring again to Figure 1, when the in-vehicle equipment 202 receives a request frame from the in-vehicle relay device 101, it transmits a response packet in response to the request packet stored in the received request frame to the diagnostic tool 250 via the in-vehicle relay device 101.
[0080] More specifically, when the in-vehicle device 202 receives a request frame from the in-vehicle relay device 101, the in-vehicle device 202 creates a message Md conforming to the DoIP standard based on the request packet stored in the received request frame. The message Md is a message required for the diagnostic tool 250 to perform a fault diagnosis of the in-vehicle device 202.
[0081] After creating the message Md, the in-vehicle device 202 divides the created message Md. In the following description, each of the divided messages Md is also referred to as a divided message.
[0082] After dividing the message Md into a plurality of divided messages, the in-vehicle device 202 sequentially transmits a plurality of response packets, each including one of the divided messages, to the in-vehicle relay device 101 .
[0083] When the in-vehicle device 202 sequentially transmits multiple response packets to the in-vehicle relay device 101, the first response packet it transmits includes data length information D indicating the data length of the message Md. Each response packet is stored in a CAN frame and transmitted. In the following description, the CAN frame in which the response packet is stored is also referred to as the response frame.
[0084] Referring again to FIG. 4, in the vehicle relay device 101, each time the relay unit 21 receives a response frame from the vehicle equipment 202, it transmits an Ethernet frame including the response packet stored in the response frame to the diagnostic tool 250.
[0085] Specifically, for example, when relay unit 21 receives a response frame from in-vehicle device 202, relay unit 21 acquires a response packet from the received response frame. Then, relay unit 21 transmits an Ethernet frame including the acquired response packet and the DLC value Na in the response frame to diagnostic tool 250. The response packet and the value Na are stored in the payload of the Ethernet frame, for example.
[0086] When the diagnostic tool 250 receives an Ethernet frame containing the first response packet from the vehicle-mounted relay device 101, it checks the data length Lm of the message Md indicated by the data length information D contained in the response packet and the value Na contained in the Ethernet frame.
[0087] Then, the diagnostic tool 250 performs a calculation process F1 to calculate the number B of response packets corresponding to the message Md using the data length Lm of the message Md and the value Na. For example, the diagnostic tool 250 calculates the number B by dividing the data length Lm by the value Na.
[0088] The diagnostic tool 250 determines that the calculated number B is the number of response packets necessary to restore the message Md.
[0089] [Description of the Problem] FIG. 5 is a diagram showing an example of a sequence of processes performed by a diagnostic tool, an in-vehicle relay device, and in-vehicle equipment in a comparative example of a communication system.
[0090] Referring to Figure 5, first, in a comparative example of a communication system, when a communication connection with the vehicle-mounted relay device 111 is established (step S1), the diagnostic tool 251 transmits a request packet P1, which is a request packet addressed to the vehicle-mounted equipment 202A, to the vehicle-mounted relay device 111 (step S2).
[0091] Next, when the in-vehicle relay device 111 receives the request packet P1 from the diagnostic tool 251, it transmits the received request packet P1 to the in-vehicle device 202A (step S3).
[0092] Next, the diagnostic tool 251 transmits a request packet P2, which is a request packet addressed to the in-vehicle device 202B, to the in-vehicle relay device 111 (step S4).
[0093] Next, when the in-vehicle relay device 111 receives the request packet P2 from the diagnostic tool 251, it transmits the received request packet P2 to the in-vehicle device 202B (step S5).
[0094] Next, when the on-board device 202A receives the request packet P1 from the on-board relay device 111, it creates a message Md1, which is the message Md, based on the received request packet P1. Then, the on-board device 202A transmits a first response packet P3 containing divided messages Me1 obtained by dividing the message Md1 to the on-board relay device 111 (step S6). In the example shown in Figure 5, the on-board device 202A divides the message Md1 into four response packets P3 and transmits them. In Figure 5, the response packets P3 are indicated by rectangles hatched with diagonal lines.
[0095] Next, when the in-vehicle relay device 111 receives the first response packet P3 from the in-vehicle device 202A, it transmits the received response packet P3 to the diagnostic tool 251 (step S7).
[0096] Next, when the diagnostic tool 251 receives the first response packet P3 from the vehicle-mounted relay device 111, it checks the data length Lm of the message Md1 indicated by the data length information D included in the response packet P3. The diagnostic tool 251 also checks the value Na in the payload of the Ethernet frame in which the response packet P3 is stored. The diagnostic tool 251 then performs calculation processing F1 using the data length Lm and the value Na. Here, it is assumed that the diagnostic tool 251 determines that four response packets are required to restore the message Md1 (step S8).
[0097] Next, the in-vehicle device 202A transmits a second response packet P3 to the in-vehicle relay device 111 (step S9).
[0098] Next, when the in-vehicle relay device 111 receives the second response packet P3 from the in-vehicle device 202A, it transmits the received response packet P3 to the diagnostic tool 251 (step S10).
[0099] Furthermore, when the on-board device 202B receives the request packet P2 from the on-board relay device 111, it creates a message Md2, which is the message Md, based on the received request packet P2. Then, the on-board device 202B transmits a first response packet P4, which includes divided messages Me2 obtained by dividing the message Md2, to the on-board relay device 111 (step S11). In the example shown in Figure 5, the on-board device 202B divides the message Md2 into three response packets P4 and transmits them. In Figure 5, the response packets P4 are indicated by rectangles with grid-like hatching.
[0100] Next, when the in-vehicle relay device 111 receives the first response packet P4 from the in-vehicle device 202B, it transmits the received response packet P4 to the diagnostic tool 251 (step S12).
[0101] Next, the on-board device 202A transmits the third response packet P3 from the on-board device 202A to the on-board relay device 111 (step S13).
[0102] Next, when the in-vehicle relay device 111 receives the third response packet P3 from the in-vehicle device 202A, it transmits the received response packet P3 to the diagnostic tool 251 (step S14).
[0103] In the example shown in FIG. 5, the diagnostic tool 251 receives the first response packet P4 during the period from when the diagnostic tool 251 receives the second response packet P3 to when the diagnostic tool 251 receives the third response packet P3.
[0104] Here, the diagnostic tool 251 may be unable to identify the in-vehicle device 202 that is the sender of the response packet. In this case, the diagnostic tool 250 may erroneously determine that the first response packet P4 received from the in-vehicle relay device 101 is the third response packet P3.
[0105] The diagnostic tool 250 then erroneously determines that the third response packet P3 received from the in-vehicle relay device 101 is the fourth response packet P3. In this case, three response packets P3 and one response packet P4 are mixed together, so the diagnostic tool 251 cannot restore the message Md1, and the fault diagnosis of the in-vehicle device 202A may fail.
[0106] Therefore, the communication system 501 according to the first embodiment of the present disclosure solves the above problem by the following configuration and operation.
[0107] [Response Frame] Referring back to FIG. 1, for example, a storage unit (not shown) in the in-vehicle device 202 stores identification information (hereinafter also referred to as a "message ID") for identifying the message Md.
[0108] After dividing the message Md into a plurality of divided messages, the in-vehicle device 202 creates a response packet including each divided message.
[0109] The on-board device 202 then sequentially transmits the created response packets to the on-board relay device 101. In this case, the on-board device 202 stores the message ID stored in its own memory in the DAT field of the response frame in which the response packet is stored. The on-board device 202 also stores a packet number indicating the order in which the response packet is transmitted in the DAT field. The on-board device 202 also stores the DoIP destination address and source address in the extension field of the response frame.
[0110] [On-vehicle relay device] (Relay unit) When the relay unit 21 receives a response frame from the on-vehicle device 202, the relay unit 21 stores the received response frame in the buffer 23. Then, the relay unit 21 checks whether the packet number in the response frame is 1, i.e., whether the response frame includes the first response packet.
[0111] If the packet number in the received response frame is 1, the relay unit 21 checks the data length Lm indicated by the data length information D contained in the response packet stored in the response frame and the DLC value Na in the response frame.
[0112] Then, the relay unit 21 performs a calculation process F2 to calculate the number B of response packets corresponding to the message Md using the data length Lm of the message Md and the value Na. Here, for example, the content of the calculation process F2 is the same as the content of the calculation process F1 in the diagnostic tool 250. That is, the relay unit 21 calculates the number B by dividing the data length Lm by the value Na.
[0113] After calculating the number B, the relay unit 21 stores in the storage unit 14 a set W of the number B and the message ID stored in the response frame stored in the buffer 23 .
[0114] After storing the set W in the memory unit 14, the relay unit 21 outputs to the selection unit 22 a reception notification Q1 indicating that a response frame including the first response packet has been received and the message ID stored in the response frame.
[0115] On the other hand, if the packet number in the received response frame is 2 or greater, the relay unit 21 does not perform calculation process F2, but outputs to the selection unit 22 a reception notification Q2 indicating that a response packet including the second or subsequent response packet has been received, as well as the message ID and packet number stored in the response frame.
[0116] (Selection Unit) The selection unit 22 can select between a relay process (hereinafter also referred to as "relay process C1") that relays response packets in the order in which they are received from the in-vehicle device 202, and a relay process (hereinafter also referred to as "relay process C2") that collectively relays multiple response packets including divided messages corresponding to the same message Md. The relay process C1 is an example of a first relay process. The relay process C2 is an example of a second relay process.
[0117] More specifically, for example, when a predetermined condition A is satisfied, the selection unit 22 selects relay processing C2 as the relay processing for a response packet P3 sent from a certain in-vehicle device 202. For example, condition A is a case where the relay unit 21 receives a response packet P3 addressed to the diagnostic tool 250 from a certain in-vehicle device 202, and receives a response packet P4 addressed to the diagnostic tool 250 from another in-vehicle device 202 before transmitting to the diagnostic tool 250 multiple response packets P3 including divided messages corresponding to the same message Md.
[0118] (a1) When the relay unit 21 receives the first response packet For example, when the selection unit 22 receives a reception notification Q1 from the relay unit 21, it checks whether a set W corresponding to another message ID (hereinafter also referred to as "message ID-B") different from the message ID (hereinafter also referred to as "message ID-A") indicated by the reception notification Q1 is stored in the memory unit 14.
[0119] If the set W corresponding to the message ID-B is not stored in the storage unit 14, the selection unit 22 selects the relay process C1 as the relay process for the response packet corresponding to the message ID-A. Then, the selection unit 22 outputs to the relay unit 21 a transmission request notification R11 indicating a request to transmit the response packet corresponding to the message ID-A.
[0120] When the relay unit 21 receives the transmission request notification R11 from the selector 22, it transmits a response packet corresponding to the message ID-A to the diagnostic tool 250. Specifically, the relay unit 21 acquires the response packet from the response frames stored in the buffer 23. Then, the relay unit 21 transmits an Ethernet frame including the acquired response packet to the diagnostic tool 250.
[0121] On the other hand, if the set W corresponding to the message ID-B is stored in the storage unit 14, the selection unit 22 selects the relay process C2 as the relay process for the multiple response packets corresponding to the message ID-B.
[0122] Specifically, when the set W corresponding to the message ID-B is stored in the storage unit 14, the selection unit 22 determines to suspend transmission of the multiple response packets corresponding to the message ID-A to the diagnostic tool 250 until all of the multiple response packets corresponding to the message ID-B are transmitted to the diagnostic tool 250. Then, the selection unit 22 stores in the storage unit 14 transmission suspension information indicating that the message ID-A is the message ID (hereinafter also referred to as the "transmission suspension ID") corresponding to the response packet whose transmission is to be suspended.
[0123] After storing the transmission suspension information in the storage unit 14, the selection unit 22 outputs to the relay unit 21 a suspension request notification R21 indicating a request to suspend transmission of the response packet and the message ID-A.
[0124] When the relay unit 21 receives the hold request notification R21 from the selector unit 22, it holds back the transmission of the response packet corresponding to the message ID-A indicated in the hold request notification R21.
[0125] The in-vehicle repeater 101 may be configured to determine whether to perform relay processing C2 on a response packet corresponding to message ID-A, depending on the destination of the response packet. For example, if the diagnostic tool 250 to which the response packet is addressed can determine the in-vehicle device 202 that is the sender of the response packet, the in-vehicle repeater 101 may be configured not to perform relay processing C2 on the response packet, i.e., not to suspend transmission of the response packet, but to perform relay processing C1 on the response packet.
[0126] (a2) When the relay unit 21 receives the second or subsequent response packet, when the selection unit 22 receives the reception notification Q2 from the relay unit 21, it checks whether the message ID indicated in the reception notification Q2 is registered in the transmission hold information in the memory unit 14.
[0127] If the message ID indicated by the reception notification Q2 is registered in the transmission hold information, the selection unit 22 outputs a hold request notification R22 to the relay unit 21, indicating a request to hold the transmission of the response packet and the message ID.
[0128] When the relay unit 21 receives the hold request notification R22 from the selector 22, it holds back the transmission of the response packet corresponding to the message ID indicated in the hold request notification R22.
[0129] On the other hand, if the message ID indicated by the reception notification Q2 is not registered in the transmission pending information, the selection unit 22 compares the number B (hereinafter also referred to as ``number B1'') in the set W stored in the memory unit 14 that corresponds to the message ID with the packet number (hereinafter also referred to as ``packet number Nb'') indicated by the reception notification Q2.
[0130] If the number B1 and the packet number Nb are the same, the selection unit 22 determines that the relay unit 21 has received all of the multiple response packets corresponding to the message ID indicated in the reception notification Q2. Then, the selection unit 22 deletes the set W corresponding to the message ID from the storage unit 14. The selection unit 22 also outputs the message ID and confirmation result information K1 indicating that the relay unit 21 has received all of the multiple response packets to the relay unit 21.
[0131] When the relay unit 21 receives the confirmation result information K1 from the selector 22, it transmits a response packet corresponding to the message ID indicated by the confirmation result information K1 to the diagnostic tool 250. Then, the relay unit 21 transmits one or more response packets that have been saved in the buffer 23 and whose transmission has been suspended to the diagnostic tool 250.
[0132] On the other hand, if the number B1 and the packet number Nb are different, the selector 22 determines that, among the multiple response packets corresponding to the message ID indicated by the reception notification Q2, there is a packet that has not yet been received by the relay unit 21. Then, the selector 22 outputs to the relay unit 21 a transmission request notification R12 indicating a request to transmit a response packet corresponding to the message ID and the message ID.
[0133] When the relay unit 21 receives the transmission request notification R12 from the selector 22, it transmits to the diagnostic tool 250 a response packet corresponding to the message ID indicated in the transmission request notification R12.
[0134] FIG. 6 is a sequence illustrating an example of processing by the diagnostic tool, the in-vehicle relay device, and the in-vehicle device in the communication system according to the first embodiment of the present disclosure.
[0135] 6, the processes from step S21 to step S31 are similar to the processes from step S1 to step S11 shown in FIG.
[0136] Next, when the in-vehicle relay device 101 receives the first response packet P4 from the in-vehicle device 202B, it stores the received response packet P4 in the buffer 23 and calculates the number of response packets P4 to be transmitted from the in-vehicle device 202B. Here, the in-vehicle relay device 101 determines that the number B of response packets P4 is 3. Then, the in-vehicle relay device 101 determines that the type of message Md2 corresponding to the response packet P4 is different from the type of message Md1 corresponding to the response packet P3 (step S32).
[0137] Next, if the in-vehicle relay device 101 determines that the type of message Md2 is different from the type of message Md1, it suspends transmission of response packet P4 until it transmits the fourth response packet P3 to the diagnostic tool 250 (step S33).
[0138] Next, the in-vehicle device 202A transmits the third response packet P3 to the in-vehicle relay device 101 (step S34).
[0139] Next, when the in-vehicle relay device 101 receives the third response packet P3 from the in-vehicle device 202A, it transmits the received response packet P3 to the diagnostic tool 250 (step S35).
[0140] Next, the in-vehicle device 202A transmits the fourth response packet P3 to the in-vehicle relay device 101 (step S36).
[0141] Next, when the in-vehicle relay device 101 receives the fourth response packet P3 from the in-vehicle device 202A, it transmits the received response packet P3 to the diagnostic tool 250 (step S37).
[0142] Next, the diagnostic tool 250 restores the message Md1 using the four received response packets P3 (step S38).
[0143] Next, since the in-vehicle relay device 101 has completed transmission of the four response packets P13, it transmits the first response packet P4 stored in the buffer 23 to the diagnostic tool 250 (step S39).
[0144] Next, when the diagnostic tool 250 receives the first response packet P4 from the vehicle-mounted relay device 111, it checks the data length Lm of the message Md2 indicated by the data length information D included in the response packet P4. The diagnostic tool 251 also checks the value Na in the payload of the Ethernet frame in which the response packet P4 is stored. The diagnostic tool 251 then performs calculation processing F1 using the data length Lm and the value Na. Here, it is assumed that the diagnostic tool 251 determines that three response packets are required to restore the message Md2 (step S40).
[0145] Next, the in-vehicle device 202B transmits a second response packet P4 to the in-vehicle relay device 101 (step S41).
[0146] Next, when the in-vehicle relay device 101 receives the second response packet P4 from the in-vehicle device 202B, it transmits the received response packet P4 to the diagnostic tool 250 (step S42).
[0147] Next, the in-vehicle device 202B transmits the third response packet P4 to the in-vehicle relay device 101 (step S43).
[0148] Next, when the in-vehicle relay device 101 receives the third response packet P4 from the in-vehicle device 202B, it transmits the received response packet P4 to the diagnostic tool 250 (step S44).
[0149] Next, the diagnostic tool 250 restores the message Md2 using the three received response packets P4 (step S45).
[0150] [Operation Flow] Next, the operation flow of the vehicle-mounted relay device according to the first embodiment of the present disclosure will be described with reference to the drawings.
[0151] 7 to 9 are flowcharts defining an example of an operation procedure when the vehicle-mounted relay device according to the first embodiment of the present disclosure performs relay processing.
[0152] 7 to 9, first, when a TCP connection is established with the diagnostic tool 250 (YES in step S201), the vehicle-mounted relay device 101 waits for reception of a request packet from the diagnostic tool 250 (NO in step S202).
[0153] When the in-vehicle relay device 101 receives the request packet from the diagnostic tool 250 (YES in step S202), the in-vehicle relay device 101 transmits the received request packet to the destination in-vehicle device 202 (step S203).
[0154] Next, the vehicle-mounted relay device 101 waits for reception of a response packet from the vehicle-mounted device 202 (NO in step S204).
[0155] Next, when the in-vehicle relay device 101 receives a response packet from the in-vehicle device 202 (YES in step S204), it checks whether the packet number Nb corresponding to the received response packet is 1 (step S205).
[0156] Then, if the packet number Nb corresponding to the received response packet is 1 (YES in step S205), the vehicle relay device 101 performs calculation process F2 to calculate the number B of response packets sent from the vehicle equipment 202 (step S206).
[0157] Next, the vehicle-mounted relay device 101 stores a set W of the calculated number B of response packets and the message ID-A that is the message ID corresponding to the response packet in the storage unit 14 (step S207).
[0158] Next, the vehicle-mounted relay device 101 checks whether a set W corresponding to a message ID-B, which is a message ID different from the message ID-A, is stored in the storage unit 14 (step S208).
[0159] Then, if the set W corresponding to message ID-B is stored in the memory unit 14 (YES in step S208), the vehicle relay device 101 selects relay process C2 as the relay process for the response packet corresponding to message ID-B (step S209).
[0160] Next, the vehicle relay device 101 stores in the storage unit 14 transmission suspension information indicating that the message ID-A is a transmission suspension ID (step S210), and waits for the reception of a new response packet (NO in step S204).
[0161] On the other hand, if the set W corresponding to message ID-B is not stored in the memory unit 14 (NO in step S208), the vehicle relay device 101 sends the received response packet corresponding to message ID-A to the diagnostic tool 250 (step S211) and waits to receive a new response packet (NO in step S204).
[0162] If the packet number Nb corresponding to the received response packet is 2 or more (NO in step S205), the in-vehicle relay device 101 checks whether the message ID corresponding to the response packet is a transmission hold ID. For example, as described above, the in-vehicle relay device 101 checks whether the message ID is registered in the transmission hold information in the memory unit 14 (step S212).
[0163] If the message ID corresponding to the received response packet is a transmission hold ID (YES in step S212), the vehicle relay device 101 holds off on sending the response packet (step S213) and waits to receive a new response packet (NO in step S204).
[0164] On the other hand, if the message ID corresponding to the received response packet is not a transmission pending ID (NO in step S212), the vehicle relay device 101 checks whether the response packet is the last response packet (hereinafter also referred to as the "final response packet") sent from the device that sent the response packet (step S214).
[0165] If the received response packet is not the final response packet sent from the device that sent the response packet (NO in step S214), the vehicle relay device 101 sends the response packet to the diagnostic tool 250 (step S215) and waits to receive a new response packet (NO in step S204).
[0166] On the other hand, if the received response packet is the final response packet sent from the device that sent the response packet (YES in step S214), the vehicle relay device 101 deletes the set W corresponding to the response packet from the memory unit 14 (step S216).
[0167] Next, the vehicle-mounted relay device 101 transmits the received final response packet to the diagnostic tool 250 (step S217).
[0168] Next, the vehicle relay device 101 transmits one or more response packets that have been held for transmission and are stored in the buffer 23 to the diagnostic tool 250 (step S218), and waits to receive a new request packet (NO in step S202).
[0169] In the communication system 501 according to the first embodiment of the present disclosure, the in-vehicle relay device 101 is configured to select relay processing C1 or relay processing C2 as the relay processing for IP packets transmitted and received between the diagnostic tool 250 connected to the Ethernet cable 52 and the in-vehicle devices 202 connected to the CAN bus 51, but this is not limited to this. The in-vehicle relay device 101 may be configured to select relay processing C1 or relay processing C2 as the relay processing for IP packets transmitted and received between the in-vehicle devices 202.
[0170] In addition, in the communication system 501 according to the first embodiment of the present disclosure, the in-vehicle repeater 101 is configured to relay IP packets containing fragmented messages obtained by dividing a message Md conforming to the DoIP standard, but this is not limited to this. The in-vehicle repeater 101 may also be configured to relay IP packets containing fragmented messages obtained by dividing a message conforming to another standard.
[0171] Next, other embodiments of the present disclosure will be described with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals and their description will not be repeated.
[0172] <Second embodiment> In the first embodiment of the present disclosure described above, when the in-vehicle relay device 101 receives a response packet from another in-vehicle device 202 while transmitting multiple response packets received sequentially from the other in-vehicle device 202 to the diagnostic tool 250, the in-vehicle relay device 101 performs relay processing C2 on the multiple response packets. In contrast, in the second embodiment of the present disclosure, the in-vehicle relay device 102 performs relay processing C2 on a response packet corresponding to a specific type of message. Other than the contents described below, the communication system 501 is the same as the communication system 501 according to the first embodiment.
[0173] 10 is a diagram illustrating an example of a configuration of a communication system according to the second embodiment of the present disclosure. Referring to FIG. 10, a communication system 501 includes an in-vehicle system 302 and a diagnostic tool 250.
[0174] 1, the in-vehicle system 302 includes an in-vehicle repeater 102 instead of the in-vehicle repeater 101. Moreover, the in-vehicle system 302 further includes an in-vehicle device 202E, which is the in-vehicle device 202, compared to the in-vehicle system 301 shown in FIG.
[0175] The communication port 12B of the vehicle-mounted relay device 102 is connected to the vehicle-mounted device 202E via an Ethernet cable 52.
[0176] FIG. 11 is a sequence illustrating an example of processing by the diagnostic tool, the in-vehicle relay device, and the in-vehicle device in the communication system according to the second embodiment of the present disclosure.
[0177] Referring to Figure 11, first, when a communication connection with the vehicle-mounted relay device 102 is established (step S51), the diagnostic tool 250 transmits a request packet P11, which is a request packet addressed to the vehicle-mounted equipment 202A, to the vehicle-mounted relay device 102 (step S52).
[0178] Next, when the in-vehicle relay device 102 receives the request packet P1 from the diagnostic tool 250, it transmits the received request packet P11 to the in-vehicle device 202A (step S53).
[0179] Next, the diagnostic tool 250 transmits a request packet P12, which is a request packet addressed to the in-vehicle device 202E, to the in-vehicle relay device 102 (step S54).
[0180] Next, when the in-vehicle relay device 102 receives the request packet P12 from the diagnostic tool 250, it transmits the received request packet P12 to the in-vehicle device 202E (step S55).
[0181] Next, when the on-board device 202A receives the request packet P11 from the on-board relay device 102, it creates a message Md11, which is the message Md, based on the received request packet P11. Then, the on-board device 202A transmits a first response packet P13 including divided messages Me11 obtained by dividing the message Md11 to the on-board relay device 111 (step S56). In the example shown in Figure 11, the on-board device 202A divides the message Md11 into four response packets P13 and transmits them. In Figure 11, the response packets P13 are indicated by rectangles hatched with diagonal lines.
[0182] Next, when the in-vehicle relay device 102 receives the first response packet P13 from the in-vehicle device 202A, it calculates the number B of response packets P13 to be transmitted from the in-vehicle device 202A using the data length information D included in the response packet P13 and the DLC value Na in the response frame in which the response packet P13 is stored. Here, the in-vehicle relay device 102 determines that the number B is 4. Then, the in-vehicle relay device 102 transmits the received first response packet P13 to the diagnostic tool 250 (step S57).
[0183] Next, when the diagnostic tool 250 receives the first response packet P13 from the in-vehicle relay device 102, it checks the data length Lm of the message Md11 indicated by the data length information D included in the response packet P13. The diagnostic tool 250 also checks the value Na in the payload of the Ethernet frame in which the response packet P13 is stored. The diagnostic tool 250 then performs calculation process F1 using the data length Lm and the value Na. Here, it is assumed that the diagnostic tool 250 determines that four response packets are required to restore the message Md11 (step S58).
[0184] Furthermore, when the on-board device 202E receives the request packet P12 from the on-board relay device 102, it creates a message Md12, which is the message Md, based on the received request packet P12. Then, the on-board device 202E transmits a first response packet P14 including divided messages Me12 obtained by dividing the message Md12 to the on-board relay device 102 (step S59). In the example shown in Figure 11, the on-board device 202E divides the message Md12 into two response packets P14 and transmits them. In Figure 11, the response packets P14 are indicated by rectangles with grid-like hatching.
[0185] Next, when the in-vehicle relay device 102 receives the first response packet P14 from the in-vehicle device 202E, it uses the data length information D included in the response packet P13 and the DLC value Na in the response frame in which the response packet P13 is stored to store the received response packet P14 in the buffer 23 and calculate the number of response packets P14 to be transmitted from the in-vehicle device 202E. Here, the in-vehicle relay device 102 determines that the number of response packets P14 is two. Then, the in-vehicle relay device 102 determines that the type of message Md12 corresponding to the response packet P14 is different from the type of message Md11 corresponding to the response packet P13 (step S60).
[0186] Next, when the vehicle relay device 102 determines that the type of the message Md12 is different from the type of the message Md11, it suspends transmission of the response packet P14 until it transmits the fourth response packet P13 to the diagnostic tool 250 (step S61).
[0187] Next, the in-vehicle device 202A sequentially transmits the second, third, and fourth response packets P13 to the in-vehicle relay device 102 (steps S62, S64, and S66).
[0188] Next, the vehicle relay device 102 sequentially receives the second, third, and fourth response packets P13 from the vehicle equipment 202A, and sequentially transmits the received second, third, and fourth response packets P13 to the diagnostic tool 250 (steps S63, S65, and S67).
[0189] Next, the diagnostic tool 250 restores the message Md11 using the four response packets P13 received from the vehicle-mounted relay device 102 (step S68).
[0190] Next, since the in-vehicle relay device 102 has completed transmission of the four response packets P13, it transmits the first response packet P14 stored in the buffer 23 to the diagnostic tool 250 (step S69).
[0191] Next, when the diagnostic tool 250 receives the first response packet P14 from the vehicle-mounted relay device 102, it checks the data length Lm of the message Md12 indicated by the data length information D included in the response packet P14. The diagnostic tool 250 also checks the value Na in the payload of the Ethernet frame in which the response packet P14 is stored. The diagnostic tool 250 then performs calculation process F1 using the data length Lm and the value Na. Here, it is assumed that the diagnostic tool 250 determines that two response packets are required to restore the message Md12 (step S70).
[0192] Next, the in-vehicle device 202E transmits the second response packet P14 to the in-vehicle relay device 102 (step S71).
[0193] Next, when the in-vehicle relay device 102 receives the second response packet P14 from the in-vehicle device 202E, the in-vehicle relay device 102 transmits the received response packet P14 to the diagnostic tool 250 (step S72).
[0194] Next, the diagnostic tool 250 restores the message Md12 using the two response packets P14 received from the vehicle-mounted relay device 102 (step S73).
[0195] 11 , the in-vehicle relay device 102, like the in-vehicle relay device 101 according to the first embodiment of the present disclosure, suspends transmission of the response packet P14 until all four response packets P13 have been transmitted to the diagnostic tool 250. As described above, the response packet P13 and the response packet P14 are response packets transmitted from the in-vehicle device 202A connected to the CAN bus 51A and the in-vehicle device 202E connected to the Ethernet cable 52, respectively.
[0196] The communication speed according to the CAN standard is slower than the communication speed according to the Ethernet standard. Therefore, if the in-vehicle relay device 102 suspends transmission of the response packet P14 until it transmits four response packets P13 to the diagnostic tool 250, the time required to complete transmission of the four response packets P13 is long, and therefore the time for which transmission of the response packet P14 is suspended is also long. In other words, there is a problem in that the time for which communication between the diagnostic tool 250 and the in-vehicle device 202E is hindered becomes long.
[0197] Therefore, the communication system 502 according to the second embodiment of the present disclosure solves the above problem by the following configuration and operation.
[0198] [On-board relay device] Fig. 12 is a diagram illustrating an example of the configuration of an on-board relay device according to a second embodiment of the present disclosure. Referring to Fig. 12, compared to the on-board relay device 101 shown in Fig. 4, the on-board relay device 102 includes a processing unit 113 instead of the processing unit 13. Compared to the processing unit 13 shown in Fig. 4, the processing unit 113 further includes a determination unit 24. The processing unit 113 is realized, for example, by a processing circuit including one or more processors. The storage unit 14 is, for example, a non-volatile memory included in the processing circuit.
[0199] If the packet number in the response frame received from the in-vehicle equipment 202 is 1, the relay unit 21 stores the set W in the memory unit 14 and outputs to the judgment unit 24 a reception notification Q11 indicating that a response frame including the first response packet has been received, as well as the message ID and sender address stored in the response frame.
[0200] On the other hand, if the packet number in the response frame received from the in-vehicle equipment 202 is 2 or more, the relay unit 21 outputs to the selection unit 22 a reception notification Q12 indicating that a response packet including the second or subsequent response packet has been received, and indicating the message ID and packet number stored in the response frame.
[0201] FIG. 13 is a diagram illustrating an example of message information stored by the vehicle-mounted relay device according to the second embodiment of the present disclosure.
[0202] Referring to FIG. 13, for example, storage unit 14 stores message information L indicating a list of messages of a particular type (hereinafter also referred to as "particular messages").
[0203] More specifically, for example, the message information L indicates a correspondence relationship between the type of message, the message ID, and the in-vehicle device 202 that is the sender of the response packet (hereinafter also referred to as the "sender device"). The message information L is registered in the storage unit 14 by the manufacturer of the vehicle 1, for example, when the vehicle 1 is shipped.
[0204] For example, a response packet corresponding to a specific message is a response packet that the relay unit 21 received from a specific in-vehicle device 202 via the CAN. Specifically, in the message information L shown in FIG. 13, "message Md11" and "message Md14" are registered as specific messages. The message ID of message Md11 and the source device corresponding to message Md11 are "0x10" and "in-vehicle device 202A," respectively. The message ID of message Md14 and the source device of the response packet corresponding to message Md14 are "0x15" and "in-vehicle device 202D," respectively. Here, a number beginning with "0x" means that the numbers following "0x" are expressed in hexadecimal.
[0205] 12 , for example, storage unit 14 stores an address table indicating the correspondence between a source device and a source address. The address table is registered in storage unit 14 by the manufacturer of vehicle 1, for example, when vehicle 1 is shipped.
[0206] For example, when the determining unit 24 receives a reception notification Q11 from the relay unit 21, it refers to the address table in the storage unit 14 to identify the source device corresponding to the source address indicated in the reception notification Q11.
[0207] (Determination Process) For example, the determination unit 24 performs a determination process to determine the type of message corresponding to the response packet received by the relay unit 21 .
[0208] More specifically, for example, the determination unit 24 acquires message information L and performs a determination process using the acquired message information L. In the determination process, the determination unit 24 determines the type of message depending on the sending device.
[0209] Specifically, for example, when the determination unit 24 identifies a source device corresponding to the source address indicated in the reception notification Q11 received from the relay unit 21, the determination unit 24 reads message information L from the storage unit 14. Then, the determination unit 24 checks whether the message ID indicated in the reception notification Q11 and the set Y of the identified source device are registered in the message information L.
[0210] If the set Y is not registered in the message information L, the determination unit 24 determines that the response packet stored in the buffer 23 does not include a divided message corresponding to the specific message. Then, the determination unit 24 outputs to the selection unit 22 the message ID indicated in the reception notification received from the relay unit 21 and determination result information H1 indicating that the message Md corresponding to the message ID is not the specific message.
[0211] When the selection unit 22 receives the determination result information H1 from the determination unit 24, the selection unit 22 selects the relay process C1 as the relay process for the response packet corresponding to the message ID indicated by the determination result information H1. Then, the selection unit 22 outputs a transmission request notification R31 to the relay unit 21, which indicates a request to transmit a response packet corresponding to the message ID and the message ID.
[0212] When the relay unit 21 receives the transmission request notification R31 from the selector 22, it transmits the response packet stored in the buffer 23 to the diagnostic tool 250.
[0213] On the other hand, if the set Y is registered in the message information L, the determination unit 24 determines that the response packet stored in the buffer 23 includes a divided message corresponding to the specific message. Then, the determination unit 24 outputs to the selection unit 22 the message ID indicated in the reception notification received from the relay unit 21 and determination result information H2 indicating that the message Md corresponding to the message ID is the specific message.
[0214] (Selection Unit) For example, when the type of message determined by the determination unit 24 is a specific type, the selection unit 22 selects relay processing C2 as the relay processing for the response packet corresponding to the specific message.
[0215] Specifically, for example, when the selection unit 22 receives judgment result information H2 from the judgment unit 24, it suspends the transmission of the response packet corresponding to the message ID indicated in the judgment result information H2, and when it receives all of the multiple response packets corresponding to the message ID, it determines to send the multiple response packets together to the diagnostic tool 250.
[0216] Then, the selection unit 22 outputs a hold request notification R41 indicating a request to hold the transmission of the response packet corresponding to the message ID notified by the determination unit 24, and the message ID, to the relay unit 21. Then, the selection unit 22 stores in the storage unit 14 transmission hold information indicating that the message ID is a transmission hold ID.
[0217] When the relay unit 21 receives the hold request notification R41 from the selection unit 22, it holds back the transmission of the response packet stored in the buffer 23. In the following description, the response packet whose transmission the in-vehicle relay device 101 has determined to hold back is also referred to as a transmission hold packet.
[0218] For example, if the relay unit 21 receives a response packet corresponding to a different message than the specific message before receiving all of the multiple response packets including divided messages corresponding to the same specific message, it performs relay processing on the response packet corresponding to the other message before the response packet corresponding to the specific message.
[0219] Specifically, for example, when the selector 22 receives a reception notification Q12 from the relay unit 21, the selector 22 checks whether the message ID indicated by the reception notification Q12 is registered in the transmission hold information in the storage unit 14 or not.
[0220] If the message ID indicated by the reception notification Q12 is not registered in the transmission hold information, the selection unit 22 outputs a transmission request notification R32 to the relay unit 21, requesting the transmission of a response packet corresponding to the message ID.
[0221] When the relay unit 21 receives the transmission request notification R32 from the determination unit 24, it transmits the response packet stored in the buffer 23 and corresponding to the message ID indicated in the transmission request notification R32 to the diagnostic tool 250. In other words, when the relay unit 21 receives a response packet corresponding to a different message ID than the message ID corresponding to the transmission suspended packet after the transmission suspended packet, it performs relay processing on the response packet corresponding to the different message ID before the transmission suspended packet.
[0222] On the other hand, when the message ID indicated by the reception notification Q12 is registered in the transmission pending information, the selection unit 22 compares the number B1 in the set W stored in the memory unit 14 that corresponds to the message ID with the packet number indicated by the reception notification Q12 (hereinafter also referred to as the ``packet number Nc'').
[0223] If the number B1 and the packet number Nc are the same, the selection unit 22 determines that the relay unit 21 has received all of the multiple response packets corresponding to the message ID indicated in the reception notification Q12. Then, the selection unit 22 deletes the set W corresponding to the message ID from the storage unit 14. The selection unit 22 also outputs the message ID and confirmation result information K2 indicating that the relay unit 21 has received all of the multiple response packets to the relay unit 21.
[0224] When the relay unit 21 receives the confirmation result information K2 from the selector 22, it transmits a response packet corresponding to the message ID indicated by the confirmation result information K2 to the diagnostic tool 250. Then, the relay unit 21 transmits one or more transmission pending packets stored in the buffer 23 to the diagnostic tool 250.
[0225] On the other hand, if the number B1 and the packet number Nc are different, the selection unit 22 determines that, among the multiple response packets corresponding to the message ID indicated by the reception notification Q12, there is a packet that has not yet been received by the relay unit 21. Then, the selection unit 22 outputs a hold request notification R42 to the relay unit 21, indicating a request to hold the transmission of the response packet corresponding to the message ID, and the message ID.
[0226] When the relay unit 21 receives the hold request notification R42 from the selector unit 22, it holds back the transmission of the response packet corresponding to the message ID indicated in the hold request notification R42.
[0227] Note that instead of being configured to determine the type of message corresponding to the response packet received by the relay unit 21, the determination unit 24 may be configured to determine the operation mode of its own in-vehicle relay device 101. Specifically, the determination unit 24 may be configured to determine whether the operation mode of its own in-vehicle relay device 101 is operation mode B, which performs relay processing C2 on the response packet received from the in-vehicle equipment 202. In this case, when the determination unit 24 determines that the operation mode of its own in-vehicle relay device 101 is operation mode B, the relay unit 21 performs relay processing C2 on the response packet.
[0228] FIG. 14 is a sequence diagram illustrating another example of processing by the diagnostic tool, the vehicle-mounted relay device, and the vehicle-mounted device in the communication system according to the second embodiment of the present disclosure.
[0229] Referring to Fig. 14, the processes from step S81 to step S86 are the same as the processes from step S51 to step S56 shown in Fig. 11. That is, in the example shown in Fig. 14, it is assumed that the in-vehicle device 202A transmits four response packets P13, similar to Fig. 11.
[0230] Next, when the on-board relay device 102 receives the first response packet P13 from the on-board device 202A, it calculates the number of response packets P13 to be transmitted from the on-board device 202A using the data length information D included in the response packet P13 and the DLC value Na in the response frame in which the response packet P13 is stored. Here, the on-board relay device 102 determines that the number of response packets P13 is four. Then, the on-board relay device 102 performs a determination process on the message Md11 corresponding to the first received response packet P13. Here, the on-board relay device 102 determines that the message Md11 is a specific message (step S87).
[0231] Next, the vehicle relay device 102 determines to select relay process C2 as the relay process for the multiple response packets P13 corresponding to the message Md11, and suspends the transmission of the response packets P13 stored in the buffer 23 (step S88).
[0232] Next, the on-board device 202E transmits a first response packet P14 including divided messages Me12 obtained by dividing the message Md12 to the on-board relay device 102 (step S89). Here, it is assumed that the on-board device 202E divides the message Md12 into two response packets P14 and transmits them, similar to the processing of step S59 shown in FIG. 11 .
[0233] Next, when the on-board relay device 102 receives the first response packet P14 from the on-board device 202E, it calculates the number of response packets P14 to be transmitted from the on-board device 202E using the data length information D included in the response packet P14 and the DLC value Na in the response frame in which the response packet P14 is stored. Here, the on-board relay device 102 determines that the number of response packets P14 is two. Then, the on-board relay device 102 performs a judgment process on the message Md12 corresponding to the first received response packet P14. Here, the on-board relay device 102 determines that the message Md12 is not a specific message (step S90).
[0234] Next, the in-vehicle relay device 102 transmits the first response packet P14 received from the in-vehicle device 202E to the diagnostic tool 250 (step S91).
[0235] The process of step S92 is the same as the process of step S70 shown in Fig. 11. That is, the diagnostic tool 250 determines that the number of response packets necessary to restore the message Md12 is two.
[0236] Next, the in-vehicle device 202E transmits a second response packet P14 to the in-vehicle relay device 102 (step S93).
[0237] Next, when the in-vehicle relay device 102 receives the second response packet P14 from the in-vehicle device 202E, the in-vehicle relay device 102 transmits the received response packet P14 to the diagnostic tool 250 (step S94).
[0238] Next, the diagnostic tool 250 restores the message Md12 using the two response packets P14 received from the vehicle-mounted relay device 102 (step S95).
[0239] Next, the in-vehicle device 202A sequentially transmits the second, third, and fourth response packets P13 to the in-vehicle relay device 102 (steps S96 to S98).
[0240] Next, when the in-vehicle relay device 102 receives the fourth response packet P13 from the in-vehicle device 202A, it transmits the four response packets P13 together to the diagnostic tool 250 (step S99).
[0241] Next, the diagnostic tool 250 restores the message Md11 using the four response packets P13 received from the vehicle-mounted relay device 102 (step S100).
[0242] [Operation Flow] Next, the operation flow of the vehicle-mounted relay device according to the second embodiment of the present disclosure will be described with reference to the drawings.
[0243] 15 to 17 are flowcharts defining an example of an operation procedure when the vehicle-mounted relay device according to the second embodiment of the present disclosure performs relay processing.
[0244] 15 to 17, the processes from step S401 to step S407 are similar to the processes from step S201 to step S207 shown in FIG.
[0245] Next, the in-vehicle relay device 102 determines whether the type of the message corresponding to the received response packet is a specific type. For example, as described above, the in-vehicle relay device 102 determines whether the type of the message is a specific type by referring to the message information L in the storage unit 14 (step S408).
[0246] If the type of message corresponding to the received response packet is a specific type (YES in step S408), the on-board relay device 102 selects relay process C2 as the relay process for the response packet. That is, the on-board relay device 102 suspends transmission of the response packet (step S409).
[0247] Next, the vehicle relay device 102 stores transmission hold information in the memory unit 14 indicating that the message ID corresponding to the response packet whose transmission has been held is a transmission hold ID (step S410), and waits to receive a new response packet (NO in step S404).
[0248] On the other hand, if the type of message corresponding to the received response packet is not a specific type (NO in step S408), the vehicle relay device 102 sends the response packet to the diagnostic tool 250 (step S411) and waits to receive a new response packet (NO in step S404).
[0249] If the packet number Nc corresponding to the received response packet is 2 or more (NO in step S405), the in-vehicle relay device 102 checks whether the message ID corresponding to the response packet is a transmission hold ID. For example, as described above, the in-vehicle relay device 102 checks whether the message ID is registered in the transmission hold information in the memory unit 14 (step S412).
[0250] If the message ID corresponding to the received response packet is a transmission pending ID (YES in step S412), the in-vehicle relay device 102 checks whether the response packet is the final response packet transmitted from the device that transmitted the response packet. For example, as described above, the in-vehicle relay device 102 checks whether the packet number Nc corresponding to the received response packet is the same as the number B1 of response packets in the set W for the message ID stored in the storage unit 14 (step S413).
[0251] Next, if the received response packet is the final response packet sent from the device that sent the response packet (YES in step S413), the vehicle relay device 102 deletes the set W corresponding to the response packet from the memory unit 14 (step S414).
[0252] Next, the vehicle relay device 102 transmits the received response packet and one or more response packets that have been held up for transmission and are stored in the buffer 23 together to the diagnostic tool 250 (step S415), and waits to receive a new request packet (NO in step S402).
[0253] On the other hand, if the received response packet is not the final response packet sent from the device that sent the response packet (NO in step S413), the vehicle relay device 102 suspends the transmission of the response packet (step S416) and waits to receive a new response packet (NO in step S404).
[0254] Furthermore, if the message ID corresponding to the received response packet is not a transmission pending ID (NO in step S412), the vehicle relay device 102 sends the response packet to the diagnostic tool 250 (step S417) and waits to receive a new response packet (NO in step S404).
[0255] In the communication system 501 according to the second embodiment of the present disclosure, the on-board relay device 102 is configured to determine the type of message Md in the determination process based on both the message ID and the source device of the response packet, but this is not limited to this. The on-board relay device 102 may be configured to determine the type of message Md based on either the message ID or the source device. Furthermore, the on-board relay device 102 may be configured to determine the type of message Md using other information, such as the CAN-ID of the source device, the type of transmission path to which the source device is connected, and the port number of the communication port in the on-board relay device 102, in addition to, or instead of, the message ID and the source device or one or both of the message ID and the source device.
[0256] Furthermore, in the communication system 501 according to the second embodiment of the present disclosure, the in-vehicle relay device 102 is configured to perform the determination process using message information L indicating a list of specific messages, but this is not limited to this. For example, when transmitting a response frame to the in-vehicle relay device 101, the in-vehicle device 202 may be configured to store in the response frame discrimination information such as a flag indicating whether the type of the message Md corresponding to the response packet stored in the response frame is a specific type. In this case, the in-vehicle relay device 101 performs the determination process using the discrimination information in the response frame received from the in-vehicle device 202.
[0257] Furthermore, in communication system 501 according to the second embodiment of the present disclosure, the response packet corresponding to the specific message is a response packet received from a specific in-vehicle device 202 via CAN, but this is not limited to this. The response packet corresponding to the specific message may be set based on other criteria. For example, the response packet corresponding to the specific message may be a response packet received from all in-vehicle devices 202 connected to CAN bus 51A and all in-vehicle devices 202 connected to CAN bus 51B, or may be a response packet received from in-vehicle devices 202 via a communication standard other than CAN.
[0258] The above-described embodiments should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the above description, and is intended to include all modifications within the meaning and scope of the claims.
[0259] Each process (each function) in the above-described embodiments is realized by a processing circuit including one or more processors. The processing circuit may be configured as an integrated circuit or the like that combines one or more memories, various analog circuits, and various digital circuits in addition to the one or more processors. The one or more memories store programs (instructions) that cause the one or more processors to execute each of the processes. The one or more processors may execute each of the processes according to the program read from the one or more memories, or may execute each of the processes according to a logic circuit designed in advance to execute each of the processes. The processor may be any of various processors suitable for computer control, such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), and an ASIC (Application Specific Integrated Circuit). Note that the physically separated processors may cooperate with each other to execute the processes. For example, the processors installed in the physically separated computers may cooperate with each other via a network such as a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet to execute the processes. The program may be installed into the memory from an external server device or the like via the network, or may be distributed in a state stored on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versatile Disc Read Only Memory), or a semiconductor memory, and then installed into the memory from the recording medium.
[0260] The above description includes the following additional features: [Supplementary Note 1] An in-vehicle relay device comprising a processing circuit, the processing circuit performing relay processing for relaying packets that are transmitted and received between functional units including functional units mounted on a vehicle, the packets including divided messages obtained by dividing a message, and being capable of selecting between a first relay processing that is the relay processing for relaying the packets in the order in which they are received from the functional units, and a second relay processing that is the relay processing for collectively relaying a plurality of the packets including the divided messages corresponding to the same message.
[0261] REFERENCE SIGNS LIST 1 Vehicle 11, 11A, 11B, 12, 12A, 12B Communication port 13, 113 Processing unit 14 Memory unit 21 Relay unit 22 Selection unit 23 Buffer 24 Determination unit 51, 51A, 51B CAN bus 52 Ethernet cable 101, 102 In-vehicle relay device 202, 202A, 202B, 202C, 202D, 202E In-vehicle equipment 250 Diagnostic tool 301, 302 In-vehicle system 501, 502 Communication system L Message information
Claims
1. An in-vehicle relay device comprising: a relay unit that performs relay processing for relaying packets that include split messages that are sent and received between functional units including functional units mounted on a vehicle; and a selection unit that can select between a first relay processing that relays the packets in the order received from the functional units, and a second relay processing that relays multiple packets that include split messages corresponding to the same message together.
2. The vehicle-mounted relay device further includes a judgment unit that performs a judgment process to determine the type of message corresponding to the packet received by the relay unit, and the selection unit, when the type of message judged by the judgment unit is a specific type, selects the second relay process as the relay process for multiple packets corresponding to a specific message that is the message of the specific type.The vehicle-mounted relay device described in claim 1.
3. The vehicle-mounted relay device described in claim 2, wherein if the relay unit receives a packet corresponding to another message different from the specific message before receiving all of the multiple packets including the divided messages corresponding to the same specific message, the relay unit performs the relay processing on the packet corresponding to the other message before the packet corresponding to the specific message.
4. The vehicle-mounted relay device according to claim 2 or 3, wherein the determining unit, in the determining process, determines the type of the message depending on the functional unit that is the sender of the packet.
5. An in-vehicle relay device according to any one of claims 2 to 4, wherein the judgment unit acquires message information indicating a list of the specific messages and performs the judgment process using the acquired message information.
6. An in-vehicle relay device according to any one of claims 2 to 5, wherein the packet corresponding to the specific message is the packet received by the relay unit from the functional unit via the CAN.
7. The vehicle-mounted relay device described in claim 1, wherein the selection unit selects the second relay processing as the relay processing for the first packet when the relay unit receives a first packet addressed to the second functional unit from a first functional unit and receives a second packet addressed to the second functional unit from a third functional unit different from the first functional unit before transmitting multiple first packets including divided messages corresponding to the same message to the second functional unit.
8. An on-board relay device described in any one of claims 1 to 7, wherein the relay unit performs the relay processing on the packets transmitted and received between the functional unit connected to a transmission path conforming to the Ethernet standard and the functional unit connected to a transmission path conforming to the CAN standard.
9. The vehicle-mounted relay device according to any one of claims 1 to 8, wherein the relay unit performs the relay process on the packets corresponding to the messages that comply with the DoIP standard.
10. A relay method in an on-board relay device, comprising: a step of performing relay processing to relay packets transmitted and received between functional units including functional units mounted on a vehicle, the packets including divided messages into which a message has been divided; and a step of selecting a first relay processing that relays the packets in the order received from the functional units, or a second relay processing that relays multiple packets including divided messages corresponding to the same message together.
11. A relay program used in an in-vehicle relay device, which causes a computer to function as: a relay unit that performs relay processing to relay packets that are sent and received between functional units, including functional units mounted on a vehicle, and that include divided messages into which a message has been divided; and a selection unit that can select between a first relay processing that relays the packets in the order received from the functional unit, and a second relay processing that relays multiple packets that include divided messages corresponding to the same message together.
Citation Information
Patent Citations
Relay device
JP2021093622A
Putter including replaceable impact member
KR1020220158919A
Gateway apparatus and method for controlling thereof
US20200366529A1