VEHICLE CONTROL SYSTEM, VEHICLE CONTROL METHOD, AND NON-TRANSITORY COMPUTER-READABLE MEDIUM IN WHICH VEHICLE CONTROL PROGRAM IS STORED

The present invention provides a vehicle control system, a vehicle control method, and a vehicle control program that are capable of changing a physical ECU to be assigned to a vehicle function. A plurality of physical ECUs control operation of a device installed in a vehicle. A plurality of bus virtualization devices respectively control communications of the plurality of physical ECUs. In order to configure one or more logical ECUs that perform communications only between physical ECUs selected from the plurality of physical ECUs, a control unit (1) controls bus virtualization devices corresponding to the selected physical ECUs.

TECHNICAL FIELD

The present invention relates to a vehicle control system, a vehicle control method, and a vehicle control program.

BACKGROUND ART

In a vehicle such as an automobile, operation of an engine or other units is controlled by a vehicle control system including an Electronic Control Unit (ECU). In such a vehicle control system, a plurality of function blocks are provided (Patent Literature 1). In this example, the function blocks are implemented in ECUs and the ECUs are distributed in a plurality of areas in which an in-vehicle device is installed. Also, the function blocks are classified into a plurality of domains. This makes it possible to identify an area and a domain in which a function block is to operate.

As a method for causing the plurality of function blocks to operate, a multi-core processor control method has been proposed (Patent Literatures 2 and 3, Non Patent Literature 1). In this example, a local scheduler provided for each of a plurality of cores causes a thread assigned to the home core to be executed in accordance with its priority. A global scheduler that determines an operation core for a thread to be generated determines execution of thread migration between the plurality of cores based on a predetermined scheduling policy. N threads having higher priorities among threads assigned to the cores are controlled to be excluded from the thread migration. According to the cited literatures, the above processing implements an SMP (Symmetric Multiprocessing) model in a multi-core processor to improve the throughput as well as guarantees an execution time of a thread having a high priority to provide real-time property.

CITATION LIST

Patent Literature

Patent Literature 1: Japanese Unexamined Patent Application Publication No. 2018-70132Patent Literature 2: Japanese Unexamined Patent Application Publication No. 2014-96024Patent Literature 3: Japanese Unexamined Patent Application Publication No. 2015-164052

Non Patent Literature

SUMMARY OF INVENTION

Technical Problem

An ECU used in a vehicle such as an automobile has an installation location in a vehicle and a function that are fixed in the design process. It is thus out of expectation that the installation location or function may be changed. As a result, it is impossible to retrofit an additional ECU to expand the functions of a vehicle control system or use another ECU to provide a substitute function for an existing ECU that is malfunctioning.

The invention has been accomplished in consideration of the above circumstances and aims to provide a vehicle control system, a vehicle control method, and a vehicle control program that are capable of changing a physical ECU to be assigned to a vehicle function.

Solution to Problem

A vehicle control system as an aspect of the invention includes: a plurality of physical ECUs that control operation of a device installed in a vehicle; a plurality of bus virtualization devices that respectively control communications of the plurality of physical ECUs; and a control unit that, in order to configure one or more logical ECUs that perform communications only between physical ECUs selected from the plurality of physical ECUs, controls a bus virtualization device corresponding to the selected physical ECUs.

A vehicle control method as an aspect of the invention includes: in order to configure one or more logical ECUs that perform communications only between physical ECUs selected from a plurality of physical ECUs that control operation of a device installed in a vehicle, selecting physical ECUs that configure the one or more logical ECUs; and controlling a plurality of bus virtualization devices, corresponding to the selected physical ECUs, that respectively control communications of the plurality of physical ECUs.

A vehicle control program as an aspect of the invention causes a computer to execute: in order to configure one or more logical ECUs that perform communications only between physical ECUs selected from a plurality of physical ECUs that control operation of a device installed in a vehicle, processing to select physical ECUs that configure the one or more logical ECU, and processing to control a plurality of bus virtualization devices, corresponding to the selected physical ECUs, that respectively control communications of the plurality of the physical ECUs.

Advantageous Effects of Invention

According to the invention, it is possible to provide a vehicle control system, a vehicle control method, and a vehicle control program that are capable of changing a physical ECU to be assigned to a vehicle function.

DESCRIPTION OF EMBODIMENTS

Example embodiments of the invention will be described below with reference to the accompanying drawings. In the drawings, the same signs are given to the same elements and the duplicated description will be omitted as appropriate.

First Example Embodiment

A vehicle control system according to a first example embodiment will be described.FIG. 1schematically illustrates a configuration of a vehicle control system1000according to the first example embodiment. The vehicle control system1000according to the first example embodiment includes a plurality of physical control units (hereinafter referred to as ECUs (Electronic Control Units)), across which a virtual logical ECU is configured.

The vehicle control system1000is configured to control individual devices installed in a vehicle (in-vehicle devices).FIG. 2illustrates an example in-vehicle device to be controlled by the vehicle control system1000. This example assumes, as targets of control by the vehicle control system1000, a camera3, a LiDAR (Light Detection and Ranging)4, a Liquid Crystal Display (LCD)5and an air conditioner6. InFIG. 2, a bus virtualization device described later is denoted as a BVD.

Referring toFIG. 1again, a configuration of the vehicle control system1000will be described. As illustrated inFIG. 1, the vehicle control system1000includes fixed physical ECUs10,20and30, additional physical ECUs40and50, a control unit1and a bus2. The fixed physical ECUs10,20and30are physical ECUs that are permanently installed in a vehicle during manufacture of the device or the like and are not removed or re-installed after shipment of the vehicle. The additional physical ECUs40and50are physical ECUs installed in a vehicle as appropriate and can be removed or re-installed after shipment of the vehicle.

The fixed physical ECU10includes CPU (Central Processing Unit) cores11and12, a memory controller13, a bus controller14, memories15to17and a bus virtualization device18. The CPU cores11and12, the memory controller13and the bus controller14may be configured as a single IC (Integrated Circuit) package19.

The CPU (Central Processing Unit) cores11and12perform arithmetic operation in accordance with data or a program loaded from the memories15to17or the like, and configure a dual-core processor in this example.

The bus controller14is configured as being capable of controlling exchange of information such as data between the CPU11, the CPU12, the memory controller13and the bus virtualization device18.

The memory controller13is connected to the memories15to17and is capable of outputting data or the like loaded from the memories15to17to the CPU11and CPU12or other physical ECUs via the bus controller14. The memory controller13is capable of writing data or the like received from the CPU11and CPU12or other physical ECUs into the memories15to17.

The memories15to17is ready for data read/write operation in accordance with an instruction from the memory controller13. The memories15to17may use a variety of non-volatile storage devices such as a flash memory.

The bus virtualization device18, in response to an instruction from the control unit1, controls data exchange between an internal unit in the fixed physical ECU10and other ECUs.

In this example embodiment, a hardware configuration of the fixed physical ECUs20and30as well as the additional physical ECUs40and50is the same as that of the fixed physical ECU10. In other words, CPU cores21and22, a memory controller23, a bus controller24, memories25to27and a bus virtualization device28of the fixed physical ECU20correspond respectively to the CPU cores11and12, the memory controller13, the bus controller14, the memories15to17and the bus virtualization device18of the fixed physical ECU10. CPU cores31and32, a memory controller33, a bus controller34, memories35to37and a bus virtualization device38of the fixed physical ECU30correspond respectively to the CPU cores11and12, the memory controller13, the bus controller14, the memories15to17and the bus virtualization device18of the fixed physical ECU10. CPU cores41and42, a memory controller43, a bus controller44, memories45to47and a bus virtualization device48of the additional physical ECU40correspond respectively to the CPU cores11and12, the memory controller13, the bus controller14, the memories15to17and the bus virtualization device18of the fixed physical ECU10. CPU cores51and52, a memory controller53, a bus controller54, memories55to57and a bus virtualization device58of the additional physical ECU50correspond respectively to the CPU cores11and12, the memory controller13, the bus controller14, the memories15to17and the bus virtualization device18of the fixed physical ECU10. IC packages29,39,49and59correspond to the IC package19of the fixed physical ECU10.

Next, a configuration of a logical ECU will be described. The control unit1gives an instruction to the bus virtualization devices18,28,38,48and58corresponding to the fixed physical ECUs10,20and30, and the additional physical ECUs40and50to logically interconnect a plurality of ECUs thereby configuring a logical ECU.

An example hardware configuration of the control unit1according to this example embodiment will be described. Each function of the control unit1is implemented by any combination of hardware and software including a CPU (Central Processing Unit), a memory, a program loaded into the memory, a storage unit, such as a hard disk, that stores the program, of any computer, as well as a program stored at the shipment of a device and a program loaded from a storage medium such as a CD (Compact Disc) and a program downloaded from a server on the Internet, and an interface for network connection. It will be apparent to those skilled in the art that its implementation method and device have a variety of variants.

FIG. 3schematically illustrates an example hardware configuration of the control unit1. As illustrated inFIG. 3, an individual control unit1includes a processor1A, a memory1B, an input/output interface1C, a peripheral circuit1D and a bus1E.

The processor1A, the memory1B, the input/output interface1C and the peripheral circuit1D are capable of transmitting/receiving data to/from each other via the bus1E.

For example, the processor1A may use a variety of arithmetic processing devices such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). The processor1A can issue an instruction to each module and perform arithmetic operation based on results of arithmetic operation made by the module. For example, the memory1B can use a variety of storage devices such as a RAM (Random Access Memory) and a ROM (Read Only Memory). The input/output interface1C includes an interface used to acquire information from an input device such as a keyboard, a mouse or a microphone, an external device, an external server, an external sensor or the like, and an interface used to output information to an output device such as a display, a loudspeaker, a printer or a mailer, an external device, an external server or the like. The peripheral circuit1D includes a variety of modules. The control unit1may not include the peripheral circuit1D.

The control unit1transmits, to a physical ECU via a bus2, a configuration instruction INS that instructs to configure a logical ECU. The configuration instruction INS includes at least an address of an instruction-target physical ECU and information to specify a target physical ECU and one or more physical ECUs that configure a logical ECU. For example, configuration instructions INS include configuration instructions INS1to INS5that are given to the fixed physical ECU10,20or30, or the additional physical ECU40or50. This allows a bus virtualization device to virtualize an internal bus or a bus2of the vehicle control system1000to configure one or more logical ECUs. In other words, a bus virtualization device acts as a connected virtualization device to establish a logical connection relationship between physical ECUs thereby configuring a logical ECU.

Specific examples of a logical ECU will be described. In these examples, three logical ECUs101,102and103are configured. The logical ECU101is configured by logically coupling the fixed physical ECU10and the additional physical ECU40. The logical ECU102is configured by logically coupling the fixed physical ECU20and the additional physical ECU50. The logical ECU103is configured by the fixed physical ECU30alone.FIGS. 4 to 6schematically illustrate a configuration of the logical ECU101,102and103, respectively.

[Logical ECU101] The configuration instruction INS1that is given to the fixed physical ECU10includes, as a destination address, an address of the fixed physical ECU10, and as another destination address, an address of the additional physical ECU40, that configures, together with the fixed physical ECU10, a logical ECU. The configuration instruction INS4that is given to the additional physical ECU40includes, as a destination address, the address of the additional physical ECU40, and as another destination address, the address of the fixed physical ECU10, that configures, together with the additional physical ECU40, a logical ECU.

The bus virtualization device18of the fixed physical ECU10receives the configuration instruction INS1by referencing a destination address and updates setting information so as to perform communications only with the additional physical ECU40specified by another destination address. Similarly, the bus virtualization device48of the additional physical ECU40receives the configuration instruction INS4by referencing a destination address and updates setting information so as to perform communications only with the fixed physical ECU10specified by another destination address.

This implements the logical ECU101that is defined to perform communications only between the fixed physical ECU10and the additional physical ECU40. The CPU cores11and12can access the memories45to47in the additional physical ECU40. The CPU cores41and42can access the memories15to17in the fixed physical ECU10.

The configuration instruction INS2that is given to the fixed physical ECU20includes, as a destination address, an address of the fixed physical ECU20, and as another destination address, an address of the additional physical ECU50, that configures, together with the fixed physical ECU20, a logical ECU. The configuration instruction INS5that is given to the additional physical ECU50includes, as a destination address, the address of the additional physical ECU50, and as another destination address, the address of the fixed physical ECU10, that configures, together with the additional physical ECU50, a logical ECU.

The bus virtualization device28of the fixed physical ECU20receives the configuration instruction INS2by referencing a destination address and updates setting information so as to perform communications only with the additional physical ECU50specified by another destination address. Similarly, the bus virtualization device58of the additional physical ECU50receives the configuration instruction INS5by referencing a destination address and updates setting information so as to perform communications only with the fixed physical ECU20specified by another destination address.

This implements the logical ECU102that is defined to perform communications only between the fixed physical ECU20and the additional physical ECU50. The CPU cores21and22can access the memories55to57in the additional physical ECU50. The CPU cores51and52can access the memories25to27in the fixed physical ECU20.

The configuration instruction INS3that is given to the fixed physical ECU30includes, as a destination address, an address of the fixed physical ECU30. As a physical ECU that configures, together with the fixed physical ECU20, a logical ECU, the home address (that is, the fixed physical ECU30) is included as another destination address, or another destination address is vacant.

The bus virtualization device38of the fixed physical ECU30receives the configuration instruction INS3by referencing a destination address and updates setting information so as to configure the logical ECU103with only the home fixed physical ECU (fixed physical ECU30) by referencing another destination address.

This implements the logical ECU103that is defined to include only the fixed physical ECU30.

While it has been described that a physical ECU communicates only with another physical ECU that cooperates to configure a logical ECU, it is needless to say that a physical ECU performs communications with a unit to be controlled in a vehicle, for example an engine, an air conditioner, a lighting, or a collision prevention device. In other words, it is possible to connect a logical ECU with a device to be controlled, by including an address of a device to be controlled in a configuration instruction that is given to a physical ECU.

Examples of function configuration of a logical ECU will be described. As described above, the logical ECU101,102and103are separated from each other by virtualizing an internal bus.

FIG. 7schematically illustrates a function configuration of the logical ECU101. The logical ECU101controls processing related to automatic driving of a vehicle and is configured to control the camera3and the LiDAR4in this example.

FIG. 8schematically illustrates a function configuration of the logical ECU102. The logical ECU102controls processing related to IVI (In-Vehicle Infotainment) and is configured to control the LCD5in this example.

FIG. 9schematically illustrates a function configuration of the logical ECU103. The logical ECU103controls processing related to air conditioning of a vehicle and configured to control the air conditioner6in this example.

As described above, according to this example embodiment, it is possible to configure a logical ECU by virtualizing an internal bus in corresponding with a function provided in a vehicle. This makes it possible to select the number of necessary physical ECUs as appropriate from all the physical ECUs that have been provided, in accordance with a function that is executed by the vehicle control system, thereby configuring a logical ECU. Accordingly, even after shipment of a vehicle, it is possible to flexibly change or expand a function of the vehicle control system.

It is possible to assign one or more functions to a single logical ECU. For example, when a logical ECU includes three physical ECUs (six CPU cores), a function may be assigned to four CPU cores and another function may be assigned to two CPU cores. When a function that requires a high security is included, the function may be split, as appropriate, into a logical ECU including a single physical ECU (two CPU cores) and a logical ECU including two physical ECUs (four CPU cores).

Depending on a function that is assigned to a logical ECU, it is possible to configure a logical ECU including a physical ECU external to a device.FIG. 10schematically illustrates a configuration assumed when the logical ECU102includes an external physical ECU60. In an IVI system, it is assumed that contents such as a moving picture or music is played and data of a moving picture or music may be provided by a server outside a company. In this case, it is possible to incorporate an external server or a device connected to the external server into a logical ECU that is virtually configured as an external physical ECU thereby expand a configuration of the logical ECU. The fixed physical ECU20and the additional physical ECU40in a vehicle may continuously perform communications with the external physical ECU60via a wireless network, for example.

Second Example Embodiment

A vehicle control system according to a second example embodiment will be described. A vehicle control system2000according to the second example embodiment includes, as with the vehicle control system1000, a plurality of physical ECUs, across which a virtual ECU is configured.

FIG. 11schematically illustrates a configuration of the vehicle control system2000according to the second example embodiment. While the physical ECUs are interconnected via a bus2in the vehicle control system1000, physical ECUs are interconnected via an SDN (Software Defined Network)8in the vehicle control system2000. In the SDN network8, an SDN controller9executes control software or the like to centrally control network devices such as an SDN switch and flexibly changes a network configuration, setting and the like. The SDN controller may have the same configuration as the control unit described with reference toFIG. 3, or may be integral with the control unit1.

In this example, the SDN network8includes SDN switches8A,8B and8C. A fixed physical ECU10, a fixed physical ECU20, the control unit1, and the SDN controller9are connected with the SDN switch8A. The fixed physical ECU30is connected with the SDN switch8B. An additional physical ECU40and an additional physical ECU50are connected with the SDN switch8C.

The SDN switch8A and the SDN switch8B are interconnected via a path P1. The SDN switch8B and the SDN switch8C are interconnected via a path P2. A path including the path P1and the path P2is a shortest path that interconnects the SDN switch8A and the SDN switch8C.

The SDN switch8A and the SDN switch8C are interconnected by a redundant path P3and a redundant path P4. The redundant path P3and the redundant path P4have a longer path length compared with the shortest path including the path P1and the path P2, and are provided to address, for example, a fault that a path may encounter.

Next, a path that interconnects physical ECUs in a logical ECU will be described. In the following description, it is assumed that the logical ECU101controls a device having a high priority such as an engine and that the logical ECU102controls a device having a lower priority such as an air conditioner.

In this example, the SDN controller9controls the SDN switches8A,8B and8C so that a fixed physical ECU10and an additional physical ECU40in the logical ECU101will be interconnected via the shortest paths P1and P2.FIG. 12schematically illustrates a configuration of the logical ECU101according to the second example embodiment. This configuration interconnects, via the shortest path, physical ECUs in the logical ECU101having a high priority for the purpose of assuring a vehicle function.

The SDN controller9controls the SDN switches8A and8C so that the fixed physical ECU20and the additional physical ECU50in the logical ECU102will be interconnected via the redundant path P3.FIG. 13schematically illustrates a configuration of the logical ECU102according to the second example embodiment. This configuration interconnects, via the redundant path, physical ECUs in the logical ECU102having a lower priority for the purpose of assuring a vehicle function.

According to this configuration, it is possible to assign a dedicated path to the logical ECU101and the logical ECU102, thus reliably separating the logical ECU101from the logical ECU102.

According to this configuration, it is possible to physically define a communication path between physical ECUs by using an SDN switch. Intervention of an SDN switch prevents an access to a logical ECU from outside. This is advantageous in that it is possible to implement a vehicle control system that requires a high security to prevent an illegal access such as hacking.

Third Example Embodiment

A vehicle control system according to a third example embodiment will be described. In a vehicle such as an automobile, it can be assumed that control of an in-vehicle device is switched depending on a state of the vehicle. In this example embodiment, a configuration of a logical ECU in accordance with a state of a vehicle will be described.

In this example embodiment, states of a vehicle include a vehicle driving state and a driving mode.

The vehicle driving state refers to a vehicle halting state or a vehicle traveling state. The driving mode refers to an automatic driving mode or a manual driving mode.

FIG. 14schematically illustrate an example of a configuration table in the vehicle control system. This configuration table indicates a state of a brake, an engine, a navigation system, an automatic driving system. a corporate network (NW) system and an IVI (In-Vehicle Infotainment) system, as well as priorities in each driving mode and the number of necessary CPU cores.

FIG. 15schematically illustrates an assignment table of a CPU core in the vehicle control system. This assignment table indicates which functions the CPU cores in the vehicle in the physical ECU control system are currently assigned to. In this example, 22 CPU cores are provided in the vehicle control system.

When a state of a vehicle has changed, the vehicle control system changes an assignment of a physical ECU based on the above configuration table and assignment table, and, as described in the first and second example embodiments, in accordance with the change, interconnects the number of necessary physical ECUs so that the number of necessary CPU cores will be assigned to a particular function to configure the logical ECU. The configuration table and the assignment table are stored, for example, in a memory11B inFIG. 3, loaded by a processor11A, and then analyzed.

Assignment of a CPU core in the third example embodiment will be described.FIG. 16illustrates a flowchart of assignment processing of a CPU core in the third example embodiment.

The control unit1loads a state of a vehicle (a driving state and a driving mode).

The control unit1loads the configuration table and identifies the number of CPU cores to be assigned to a function, based on the state of the vehicle (the driving state and the driving mode) that has been loaded.

The control unit1determines whether there is a function to which no CPU cores have been assigned. When there is a function to which no CPU cores have been assigned, the control unit1returns to the step S11and continues monitoring the state of the vehicle.

When there is a function to which no CPU cores have been assigned, the control unit1loads the assignment table.

The control unit1determines whether the assignment table includes a CPU core that has not been assigned to a particular function.

When there are no CPU cores that have been assigned, the control unit1determines whether a CPU core has been assigned to a function having a lower priority than the assignment-target function.

When it is determined in the step S16that a CPU core has been assigned to a function having a lower priority, the control unit1releases the CPU core. The control unit1may notify a display device such as the above-mentioned LCD that a function corresponding to the released CPU core has stopped. This causes the display unit to display that the function has stopped. The control unit1returns the processing to the step S15.

When it is determined in the step S16that no CPU cores have been assigned to a function having a lower priority, no CPU cores exist that can be released. Thus, it is impossible to prepare a required number of CPU cores in the configuration table. In this case, the control unit1outputs, for example as a fault warning, information to a display unit or the like that the control unit1cannot configure a logical ECU. Then, the control unit1returns to the step S11and continues monitoring the state of the vehicle.

When there is a CPU core that has not been assigned to a particular function, the control unit1assigns the CPU core as a CPU core requested by a function in the configuration table. Then, the control unit1returns to the step S11and continues monitoring the state of the vehicle.

As described above, according to this configuration, when configuring a logical ECU, the control unit1can assign the number of necessary CPU cores for a required function in accordance with a driving state or a driving mode of a vehicle. This makes it possible to implement a logical ECU that can suitably assure a function of a vehicle.

Fourth Example Embodiment

A vehicle control system in accordance with a fourth example embodiment will be described. The vehicle control system in accordance with the fourth example embodiment is a variant of the vehicle control system in accordance with the third example embodiment, and is configured as a vehicle control system that can address a fault in a physical ECU. In this example embodiment, the assignment table includes information indicating presence/absence of a fault in a physical ECU.FIG. 17schematically illustrates an assignment table in the vehicle control system in accordance with the fourth example embodiment.FIG. 18schematically illustrates a CPU core assignment table in the vehicle control system in accordance with the fourth example embodiment.

In this example embodiment, the vehicle control system updates a configuration table and an assignment table depending on a fault occurring in a physical ECU and assigns, among available physical ECUs, a physical ECU to be assigned to a function. Assignment of a physical ECU in the fourth example embodiment will be described.FIG. 19illustrates a flowchart of assignment of a CPU core in the fourth example embodiment.

The steps S11to S19are the same as those inFIG. 16and thus the description thereof will be omitted herein. Additional steps S21and S22will be described. The Steps S21and S22are inserted between the step S12and the step S13.

The control unit1checks a state of a physical ECU and determines presence/absence of a fault. The control unit1transmits a response request signal, for example, to a physical ECU. The physical ECU, receiving a response request signal, transmits a response signal to the control unit1. A faulty ECU cannot transmit a response signal. Accordingly, when a response signal is not returned from a physical ECU, the control unit1can determine that the physical ECU is faulty. A physical ECU may include a self-diagnosis function and autonomously detect a fault and notify the fault to the control unit1.

The control unit1, detecting a fault in a physical ECU, subtracts the number of faulty CPU cores of a physical ECU from the number of all the CPU cores assigned to a function in the configuration table. Then, the control unit1changes a status of a relevant physical ECU in the assignment table. InFIG. 17, by way of an example, assuming that a CPU core of a physical ECU assigned to a brake is faulty, an assigned CPU core count is reduced from two (inFIG. 14) to one.

In this way, in the next step S13, one or more faulty CPU cores are excluded from CPU cores counted as being assigned to a function. Thus, resulting CPU cores in need can be assigned in the step S14or later.

In the step S15, a CPU core whose status is faulty is handled as an unassigned CPU core, which prevents a faulty CPU from being erroneously assigned to a function.

According to this configuration, even when a physical ECU (CPU core) has become faulty, it is possible to exclude the faulty physical ECU (CPU core) and appropriately configures a logical ECU. This maintains functions of a vehicle control system while providing as many physical ECUs (CPU cores) as required for functions in priority order.

Fifth Example Embodiment

As described in the first example embodiment, an additional physical ECU may be retrofitted to a vehicle as a target of control by a vehicle control system. In this case, it is necessary to reflect this change on the additional physical ECU that has been added to the assignment table described in the fourth and fifth example embodiments. Processing to reflect an additional physical ECU that has been added on the assignment table according to this example embodiment will be described.FIG. 20schematically illustrates a CPU core assignment table in a vehicle control system according to the fifth example embodiment. InFIG. 20, CPU cores numbered23and24are those CPU cores of a physical ECU that have been added anew.

FIG. 21illustrates a flowchart of CPU core assignment processing in the fifth example embodiment. The steps S11to S19are the same as those inFIG. 16and thus the description thereof will be omitted herein. Additional steps S31and S32will be described. The steps S31and S32are inserted between step the S12and step the S13.

The control unit1checks a state of an added CPU core of the additional physical ECU. The control unit1transmits a response request signal, for example, to the additional physical ECU that has been added. The additional physical ECU that has been added, receiving a response request signal, may transmit a response signal to the control unit1. An additional physical ECU may include a plug-and-play function and autonomously notify its state to the control unit1.

The control unit1adds, to the assignment table, an added CPU core of the additional physical ECU.

Accordingly, in the step S15, the added CPU core of the additional physical ECU becomes an unassigned CPU core. It is thus possible to assign the CPU core anew to a function.

According to this configuration, even when an additional physical ECU has been added, it is possible to reflect the added ECU in a CPU core assignment process. This makes it possible to add a physical ECU as appropriate, thereby expanding functions of a vehicle control system on an as-needed basis.

Other Example Embodiments

The invention is not limited to the above example embodiments but may be changed as appropriate within the scope thereof. For example, while a bus virtualization device has been described as being provided inside a physical ECU but may be provided outside a physical ECU as a target of communication control.

The number of CPU cores or memories in a physical ECU is not limited to that of the aforementioned examples, but may be any number. A configuration of a physical ECU provided in a vehicle control system may be the same or different.

While a logical ECU has been described as including one or two physical ECUs in the above example embodiments, a logical ECU may include three or more physical ECUs.

While the above SDN network has been described as including three SDN switches and four paths, an SDN network including another configuration may be used instead.

As described above, an example of a hardware configuration of the control unit1has been described in the above example embodiments, the configuration is not limited thereto. Any processing of the control unit1may be attained by causing a CPU (Central Processing Unit) to execute a computer program. The above program can be stored by using various types of non-transitory computer readable media and provided to a computer. The non-transitory computer readable media include various types of tangible storage media. Examples of the non-transitory computer readable media include a magnetic recording medium such as a flexible disk, a magnetic tape or a hard disk drive, a magneto-optical medium such as a magneto-optical disk, a CD-ROM (Read Only Memory), a CD-R, a CD-R/W, and a semiconductor memory such as a mask ROM, a PROM (Programmable ROM), an EPROM (Erasable PROM), a flash ROM or a RAM (Random Access Memory). The program may be provided to a computer by various types of transitory computer readable media. Examples of the transitory computer readable media include an electric signal, an optical signal, and an electromagnetic wave. The transitory computer readable media is capable of providing a program to a computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

A part of or all of the above-described example embodiments can be described as in the following supplementary notes. However, the present invention is not limited to the following supplementary notes.

A vehicle control system including: a plurality of physical ECUs that control operation of a device installed in a vehicle; a plurality of bus virtualization devices that respectively control communications of the plurality of physical ECUs; and a control unit that, in order to configure one or more logical ECUs that perform communications only between physical ECUs selected from the plurality of physical ECUs, controls bus virtualization devices corresponding to the selected physical ECUs.

The vehicle control system according to Supplementary note 1, wherein the plurality of physical ECUs include a fixed physical ECU installed in the vehicle and an additional physical ECU retrofitted to the vehicle.

The vehicle control system according to Supplementary note 2, wherein the plurality of physical ECUs further include an external physical ECU configured to be communicable with another physical ECU and disposed outside the vehicle.

The vehicle control system according to any one of Supplementary notes 1 to 3, wherein the bus virtualization device is provided in the corresponding physical ECU or provided as a separate device from the corresponding physical ECU.

The vehicle control system according to any one of Supplementary notes 1 to 4, wherein the plurality of bus virtualization devices and the control unit are interconnected via a common bus, and the one or more logical ECUs are configured by the one of more physical ECUs that are interconnected via the common bus.

The vehicle control system according to any one of Supplementary notes 1 to 4, further including an SDN network including SDN switches and an SDN controller that controls the SDN switches, wherein the plurality of bus virtualization devices and the control unit are interconnected via the SDN network, and the one or more logical ECUs are configured by the one of more physical ECUs that are interconnected via the SDN network.

The vehicle control system according to Supplementary note 6, wherein, when at least two logical ECUs are configured, the SDN controller controls the SDN switches so that communication paths of the logical ECUs will be separated from each other.

The vehicle control system according to Supplementary note 7, wherein the SDN controller controls the SDN switches so that, the higher priority the logical ECU has, the shorter the path between the included physical ECUs will become.

The vehicle control system according to any one of Supplementary notes 1 to 8, wherein the control unit determines, depending on a state of the vehicle, functions to which physical ECUs need to be assigned and the number of the physical ECUs required by the functions to which physical ECUs need to be assigned, and determines, among the available physical ECUs, physical ECUs to be assigned to the functions to which physical ECUs need to be assigned, thereby configuring the logical ECU.

The vehicle control system according to Supplementary note 9, wherein the control unit assigns, depending on a state of the vehicle, the as many physical ECUs as required, to functions to which physical ECUs need to be assigned, in priority order thereof.

The vehicle control system according to Supplementary note 9 or 10, wherein the control unit, detecting a faulty physical ECU among the plurality of physical ECUs, excludes the faulty physical ECU from the available physical ECUs.

The vehicle control system according to any one of Supplementary notes 9 to 11, wherein, when a physical ECU is added to the vehicle anew, the control unit adds the additional physical ECU to the available physical ECUs.

A vehicle control method including: in order to configure one or more logical ECUs that perform communications only between physical ECUs selected from a plurality of physical ECUs that control operation of a device installed in a vehicle, selecting physical ECUs that configure the one or more logical ECUs, and controlling a plurality of bus virtualization devices, corresponding to the selected physical ECUs, that respectively control communications of the plurality of physical ECUs.

A vehicle control program that causes a computer to execute: in order to configure one or more logical ECUs that perform communications only between physical ECUs selected from a plurality of physical ECUs that control operation of a device installed in a vehicle, processing to select physical ECUs that configure the one or more logical ECU, and processing to control a plurality of bus virtualization devices, corresponding to the selected physical ECUs, that respectively control communications of the plurality of the physical ECUs.

While the invention of the application has been described above with reference to the example embodiments, the invention is not limited by the above-described example embodiments. Various changes that may be understood by a person skilled in the art can be made to a configuration and details of the invention of the application within the scope of the invention.

This application claims the benefit of priority that is based upon Japanese Patent Application No. 2019-46463, filed on Mar. 13, 2019, the disclosure of which is incorporated herein in its entirety by reference.

REFERENCE SIGNS LIST