Communication device, communication method, and communication program

By dynamically adjusting the OTA Repro communication settings between the central ECU and the vehicle-mounted equipment ECU, the resource waste and interference problems caused by uneven communication load are solved, and efficient communication optimization is achieved.

JP7673648B2Active Publication Date: 2025-05-09TOYOTA JIDOSHA KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022003318
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-01-12
Publication Date
2025-05-09
Estimated Expiration
2042-01-12

AI Technical Summary

Technical Problem

During the OTA Repro process, the communication load between the central ECU and the ECUs of each vehicle-mounted equipment is uneven, resulting in improper communication speed setting, which may cause waste of resources or interfere with other important communications.

Method used

By measuring the current communication load, dynamically adjusting the number and interval of transmission frames, ensuring data transmission within the remaining capacity of the communication load, thereby optimizing communication settings.

Benefits of technology

It realizes dynamic adjustment of communication settings according to the communication load, thereby improving the efficiency of OTA Repro, ensuring efficient utilization of resources, and avoiding interference with other important communications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007673648000001
    Figure 0007673648000001
  • Figure 0007673648000002
    Figure 0007673648000002
  • Figure 0007673648000003
    Figure 0007673648000003
Patent Text Reader

Abstract

To provide a communication device, a communication method, and a communication program that perform a communication setting according to a communication load at the time of reprogramming from a central ECU to each ECU.SOLUTION: A central ECU 12 measures a bus load on a bus 22 through which data for reprogramming is transmitted, and controls communication so that data for reprogramming is transmitted to destination ECUs 14, 16, 18, and 20 via the bus 22 at the number of messages and transmission intervals determined based on the remaining capacity of the bus load obtained by subtracting the maximum value of the bus load from the upper limit of the bus load, which is a characteristic value of the bus 22.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a communication device, a communication method, and a communication program for updating software in an ECU (Electronic Control Unit). [Background technology]

[0002] The ECU, which is the control device for a vehicle, undergoes reprogramming (hereinafter abbreviated as "reprogramming"), which is an update of the control program, in the same way as electronic devices such as PCs (Personal Computers). In recent years, OTA (Over The Air) reprogramming (hereinafter abbreviated as "OTA reprogramming") has been put to practical use, in which the new program is obtained via wireless communication between a center that provides new programs and a DCM (Data Communication Module), which is an on-board wireless communication module, and the control program of the on-board ECU is reprogrammed.

[0003] Modern vehicles are equipped with a central ECU that controls important aspects such as driving and safety, and ECUs provided in each of the on-board devices such as the wiper system, steering mechanism, and air conditioning system. The central ECU and the ECUs of each of the on-board devices (hereinafter abbreviated as "each ECU") are connected to each other via a bus, and command signals from the central ECU can be input to each ECU. OTA reprogramming is performed not only for the central ECU but also for each ECU, but there are cases in which each ECU does not directly communicate with a center that provides new programs, and the central ECU obtains new programs from the center via a DCM, and the central ECU supplies the new programs to each ECU.

[0004] Patent Document 1 discloses an invention for communicating between a plurality of ECUs connected to a bus. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] JP 2014-194688 A Summary of the Invention [Problem to be solved by the invention]

[0006] However, the communication load of the bus is not uniform and can fluctuate. If the communication speed for reprocessing between the central ECU and each ECU is made uniform, the bus bandwidth cannot be fully used when the communication load of the bus is low, and reprocessing takes up unnecessary time. In addition, when the communication load of the bus is high compared to the communication speed of the reprocessing, the reprocessing communication occupies the bus bandwidth, which may hinder communication related to control between the central ECU other than the reprocessing and each ECU.

[0007] In consideration of the above, an object of the present invention is to provide a communication device, a communication method, and a communication program that perform communication settings according to the communication load when reprogramming from a central ECU to each ECU. [Means for solving the problem]

[0008] According to the first aspect The communication device includes a storage unit that stores transmission data for reprogramming, a maximum bus load value that is the maximum value of the bus load so far except when the transmission data is transmitted to a bus, and a bus load upper limit that is a value inherent to the bus, and a control unit that controls communication so that the transmission data is transmitted to a destination via the bus at a number of transmission frames and a transmission interval that are determined based on a bus load margin obtained by subtracting the maximum bus load value from the bus load upper limit. and when the measured bus load is equal to or less than the available capacity, the control unit changes the number of transmission frames and the transmission interval, respectively, and when the bus load calculated based on the number of transmission frames and the transmission interval after the changes exceeds the available capacity, controls communication so as to transmit the transmission data to the destination via the bus with the number of transmission frames and the transmission interval changed to the number that is one step before the stage at which the available capacity was exceeded. .

[0009] First aspect According to the present invention, by transmitting transmission data for reprogramming to a destination via a bus with a number of transmission frames and a transmission interval determined based on the available capacity of the bus load, rapid reprogramming is possible with communication settings according to the communication load. Furthermore, if the bus load exceeds the available capacity when the number of transmission frames and the transmission interval are changed, the bus load at the previous level of the number of transmission frames and the transmission interval, which exceed the available capacity, is estimated to be on the verge of using up the available capacity, enabling rapid reproduc- tion that makes the most of the bandwidth reserved for reproduc- tion as much as possible.

[0012] According to the second aspect In the communications device, the control unit executes the steps of: when the measured bus load is equal to or less than the available capacity, changing the transmission interval by subtracting a predetermined subtraction value from the current transmission interval when the current transmission interval exceeds a predetermined transmission interval lower limit; and when the current transmission interval is equal to or less than the transmission interval lower limit, changing the number of transmission frames by incrementing it by 1 and multiplying the changed number of transmission frames by a predetermined value to change the transmission interval, until the bus load calculated based on the number of transmission frames and transmission interval after the change exceeds the available capacity.

[0013] Second Aspect According to the method, by gradually changing the number of transmission frames and the transmission interval until the bus load exceeds the available capacity, it is possible to determine the number of transmission frames and the transmission interval that will result in the bus load just before the available capacity is used up.

[0014] According to the third aspect In the communications device, the control unit executes the steps of: when the measured bus load is equal to or less than the available capacity and when the current transmission interval exceeds a predetermined lower limit of the transmission interval, changing the transmission interval by subtracting a predetermined subtraction value from the current transmission interval; and when the current transmission interval is equal to or less than the lower limit of the transmission interval, changing the number of transmission frames by adding to the number of transmission frames a power of 2 calculated by subtracting 1 from the number of times it has been determined that the current transmission interval is equal to or less than the lower limit of the transmission interval, and changing the transmission interval by multiplying the lower limit of the transmission interval by 2 to obtain a new transmission interval, until the bus load calculated based on the number of transmission frames and the transmission interval after the change exceeds the available capacity.

[0015] Third aspect According to the present invention, by adding a power of two to the current number of transmission frames, it is possible to determine the number of transmission frames and the transmission interval that will result in a bus load just before the remaining capacity is used up more quickly than in the invention recited in claim 3.

[0016] According to the fourth aspectIn the communication device, the memory unit pre-stores a correspondence table that lists the number of transmission frames and the transmission interval corresponding to the available bus load, and the control unit refers to the correspondence table to determine the number of transmission frames and the transmission interval based on the available bus load.

[0017] Fourth aspect According to the method, the number of transmission frames and the transmission interval are determined by referring to the correspondence table. Second and third aspects Therefore, it is possible to determine the number of transmission frames and the transmission interval that will result in a bus load just before the remaining capacity is used up more quickly than before.

[0018] According to the fifth aspect In the communication device, when the measured bus load other than when the transmission data is transmitted to the bus is equal to or greater than the maximum bus load value, the control unit stores the measured bus load in the memory unit as a new maximum bus load value.

[0019] Fifth aspect According to the report, by updating the maximum bus load value in response to the dynamically changing bus load, reprogramming can be performed as quickly as possible while ensuring the bandwidth required for important communications between devices.

[0020] According to the sixth aspect The communication device transmits data for reprogramming a vehicle in which the communication device is installed.

[0021] Sixth Aspect According to this, the device mounted on the vehicle can be quickly reprogrammed.

[0022] According to the seventh aspect The communication method includes the steps of: measuring a bus load of a bus through which transmission data for reprogramming is transmitted; determining a number of transmission frames and a transmission interval of the transmission data based on a margin of the bus load obtained by subtracting a maximum bus load value, which is a maximum value of the bus load so far except when the transmission data is transmitted to the bus, from a bus load upper limit, which is a value inherent to the bus; and controlling communication so that the transmission data is transmitted to a destination via the bus at the determined number of transmission frames and transmission interval. and when the measured bus load is equal to or less than the available capacity, the number of transmission frames and the transmission interval are changed, and when the bus load calculated based on the number of transmission frames and the transmission interval after the change exceeds the available capacity, the communication is controlled so that the transmission data is transmitted to the destination via the bus at the number of transmission frames and the transmission interval that have been changed to the number that is one step before the stage at which the available capacity was exceeded. .

[0023] Seventh aspect According to the method, by transmitting transmission data to a destination via a bus with a transmission frame count and transmission interval determined based on the spare capacity of the bus load, rapid reprogramming is possible with communication settings according to the communication load. This also enables faster reproductions by making the most of the bandwidth reserved for reproductions.

[0024] According to the eighth aspect The communication program functions as a control unit that controls communication so as to measure a bus load of a bus through which transmission data for reprogramming is transmitted, and transmits the transmission data to a destination via the bus at a transmission frame number and transmission interval determined based on a bus load margin obtained by subtracting a bus load maximum value, which is the maximum value of the bus load to date except when the transmission data is transmitted to the bus, from a bus load upper limit, which is a value inherent to the bus. wherein the control unit changes the number of transmission frames and the transmission interval when the measured bus load is equal to or less than the available capacity, and when the bus load calculated based on the number of transmission frames and the transmission interval after the changes exceeds the available capacity, controls communication so that the transmission data is transmitted to the destination via the bus at the number of transmission frames and the transmission interval that have been changed to the stage before the stage at which the available capacity was exceeded.

[0025] Eighth aspect According to the method, by transmitting transmission data to a destination via a bus with a transmission frame count and transmission interval determined based on the spare capacity of the bus load, rapid reprogramming is possible with communication settings according to the communication load. This also enables rapid reproduction by making the most of the bandwidth reserved for reproduction. Effect of the Invention

[0026] As described above, according to the communication device, the communication method, and the communication program of the present invention, communication settings can be made according to the communication load when reprogramming from the central ECU to each ECU. [Brief description of the drawings]

[0027] [Figure 1] 1 is a block diagram showing an example of a configuration of a communication device according to a first embodiment of the present invention. [Diagram 2] 4 is a flowchart showing an example of processing in a central ECU of the communication device according to the first embodiment of the present invention. [Diagram 3] 1 is a table showing bus loads corresponding to transmission intervals. [Figure 4] 10 is a flowchart showing an example of processing in a central ECU of a communication device according to a second embodiment of the present invention. [Diagram 5] 13 is a flowchart showing an example of processing in a central ECU of a communication device according to a third embodiment of the present invention. [Figure 6] 13 is a table showing the correspondence between the number of messages and the transmission interval with respect to the spare capacity of the bus load. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0028] [First embodiment] The communication device 100 according to this embodiment will be described below. Fig. 1 is a block diagram showing an example of the configuration of the communication device 100 mounted on a vehicle 200. The communication device 100 includes a wireless communication module (DCM) 12 that acquires data such as a repro program from a center 50 via wireless communication, a central ECU 10 that controls important matters such as the running and safety of the vehicle 200, and ECUs 14, 16, 18, and 20 (hereinafter abbreviated as "ECMs 14-20" as necessary) that respectively control on-board devices such as a wiper device, a steering mechanism, and an air conditioner. The DCM 12 and the central ECU 10, and the central ECU 10 and the ECUs 14-20 are connected by buses 22.

[0029] The DCM 12 includes an OTA repro software download function unit 12A that obtains repro data from the center 50 via wireless communication, and a memory 12B for storing the data obtained from the center 50. The OTA repro software download function unit 12A of the DCM 12 is controlled by a CPU 10A provided in the central ECU 10, as will be described later.

[0030] The central ECU 10 includes a central processing unit (CPU) 10A for performing arithmetic processing, a read only memory (ROM) 10B, a random access memory (RAM) 10C for storing data necessary for the arithmetic processing in the CPU 10A, and a storage device 10D.

[0031] The ROM 10B is a non-volatile storage device that stores a startup program such as a basic input / output system (BIOS), and when the central ECU 10 starts up, the CPU 10A executes the startup program stored in the ROM 10B.

[0032] The RAM 10C is a volatile storage device for temporarily holding (loading) data such as programs stored in the storage device 10D etc., and the CPU 10A reads and executes the data such as programs loaded into the RAM 10C.

[0033] The storage device 10D is a non-volatile storage device such as a flash memory or a hard disk drive (HDD) that stores data such as reproductive programs acquired by the DCM 12.

[0034] For example, by executing a communication program stored in the storage device 10D, the CPU 10A functions as an OTA repro master function that controls the OTA repro software download function unit so that communication between the center 50 and the DCM 12 and data such as a repro program from the center 50 are appropriately acquired, and a frame relay function that controls communication that relays communication frames of data acquired by the DCM 12 and stored in the memory 12B to the ECUs 10-14 and measures the load on the bus 22. By executing the communication program, the CPU 10A functions as a frame relay function unit 10A1 and an OTA repro master function unit 10A2.

[0035] As described above, the ECUs 14 to 20 are control devices of the respective in-vehicle devices, and each includes a memory 14A to 20A which is a storage device for storing a control program, etc. The capacity of the memories 14A to 20A differs depending on the role of the ECUs 14 to 20. For example, the memories 14A and 16A included in the ECUs 14 and 16 are two-sided memories, while the memories 18A and 20A included in the ECUs 18 and 20 are one-sided memories.

[0036] Next, the operation of the process of the communication device 100 according to the present embodiment will be described. Fig. 2 is a flowchart showing an example of the process in the central ECU 10 of the communication device 100 according to the present embodiment. The process shown in Fig. 2 is executed immediately before the central ECU 10 reprograms each of the ECUs 14 to 20.

[0037] In step S100, the center 50 requests the OTA repro master function unit 10A2 of the CPU 10A of the central ECU 10 via the DCM 12 to distribute OTA update data, which is data for OTA repro.

[0038] In step S102, frame relay function unit 10A1 of CPU 10A sets the transmission interval of communication frames in reprogression to an initial value, and sets the number of messages for reprogression (hereinafter abbreviated as "number of messages"), which is the number of frames transmitted from central ECU 10 to ECUs 14-20, to 1. The initial value of the transmission interval is 12 ms, as an example. The specific initial value differs depending on the configuration of communication device 100, and is therefore specifically determined by simulation at the design stage or experiments using an actual device. When the transmission interval is set to 12 ms and the number of messages is set to 1 as the initial state, the bus load is 1.6% (see equation (1) below).

[0039] In step S104, the frame relay function unit 10A1 of the central ECU 10 measures the bus load of each of the ECUs 14 to 20. As an example, the frame relay function unit 10A1 calculates the load of each of the buses 22 by measuring the transmission interval of frames passing through each of the buses 22. Specifically, when the transmission interval per frame is x, the bus load y is calculated by the following formula (1). y=20 / x …(1)

[0040] Furthermore, the frame relay function unit 10A1 stores the calculated maximum bus load in the storage device 10D. The maximum bus load in this embodiment is the maximum bus load when reprocessing is not being performed. In other words, the communication bandwidth related to vehicle control, such as communication between ECUs, is guaranteed in the bus 22 up to the load that is the maximum bus load.

[0041] In step S106, frame relay functional unit 10A1 compares the measured bus load calculated in step S104 with the maximum value of the past bus load stored in storage device 10D. In step S106, if the maximum value of the past bus load is greater than the measured bus load, the process proceeds to step S110, and if the maximum value of the past bus load is equal to or less than the measured bus load, the process proceeds to step S108.

[0042] In step S108, the measured bus load is stored as a new maximum value in the storage device 10D, and the procedure proceeds to step S110.

[0043] In step S110, the bus load margin is calculated. The bus load has an upper limit in order to maintain communication quality, and the repro communication load is set within a range that does not exceed the upper limit of the bus load. Specifically, the margin (%) is a value obtained by subtracting the highest value of the past bus load from the bus load upper limit, which is a value specific to the bus 22. The bus load upper limit is stored in the storage device 10D in advance. In step S110, the difference between the bus load upper limit and the highest value of the past bus load is calculated, rather than the difference between the bus load upper limit and the measured bus load, because the measured bus load fluctuates greatly, and there is a problem with the reliability of the margin calculated using the measured bus load. The measured bus load can theoretically range from a minimum value close to 0 to a maximum value that exceeds the highest value of the past bus load. Therefore, if the difference between the measured bus load temporarily calculated in step S104 and the bus load upper limit is treated as the margin of the bus load, it becomes difficult to safely set the transmission interval of the communication frame indicating the communication speed of the bus 22. In this embodiment, the difference between the bus load upper limit and the highest past bus load is set as the bus load margin, thereby ensuring the communication band related to vehicle control such as communication between ECUs, and setting the number of messages and transmission intervals that are likely to ensure reliable reprogramming. As an example, the bus load upper limit is about 60%.

[0044] In step S112, it is determined whether the bus load margin calculated in step S110 is equal to or greater than the increased bus load. The initial value of the increased bus load is 0, and it changes through the procedures of steps S114 to S122, which will be described later. In step S112, if the bus load margin is equal to or greater than the increased bus load, the procedure proceeds to step S114, and if the bus load margin is equal to or less than the increased bus load, the procedure proceeds to step S124.

[0045] In step S114, updating of the transmission interval and the number of messages is started. The specific procedure is performed in steps S116 to S120, but in step S114, the transmission interval and the number of messages set in steps S116 to S120 described later are held, and if the spare bus load is less than the increased bus load in step S112, the transmission interval and the number of messages held in step S114 are adopted in step S124.

[0046] In step S116, it is determined whether the current transmission interval is greater than the lower limit of the transmission interval. In order to shorten the reprocessing time, which is the time required for reprocessing, it is effective to shorten the transmission interval. However, if the transmission interval is too short, there is a risk of overwriting occurring in the buffer provided in the frame relay function unit 10A1. In this embodiment, a lower limit of the transmission interval is set so that the transmission interval of the frame in the reprocessing does not fall below the lower limit. The lower limit of the transmission interval differs depending on the configuration of the communication device 100, particularly the configuration of the bus 22, but is 5 ms as an example. In step S116, if the current transmission interval is greater than the lower limit of the transmission interval, the procedure proceeds to step S118, and if the current transmission interval is equal to or less than the lower limit of the transmission interval, the procedure proceeds to step S120.

[0047] In step S118, since there is a margin in the transmission interval, in order to shorten the reprocessing time, the transmission interval is shortened by a predetermined subtraction value, and the procedure proceeds to step S122. The predetermined subtraction value is, for example, 1 ms.

[0048] In step S120, since the transmission interval is equal to or less than the lower limit, the reprocessing time is shortened by increasing the number of messages, which is the number of frames to be transmitted. For example, the number of messages is incremented by 1, and the transmission interval is set to a value obtained by multiplying a predetermined value by the incremented number of messages.

[0049] More specifically, in step S120, the following procedure is executed. In the first loop in which the procedure in step S120 is executed, the number of messages is 1 and the transmission interval is the lower limit of 5 ms. In this case, the bus load is 4%. In step S120, the number of messages is incremented by 1 to set it to 2, and the transmission interval is set to a predetermined value multiplied by 2. The predetermined value for the transmission interval is, for example, the initial value of 12 ms. When the predetermined value is 12 ms, the transmission interval is 24 ms and the bus load is 1.6%.

[0050] In step S122, the increased bus load is calculated. The bus load can be calculated by the above-mentioned formula (1), but a table such as that shown in Fig. 3 may be stored in advance in the storage device 10D or the like, and the increased bus load may be determined in step S122 by referring to the table.

[0051] As an example, when the bus load margin calculated in step S110 is 10%, the bus load calculated in the first loop is 1.6%, so an affirmative determination is made in step S112 and the procedure proceeds to step S114. In step S114, the number of messages, 2, and the transmission interval, 24 ms, set in step S120 of the first loop are maintained.

[0052] Since the transmission interval of 24 ms set in step S120 of the first loop is greater than the lower limit of the transmission interval of 5 ms, an affirmative decision is made in step S116 and the procedure proceeds to step S118.

[0053] In step S118, the transmission interval is shortened by 1 ms and the procedure proceeds to step S122, where the increased bus load is calculated. Thereafter, the procedures of steps S112, S114, S116, S118, and S122 are repeated until the transmission interval at which a negative determination is made in step S116 becomes 5 ms or less. In this embodiment, for example, when the current transmission interval becomes 5 ms in step S116, the procedure proceeds to step S120, and a second loop of processing is executed again to execute the procedure of step S120.

[0054] Once again, if the number of messages is 2 and the transmission interval is the lower limit of 5 ms at the start of the second loop in which step S120 is executed, the bus load will be 8%. In step S120, the number of messages is incremented by 1 to set it to 3, and the transmission interval is set to the predetermined value of 12 ms multiplied by 3. The transmission interval for sending three messages will be 36 ms, so the bus load will be 1.6%.

[0055] Thereafter, the procedure from steps S112 to S122 is repeated as in the first loop of step S120. If the number of messages is 3 and the transmission interval is 36 ms in the second loop of step S120, performing the procedure from steps S112 to S122 30 times will result in a number of messages of 3 and a transmission interval of 6 ms. In this case, the increased bus load calculated in step S122 will be approximately 9.9%.

[0056] When steps S112 to S122 are performed once more, in step S114, the number of messages is 3 and the transmission interval is 6 ms when steps S112 to S122 are performed 30 times. Then, when steps S116 to S122 are performed once more, the number of messages is 3 and the transmission interval is 5 ms. In this case, the increased bus load calculated in step S122 is 12%.

[0057] If the bus load margin is 10%, the bus load of 12% calculated after performing two loops of step S120 and performing the procedure of steps S112 to S122 31 times exceeds the margin of 10%, resulting in a state in which there is absolutely no margin in the bandwidth of the bus 22 when actually performing reproduc- tion. In such a case, in step S124, the number of messages of 3 and the transmission interval of 6 ms held in step S114 are adopted. When the procedure moves to step S124, the increased bus load calculated in step S122 exceeds the margin of capacity, but the number of messages and the transmission interval held in step S114 indicate a state in which the bus load has increased to just before the margin of capacity, as described above. In this embodiment, the bus load is determined based on the number of messages and the transmission interval estimated to have increased to just before the margin of capacity, and reproduc- tion is performed.

[0058] In step S126, reprocessing is performed in accordance with the number of messages and the transmission interval determined in step S124, and the process ends.

[0059] As described above, according to this embodiment, before performing reprogramming, the number of messages and the transmission interval are adjusted while monitoring the increased bus load on the bus 22, thereby determining the number of messages and the transmission interval when the bus load has increased to the point where the bus 22 is close to its spare capacity. If the state of the bus 22 is close to its spare capacity when reprogramming is performed, this means that the bandwidth of the bus 22 has been fully utilized when performing reprogramming, and by setting communications according to the communications load, reprogramming can be performed as quickly as possible.

[0060] In addition, even if reproduc- tion uses up almost all of the available capacity of bus 22, the bandwidth for communication between ECUs other than reproduc- tion is guaranteed, so reproduc- tion can be performed quickly without impeding the communication required for device control.

[0061] [Second embodiment] Next, a second embodiment of the present invention will be described. As shown in Fig. 4, this embodiment differs from the first embodiment in that steps S120A, S120B, and S120C are executed instead of step S120 in Fig. 2, but other configurations and processes executed by the central ECU 10 are the same as those in the first embodiment, and detailed descriptions thereof will be omitted.

[0062] In step S120A, the current number of messages is multiplied by 2. i where i is the number of loops and its initial value is 0. In other words, i is an exponent obtained by subtracting 1 from the number of times that it was determined in step S116 that the current transmission interval is equal to or smaller than the lower limit of the transmission interval.

[0063] In step S120B, the transmission interval is set to twice the lower limit of the transmission interval. The lower limit of the transmission interval differs depending on the configuration of the communication device 100, particularly the configuration of the bus 22, but is, for example, 5 ms.

[0064] In step S120C, i is incremented by 1, and the procedure proceeds to step S122.

[0065] In the first loop in which the procedure of steps S120A to S120C is executed for the first time, i=0, the number of messages is 1, and the transmission interval is the lower limit of 5 ms. In this case, the bus load is 4%. In step S120A, the current number of messages is increased by 2. 0 = 1 is added to make the number of messages 2. In step S120B, the transmission interval is set to 10 ms, which is the lower limit of the transmission interval, multiplied by 2, 5 ms. Then, in step S120C, i is incremented by 1 to make i = 1. As a result, the transmission interval for sending two messages becomes 10 ms, and the bus load becomes 4%.

[0066] In step S122, the increased bus load is calculated. The bus load can be calculated by the above-mentioned formula (1), but a table such as that shown in Fig. 3 may be stored in advance in the storage device 10D or the like, and the increased bus load may be determined in step S122 by referring to the table.

[0067] As in the first embodiment, when the bus load margin calculated in step S110 is 10%, the bus load calculated in the first loop is 4%, so an affirmative determination is made in step S112 and the procedure proceeds to step S114. In step S114, the number of messages, 2, and the transmission interval, 10 ms, set in steps S120A to S120C in the first loop are maintained.

[0068] Since the transmission interval of 10 ms set in steps S120A to S120C of the first loop is greater than the lower limit of the transmission interval of 5 ms, an affirmative decision is made in step S116 and the procedure proceeds to step S118.

[0069] In step S118, the transmission interval is shortened by 1 ms and the procedure proceeds to step S122, where the increased bus load is calculated. Thereafter, the procedures of steps S112, S114, S116, S118, and S122 are repeated until the transmission interval at which a negative determination is made in step S116 becomes 5 ms or less. In this embodiment, for example, when the current transmission interval becomes 5 ms in step S116, the procedure proceeds to step S120A, and a second loop of processing is executed again, which executes the procedures of steps S120A to S120C.

[0070] In the second loop in which the procedure of steps S120A to S120C is executed again, if i=1, the number of messages is 2, and the transmission interval is the lower limit of 5 ms, the bus load is 8%. 1 to set the number of messages to 4. In step S120B, the transmission interval is set to 10 ms, which is the lower limit of the transmission interval, 5 ms, multiplied by 2. Then, in step S120C, i is incremented by 1 to set i=2. As a result, the transmission interval for sending four messages becomes 10 ms, and the bus load becomes 8%.

[0071] Thereafter, the procedure of steps S112 to S122 is repeated in the same manner as the first loop of steps S120A to S120C. If the number of messages is 4 and the transmission interval is 10 ms in the second loop of steps S120A to S120C, performing the procedure of steps S112 to S122 twice will result in the number of messages being 4 and the transmission interval being 8 ms. In this case, the increased bus load calculated in step S122 will be 10%.

[0072] When steps S112 to S122 are performed once more, in step S114, the number of messages is 4 and the transmission interval is 8 ms when steps S112 to S122 are performed twice, and the results are retained. Then, when steps S116 to S122 are performed once more, the number of messages becomes 4 and the transmission interval becomes 7 ms. In this case, the increased bus load calculated in step S122 is 11.4%.

[0073] If the bus load margin is 10%, the bus load of 11.4% calculated after performing steps S120A-S120C twice and then performing steps S112-S122 three times exceeds the margin of 10%, resulting in a state in which there is absolutely no margin in the bandwidth of bus 22 when actually performing reprogramming. In such a case, in step S124, the number of messages is 4 and the transmission interval is 8 ms, which are obtained when steps S112-S122 are performed twice, and reprogramming is performed in step S126, before terminating the process.

[0074] As described above, according to this embodiment, by changing the number of messages and the transmission interval using a calculation method different from that of the first embodiment before performing reprogramming, it is possible to determine the number of messages and the transmission interval when the bus load has increased to the point where the bus 22 is close to its spare capacity more quickly than in the first embodiment.

[0075] [Third embodiment] Next, a third embodiment of the present invention will be described. As shown in Fig. 5, this embodiment differs from the first embodiment in that step S120D is executed instead of steps S114 to S122 in Fig. 2, but other configurations and processes executed by the central ECU 10 are the same as those in the first embodiment, and detailed description thereof will be omitted.

[0076] In step S120D, a correspondence table of the number of messages and transmission intervals for the available bus load as shown in FIG. 6 is read.

[0077] In step S124, the number of messages and the transmission interval corresponding to the bus load margin calculated in step S110 are selected from a message number / transmission interval correspondence table for bus load margin and adopted, and reprogramming is performed in step S126, and the process ends.

[0078] As described above, according to this embodiment, it is not necessary to calculate the number of messages and the transmission interval when the bus load has increased to almost the limit of the bus 22 by looped calculation processing as in the first and second embodiments, so it is possible to determine the transmission interval when the bus load has increased to almost the limit of the bus 22 more quickly than in the first and second embodiments.

[0079] In addition, the "transmitted data" described in the claims corresponds to the "OTA update data" described in the detailed description of the invention in the specification, the "memory unit" described in the claims corresponds to the "memory device 10D" described in the claims, the "control unit" corresponds to the "central ECU 10" described in the claims, the "number of transmitted frames" corresponds to the "number of messages" described in the claims, and the "destination" corresponds to the "ECUs 14, 16, 18, 20" described in the claims.

[0080] In addition, the processing executed by the CPU after reading the software (program) in each of the above embodiments may be executed by various processors other than the CPU. In this case, examples of the processor include a PLD (Programmable Logic Device) such as an FPGA (Field-Programmable Gate Array) whose circuit configuration can be changed after manufacture, and a dedicated electric circuit such as an ASIC (Application Specific Integrated Circuit) which is a processor having a circuit configuration designed exclusively for executing a specific processing. In addition, the processing may be executed by one of these various processors, or may be executed by a combination of two or more processors of the same or different types (for example, a plurality of FPGAs, a combination of a CPU and an FPGA, etc.). In addition, the hardware structure of these various processors is, more specifically, an electric circuit that combines circuit elements such as semiconductor elements.

[0081] In each of the above embodiments, the program is pre-stored (installed) in the storage device 10D or the like, but the present invention is not limited to this. The program may be provided in a form stored in a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. The program may also be downloaded from an external device via a network.

[0082] (Additional note 1) Memory, at least one processor coupled to the memory; Including, The processor, measuring a bus load of a bus through which transmission data for reprogramming is transmitted, and transmitting the transmission data to the bus with a number of transmission frames and a transmission interval determined based on a margin of bus load obtained by subtracting a maximum bus load value, which is the highest value of the bus load to date, from a bus load upper limit, which is a value inherent to the bus; 2. A communication device configured as follows: [Explanation of symbols]

[0083] 10 Central ECU 10A CPU 10A1 Frame relay function unit 10A2 Repromaster function section 10B ROM 10C RAM 10D storage device 12 Wireless communication module 12A Reproduction software download function section 12B memory 14, 16, 18, 20 ECU 22 Bus 50 Center 100 Communication equipment 200 vehicles

Claims

1. a storage unit for storing transmission data for reprogramming, a maximum bus load value which is a maximum value of a bus load so far other than when the transmission data is transmitted to a bus, and a bus load upper limit which is a value inherent to the bus; a control unit that controls communication so as to transmit the transmission data to a destination via the bus at a number of transmission frames and a transmission interval that are determined based on a margin of bus load obtained by subtracting the maximum bus load value from the upper bus load limit; Including, The control unit controls communications so that, when the measured bus load is equal to or less than the available capacity, the number of transmission frames and the transmission interval are changed, and when the bus load calculated based on the number of transmission frames and the transmission interval after the changes exceeds the available capacity, the transmission data is transmitted to the destination via the bus at the number of transmission frames and the transmission interval that have been changed to the stage before the stage at which the available capacity was exceeded.

2. The communication device of claim 1, wherein the control unit executes the steps of: when the measured bus load is equal to or less than the available capacity and when the current transmission interval exceeds a predetermined lower limit of the transmission interval, changing the transmission interval by subtracting a predetermined subtraction value from the current transmission interval; and when the current transmission interval is equal to or less than the lower limit of the transmission interval, changing the number of transmission frames by incrementing the number of transmission frames by one and multiplying the changed number of transmission frames by a predetermined value to change the transmission interval, until the bus load calculated based on the number of transmission frames and transmission interval after the change exceeds the available capacity.

3. The communication device of claim 1, wherein the control unit performs the steps of: when the measured bus load is equal to or less than the available capacity and the current transmission interval exceeds a predetermined lower limit of the transmission interval, changing the transmission interval by subtracting a predetermined subtraction value from the current transmission interval; and when the current transmission interval is equal to or less than the lower limit of the transmission interval, changing the number of transmission frames by adding a power of 2 calculated by subtracting 1 from the number of times it has been determined that the current transmission interval is equal to or less than the lower limit of the transmission interval to the number of transmission frames, and multiplying the lower limit of the transmission interval by 2 to obtain a new transmission interval, until the bus load calculated based on the number of transmission frames and the transmission interval after the change exceeds the available capacity.

4. The storage unit pre-stores a correspondence table indicating a number of transmission frames corresponding to a bus load margin and a transmission interval, The communication device according to claim 1 , wherein the control unit determines the number of transmission frames and the transmission interval based on the available capacity by referring to the correspondence table.

5. A communication device as described in any one of claims 1 to 4, wherein the control unit stores the measured bus load in the memory unit as a new maximum bus load value when the measured bus load is equal to or greater than the maximum bus load value other than when the transmission data is transmitted to the bus.

6. A communication device described in any one of claims 1 to 5, wherein the transmission data is data for reprogramming a vehicle in which the communication device is installed.

7. A step of measuring a bus load of a bus through which transmission data for reprogramming is transmitted; a step of determining the number of transmission frames and the transmission interval of the transmission data based on a bus load margin obtained by subtracting a maximum bus load value, which is the maximum value of the bus load to date except when the transmission data is transmitted to the bus, from a bus load upper limit, which is a value inherent to the bus; a step of controlling communication so as to transmit the transmission data to a destination via the bus at the determined number of transmission frames and transmission intervals; Including, A communications method in which, when a measured bus load is equal to or less than the available capacity, the number of transmission frames and the transmission interval are changed, and, when the bus load calculated based on the number of transmission frames and the transmission interval after the changes exceeds the available capacity, the transmission data is transmitted to the destination via the bus at the number of transmission frames and the transmission interval that have been changed to the stage just before the stage at which the available capacity was exceeded.

8. A computer comprising: A communication program for causing a control unit to function as a control unit for controlling communication so as to measure a bus load of a bus through which transmission data for reprogramming is transmitted, and transmit the transmission data to a destination via the bus at a transmission frame number and transmission interval determined based on a bus load margin obtained by subtracting a bus load maximum value, which is the maximum value of the bus load to date except when the transmission data is transmitted to the bus, from a bus load upper limit, which is a value inherent to the bus, The control unit is a communications program that controls communications so as to change the number of transmission frames and the transmission interval when the measured bus load is equal to or less than the available capacity, and when the bus load calculated based on the number of transmission frames and the transmission interval after the changes exceeds the available capacity, transmit the transmission data to the destination via the bus at the number of transmission frames and the transmission interval that have been changed to the stage before the stage at which the available capacity was exceeded.

Citation Information

Patent Citations

  • Program rewriting method of electronic control device, electronic control device, and rewriting device

    JP2014194688A

  • Relay device, communication system, transmission method, and computer program

    JP2018046515A

  • Master device for vehicle, method for managing group to be re-written, program for managing group to be re-written, and data structure of specification data

    JP2020027633A

  • Determining feasibility of a network service using a ring analysis

    US8699328B1