In-vehicle network system and electronic control device
The in-vehicle network system manages dynamic messages by allocating bandwidths based on priority requests, preventing excessive load and maintaining communication quality through balanced message transmission.
Patent Information
- Application Number
- JP2024090126
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-03
- Publication Date
- 2025-12-15
AI Technical Summary
The communication load on an in-vehicle network system increases when an increased number of dynamic messages are sent per unit time, potentially degrading communication quality.
An in-vehicle network system with a master electronic control unit that allocates a second bandwidth to slave units based on priority requests, ensuring that the total data length of dynamic messages does not exceed the allocated bandwidth, while maintaining a separate first bandwidth for static messages.
This approach prevents excessive communication load, maintaining communication quality by adjusting the number of dynamic messages transmitted per unit time, ensuring both static and dynamic messages are effectively managed within their respective bandwidths.
Smart Images

Figure 2025182515000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an in-vehicle network system including a plurality of electronic control units, and to electronic control units that constitute the in-vehicle network system. [Background technology]
[0002] The system disclosed in Patent Document 1 includes multiple subscriber stations and communication connections. Each of the multiple subscriber stations can transmit and receive dynamic messages in addition to transmitting and receiving static messages via the communication connections. This allows the system to perform communications that were not anticipated at the system design stage. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6646725 Summary of the Invention [Problem to be solved by the invention]
[0004] When software in a subscriber station is updated, the subscriber station may send an increased number of dynamic messages per unit time to a communication connection. In such a system, the greater the number of dynamic messages sent per unit time from multiple subscriber stations to a communication connection, the greater the communication load on the system. If the communication load on the system becomes excessive, the communication quality of the system may be degraded. [Means for solving the problem]
[0005] An in-vehicle network system for solving the above problems is a system including a plurality of electronic control units configured to be able to send and receive static messages and dynamic messages via a communication bus. In the in-vehicle network system, the sum of the data lengths of the static messages sent to the communication bus per unit time does not exceed a first bandwidth of the communication bus. The bandwidth of the communication bus excluding the first bandwidth is a second bandwidth. The plurality of electronic control units are configured to send a plurality of the dynamic messages to the communication bus. One of the plurality of electronic control units is a master electronic control unit, and the electronic control units other than the master electronic control unit are slave electronic control units. The slave electronic control unit sends request information to the master electronic control unit, the request information including the number of dynamic messages of a first priority and the number of dynamic messages of a second priority lower than the first priority, among the dynamic messages that it will send to the communication bus. The master electronic control unit acquires first request information, which is information including the number of dynamic messages of the first priority and the number of dynamic messages of the second priority, among the dynamic messages that the master electronic control unit transmits to the communication bus, receives second request information, which is the request information transmitted from the slave electronic control unit, allocates the second bandwidth to the plurality of electronic control units based on the first request information and the second request information so that an allocation amount to an electronic control unit having a large number of dynamic messages of the first priority is larger than an allocation amount to an electronic control unit having a small number of dynamic messages of the first priority, and transmits bandwidth information, which is information regarding the allocation amount of the second bandwidth to the slave electronic control unit, to the slave electronic control unit. Each of the plurality of electronic control units adjusts the number of dynamic messages that it transmits to the communication bus per unit time so that the sum of the data lengths of the dynamic messages that it transmits to the communication bus per unit time does not exceed the allocation amount of the second bandwidth allocated to it.
[0006] The electronic control device for solving the above problem is a device constituting an in-vehicle network system including a plurality of electronic control devices that transmit and receive static messages and dynamic messages via a communication bus. The sum of the data lengths of the static messages transmitted to the communication bus per unit time does not exceed a first bandwidth of the communication bus. The bandwidth of the communication bus excluding the first bandwidth is a second bandwidth. The electronic control device is equipped with a processing circuit. The processing circuit acquires first request information, which is information including the number of dynamic messages of a first priority and the number of dynamic messages of a second priority lower than the first priority, among the dynamic messages transmitted by the electronic control device itself to the communication bus; receives second request information, which is information transmitted by another electronic control device constituting the in-vehicle network system and includes the number of dynamic messages of the first priority and the number of dynamic messages of the second priority, among the dynamic messages transmitted by the other electronic control device to the communication bus; and performs processing based on the first request information and the second request information before configuring the in-vehicle network system. The method performs the following operations: allocating the second bandwidth to the plurality of electronic control devices so that the allocation amount to an electronic control device with a large number of the first priority dynamic messages is greater than the allocation amount to an electronic control device with a small number of the first priority dynamic messages; transmitting bandwidth information, which is information regarding the allocation amount of the second bandwidth to the other electronic control devices, to the other electronic control devices; and adjusting the number of the dynamic messages per unit time to be transmitted to the communication bus so that the total data length of the dynamic messages transmitted to the communication bus per unit time does not exceed the allocation amount of the second bandwidth to itself.
[0007] An electronic control device for solving the above problem is a device constituting an in-vehicle network system including multiple electronic control devices that transmit and receive static messages and dynamic messages via a communication bus. The sum of the data lengths of the static messages transmitted to the communication bus per unit time does not exceed a first bandwidth of the communication bus. The bandwidth of the communication bus excluding the first bandwidth is a second bandwidth. The electronic control device includes a processing circuit. The processing circuit executes the following operations: transmits request information to other electronic control devices constituting the in-vehicle network system, the request information including the number of dynamic messages of a first priority and the number of dynamic messages of a second priority lower than the first priority, among the dynamic messages transmitted by the electronic control device to the communication bus; receives bandwidth information transmitted by the other electronic control devices, the bandwidth information being information regarding an allocation amount of the second bandwidth to the electronic control device; and adjusts the number of the dynamic messages transmitted to the communication bus per unit time so that the sum of the data lengths of the dynamic messages transmitted to the communication bus per unit time does not exceed the allocation amount of the second bandwidth to the electronic control device. [Effects of the Invention]
[0008] To suppress a decrease in communication quality even when the number of types of dynamic messages to be transmitted and received between a plurality of electronic control devices increases. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram showing an in-vehicle network system according to an embodiment. [Figure 2] FIG. 2 is a schematic diagram showing the data structure of a static message. [Figure 3] FIG. 3 is a schematic diagram showing the data structure of a dynamic message. [Figure 4] FIG. 4 is a schematic diagram showing the allocation of bandwidths of the communication buses that make up the in-vehicle network system of FIG. [Figure 5]FIG. 5 is a flowchart showing a series of processes executed by the master electronic control unit that constitutes the in-vehicle network system of FIG. [Figure 6] FIG. 6 is a flowchart showing a series of processes executed by the slave electronic control unit that constitutes the in-vehicle network system of FIG. [Figure 7] FIG. 7 is a table showing an example of the operation of the in-vehicle network system of FIG. DETAILED DESCRIPTION OF THE INVENTION
[0010] An embodiment of an in-vehicle network system and an electronic control device will be described below with reference to FIGS. <Configuration of in-vehicle network system> FIG. 1 shows an in-vehicle network system 10 mounted on a vehicle. The in-vehicle network system 10 includes multiple electronic control units 20. Each of the multiple electronic control units 20 is configured to be able to send and receive messages via a communication bus 11. Hereinafter, the in-vehicle network system 10 will be simply referred to as "system 10." The electronic control unit 20 will be referred to as "ECU 20." "ECU" is an abbreviation for "Electronic Control Unit." An example of a communication bus 11 is a CAN bus. "CAN" is an abbreviation for "Control Area Network."
[0011] The multiple ECUs 20 include an ECU that controls an on-board actuator such as a brake device, an ADAS-ECU, etc. The ECU 20 includes a processing circuit 21 and a communication device 25. The ECU 20 can transmit messages to the communication bus 11 via the communication device 25. The ECU 20 can receive messages from the communication bus 11 via the communication device 25.
[0012] Each of the multiple processing circuits 21 has a CPU 22 and a memory 23. The memory 23 stores various control programs executed by the CPU 22. When the CPU 22 executes the control programs in the memory 23, the processing circuit 21 can provide services corresponding to the control programs.
[0013] In this embodiment, one of the multiple ECUs 20 functions as a "master ECU 20A," while the other ECUs function as "slave ECUs 20B." The master ECU 20A is an ECU that has a function of comprehensively adjusting the transmission and reception of messages in the system 10. The slave ECU 20B adjusts the transmission of messages according to the result of the adjustment by the master ECU 20A.
[0014] <Message> 2 and 3, a message transmitted from the ECU 20 to the communication bus 11 will be described.
[0015] The messages include static messages MG1 and dynamic messages MG2. The static messages MG1 are messages that were assumed to be transmitted from the ECU 20 to the communication bus 11 during the design phase of the system 10. The dynamic messages MG2 are messages that were not assumed to be transmitted from the ECU 20 to the communication bus 11 during the design phase of the system 10. For example, when the control program in the memory 23 is updated, the content of services that the system 10 can provide may change. When the content of the services changes, the types of messages that are transmitted from the ECU 20 to the communication bus 11 may increase. Furthermore, for example, when a new control program is added to the memory 23, the types of services that the system 10 can provide may increase. When the types of services increase, the types of messages that are transmitted from the ECU 20 to the communication bus 11 may increase. In this way, messages that increase due to changes in the content of services or an increase in the number of services correspond to dynamic messages.
[0016] FIG. 2 shows the data structure of the static message MG1. The data length of the static message MG1 is fixed at a specified data length. The static message MG1 includes a header area HD1 and a data area DT1. The header area HD1 includes information indicating the CAN-ID. The CAN-ID is an ID for identifying the message content and the destination ECU. The data area DT1 includes at least one piece of data to be transmitted to another ECU 20 by transmitting the static message MG1.
[0017] 3 shows the data structure of the dynamic message MG2. The data length of the dynamic message MG2 is the same as that of the static message MG1. The dynamic message MG2 includes a header field HD2 and a data field DT2. The header field HD2 includes information indicating the CAN-ID.
[0018] The data area DT2 includes at least one piece of data to be transmitted to another ECU 20 by transmitting the dynamic message MG2. The data area DT2 includes a data ID. The data ID is an ID for identifying, for example, the type of the dynamic message or the ECU to which the dynamic message is to be transmitted.
[0019] In this embodiment, a priority is set for the dynamic message MG2. The "priority" here refers to the priority for transmitting the message to the communication bus 11. The transmission frequency of a dynamic message MG2 with a higher priority is higher than the transmission frequency of a dynamic message MG2 with a lower priority. For example, among the multiple priorities, the first priority is the highest, the second priority is lower than the first priority, and the third priority is lower than the first and second priorities.
[0020] <Communication using a communication bus> 4 shows the bandwidth RA of the communication bus 11. The bandwidth RA of the communication bus 11 is the maximum amount of data that can be transmitted over the communication bus 11 per unit time. The bandwidth RA includes a first bandwidth RA1 and a second bandwidth RA2. The sizes of the first bandwidth RA1 and the second bandwidth RA2 are determined during the configuration stage of the system 10.
[0021] The first bandwidth RA1 is a bandwidth reserved for transmitting the static messages MG1. The first bandwidth RA1 is set so that the total data length of the static messages MG1 transmitted to the communication bus 11 per unit time does not exceed the first bandwidth RA1.
[0022] The second bandwidth RA2 is a bandwidth reserved for transmitting the dynamic message MG2. The second bandwidth RA2 is the data capacity of the bandwidth RA of the communication bus 11 minus the first bandwidth RA1. As described above, the data length of the dynamic message MG2 is predetermined. The second bandwidth RA2 is also predetermined.
[0023] 4, for example, the second bandwidth RA2 is allocated to the plurality of ECUs 20. When a control program is updated or a control program is added in at least one of the plurality of ECUs 20, the allocation of the second bandwidth RA2 to the plurality of ECUs 20 is changed.
[0024] In this embodiment, the second bandwidth RA2 can be divided into multiple bandwidths. For example, the second bandwidth RA2 can be divided into bandwidths RA21, RA22, and RA23. In this case, bandwidth RA21 is the bandwidth for the first-priority dynamic message MG2. Bandwidth RA22 is the bandwidth for the second-priority dynamic message MG2. Bandwidth RA23 is the bandwidth for the third-priority dynamic message MG2. The proportion of bandwidth RA21 in the second bandwidth RA2 corresponds to the "first reference proportion." The proportion of bandwidth RA22 in the second bandwidth RA2 corresponds to the "second reference proportion." In this case, the proportion of bandwidth RA23 in the second bandwidth RA2 may also be referred to as the "third reference proportion."
[0025] Furthermore, the bandwidth RA21 is distributed to a plurality of ECUs 20. In the example shown in Fig. 4, the bandwidth RA21 is distributed to a first ECU, a second ECU, and a third ECU. Similarly, the bandwidths RA22 and RA23 are both distributed to a plurality of ECUs 20.
[0026] As described above, the data length of the dynamic messages MG2 is fixed. Therefore, for example, when the allocation amount of the second bandwidth RA2 to the first ECU is determined, the number of dynamic messages MG2 that the first ECU can transmit to the communication bus 11 per unit time is determined. Specifically, when the allocation amount of the bandwidth RA21 for the first-priority dynamic messages MG2 to the first ECU is determined, the number of first-priority dynamic messages MG2 that the first ECU can transmit to the communication bus 11 per unit time is determined. When the allocation amount of the bandwidth RA22 for the second-priority dynamic messages MG2 to the first ECU is determined, the number of second-priority dynamic messages MG2 that the first ECU can transmit to the communication bus 11 per unit time is determined. When the allocation amount of the bandwidth RA23 for the third-priority dynamic messages MG2 to the first ECU is determined, the number of third-priority dynamic messages MG2 that the first ECU can transmit to the communication bus 11 per unit time is determined.
[0027] A series of processes executed by the CPU 22 will be described with reference to Fig. 5. The CPU 22 repeatedly executes the series of processes. The CPU 22 that executes the series of processes is a CPU included in the master ECU 20A.
[0028] In step S11, the CPU 22 determines whether the transmission count, which is the number of dynamic messages MG2 that it transmits to the communication bus 11, will increase. As described above, the transmission count of dynamic messages MG2 may increase when the control program in memory 23 is updated or a new control program is added to memory 23. If the CPU 22 determines that the transmission count of dynamic messages MG2 will increase (S11: YES), the CPU 22 proceeds to step S15. If the CPU 22 determines that the transmission count of dynamic messages MG2 will not increase (S11: NO), the CPU 22 proceeds to step S13.
[0029] In step S13, the CPU 22 determines whether or not the master ECU 20A has received from the slave ECU 20B a notification that the number of transmissions of the dynamic messages MG2 from the slave ECU 20B to the communication bus 11 will increase. If the master ECU 20A has received from the slave ECU 20B a notification that the number of transmissions will increase (S13: YES), the CPU 22 proceeds to step S15. If the master ECU 20A has not received from the slave ECU 20B a notification that the number of transmissions will increase (S13: NO), the CPU 22 proceeds to step S27.
[0030] In step S15, the CPU 22 sends a priority request to the slave ECUs 20B. The "priority request" includes the following information: The number of first priority dynamic messages MG2 that the ECU 20 requests to send.
[0031] The number of second-priority dynamic messages MG2 that the ECU 20 requests to send. The number of third-priority dynamic messages MG2 that the ECU 20 requests to send. In the following step S17, the CPU 22 acquires the priority request of the master ECU 20A. The priority request of the master ECU 20A includes the following information: That is, the priority request of the master ECU 20A corresponds to the "first request information."
[0032] The number of requested first-priority dynamic messages MG2 among the dynamic messages MG2 that the master ECU 20A transmits to the communication bus 11. The number of requested second-priority dynamic messages MG2 among the dynamic messages MG2 that the master ECU 20A transmits to the communication bus 11.
[0033] The number of requested dynamic messages MG2 with third priority among the dynamic messages MG2 transmitted by the master ECU 20A to the communication bus 11. In the next step S19, the CPU 22 determines whether or not priority requests from multiple slave ECUs 20B have been received as responses to the request in step S15. The priority requests from the slave ECUs 20B include the following information. That is, the priority requests from the slave ECUs 20B correspond to the "second request information."
[0034] The requested number of dynamic messages MG2 with the first priority among the dynamic messages MG2 to be transmitted by the slave ECU 20B to the communication bus 11. The requested number of dynamic messages MG2 with second priority among the dynamic messages MG2 to be transmitted by the slave ECU 20B to the communication bus 11.
[0035] The requested number of dynamic messages MG2 with third priority among the dynamic messages MG2 to be transmitted by the slave ECU 20B to the communication bus 11. If the master ECU 20A has not yet received a priority request from at least one of the multiple slave ECUs 20B (S19: NO), the CPU 22 repeatedly executes the determination in step S19. If the master ECU 20A has received priority requests from multiple slave ECUs 20B (S19: YES), the CPU 22 proceeds to step S21.
[0036] In step S21, the CPU 22 executes an allocation process to allocate the second bandwidth RA2 to the plurality of ECUs 20 based on the priority requests of the plurality of ECUs 20. In the allocation process, the CPU 22 allocates the second bandwidth RA2 to the plurality of ECUs 20 so as to satisfy the following conditions:
[0037] The amount of bandwidth RA21 allocated to ECUs 20 with a large number of requests for the first-priority dynamic message MG2 is greater than the amount of bandwidth RA21 allocated to ECUs 20 with a small number of requests for the first-priority dynamic message MG2.
[0038] The amount of bandwidth RA22 allocated to ECUs 20 with a large number of requests for second-priority dynamic messages MG2 is greater than the amount of bandwidth RA22 allocated to ECUs 20 with a small number of requests for second-priority dynamic messages MG2.
[0039] The amount of bandwidth RA23 allocated to ECUs 20 with a large number of requests for the third-priority dynamic message MG2 is greater than the amount of bandwidth RA23 allocated to ECUs 20 with a small number of requests for the third-priority dynamic message MG2.
[0040] Here, an example of the allocation process will be described. The CPU 22 derives a first request transmission count K1, a second request transmission count K2, and a third request transmission count K3 based on the priority requests of the multiple ECUs 20. The first request transmission count K1 is the total number of requests for the dynamic messages MG2 of the first priority to be transmitted by the multiple ECUs 20. The second request transmission count K2 is the total number of requests for the dynamic messages MG2 of the second priority to be transmitted by the multiple ECUs 20. The third request transmission count K3 is the total number of requests for the dynamic messages MG2 of the third priority to be transmitted by the multiple ECUs 20.
[0041] The CPU 22 derives bandwidths RA21, RA22, and RA23 of the second bandwidth RA2 based on the first requested transmission count K1, the second requested transmission count K2, and the third requested transmission count K3. For example, it is assumed that the second requested transmission count K2 is the largest of the multiple requested transmission counts K1 to K3. In this case, the CPU 22 derives multiple bandwidths RA21, RA22, and RA23 so that the bandwidth RA22 is larger than the other bandwidths RA21 and RA22. For example, it is assumed that the first requested transmission count K1 is the smallest of the multiple requested transmission counts K1 to K3. In this case, the CPU 22 derives multiple bandwidths RA21, RA22, and RA23 so that the bandwidth RA21 is smaller than the other bandwidths RA22 and RA22.
[0042] The CPU 22 derives a first number C1, which is the number of first-priority dynamic messages MG2 that can be transmitted from the multiple ECUs 20 to the communication bus 11 per unit time, based on the bandwidth RA21. In this case, the CPU 22 derives the first number C1 such that the larger the bandwidth RA21, the larger the first number C1. Similarly, the CPU 22 derives a second number C2, which is the number of second-priority dynamic messages MG2 that can be transmitted from the multiple ECUs 20 to the communication bus 11 per unit time, based on the bandwidth RA22. The CPU 22 derives a third number C3, which is the number of third-priority dynamic messages MG2 that can be transmitted from the multiple ECUs 20 to the communication bus 11 per unit time, based on the bandwidth RA23.
[0043] Therefore, when the sum of the data lengths of dynamic messages of a first priority transmitted from the multiple ECUs 20 to the communication bus 11 is defined as a first data capacity, the CPU 22 can derive the first number C1 so that the proportion of the second bandwidth RA2 occupied by the first data capacity falls within the first reference proportion. When the sum of the data lengths of dynamic messages of a second priority transmitted from the multiple ECUs 20 to the communication bus 11 is defined as a second data capacity, the CPU 22 can derive the second number C2 so that the proportion of the second bandwidth RA2 occupied by the second data capacity falls within the second reference proportion. When the sum of the data lengths of dynamic messages of a third priority transmitted from the multiple ECUs 20 to the communication bus 11 is defined as a third data capacity, the CPU 22 can derive the third number C3 so that the proportion of the second bandwidth RA2 occupied by the third data capacity falls within the third reference proportion.
[0044] The CPU 22 allocates the first number C1 to the plurality of ECUs 20. In this case, the CPU 22 allocates the first number C1 to the plurality of ECUs 20 according to the number of requests for the first-priority dynamic messages MG2 to be transmitted by the ECUs 20. For example, the CPU 22 allocates the first number C1 to the plurality of ECUs 20 so that the allocation to the ECUs 20 with a large number of requests is larger than the allocation to the ECUs 20 with a small number of requests.
[0045] As with the first number C1, the CPU 22 allocates the second number C2 to the plurality of ECUs 20. The CPU 22 allocates the third number C3 to the plurality of ECUs 20. Thereafter, the CPU 22 shifts the process to step S23.
[0046] In step S23, the CPU 22 executes a transmission process to transmit the execution result of the allocation process to the slave ECU 20B. In the transmission process, the CPU 22 transmits bandwidth information, which is information regarding the amount of the second bandwidth RA2 allocated to the slave ECU 20B, to the slave ECU 20B.
[0047] In the following step S25, the CPU 22 executes a process for adjusting the priority of the dynamic messages MG2 transmitted by the master ECU 20A. Specifically, the CPU 22 adjusts the number of first-priority dynamic messages MG2 so that the requested number of first-priority dynamic messages MG2 transmitted by the master ECU 20A is equal to or less than a determined number, which is the number of first-priority dynamic messages MG2 allocated to the master ECU 20A, of the first number C1. For example, when the requested number of first-priority dynamic messages MG2 transmitted by the master ECU 20A is greater than the determined number, which is the number of first-priority dynamic messages MG2 allocated to the master ECU 20A, of the first number C1, the CPU 22 reduces the number of first-priority dynamic messages MG2. In this case, the CPU 22 may change some of the first-priority dynamic messages MG2 transmitted by the master ECU 20A to second-priority dynamic messages MG2.
[0048] Similarly, the CPU 22 adjusts the number of second-priority dynamic messages MG2 so that the requested number of second-priority dynamic messages MG2 to be transmitted by the master ECU 20A is equal to or less than a determined number, which is the number of second numbers C2 allocated to the master ECU 20A. The CPU 22 adjusts the number of third-priority dynamic messages MG2 so that the requested number of third-priority dynamic messages MG2 to be transmitted by the master ECU 20A is equal to or less than a determined number, which is the number of third numbers C3 allocated to the master ECU 20A.
[0049] Then, in the adjustment process, the CPU 22 assigns a CAN-ID to each of the plurality of dynamic messages MG2 in accordance with the priority. After completing the adjustment process in step S25, the CPU 22 moves the process to step S27.
[0050] In step S27, the CPU 22 determines whether or not there is a request to send a message. If there is a request to send a message (S27: YES), the CPU 22 proceeds to step S29. If there is no request to send a message (S27: NO), the CPU 22 temporarily ends the series of processes.
[0051] In step S29, the CPU 22 executes a message transmission process. In the transmission process, when the CPU 22 transmits the dynamic message MG2, the CPU 22 transmits the dynamic message MG2 to the communication bus 11 in accordance with the adjustment process of step S25. That is, the CPU 22 can adjust the number of dynamic messages MG2 per unit time so that the total data length of the dynamic messages MG2 transmitted to the communication bus 11 per unit time does not exceed the amount of the second bandwidth RA2 allocated to the CPU 22. Thereafter, the CPU 22 temporarily ends the series of processes.
[0052] A series of processes executed by the CPU 22 will be described with reference to Fig. 6. The CPU 22 repeatedly executes the series of processes. The CPU 22 that executes the series of processes is a CPU included in the slave ECU 20B.
[0053] In step S51, the CPU 22 determines whether or not a priority request has been requested from the master ECU 20A. If a priority request has been requested (S51: YES), the CPU 22 proceeds to step S53. If a priority request has not been requested (S51: NO), the CPU 22 proceeds to step S59.
[0054] In step S53, the CPU 22 transmits its own priority request to the master ECU 20A. The own priority request is a response to the request in step S51.
[0055] In the next step S55, the CPU 22 determines whether the slave ECU 20B has received the bandwidth information transmitted by the master ECU 20A through the execution of the process of step S23. If the slave ECU 20B has not yet received the bandwidth information (S55: NO), the CPU 22 repeats the determination of step S55 until the slave ECU 20B can receive the bandwidth information. If the slave ECU 20B has received the bandwidth information (S55: YES), the CPU 22 proceeds to step S57.
[0056] In step S57, the CPU 22 executes a process for adjusting the priority of the dynamic message MG2 transmitted by the slave ECU 20B. The content of the adjustment process executed here is the same as the adjustment process executed by the master ECU 20A in step S25. After completing the adjustment process, the CPU 22 proceeds to step S59.
[0057] In step S59, the CPU 22 determines whether or not there is a request to send a message. If there is a request to send a message (S59: YES), the CPU 22 proceeds to step S61. If there is no request to send a message (S59: NO), the CPU 22 temporarily ends the series of processes.
[0058] In step S59, the CPU 22 executes a message transmission process. In the transmission process, when the CPU 22 transmits the dynamic message MG2, the CPU 22 transmits the dynamic message MG2 to the communication bus 11 in accordance with the adjustment process of step S57. That is, the CPU 22 can adjust the number of dynamic messages MG2 per unit time so that the total data length of the dynamic messages MG2 transmitted to the communication bus 11 per unit time does not exceed the amount of the second bandwidth RA2 allocated to the CPU 22. When the CPU 22 completes the transmission process, it temporarily ends the series of processes.
[0059] <Actions and Effects of This Embodiment> In the system 10, static messages MG1 and dynamic messages MG2 are transmitted and received among a plurality of ECUs 20. Of the bandwidth RA of the communication bus 11, a first bandwidth RA1 is a bandwidth for the static messages MG1. This ensures that the bandwidth for the static messages MG1 is sufficient even if the number of dynamic messages MG2 transmitted from the ECUs 20 to the communication bus 11 increases.
[0060] Of the multiple ECUs 20, the slave ECU 20B transmits a priority request to the master ECU 20A. The priority request includes the number of dynamic messages MG2 with the first priority, the number of dynamic messages MG2 with the second priority, and the number of dynamic messages MG2 with the third priority that the slave ECU 20B will transmit to the communication bus 11. Therefore, the priority request transmitted by the slave ECU 20B corresponds to the "second request information."
[0061] The master ECU 20A acquires its own priority request. The priority request corresponds to the "first request information." The master ECU 20A receives the priority request transmitted from the slave ECU 20B. Then, the master ECU 20A allocates the second bandwidth RA2 to the plurality of ECUs 20 based on the priority requests of the plurality of ECUs 20.
[0062] 7, an example of a method for allocating the second bandwidth RA2 to a plurality of ECUs 20 will be described. The number of dynamic messages MG2 that an ECU 20 requests to transmit is referred to as the "request number." The number of dynamic messages MG2 that an ECU 20 can transmit, determined by the allocation of the second bandwidth RA2, is referred to as the "determined number."
[0063] The number of requests for the first ECU's first-priority dynamic message MG2 is 1, the number of requests for the first ECU's second-priority dynamic message MG2 is 2, and the number of requests for the first ECU's third-priority dynamic message MG2 is 2. The numbers of requests for the second ECU and the third ECU are as shown in FIG. 7. In this case, the first request transmission number K1 is 6, the second request transmission number K2 is 6, and the third request transmission number K3 is 14. In the master ECU 20A, the second bandwidth RA2 is divided into bandwidths RA21, RA22, and RA23 based on the multiple request transmission numbers K1 to K3. Then, the first number C1 is derived based on the bandwidth RA21. The second number C2 is derived based on the bandwidth RA22. The third number C3 is derived based on the bandwidth RA23.
[0064] A first number C1 is allocated to the plurality of ECUs 20 based on the number of requests for the first-priority dynamic message MG2 from the plurality of ECUs 20. A second number C2 is allocated to the plurality of ECUs 20 based on the number of requests for the second-priority dynamic message MG2 from the plurality of ECUs 20. A third number C3 is allocated to the plurality of ECUs 20 based on the number of requests for the third-priority dynamic message MG2 from the plurality of ECUs 20. The master ECU 20A transmits the results of this processing to the plurality of slave ECUs 20B.
[0065] In each of the multiple ECUs 20, a process of adjusting the priority of the dynamic messages MG2 is executed. For example, in a second ECU among the multiple ECUs 20, the determined number of dynamic messages MG2 of the first priority is 1. The determined number of dynamic messages MG2 of the second priority is 4, and the determined number of dynamic messages MG2 of the third priority is 7. In the example shown in FIG. 7, in the second ECU, the requested number of dynamic messages MG2 of the first priority is 2, while the determined number of dynamic messages MG2 of the first priority is 1. Therefore, in the second ECU, one of the two dynamic messages MG2 of the first priority is changed to a dynamic message MG2 of the second priority. Such a process is also executed in the first ECU and the third ECU.
[0066] Thereafter, when the multiple ECUs 20 transmit dynamic messages MG2, the number of transmissions of first-priority dynamic messages MG2 per unit time does not exceed the determined number, the number of transmissions of second-priority dynamic messages MG2 per unit time does not exceed the determined number, and the number of transmissions of third-priority dynamic messages MG2 per unit time does not exceed the determined number.
[0067] This prevents the plurality of ECUs 20 from transmitting a number of messages to the communication bus 11 that exceeds the bandwidth RA of the communication bus 11. This prevents the communication load of the system 10 from becoming excessive. Furthermore, the system 10 ensures a first bandwidth RA1 for transmitting static messages MG1. Therefore, even if the number of types of dynamic messages MG2 to be transmitted increases, the static messages MG1 can be transmitted and received between the plurality of ECUs 20. Therefore, the system 10 can prevent a decrease in communication quality even if the number of types of dynamic messages MG2 to be transmitted and received between the plurality of ECUs 20 increases.
[0068] <Example of change> The above embodiment can be modified as follows: The above embodiment and the following modifications can be combined with each other within the scope of technical compatibility.
[0069] In the above embodiment, the number of priorities may be any number other than three, as long as it is two or more. The number of ECUs constituting the system 10 may be any number other than three, as long as it is two or more.
[0070] If the first bandwidth RA1 is larger than the total data length of the multiple static messages MG1 transmitted from the multiple ECUs 20 to the communication bus 11, the CPU 22 may execute the following process in the adjustment process of step S25 or step S57. For example, if the number of requests for the first-priority dynamic messages MG2 is larger than the determined number for the first-priority dynamic messages MG2, the CPU 22 may assign the CAN-ID for the static messages MG1 to some of the first-priority dynamic messages MG2. In this case, the CPU 22 can transmit the dynamic messages MG2 assigned the CAN-ID for the static messages MG1 to the communication bus 11 without reducing the transmission frequency.
[0071] The sizes of the multiple bandwidths RA21, RA22, RA23 may be fixed. The ECU 20 is not limited to one that includes a CPU and a ROM and executes software processing. That is, the ECU 20 may have any one of the following configurations (a), (b), and (c):
[0072] (a) The ECU 20 includes one or more processors that execute various processes according to a computer program. The processor includes a CPU and memory such as RAM and ROM. The memory stores program code or instructions that cause the CPU to execute processes. The memory, i.e., computer-readable medium, includes any available medium that can be accessed by a general-purpose or special-purpose computer.
[0073] (b) The ECU 20 includes one or more dedicated hardware circuits that perform various processes. Examples of the dedicated hardware circuits include application-specific integrated circuits (ASICs) and FPGAs. ASIC stands for "Application Specific Integrated Circuit," and FPGA stands for "Field Programmable Gate Array."
[0074] (c) The ECU 20 includes one or more processors that execute some of the various processes in accordance with computer programs, and one or more dedicated hardware circuits that execute the remaining processes among the various processes.
[0075] The expression "at least one" used herein means "one or more" of the desired options. As an example, the expression "at least one" used herein means "only one option" or "both of two options" if the number of options is two. As another example, the expression "at least one" used herein means "only one option" or "any combination of two or more options" if the number of options is three or more. [Explanation of symbols]
[0076] 10...In-vehicle network system (system), 11...Communication bus, 20...Electronic control unit (ECU), 20A...Master electronic control unit (master ECU), 20B...Slave electronic control unit (slave ECU), 21...Processing circuit.
Claims
1. An in-vehicle network system including a plurality of electronic control units configured to be able to transmit and receive static messages and dynamic messages via a communication bus, a total data length of the static messages transmitted to the communication bus per unit time does not exceed a first bandwidth of the communication bus; a bandwidth of the communication bus excluding the first bandwidth is a second bandwidth; the plurality of electronic control units are adapted to transmit a plurality of the dynamic messages to the communication bus; Among the plurality of electronic control units, one is a master electronic control unit, and the electronic control units other than the master electronic control unit are slave electronic control units, The slave electronic control unit transmits to the master electronic control unit request information, which is information including the number of dynamic messages of a first priority and the number of dynamic messages of a second priority lower than the first priority, among the dynamic messages that the slave electronic control unit transmits to the communication bus; The master electronic control unit acquiring first request information that includes the number of dynamic messages of the first priority and the number of dynamic messages of the second priority among the dynamic messages that the device transmits to the communication bus; receiving second request information, which is the request information transmitted from the slave electronic control unit; allocating the second bandwidth to the plurality of electronic control devices based on the first request information and the second request information so that an amount of allocation to the electronic control device having a large number of the dynamic messages of the first priority is greater than an amount of allocation to the electronic control device having a small number of the dynamic messages of the first priority; transmitting bandwidth information to the slave electronic control unit, the bandwidth information being information about the amount of the second bandwidth allocated to the slave electronic control unit; Each of the plurality of electronic control devices adjusts the number of the dynamic messages to be transmitted to the communication bus per unit time so that the sum of the data lengths of the dynamic messages to be transmitted to the communication bus per unit time does not exceed the allocated amount of the second bandwidth allocated to that electronic control device. In-vehicle network system.
2. a sum of data lengths of the dynamic messages of the first priority transmitted from the plurality of electronic control devices to the communication bus is a first data capacity, and a sum of data lengths of the dynamic messages of the second priority transmitted from the plurality of electronic control devices to the communication bus is a second data capacity; The master electronic control unit deriving a first number, which is the number of the dynamic messages of the first priority transmitted from the plurality of electronic control devices to the communication bus per unit time, so that a ratio of the first data capacity to the second bandwidth falls within a first reference ratio; deriving a second number, which is the number of the dynamic messages of the second priority transmitted from the plurality of electronic control devices to the communication bus per unit time, so that a ratio of the second data capacity to the second bandwidth falls within a second reference ratio; allocating the first number to the plurality of electronic control devices based on the first request information and the second request information so that the number allocated to the electronic control device having a large number of the dynamic messages of the first priority is greater than the number allocated to the electronic control device having a small number of the dynamic messages of the first priority; allocating the second number to the plurality of electronic control devices based on the first request information and the second request information so that the number allocated to the electronic control device having a larger number of the dynamic messages of the second priority is larger than the number allocated to the electronic control device having a smaller number of the dynamic messages of the second priority; transmitting information relating to the number of the first number allocated to the slave electronic control unit and the number of the second number allocated to the slave electronic control unit as the bandwidth information to the slave electronic control unit; Each of the plurality of electronic control devices The number of the dynamic messages of the first priority that are transmitted to the communication bus per unit time does not exceed the allocated number of the first number; and the number of the dynamic messages of the second priority to be transmitted to the communication bus per unit time does not exceed the number of the second number allocated to itself; and adjusting transmission of the dynamic message to the communication bus so as to satisfy any of the following: The in-vehicle network system according to claim 1 .
3. Each of the plurality of electronic control devices adjusts the number of the dynamic messages of the first priority and the number of the dynamic messages of the second priority so that the sum of the data lengths of the dynamic messages transmitted to the communication bus per unit time does not exceed the amount of the second bandwidth allocated to the electronic control device itself.
3. The in-vehicle network system according to claim 1.
4. An electronic control device constituting an in-vehicle network system including a plurality of electronic control devices that transmit and receive static messages and dynamic messages via a communication bus, a total data length of the static messages transmitted to the communication bus per unit time does not exceed a first bandwidth of the communication bus; a bandwidth of the communication bus excluding the first bandwidth is a second bandwidth; a processing circuit; The processing circuitry Acquiring first request information, which is information including the number of dynamic messages of a first priority and the number of dynamic messages of a second priority lower than the first priority, among the dynamic messages that the device itself transmits to the communication bus; receiving second request information, which is information transmitted by another electronic control unit constituting the in-vehicle network system and includes the number of dynamic messages of the first priority and the number of dynamic messages of the second priority among the dynamic messages transmitted by the other electronic control unit to the communication bus; allocating the second bandwidth to the plurality of electronic control devices constituting the in-vehicle network system based on the first request information and the second request information so that an amount of allocation to an electronic control device having a large number of the dynamic messages of the first priority is greater than an amount of allocation to an electronic control device having a small number of the dynamic messages of the first priority; transmitting bandwidth information, which is information about an allocation amount of the second bandwidth to the other electronic control device, to the other electronic control device; and adjusting the number of the dynamic messages transmitted to the communication bus per unit time so that the total data length of the dynamic messages transmitted to the communication bus per unit time does not exceed the allocated amount of the second bandwidth to the device itself. Electronic control unit.
5. An electronic control device constituting an in-vehicle network system including a plurality of electronic control devices that transmit and receive static messages and dynamic messages via a communication bus, a total data length of the static messages transmitted to the communication bus per unit time does not exceed a first bandwidth of the communication bus; a bandwidth of the communication bus excluding the first bandwidth is a second bandwidth; a processing circuit; The processing circuitry transmitting request information, which is information including the number of dynamic messages of a first priority and the number of dynamic messages of a second priority lower than the first priority, among the dynamic messages transmitted by itself to the communication bus, to other electronic control units constituting the in-vehicle network system; receiving bandwidth information transmitted by the other electronic control device, the bandwidth information being information regarding an allocation amount of the second bandwidth to the other electronic control device; and adjusting the number of the dynamic messages transmitted to the communication bus per unit time so that the total data length of the dynamic messages transmitted to the communication bus per unit time does not exceed the allocated amount of the second bandwidth to the device itself. Electronic control unit.
Citation Information
Patent Citations
BUS SYSTEM, SUBSCRIBER STATION FOR A BUS SYSTEM, AND METHOD FOR CONFIGURING A STATIC BUS SYSTEM FOR DYNAMIC COMMUNICATION - Patent application
JP6646725B2