communication systems

By having a slave device calculate and report its processing load to a master device, the communication system dynamically adjusts transmission intervals and processes, enhancing reliability and reducing failure risks in vehicle-mounted systems.

JP7814613B2Active Publication Date: 2026-02-16ASTEMO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025509564
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-03-31
Publication Date
2026-02-16
Estimated Expiration
2043-03-31

AI Technical Summary

Technical Problem

The conventional method of determining the processing load of a destination device by the sender results in low accuracy, leading to a risk of data transmission failure in vehicle-mounted communication systems.

Method used

A communication system where a slave device calculates its processing load and transmits a response message to a master device, which then determines the transmission interval and process based on both devices' load information, using tables to adjust intervals and processes accordingly.

Benefits of technology

This approach reduces the probability of data communication failure and ensures more reliable data transmission by dynamically adjusting to the processing loads of both devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007814613000001
    Figure 0007814613000001
  • Figure 0007814613000002
    Figure 0007814613000002
  • Figure 0007814613000003
    Figure 0007814613000003
Patent Text Reader

Abstract

This communication system comprises: a master device that transmits, at predetermined transmission intervals, a request message requesting execution of predetermined processing; and a slave device that receives the request message transmitted by the master device, and transmits a response message corresponding to the received request message to the master device. The slave device calculates the processing load of the slave device, and transmits the response message including load information relating to the calculated processing load of the slave device to the master device. The master device calculates the processing load of the master device, receives the response message transmitted by the slave device, and determines the processing to be requested by the request message and the transmission interval of the request message on the basis of the calculated processing load of the master device and the load information included in the received response message.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to communication systems. [Background technology]

[0002] There are known a plurality of vehicle-mounted devices that communicate with each other. Patent Document 1 describes an in-vehicle communication device that divides update data and transmits the divided data to a destination device, and determines a transmission interval based on the processing load of the destination device. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent Publication No. 2021-039681 Summary of the Invention [Problem to be solved by the invention]

[0004] In the conventional technology, the processing load of the destination device that receives the data is determined by the sender, and therefore the accuracy of the processing load is low, and there is a risk of data transmission failing.

[0005] An object of the present invention is to reduce the probability of failure in data communication between devices and to perform more reliable data communication. [Means for solving the problem]

[0006] A communication system according to one aspect of the present invention comprises a master device that transmits a request message at a predetermined transmission interval requesting the execution of a predetermined process, and a slave device that receives the request message transmitted by the master device and transmits a response message corresponding to the received request message to the master device, wherein the slave device calculates the processing load of the slave device and transmits the response message to the master device including load information regarding the calculated processing load of the slave device, and the master device calculates the processing load of the master device, receives the response message transmitted by the slave device, and determines the process requested by the request message and the transmission interval of the request message based on the calculated processing load of the master device and the load information included in the received response message. [Effects of the Invention]

[0007] According to the present invention, the probability of failure in data communication between devices is reduced, and data communication can be performed more reliably. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is a schematic diagram showing the overall configuration of a communication system according to the first embodiment. [Figure 2] FIG. 2 is a schematic diagram showing the hardware configuration of the first ECU. [Figure 3] FIG. 3 is a schematic diagram showing the functional configuration of the first ECU and the second ECU. [Figure 4] FIG. 4 is a schematic diagram showing data stored in the nonvolatile memory of the first ECU. [Figure 5] FIG. 5 is a diagram showing a communication sequence of data communication performed between the first ECU and the second ECU. [Figure 6] FIG. 6 is a flowchart of the process executed by the first ECU and the second ECU. [Figure 7] FIG. 7 is a diagram showing a communication sequence of data communication performed between the first ECU and the second ECU. DETAILED DESCRIPTION OF THE INVENTION

[0009] First Embodiment A communication system according to a first embodiment of the present invention will be described with reference to FIGS.

[0010] 1 is a schematic diagram showing the overall configuration of a communication system 1 according to a first embodiment. The communication system 1 is made up of a first ECU 3 and a second ECU 4 mounted on a vehicle 2, and a management PC 5 provided outside the vehicle 2. The first ECU 3 and the second ECU 4 are electronic control units that control, for example, the engine, the brakes, etc. A network 7, such as a CAN (Controller Area Network), is provided inside the vehicle 2. The first ECU 3 and the second ECU 4 are connected to the network 7, and are capable of data communication with each other.

[0011] Although other ECUs are installed in the vehicle 2 and are also connected to the network 7, only the first ECU 3 and the second ECU 4 are shown in Fig. 1 as representatives of these ECUs. Similarly, the following description will focus only on the first ECU 3 and the second ECU 4.

[0012] The vehicle 2 is provided with a maintenance interface 6. A management PC 5 can be connected to the interface 6 from outside the vehicle 2. The maintenance interface 6 is connected to a network 7 inside the vehicle 2. In other words, by using the interface 6, it is possible to connect the management PC 5 outside the vehicle to the network 7 and perform data communication between the management PC 5 and the first ECU 3 and the second ECU 4.

[0013] 2 is a schematic diagram showing the hardware configuration of the first ECU 3. Note that the second ECU 4 and the management PC 5 have the same hardware configuration as the first ECU 3 at least insofar as the description of the embodiment is concerned, and therefore a description thereof will be omitted.

[0014] The first ECU 3 is configured with a computer including a processing device 11 such as a CPU (Central Processing Unit), MPU (Micro Processing Unit), or DSP (Digital Signal Processor), a non-volatile memory 12 such as a ROM (Read Only Memory), flash memory, or hard disk drive, a volatile memory 13 called RAM (Random Access Memory), an input / output interface 14, and other peripheral circuits. These hardware components work together to run software and realize multiple functions. The first ECU 3 may be configured with one computer or multiple computers. The processing device 11 may be an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or the like.

[0015] The nonvolatile memory 12 stores programs capable of executing various calculations. In other words, the nonvolatile memory 12 is a storage medium (storage device) from which the programs for realizing the functions of this embodiment can be read. The volatile memory 13 is a storage medium (storage device) that temporarily stores the results of calculations performed by the processing device 11 and signals input from the input / output interface 14. The processing device 11 is a device that loads the programs stored in the nonvolatile memory 12 into the volatile memory 13 and executes the calculations, and performs predetermined calculations on data taken in from the input / output interface 14, the nonvolatile memory 12, and the volatile memory 13 in accordance with the programs.

[0016] An input section of the input / output interface 14 converts signals input from various other devices (such as the second ECU 4) via the network 7 into data that can be calculated by the processing device 11. An output section of the input / output interface 14 generates an output signal according to the calculation result in the processing device 11, and outputs the signal to various other devices (such as the second ECU 4) via the network 7.

[0017] FIG. 3 is a schematic diagram showing the functional configuration of the first ECU 3 and the second ECU 4. The first ECU 3 includes a first load calculation unit 31, a first transmission / reception unit 32, a success / failure determination unit 33, an interval determination unit 34, and a process selection unit 35. The first load calculation unit 31 calculates the processing load of the first ECU 3. The processing load will be described in detail later. The first transmission / reception unit 32 transmits a request message requesting execution of a predetermined process to the second ECU 4 at a predetermined transmission interval. The first transmission / reception unit 32 also receives a response message transmitted by the second ECU 4. The success / failure determination unit 33 determines whether the transmission of the request message by the first transmission / reception unit 32 was successful or unsuccessful. When the first transmission / reception unit 32 receives a response message, the interval determination unit 34 determines the transmission interval of the request message based on the processing load of the first ECU 3 and the load information included in the received response message. The process selection unit 35 selects the predetermined process requested to be executed by the request message.

[0018] The second ECU4 includes a second load calculation unit 41, a second transmission / reception unit 42, and a processing execution unit 43. The second load calculation unit 41 calculates the processing load of the second ECU4. The second transmission / reception unit 42 receives a request message transmitted by the first ECU3. The second transmission / reception unit 42 further transmits a response message corresponding to the received request message to the first ECU3. Every time the second transmission / reception unit 42 receives a request message, the processing execution unit 43 executes a predetermined process requested by the request message.

[0019] The management PC 5 has the same functional configuration as the first ECU 3 at least insofar as the description of the embodiment is concerned, and therefore a description thereof will be omitted. That is, the management PC 5 has, like the first ECU 3, a first load calculation unit 31, a first transmission / reception unit 32, a success / failure determination unit 33, an interval determination unit 34, and a process selection unit 35.

[0020] For example, consider a case where the second ECU 4 is caused to execute a specification check process by transmitting a request message. Such specification check process is executed, for example, as a preprocessing step before the second ECU 4 executes a diagnostic process. In this case, the first ECU 3 first transmits a request message to the second ECU 4 requesting specification data of the second ECU 4 (e.g., an individual number assigned to the second ECU 4 and numbers of various components constituting the second ECU 4). Upon receiving such a request message, the second ECU 4 returns a response message to the first ECU 3, including the second ECU 4's own specification data and load data (load information) indicating the processing load of the second ECU 4. The first ECU 3 reads the specification data from the received response message and determines what diagnostic process the second ECU 4 should execute. The first ECU 3 further uses the load data (load information) included in the response message to determine the transmission interval for a similar request message and what process to request the second ECU 4 to execute the next time it transmits a similar request message.

[0021] Similar processing can also be executed by the management PC 5 instead of the first ECU 3. That is, the management PC 5 can also transmit a request message requesting specification data of the second ECU 4 to the second ECU 4.

[0022] Next, the processing load will be described. In the first embodiment, the processing load of the first ECU 3 refers to the magnitude of the processing load of the processing device 11 included in the first ECU 3. For example, the greater the amount of calculations per unit time by the processing device 11, the greater the processing load of the first ECU 3. Similarly, the processing load of the second ECU 4 refers to the magnitude of the processing load of the processing device 11 included in the second ECU 4.

[0023] In the first embodiment, the processing load is represented by a numerical value called a load factor, which is between 0 and 1. When the processing load is at its lightest, the load factor is 0. When the processing load is at its highest, the load factor is 1.

[0024] The method of calculating the processing load (load factor) by the first load calculation unit 31 will be described. The first load calculation unit 31 tallies the non-idle time of the processing device 11 for each predetermined unit time (for example, 1 millisecond) in that unit time. Non-idle time is the time during which the processing device 11 is performing some kind of calculation processing. The first load calculation unit 31 calculates the non-idle time divided by the unit time to calculate a load factor between 0 and 1. For example, if the processing device 11 is not performing any calculation processing during that unit time, the load factor will be 0. On the other hand, if the processing device 11 is constantly performing calculation processing during that unit time, the load factor will be 1.

[0025] The first load calculation unit 31 repeatedly stores the calculated load rate in a predetermined location in the volatile memory 13. Therefore, the latest load rate is always stored in that predetermined location in the volatile memory 13. For example, a functional unit that requires a load rate, such as the first transmission / reception unit 32 or the interval determination unit 34, refers to (reads out) that predetermined location in the volatile memory 13 to obtain the latest load rate.

[0026] The method of calculating the processing load (load rate) by the second load calculation unit 41 is the same as that of the first load calculation unit 31, and therefore description thereof will be omitted. That is, the second load calculation unit 41 calculates the load rate of the second ECU 4 in the same manner as that by which the first load calculation unit 31 calculates the load rate of the first ECU 3 (or the management PC 5).

[0027] 4 is a schematic diagram showing data stored in the nonvolatile memory 12 of the first ECU 3. A transmission interval table 91 and a processing content table 92 are pre-stored in the nonvolatile memory 12 of the first ECU 3. In addition, the nonvolatile memory 12 of the first ECU 3 also stores transmission interval data 93 and processing content data 94.

[0028] The transmission interval table 91 is a table for calculating the transmission interval of a request message from the processing load (load factor) of the first ECU 3 and the processing load (load factor) of the second ECU 4. The interval determination unit 34 calculates the transmission interval of a request message using the transmission interval table 91. The transmission interval table 91 shown in FIG. 4 stores predetermined transmission intervals for each combination of the processing load of the first ECU 3 and the processing load of the second ECU 4, which are classified into three levels: low, medium, and high. There are three types of processing load for the first ECU 3 (low, medium, high) and three types of processing load for the second ECU 4 (low, medium, high), so the transmission interval table 91 stores transmission intervals for each of 3 x 3 = 9 combinations.

[0029] For example, a load factor of less than 0.4 is defined as low, a load factor of 0.4 or more but less than 0.8 as medium, and a load factor of 0.8 or more as high. If the load factor of the first ECU 3 is 0.5 and the load factor of the second ECU 4 is 0.2, the former corresponds to medium and the latter corresponds to low, respectively. Therefore, the interval determination unit 34 reads out the transmission interval corresponding to the combination of "the processing load of the first ECU 3 is medium" and "the processing load of the second ECU 4 is low" from the transmission interval table 91 and sets this as the new transmission interval.

[0030] The transmission interval determined by the transmission interval table 91 is desirably set so that it is shorter the lower the processing load of the first ECU 3 and longer the higher the processing load of the first ECU 3. Similarly, the transmission interval determined by the transmission interval table 91 is desirably set so that it is shorter the lower the processing load of the second ECU 4 and longer the higher the processing load of the second ECU 4. By setting the transmission interval in this manner, when a request message is repeatedly transmitted multiple times, the processing requested of the second ECU 4 can be executed at an appropriate interval that is neither too short nor too long.

[0031] The number of processing load classifications in the transmission interval table 91 may be increased (for example, five levels) or decreased (for example, two levels). The number of processing load classifications for the first ECU 3 and the second ECU 4 may be different.

[0032] The processing content table 92 is a table for selecting a processing to be requested by a request message based on the processing load (load rate) of the first ECU 3 and the processing load (load rate) of the second ECU 4. The processing selection unit 35 uses the processing content table 92 to select a processing to be requested to be executed by a request message. The processing content table 92 shown in FIG. 4 stores predetermined processing for each combination of the processing load of the first ECU 3 and the processing load of the second ECU 4, which are classified into three levels: low, medium, and high. There are three types of processing load for the first ECU 3 (low, medium, high) and three types of processing load for the second ECU 4 (low, medium, high), so the processing content table 92 stores processing for each of 3 x 3 = 9 combinations.

[0033] For example, a load factor of less than 0.4 is defined as low, a load factor of 0.4 or more but less than 0.8 as medium, and a load factor of 0.8 or more as high. If the load factor of the first ECU 3 is 0.5 and the load factor of the second ECU 4 is 0.2, the former corresponds to medium and the latter corresponds to low, respectively. Therefore, the process selection unit 35 reads out from the process content table 92 a process corresponding to the combination "the processing load of the first ECU 3 is medium" and "the processing load of the second ECU 4 is low," and sets this as the process to be requested by the request message.

[0034] The processing content selected by the processing content table 92 is preferably set so that the lower the processing load of the first ECU 3, the greater the amount of calculation, and the higher the processing load of the first ECU 3, the less the amount of calculation. Similarly, the processing content selected by the processing content table 92 is preferably set so that the lower the processing load of the second ECU 4, the greater the amount of calculation, and the higher the processing load of the second ECU 4, the less the amount of calculation. By setting the processing content in this manner, when a request message is repeatedly transmitted multiple times, it is possible to prevent a problem in which the processing load of the first ECU 3 or the second ECU 4 is too high to execute the processing requested in the request message. Conversely, when the processing load of the first ECU 3 or the second ECU 4 is low and there is room to execute other processing, it is possible to request the execution of a processing with a greater amount of calculation in the request message.

[0035] For example, consider a request message for performing so-called sequence control, which executes various processes in a predetermined order. In this case, if the processing load of the first ECU 3 or the second ECU 4 is high and a process that requires a large amount of calculation (such as data compression or decompression) cannot be executed, the various processes in the process content table 92 can be set so that a lighter process (such as a process that requires some parameters) that is scheduled after the process and that does not cause any problems even if the order is changed is executed first.

[0036] The processing load classifications in the processing content table 92 may be more (for example, five levels) or less (for example, two levels). Also, the number of processing load classifications for the first ECU 3 and the number of processing load classifications for the second ECU 4 may be different.

[0037] The transmission interval data 93 is data representing the transmission interval determined by the interval determination unit 34. Every time the interval determination unit 34 determines a transmission interval, it stores the transmission interval in the nonvolatile memory 12 as the transmission interval data 93. In other words, by reading the transmission interval data 93 in the nonvolatile memory 12, the latest (most recent) transmission interval can be obtained.

[0038] The processing content data 94 is data representing the processing selected by the processing selection unit 35. Every time the processing selection unit 35 selects a processing request by a request message, it stores the processing content in the nonvolatile memory 12 as processing content data 94. In other words, by reading the processing content data 94 in the nonvolatile memory 12, the latest (most recent) processing content to be requested can be obtained.

[0039] The transmission interval table 91, processing content table 92, transmission interval data 93, and processing content data 94 shown in Fig. 4 exist for each type of request message. For example, when multiple types of request messages are transmitted from the first ECU 3 to the second ECU 4, such as a request message for checking the specifications of the second ECU 4 and a request message for causing the second ECU 4 to execute a diagnostic process, the various data shown in Fig. 4 exist for each of the multiple types of request messages. Note that these data can also be shared between different types of request messages.

[0040] FIG. 5 illustrates a communication sequence of data communication between the first ECU 3 and the second ECU 4. First, at time t1, the first ECU 3 transmits a request message to the second ECU 4. This request message includes information indicating the type of processing the second ECU 4 is to execute, as well as information on various parameters required for that processing. When the second ECU 4 receives this request message at time t2, the second ECU 4 executes the processing requested by the request message at the following time t3. At time t4, when the execution of the processing is completed, the second ECU 4 transmits the request message and a response message corresponding to the processing to the first ECU 3. This response message includes various information related to the requested processing (e.g., the execution result of the processing and the values ​​of the requested parameters), as well as load data (load information) indicating the latest processing load (load factor) of the second ECU 4. At time t5, when the reception of the response message is completed, the first ECU 3 determines the transmission interval for the request message. At time t6, when the transmission interval has elapsed since time t1, the first ECU 3 transmits a similar request message again. Note that the start point of the transmission interval may be time t5 instead of time t1.

[0041] Next, a description will be given of a failure in transmission of a request message. The first ECU 3 of the first embodiment expects a response message to be returned within a predetermined timeout period (e.g., 100 milliseconds) after transmitting a request message. This timeout period is predetermined for each type of request message. If a response message is not received even after the predetermined timeout period has elapsed since the first transceiver 32 transmitted the request message, the success / failure determination unit 33 determines that transmission of the request message has failed.

[0042] If the transmission of a request message fails despite the transmission interval and timeout period being appropriately set in advance, it is believed that the failure is due to causes other than the processing load of the first ECU 3 or the second ECU 4. For example, this may be due to a malfunction caused by deterioration of components (semiconductor components, etc.) that make up the ECU, a partial failure, or congestion on the network 7. If a malfunction occurs due to deterioration or partial failure of a component, the first ECU 3 or the second ECU 4 may automatically restart.

[0043] If the success / failure determination unit 33 determines that the transmission of the request message has failed, the first transceiver 32 transmits the next request message at a transmission interval longer than the transmission interval indicated by the transmission interval data 93 in the nonvolatile memory 12. This reduces the probability that the transmission of the next request message will fail. Because the transmission interval data 93 is stored in the nonvolatile memory 12, it will not be lost even if the first ECU 3 is automatically restarted.

[0044] If the success / failure determination unit 33 determines that the transmission of the request message has failed, the process requested by the request message may be changed to another process that has a lower processing load than the process indicated by the process content data 94 in the non-volatile memory 12, rather than changing the transmission interval. Even in this case, the probability that the transmission of the next request message will fail can be reduced. Because the process content data 94 is stored in the non-volatile memory 12, it will not be lost even if the first ECU 3 is automatically restarted.

[0045] Fig. 6 is a flowchart of the processing executed by the first ECU 3 and the second ECU 4. The left half of Fig. 6 is the processing executed by the first ECU 3. The right half of Fig. 6 is the processing executed by the second ECU 4. The first ECU 3 and the second ECU 4 repeatedly execute the processing shown in Fig. 6 to repeatedly send and receive request messages and response messages. First, the processing executed by the first ECU 3 will be described.

[0046] In step S100, the first transmitter / receiver 32 transmits a request message to the second ECU 4 requesting execution of a predetermined process. In step S110, the first transmitter / receiver 32 attempts to receive a response message transmitted by the second ECU 4. In step S120, the success / failure determination unit 33 determines whether the first transmitter / receiver 32 has successfully transmitted the request message. That is, it determines whether the first transmitter / receiver 32 has received the response message transmitted by the second ECU 4 in step S110 before a predetermined timeout period has elapsed since the request message was transmitted in step S100. If it is determined that the transmission of the request message has succeeded, the process proceeds to step S130.

[0047] In step S130, the first load calculation unit 31 calculates the processing load (load rate) of the first ECU 3. For simplicity's sake, it is assumed here that the calculation of the processing load (load rate) is performed only in step S130. However, as described above, in reality, the calculation of the processing load (load rate) is performed constantly at regular intervals, and the latest load rate is stored in the volatile memory 13. In step S140, the interval determination unit 34 determines the transmission interval of the request message based on the processing load of the first ECU 3 calculated in step S130 and the load information included in the response message received in step S110. The determined transmission interval is stored in the non-volatile memory 12. In step S150, the process selection unit 35 selects a predetermined process to be executed by the request message based on the processing load of the first ECU 3 calculated in step S130 and the load information included in the response message received in step S110. The content of the selected process is stored in the non-volatile memory 12.

[0048] On the other hand, if the success / failure determination unit 33 determines in step S120 that the transmission of the request message has failed, the process proceeds to step S160. In step S160, the interval determination unit 34 rewrites the transmission interval data 93 in the nonvolatile memory 12 to indicate a longer transmission interval. After that, when the time indicated by the transmission interval data 93 in the nonvolatile memory 12 has elapsed, the first ECU 3 executes the process shown in FIG. 6 again.

[0049] Next, the processing executed by the second ECU 4 will be described. In step S200, the second transceiver 42 receives the request message transmitted in step S100. In step S210, the processing execution unit 43 executes the processing requested by the request message received in step S200. In step S220, the second load calculation unit 41 calculates the processing load (load factor) of the second ECU 4. For simplicity's sake, it is assumed that the calculation of the processing load (load factor) is performed only in step S220. However, as described above, in reality, the calculation of the processing load (load factor) is performed at regular intervals, and the latest load factor is stored in the volatile memory 13. In step S230, the second transceiver 42 transmits a response message corresponding to the request message received in step S200 to the first ECU 3. This response message includes the result of the processing executed by the processing execution unit 43 in step S210 and information indicating the processing load (load factor) calculated by the second load calculation unit 41 in step S220.

[0050] According to the first embodiment, the following effects are achieved.

[0051] (1) The second ECU 4 (slave device) calculates the processing load of the second ECU 4 (slave device) and transmits a response message including load information related to the calculated processing load of the second ECU 4 (slave device) to the first ECU 3 (main device). The first ECU 3 (main device) calculates the processing load of the first ECU 3 (main device), receives the response message transmitted by the second ECU 4 (slave device), and determines the processing requested by the request message and the transmission interval of the request message based on the calculated processing load of the first ECU 3 (main device) and the load information contained in the received response message. This reduces the probability of data communication failure between devices, enabling more reliable data communication.

[0052] (2) The first ECU 3 (main device) stores the determined transmission interval in the nonvolatile memory 12, which is a nonvolatile storage device. When transmission of the request message fails, the first ECU 3 (main device) transmits the request message at a transmission interval longer than the transmission interval stored in the nonvolatile memory 12 (storage device). This allows the transmission interval to be calculated using the previous value, even when the device is stopped and restarted due to a transmission failure, thereby increasing the probability of successful transmission when retransmitting.

[0053] (3) The first ECU 3 (main device) stores the process requested by the determined request message in the nonvolatile memory 12, which is a nonvolatile storage device. If the transmission of the request message fails, the first ECU 3 (main device) transmits a request message requesting another process with a lower processing load than the process stored in the nonvolatile memory 12 (storage device). This allows the process to be requested of the second ECU 4 to be selected using the previous value, even when the device is stopped and restarted due to a process failure, thereby increasing the probability of successful execution of the process when retrying.

[0054] Second Embodiment A communication system according to a second embodiment of the present invention will be described with reference to Fig. 7. Note that components that are the same as or equivalent to those described in the first embodiment will be given the same reference symbols, and differences will be mainly described.

[0055] For example, it may be necessary to have the second ECU 4 execute a process requiring relatively large amounts of data, such as a firmware update process (update data) or a security authentication process (authentication data). In the second embodiment, multiple request messages corresponding to one process are prepared, and large amounts of data are divided and assigned to the multiple request messages. The first ECU 3 sequentially transmits the multiple request messages at a determined transmission interval. Since it would be inefficient to return a response message to each of the multiple request messages, the second ECU 4 returns a response message indicating whether the request messages up to that point have been successfully received each time a predetermined number of request messages are received or a predetermined time has elapsed. The second ECU 4 stores load information indicating the processing load of the second ECU 4 in the response message, as in the first embodiment. Even if the first ECU 3 is in the middle of consecutively transmitting multiple request messages corresponding to one process, the first ECU 3 receives a response message from the second ECU 4 and determines the transmission interval for subsequent request messages based on its own processing load and the load information included in the response message.

[0056] For example, suppose the first ECU 3 repeatedly transmits ten request messages corresponding to one process at a first transmission interval. When the first ECU 3 receives a response message from the second ECU 4 after transmitting three request messages, it is determined that the processing load of the second ECU 4 has increased. In this case, the first ECU 3 determines an appropriate transmission interval (longer than the transmission intervals for the first three request messages) as in the first embodiment, and switches to transmitting the fourth and subsequent request messages at the determined transmission interval.

[0057] When the second ECU 4 receives all of the request messages corresponding to one process, it starts executing that one process. The process thereafter is the same as in the first embodiment. That is, when the execution of that one process is completed, the second ECU 4 transmits a response message indicating the processing result to the first ECU 3. The first ECU 3 receives the response message, checks the processing result, and uses the load information contained in the response message to determine a new transmission interval or select the processing content.

[0058] FIG. 7 is a diagram similar to FIG. 5 and shows a communication sequence of data communication between the first ECU 3 and the second ECU 4. First, at time t11, the first ECU 3 transmits a first request message to the second ECU 4. After that, a certain time later, at times t12 and t13, the second and third request messages are transmitted, respectively. At time t14, when the second ECU 4 has received the third request message, it transmits a response message to the first ECU 3. At time t15, the first ECU 3 receives this response message and determines a new transmission interval. From time t16 onward, the fourth and subsequent request messages are transmitted sequentially based on the new transmission interval determined here.

[0059] According to the second embodiment, the following effects are achieved.

[0060] (1) The second ECU 4 (slave device) transmits one response message corresponding to the multiple request messages transmitted by the first ECU 3 (main device) to the first ECU 3 (main device) each time the second ECU 4 (slave device) receives one response message transmitted by the first ECU 4 (slave device). When the first ECU 3 (main device) receives one response message transmitted by the second ECU 4 (slave device), the first ECU 3 (main device) determines the transmission interval based on the calculated processing load of the first ECU 3 (main device) and the load information included in the received response message. This allows the transmission interval to be changed even during data communication, thereby changing the success rate of data communication and the time required for data transfer. As a result, for example, if the processing load increases, the transmission interval can be lengthened to prevent errors from occurring. Conversely, if the processing load decreases, the transmission interval can be shortened to reduce the time required for data transfer.

[0061] The following modified examples are also within the scope of the present invention, and it is possible to combine the configuration shown in the modified example with the configuration described in the above embodiment, to combine the configurations described in the different embodiments above, or to combine the configurations described in the different modified examples below.

[0062] <Variation 1> In the above-described embodiments, the first ECU 3 and the management PC 5 function as master devices that transmit request messages, and the second ECU 4 function as a slave device that transmits response messages. However, the present invention is not limited to these embodiments, and other devices may be used as master and slave devices. For example, the first ECU 3 and the management PC 5 may function as slave devices, and the second ECU 4 may function as a master device. Alternatively, a specific device may function as both a master and slave device.

[0063] <Variation 2> In the first and second embodiments, the size of the request message may be changed depending on the processing load of the first ECU 3 and the second ECU 4. For example, in the second embodiment, when large data is divided into multiple request messages and transmitted, if the processing load is high, the number of divisions may be increased to reduce the data size of each request message. The main device according to this modification determines the size of the request message based on the calculated processing load of the main device and the load information included in the received response message. The main device reduces the size of the request message as the processing load of the main device increases. Furthermore, the main device reduces the size of the request message as the processing load of the slave device increases. This configuration can further reduce the probability of failure of data communication between devices.

[0064] <Variation 3> The main device may determine the transmission interval by a method other than referring to a table. For example, a formula may be defined that includes each load factor as a variable, and the transmission interval may be determined by substituting the load factor into the formula. In this case, it is desirable to predefine a lower limit and an upper limit for the transmission interval, and to set the transmission interval to the lower limit if the transmission interval determined by the formula is below the lower limit, or to set the transmission interval to the upper limit if it is above the upper limit.

[0065] Although the embodiments of the present invention have been described above, the above embodiments merely illustrate some of the application examples of the present invention, and it is not intended that the technical scope of the present invention be limited to the specific configurations of the above embodiments. [Explanation of symbols]

[0066] 1...communication system, 2...vehicle, 3...first ECU, 4...second ECU, 5...management PC, 6...interface, 7...network, 11...processing device, 12...non-volatile memory, 13...volatile memory, 14...input / output interface, 31...first load calculation unit, 32...first transmission / reception unit, 33...success / failure determination unit, 34...interval determination unit, 35...processing selection unit, 41...second load calculation unit, 42...second transmission / reception unit, 43...processing execution unit

Claims

1. a main device that transmits a request message requesting execution of a predetermined process at a predetermined transmission interval; a slave device that receives the request message transmitted by the master device and transmits a response message corresponding to the received request message to the master device, The slave device Calculating a processing load of the slave device; transmitting the response message to the master device, the response message including load information relating to the calculated processing load of the slave device; The main device is Calculating a processing load of the main device; receiving the response message sent by the slave device; determining a process to be requested by the request message and the transmission interval of the request message based on the calculated processing load of the main device and the load information included in the received response message; Communication system.

2. 2. The communication system according to claim 1, the slave device transmits to the master device one response message corresponding to the plurality of request messages each time the slave device receives the plurality of request messages transmitted by the master device; when receiving the one response message transmitted by the slave device, the master device determines the transmission interval based on the calculated processing load of the master device and the load information included in the received one response message. Communication system.

3. 2. The communication system according to claim 1, The main device is storing the determined transmission interval in a non-volatile storage device; When transmission of the request message fails, the request message is transmitted at a transmission interval longer than the transmission interval stored in the storage device. Communication system.

4. 2. The communication system according to claim 1, The main device is storing the processing requested by the determined request message in a non-volatile storage device; When the transmission of the request message fails, the request message is transmitted to request another process having a lower processing load than the process stored in the storage device. Communication system.

5. 2. The communication system according to claim 1, the main device determines a size of the request message based on the calculated processing load of the main device and the load information included in the received response message. Communication system.

Citation Information

Patent Citations

  • Control apparatus for vehicle

    JP2005047488A

  • Method and apparatus for managing network, and program

    JP2006080615A

  • On-vehicle network system

    JP2014028547A

  • On-vehicle communication device and communication method

    JP2021039681A

  • Gateway device, data frame transmission method, and program

    WO2021014995A1