WO2023195384A1 - 車載制御装置、制御方法及び制御プログラム - Google Patents

車載制御装置、制御方法及び制御プログラム Download PDF

Info

Publication number
WO2023195384A1
WO2023195384A1 PCT/JP2023/012472 JP2023012472W WO2023195384A1 WO 2023195384 A1 WO2023195384 A1 WO 2023195384A1 JP 2023012472 W JP2023012472 W JP 2023012472W WO 2023195384 A1 WO2023195384 A1 WO 2023195384A1
Authority
WO
WIPO (PCT)
Prior art keywords
period
vehicle
control device
state
message
Prior art date
Application number
PCT/JP2023/012472
Other languages
English (en)
French (fr)
Inventor
雅大 遠藤
Original Assignee
株式会社オートネットワーク技術研究所
住友電装株式会社
住友電気工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社オートネットワーク技術研究所, 住友電装株式会社, 住友電気工業株式会社 filed Critical 株式会社オートネットワーク技術研究所
Publication of WO2023195384A1 publication Critical patent/WO2023195384A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Definitions

  • the present disclosure relates to a vehicle-mounted control device, a control method, and a control program.
  • This application claims priority based on Japanese Application No. 2022-064471 filed on April 8, 2022, and incorporates all the contents described in the said Japanese application.
  • Vehicles are equipped with a variety of in-vehicle devices, including a control system ECU (Electronic Control Unit) that controls the engine, transmission, etc., a body system ECU that controls headlights, power windows, etc., and an information system ECU that controls navigation devices, multimedia devices, etc. will be installed.
  • a control system ECU Electronic Control Unit
  • body system ECU body system ECU that controls headlights, power windows, etc.
  • an information system ECU that controls navigation devices, multimedia devices, etc.
  • Patent Document 1 describes that the execution time of a task assigned to each virtual machine is changed depending on the position of the ignition switch and the state of the engine (ACC OFF, ACC ON, immediately after IG OFF, immediately after IG ON, IG ON steady state). It is disclosed that
  • An in-vehicle control device includes a first processing unit that executes a relay process for relaying messages communicated between a plurality of in-vehicle devices, and a second processing unit that executes a process different from the relay process related to a vehicle.
  • a control method includes a step of executing a relay process for relaying messages communicated between a plurality of in-vehicle devices, a step of executing a process different from the relay process regarding the vehicle, and a step of executing the relay process. and a step of dynamically determining a first period for executing a process different from the relay process and a second period for executing a process different from the relay process.
  • a control program is a control program used in an in-vehicle control device that executes a relay process for relaying messages communicated between a plurality of in-vehicle devices and a process different from the relay process regarding a vehicle.
  • the computer is made to function as a determining unit that dynamically determines a first period for executing the relay process and a second period for executing a process different from the relay process.
  • the present disclosure provides an in-vehicle control device having the above-described characteristic configuration, a control method in which steps include characteristic processing in the in-vehicle control device, and control for causing the in-vehicle control device to execute characteristic processing. Not only can it be realized as a program, but it can also be realized as an in-vehicle system including the in-vehicle control device, or a part or all of the in-vehicle control device can be realized as a semiconductor integrated circuit.
  • FIG. 1 is a block diagram illustrating an example of the configuration of an in-vehicle system according to an embodiment. It is a block diagram showing an example of composition of integrated ECU concerning an embodiment.
  • FIG. 2 is a schematic diagram for explaining a virtual environment in the integrated ECU according to the embodiment.
  • FIG. 2 is a functional block diagram illustrating an example of functions of an integrated ECU according to an embodiment.
  • 12 is a timing chart illustrating an example of the relationship between a first period, a second period, and message reception timing.
  • FIG. 3 is a diagram for explaining determination of a first period and a second period by the integrated ECU according to the embodiment.
  • FIG. 3 is a diagram for explaining an example of detecting a phase change in message communication. It is a flowchart which shows an example of period determination processing by integrated ECU concerning an embodiment. It is a functional block diagram showing a modification of the functions of the integrated ECU according to the embodiment.
  • the in-vehicle device includes a relay device that relays communication between a plurality of in-vehicle devices.
  • a relay device that relays communication between a plurality of in-vehicle devices.
  • relay processing cannot be performed efficiently unless task execution time is allocated to the period during which messages are received from the vehicle-mounted device.
  • the in-vehicle control device includes a first processing unit that executes a relay process for relaying messages communicated between a plurality of in-vehicle devices, and a first processing unit that executes a process different from the relay process related to the vehicle.
  • a determining unit that dynamically determines a first period for executing the relay processing by the first processing unit and a second period for executing the processing by the second processing unit; Equipped with Thereby, the first period for executing the relay process and the second period for executing the process different from the relay process can be appropriately determined.
  • the message may be periodically communicated between the plurality of in-vehicle devices, and the determining unit may determine the first period based on the cycle of the message. Thereby, the first period can be assigned to the period during which messages can be received.
  • the determining unit may determine the first period based on a probability distribution of receiving the message over time. This makes it possible to allocate the first period to a period in which the probability of receiving a message is high.
  • the determining unit may determine the first period based on a comparison between the probability distribution and the threshold. Thereby, it is possible to determine a period with a high probability of receiving a message using a threshold value.
  • the vehicle-mounted control device may include a creation unit that creates the probability distribution. Thereby, the first period can be determined using the probability distribution created in the vehicle-mounted control device.
  • the creation unit may create the probability distribution based on a reception history of the message in the vehicle-mounted control device. This makes it possible to obtain a probability distribution that reflects the message reception cycle using the message reception history.
  • the in-vehicle control device includes a phase change detection section that detects a change in the phase of the periodic communication of the message, and the creation section detects a phase change detected by the phase change detection section.
  • the probability distribution may be created based on the reception history of the message after the phase change. This makes it possible to obtain a probability distribution that reflects the message reception cycle after the communication phase changes.
  • the determining unit may determine the first period based on the probability distribution created by an external device provided outside the vehicle. Thereby, there is no need to create a probability distribution in the on-vehicle control device.
  • the on-vehicle control device can determine the first period using the probability distribution created in the external device.
  • the determining unit determines the first period and the second period at a timing based on a constant cycle including the first period and the second period.
  • a period may be determined. Thereby, the first period and the second period can be determined at suitable timing.
  • the in-vehicle control device includes a state change detection section that detects a change in the state of the vehicle, and the determination section includes a state change detection section that detects a change in the state of the vehicle.
  • the first period and the second period may be determined when a change in the state is detected. Thereby, the first period and the second period can be determined at suitable timing.
  • the change in the state of the vehicle may include a change in the running state of the vehicle.
  • the first period and the second period can be determined at the timing when the driving state of the vehicle changes.
  • the change in the state of the vehicle may include a change in the configuration of an in-vehicle network including the plurality of in-vehicle devices.
  • the first period and the second period can be determined at the timing when the configuration of the in-vehicle network changes.
  • the change in the state of the vehicle may include switching at least one of the plurality of on-vehicle devices from a normal operating state to a sleep state, or from a sleep state to a normal operating state.
  • the first period and the second period can be determined at the timing when the state of the in-vehicle device changes between the normal operating state and the sleep state.
  • the control method includes the steps of: executing a relay process for relaying messages communicated between a plurality of in-vehicle devices; executing a process different from the relay process regarding the vehicle;
  • the method includes the step of dynamically determining a first period for executing a relay process and a second period for executing a process different from the relay process. Thereby, the first period for executing the relay process and the second period for executing the process different from the relay process can be appropriately determined.
  • the control program according to the present embodiment is a control program used in an in-vehicle control device that executes a relay process that relays messages communicated between a plurality of in-vehicle devices, and a process that is different from the relay process related to a vehicle.
  • the computer is made to function as a determining unit that dynamically determines a first period for executing the relay process and a second period for executing a process different from the relay process. Thereby, the first period for executing the relay process and the second period for executing the process different from the relay process can be appropriately determined.
  • FIG. 1 is a block diagram showing an example of the configuration of an in-vehicle system according to this embodiment.
  • the in-vehicle system 100 is mounted on a vehicle.
  • the in-vehicle system 100 includes an integrated ECU 200 and individual ECUs 300A, 300B, 300C, 300D, and 300E.
  • the in-vehicle system 100 is an in-vehicle network configured by an integrated ECU 200, individual ECUs 300A, 300B, 300C, 300D, and 300E, and communication cables (communication buses) that connect them.
  • a plurality of individual ECUs 300A, 300B, 300C, 300D, and 300E are arranged in each part of the vehicle.
  • the individual ECUs 300A, 300B, 300C, 300D, and 300E individually control the hardware of each part of the vehicle and monitor the state of the hardware of each part of the vehicle.
  • the individual ECUs 300A, 300B, 300C, 300D, and 300E are control system, body system, and information system ECUs.
  • the individual ECUs 300A, 300B, 300C, 300D, and 300E are examples of "vehicle devices.”
  • the individual ECUs 300A, 300B, 300C, 300D, and 300E are also collectively referred to as "individual ECU 300.”
  • the integrated ECU 200 is connected to each of the individual ECUs 300A, 300B, 300C, 300D, and 300E via in-vehicle buses 400A, 400B, and 400C such as CAN (Controller Area Network) buses.
  • CAN Controller Area Network
  • individual ECUs 300A and 300B are connected to bus 400A.
  • Individual ECUs 300C and 300D are connected to bus 400B.
  • An individual ECU 300E is connected to the bus 400C.
  • Integrated ECU 200 can communicate with each of individual ECUs 300A, 300B, 300C, 300D, and 300E.
  • the integrated ECU 200 and the individual ECU 300 use a communication protocol for periodically transmitting and receiving messages.
  • the communication protocol is, for example, CAN or CAN FD (CAN with Flexible Data Rate).
  • the integrated ECU 200 has a function as a gateway that relays communication between a plurality of individual ECUs 300. Individual ECU 300 can transmit messages. Integrated ECU 200 relays messages between individual ECUs connected to different buses. For example, integrated ECU 200 can relay messages between individual ECU 300A connected to bus 400A and individual ECU 300C connected to bus 400B.
  • Integrated ECU 200 is connected to external communication device 350 via bus 400C.
  • the external communication device 350 is, for example, a 5G or 4G-compliant wireless communication terminal, and is, for example, a TCU (Telematics Control Unit).
  • External communication device 350 can communicate with server 600.
  • External communication device 350 relays communication between integrated ECU 200 and server 600.
  • FIG. 2 is a block diagram showing an example of the configuration of the integrated ECU according to the present embodiment.
  • Integrated ECU 200 includes a processor 201, nonvolatile memory 202, volatile memory 203, and communication interface (I/F) 204.
  • processor 201 nonvolatile memory 202
  • volatile memory 203 volatile memory 203
  • I/F communication interface
  • the volatile memory 203 is, for example, a semiconductor memory such as SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory).
  • Nonvolatile memory 202 is, for example, a flash memory, a hard disk, or the like. The nonvolatile memory 202 can read and write data.
  • the processor 201 is, for example, a CPU (Central Processing Unit). However, the processor 201 is not limited to a CPU.
  • the processor 201 may be a GPU (Graphics Processing Unit).
  • Processor 201 is configured to be able to execute computer programs.
  • the processor 201 may include, for example, an ASIC (Application Specific Integrated Circuit) or a programmable logic device such as an FPGA (Field Programmable Gate Array).
  • the communication I/F 204 is a communication interface that complies with the above-mentioned communication protocol for the in-vehicle network.
  • Communication I/F 204 includes a plurality of communication ports and is connected to each of buses 400A, 400B, and 400C.
  • Communication I/F 204 is connected to each of individual ECUs 300A, 300B, 300C, 300D, and 300E via buses 400A, 400B, and 400C.
  • Integrated ECU 200 can communicate with individual ECUs 300A, 300B, 300C, 300D, and 300E via communication I/F 204.
  • integrated ECU 200 can communicate with server 600 via external communication device 350 using communication I/F 204 .
  • Hypervisor 251 guest OS (Operating System) 252A, 252B, and applications (APP) 253A, 253B are installed in the nonvolatile memory 202.
  • Hypervisor 251 is executed by processor 201 and causes integrated ECU 200 to function as a virtual machine.
  • FIG. 3 is a schematic diagram for explaining the virtual environment in the integrated ECU according to this embodiment.
  • the hypervisor 251 operates on hardware 260 (processor 201, nonvolatile memory 202, volatile memory 203, communication I/F 204, etc.).
  • Hypervisor 251 can emulate virtual hardware (HW) 260A, 260B.
  • HW virtual hardware
  • VM_1 virtual machine 261A
  • VM_2 virtual machine 261B
  • VM_1 is an example of a "first processing section”
  • VM_2 is an example of a "second processing section.”
  • the guest OS 252A operates in VM_1.
  • the APP 253A operates on the guest OS 252A.
  • the guest OS 252B operates in VM_2.
  • APP 253B operates on guest OS 252B.
  • APP253A is software for realizing the functions of a gateway.
  • the processor 201 executing the APP 253A the integrated ECU 200 can execute a relay process for relaying messages between the individual ECUs 300.
  • APP253B is software for realizing functions other than the gateway function.
  • the APP253B is, for example, power window control software.
  • the integrated ECU 200 can control the power window.
  • the hypervisor 251 manages the execution period of VM_1 and VM_2.
  • the execution period of VM_1 and the execution period of VM_2 are allocated in a time-sharing manner.
  • the execution period of VM_1 is the "first period”
  • the execution period of VM_2 is the "second period”.
  • the nonvolatile memory 202 stores a control program 254 that is a computer program, periodic information 255 used in the control program 254, history data 256, and a schedule table 257.
  • the control program 254 is a program for determining the execution period of each of VM_1 and VM_2.
  • the cycle information 255 is information indicating the message transmission cycle of each of the individual ECUs 300A, 300B, 300C, 300D, and 300E. At least some of the individual ECUs 300A, 300B, 300C, 300D, and 300E may have different message transmission cycles. At least some of the individual ECUs 300A, 300B, 300C, 300D, and 300E may have the same message transmission cycle. For example, the message transmission cycle of the individual ECU 300A is T1 seconds, and the message transmission cycle of the individual ECU 300B is T2 seconds.
  • Cycle information 255 includes a message transmission cycle for each individual ECU 300. Hereinafter, the message transmission cycle will also be referred to as an "individual cycle.”
  • the history data 256 is the reception history of messages received by the integrated ECU 200 from each individual ECU 300.
  • the history data 256 includes identification information of the individual ECU 300 that is the sender and the time when the message was received.
  • the schedule table 257 is a table for defining the first period and the second period.
  • the schedule table 257 stores the first period and the second period determined by the control program 254.
  • the hypervisor 251 operates VM_1 and VM_2 according to the first period and second period specified in the schedule table 257.
  • FIG. 4 is a functional block diagram showing an example of the functions of the integrated ECU according to this embodiment.
  • the processor 201 executes the control program 254, the functions of the determining section 211, the creating section 212, the phase change detecting section 213, and the accumulating section 214 are realized.
  • the determining unit 211 dynamically determines a first period for executing relay processing by VM_1 and a second period for executing processing by VM_2. The determining unit 211 determines the first period based on the transmission cycle of messages from the individual ECU 300.
  • FIG. 5A is a timing chart showing an example of the relationship between the first period, the second period, and message reception timing.
  • messages are periodically transmitted from the individual ECU 300.
  • the message sent from the individual ECU 300A is shown as "M_1”
  • the message sent from the individual ECU 300B is shown as "M_2”
  • the message sent from the individual ECU 300C is shown as "M_3”
  • the first period is shown as "VM_1”.
  • the second period is indicated as “VM_2”.
  • FIG. 5A shows an example in which the first period and the second period are fixedly determined in the basic cycle. That is, in the example of FIG. 5A, the first period and the second period do not vary in each basic cycle.
  • messages M_1, M_2, M_3 are not necessarily received by integrated ECU 200 during the first period.
  • VM_1 since message M_1 is received in the first period, VM_1 can perform relay processing of message M_1 in the first period.
  • integrated ECU 200 cannot relay messages M_2 and M_3 unless it waits for the next first period.
  • the integrated ECU 200 determines the first period in accordance with the transmission cycle of messages from the individual ECU 300. Therefore, in the integrated ECU 200, messages M_1, M_2, and M_3 are received during the first period, and relay processing is efficiently performed.
  • the determining unit 211 determines the first period based on the probability distribution of receiving messages over time (hereinafter referred to as "reception probability distribution").
  • the creation unit 212 creates a reception probability distribution.
  • the creation unit 212 creates a reception probability distribution using the cycle information 255 and the history data 256.
  • FIG. 5B is a diagram for explaining determination of the first period and the second period by the integrated ECU according to the present embodiment.
  • the lower graph in FIG. 5B shows the reception probability distribution.
  • 501 is the reception probability distribution of message M_1 from individual ECU 300A
  • 502 is the reception probability distribution of message M_2 from individual ECU 300B
  • 503 is the reception probability distribution of message M_3 from individual ECU 300C.
  • the individual ECU 300 transmits a message according to the set individual cycle, the timing of transmitting the message may be shifted due to communication arbitration or the like when messages are transmitted from a plurality of individual ECUs 300 at the same time.
  • the creation unit 212 creates a reception probability distribution 501 of the message M_1 using the individual cycle of the individual ECU 300A and the reception history of the message M_1 from the individual ECU 300A.
  • the creation unit 212 creates a reception probability distribution 502 of the message M_2 using the individual period of the individual ECU 300B and the reception history of the message M_2 from the individual ECU 300B.
  • the creation unit 212 creates a reception probability distribution 503 of the message M_3 using the individual cycle of the individual ECU 300C and the reception history of the message M_3 from the individual ECU 300C.
  • the phase change detection unit 213 detects a change in the phase of periodic message communication.
  • the phase change detection unit 213 uses the cycle information 255 and the history data 256 to detect a phase change in message communication.
  • FIG. 6 is a diagram for explaining an example of detecting a phase change in message communication.
  • the message M_1 is transmitted from the individual ECU 300A every individual cycle.
  • an event that changes the phase of message transmission may occur. For example, when the individual ECU 300A enters a sleep state, it suspends transmission of the message M_1. When the individual ECU 300A returns from the sleep state to the normal operating state, the periodic transmission of the message M_1 is resumed, but the phase of the transmission of the message M_1 changes from before the sleep state.
  • the phase change detection unit 213 identifies, for example, the past reception state of the message M_1 in the integrated ECU 200 from the cycle information 255 and the history data 256, and detects a phase change in the reception of the message M_1.
  • the phase change detection unit 213 may detect a phase change in the reception of the message M_1 by monitoring the state (normal operating state, sleep state) of the individual ECU 300A.
  • the creation unit 212 creates a reception probability distribution based on the reception history of messages after the phase change detected by the phase change detection unit 213.
  • the phase change detection unit 213 detects that a phase change has occurred at the end of the sleep period of the individual ECU 300A (hereinafter referred to as "phase change point").
  • the creation unit 212 acquires the reception history of message M_1 after the phase change point from the history data 256, and creates a reception probability distribution of message M_1 using the acquired reception history. As a result, the reception probability distribution of message M_1 after the phase change point is created.
  • the reception history of messages after the last phase change point is used. This makes it possible to obtain a reception probability distribution that accurately reflects the current phase of message reception.
  • the creation unit 212 combines multiple reception probability distributions.
  • the reception probability distribution 501 of message M_1 and the reception probability distribution 502 of message M_2 are combined to create a composite probability distribution 504. More specifically, the creation unit 212 adds the values of the reception probability distributions 501 and 502 at each time to create a composite probability distribution 504.
  • the determining unit 211 determines the first period based on the comparison between the reception probability distribution created by the creating unit 212 and the threshold value.
  • a threshold value (indicated by a broken line in the figure) for message reception probability is set.
  • the determining unit 211 compares the combined probability distribution 504 and the reception probability distribution 503 with a threshold value, and determines a period in which the reception probability is equal to or greater than the threshold value as the first period. For example, the determining unit 211 determines a period other than the first period in the basic period as the second period.
  • the creation unit 212 creates a reception probability distribution with timing based on the fundamental period, and the determining unit 211 determines the first period and the second period with timing based on the basic period.
  • the creation unit 212 creates a reception probability distribution based on the reception history obtained from the phase detection point to the current fundamental cycle.
  • the determining unit 211 uses the reception probability distribution created by the creating unit 212 to determine the first period and second period in the next basic cycle. Note that the creation unit 212 does not need to create the reception probability distribution for each basic period, and the determining unit 211 does not need to determine the first period and the second period for each basic period.
  • the creation unit 212 may create a reception probability distribution every predetermined number of basic cycles (for example, three basic cycles), and the determination unit 211 may determine the first period and the second period.
  • the determining unit 211 stores the determined first period and second period in the schedule table 257. As a result, the schedule table 257 is updated.
  • the hypervisor 251 operates VM_1 and VM_2 according to the first period and second period specified in the schedule table 257. This allows VM_1 to perform relay processing during a period when the message reception probability is high.
  • the storage unit 214 stores the message reception history in the integrated ECU 200.
  • the storage unit 214 records the identification information of the sender of the message and the reception time of the message in the history data 256 each time a message is relayed by VM_1. As a result, new information is added to the history data 256.
  • FIG. 7 is a flowchart illustrating an example of period determination processing by the integrated ECU according to the present embodiment.
  • step S101 determines whether the basic cycle has started (step S101). If the basic cycle has not started (NO in step S101), the processor 201 executes step S101 again.
  • processor 201 refers to cycle information 255 and history data 256 and detects a phase change in message reception from individual ECU 300 (step S102). The processor 201 acquires the reception history after the phase change point from the history data 256 (step S103).
  • the processor 201 creates a message reception probability distribution based on the period information 255 and the reception history after the phase change point (step S104). If multiple reception probability distributions overlap, processor 201 combines the multiple reception probability distributions to create a composite probability distribution.
  • the processor 201 compares the reception probability distribution with the threshold (step S105), and identifies a period in which the reception probability is greater than or equal to the threshold.
  • the processor 201 determines the specified period as the first period, and determines a period other than the first period in the basic cycle as the second period (step S106).
  • the processor 201 stores the determined first period and second period in the schedule table 257, and updates the schedule table 257 (step S107). With this, the period determination process ends.
  • a composite probability distribution is generated by combining the reception probability distributions, and the first period is determined by comparing the composite probability distribution with the threshold value.
  • the first period is not limited to this. Not done.
  • the determining unit 211 compares the reception probability distribution with a threshold value to identify a period in which the reception probability is greater than or equal to the threshold value, two or more periods are identified, and a blank period between adjacent periods (reception probability is equal to or higher than the threshold value) is determined. If the length of the blank period is less than or equal to a predetermined value, the first period may be the sum of the adjacent period and the blank period.
  • the first period is determined based on the message reception probability distribution in the integrated ECU 200, but the first period is not limited thereto.
  • the first period may be determined based on the period of the message without using the reception probability distribution.
  • the determining unit 211 estimates the next message reception time based on the message transmission cycle of the individual ECU 300 specified in the cycle information 255, and sets a period of a predetermined width centered around the estimated message reception time to the first It can be determined as a period.
  • the creation unit 212 included in the integrated ECU 200 created the message reception probability distribution, but the present invention is not limited to this.
  • the server 600 may have the same function as the creation unit 212 and create the message reception probability distribution.
  • the integrated ECU 200 can acquire the reception probability distribution from the server through communication and determine the first period and the second period using the acquired reception probability distribution.
  • the determining unit 211 determines the first period and the second period at timings based on the basic cycle, but the present invention is not limited to this.
  • the determining unit 211 may determine the first period and the second period when a change in the state of the vehicle is detected.
  • FIG. 8 is a functional block diagram showing a modified example of the functions of the integrated ECU according to the embodiment.
  • the integrated ECU 200 according to this modification has a function as a state change detection section 215.
  • the state change detection unit 215 detects a change in the state of the vehicle.
  • the creation unit 212 creates a message reception probability distribution when the state change detection unit 215 detects a change in the vehicle state.
  • the determination unit 211 determines the first period and the second period based on the reception probability distribution.
  • the change in the state of the vehicle detected by the state change detection unit 215 can be a change in the driving state of the vehicle.
  • the state change detection unit 215 obtains, for example, a measured value of the speed of the vehicle from a speed sensor, and determines from the speed of the vehicle whether the vehicle is running or stopped.
  • the state change detection unit 215 detects a change in the vehicle from a running state to a stopped state, or a change from a stopped state to a running state.
  • the creation unit 212 creates a reception probability distribution
  • the determination unit 211 determines the first period and the second period based on the reception probability distribution. .
  • the change in the state of the vehicle detected by the state change detection unit 215 can be a change in the configuration of the in-vehicle network.
  • State change detection unit 215 detects new connection of individual ECU 300 to the in-vehicle network, and detects removal of individual ECU 300 from the in-vehicle network.
  • the creation unit 212 creates a reception probability distribution, and the determination unit 211 determines the first period and the second period based on the reception probability distribution. .
  • the change in the state of the vehicle detected by the state change detection unit 215 can be a switch between a normal operating state and a sleep state in at least one individual ECU 300.
  • the state change detection unit 215 detects that the individual ECU 300 has switched from the normal operating state to the sleep state, and detects that the individual ECU 300 has switched from the sleep state to the normal operating state.
  • one individual ECU 300 (for example, individual ECU 300E) is a power management ECU that manages the power of individual ECUs 300A, 300B, 300C, and 300D; Manage switching between normal operating state and sleep state.
  • the power management ECU When switching between the normal operating state and the sleep state occurs in the individual ECU 300, the power management ECU integrates the fact that the switching between the normal operating state and the sleep state has occurred in the individual ECU 300 and the identification information of the individual ECU 300. Notify ECU 200.
  • the state change detection unit 215 detects that switching between the normal operating state and the sleep state has occurred in the individual ECU 300.
  • the creation unit 212 creates a reception probability distribution
  • the determination unit 211 creates the first one based on the reception probability distribution. Determine the period and the second period.
  • Relay processing and processing different from relay processing may be executed by two container-type virtual machines, or relay processing and processing different from relay processing may be executed by two applications that run on a common OS rather than virtual machines. may be executed.
  • Integrated ECU 200 includes a virtual machine 261A (first processing section), a virtual machine 261B (second processing section), and a determining section 211.
  • the virtual machine 261A executes a relay process that relays messages communicated between a plurality of individual ECUs 300.
  • the virtual machine 261B executes processing different from relay processing regarding vehicles.
  • the determining unit 211 dynamically determines a first period for performing relay processing by the virtual machine 261A and a second period for performing processing by the virtual machine 261B. Thereby, the first period for executing the relay process and the second period for executing the process different from the relay process can be appropriately determined.
  • Messages may be periodically communicated between multiple individual ECUs 300.
  • the determining unit 211 may determine the first period based on the cycle of the message. Thereby, the first period can be assigned to the period during which messages can be received.
  • the determining unit 211 may determine the first period based on the message reception probability distribution over time. This makes it possible to allocate the first period to a period in which the probability of receiving a message is high.
  • the determining unit 211 may determine the first period based on a comparison between the reception probability distribution and a threshold value. Thereby, it is possible to determine a period with a high probability of receiving a message using a threshold value.
  • the integrated ECU 200 may include a creation section 212.
  • the creation unit 212 creates a reception probability distribution. Thereby, the first period can be determined using the reception probability distribution created in integrated ECU 200.
  • the creation unit 212 may create a reception probability distribution based on the message reception history in the integrated ECU 200. This makes it possible to obtain a probability distribution that reflects the message reception cycle using the message reception history.
  • the integrated ECU 200 may include a phase change detection section 213.
  • the phase change detection unit 213 detects a change in the phase of periodic message communication.
  • the creation unit 212 may create a reception probability distribution based on the reception history of messages after the phase change point detected by the phase change detection unit 213. This makes it possible to obtain a probability distribution that reflects the reception cycle of messages from the communication phase change point.
  • the determining unit 211 may determine the first period based on a reception probability distribution created by a server 600 (external device) provided outside the vehicle. Thereby, there is no need to create a reception probability distribution in integrated ECU 200. Integrated ECU 200 can determine the first period using the reception probability distribution created by server 600.
  • the determining unit 211 may determine the first period and the second period at timings based on a basic cycle (fixed period) that includes the first period and the second period. Thereby, the first period and the second period can be determined at suitable timing.
  • a basic cycle fixed period
  • the integrated ECU 200 may include a state change detection section 215.
  • the state change detection unit 215 detects a change in the state of the vehicle.
  • the determining unit 211 may determine the first period and the second period when the state change detecting unit 215 detects a change in the state of the vehicle. Thereby, the first period and the second period can be determined at suitable timing.
  • the change in the state of the vehicle may include a change in the driving state of the vehicle.
  • the first period and the second period can be determined at the timing when the driving state of the vehicle changes.
  • the change in the state of the vehicle may include a change in the configuration of the in-vehicle network including the plurality of individual ECUs 300. Thereby, the first period and the second period can be determined at the timing when the configuration of the in-vehicle network changes.
  • the change in the state of the vehicle may include at least one of the plurality of individual ECUs 300 switching from a normal operating state to a sleep state, or from a sleep state to a normal operating state.
  • the first period and the second period can be determined at the timing when the state of the individual ECU 300 changes between the normal operating state and the sleep state.
  • In-vehicle system 200 Integrated ECU (in-vehicle control unit) 201 Processor 202 Non-volatile memory 203 Volatile memory 204 Communication interface (communication I/F) 211 Determination unit 212 Creation unit 213 Phase change detection unit 214 Accumulation unit 215 State change detection unit 251 Hypervisor 252A, 252B Guest OS 254 Control program 255 Cycle information 256 History data 257 Schedule table 260 Hardware 260A, 260B Virtual hardware (virtual HW) 261A Virtual machine (first processing unit) 261B Virtual machine (second processing unit) 300, 300A, 300B, 300C, 300D, 300E Individual ECU (in-vehicle device) 350 External communication device 400A, 400B, 400C In-vehicle bus 501, 502, 503 Reception probability distribution 504 Synthetic probability distribution 600 Server (external device)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

車載制御装置は、複数の車載装置間で通信されるメッセージを中継する中継処理を実行する第1処理部と、車両に関する前記中継処理とは異なる処理を実行する第2処理部と、前記第1処理部による前記中継処理を実行するための第1期間と、前記第2処理部による処理を実行するための第2期間とを動的に決定する決定部と、を備える。

Description

車載制御装置、制御方法及び制御プログラム
 本開示は、車載制御装置、制御方法及び制御プログラムに関する。本出願は、2022年4月8日出願の日本出願第2022-064471号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
 車両には、エンジン、トランスミッション等を制御する制御系ECU(Electronic Control Unit)、ヘッドライト、パワーウインドウ等を制御するボディ系ECU、ナビゲーション装置、マルチメディア機器等の情報系ECU等、多種の車載装置が搭載される。近年、1台の車載装置において複数の仮想マシンを構築し、複数のECUの機能を設けることが提案されている。1台の車載装置において複数の仮想マシンを稼働する場合、各仮想マシンにタスクの実行時間が時分割で割り当てられる。特許文献1には、イグニッションスイッチの位置及びエンジンの状態(ACC OFF、ACC ON、IG OFF直後、IG ON直後、IG ON定常状態)に応じて、各仮想マシンに割り当てられるタスクの実行時間を変更することが開示されている。
特開2012-185531号公報
 本開示の一態様に係る車載制御装置は、複数の車載装置間で通信されるメッセージを中継する中継処理を実行する第1処理部と、車両に関する前記中継処理とは異なる処理を実行する第2処理部と、前記第1処理部による前記中継処理を実行するための第1期間と、前記第2処理部による処理を実行するための第2期間とを動的に決定する決定部と、を備える。
 本開示の一態様に係る制御方法は、複数の車載装置間で通信されるメッセージを中継する中継処理を実行するステップと、車両に関する前記中継処理とは異なる処理を実行するステップと、前記中継処理を実行するための第1期間と、前記中継処理とは異なる処理を実行するための第2期間とを動的に決定するステップと、を含む。
 本開示の一態様に係る制御プログラムは、複数の車載装置間で通信されるメッセージを中継する中継処理と、車両に関する前記中継処理とは異なる処理とを実行する車載制御装置に用いられる制御プログラムであって、コンピュータを、前記中継処理を実行するための第1期間と、前記中継処理とは異なる処理を実行するための第2期間とを動的に決定する決定部、として機能させる。
 本開示は、上記のような特徴的な構成を備える車載制御装置、前記車載制御装置における特徴的な処理をステップとする制御方法、及び前記車載制御装置に特徴的な処理を実行させるための制御プログラムとして実現することができるだけでなく、前記車載制御装置を含む車載システムとして実現したり、前記車載制御装置の一部又は全部を半導体集積回路として実現したりすることができる。
実施形態に係る車載システムの構成の一例を示すブロック図である。 実施形態に係る統合ECUの構成の一例を示すブロック図である。 実施形態に係る統合ECUにおける仮想環境を説明するための模式図である。 実施形態に係る統合ECUの機能の一例を示す機能ブロック図である。 第1期間及び第2期間とメッセージの受信タイミングとの関係の一例を示すタイミングチャートである。 実施形態に係る統合ECUによる第1期間及び第2期間の決定を説明するための図である。 メッセージ通信の位相変化の検出の一例を説明するための図である。 実施形態に係る統合ECUによる期間決定処理の一例を示すフローチャートである。 実施形態に係る統合ECUの機能の変形例を示す機能ブロック図である。
 [本開示が解決しようとする課題]
 車載装置には、複数の車載装置間の通信を中継する中継装置がある。このような中継装置を仮想マシンで実現する場合、車載装置からメッセージを受信する期間にタスクの実行時間が割り当てられなければ、中継処理を効率的に行うことができない。
 [本開示の効果]
 本開示によれば、複数の車載装置間で通信されるメッセージを中継する中継処理と、車両に関する前記中継処理とは異なる処理とを実行する車載制御装置において、中継処理を実行するための第1期間と、中継処理とは異なる処理を実行するための第2期間とを適切に決定することができる。
 <本開示の実施形態の概要>
 以下、本開示の実施形態の概要を列記して説明する。
 (1) 本実施形態に係る車載制御装置は、複数の車載装置間で通信されるメッセージを中継する中継処理を実行する第1処理部と、車両に関する前記中継処理とは異なる処理を実行する第2処理部と、前記第1処理部による前記中継処理を実行するための第1期間と、前記第2処理部による処理を実行するための第2期間とを動的に決定する決定部と、 を備える。これにより、中継処理を実行するための第1期間と、中継処理とは異なる処理を実行するための第2期間とを適切に決定することができる。
 (2) 上記(1)において、前記メッセージは、前記複数の車載装置間で周期的に通信され、前記決定部は、前記メッセージの周期に基づいて、前記第1期間を決定してもよい。これにより、メッセージを受信可能な期間に第1期間を割り当てることができる。
 (3) 上記(2)において、前記決定部は、時間における前記メッセージを受信する確率分布に基づいて、前記第1期間を決定してもよい。これにより、メッセージを受信する確率が高い期間に、第1期間を割り当てることができる。
 (4) 上記(3)において、前記決定部は、前記確率分布と前記閾値との比較に基づいて、前記第1期間を決定してもよい。これにより、メッセージを受信する確率が高い期間を、閾値を用いて定めることができる。
 (5) 上記(3)又は(4)において、前記車載制御装置は、前記確率分布を作成する作成部を備えてもよい。これにより、車載制御装置において作成された確率分布を用いて第1期間を決定することができる。
 (6) 上記(5)において、前記作成部は、前記車載制御装置における前記メッセージの受信履歴に基づいて、前記確率分布を作成してもよい。これにより、メッセージの受信履歴を用いて、メッセージの受信周期を反映した確率分布を得ることができる。
 (7) 上記(6)において、前記車載制御装置は、前記メッセージの周期的な通信の位相の変化を検出する位相変化検出部を備え、前記作成部は、前記位相変化検出部によって検出された位相の変化から後の前記メッセージの受信履歴に基づいて、前記確率分布を作成してもよい。これにより、通信の位相が変化してからのメッセージの受信周期を反映した確率分布を得ることができる。
 (8) 上記(3)又は(4)において、前記決定部は、前記車両の外部に設けられた外部装置によって作成された前記確率分布に基づいて、前記第1期間を決定してもよい。これにより、車載制御装置において確率分布を作成する必要がない。車載制御装置は、外部装置において作成された確率分布を用いて第1期間を決定することができる。
 (9) 上記(1)から(8)のいずれか1つにおいて、前記決定部は、前記第1期間及び前記第2期間を含む一定の周期に基づくタイミングで、前記第1期間及び前記第2期間を決定してもよい。これにより、好適なタイミングで第1期間及び第2期間を決定することができる。
 (10) 上記(1)から(9)のいずれか1つにおいて、前記車載制御装置は、前記車両の状態の変化を検出する状態変化検出部を備え、前記決定部は、前記状態変化検出部によって前記状態の変化が検出された場合に、前記第1期間及び前記第2期間を決定してもよい。これにより、好適なタイミングで第1期間及び第2期間を決定することができる。
 (11) 上記(10)において、前記車両の状態の変化は、前記車両の走行状態の変化を含んでもよい。これにより、車両の走行状態が変化したタイミングで、第1期間及び第2期間を決定することができる。
 (12) 上記(10)において、前記車両の状態の変化は、前記複数の車載装置を含む車載ネットワークの構成の変化を含んでもよい。これにより、車載ネットワークの構成が変化したタイミングで、第1期間及び第2期間を決定することができる。
 (13) 上記(10)において、前記車両の状態の変化は、前記複数の車載装置の少なくとも1つが通常稼働状態からスリープ状態へ、又は、スリープ状態から通常稼働状態へ切り替わることを含んでもよい。これにより、車載装置の状態が通常稼働状態とスリープ状態との間で変化したタイミングで、第1期間及び第2期間を決定することができる。
 (14) 本実施形態に係る制御方法は、複数の車載装置間で通信されるメッセージを中継する中継処理を実行するステップと、車両に関する前記中継処理とは異なる処理を実行するステップと、前記前記中継処理を実行するための第1期間と、前記前記中継処理とは異なる処理を実行するための第2期間とを動的に決定するステップと、を含む。これにより、中継処理を実行するための第1期間と、中継処理とは異なる処理を実行するための第2期間とを適切に決定することができる。
 (15) 本実施形態に係る制御プログラムは、複数の車載装置間で通信されるメッセージを中継する中継処理と、車両に関する前記中継処理とは異なる処理とを実行する車載制御装置に用いられる制御プログラムであって、コンピュータを、前記中継処理を実行するための第1期間と、前記中継処理とは異なる処理を実行するための第2期間とを動的に決定する決定部、として機能させる。これにより、中継処理を実行するための第1期間と、中継処理とは異なる処理を実行するための第2期間とを適切に決定することができる。
 <本開示の実施形態の詳細>
 以下、図面を参照しつつ、本開示の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
 [1.車載システム]
 図1は、本実施形態に係る車載システムの構成の一例を示すブロック図である。車載システム100は、車両に搭載される。
 本実施系に係る車載システム100は、統合ECU200と、個別ECU300A,300B,300C,300D,300Eとを含む。車載システム100は、統合ECU200、個別ECU300A,300B,300C,300D,300E、及びそれらを繋ぐ通信ケーブル(通信バス)によって構成される車載ネットワークである。
 複数の個別ECU300A,300B,300C,300D,300Eは、車両の各部に配置される。個別ECU300A,300B,300C,300D,300Eは、車両の各部のハードウェアを個別に制御したり、車両の各部のハードウェアの状態を監視したりする。例えば、個別ECU300A,300B,300C,300D,300Eは、制御系、ボディ系、情報系のECUである。個別ECU300A,300B,300C,300D,300Eは、「車載装置」の一例である。なお、以下の説明では、個別ECU300A,300B,300C,300D,300Eを総称して「個別ECU300」ともいう。
 統合ECU200は、個別ECU300A,300B,300C,300D,300EのそれぞれとCAN(Controller Area Network)バスのような車載バス400A,400B,400Cを介して接続されている。具体的には、バス400Aには、個別ECU300A,300Bが接続されている。バス400Bには、個別ECU300C,300Dが接続されている。バス400Cには、個別ECU300Eが接続されている。統合ECU200は、個別ECU300A,300B,300C,300D,300Eのそれぞれと相互に通信することができる。
 統合ECU200及び個別ECU300は、周期的にメッセージを送受信するための通信プロトコルを使用する。通信プロトコルは、例えば、CAN又はCAN FD(CAN with Flexible Data Rate)である。
 統合ECU200は、複数の個別ECU300間の通信を中継するゲートウェイとしての機能を有する。個別ECU300は、メッセージを送信することができる。統合ECU200は、異なるバスに接続された個別ECU間のメッセージを中継する。例えば、統合ECU200は、バス400Aに接続された個別ECU300Aと、バス400Bに接続された個別ECU300Cとの間でメッセージを中継することができる。
 統合ECU200は、バス400Cを介して外部通信装置350に接続されている。外部通信装置350は、例えば5G又は4Gに準拠した無線通信端末であり、例えば、TCU(Telematics Control Unit)である。外部通信装置350は、サーバ600と通信することができる。外部通信装置350は、統合ECU200とサーバ600との間の通信を中継する。
 [2.統合ECUの構成]
 図2は、本実施形態に係る統合ECUの構成の一例を示すブロック図である。統合ECU200は、プロセッサ201と、不揮発性メモリ202と、揮発性メモリ203と、通信インタフェース(I/F)204とを含む。
 揮発性メモリ203は、例えばSRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)等の半導体メモリである。不揮発性メモリ202は、例えばフラッシュメモリ、ハードディスク等である。不揮発性メモリ202は、データの読み出し及び書き込みが可能である。
 プロセッサ201は、例えばCPU(Central Processing Unit)である。ただし、プロセッサ201は、CPUに限られない。プロセッサ201は、GPU(Graphics Processing Unit)であってもよい。プロセッサ201は、コンピュータプログラムを実行可能に構成される。ただしプロセッサ201は、例えば、ASIC(Application Specific Integrated Circuit)を一部に含んでもよいし、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを一部に含んでもよい。
 通信I/F204は、上述した車載ネットワーク用の通信プロトコルに準拠した通信インタフェースである。通信I/F204は、複数の通信ポートを含み、バス400A,400B,400Cのそれぞれに接続されている。通信I/F204は、バス400A,400B,400Cを介して個別ECU300A,300B,300C,300D,300Eのそれぞれに接続されている。統合ECU200は、通信I/F204によって、個別ECU300A,300B,300C,300D,300Eと通信することができる。さらに、統合ECU200は、通信I/F204によって、外部通信装置350を介してサーバ600と通信することができる。
 不揮発性メモリ202には、ハイパーバイザ251、ゲストOS(Operating System)252A,252B、アプリケーション(APP)253A,253Bがインストールされている。ハイパーバイザ251は、プロセッサ201によって実行され、統合ECU200を仮想マシンとして機能させる。
 図3は、本実施形態に係る統合ECUにおける仮想環境を説明するための模式図である。ハイパーバイザ251は、ハードウェア260(プロセッサ201、不揮発性メモリ202、揮発性メモリ203、及び通信I/F204等)上で動作する。ハイパーバイザ251は、仮想ハードウェア(HW)260A,260Bをエミュレートすることができる。仮想HW260Aがエミュレートされることで、仮想マシン261Aが実現され、仮想HW260Bがエミュレートされることで、仮想マシン261Bが実現される。以下、仮想マシン261Aを「VM_1」ともいい、仮想マシン261Bを「VM_2」ともいう。VM_1は「第1処理部」の一例であり、VM_2は「第2処理部」の一例である。
 VM_1において、ゲストOS252Aは動作する。VM_1において、APP253AはゲストOS252A上で動作する。VM_2において、ゲストOS252Bは動作する。VM_2において、APP253BはゲストOS252B上で動作する。APP253Aは、ゲートウェイの機能を実現するためのソフトウェアである。プロセッサ201がAPP253Aを実行することにより、統合ECU200は、個別ECU300間のメッセージを中継する中継処理を実行することができる。APP253Bは、ゲートウェイの機能以外の機能を実現するためのソフトウェアである。APP253Bは、例えば、パワーウインドウの制御ソフトウェアである。プロセッサ201がAPP253Bを実行することにより、統合ECU200は、パワーウインドウを制御することができる。
 ハイパーバイザ251は、VM_1及びVM_2の実行期間を管理する。VM_1の実行期間及びVM_2の実行期間は時分割で割り当てられる。VM_1の実行期間は「第1期間」であり、VM_2の実行期間は「第2期間」である。
 図2に戻り、不揮発性メモリ202には、コンピュータプログラムである制御プログラム254並びに制御プログラム254において使用される周期情報255、履歴データ256、及びスケジュールテーブル257が格納される。
 制御プログラム254は、VM_1及びVM_2それぞれの実行期間を決定するためのプログラムである。
 周期情報255は、個別ECU300A,300B,300C,300D,300Eのそれぞれのメッセージの送信周期を示す情報である。個別ECU300A,300B,300C,300D,300Eの少なくとも一部において、メッセージ送信周期は互いに異なってもよい。個別ECU300A,300B,300C,300D,300Eの少なくとも一部において、メッセージ送信周期は同一であってもよい。例えば、個別ECU300Aのメッセージ送信周期はT1秒であり、個別ECU300Bのメッセージ送信周期はT2秒である。周期情報255は、個別ECU300毎のメッセージ送信周期を含む。以下、メッセージ送信周期を「個別周期」ともいう。
 履歴データ256は、統合ECU200が各個別ECU300から受信したメッセージの受信履歴である。履歴データ256は、送信元の個別ECU300の識別情報と、メッセージの受信時刻とを含む。
 スケジュールテーブル257は、第1期間及び第2期間を定義するためのテーブルである。スケジュールテーブル257には、制御プログラム254によって決定された第1期間及び第2期間が格納される。ハイパーバイザ251は、スケジュールテーブル257で指定された第1期間及び第2期間にしたがって、VM_1及びVM_2を動作させる。
 [3.統合ECUの機能]
 図4は、本実施形態に係る統合ECUの機能の一例を示す機能ブロック図である。
 プロセッサ201が制御プログラム254を実行することにより、決定部211と、作成部212と、位相変化検出部213と、蓄積部214との各機能が実現される。
 決定部211は、VM_1による中継処理を実行するための第1期間と、VM_2による処理を実行するための第2期間とを動的に決定する。決定部211は、個別ECU300からのメッセージの送信周期に基づいて、第1期間を決定する。
 図5Aは、第1期間及び第2期間とメッセージの受信タイミングとの関係の一例を示すタイミングチャートである。車載システム100において使用される通信プロトコルでは、個別ECU300から周期的にメッセージが送信される。図5Aの例では、個別ECU300Aから送信されるメッセージを「M_1」、個別ECU300Bから送信されるメッセージを「M_2」、個別ECU300Cから送信されるメッセージを「M_3」で示し、第1期間を「VM_1」、第2期間を「VM_2」で示す。
 第1期間及び第2期間は、基本周期内において指定される。図5Aでは、基本周期において、第1期間及び第2期間が固定的に決定された例を示す。すなわち、図5Aの例では、各基本周期において、第1期間及び第2期間が変動しない。この場合、メッセージM_1,M_2,M_3は、第1期間中に統合ECU200によって受信されるとは限らない。図5Aの例では、メッセージM_1は第1期間において受信されるため、VM_1は第1期間にメッセージM_1の中継処理を行うことができる。しかし、メッセージM_2及びM_3は、第1期間中に受信されないため、統合ECU200は、次の第1期間を待たなければ、メッセージM_2及びM_3を中継することができない。
 本実施形態に係る統合ECU200は、個別ECU300からのメッセージの送信周期に合わせて、第1期間を決定する。このため、統合ECU200において、第1期間にメッセージM_1,M_2,M_3が受信され、中継処理が効率的に行われる。
 図4に戻り、具体的には、決定部211は、時間におけるメッセージを受信する確率分布(以下、「受信確率分布」という)に基づいて、第1期間を決定する。作成部212は、受信確率分布を作成する。
 作成部212は、周期情報255及び履歴データ256を用いて、受信確率分布を作成する。図5Bは、本実施形態に係る統合ECUによる第1期間及び第2期間の決定を説明するための図である。図5Bにおける下段のグラフは、受信確率分布を示す。図5Bにおいて、501は個別ECU300AからのメッセージM_1の受信確率分布であり、502は個別ECU300BからのメッセージM_2の受信確率分布であり、503は個別ECU300CからのメッセージM_3の受信確率分布である。個別ECU300は、設定された個別周期によってメッセージを送信するが、複数の個別ECU300から同時にメッセージが送信された場合の通信調停などによって、メッセージの送信タイミングがずれることがある。作成部212は、個別ECU300Aの個別周期と、個別ECU300AからのメッセージM_1の受信履歴を用いて、メッセージM_1の受信確率分布501を作成する。作成部212は、個別ECU300Bの個別周期と、個別ECU300BからのメッセージM_2の受信履歴を用いて、メッセージM_2の受信確率分布502を作成する。作成部212は、個別ECU300Cの個別周期と、個別ECU300CからのメッセージM_3の受信履歴を用いて、メッセージM_3の受信確率分布503を作成する。
 図4に戻り、位相変化検出部213は、メッセージの周期的な通信の位相の変化を検出する。具体的な一例では、位相変化検出部213は、周期情報255及び履歴データ256を用いて、メッセージの通信の位相変化を検出する。
 図6は、メッセージ通信の位相変化の検出の一例を説明するための図である。図6では、通信調停によるメッセージ送信タイミングのずれを考慮していない。個別ECU300Aからは、個別周期毎にメッセージM_1が送信される。個別ECU300では、メッセージ送信の位相が変化するイベントが発生することがある。例えば、個別ECU300Aはスリープ状態に入ると、メッセージM_1の送信を中断する。個別ECU300Aがスリープ状態から通常動作状態に復帰すると、メッセージM_1の周期的な送信が再開されるが、スリープ状態の前からはメッセージM_1の送信の位相が変化する。位相変化検出部213は、例えば統合ECU200におけるメッセージM_1の過去の受信状態を周期情報255及び履歴データ256から特定し、メッセージM_1の受信の位相変化を検出する。位相変化検出部213は、個別ECU300Aの状態(通常動作状態、スリープ状態)を監視することにより、メッセージM_1の受信の位相変化を検出してもよい。
 図4に戻り、作成部212は、位相変化検出部213によって検出された位相の変化から後のメッセージの受信履歴に基づいて、受信確率分布を作成する。図6の例では、位相変化検出部213は、個別ECU300Aのスリープ期間の終了時点(以下、「位相変化点」という)において位相変化が生じたことを検出する。作成部212は、履歴データ256から位相変化点以降のメッセージM_1の受信履歴を取得し、取得された受信履歴を用いてメッセージM_1の受信確率分布を作成する。これにより、位相変化点以降におけるメッセージM_1の受信確率分布が作成される。
 1つの個別ECU300からのメッセージの受信履歴において、複数回の位相変化が検出された場合、最後の位相変化点以降のメッセージの受信履歴が用いられる。これにより、現時点におけるメッセージの受信の位相を正確に反映した受信確率分布を得ることができる。
 一例では、作成部212は、複数の受信確率分布を合成する。図5Bに戻り、メッセージM_1の受信確率分布501とメッセージM_2の受信確率分布502とが合成され、合成確率分布504が作成される。さらに詳細には、作成部212は、受信確率分布501及び502の値を時刻毎に加算し、合成確率分布504を作成する。
 決定部211は、作成部212によって作成された受信確率分布と閾値との比較に基づいて、第1期間を決定する。統合ECU200において、メッセージの受信確率の閾値(図中破線で示される)が設定されている。決定部211は合成確率分布504及び受信確率分布503と閾値とを比較し、受信確率が閾値以上となる期間を第1期間として決定する。決定部211は、例えば、基本期間において第1期間以外の期間を第2期間として決定する。
 図4に戻り、作成部212は、基本周期に基づくタイミングで受信確率分布を作成し、決定部211は、基本周期に基づくタイミングで第1期間及び第2期間を決定する。具体的な一例では、基本周期が開始したタイミングで、作成部212は、位相検知点から現在の基本周期までに得られた受信履歴に基づいて、受信確率分布を作成する。決定部211は、作成部212によって作成された受信確率分布を用いて、次の基本周期における第1期間及び第2期間を決定する。なお、作成部212は基本周期毎に受信確率分布を作成しなくてもよく、決定部211は基本周期毎に第1期間及び第2期間を決定しなくてもよい。例えば、所定回数の基本周期(例えば、3回の基本周期)毎に、作成部212が受信確率分布を作成し、決定部211が第1期間及び第2期間を決定してもよい。
 決定部211は、決定した第1期間及び第2期間を、スケジュールテーブル257に格納する。これにより、スケジュールテーブル257が更新される。ハイパーバイザ251はスケジュールテーブル257において指定された第1期間及び第2期間によって、VM_1及びVM_2を動作させる。これにより、メッセージの受信確率が高い期間に、VM_1が中継処理を実行することができる。
 蓄積部214は、統合ECU200におけるメッセージの受信履歴を蓄積する。蓄積部214は、VM_1によってメッセージが中継される都度、メッセージの送信元の識別情報と、メッセージの受信時刻とを履歴データ256に記録する。これにより、履歴データ256に新たな情報が追加される。
 [4.統合ECUの動作]
 以下、本実施形態に係る統合ECUの動作を説明する。統合ECU200のプロセッサ201が制御プログラム254を実行することにより、以下に説明するような期間決定処理を実行する。図7は、本実施形態に係る統合ECUによる期間決定処理の一例を示すフローチャートである。
 期間設定処理が開始すると、プロセッサ201は、基本周期が開始したか否かを判定する(ステップS101)。基本周期が開始していなければ(ステップS101においてNO)、プロセッサ201はステップS101を再度実行する。
 基本周期が開始している場合(ステップS101においてYES)、プロセッサ201は、周期情報255及び履歴データ256を参照し、個別ECU300からのメッセージ受信の位相変化を検出する(ステップS102)。プロセッサ201は、履歴データ256から位相変化点以降の受信履歴を取得する(ステップS103)。
 プロセッサ201は、周期情報255及び位相変化点以降の受信履歴に基づいて、メッセージの受信確率分布を作成する(ステップS104)。複数の受信確率分布が重なっている場合、プロセッサ201は複数の受信確率分布を合成し、合成確率分布を作成する。
 プロセッサ201は、受信確率分布と閾値とを比較し(ステップS105)、受信確率が閾値以上である期間を特定する。プロセッサ201は、特定された期間を第1期間として決定し、基本周期において第1期間以外の期間を第2期間として決定する(ステップS106)。
 プロセッサ201は、決定された第1期間及び第2期間をスケジュールテーブル257に格納し、スケジュールテーブル257を更新する(ステップS107)。以上で、期間決定処理が終了する。
 [5.変型例]
 上記の実施形態では、複数の受信確率分布に重なりがある場合、受信確率分布を合成した合成確率分布を生成し、合成確率分布と閾値との比較によって第1期間を決定したが、これに限定されない。例えば、決定部211が、受信確率分布と閾値とを比較して受信確率が閾値以上の期間を特定し、2つ以上の期間が特定され、隣り合う期間の間の空白期間(受信確率が閾値未満の期間)の長さが所定値以下である場合、当該隣り合う期間と、空白期間とを合わせた期間を第1期間としてもよい。
 上記の実施形態では、統合ECU200におけるメッセージの受信確率分布に基づいて第1期間を決定したが、これに限定されない。受信確率分布を用いることなく、メッセージの周期に基づいて第1期間を決定してもよい。例えば、決定部211は、周期情報255において指定される個別ECU300のメッセージ送信周期に基づいて、次回のメッセージ受信時刻を推定し、推定されたメッセージ受信時刻を中心とした所定幅の期間を第1期間として決定することができる。
 上記の実施形態では、統合ECU200が有する作成部212が、メッセージの受信確率分布を作成したが、これに限定されない。サーバ600が作成部212と同等の機能を有し、メッセージの受信確率分布を作成してもよい。この場合、統合ECU200は、サーバから受信確率分布を通信によって取得し、取得された受信確率分布を用いて第1期間及び第2期間を決定することができる。
 上記の実施形態では、決定部211が、基本周期に基づくタイミングで第1期間及び第2期間を決定したが、これに限定されない。例えば、決定部211は、車両の状態変化が検出された場合に第1期間及び第2期間を決定してもよい。
 図8は、実施形態に係る統合ECUの機能の変形例を示す機能ブロック図である。本変形例に係る統合ECU200は、状態変化検出部215としての機能を有する。状態変化検出部215は、車両の状態の変化を検出する。作成部212は、状態変化検出部215によって車両状態の変化が検出されると、メッセージの受信確率分布を作成する。決定部211は、状態変化検出部215によって車両状態の変化が検出されると、受信確率分布に基づいて第1期間及び第2期間を決定する。
 例えば、状態変化検出部215が検出する車両の状態変化は、車両の走行状態の変化とすることができる。状態変化検出部215は、例えば車両の速度の計測値を速度センサから取得し、車両の速度から車両が走行中であるか、停止中であるかを判断する。状態変化検出部215は、車両の走行状態から停止状態への変化、又は、停止状態から走行状態への変化を検出する。状態変化検出部215によって車両の走行状態の変化が検出された場合に、作成部212が受信確率分布を作成し、決定部211が受信確率分布に基づいて第1期間及び第2期間を決定する。
 例えば、状態変化検出部215が検出する車両の状態変化は、車載ネットワークの構成の変化とすることができる。状態変化検出部215は、車載ネットワークへの新たな個別ECU300の接続を検出し、車載ネットワークから個別ECU300の取り外しを検出する。状態変化検出部215によって車載ネットワークの構成の変化が検出された場合に、作成部212が受信確率分布を作成し、決定部211が受信確率分布に基づいて第1期間及び第2期間を決定する。
 例えば、状態変化検出部215が検出する車両の状態変化は、少なくとも1つの個別ECU300における通常稼働状態とスリープ状態との間の切り替わりとすることができる。状態変化検出部215は、個別ECU300が通常稼働状態からスリープ状態に切り替わったことを検出し、スリープ状態から通常稼働状態に切り替わったことを検出する。具体的な一例では、1つの個別ECU300(例えば、個別ECU300E)が、個別ECU300A,300B,300C,300Dの電源を管理する電源管理ECUであり、電源管理ECUが個別ECU300A,300B,300C,300Dの通常稼働状態及びスリープ状態の切り替えを管理する。個別ECU300において通常稼働状態及びスリープ状態の間の切り替えが発生した場合、電源管理ECUは、個別ECU300において通常稼働状態及びスリープ状態の間の切り替えが発生したこと、及び当該個別ECU300の識別情報を統合ECU200へ通知する。状態変化検出部215は、この通知を受信した場合に、個別ECU300において通常稼働状態及びスリープ状態の間の切り替えが発生したことを検出する。状態変化検出部215によって個別ECU300における通常稼働状態とスリープ状態との間の切替が検出された場合に、作成部212が受信確率分布を作成し、決定部211が受信確率分布に基づいて第1期間及び第2期間を決定する。
 上記の実施形態では、ハイパーバイザ型の仮想マシン261A及び261Bによって中継処理及び中継処理とは異なる処理(パワーウインドウの制御処理)を実行する構成について述べたが、これに限定されない。コンテナ型の2つの仮想マシンによって中継処理及び中継処理とは異なる処理を実行してもよいし、仮想マシンではなく、共通のOS上で動作する2つのアプリケーションによって中継処理及び中継処理とは異なる処理を実行してもよい。
 [6.実施形態の効果]
 統合ECU200は、仮想マシン261A(第1処理部)と、仮想マシン261B(第2処理部)と、決定部211とを含む。仮想マシン261Aは、複数の個別ECU300間で通信されるメッセージを中継する中継処理を実行する。仮想マシン261Bは、車両に関する中継処理とは異なる処理を実行する。決定部211は、仮想マシン261Aによる中継処理を実行するための第1期間と、仮想マシン261Bによる処理を実行するための第2期間とを動的に決定する。これにより、中継処理を実行するための第1期間と、中継処理とは異なる処理を実行するための第2期間とを適切に決定することができる。
 メッセージは、複数の個別ECU300間で周期的に通信されてもよい。決定部211は、メッセージの周期に基づいて、第1期間を決定してもよい。これにより、メッセージを受信可能な期間に第1期間を割り当てることができる。
 決定部211は、時間におけるメッセージの受信確率分布に基づいて、第1期間を決定してもよい。これにより、メッセージを受信する確率が高い期間に、第1期間を割り当てることができる。
 決定部211は、受信確率分布と閾値との比較に基づいて、第1期間を決定してもよい。これにより、メッセージを受信する確率が高い期間を、閾値を用いて定めることができる。
 統合ECU200は、作成部212を含んでもよい。作成部212は、受信確率分布を作成する。これにより、統合ECU200において作成された受信確率分布を用いて第1期間を決定することができる。
 作成部212は、統合ECU200におけるメッセージの受信履歴に基づいて、受信確率分布を作成してもよい。これにより、メッセージの受信履歴を用いて、メッセージの受信周期を反映した確率分布を得ることができる。
 統合ECU200は、位相変化検出部213を含んでもよい。位相変化検出部213は、メッセージの周期的な通信の位相の変化を検出する。作成部212は、位相変化検出部213によって検出された位相変化点から後のメッセージの受信履歴に基づいて、受信確率分布を作成してもよい。これにより、通信の位相変化点からのメッセージの受信周期を反映した確率分布を得ることができる。
 決定部211は、車両の外部に設けられたサーバ600(外部装置)によって作成された受信確率分布に基づいて、第1期間を決定してもよい。これにより、統合ECU200において受信確率分布を作成する必要がない。統合ECU200は、サーバ600において作成された受信確率分布を用いて第1期間を決定することができる。
 決定部211は、第1期間及び第2期間を含む基本周期(一定の周期)に基づくタイミングで、第1期間及び第2期間を決定してもよい。これにより、好適なタイミングで第1期間及び第2期間を決定することができる。
 統合ECU200は、状態変化検出部215を含んでもよい。状態変化検出部215は、車両の状態の変化を検出する。決定部211は、状態変化検出部215によって車両の状態の変化が検出された場合に、第1期間及び第2期間を決定してもよい。これにより、好適なタイミングで第1期間及び第2期間を決定することができる。
 車両の状態の変化は、車両の走行状態の変化を含んでもよい。これにより、車両の走行状態が変化したタイミングで、第1期間及び第2期間を決定することができる。
 車両の状態の変化は、複数の個別ECU300を含む車載ネットワークの構成の変化を含んでもよい。これにより、車載ネットワークの構成が変化したタイミングで、第1期間及び第2期間を決定することができる。
 車両の状態の変化は、複数の個別ECU300の少なくとも1つが通常稼働状態からスリープ状態へ、又は、スリープ状態から通常稼働状態へ切り替わることを含んでもよい。これにより、個別ECU300の状態が通常稼働状態とスリープ状態との間で変化したタイミングで、第1期間及び第2期間を決定することができる。
 [7.補記]
 今回開示された実施の形態はすべての点で例示であって、制限的ではない。本発明の権利範囲は、上述の実施形態ではなく請求の範囲によって示され、請求の範囲と均等の意味及びその範囲内でのすべての変更が含まれる。
 100 車載システム
 200 統合ECU(車載制御装置)
 201 プロセッサ
 202 不揮発性メモリ
 203 揮発性メモリ
 204 通信インタフェース(通信I/F)
 211 決定部
 212 作成部
 213 位相変化検出部
 214 蓄積部
 215 状態変化検出部
 251 ハイパーバイザ
 252A,252B ゲストOS
 254 制御プログラム
 255 周期情報
 256 履歴データ
 257 スケジュールテーブル
 260 ハードウェア
 260A,260B 仮想ハードウェア(仮想HW)
 261A 仮想マシン(第1処理部)
 261B 仮想マシン(第2処理部)
 300,300A,300B,300C,300D,300E 個別ECU(車載装置)
 350 外部通信装置
 400A,400B,400C 車載バス
 501,502,503 受信確率分布
 504 合成確率分布
 600 サーバ(外部装置)
 

Claims (15)

  1.  複数の車載装置間で通信されるメッセージを中継する中継処理を実行する第1処理部と、
     車両に関する前記中継処理とは異なる処理を実行する第2処理部と、
     前記第1処理部による前記中継処理を実行するための第1期間と、前記第2処理部による処理を実行するための第2期間とを動的に決定する決定部と、
     を備える、
     車載制御装置。
  2.  前記メッセージは、前記複数の車載装置間で周期的に通信され、
     前記決定部は、前記メッセージの周期に基づいて、前記第1期間を決定する、
     請求項1に記載の車載制御装置。
  3.  前記決定部は、時間における前記メッセージを受信する確率分布に基づいて、前記第1期間を決定する、
     請求項2に記載の車載制御装置。
  4.  前記決定部は、前記確率分布と前記閾値との比較に基づいて、前記第1期間を決定する、
     請求項3に記載の車載制御装置。
  5.  前記車載制御装置は、前記確率分布を作成する作成部を備える、
     請求項3に記載の車載制御装置。
  6.  前記作成部は、前記車載制御装置における前記メッセージの受信履歴に基づいて、前記確率分布を作成する、
     請求項5に記載の車載制御装置。
  7.  前記車載制御装置は、前記メッセージの周期的な通信の位相の変化を検出する位相変化検出部を備え、
     前記作成部は、前記位相変化検出部によって検出された位相の変化から後の前記メッセージの受信履歴に基づいて、前記確率分布を作成する、
     請求項6に記載の車載制御装置。
  8.  前記決定部は、前記車両の外部に設けられた外部装置によって作成された前記確率分布に基づいて、前記第1期間を決定する、
     請求項3に記載の車載制御装置。
  9.  前記決定部は、前記第1期間及び前記第2期間を含む一定の周期に基づくタイミングで、前記第1期間及び前記第2期間を決定する、
     請求項1から請求項8のいずれか1項に記載の車載制御装置。
  10.  前記車載制御装置は、前記車両の状態の変化を検出する状態変化検出部を備え、
     前記決定部は、前記状態変化検出部によって前記状態の変化が検出された場合に、前記第1期間及び前記第2期間を決定する、
     請求項1から請求項8のいずれか1項に記載の車載制御装置。
  11.  前記車両の状態の変化は、前記車両の走行状態の変化を含む、
     請求項10に記載の車載制御装置。
  12.  前記車両の状態の変化は、前記複数の車載装置を含む車載ネットワークの構成の変化を含む、
     請求項10に記載の車載制御装置。
  13.  前記車両の状態の変化は、前記複数の車載装置の少なくとも1つが通常稼働状態からスリープ状態へ、又は、スリープ状態から通常稼働状態へ切り替わることを含む、
     請求項10に記載の車載制御装置。
  14.  複数の車載装置間で通信されるメッセージを中継する中継処理を実行するステップと、
     車両に関する前記中継処理とは異なる処理を実行するステップと、
     前記中継処理を実行するための第1期間と、前記中継処理とは異なる処理を実行するための第2期間とを動的に決定するステップと、
     を含む、
     制御方法。
  15.  複数の車載装置間で通信されるメッセージを中継する中継処理と、車両に関する前記中継処理とは異なる処理とを実行する車載制御装置に用いられる制御プログラムであって、
     コンピュータを、
     前記中継処理を実行するための第1期間と、前記中継処理とは異なる処理を実行するための第2期間とを動的に決定する決定部、
     として機能させるための、制御プログラム。
     
PCT/JP2023/012472 2022-04-08 2023-03-28 車載制御装置、制御方法及び制御プログラム WO2023195384A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-064471 2022-04-08
JP2022064471A JP2023154857A (ja) 2022-04-08 2022-04-08 車載制御装置、制御方法及び制御プログラム

Publications (1)

Publication Number Publication Date
WO2023195384A1 true WO2023195384A1 (ja) 2023-10-12

Family

ID=88242883

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/012472 WO2023195384A1 (ja) 2022-04-08 2023-03-28 車載制御装置、制御方法及び制御プログラム

Country Status (2)

Country Link
JP (1) JP2023154857A (ja)
WO (1) WO2023195384A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019191742A (ja) * 2018-04-20 2019-10-31 株式会社オートネットワーク技術研究所 車載更新装置、車載更新システム、更新処理方法及び更新処理プログラム
US20210184973A1 (en) * 2019-12-11 2021-06-17 Hyundai Motor Company Vehicle gateway and method of controlling the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019191742A (ja) * 2018-04-20 2019-10-31 株式会社オートネットワーク技術研究所 車載更新装置、車載更新システム、更新処理方法及び更新処理プログラム
US20210184973A1 (en) * 2019-12-11 2021-06-17 Hyundai Motor Company Vehicle gateway and method of controlling the same

Also Published As

Publication number Publication date
JP2023154857A (ja) 2023-10-20

Similar Documents

Publication Publication Date Title
US10725762B2 (en) Gateway device, in-vehicle network system, and firmware update method
JP6350428B2 (ja) 車載記録システム
JP5310138B2 (ja) 車両制御システム
EP4113287B1 (en) Gateway device, in-vehicle network system, and firmware update method
JP2011022934A (ja) 電子制御ユニット、異常検出方法
US8832053B2 (en) Relay device, communication system and communication method
JP5712783B2 (ja) 電子制御ユニット、車載ネットワーク、データ送信方法
Suwatthikul Fault detection and diagnosis for in-vehicle networks
CN106874103B (zh) 心跳实现方法及装置
JP2015067107A (ja) 車両用制御装置
WO2023195384A1 (ja) 車載制御装置、制御方法及び制御プログラム
JP6913869B2 (ja) 監視装置、監視システムおよびコンピュータプログラム
Navet et al. Validation of in-vehicle real-time applications
JP7220397B2 (ja) 情報処理装置および情報処理方法
JP7375619B2 (ja) 異常検知装置
JP4019840B2 (ja) ネットワーク通信システム、およびこのネットワーク通信システムを用いた制御処理システム
US9740584B2 (en) Method and device for testing a computer core in a processor having at least two computer cores
WO2023223940A1 (ja) 車載装置、プログラム及び情報処理方法
WO2023182020A1 (ja) 車載装置、プログラム及び情報処理方法
JP5594416B1 (ja) 電子制御装置
US20240078128A1 (en) Control device, control system, and control method
WO2024106222A1 (ja) 中継装置、不正フレーム検出方法及び車載装置
JP7183841B2 (ja) 電子制御装置
US20240036943A1 (en) Vehicle control module allocation
Gandhi et al. Techniques and measures for improving domain controller availability while maintaining functional safety in mixed criticality automotive safety systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23784674

Country of ref document: EP

Kind code of ref document: A1