Data transfer device, data transfer system, and data transfer method

WO2026167747A1PCT designated stage Publication Date: 2026-08-13NISSAN MOTOR CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-04
Publication Date
2026-08-13

Smart Images

  • Figure JP2025003580_13082026_PF_FP_ABST
    Figure JP2025003580_13082026_PF_FP_ABST
Patent Text Reader

Abstract

A controller receives, from a diagnosis device, a diagnosis start request and a target number indicating the number of electronic control devices to which the diagnosis start request is transmitted. The controller suspends transmission to the diagnosis device of a first frame received during a predetermined suspension time, and transmits the first frame to the diagnosis device after the predetermined suspension time has elapsed, or suspends transmission of the first frame to the diagnosis device until the target number of first frames are received, and transmits the first frame to the diagnosis device after the target number of first frames are received. When a flow control frame is received from the diagnosis device, the controller transmits the flow control frame to the electronic control devices, and when diagnosis data for the electronic control devices is received from the electronic control devices, the controller transmits the diagnosis data to the diagnosis device.
Need to check novelty before this filing date? Find Prior Art

Description

Data transfer device, data transfer system, and data transfer method

[0001] The present invention relates to a data transfer device, a data transfer system, and a data transfer method.

[0002] In the case where a specific output request is transmitted from a diagnostic device to a plurality of ECUs via a communication line to which the diagnostic device and the plurality of ECUs mounted on a vehicle are connected, response data to the output request is transmitted from each ECU to the diagnostic device. A technique is known (Patent Document 1).

[0003] Japanese Patent Application Laid-Open No. 2005-47488

[0004] Generally, in diagnostic communication, when an output request is transmitted from a diagnostic device, each ECU returns a first frame to the diagnostic device before the response data. Since each ECU returns the first frame and transmits the response data at its own timing, the first frames and response data from each ECU may concentrate on the communication line at a certain timing. In such a case, in the technique described in Patent Document 1, there is a problem that the response data increases the load on the communication line and prevents the transmission of the first frame to the diagnostic device.

[0005] The problem to be solved by the present invention is to provide a data transfer device, a data transfer system, and a data transfer method that enhance the certainty of transmitting the first frame to the diagnostic device.

[0006] The present invention solves the above problems by receiving a diagnostic start request and a target number indicating the number of electronic control devices to which the diagnostic start request is to be transmitted from a diagnostic device, withholding transmission of the received first frame to the diagnostic device during a predetermined holding time, and transmitting the first frame to the diagnostic device after the predetermined holding time has elapsed, or withholding transmission of the first frame to the diagnostic device until the first frame of the target number is received, and transmitting the first frame to the diagnostic device after the first frame of the target number has been received, transmitting the flow control frame to the electronic control device when a flow control frame is received from the diagnostic device, and transmitting the diagnostic data to the diagnostic device when diagnostic data for the electronic control device is received from the electronic control device.

[0007] According to the present invention, the reliability of transmitting the first frame to the diagnostic device can be improved.

[0008] Figure 1 is a block diagram showing an example configuration of a data transfer system equipped with a data transfer device according to this embodiment. Figure 2 is a flowchart showing an example control flow of a data transfer method executed by the data transfer device according to this embodiment. Figure 3 is a sequence diagram illustrating a data transfer method by the data transfer device according to this embodiment. Figure 4 is a sequence diagram illustrating a data transfer method by a conventional data transfer device.

[0009] An embodiment of the data transfer device, data transfer system, and data transfer method according to the present invention will be described with reference to the drawings. Figure 1 is a block diagram showing an example of the configuration of a data transfer system equipped with the data transfer device according to this embodiment. The data transfer system 1 comprises a diagnostic tool 2, a gateway ECU (Electronic Control Unit) 3, and a plurality of ECUs 11-13, each having a specific function, and is connected to each other by buses B1-B2. The data transfer system 1 is a system that performs data transfer in diagnostic communication. In Figure 1, the plurality of ECUs are described as three ECUs, but the number of ECUs is not limited to three, and may be two or fewer, or four or more. Each ECU, including the gateway ECU 3 and the plurality of ECUs 11-13, is a device mounted in a vehicle. Buses B1-B2 are an in-vehicle network such as a CAN (Controller Area Network) bus, and the connected devices are connected so that they can communicate with each other via the bus.

[0010] In Figure 1, the buses connecting each device are described as two buses, but the number of buses is not limited to two and may be three or more. At least one bus is provided to connect the diagnostic tool 2 and the gateway ECU 3, and another bus is provided to connect the gateway ECU 3 and other ECUs. There may be multiple buses connecting the gateway ECU 3 and other ECUs, or multiple ECUs may be connected to a single bus. The diagnostic tool 2 is an example of the "diagnostic device" described in the claims. The gateway ECU 3 is an example of the "data transfer device" described in the claims. Buses B1-B2 are an example of the "communication lines" described in the claims.

[0011] Diagnostic tool 2 is an external tool that performs fault diagnosis using an on-board diagnostics (OBD) system, such as a General Scan Tool (GST). When diagnostic tool 2 is connected to a diagnostic tool connector installed in the vehicle at a repair shop or dealership, it communicates via OBD with the ECUs 11-13 that are the target of fault diagnosis through gateway ECU 3 to collect various data for fault diagnosis.

[0012] First, diagnostic tool 2 sends a diagnostic start request to gateway ECU 3. The diagnostic start request is a signal to request fault diagnosis of the ECU. Along with the diagnostic start request, a target number indicating the number of ECUs to which the diagnostic start request is to be sent is sent from diagnostic tool 2 to gateway ECU 3. Next, diagnostic tool 2 receives the first frame from gateway ECU 3. The first frame is data sent from multiple ECUs 11-13. Upon receiving the first frame, diagnostic tool 2 sends a flow control frame to gateway ECU 3. The flow control frame includes communication conditions. The communication conditions include conditions such as the number of consecutive transmissions of response frames, which are obtained by dividing the response data returned from multiple ECUs 11-13, and the communication interval of the response frames.

[0013] Here, the processing of receiving the first frame by the diagnostic tool 2 will be described. A predetermined timeout period is set for the processing of receiving the first frame. The predetermined timeout period is the time for the diagnostic tool 2 to execute a timeout process if it does not complete the processing of receiving the first frame transmitted from the controller 30 within that time, and is, for example, 50 ms. In other words, the diagnostic tool 2 executes a timeout process if it does not complete the processing of receiving the first frame transmitted from the controller 30 within the predetermined timeout period. Specifically, the diagnostic tool 2 sends a diagnostic start request, starts a timer to measure the elapsed time, and determines whether the predetermined timeout period has elapsed. If the processing of receiving the first frame is not completed when the predetermined timeout period has elapsed, the diagnostic tool 2 determines that a timeout has occurred and executes a timeout process. If the processing of receiving the first frame is not completed, for example, if the target number of first frames have not been received. In the timeout process, the diagnostic tool 2 temporarily suspends the processing of receiving the first frame. After suspending the reception of the first frame, the diagnostic tool 2 attempts to communicate again or gets stuck and restarts.

[0014] The predetermined timeout period may be set to be longer as the number of subjects increases. The predetermined timeout period and the number of subjects are associated in advance. The relationship between the predetermined timeout period and the number of subjects is obtained in advance, for example, through experiments. Diagnostic tool 2 sets the corresponding predetermined timeout period based on the number of subjects.

[0015] The gateway ECU 3 is an in-vehicle relay device that connects to the diagnostic tool 2 and the multiple ECUs 11-13 via buses B1-B2 and relays communication between the diagnostic tool 2 and the multiple ECUs 11-13. Specifically, the gateway ECU 3 is connected to the multiple ECUs 11-13 via bus B2 and transfers data transmitted to bus B2 to the diagnostic tool 2. When the diagnostic tool 2 is connected to the vehicle's diagnostic tool connector, the gateway ECU 3 connects to the diagnostic tool 2 via the external connection bus B1 and transfers data between the diagnostic tool 2 and the ECUs 11-13.

[0016] The gateway ECU 3 comprises a controller 30 and a transfer buffer 31. The controller 30 includes a computer with hardware and software, which includes a ROM that stores programs, a CPU that executes the programs stored in the ROM, and the like. The controller 30 transfers data between the diagnostic tool 2 and the multiple ECUs 11-13 by executing programs using the CPU. The transfer buffer 31 is a storage unit that stores data received from the multiple ECUs 11-13, and in particular stores the first frame.

[0017] When the controller 30 receives a diagnostic start request from the diagnostic tool 2, it forwards the diagnostic start request to the ECUs 11-13 that are the targets of the diagnostic start request. The diagnostic start request has a functional address, such as a BroadcastID. The controller 30 also receives a target number from the diagnostic tool 2, along with the diagnostic start request, which indicates the number of ECUs to which the diagnostic start request is to be sent. After receiving the diagnostic start request, the controller 30 receives the first frames transmitted from the multiple ECUs 11-13. In the following explanation, first frames will be used as an example of the data that the controller 30 receives from the multiple ECUs 11-13, but it may also receive a single frame.

[0018] The controller 30 sets the transmission mode for sending data to the diagnostic tool 2. The transmission mode is set to either the transmission hold mode (also called OBD mode) or the normal transmission mode (also called Non-OBD mode). The transmission hold mode is a mode in which the controller 30 holds off on sending first frames received from multiple ECUs 11-13 to the diagnostic tool 2 until the predetermined hold time has elapsed. The normal transmission mode is a mode in which the controller 30 sends data received from multiple ECUs 11-13 to the diagnostic tool 2 as soon as it is received without holding it. The transmission mode is initially set to the normal transmission mode.

[0019] When the controller 30 receives a diagnostic start request from the diagnostic tool 2, it sets the transmission mode to transmission hold mode for a predetermined hold time after receiving the diagnostic start request. The predetermined hold time is, for example, 40 ms. Specifically, first, when the controller 30 receives a diagnostic start request, it switches the transmission mode from normal transmission mode to transmission hold mode. Next, the controller 30 starts a timer and measures the elapsed time since receiving the diagnostic start request while the transmission mode is set to transmission hold mode, and determines whether the predetermined hold time has elapsed. Then, if the predetermined hold time has elapsed, the controller 30 switches the transmission mode from transmission hold mode to normal transmission mode.

[0020] Here, the data transfer process by the controller 30 will be described. The controller 30 suspends transmission of first frames received from multiple ECUs 11-13 to the diagnostic tool 2 during a predetermined hold time, and after the predetermined hold time has elapsed, it transmits the first frames received during the predetermined hold time to the diagnostic tool 2. Specifically, while the transmission mode is set to the transmission hold mode, the controller 30 stops transmitting the received first frames to the diagnostic tool 2 even if it receives first frames from multiple ECUs 11-13. At this time, the received first frames are stored in the transfer buffer 31. Then, when the predetermined hold time has elapsed and the transmission mode has switched from the transmission hold mode to the normal transmission mode, the controller 30 retrieves the first frames received while the transmission hold mode was active from the transfer buffer 31 and transmits them to the diagnostic tool 2. In this way, the controller 30 does not transmit each first frame to the diagnostic tool 2 as it is received, but transmits all first frames received within the predetermined hold time to the diagnostic tool 2 at once after the predetermined hold time has elapsed. In this embodiment, the transmission mode is switched, and if the transmission mode is set to the transmission hold mode, the transmission of the received first frame is held. However, setting the transmission mode is not a mandatory configuration; it is sufficient that the transmission of the received first frame is held for at least a predetermined hold time during the data transfer processing by the controller 30.

[0021] When the transmission hold mode is set, the data transfer process is not limited to the method of sending the first frames in a batch after a predetermined hold time has elapsed, but may be carried out by other methods. For example, when the transmission mode is set to the transmission hold mode, the controller 30 may hold the transmission of received first frames to the diagnostic tool 2 until it receives the target number of first frames from multiple ECUs 11-13 before the predetermined hold time has elapsed. After receiving the target number of first frames, the controller 30 transmits the received target number of first frames to the diagnostic tool 2. The method of holding can be appropriately adapted using the method using the transfer buffer 31 described above. As a result, when the controller 30 receives the target number of first frames, it transmits the received first frames to the diagnostic tool 2 in a batch, even before the predetermined hold time has elapsed. Also, when the controller 30 receives the target number of first frames, it may switch the transmission mode from the transmission hold mode to the normal transmission mode before the predetermined hold time has elapsed. In this embodiment, it is sufficient to have at least one of the functions of sending the first frames in a batch after a predetermined hold time has elapsed or sending the first frames in a batch after receiving the target number of first frames. If both functions are available, it is sufficient for at least one of them to be executed. For example, the function that is met first between the condition that a predetermined hold time has elapsed and the condition that the target number of first frames have been received will be executed.

[0022] Next, the setting of a predetermined hold time will be explained. The controller 30 sets the time required to receive the first frame, which is determined based on the target number indicating the number of ECUs to which the diagnostic start request is to be sent, as the predetermined hold time. The time required to receive the first frame is the time required to receive the first frame for the target number, and the time required to receive the first frame and the target number are associated in advance. The time required to receive the first frame is set to be longer the larger the target number. The relationship between the time required to receive the first frame and the target number is obtained in advance, for example, by experimentation. When the controller 30 receives information on the number of targets from the diagnostic tool 2, it sets the time required to receive the corresponding first frame as the predetermined hold time based on the number of targets. Alternatively, the predetermined hold time may be set by the diagnostic tool 2. In this case, the controller 30 obtains the predetermined hold time from the diagnostic tool 2.

[0023] Furthermore, the controller 30 sets a predetermined hold time to a time shorter than a predetermined timeout time. For example, if the predetermined timeout time is 50 ms, the predetermined hold time is set to 40 ms. The controller 30 may also set the predetermined hold time such that the time difference between the predetermined timeout time and the predetermined hold time is longer than the time required for the controller 30 to send the first frame to the diagnostic tool 2. The time required for the controller 30 to send the first frame to the diagnostic tool 2 is the time required to send the target number of first frames, and the time required for the controller 30 to send the first frame to the diagnostic tool 2 and the number of targets are pre-associated. The time required for the controller 30 to send the first frame to the diagnostic tool 2 is set to be longer the more targets there are. The correspondence between the time required for the controller 30 to send the first frame to the diagnostic tool 2 and the number of targets is obtained in advance, for example, by experimentation. Based on the number of targets, the controller 30 estimates the time required for the controller 30 to send the first frame to the diagnostic tool 2 and sets the predetermined hold time such that the time difference between the predetermined timeout time and the predetermined hold time is longer than the estimated time.

[0024] After the controller 30 sends the first frame to the diagnostic tool 2, if it receives a flow control frame from the diagnostic tool 2, it sends the flow control frame to the multiple ECUs 11-13. When the controller 30 receives response data to the diagnostic start request from the multiple ECUs 11-13, it sends the response data to the diagnostic tool 2. The response data to the diagnostic start request is diagnostic data indicating that the ECU has been fault-diagnosed, and is sent from each ECU 11-13.

[0025] Here, an example of a data transfer method by the controller 30 will be described using Figure 2. Figure 2 is a flowchart showing an example of the control flow of a data transfer method executed by the data transfer device according to this embodiment. The controller 30 starts the control flow of Figure 2 when the diagnostic tool 2 is connected to the vehicle and a diagnostic start request is sent from the diagnostic tool 2. In step S1, the controller 30 receives a diagnostic start request and a target number indicating the number of ECUs to which the diagnostic start request is to be sent from the diagnostic tool 2. In step S2, the controller 30 starts a timer for measuring the elapsed time. In step S3, the controller 30 receives first frames from a plurality of ECUs 11-13.

[0026] In step S4, the controller 30 determines whether or not it has received the target number of first frames. If it has received the target number of first frames, the controller 30 proceeds to step S6. If it has not received the target number of first frames, the controller 30 proceeds to step S5. In step S5, the controller 30 determines whether or not a predetermined hold time has elapsed. Specifically, the controller 30 obtains the elapsed time from the timer started in step S2, and determines that the predetermined hold time has elapsed when the elapsed time reaches the predetermined hold time. If the predetermined hold time has elapsed, the controller 30 proceeds to step S6. If the predetermined hold time has not elapsed, the controller 30 returns to step S3 and repeats the following flow.

[0027] In step S6, the controller 30 transmits the first frames received from the multiple ECUs 11-13 to the diagnostic tool 2. If a predetermined hold time has elapsed in step S5, the controller 30 transmits the first frames received within the predetermined hold time to the diagnostic tool 2. If the target number of first frames have been received in step S4, the controller 30 transmits the received target number of first frames to the diagnostic tool 2. In other words, in this embodiment, if the number of received first frames reaches the target number before the predetermined hold time has elapsed, the controller 30 transmits the received first frames to the diagnostic tool 2 all at once when the number of received first frames reaches the target number, even if it is before the predetermined hold time has elapsed. Also, if the predetermined hold time has elapsed before the target number of first frames have been received, the controller 30 transmits the first frames received during the predetermined hold time all at once to the diagnostic tool 2 after the predetermined hold time has elapsed.

[0028] In step S7, the controller 30 forwards the flow control frames received from the diagnostic tool 2 to the multiple ECUs 11-13. Specifically, the controller 30 sends a first frame to the diagnostic tool 2, and then receives a flow control frame from the diagnostic tool 2. When the controller 30 receives a flow control frame, it sends the flow control frame to the ECUs 11-13. In step S8, the controller 30 forwards the diagnostic data received from the multiple ECUs 11-13 to the diagnostic tool 2. Specifically, the controller 30 forwards the flow control frames to the multiple ECUs 11-13, and then receives diagnostic data from the multiple ECUs 11-13. When the controller 30 receives diagnostic data, it sends the diagnostic data to the diagnostic tool 2.

[0029] In this embodiment, the flowchart shown in Figure 2 does not need to include all of steps S1 to S8; some steps may be omitted, or additional steps may be added as appropriate. For example, either step S4 or S5 may be omitted, or a step for switching the transmission mode may be added. The processing order of each step in the control flow may also be changed as appropriate.

[0030] Each of the multiple ECUs 11-13 is an electronic control unit with a specific function, such as an engine control ECU. ECUs 11-13 are the ECUs that are subject to fault diagnosis by OBD and are the recipients of the diagnostic start request sent from the diagnostic tool 2. When ECU 11-13 receives a diagnostic start request from the diagnostic tool 2 via the gateway ECU 3, it returns response data to the diagnostic start request. The response data to the diagnostic start request is diagnostic data indicating that the ECU has been fault diagnosed. Each ECU 11-13 is assigned identification information, such as a transmission ID, and this identification information is added to the response data.

[0031] ECUs 11-13 receive a diagnostic start request from the diagnostic tool 2 via the gateway ECU 3. Upon receiving a diagnostic start request, ECUs 11-13 each send a first frame to the gateway ECU 3. The first frame includes the data size of the response data to be sent back to the diagnostic start request. Then, ECUs 11-13 receive a flow control frame from the diagnostic tool 2 via the gateway ECU 3. Upon receiving a flow control frame, ECUs 11-13 each send response data back to the diagnostic tool 2 via the gateway ECU 3. Specifically, ECUs 11-13 divide the response data into multiple response frames according to the data size that can be sent in a single response frame. Then, ECUs 11-13 send the divided response frames according to the communication conditions included in the flow control frame. For example, ECUs 11-13 send response frames the number of times set for consecutive transmissions, according to the communication interval included in the flow control frame. The transmitted response frames are sent to the diagnostic tool 2 via the gateway ECU 3.

[0032] The data transfer method using the data transfer device according to this embodiment will be explained with reference to Figure 3. Figure 3 is a sequence diagram for explaining the data transfer method using the data transfer device according to this embodiment. In Figure 3, first, the diagnostic tool 2 sends a diagnostic start request (BroadcastID) to a plurality of ECUs 11-13 via the gateway ECU (GW) 3. The diagnostic tool 2 also starts a timer to measure the elapsed time since sending the diagnostic start request and determines whether a predetermined timeout period T1 has elapsed. When the GW 3 receives a diagnostic start request from the diagnostic tool 2, it starts a timer to measure the elapsed time since receiving the diagnostic start request and determines whether a predetermined hold period T2 has elapsed.

[0033] Upon receiving a diagnostic start request, ECUs 11-13 transmit a first frame (FF) or single frame (SF) to GW3. In the example in Figure 3, ECUs 11 and 12 transmit first frames, and ECU 13 transmits a single frame. GW3 withholds transmission of received first frames to the diagnostic tool 2 for a predetermined holding time T2, and when the predetermined holding time T2 has elapsed, transmits the first frames (FF) or single frames (SF) received during the predetermined holding time T2 to the diagnostic tool 2. The diagnostic tool 2 receives the first frame (FF) or single frame (SF) within a predetermined timeout time T1. Upon receiving the first frame, the diagnostic tool 2 transmits a flow control frame (FC) to ECUs 11 and 12 that transmitted the first frame. If ECUs 11 and 12 receive a flow control frame, they transmit diagnostic data (CF) to the diagnostic tool 2 via gateway ECU 3.

[0034] Here, we will explain a conventional data transfer device using Figure 4. Figure 4 is a sequence diagram illustrating the data transfer method in a conventional data transfer device. In the conventional data transfer process, a diagnostic start request (BroadcastID) is simultaneously sent from the diagnostic tool 2 to multiple ECUs 11-13 via the conventional gateway ECU 4. Each ECU 11-13 that receives the diagnostic start request sends a first frame (FF), and then sends diagnostic data (CF) when it receives a flow control frame (FC) from the diagnostic tool 2. Whenever the gateway ECU 4 receives a first frame (FF) from each ECU 11-13, it forwards the first frame (FF) to the diagnostic tool 2, and whenever it receives a flow control frame (FC) from the diagnostic tool 2, it forwards the flow control frame (FC) to the ECU 11-13.

[0035] In the example in Figure 4, if the number of ECUs or the diagnostic data transmitted by the ECUs is large, the diagnostic data (CF) from multiple ECUs 11-13 may occupy the bus between the conventional gateway ECU 4 and the diagnostic tool 2, and responses (first frames or single frames) from some ECUs may not reach the diagnostic tool 2 within the diagnostic tool 2's timeout period T1 (e.g., 50 ms). For example, in the example in Figure 4, ECU 11 starts transmitting diagnostic data (CF) between the time the diagnostic start request is sent and the predetermined timeout period T1 has elapsed. If such diagnostic data (CF) occupies the bus between the conventional gateway ECU 4 and the diagnostic tool 2, other ECUs may not be able to transmit first frames (FF) within the predetermined timeout period T1. If the target number of first frames do not arrive within the predetermined timeout period T1, the diagnostic tool 2 determines that a timeout has occurred and has to go through the trouble of trying to communicate again or getting stuck and restarting.

[0036] In contrast, in this embodiment, first, when the gateway ECU 3 receives a first frame from multiple ECUs 11-13, it temporarily suspends the transmission of the received first frame. As a result, while the transmission of the first frame is suspended, the diagnostic tool 2 does not send flow control frames to the multiple ECUs 11-13, and therefore the multiple ECUs 11-13 do not send response data. Then, when the transmission of the suspended first frame is executed, the first frames from the multiple ECUs 11-13 are sent from the gateway ECU 3 to the diagnostic tool 2 first. This increases the reliability of the transmission of the first frame to the diagnostic tool 2.

[0037] As described above, in the data transfer device and data transfer method according to this embodiment, the controller is connected to the diagnostic device and a plurality of electronic control devices mounted on the vehicle via a communication line, and is a controller that relays communication between the diagnostic device and the electronic control devices. The controller receives a diagnostic start request and a target number indicating the number of electronic control devices to which the diagnostic start request is to be sent from the diagnostic device, and after receiving the diagnostic start request, it holds the transmission of the first frame received from the electronic control device to the diagnostic device for a predetermined holding time, and after the predetermined holding time has elapsed, it transmits the received first frame to the diagnostic device, or, before the predetermined holding time has elapsed, it holds the transmission of the received first frame to the diagnostic device until it receives the target number of first frames from the electronic control device, and after receiving the target number of first frames, it transmits the received first frame to the diagnostic device, and after transmitting the first frame to the diagnostic device, if it receives a flow control frame from the diagnostic device, it transmits the flow control frame to the electronic control device, and if it receives diagnostic data for the electronic control device from the electronic control device, it transmits the diagnostic data to the diagnostic device. This makes it possible to increase the reliability of transmitting the first frame to the diagnostic device.

[0038] Furthermore, in the data transfer device and data transfer method according to this embodiment, the controller sets the time required to receive the first frame, which is determined based on the number of targets, as a predetermined hold time, or obtains a predetermined hold time from the diagnostic device. This allows for a more appropriate setting of the time for holding off on transmitting the first frame.

[0039] Furthermore, in the data transfer device and data transfer method according to this embodiment, the controller sets a predetermined hold time to a time shorter than a predetermined timeout time, and the predetermined timeout time is the time for the diagnostic device to perform a timeout process if it does not complete the reception process of the first frame transmitted from the controller within the predetermined timeout time. This makes it possible to complete the reception of the first frame before the timeout.

[0040] Furthermore, in the data transfer device and data transfer method according to this embodiment, the predetermined timeout period is set to be longer as the number of targets increases. This allows the timeout period to be set according to the time required to transmit the first frame.

[0041] Furthermore, in the data transfer device and data transfer method according to this embodiment, the controller sets a predetermined hold time such that the time difference between a predetermined timeout time and a predetermined hold time is longer than the time required for the controller to transmit the first frame to the diagnostic device. This allows the transmission of the first frame to be completed before the timeout.

[0042] As described above, the data transfer system according to the present embodiment includes a diagnostic device, a plurality of electronic control units mounted on a vehicle, and a data transfer device connected to the diagnostic device and the electronic control units via a communication line and relaying communication between the diagnostic device and the electronic control units. The data transfer device receives a diagnostic start request transmitted to an electronic control unit and the number of targets indicating the number of electronic control units to be the transmission target of the diagnostic start request from the diagnostic device, holds the transmission of the first frame received from the electronic control unit to the diagnostic device during a predetermined hold time after receiving the diagnostic start request, and after the predetermined hold time has elapsed, transmits the received first frame to the diagnostic device, or holds the transmission of the received first frame to the diagnostic device until the number of first frames is received from the electronic control unit before the predetermined hold time elapses, and after receiving the number of first frames, transmits the received first frame to the diagnostic device. After transmitting the first frame to the diagnostic device, when a flow control frame is received from the diagnostic device, the flow control frame is transmitted to the electronic control unit, and when diagnostic data of the electronic control unit is received from the electronic control unit, the diagnostic data is transmitted to the diagnostic device. Thereby, the certainty of transmitting the first frame to the diagnostic device can be enhanced.

[0043] In the data transfer system according to the present embodiment, when the diagnostic device fails to complete the reception process of the first frame transmitted from the data transfer device within a predetermined timeout time, the diagnostic device executes a timeout process. Thereby, when the reception of the first frame has not been completed within the predetermined timeout time, it is possible to perform a timeout once.

[0044] Note that the embodiments described above are described for facilitating the understanding of the present invention and are not described for limiting the present invention. Therefore, each element disclosed in the above embodiments is intended to include all design changes and equivalents belonging to the technical scope of the present invention.

[0045] 1... Data transfer system 2... Diagnostic tool 3... Gateway ECU 11, 12, 13... ECU

Claims

1. A data transfer device comprising a controller connected via a communication line to a diagnostic device and a plurality of electronic control devices mounted on a vehicle, and which relays communication between the diagnostic device and the electronic control devices, wherein the controller receives from the diagnostic device a diagnostic start request and a target number indicating the number of electronic control devices to which the diagnostic start request is to be transmitted; after receiving the diagnostic start request, the controller holds the transmission of the first frame received from the electronic control device to the diagnostic device for a predetermined holding time, and after the predetermined holding time has elapsed, transmits the received first frame to the diagnostic device; or, before the predetermined holding time has elapsed, the controller holds the transmission of the received first frame to the diagnostic device until it receives the target number of first frames from the electronic control device, and after receiving the target number of first frames, transmits the received first frame to the diagnostic device; after transmitting the first frame to the diagnostic device, if the controller receives a flow control frame from the diagnostic device, transmits the flow control frame to the electronic control device; and if the controller receives diagnostic data for the electronic control device from the electronic control device, transmits the diagnostic data to the diagnostic device.

2. A data transfer device according to claim 1, wherein the controller sets the time required for receiving the first frame, which is set based on the target number, to the predetermined hold time, or obtains the predetermined hold time from the diagnostic device.

3. A data transfer device according to claim 1 or 2, wherein the controller sets the predetermined hold time to a time shorter than a predetermined timeout time, and the predetermined timeout time is the time for the diagnostic device to perform a timeout process if the diagnostic device does not complete the reception process of the first frame transmitted from the controller within the predetermined timeout time.

4. A data transfer device according to claim 3, wherein the predetermined timeout time is set to be longer as the number of targets increases.

5. A data transfer device according to claim 3 or 4, wherein the controller sets the predetermined hold time such that the time difference between the predetermined timeout time and the predetermined hold time is longer than the time required for the controller to transmit the first frame to the diagnostic device.

6. A data transfer system comprising: a diagnostic device; a plurality of electronic control devices mounted on a vehicle; and a data transfer device connected to the diagnostic device and the electronic control devices via a communication line, which relays communication between the diagnostic device and the electronic control devices, wherein the data transfer device receives a diagnostic start request transmitted to the electronic control device and a target number indicating the number of electronic control devices to which the diagnostic start request is to be transmitted from the diagnostic device; after receiving the diagnostic start request, withholding transmission of the first frame received from the electronic control device to the diagnostic device for a predetermined holding time, and after the predetermined holding time has elapsed, transmitting the received first frame to the diagnostic device; or, before the predetermined holding time has elapsed, withholding transmission of the received first frame to the diagnostic device until the target number of first frames is received from the electronic control device, and after receiving the target number of first frames, transmitting the received first frame to the diagnostic device; and after transmitting the first frame to the diagnostic device, if a flow control frame is received from the diagnostic device, transmitting the flow control frame to the electronic control device. A data transfer system that, upon receiving diagnostic data from the electronic control unit, transmits the diagnostic data to the diagnostic device.

7. A data transfer system according to claim 6, wherein the diagnostic device performs a timeout process if the reception process of the first frame transmitted from the data transfer device is not completed within a predetermined timeout period.

8. A data transfer method performed by a controller which is connected via a communication line to a diagnostic device and a plurality of electronic control devices mounted on a vehicle and relays communication between the diagnostic device and the electronic control devices, wherein the controller receives from the diagnostic device a diagnostic start request and a target number indicating the number of electronic control devices to which the diagnostic start request is to be transmitted; after receiving the diagnostic start request, the controller holds the transmission of the first frame received from the electronic control device to the diagnostic device for a predetermined holding time, and after the predetermined holding time has elapsed, transmits the received first frame to the diagnostic device; or, before the predetermined holding time has elapsed, the controller holds the transmission of the received first frame to the diagnostic device until it receives the target number of first frames from the electronic control device, and after receiving the target number of first frames, transmits the received first frame to the diagnostic device; after transmitting the first frame to the diagnostic device, if the controller receives a flow control frame from the diagnostic device, transmits the flow control frame to the electronic control device; and if the controller receives diagnostic data for the electronic control device from the electronic control device, transmits the diagnostic data to the diagnostic device.