WO2018138775A1 - 共用バックアップユニットおよび制御システム - Google Patents
共用バックアップユニットおよび制御システム Download PDFInfo
- Publication number
- WO2018138775A1 WO2018138775A1 PCT/JP2017/002340 JP2017002340W WO2018138775A1 WO 2018138775 A1 WO2018138775 A1 WO 2018138775A1 JP 2017002340 W JP2017002340 W JP 2017002340W WO 2018138775 A1 WO2018138775 A1 WO 2018138775A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- unit
- ecu
- program
- shared backup
- execution
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/143—Reconfiguring to eliminate the error with loss of software functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2048—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
- B60R16/0231—Circuits relating to the driving or the functioning of the vehicle
- B60R16/0232—Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/029—Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
- B60W2050/0292—Fail-safe or redundant systems, e.g. limp-home or backup systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/029—Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
- B60W2050/0297—Control Giving priority to different actuators or systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/04—Monitoring the functioning of the control system
- B60W2050/041—Built in Test Equipment [BITE]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/04—Monitoring the functioning of the control system
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/04—Monitoring the functioning of the control system
- B60W50/045—Monitoring control system parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0715—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0736—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
- G06F11/0739—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
Definitions
- the present invention relates to a shared backup unit and a control system.
- ECU Electronic Control Unit
- the data at the moment when the trouble occurred is stored and used as reference material for repair.
- IC is an abbreviation for Integrated Circuit.
- ISO 26262 an international safety standard for automobiles, has been formulated.
- ISO 26262 defines a framework for systematically managing functional safety. Product development processes are defined at the level of automotive systems, hardware and software. Within this framework, risk stages are defined in a way that is based on the risks specific to the car. System components are organized by ASIL. “ASIL” is an abbreviation of “Automotive Safety Integral Level”.
- Non-Patent Document 1 The function classification based on ASIL is positioned in Non-Patent Document 1, that is, an example of market view is introduced.
- loss of assist in the function of turning and loss of driving force in the function of running are relatively loose levels of ASIL A or higher.
- the loss of the braking function of the stopping function and the steering lock of the turning function are positioned at a serious level of ASIL C or higher. Designs that take into account risk management of various functions of automobiles are required.
- the implementation of the ECU which is the center of control processing, employs a multi-system mechanism similar to space rockets and aircraft so that control will not become impossible even if some hardware failures occur. Has been. Even if one system in the multiplex system fails, the ECU can continue the execution process if the remaining one system can operate normally.
- This ECU is generally called an ADAS ECU. “ADAS” is an abbreviation for Advanced Driver Assistance System.
- Fig. 15 shows a configuration example of the multiplex system of the automatic driving system.
- Two determination ECUs 311 in the drawing are ECUs that perform route determination processing for automatic driving, and constitute a dual system. Output information of the two determination ECUs 311 is compared by the switch 361. If they do not match, it is determined as a failure, and the failure determination ECU 311 is disconnected from the CAN 711.
- “CAN” is an abbreviation for Controller Area Network.
- Three control ECUs 211 in the figure are ECUs for controlling the engine and the handle, and constitute a triple system. Output information of the three control ECUs 211 is compared by the switch 261. If they do not coincide with each other, the control ECU 211 that is a small number in the majority decision is determined as a failure and is disconnected from the CAN 711.
- ETC Electronic Toll Collection System
- the ECU is taking on important functions. However, if a large number of ECU systems are simply multiplexed to cope with a failure, a significant increase in hardware cost cannot be avoided.
- Non-Patent Document 2 the basic subsystem is made a multiplex system, and a function that complements another system when one system fails is implemented.
- the ECU in this technology is provided with a fail-safe mechanism that always performs processing in a safe direction even in the event of a failure.
- Non-Patent Document 3 introduces a triple ECU for vehicle steer-by-wire control. It is a fail operational safety architecture that includes degeneration and continuation based on a majority decision by three ECUs.
- Non-Patent Document 4 describes that when a failure or a runaway occurs in a sensor or a microcomputer in a traveling control ECU, an abnormality is detected, and an ECU that can automatically disconnect the failure system and prevent abnormal operation is developed. Has been.
- the ECU is composed of an A system CPU and a B system CPU.
- CPU Central Processing Unit
- the A-system CPU and the B-system CPU perform calculations using the same program based on the same input information.
- the calculation result is stored in the memory of each system.
- the calculation result stored in the memory is checked by the FS comparison circuit.
- FS is an abbreviation for Fail Safe. While the coincidence state continues, the FS relay is turned on and is in an output state. If a mismatch occurs, the FS relay is turned off and the output is cut off.
- Patent Document 1 describes a technology related to the multiplexing of engine ECUs.
- the engine ECUs are not simply multiplexed, but the engine ECUs share roles with each other and dynamically change roles in the event of a failure.
- peripheral devices such as a mounting board, a network interface, a network cable, a housing, and the like increase. Wiring also increases, and man-hours for wiring installation, production and maintenance increase. This leads to an increase in the price of the automobile, leading to an increase in the burden on the user.
- An object of the present invention is to enable substantial multiplexing of ECUs with less hardware.
- the shared backup unit is: A diagnostic unit for diagnosing abnormalities in a plurality of electronic control units that execute different programs depending on the functions in order to perform individual functions; A load unit that loads a program that is the same as a program executed by an abnormal unit that is an electronic control unit in which an abnormality is detected by the diagnostic unit from a memory that stores a plurality of programs in advance; An execution unit that exhibits the same function as the function of the abnormal unit instead of the abnormal unit by executing the program loaded by the load unit.
- the shared backup unit can dynamically replace each ECU. Therefore, substantial multiplexing of each ECU is possible even if a backup unit is not separately prepared for each ECU. That is, according to the present invention, substantial multiplexing of ECUs is possible with a small amount of hardware.
- FIG. 1 is a block diagram showing a configuration of a control system according to Embodiment 1.
- FIG. 2 is a block diagram showing a hardware configuration of a control system according to Embodiment 1.
- FIG. FIG. 6 shows an example of multitask periodic processing in the first embodiment.
- FIG. 2 is a block diagram showing a configuration of a shared backup ECU according to the first embodiment. The figure which shows the example of taking over of the process to shared backup ECU which concerns on Embodiment 1.
- FIG. 6 is a table showing an example of a management table in the shared backup ECU according to the first embodiment.
- 5 is a flowchart showing an operation of a shared backup ECU according to the first embodiment.
- FIG. 6 is a flowchart showing a procedure of a saving target SWC selection process of the shared backup ECU according to the first embodiment.
- surface which shows the example of the management table in shared backup ECU which concerns on Embodiment 2.
- FIG. 9 is a flowchart showing a procedure of a saving target SWC selection process of a shared backup ECU according to the second embodiment.
- FIG. 4 is a block diagram showing a configuration of a shared backup ECU according to a third embodiment. The figure which shows the example of taking over of the process to shared backup ECU which concerns on Embodiment 3.
- FIG. 10 is a graph showing an example of an output control curve of an accelerator pedal and an engine throttle in the third embodiment. 10 is a flowchart showing the operation of a shared backup ECU according to the third embodiment.
- the block diagram which shows the structural example of the multiplexing system of the conventional automatic driving
- Embodiment 1 FIG. This embodiment will be described with reference to FIGS.
- the control system 100 includes a plurality of electronic control units that execute different programs according to functions in order to perform individual functions, and a common backup unit that can replace any of the plurality of electronic control units. Is provided.
- control system 100 corresponds to an automatic driving system.
- the control system 100 includes a control ECU 201 and a judgment ECU 301 as a plurality of electronic control units.
- the determination ECU 301 is an electronic control unit that executes a determination SWC 302 that is a program for performing a determination process of a driving route in order to exhibit a function of determining a driving route.
- “SWC” is an abbreviation for Software Component.
- the control ECU 201 is an electronic control unit that executes a control SWC 202 that is a program for performing engine or handle control processing in order to exert a function of controlling the engine or handle.
- the control system 100 includes a shared backup ECU 101 as a shared backup unit.
- the shared backup ECU 101 is a shared backup unit that functions as a backup when either the control ECU 201 or the judgment ECU 301 fails.
- a plurality of shared backup ECUs 101 are prepared in the entire system in preparation for failure of a plurality of ECUs. Even when the first shared backup ECU 101 itself fails, it is possible to switch to the second and third shared backup ECU 101. That is, the control system 100 only needs to include at least one shared backup unit, but in the present embodiment, not only the shared backup ECU 101 shown in FIG. 1 but also one or more shared backup units are used as a plurality of shared backup units. Another shared backup ECU 101 is provided.
- the shared backup ECU 101 is connected to the CAN 701 via the switch 144.
- the switch 144 has a function of disconnecting the common backup ECU 101 from the CAN 701.
- the control ECU 201 is connected to the CAN 701 via the switch 251.
- the switch 251 has a function of disconnecting the control ECU 201 from the CAN 701.
- the control ECU 201 fails, the control ECU 201 is disconnected from the CAN 701 using the switch 251.
- the judgment ECU 301 is connected to the CAN 701 via the switch 351.
- the switch 351 has a function of disconnecting the judgment ECU 301 from the CAN 701. At the time of failure of determination ECU 301, determination ECU 301 is disconnected from CAN 701 using switch 351.
- the CAN 701 may be replaced with other types of networks such as LIN, FlexRay (registered trademark), or Ethernet (registered trademark).
- LIN is an abbreviation for Local Interconnect Network.
- a plurality of CAN 701 network systems may be connected to each other via a gateway or a network system switching switch. Examples of network systems include power train systems including engines and steering control devices, multimedia systems including car navigation and car audio, body systems including power windows and electric seats, and switch / sensor systems including various sensors and actuators. There is.
- the shared backup ECU 101 has a switching function 102, an analysis function 103, a load function 104, and a diagnosis function 105.
- the switching function 102 is a function for switching the backup target ECU.
- the analysis function 103 is a function for analyzing the CAN message.
- the load function 104 is a function for decompressing and loading a compressed image of SWC.
- the diagnosis function 105 is a function for diagnosing an abnormality in the external ECU.
- the shared backup ECU 101 activates the minimum necessary SWC group mounted on the backup target ECU on the memory 402 and executes the backup process. Specifically, the shared backup ECU 101 activates the control SWC 111 when replacing the control ECU 201.
- the shared backup ECU 101 activates the determination SWC 121 when replacing the determination ECU 301.
- the shared backup ECU 101 waits after the OS is started so that the SWC for continuation processing can be executed immediately when a failure occurs.
- OS is an abbreviation for Operating System.
- the network interface of the failed ECU is disconnected or switched, or the failed ECU is powered off.
- the control ECU 201 reads information necessary for taking over the processing of the control SWC 202 from the memory 502.
- the control ECU 201 transmits the read information to the common backup ECU 101 via the CAN 701 by the transmission function 204.
- Shared backup ECU 101 receives the information transmitted from control ECU 201.
- Shared backup ECU 101 stores the received information in memory 402.
- determination ECU 301 reads information necessary for taking over the processing of determination SWC 302 from memory 602.
- the determination ECU 301 transmits the read information to the common backup ECU 101 via the CAN 701 by the transmission function 304.
- Shared backup ECU 101 receives information transmitted from determination ECU 301.
- Shared backup ECU 101 stores the received information in memory 402.
- a mechanism is provided in which the common backup ECU 101 receives a failure detection signal from the monitored ECU. Specifically, there are those that receive an error detection signal, those that receive a heartbeat signal, and those that receive information such as a self-diagnosis circuit.
- the common backup ECU 101 having relatively poor performance does not execute all the software of the failed ECU, but preferentially executes software essential for continuous operation.
- the shared backup ECU 101 manages SWCs based on ASIL and selects SWCs to be executed. According to the present embodiment, it is not necessary to prepare a common backup unit comparable to the multiplexing of a large number of ECUs.
- the shared backup ECU 101 compresses and holds the memory expanded image and decompresses it when necessary so that the SWC of many ECUs can be selectively activated within the limited memory capacity by the shared backup ECU 101.
- the shared backup ECU 101 decompresses the compressed image 114 of the control SWC 111 and activates the control SWC 111 when replacing the control ECU 201.
- the shared backup ECU 101 replaces the determination ECU 301
- the shared backup ECU 101 decompresses the compressed image 124 of the determination SWC 121 and activates the determination SWC 121.
- control system 100 The hardware configuration of the control system 100 will be described with reference to FIG.
- the common backup ECU 101 is a microcomputer.
- the shared backup ECU 101 includes a processor 401 and other hardware such as a memory 402 and a CAN interface 403.
- the processor 401 is connected to other hardware via a signal line, and controls these other hardware.
- the processor 401 is an IC that performs various processes. Specifically, the processor 401 is a CPU.
- the memory 402 is, for example, a flash memory or a RAM. “RAM” is an abbreviation for Random Access Memory.
- the CAN interface 403 includes a receiver that receives data and a transmitter that transmits data.
- the CAN interface 403 is, for example, a communication chip or a NIC.
- NIC is an abbreviation for Network Interface Card.
- the CAN interface 403 may be replaced with a USB interface.
- USB is an abbreviation for Universal Serial Bus.
- the shared backup ECU 101 may include a plurality of processors that replace the processor 401.
- Each processor is an IC that performs various processes in the same manner as the processor 401.
- the switch 144 includes an FPGA 411.
- FPGA is an abbreviation for Field-Programmable Gate Array.
- the control ECU 201 is a microcomputer.
- the control ECU 201 includes a processor 501 and other hardware such as a memory 502 and a CAN interface 503.
- the processor 501 is connected to other hardware via a signal line, and controls these other hardware.
- the processor 501, the memory 502, and the CAN interface 503 are the same as the processor 401, the memory 402, and the CAN interface 403 of the shared backup ECU 101.
- the control SWC 202 is stored in the memory 502.
- the control SWC 202 is read by the processor 501 and executed by the processor 501.
- the switch 251 includes an FPGA 511.
- Judgment ECU 301 is a microcomputer.
- the determination ECU 301 includes a processor 601 and other hardware such as a memory 602 and a CAN interface 603.
- the processor 601 is connected to other hardware via a signal line, and controls these other hardware.
- the processor 601, the memory 602, and the CAN interface 603 are the same as the processor 401, the memory 402, and the CAN interface 403 of the shared backup ECU 101.
- a determination SWC 302 is stored in the memory 602. Determination SWC 302 is read by processor 601 and executed by processor 601.
- the switcher 351 includes an FPGA 611.
- FIG. 3 a general implementation form of the embedded software in the ECU will be described. In the present embodiment, this implementation is applied to both the backup target ECU and the shared backup ECU 101.
- a black arrow indicates a task execution state
- a white arrow indicates a task execution waiting state.
- application software on the embedded OS is often executed in a multitasking environment as shown in FIG. Even if processing is interrupted at the time of failure, if the current information such as individual task variables, shared variables or global variables, and learning storage information of application behavior is accumulated in the memory 402, the accumulated information is reused. As a result, the shared backup ECU 101 can continuously execute processing.
- the shared backup ECU 101 can easily execute continuous processing. Specifically, it is possible to use information saved together as a set of input storage information at the start of processing. However, when the execution of the application software process that has been down in the middle of the cycle is resumed, a delay occurs because the cycle of the process is restarted from the beginning.
- a save completion flag is prepared. Whether or not the evacuation is completed can be determined by turning on / off this flag. If you have two save areas for storage information for input, even if the save write in one area is incomplete, you can use the past information in the other area and delay only for one cycle. The influence can be stopped.
- the shared backup ECU 101 includes, as functional elements, an execution unit 131, a diagnosis unit 132, a generation unit 133, a management table 134, a load unit 135, a decompression unit 136, a first storage unit 137, a second storage unit 139, an analysis unit 140, and a communication.
- Part 141 is provided.
- the execution unit 131 includes a first processing unit 142 and a second processing unit 143.
- the functions of the execution unit 131, the diagnosis unit 132, the generation unit 133, the load unit 135, the decompression unit 136, and the analysis unit 140 are realized by software.
- the management table 134, the first storage unit 137, and the second storage unit 139 are realized by the memory 402.
- the communication unit 141 is realized by the CAN interface 403.
- the memory 402 stores a shared backup program that is a program for realizing the functions of the execution unit 131, the diagnosis unit 132, the generation unit 133, the load unit 135, the decompression unit 136, and the analysis unit 140.
- the shared backup program is read into the processor 401 and executed by the processor 401.
- the memory 402 also stores an OS.
- the processor 401 executes the shared backup program while executing the OS. A part or all of the shared backup program may be incorporated in the OS.
- Information, data, signal values, and variable values indicating processing results of the execution unit 131, the diagnosis unit 132, the generation unit 133, the load unit 135, the decompression unit 136, and the analysis unit 140 are stored in the memory 402 or the processor 401. Alternatively, it is stored in a cache memory.
- the shared backup program may be stored in a portable recording medium such as a magnetic disk and an optical disk.
- the shared backup ECU 101 checks the CAN message received via the CAN 701 with the analysis function 103 and detects a failure of the judgment ECU 301 or the control ECU 201 with the diagnosis function 105.
- a method in which the judgment ECU 301 or the control ECU 201 has a self-diagnosis function and transmits a CAN message when a failure occurs to the shared backup ECU 101 can be implemented.
- the switching function 102 refers to the management table 134, selects a SWC to be saved, and extracts a compressed image of the corresponding SWC. Specifically, the shared backup ECU 101 takes out the compressed image 124 of the determination SWC 121 or the compressed image 114 of the control SWC 111. The shared backup ECU 101 develops the compressed image on the execution memory by the load function 104 and executes the corresponding SWC. Specifically, shared backup ECU 101 executes determination SWC 121 or control SWC 11.
- the shared backup ECU 101 transmits a disconnection command CAN message to the switch 351 or the switch 251 so that the failed determination ECU 301 or the control ECU 201 does not perform an abnormal CAN message transmission / reception process.
- the communication unit 141 is connected to the CAN 701 and performs CAN message transmission / reception processing.
- the communication unit 141 passes the received CAN message to the first processing unit 142 and the analysis unit 140.
- the first processing unit 142 processes the received CAN message when the SWC is activated and executed.
- the second processing unit 143 passes the transmission CAN message when the SWC is activated and executed to the communication unit 141.
- the generation unit 133 passes the transmission CAN message for the switcher 144 to the communication unit 141.
- the analysis unit 140 passes information related to the ECU to be diagnosed to the diagnosis unit 132.
- the diagnosis unit 132 determines whether the ECU has failed. When the diagnosis unit 132 detects a failure, the diagnosis unit 132 transmits failure detection information to the execution unit 131 and the generation unit 133.
- the analysis unit 140 transmits the CAN message information during normal operation of the ECU to be diagnosed to the second storage unit 139 and stores it.
- the execution unit 131 When the diagnosis unit 132 reports a failure, the execution unit 131 refers to the management table 134 and selects an SWC that needs to be saved. The execution unit 131 takes in a necessary memory image from the first storage unit 137 and decompresses it with the decompression unit 136. The execution unit 131 expands the memory image on the memory 402 by the load unit 135. Then, the execution unit 131 activates and executes the SWC.
- the diagnosis unit 132 diagnoses abnormalities of a plurality of ECUs.
- the load unit 135 loads the same program as the program executed by the abnormal unit, which is an ECU whose abnormality is detected by the diagnosis unit 132, from the memory 402 that stores a plurality of programs in advance.
- the execution unit 131 exhibits the same function as the function of the abnormal unit instead of the abnormal unit by executing the program loaded by the load unit 135.
- the diagnosis unit 132 detects an abnormality of the control ECU 201.
- the load unit 135 loads the control SWC 111 that is the same program as the control SWC 202 executed by the control ECU 201 from the memory 402.
- the execution unit 131 exhibits a function of controlling the engine or the handle instead of the control ECU 201 by executing the control SWC 111 loaded by the load unit 135.
- the communication unit 141 receives individual messages from the plurality of ECUs indicating state variables used by the plurality of ECUs during execution of the program.
- the execution unit 131 sets a state variable used when executing the program loaded by the load unit 135 based on the message received from the abnormal unit by the communication unit 141 before the diagnosis unit 132 detects the abnormality. To do.
- the diagnosis unit 132 detects an abnormality of the control ECU 201.
- the execution unit 131 is loaded by the load unit 135 in accordance with the state variable of the control SWC 202 indicated in the CAN message received from the control ECU 201 by the communication unit 141 before the abnormality is detected by the diagnosis unit 132.
- the state variable of the control SWC 111 is set.
- the SWC selection process itself can be realized by a branch process such as an if statement in a program, and therefore the table is not necessarily essential. However, a table is recommended because it facilitates the implementation and maintenance of the SWC setting process. Specifically, how the SWC is selected will be described with reference to the example of FIG.
- ECU1 and ECU2 correspond to control ECU201, respectively.
- the ECU 3 corresponds to the determination ECU 301.
- three ASIL D SWC 11, ASIL D SWC 12, and ASIL D SWC 13 are operating as the control SWC 202 on the ASIL D-compatible OS 805.
- three ASIL C SWC 21, ASIL B SWC 22, and ASIL A SWC 23 are operating as the control SWC 202 on the ASIL C compatible OS 815.
- three ASIL B SWC 31, ASIL A SWC 32, and QM SWC 33 are operating as determination SWC 302 on the ASIL B compatible OS 825.
- BECU1 there are two low-performance BECU1 and BECU2.
- BECU1 an ASIL D-compatible OS 834 is being executed.
- BECU2 ASIL D-compatible OS 844 is being executed.
- the retreat to the common backup ECU 101 is performed when there is a possibility that the ECU 1, the ECU 2, and the ECU 3 may fail due to a temperature rise, not when the ECU completely fails.
- the SWC selected as the target for evacuation has an ASIL of C or more. It is assumed that the worst case is avoided even if ASIL is B or less even if it does not operate.
- ASIL D SWC11 and ASIL D SWC12 in ECU 1 are retracted to BECU1
- ASIL D SWC13 in ECU1 and ASIL C SWC21 in ECU2 are retracted to BECU2.
- ASIL D SWC 41 and ASIL D SWC 42 are executed as the control SWC 111 on the ASIL D-compatible OS 834.
- ASIL D SWC 51 and ASIL C SWC 52 are executed as the control SWC 111 on the ASIL D-compatible OS 844.
- Other SWCs whose ASIL is B or less are not saved.
- FIG. 6 shows an example of the management table 134 used in the example of FIG.
- the ID of the SWC to be backed up and the ID of the shared backup ECU 101 at the save destination are registered for each ID. “ID” is an abbreviation for Identifier.
- ASIL information is appended to the ID of each SWC to be backed up. Since there are two shared backup ECUs 101 for the ID of the shared backup ECU 101 at the save destination, two entries in the management table 134 are also assigned. The common backup ECU 101 is always assigned as an evacuation destination to an important ASIL SWC. The number of save destinations assigned to the low-level ASIL SWC is one or zero.
- SWC11 and SWC13 are assigned to BECU1
- SWC13 and SWC21 are assigned to BECU2.
- the number of SWCs to be operated by the shared backup ECU 101 is limited to two.
- the use flag of the save destination shared backup ECU 101 in the management table 134 is set. As a result, when the ECU fails next time, it is possible to select an available shared backup ECU 101 instead of the same shared backup ECU 101.
- the execution unit 131 when the abnormal unit is an ECU that executes two or more programs, the execution unit 131 loads a program to be loaded into the load unit 135 with the priority defined in advance for each program. Select. When the abnormality of two or more ECUs is detected by the diagnosis unit 132, the execution unit 131 selects a program to be loaded on the load unit 135 according to the priority defined in advance for each combination of the ECU and the program. As the definition of priority, any definition may be used, but as described above, ASIL is used in the present embodiment.
- the internal information initialization process is executed in step S11.
- the communication unit 141 starts acquiring a CAN message on the CAN 701.
- step S ⁇ b> 12 the analysis unit 140 takes in current information of each ECU serving as a save source and stores it in the second storage unit 139.
- Each save source ECU always sends current information to the shared backup ECU 101.
- the current information itself is compressed and sent to the shared backup ECU 101. It is also possible to defrost.
- step S13 the diagnosis unit 132 confirms whether a failure has occurred in any of the ECUs based on the result of the analysis of the CAN message by the analysis unit 140. If no failure has occurred, the loop process is repeated from the process of step S12 again.
- the diagnosis unit 132 not only detects the occurrence of a failure from the result of analysis of the received CAN message, but also detects the occurrence of a failure when a CAN message that should be received periodically has not arrived.
- step S14 the execution unit 131 confirms whether or not the shared backup ECU 101 corresponds to the save destination. If it does not correspond to the save destination, the loop processing is repeated from the processing of step S12.
- step S15 the execution unit 131 executes a save target SWC selection process that selects the save target SWC with reference to the management table 134.
- the procedure of the saving target SWC selection process is shown in FIG.
- step S ⁇ b> 31 the execution unit 131 acquires the ID of the SWC to be backed up from the management table 134.
- step S ⁇ b> 32 the execution unit 131 selects only the IDs of the backup target SWCs whose ASIL is higher than the necessary level.
- step S33 the execution unit 131 turns on the use flag in the management table 134 for the ID of the selected backup target SWC.
- the update of the use flag of the management table 134 is originally required to be transmitted to the management table 134 of the other shared backup ECU 101 by a CAN message or the like, but the other shared backup ECU 101 can detect the failure in the same manner. Therefore, transmission is not necessary and update support is possible.
- step S16 the load unit 135 acquires the memory image of the SWC selected in step S15 from the first storage unit 137.
- the load unit 135 decompresses the acquired memory image by the decompression unit 136.
- the load unit 135 expands the decompressed memory image on the memory 402.
- step S17 the execution unit 131 operates the switch connected to the evacuation source ECU to disconnect the evacuation source ECU from the CAN 701. Specifically, if the save-source ECU is the control ECU 201, the execution unit 131 transmits a CAN message instructing disconnection to the switch 251 through the communication unit 141. If the save-source ECU is determination ECU 301, execution unit 131 transmits a CAN message for instructing disconnection to switch 351 via communication unit 141.
- step S18 the execution unit 131 activates the SWC processing developed in step S16.
- the SWC process is started as a separate task independent of the main loop process of the backup handling process.
- the execution unit 131 executes main loop processing of the expanded SWC in step S21.
- the common backup ECU 101 can dynamically replace each ECU. Therefore, substantial multiplexing of each ECU is possible even if a backup unit is not separately prepared for each ECU. That is, according to the present embodiment, the ECU can be substantially multiplexed with a small amount of hardware.
- the shared backup ECU 101 includes an execution unit 131, a diagnosis unit 132, a load unit 135, a first storage unit 137, a second storage unit 139, an analysis unit 140, and a communication unit 141.
- the communication unit 141 is connected to a network and performs message transmission / reception processing.
- the analysis unit 140 analyzes the received message.
- the diagnosis unit 132 determines whether another ECU has failed from the analysis result of the message.
- the first processing unit 142 of the execution unit 131 individually replaces alternative software components for backup, not necessarily all, when the failure of any of the other plurality of ECUs is detected. Select and start.
- the second processing unit 143 of the execution unit 131 generates a disconnection instruction message that is transmitted to the switch to which the failed ECU is connected, and passes it to the communication unit 141.
- the first storage unit 137 stores execution memory images of alternative software components of other ECUs.
- the load unit 135 loads the execution memory image onto the execution memory.
- the total number of ECUs that increase when the ECUs are multiplexed can be reduced by sharing the backup ECU. As a result, an increase in hardware production cost and power consumption can be suppressed.
- important SWC essential for continuous operation can be selected as the SWC to be backed up, and can be limitedly operated on the common backup ECU 101. For this reason, it is not always necessary to employ a high-performance ECU as the backup ECU, so that an increase in hardware production cost and power consumption can be further suppressed.
- the ECU When the ECU is a multiplex system, if it is a double system, the process fails due to a failure of two ECUs. In the case of a triple system, the processing fails due to a failure of three ECUs. However, by sharing the backup ECU, many backup ECUs can be used with each other. Therefore, the durability of continuous operation is improved as compared with the fixed multi-system ECU.
- the multiplexed ECUs are collectively arranged on the board due to the hardware configuration. If a breakdown of the multi-system ECU board is expected due to a temperature increase or the like due to a local failure of the automobile, all the multi-system ECUs may be destroyed at the same time.
- the shared backup ECU 101 can be distributed and arranged on distant boards, so that it is possible to avoid being involved in a local failure and annihilated. As a result, the durability of continuous operation is improved as compared with the configuration of the centralized multi-system ECU.
- control system 100 corresponds to an automatic driving system, but as a modification, the control system 100 may be implemented as a system other than the automatic driving system.
- control system 100 is equipped with a very large number of microcomputers, performs operation processing by electronic control, requires countermeasures against ECU failure, and is used for all mechanical devices in which a multi-system configuration is assumed. it can. Examples include space rockets, artificial satellites, aircraft, trains, ships, submarines, machine tools, construction machines, medical machines, and robots.
- the functions of the execution unit 131, the diagnosis unit 132, the generation unit 133, the load unit 135, the decompression unit 136, and the analysis unit 140 are realized by software.
- the execution unit 131 and the diagnosis unit 132 are implemented.
- the functions of the generation unit 133, the load unit 135, the decompression unit 136, and the analysis unit 140 may be realized by a combination of software and hardware. That is, some of the functions of the execution unit 131, the diagnosis unit 132, the generation unit 133, the load unit 135, the decompression unit 136, and the analysis unit 140 may be realized by a dedicated electronic circuit, and the rest may be realized by software.
- the dedicated electronic circuit is, for example, a single circuit, a composite circuit, a programmed processor, a processor programmed in parallel, a logic IC, GA, FPGA, or ASIC.
- GA is an abbreviation for Gate Array.
- ASIC is an abbreviation for Application Specific Integrated Circuit.
- the processor 401, the memory 402, and the dedicated electronic circuit are collectively referred to as a “processing circuit”. That is, regardless of whether the functions of the execution unit 131, the diagnosis unit 132, the generation unit 133, the load unit 135, the decompression unit 136, and the analysis unit 140 are realized by software or a combination of software and hardware.
- the functions of the execution unit 131, the diagnosis unit 132, the generation unit 133, the load unit 135, the decompression unit 136, and the analysis unit 140 are realized by a processing circuit.
- the “ECU” of the shared backup ECU 101 is replaced with “program”, “program product”, or “computer-readable medium recording the program”, and the execution unit 131, the diagnosis unit 132, the generation unit 133, the load unit 135, and the decompression unit 136
- the “part” of the analysis unit 140 may be read as “procedure” or “processing”.
- Embodiment 2 FIG. In the present embodiment, differences from the first embodiment will be mainly described with reference to FIG. 9 and FIG.
- the level of necessity for continuous execution of each software component is stored in the management table 134.
- the management table 134 further stores the CPU load when each software component is executed.
- the shared backup ECU 101 selects individual software components from among the software components of the plurality of ECUs according to the calculation result of the CPU load so that the total capacity of the CPU load does not exceed the upper limit.
- the configuration of the shared backup ECU 101 according to the present embodiment is the same as that of the first embodiment shown in FIG.
- FIG. 9 shows an example of the management table 134 that also manages the execution CPU load of the SWC.
- a column of CPU load levels is newly added as compared with the example of FIG.
- the CPU load can be integrated so that the CPU load capacity of the common backup ECU 101 that can save the CPU load does not exceed the CPU load capacity.
- three common backup ECUs 101 are prepared in an in-vehicle device system originally provided with five ECUs for automatic driving.
- the five ECUs for automatic driving include an ECU 1 that exhibits a road condition recognition function, an ECU 2 that exhibits a surrounding condition recognition function, an ECU 3 that exhibits a traveling path generation function, an ECU 4 that exhibits a steering control function, and An ECU 5 that exhibits the engine control function is prepared.
- Each SWC of these ECUs is distributed to the common backup ECU 101 as the save destination.
- the three common backup ECUs 101 include BECU1, BECU2, and BECU3. It is assumed that the maximum CPU load capacities of BECU1, BECU2, and BECU3 are 60, 40, and 40, respectively.
- SWC evacuation when the ECU 3 and the ECU 4 fail will be described.
- SWC31, SWC32 and SWC33 are executed.
- SWC41, SWC42 and SWC43 are executed.
- ASIL C SWC and the ASIL D SWC are evacuated to the common backup ECU 101.
- the CPU load levels of SWC31, SWC41 and SWC42 are 40, 20 and 10, respectively.
- Both of the first candidates of the common backup ECU 101 as the save destination are BECU1.
- the load upper limit of BECU 1 is 60.
- the total load of the SWC 31 and the SWC 41 is 60. Therefore, both SWC31 and SWC41 can be retracted to BECU1.
- the use flag of the SWC 31 and the SWC 41 is checked. Thereafter, even if a further failure occurs, the BECU 1 is in a full state and the SWC cannot be additionally saved.
- the first candidate of the common backup ECU 101 as the save destination is BECU2.
- the load upper limit of BECU 2 is 40.
- the single load of the SWC 42 is 10. Therefore, the SWC 42 can be retracted to the BECU 2 without any problem.
- the use flag of the SWC 42 is checked. Thereafter, even if a further failure occurs, 30 remains as a load margin of the BECU 2, and additional saving of the SWC is possible.
- the load unit 135 depends on the load of the processor 401 predicted in advance for each program. Select the program to be loaded.
- the diagnosis unit 132 detects two or more ECU abnormalities
- the execution unit 131 loads the load unit 135 on the basis of the load of the processor 401 predicted in advance for each combination of the ECU and the program. Is selected.
- the processing procedure of the shared backup program operating in the shared backup ECU 101 is the same as that of the first embodiment shown in FIG. 7 except for the save target SWC selection process in step S15.
- the procedure of the saving target SWC selection process is shown in FIG. Steps S41 and S42 are the same as steps S31 and S32 in FIG. 8, respectively.
- step S43 the execution unit 131 selects only the ID of the backup target SWC selected in step S42 that can be saved from the current CPU load status.
- step S44 the execution unit 131 turns on the use flag in the management table 134 for the ID of the backup target SWC selected in step S43.
- the number of saving-source ECU SWCs executed on the saving-destination shared backup ECU 101 is defined in advance.
- the execution CPU load of SWC varies widely from light to heavy. Therefore, in this embodiment, the execution CPU load of the SWC is managed also in the management table 134. That is, the execution target SWC is added while the CPU load is calculated for the execution target SWC so that the CPU load is within the upper limit value of the CPU performance. Therefore, the CPU of the shared backup ECU 101 can be used efficiently.
- Embodiment 3 FIG. In this embodiment, differences from the first embodiment will be mainly described with reference to FIGS.
- current information necessary for execution of an alternative software component for backup is transmitted as a message on the network from a plurality of other ECUs to the shared backup ECU 101 and stored in the second storage unit 139.
- such current information is not transmitted as a message on the network, but the content of the message on the network transmitted by the existing network transmission / reception process is analyzed and processed using the analysis result. Is taken over.
- the shared backup ECU 101 does not have the current information of the faulty ECU, and the software component of the faulty ECU should then output by extrapolation from the information that the software component of the faulty ECU output before the fault. Predict the information that was.
- the shared backup ECU 101 collects the existing CAN message to be transmitted without periodically saving the status information of the SWC being executed in the save area, and outputs the output control value by extrapolation. To continue processing.
- the shared backup ECU 101 further includes a calculation unit 138 as a functional element.
- the function of the calculation unit 138 is realized by software.
- CAN message information during normal operation of the ECU to be diagnosed is transmitted from the analysis unit 140 to the second storage unit 139 and stored.
- internal variable information necessary for the continued execution of SWC is placed on the CAN message from each ECU and transmitted to shared backup ECU 101. Therefore, a CAN message for saving to the shared backup ECU 101 is additionally transmitted. Since the consumption of the communication band of the CAN 701 increases, it is necessary to estimate the communication load so that the consumption does not become too large.
- the CAN message transmitted from the existing SWC is used, analyzed in the shared backup ECU 101, and the output value predicted by the extrapolation method when the output CAN message of the saved SWC is generated. Is calculated.
- the communication unit 141 receives individual messages transmitted from the plurality of ECUs as the execution results of the programs from the plurality of ECUs.
- the execution unit 131 estimates a state variable used by the abnormal unit during execution of the program based on a message received from the abnormal unit by the communication unit 141 before the abnormality is detected by the diagnosis unit 132.
- the execution unit 131 sets a state variable used when executing the program loaded by the load unit 135 according to the estimated state variable.
- the diagnosis unit 132 detects an abnormality of the control ECU 201.
- the execution unit 131 estimates the state variable of the control SWC 202 from the output value of the control SWC 202 indicated in the CAN message received from the control ECU 201 by the communication unit 141 before the abnormality is detected by the diagnosis unit 132. .
- the execution unit 131 sets the state variable of the control SWC 111 loaded by the load unit 135 according to the estimated state variable.
- the electronically controlled throttle system 150 is a mechanism for controlling the accelerator pedal of the automobile and the throttle of the engine 153 by electrically connecting them.
- the engine 153 has a state called “over venturi”. This means that even when the throttle is fully opened at the time when the engine 153 does not reach a sufficient number of revolutions, the density of the sucked air flow does not increase and the charging efficiency is poor.
- the electronic control throttle system 150 calculates the output control value so as to limit the throttle opening when the accelerator is opened based on the throttle opening, the engine speed of the engine 153, and the like.
- the electronic control throttle system 150 includes the control system 100, an accelerator pedal sensor 152 and a motor sensor 154 that are input devices, and an engine 153 that is an output device.
- the control system 100 includes a high-performance ECU 1 as the control ECU 201.
- the control system 100 includes a low-performance BECU 1 as the common backup ECU 101.
- a control SWC 202 that controls the output of the engine 153 is executed.
- control SWC 111 for controlling the output of engine 153 on BECU 1 is executed.
- the prediction SWC 157 for calculating the output value predicted by the extrapolation method is also executed on the BECU 1.
- An output value Z to the engine 153 is obtained from the input value X from the accelerator pedal sensor 152 for the control SWC 202 of the ECU 1, the input value Y from the motor sensor 154 to the control SWC 202 of the ECU 1, and the internal variable information S of the control SWC 202.
- the calculation unit 138 obtains the engine output value Z using the calculation formula g for a certain period immediately after the ECU 1 starts to retract the control SWC 202. Basically, since the internal variable information S is obtained from the past state, the internal variable information S can be newly estimated after the above-mentioned fixed period, and the output value Z can be calculated using the calculation formula f. It becomes possible.
- the calculation formula g an equation representing an approximate curve such as a quadratic curve or a cubic curve is used.
- the output value Z can be calculated by a polynomial or differential equation.
- the calculation method itself may be a conventional method, but is characterized in that the output value at the time of takeover is predicted from the output value of the CAN message for takeover at the time of saving.
- step S51 is the same as the process of step S11 of FIG.
- step S53 to step S58 is the same as the processing from step S13 to step S18 in FIG.
- the analysis part 140 acquires the present information containing internal variable information from each ECU used as a save source by an additional CAN message.
- This additional CAN message is a message addressed to the shared backup ECU 101.
- the analysis unit 140 acquires an output value to a device such as the engine 153 from a normal CAN message.
- This normal CAN message is not a message addressed to the shared backup ECU 101 but a message addressed to a device such as the engine 153.
- the execution part 131 performs the main loop process of expanded SWC. This main loop process is started immediately after the start of saving. On the other hand, in the present embodiment, output control processing by extrapolation is performed for a certain period, and then the main loop processing of the developed SWC is started. Specifically, in step S61, the execution unit 131 determines whether a certain period has elapsed. If the certain period has not elapsed, in step S62, the calculation unit 138 calculates an output value using the calculation formula g. The execution unit 131 transmits the output value calculated by the calculation unit 138 to a device such as the engine 153.
- step S62 the execution unit 131 executes main loop processing of the developed SWC.
- the execution unit 131 calculates an output value using the calculation formula f.
- the execution unit 131 transmits the calculated output value to a device such as the engine 153.
- the state and learning information of the fault ECU necessary for the continuation process at the time of backup is not saved in an independent memory area of the shared backup ECU 101 by an additional CAN message or the like, but is originally transmitted.
- the message is collected and the output value is predicted by extrapolation. Therefore, the communication cost of the additional CAN message can be reduced, and an increase in network bandwidth consumption can be avoided.
- the existing ECU by collecting the CAN message that was originally transmitted and predicting the output control value by extrapolation so that continuation processing can be performed, the existing ECU can be used in a system configuration in which the backup ECU does not originally exist. No need to repair the SWC. Since development for adding the common backup ECU 101 can be performed externally, development efficiency is improved.
- Embodiment 4 FIG. In the present embodiment, differences from the first embodiment will be mainly described.
- the number of cores of the built-in CPU of the shared backup ECU 101 is one. In this case, a plurality of OSs cannot be executed unless a hypervisor configuration is adopted. The execution of a single OS is also predicated on the single-core hardware performance of the ECU.
- a microcomputer incorporating a multi-core CPU or a microcomputer incorporating a multiprocessor is employed as the shared backup ECU 101. For this reason, when different OSs such as AUTOSAR (registered trademark) and Linux (registered trademark) are operated, SWCs corresponding to the respective OSs can be continuously executed.
- Embodiment 5 FIG. In the present embodiment, differences from the first embodiment will be mainly described.
- the shared backup ECU 101 is shared in one network system. Although not shown, in the present embodiment, a plurality of network systems are connected by a gateway. A shared backup ECU 101 that can be shared by a plurality of network systems is disposed at the gateway. If the shared backup ECU 101 is arranged on the network system having the fastest communication speed, the communication efficiency is improved.
- Embodiment 6 FIG. In the present embodiment, differences from the first embodiment will be mainly described.
- one CAN ID is assigned to the plurality of shared backup ECUs 101 as a whole instead of individually assigning CAN IDs to the plurality of shared backup ECUs 101.
- the shared backup ECU 101 group monitors an existing ECU group and shares one ID in order to perform backup response processing in an emergency. After the backup handling process is started, a local ID different from the CAN ID is stored as application information in the CAN message in order to identify the individual shared backup ECUs 101.
- individual messages transmitted as a result of program execution by a plurality of ECUs include an identifier that differs depending on the ECU as a transmission source address.
- Individual messages transmitted as a result of program execution by the execution unit 131 by a plurality of shared backup ECUs 101 include a common identifier as a transmission source address, and an identifier that differs depending on the shared backup ECU 101 as part of transmission data. It is.
- an identifier that differs depending on the ECU and a common identifier an ID of an arbitrary address system may be assigned.
- a CAN ID is assigned in the present embodiment.
- An ID of an arbitrary address system may be assigned as an identifier that is different depending on the shared backup ECU 101.
- a local ID different from the CAN ID is assigned in the present embodiment.
- Embodiment 7 FIG. In the present embodiment, differences from the first embodiment will be mainly described.
- various ECUs and a common backup ECU 101 are connected to a wired network for vehicles such as CAN701.
- CAN network cable wiring is generally very complicated, and network cable wiring has become difficult in various places in the manufacture of automobiles. Therefore, in the present embodiment, the same wired network as the conventional network communication is used for the same network communication as the conventional one, while the wireless network is used for a limited use such as a saving process at the time of failure. That is, necessary evacuation communication processing is performed via the wireless network.
- a plurality of shared backup ECUs 101 are collectively stored in one box. Wireless communication is performed between the box and the wireless gateway on the backbone CAN.
- the common backup ECU 101 box can be retrofitted to a completed product of an existing automobile network system without worrying about wiring.
- control system 101 shared backup ECU, 102 switching function, 103 analysis function, 104 load function, 105 diagnostic function, 111 control SWC, 114 compressed image, 121 judgment SWC, 124 compressed image, 131 execution unit, 132 diagnostic unit, 133 Generation unit, 134 management table, 135 load unit, 136 decompression unit, 137 first storage unit, 138 calculation unit, 139 second storage unit, 140 analysis unit, 141 communication unit, 142 first processing unit, 143 second processing unit , 144 switcher, 150 electronic control throttle system, 152 accelerator pedal sensor, 153 engine, 154 motor sensor, 157 predicted SWC, 201 control ECU, 202 control SWC, 204 transmission function, 211 control ECU, 51 switch, 261 switch, 301 determination ECU, 302 determination SWC, 304 transmission function, 311 determination ECU, 351 switch, 361 switch, 401 processor, 402 memory, 403 CAN interface, 411 FPGA, 501 processor, 502 memory , 503 CAN interface, 511 FPGA,
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
共用バックアップECU(101)において、診断部(132)は、個別の機能を発揮するために機能によって異なるプログラムを実行する複数のECUの異常を診断する。ロード部(135)は、複数のプログラムをあらかじめ記憶するメモリから、診断部(132)により異常が検知されたECUである異常ユニットが実行するプログラムと同じプログラムをロードする。実行部(131)は、ロード部(135)によりロードされたプログラムを実行することで、異常ユニットの代わりに異常ユニットの機能と同じ機能を発揮する。
Description
本発明は、共用バックアップユニットおよび制御システムに関するものである。
市販されている自動車に搭載されるECUでは、自己診断機能が追加されている。「ECU」は、Electronic Control Unitの略語である。不具合が発生した瞬間のデータは記憶され、修理の際に参考資料とされている。ECUへの入力信号に異常が発生した場合、入力信号をECU内に記憶されている標準値または基準値に切り替えることで、車の走行を可能にして、機能安全の確保が図られている。ECUに異常が発生すると、出力をバックアップICによる固定信号に切り替えることによって、車を走行可能にして、機能安全の確保が図られている。「IC」は、Integrated Circuitの略語である。
昨今、国家的に開発が推進されている自動運転システムでは、事故を防ぐ観点から安全面での設計が非常に重視されている。現在の自動車そのものが、非常に複雑化したシステムとなっている。安全性の確保を図るために、自動車用の国際安全規格であるISO 26262が策定されている。ISO 26262では、機能安全を系統的に管理する枠組みが定められている。自動車のシステム、ハードウェアおよびソフトウェアのレベルにて、製品開発プロセスが規定されている。この枠組みの中で、自動車特有のリスクに基づいた方式で、リスク段階が定められている。ASILにてシステムの構成要素が整理されている。「ASIL」は、Automotive Safety Integrity Levelの略語である。
ASILに基づいた機能分類については、非特許文献1に位置付け、すなわち、相場観の例が紹介されている。例えば、曲がる機能でのアシスト喪失、および、走る機能の駆動力喪失は、ASIL A以上の比較的緩いレベルである。一方、止まる機能の制動機能喪失、および、曲がる機能のステアリングロックは、ASIL C以上の重大レベルに位置付けられている。自動車の各種機能のリスク管理を考慮した設計が要求されている。
特に自動運転システムとして、制御処理の中枢となっているECUの実装では、一部のハードウェア故障が発生しても制御不能とならないように、宇宙ロケットおよび航空機と同様に多重系の仕組みが採用されている。多重系の中の1系統分が故障しても、残る1系統が正常動作可能であれば、ECUは、実行処理を継続できる。このECUは、一般にADAS ECUと呼ばれている。「ADAS」は、Advanced Driver Assistance Systemの略語である。
自動運転システムの多重系の構成例を図15に示す。図中の2つの判断ECU311は、自動運転の経路判定処理を行うECUであり、2重系を構成している。2つの判断ECU311の出力情報は、切替器361により比較される。一致しなかった場合、故障として判定されて、故障している判断ECU311がCAN711から切り離される。「CAN」は、Controller Area Networkの略語である。図中の3つの制御ECU211は、エンジンおよびハンドルの制御を行うECUであり、3重系を構成している。3つの制御ECU211の出力情報は、切替器261により比較される。一致しなかった場合、多数決で少数だった制御ECU211が故障として判定されてCAN711から切り離される。
自動運転システム以外の用途でも、自動車は数多くのECUを搭載するようになってきている。搭載されるECUの数も近年、顕著な増加傾向にある。例えば、環境対策の排出ガス削減および低燃費化のためのエンジン制御、事故対応の高度安全機能のためのエアバッグ制御、歩行者検知システムおよびブレーキアシスト機能、ならびに、ドライバの利便性のためのETC(登録商標)およびカーナビゲーションシステム等、多数の新しいECUが次々に追加されてきている。「ETC」は、Electronic Toll Collection Systemの略語である。
重要な機能をECUが受け持つようになってきている。しかし、故障対応のために単純に多数のECU系統を多重化していくと、ハードウェアコストの大幅な増加が避けられなくなる。
以下に、多重系の事例として公開されているウェブサイト情報を示す。
非特許文献2に記載されている技術では、基本的なサブシステムが多重系にされ、片系が故障したら別の系が補完する機能が実装されている。この技術におけるECUは、万が一故障した場合でも、必ず安全な方向に処理するフェイルセーフ機構を備えている。
非特許文献3では、自動車ステアバイワイヤ制御の3重系ECUについて紹介されている。3台のECUによる多数決に基づく、縮退と継続とを含むフェールオペレーショナルの安全アーキテクチャとなっている。
非特許文献4には、センサまたは走行制御ECU内のマイクロコンピュータに故障または暴走が発生した場合、異常を検出し、自動的に故障系を切り離し、異常動作を防止できるECUを開発することが記載されている。
非特許文献5に記載されている技術では、ECUがA系CPUとB系CPUとから構成されている。「CPU」は、Central Processing Unitの略語である。A系CPUおよびB系CPUは、同一の入力情報をもとに同一のプログラムによって演算を行う。演算結果は、それぞれの系のメモリに格納される。メモリに格納されている演算結果は、FS比較回路にて照査されている。「FS」は、Fail Safeの略語である。一致状態が継続中、FSリレーはオン状態となり、出力状態である。不一致が発生した場合、FSリレーはオフ状態となり、出力遮断状態となる。
以下に、多重系を拡張的に採用している特許文献を示す。
特許文献1には、エンジンECUの多重化に関する技術が記載されている。この技術では、単純にエンジンECUが多重化されているだけでなく、エンジンECUが互いに役割を分担し、故障時に動的に役割を変える。
特許文献2に記載されている技術では、複数の実行系ノードに対して、それぞれ仕様が異なる複数の待機系ノードが用意される。1つの実行系ノードに障害が発生した場合、障害の要因を取り除ける待機系ノードが選択され、選択された待機系ノードがデータ処理を引き継ぐ。
特許文献3に記載されている技術では、同一ネットワーク上の2重系構成の計算機の一方が他方を監視し、障害発生時に他方を電源断にしてネットワークから切り離す。
"車載システム開発時に使用するソフトウェアツールをISO 26262の要求事項に準拠させるための作業項目の抽出と考察"、[online]、2013年2月、独立行政法人情報処理推進機構、[2017年1月10日検索]、インターネット〈URL:http://www.ipa.go.jp/files/000026859.pdf〉
"自動運転"、[online]、一般財団法人日本自動車研究所、[2017年1月10日検索]、インターネット〈URL:http://www.jari.or.jp/tabid/111/Default.aspx〉
金子 貴信、中村 英夫、"高度運転支援システムにおける安全アーキテクチャの調査"、[online]、2015年6月、JARI Research Journal、[2017年1月10日検索]、インターネット〈URL:http://www.jari.or.jp/Portals/0/resource/JRJ_q/JRJ20150607_q_.pdf〉
青木 啓二、"自動運転技術の開発動向と実用化に向けた課題"、[online]、2014年1月24日、ISITカーエレクトロニクス研究会、[2017年1月10日検索]、インターネット〈URL:http://www.car-electronics.jp/files/2013/11/CEW14_aoki.pdf〉
"自動運転・隊列走行技術の研究開発"、[online]、国立研究開発法人新エネルギー・産業技術総合開発機構、[2017年1月10日検索]、インターネット〈URL:http://www.nedo.go.jp/content/100095912.pdf〉
これまでの自動車システムでは、故障時対応のために重要なECU系統を多重化する設計がなされてきた。しかし、ECUの数は、近年、顕著な増加傾向にある。そのため、多数のECU系統を多重化すると、ハードウェアコストの大幅な増加が避けられなくなる。
具体的なハードウェアとしては、ECUのマイクロコンピュータだけでなく、搭載基板、ネットワークインタフェース等の周辺機器、ネットワークケーブル、筐体等が増加する。配線も増加し、配線設置、製作および保守の工数が増大する。これは、自動車の価格上昇をもたらし、利用者の負担増加につながる。
搭載電子機器の数が増加することで、消費される電力も増加することになる。これは、搭載されるバッテリ容量を大きくする必要性にもつながる。
本発明は、少ないハードウェアでECUの実質的な多重化を可能にすることを目的とする。
本発明の一態様に係る共用バックアップユニットは、
個別の機能を発揮するために機能によって異なるプログラムを実行する複数の電子制御ユニットの異常を診断する診断部と、
複数のプログラムをあらかじめ記憶するメモリから、前記診断部により異常が検知された電子制御ユニットである異常ユニットが実行するプログラムと同じプログラムをロードするロード部と、
前記ロード部によりロードされたプログラムを実行することで、前記異常ユニットの代わりに前記異常ユニットの機能と同じ機能を発揮する実行部とを備える。
個別の機能を発揮するために機能によって異なるプログラムを実行する複数の電子制御ユニットの異常を診断する診断部と、
複数のプログラムをあらかじめ記憶するメモリから、前記診断部により異常が検知された電子制御ユニットである異常ユニットが実行するプログラムと同じプログラムをロードするロード部と、
前記ロード部によりロードされたプログラムを実行することで、前記異常ユニットの代わりに前記異常ユニットの機能と同じ機能を発揮する実行部とを備える。
本発明では、共用バックアップユニットが、各ECUを動的に代替できる。そのため、1つ1つのECUに対してバックアップユニットを個別に用意しなくても、各ECUの実質的な多重化が可能になる。すなわち、本発明によれば、少ないハードウェアでECUの実質的な多重化が可能になる。
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、2つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、1つの実施の形態または2つ以上の実施の形態の組み合わせが部分的に実施されても構わない。
実施の形態1.
本実施の形態について、図1から図8を用いて説明する。
本実施の形態について、図1から図8を用いて説明する。
***構成の説明***
図1を参照して、本実施の形態に係る制御システム100の構成を説明する。
図1を参照して、本実施の形態に係る制御システム100の構成を説明する。
制御システム100は、個別の機能を発揮するために、機能によって異なるプログラムを実行する複数の電子制御ユニットと、これら複数の電子制御ユニットのうち、任意の電子制御ユニットを代替可能な共用バックアップユニットとを備える。
本実施の形態において、制御システム100は、自動運転システムに相当する。
制御システム100は、複数の電子制御ユニットとして、制御ECU201および判断ECU301を備える。判断ECU301は、運転経路を判断する機能を発揮するために、運転経路の判断処理を行うプログラムである判断SWC302を実行する電子制御ユニットである。「SWC」は、Software Componentの略語である。制御ECU201は、エンジンまたはハンドルを制御する機能を発揮するために、エンジンまたはハンドルの制御処理を行うプログラムである制御SWC202を実行する電子制御ユニットである。
制御システム100は、共用バックアップユニットとして、共用バックアップECU101を備える。共用バックアップECU101は、制御ECU201および判断ECU301のどちらかが故障した際にバックアップとして機能する共用バックアップユニットである。
実際のケースでは、複数のECUの故障に備えて、システム全体で複数の共用バックアップECU101が用意されることになる。第1の共用バックアップECU101自体が故障した際にも、第2および第3の共用バックアップECU101への切り替えができるようになる。すなわち、制御システム100は、少なくとも1つの共用バックアップユニットを備えていればよいが、本実施の形態では、複数の共用バックアップユニットとして、図1に示した共用バックアップECU101だけでなく、1つ以上の他の共用バックアップECU101を備える。
共用バックアップECU101は、切替器144を介してCAN701に接続されている。切替器144は、共用バックアップECU101をCAN701から切り離す機能を有する。
制御ECU201は、切替器251を介してCAN701に接続されている。切替器251は、制御ECU201をCAN701から切り離す機能を有する。制御ECU201の故障時には、切替器251を用いて、制御ECU201がCAN701から切り離される。
判断ECU301は、切替器351を介してCAN701に接続されている。切替器351は、判断ECU301をCAN701から切り離す機能を有する。判断ECU301の故障時には、切替器351を用いて、判断ECU301がCAN701から切り離される。
なお、CAN701は、LIN、FlexRay(登録商標)またはEthernet(登録商標)といった他の種類のネットワークに置き換えられてもよい。「LIN」は、Local Interconnect Networkの略語である。CAN701に他の種類のネットワークが複雑に結合されてくる場合もある。複数のCAN701のネットワーク系統がゲートウェイまたはネットワーク系統切り替えスイッチを介して相互に接続される場合もある。ネットワーク系統例としては、エンジンおよびステアリング制御機器を含むパワートレイン系、カーナビゲーションおよびカーオーディオを含むマルチメディア系、パワーウィンドウおよび電動シートを含むボディ系、ならびに、各種センサおよびアクチュエータを含むスイッチ/センサ系がある。
本実施の形態では、1つ1つのECUを多重化せずに、故障時に利用できる共用バックアップECU101をこれらのECUにて共用することで、ハードウェアコストの増加を低減することができる。
共用バックアップECU101は、切替機能102、解析機能103、ロード機能104および診断機能105を有する。切替機能102は、バックアップ対象のECUを切り替える機能である。解析機能103は、CANメッセージを解析する機能である。ロード機能104は、SWCの圧縮イメージを解凍してロードする機能である。診断機能105は、外部のECUの異常を診断する機能である。共用バックアップECU101は、これらの機能によって、メモリ402上にバックアップ対象ECU上に搭載する必要最小限のSWC群を起動して、バックアップ処理を実行する。具体的には、共用バックアップECU101は、制御ECU201を代替する際には制御SWC111を起動する。共用バックアップECU101は、判断ECU301を代替する際には判断SWC121を起動する。故障発生時にすぐに継続処理用のSWCが実行できるように、共用バックアップECU101はOS起動後待機する。「OS」は、Operating Systemの略語である。
共用バックアップECU101の使用時には、故障ECUのネットワークインタフェースが切断されるか、切り替えられるか、あるいは、故障ECUの電源が切られる。
バックアップ時の継続処理に必要な故障ECUの状態および学習の情報を正常動作時にあらかじめ用意しておく必要がある。これには任意の方法を用いてよいが、本実施の形態では、そのような情報を故障ECUから離れた独立したメモリ領域に退避しておく方法が用いられる。具体的には、制御ECU201は、制御SWC202の処理の引き継ぎに必要な情報をメモリ502から読み取る。制御ECU201は、読み取った情報を送信機能204によってCAN701経由で共用バックアップECU101に送信する。共用バックアップECU101は、制御ECU201から送信された情報を受信する。共用バックアップECU101は、受信した情報をメモリ402に記憶する。同様に、判断ECU301は、判断SWC302の処理の引き継ぎに必要な情報をメモリ602から読み取る。判断ECU301は、読み取った情報を送信機能304によってCAN701経由で共用バックアップECU101に送信する。共用バックアップECU101は、判断ECU301から送信された情報を受信する。共用バックアップECU101は、受信した情報をメモリ402に記憶する。
本実施の形態では、監視対象ECUからの故障検知信号を共用バックアップECU101が受信する仕組みが用意される。具体的には、エラー検知信号を受信するもの、ハートビート信号を受信するもの、自己診断回路等の情報を受信するものがある。
本実施の形態では、性能が比較的劣る共用バックアップECU101が、故障ECUのソフトウェアをすべて実行するのではなく、継続運転に必須のソフトウェアを優先的に実行する。そのために、共用バックアップECU101は、ASILに基づいてSWCを管理し、実行すべきSWCを選択する。本実施の形態によれば、多数のECUの多重化に匹敵する共用バックアップユニットを用意しなくて済む。
本実施の形態では、数多くのECUのSWCを共用バックアップECU101で限られたメモリ容量内で選択的に起動できるように、共用バックアップECU101は、メモリ展開イメージを圧縮して保持し、必要時に解凍してSWCの引き継ぎを行う。具体的には、共用バックアップECU101は、制御ECU201を代替する際には制御SWC111の圧縮イメージ114を解凍して制御SWC111を起動する。共用バックアップECU101は、判断ECU301を代替する際には判断SWC121の圧縮イメージ124を解凍して判断SWC121を起動する。
図2を参照して、制御システム100のハードウェア構成を説明する。
共用バックアップECU101は、マイクロコンピュータである。共用バックアップECU101は、プロセッサ401を備えるとともに、メモリ402およびCANインタフェース403といった他のハードウェアを備える。プロセッサ401は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ401は、各種処理を行うICである。プロセッサ401は、具体的には、CPUである。
メモリ402は、例えば、フラッシュメモリまたはRAMである。「RAM」は、Random Access Memoryの略語である。
CANインタフェース403は、データを受信するレシーバおよびデータを送信するトランスミッタを含む。CANインタフェース403は、例えば、通信チップまたはNICである。「NIC」は、Network Interface Cardの略語である。CANインタフェース403は、USBインタフェースに置き換えられてもよい。「USB」は、Universal Serial Busの略語である。
共用バックアップECU101は、プロセッサ401を代替する複数のプロセッサを備えていてもよい。それぞれのプロセッサは、プロセッサ401と同じように、各種処理を行うICである。
切替器144は、FPGA411を備える。「FPGA」は、Field-Programmable Gate Arrayの略語である。
制御ECU201は、マイクロコンピュータである。制御ECU201は、プロセッサ501を備えるとともに、メモリ502およびCANインタフェース503といった他のハードウェアを備える。プロセッサ501は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ501、メモリ502およびCANインタフェース503については、共用バックアップECU101のプロセッサ401、メモリ402およびCANインタフェース403と同様である。
メモリ502には、制御SWC202が記憶されている。制御SWC202は、プロセッサ501に読み込まれ、プロセッサ501によって実行される。
切替器251は、FPGA511を備える。
判断ECU301は、マイクロコンピュータである。判断ECU301は、プロセッサ601を備えるとともに、メモリ602およびCANインタフェース603といった他のハードウェアを備える。プロセッサ601は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ601、メモリ602およびCANインタフェース603については、共用バックアップECU101のプロセッサ401、メモリ402およびCANインタフェース403と同様である。
メモリ602には、判断SWC302が記憶されている。判断SWC302は、プロセッサ601に読み込まれ、プロセッサ601によって実行される。
切替器351は、FPGA611を備える。
図3を参照して、ECUでの組込ソフトウェアの一般的な実装形態を説明しておく。本実施の形態では、この実装形態がバックアップ対象のECUにも、共用バックアップECU101にも適用される。図3において、黒塗りの矢印はタスク実行中の状態、白塗りの矢印はタスク実行待ちの状態を示している。
基本的に、組込OS上のアプリケーションソフトウェアは、図3に示すようにマルチタスク環境下で実行される場合が多い。故障時に処理が中断しても、個別のタスク変数、共有変数またはグローバル変数、および、アプリケーションの挙動の学習記憶情報等の現行情報をメモリ402に蓄積しておけば、蓄積した情報を再利用することで共用バックアップECU101での継続的な処理の実行が可能になる。
なお、アプリケーションソフトウェアの実行周期が数十ミリ秒程度までの比較的短い周期となっていれば、共用バックアップECU101での継続的な処理の実行が容易になる。具体的には、処理開始時点に一揃いの入力用蓄積情報としてまとめて退避しておいた情報を使用することができる。ただし、周期の途中でダウンしたアプリケーションソフトウェアの処理の実行を再開する場合は、その周期の処理を最初からやり直すため、遅延が発生する。
周期ごとの入力用蓄積情報の退避途中にアプリケーションソフトウェアがダウンする可能性もあるため、退避完了フラグが用意される。退避が完了したかどうかをこのフラグのオンオフで判定できる。入力用蓄積情報の退避領域を2つ保有しておくと、1つの領域の退避書き込みが未完の場合でも、もう1つの領域にある過去の情報を使用することで、1周期分の遅延のみで影響を留めることができる。
図4を参照して、本実施の形態に係る共用バックアップECU101の構成を説明する。
共用バックアップECU101は、機能要素として、実行部131、診断部132、生成部133、管理テーブル134、ロード部135、解凍部136、第1記憶部137、第2記憶部139、解析部140および通信部141を備える。実行部131は、第1処理部142および第2処理部143を備える。実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能は、ソフトウェアにより実現される。管理テーブル134、第1記憶部137および第2記憶部139は、メモリ402により実現される。通信部141は、CANインタフェース403により実現される。
メモリ402には、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能を実現するプログラムである共用バックアッププログラムが記憶されている。共用バックアッププログラムは、プロセッサ401に読み込まれ、プロセッサ401によって実行される。メモリ402には、OSも記憶されている。プロセッサ401は、OSを実行しながら、共用バックアッププログラムを実行する。なお、共用バックアッププログラムの一部または全部がOSに組み込まれていてもよい。
実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の処理の結果を示す情報、データ、信号値および変数値は、メモリ402、または、プロセッサ401内のレジスタまたはキャッシュメモリに記憶される。
共用バックアッププログラムは、磁気ディスクおよび光ディスクといった可搬記録媒体に記憶されてもよい。
***動作の説明***
図1を参照して、本実施の形態に係る共用バックアップECU101の動作の概要を説明する。共用バックアップECU101の動作は、本実施の形態に係るバックアップ方法に相当する。
図1を参照して、本実施の形態に係る共用バックアップECU101の動作の概要を説明する。共用バックアップECU101の動作は、本実施の形態に係るバックアップ方法に相当する。
共用バックアップECU101は、CAN701を経由して届いたCANメッセージを解析機能103で調べて、判断ECU301または制御ECU201の故障を診断機能105で検知する。別の方式として、判断ECU301または制御ECU201が自己診断機能を備えて故障発生時のCANメッセージを共用バックアップECU101に送信する方式も実装可能である。
共用バックアップECU101は、故障を検知すると、切替機能102によって管理テーブル134を参照し、退避すべきSWCを選定し、該当するSWCの圧縮イメージを取り出す。具体的には、共用バックアップECU101は、判断SWC121の圧縮イメージ124、あるいは、制御SWC111の圧縮イメージ114を取り出す。共用バックアップECU101は、ロード機能104により、圧縮イメージを実行メモリ上に展開し、該当するSWCを実行する。具体的には、共用バックアップECU101は、判断SWC121あるいは制御SWC11を実行する。
共用バックアップECU101は、故障した判断ECU301あるいは制御ECU201が異常なCANメッセージの送受信処理を行わないように、切替器351あるいは切替器251に対して切断命令のCANメッセージを送信する。
図4を参照して、共用バックアップECU101の動作の詳細を説明する。
通信部141は、CAN701と接続してCANメッセージの送受信処理を行う。通信部141は、受信したCANメッセージを第1処理部142および解析部140に渡す。第1処理部142は、SWCが起動および実行されたときの受信CANメッセージの処理を行う。第2処理部143は、SWCが起動および実行されたときの送信CANメッセージを通信部141に渡す。生成部133は、切替器144に対する送信CANメッセージを通信部141に渡す。
解析部140は、診断対象のECUに関する情報を診断部132に渡す。診断部132は、ECUが故障しているかどうかを判定する。診断部132は、故障を検知すると、実行部131および生成部133に故障検知情報を伝達する。解析部140は、診断対象のECUの通常動作時のCANメッセージ情報を第2記憶部139に伝達し、保存しておく。
実行部131は、診断部132により故障が報告されると、管理テーブル134を参照して、退避が必要なSWCを選定する。実行部131は、第1記憶部137から必要なメモリイメージを取り込み、解凍部136により解凍する。実行部131は、ロード部135にてメモリ402上に当該メモリイメージを展開する。そして、実行部131は、当該SWCを起動および実行する。
このように、本実施の形態において、診断部132は、複数のECUの異常を診断する。ロード部135は、複数のプログラムをあらかじめ記憶するメモリ402から、診断部132により異常が検知されたECUである異常ユニットが実行するプログラムと同じプログラムをロードする。実行部131は、ロード部135によりロードされたプログラムを実行することで、異常ユニットの代わりに異常ユニットの機能と同じ機能を発揮する。
具体例として、診断部132が、制御ECU201の異常を検知したとする。この場合、ロード部135は、メモリ402から、制御ECU201が実行する制御SWC202と同じプログラムである制御SWC111をロードする。実行部131は、ロード部135によりロードされた制御SWC111を実行することで、制御ECU201の代わりにエンジンまたはハンドルを制御する機能を発揮する。
通信部141は、複数のECUがプログラムの実行中に使用する状態変数を示す個別のメッセージを複数のECUから受信する。実行部131は、診断部132により異常が検知される前に通信部141により異常ユニットから受信されたメッセージに基づいて、ロード部135によりロードされたプログラムを実行する際に使用する状態変数を設定する。
具体例として、診断部132が、制御ECU201の異常を検知したとする。この場合、実行部131は、診断部132により異常が検知される前に通信部141により制御ECU201から受信されたCANメッセージに示された制御SWC202の状態変数に合わせて、ロード部135によりロードされた制御SWC111の状態変数を設定する。
なお、管理テーブル134が用意されている点について、SWCの選定処理そのものは、プログラムのif文等の分岐処理にて実現可能であるため、必ずしもテーブルが必須というわけではない。しかし、SWCの設定処理の実装および保守が容易になるため、テーブルが推奨される。具体的に、SWCがどのように選定されるかを図5の例にて説明する。
図5の例では、通常は動作しているECUとして、高性能のECU1、高性能のECU2、および、中性能のECU3の3個がある。ECU1およびECU2は、それぞれ制御ECU201に該当する。ECU3は、判断ECU301に該当する。ECU1では、ASIL D対応OS805上で、制御SWC202として、ASIL D SWC11、ASIL D SWC12およびASIL D SWC13の3つが動作している。ECU2では、ASIL C対応OS815上で、制御SWC202として、ASIL C SWC21、ASIL B SWC22およびASIL A SWC23の3つが動作している。ECU3では、ASIL B対応OS825上で、判断SWC302として、ASIL B SWC31、ASIL A SWC32およびQM SWC33の3つが動作している。
これに対して、共用バックアップECU101としては、低性能のBECU1およびBECU2の2個がある。BECU1では、ASIL D対応OS834が実行中である。BECU2では、ASIL D対応OS844が実行中である。
図5の例では、完全にECUが故障したときではなく、温度上昇によりECU1、ECU2およびECU3が故障する可能性が生じたときに、共用バックアップECU101への退避が行われる。退避の対象として選定されるSWCは、ASILがC以上のものである。ASILがB以下のものは動作しなくても最悪ケースは避けられることが前提となっている。
温度上昇によりECU1、ECU2およびECU3が故障する可能性が生じたか、あるいは、実際にECU1、ECU2およびECU3が故障したとする。この場合、ECU1内のASIL D SWC11およびASIL D SWC12がBECU1に退避され、ECU1内のASIL D SWC13と、ECU2内のASIL C SWC21とがBECU2に退避される。その結果、BECU1では、ASIL D対応OS834上で、制御SWC111として、ASIL D SWC41およびASIL D SWC42が実行される。BECU2では、ASIL D対応OS844上で、制御SWC111として、ASIL D SWC51およびASIL C SWC52が実行される。その他のASILがB以下のSWCは退避されない。
図5の例にて使用される管理テーブル134の例を図6に示す。
通常は動作しているECU1、ECU2およびECU3について、ID別に、バックアップ対象のSWCのIDと退避先の共用バックアップECU101のIDとが登録されている。「ID」は、Identifierの略語である。バックアップ対象の各SWCのIDには、ASIL情報が付記されている。退避先の共用バックアップECU101のIDについては、共用バックアップECU101が2個あるため、管理テーブル134のエントリも2個割り当てられている。重要なASILのSWCには、必ず共用バックアップECU101が退避先として割り当てられる。低レベルのASILのSWCに割り当てられる退避先は1個あるいは0個となる。
前述した故障の例では、バックアップ対象のSWCのうち、SWC11およびSWC13がBECU1に割り当てられ、SWC13およびSWC21がBECU2に割り当てられる。割当規則として、共用バックアップECU101で動作させるSWCはそれぞれ2つまでとしている。故障時に退避先の共用バックアップECU101が割り当てられ、退避処理が完了すると、管理テーブル134内の退避先の共用バックアップECU101の使用フラグが立てられる。これにより、次にECUが故障したときに、同じ共用バックアップECU101ではなく、空いている共用バックアップECU101を選定できる。
このように、本実施の形態において、実行部131は、異常ユニットが2つ以上のプログラムを実行するECUである場合、プログラムごとにあらかじめ定義された優先度によって、ロード部135にロードさせるプログラムを選定する。実行部131は、診断部132により2つ以上のECUの異常が検知された場合、ECUとプログラムとの組み合わせごとにあらかじめ定義された優先度によって、ロード部135にロードさせるプログラムを選定する。優先度の定義としては、任意の定義が用いられてよいが、前述したように、本実施の形態ではASILが用いられている。
図7を参照して、共用バックアップECU101内にて動作する共用バックアッププログラムの処理手順を説明する。自動車では、一度エンジンが始動され、電源がオンにされると、共用バックアップECU101のバックアップ対応処理は、エンジン停止による電源断まで継続して実行される。
電源オンにより、バックアップ対応処理が開始されると、ステップS11において、内部情報の初期化処理が実行される。通信部141は、CAN701上のCANメッセージの取得を開始する。
ステップS12において、解析部140は、退避元となる各ECUの現行情報を取り込み、第2記憶部139に保存する。退避元となる各ECUに、常時、現行情報を共用バックアップECU101へ送信してもらうことになるが、メッセージサイズを低減するために、現行情報そのものを圧縮して送信してもらい、共用バックアップECU101で解凍することも可能である。
ステップS13において、診断部132は、解析部140によるCANメッセージの解析の結果から、いずれかのECUで故障が発生したかどうかを確認する。故障が発生していなければ、再びステップS12の処理から、繰り返しループ処理が行われる。診断部132は、受信したCANメッセージの解析の結果から故障の発生を検出するだけではなく、定期的に受信するはずのCANメッセージが到着していない場合も故障の発生として検出する。
故障が発生している場合には、ステップS14において、実行部131は、この共用バックアップECU101が退避先に該当するかどうかを確認する。退避先に該当しなければ、またステップS12の処理から、繰り返しループ処理が行われる。
この共用バックアップECU101が退避先に該当している場合には、ステップS15において、実行部131は、管理テーブル134を参照して退避対象SWCを選定する退避対象SWC選定処理を実行する。ここで、退避対象SWC選定処理の手順を図8に示す。ステップS31において、実行部131は、バックアップ対象のSWCのIDを管理テーブル134から取得する。ステップS32において、実行部131は、バックアップ対象のSWCのIDのうち、ASILが必要レベル以上のものだけを選定する。ステップS33において、実行部131は、選定したバックアップ対象のSWCのIDについて、管理テーブル134内の使用フラグをオンにする。
なお、管理テーブル134の使用フラグの更新は、本来は、他の共用バックアップECU101の管理テーブル134へもCANメッセージ等で伝達する必要があるが、他の共用バックアップECU101も同様に故障検知できていることから、伝達は不要で、更新対応は可能である。
なお、管理テーブル134の使用フラグの更新は、本来は、他の共用バックアップECU101の管理テーブル134へもCANメッセージ等で伝達する必要があるが、他の共用バックアップECU101も同様に故障検知できていることから、伝達は不要で、更新対応は可能である。
ステップS16において、ロード部135は、第1記憶部137から、ステップS15で選定されたSWCのメモリイメージを取得する。ロード部135は、取得したメモリイメージを解凍部136により解凍する。ロード部135は、解凍したメモリイメージをメモリ402上に展開する。
ステップS17において、実行部131は、退避元ECUに接続された切替器を操作して退避元ECUをCAN701から切り離す。具体的には、実行部131は、退避元ECUが制御ECU201であれば、切替器251に対して、切り離しを指示するCANメッセージを通信部141により送信する。実行部131は、退避元ECUが判断ECU301であれば、切替器351に対して、切り離しを指示するCANメッセージを通信部141により送信する。
ステップS18において、実行部131は、ステップS16で展開されたSWCの処理を起動する。このSWCの処理は、バックアップ対応処理のメインループ処理とは独立した別のタスクとして起動される。
展開されたSWCの処理が開始されると、ステップS21において、実行部131は、展開されたSWCのメインループ処理を実行する。
***実施の形態の効果の説明***
本実施の形態では、共用バックアップECU101が、各ECUを動的に代替できる。そのため、1つ1つのECUに対してバックアップユニットを個別に用意しなくても、各ECUの実質的な多重化が可能になる。すなわち、本実施の形態によれば、少ないハードウェアでECUの実質的な多重化が可能になる。
本実施の形態では、共用バックアップECU101が、各ECUを動的に代替できる。そのため、1つ1つのECUに対してバックアップユニットを個別に用意しなくても、各ECUの実質的な多重化が可能になる。すなわち、本実施の形態によれば、少ないハードウェアでECUの実質的な多重化が可能になる。
本実施の形態では、共用バックアップECU101が、実行部131、診断部132、ロード部135、第1記憶部137、第2記憶部139、解析部140および通信部141を備える。通信部141は、ネットワークと接続してメッセージの送受信処理を行う。解析部140は、受信されたメッセージを解析する。診断部132は、メッセージの解析結果から他のECUが故障しているかどうかを判定する。実行部131の第1処理部142は、他の複数のECUのうちどれかの故障が検知された際にバックアップのための代替ソフトウェアコンポーネントを必ずしもすべてではなく継続実行のための必須性レベルから個別に選定して起動する。実行部131の第2処理部143は、故障したECUが接続される切替器に送信される切断指示メッセージを生成して通信部141に渡す。第1記憶部137は、他の複数のECUの代替ソフトウェアコンポーネントの実行メモリイメージを記憶しておく。ロード部135は、実行メモリイメージを実行メモリ上にロードする。
本実施の形態によれば、ECUを多重系にする場合の増加するECUの総数を、バックアップECUの共用化により低減できる。その結果、ハードウェア生産コストおよび消費電力の増大を抑制できる。
本実施の形態では、バックアップ対象のSWCとして、継続運転に必須の重要なものを選定して、共用バックアップECU101上で限定して動作させることができる。そのため、バックアップECUとして必ずしも高性能のECUを採用しなくて済むことから、ハードウェア生産コストおよび消費電力の増大をさらに抑制できる。
ECUを多重系にした場合、2重系であれば、2個のECUの故障で処理が破綻する。3重系であれば、3個のECUの故障で処理が破綻する。しかし、バックアップECUを共用化することで、数多くのバックアップECUを相互で利用することができる。そのため、固定的な多重系ECUよりも連続運転の耐久性が向上する。
ECUを多重系にした場合、ハードウェア構成上、多重にしたECUをまとめて基板上に配置することになる。自動車の局所的な故障により、その多重系ECU基板の温度上昇等での破壊が想定される場合、同時に多重系ECUがすべて破壊される可能性がある。それに比べて、共用バックアップECU101は、離れた基板に分散して配置することが可能であるため、局所的な故障に巻き込まれて全滅することを回避できる。結果として、集中型の多重系ECUの構成よりも、連続運転の耐久性が向上する。
***他の構成***
本実施の形態では、制御システム100は、自動運転システムに相当するが、変形例として、制御システム100は、自動運転システム以外のシステムとして実装されてもよい。特に、制御システム100は、非常に多くのマイクロコンピュータを搭載し、動作処理を電子制御にて行い、ECUの故障への対策が必要であり、多重系の構成が想定される機械装置全般に利用できる。その例として、宇宙ロケット、人工衛星、航空機、電車、船舶、潜水艦、工作機械、工事機械、医用機械およびロボット等がある。
本実施の形態では、制御システム100は、自動運転システムに相当するが、変形例として、制御システム100は、自動運転システム以外のシステムとして実装されてもよい。特に、制御システム100は、非常に多くのマイクロコンピュータを搭載し、動作処理を電子制御にて行い、ECUの故障への対策が必要であり、多重系の構成が想定される機械装置全般に利用できる。その例として、宇宙ロケット、人工衛星、航空機、電車、船舶、潜水艦、工作機械、工事機械、医用機械およびロボット等がある。
本実施の形態では、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能がソフトウェアにより実現されるが、変形例として、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
専用の電子回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、FPGAまたはASICである。「GA」は、Gate Arrayの略語である。「ASIC」は、Application Specific Integrated Circuitの略語である。
プロセッサ401、メモリ402および専用の電子回路を、総称して「プロセッシングサーキットリ」という。つまり、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の機能は、プロセッシングサーキットリにより実現される。
共用バックアップECU101の「ECU」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な媒体」に読み替え、実行部131、診断部132、生成部133、ロード部135、解凍部136および解析部140の「部」を「手順」または「処理」に読み替えてもよい。
実施の形態2.
本実施の形態について、主に実施の形態1との差異を、図9および図10を用いて説明する。
本実施の形態について、主に実施の形態1との差異を、図9および図10を用いて説明する。
実施の形態1では、各ソフトウェアコンポーネントの継続実行の必須度レベルが管理テーブル134に記憶されている。本実施の形態では、この管理テーブル134に各ソフトウェアコンポーネントの実行時のCPU負荷がさらに記憶されている。共用バックアップECU101は、CPU負荷の総容量が上限を超えないように、CPU負荷の算出結果に応じて、複数のECUのソフトウェアコンポーネントから個別のソフトウェアコンポーネントを選定する。
***構成の説明***
本実施の形態に係る制御システム100の構成は、図1および図2に示した実施の形態1のものと同様である。
本実施の形態に係る制御システム100の構成は、図1および図2に示した実施の形態1のものと同様である。
本実施の形態に係る共用バックアップECU101の構成は、図4に示した実施の形態1のものと同様である。
***動作の説明***
SWCの実行CPU負荷をも合わせて管理する管理テーブル134の例を図9に示す。
SWCの実行CPU負荷をも合わせて管理する管理テーブル134の例を図9に示す。
図9の例では、図6の例と比べると、新しくCPU負荷レベルの列が加えられている。CPU負荷が退避可能な共用バックアップECU101のCPU負荷容量を超えないようにCPU負荷の積算が可能である。図9の例では、自動運転用の5つのECUが元々備えられている車載機器システムに、3つの共用バックアップECU101が用意されている。自動運転用の5つのECUとしては、道路状況認知の機能を発揮するECU1、周辺状況認知の機能を発揮するECU2、走行パス生成の機能を発揮するECU3、ステアリング制御の機能を発揮するECU4、および、エンジン制御の機能を発揮するECU5が用意されている。これらのECUの各SWCが退避先の共用バックアップECU101へ振り分けられている。3つの共用バックアップECU101としては、BECU1、BECU2およびBECU3がある。BECU1、BECU2およびBECU3の最大CPU負荷容量は、それぞれ60、40および40であるとする。
CPU負荷の計算の例として、ECU3およびECU4が故障した場合のSWC退避について説明する。ECU3では、SWC31、SWC32およびSWC33が実行されている。ECU4では、SWC41、SWC42およびSWC43が実行されている。ASIL CのSWCとASIL DのSWCとが共用バックアップECU101へ退避されるものとする。該当する退避対象SWCは、SWC31、SWC41およびSWC42の3つとなる。SWC31、SWC41およびSWC42のCPU負荷レベルは、それぞれ40、20および10である。
まず、重要なASIL DのSWC31とSWC41との退避について処理が行われる。退避先の共用バックアップECU101の第1候補は、どちらもBECU1である。BECU1の負荷上限は60となっている。SWC31およびSWC41の負荷合計は60である。よって、SWC31およびSWC41の両者ともBECU1に退避できることになる。BECU1にSWC31およびSWC41のそれぞれが退避したことを示すために、SWC31およびSWC41の使用フラグがチェックされる。これ以降、さらなる故障が発生しても、BECU1は満杯状況で、SWCの追加退避はできないことになる。
次に、SWC42の退避について処理が行われる。退避先の共用バックアップECU101の第1候補は、BECU2である。BECU2の負荷上限は40となっている。SWC42の単独負荷は10である。よって、SWC42は問題なくBECU2に退避できることになる。BECU2にSWC42が退避したことを示すために、SWC42の使用フラグがチェックされる。これ以降、さらなる故障が生じても、BECU2の負荷の余裕として30残存していて、SWCの追加退避がその分だけ可能である。
このように、本実施の形態において、実行部131は、異常ユニットが2つ以上のプログラムを実行するECUである場合、プログラムごとにあらかじめ予測されたプロセッサ401の負荷の大きさによって、ロード部135にロードさせるプログラムを選定する。実行部131は、診断部132により2つ以上のECUの異常が検知された場合、ECUとプログラムとの組み合わせごとにあらかじめ予測されたプロセッサ401の負荷の大きさによって、ロード部135にロードさせるプログラムを選定する。
共用バックアップECU101内にて動作する共用バックアッププログラムの処理手順は、ステップS15の退避対象SWC選定処理を除いて、図7に示した実施の形態1のものと同様である。ここで、退避対象SWC選定処理の手順を図10に示す。ステップS41およびステップS42の処理は、それぞれ図8のステップS31およびステップS32の処理と同じである。ステップS43において、実行部131は、ステップS42で選定したバックアップ対象のSWCのIDのうち、現在のCPU負荷状況から退避可能なものだけを選定する。ステップS44において、実行部131は、ステップS43で選定したバックアップ対象のSWCのIDについて、管理テーブル134内の使用フラグをオンにする。
***実施の形態の効果の説明***
実施の形態1では、退避先の共用バックアップECU101上で実行される退避元ECUのSWCの個数があらかじめ規定されている。SWCの実行CPU負荷は、軽いものから重たいものまで多様に存在する。そのため、本実施の形態では、管理テーブル134でも、SWCの実行CPU負荷が管理される。つまり、CPU負荷がCPU性能の上限値内となるように、実行対象のSWCについてCPU負荷が計算されつつ実行対象のSWCが追加される。そのため、効率よく共用バックアップECU101のCPUを活用できることになる。
実施の形態1では、退避先の共用バックアップECU101上で実行される退避元ECUのSWCの個数があらかじめ規定されている。SWCの実行CPU負荷は、軽いものから重たいものまで多様に存在する。そのため、本実施の形態では、管理テーブル134でも、SWCの実行CPU負荷が管理される。つまり、CPU負荷がCPU性能の上限値内となるように、実行対象のSWCについてCPU負荷が計算されつつ実行対象のSWCが追加される。そのため、効率よく共用バックアップECU101のCPUを活用できることになる。
実施の形態3.
本実施の形態について、主に実施の形態1との差異を、図11から図14を用いて説明する。
本実施の形態について、主に実施の形態1との差異を、図11から図14を用いて説明する。
実施の形態1では、バックアップのための代替ソフトウェアコンポーネントの実行に必要な現行情報がネットワーク上のメッセージとして他の複数のECUから共用バックアップECU101へ送信され、第2記憶部139に記憶される。本実施の形態では、そのような現行情報がネットワーク上のメッセージとして送信されるのではなく、既存のネットワーク送受信処理で送信されるネットワーク上のメッセージの内容が解析され、解析結果を利用して処理の引き継ぎが行われる。具体的には、共用バックアップECU101は、故障ECUの現行情報を持たない状態で、故障ECUのソフトウェアコンポーネントが故障前に出力していた情報から外挿法により故障ECUのソフトウェアコンポーネントがその後出力するはずであった情報を予測する。
バックアップ時の継続処理に必要な故障ECUの状態および学習の情報を、CANメッセージ等で、共用バックアップECU101の独立したメモリ領域に退避させることは、CAN701の通信帯域を消費することにつながる。そのため、本実施の形態では、共用バックアップECU101は、実行中SWCの状態情報を退避領域に定期的に退避せずに、送信される既存のCANメッセージを回収して外挿法にて出力制御値を予測して継続処理を行う。
***構成の説明***
図11を参照して、本実施の形態に係る共用バックアップECU101の構成を説明する。
図11を参照して、本実施の形態に係る共用バックアップECU101の構成を説明する。
共用バックアップECU101は、機能要素として、算出部138をさらに備える。算出部138の機能は、ソフトウェアにより実現される。
***動作の説明***
実施の形態1では、図4に基づいて説明したように、解析部140から診断対象のECUの通常動作時のCANメッセージ情報が第2記憶部139に伝達され、保存される。実施の形態1では、各ECUからSWCの継続実行に必要な内部変数情報がCANメッセージに載せられて、共用バックアップECU101へ送信される。したがって、共用バックアップECU101への退避のためのCANメッセージが追加で送信されることになる。CAN701の通信帯域の消費が増大することになるため、消費量が大きくなりすぎないように、通信負荷の見積りをしておく必要がある。
実施の形態1では、図4に基づいて説明したように、解析部140から診断対象のECUの通常動作時のCANメッセージ情報が第2記憶部139に伝達され、保存される。実施の形態1では、各ECUからSWCの継続実行に必要な内部変数情報がCANメッセージに載せられて、共用バックアップECU101へ送信される。したがって、共用バックアップECU101への退避のためのCANメッセージが追加で送信されることになる。CAN701の通信帯域の消費が増大することになるため、消費量が大きくなりすぎないように、通信負荷の見積りをしておく必要がある。
本実施の形態では、追加のCANメッセージの通信が不要である。基本的に、既存のSWCから送信されているCANメッセージが利用され、共用バックアップECU101内で解析が行われ、退避SWCの出力CANメッセージが生成される際に、外挿法で予測された出力値が算出される。
このように、本実施の形態において、通信部141は、複数のECUがプログラムの実行結果として送信する個別のメッセージをそれら複数のECUから受信する。実行部131は、診断部132により異常が検知される前に通信部141により異常ユニットから受信されたメッセージに基づいて、異常ユニットがプログラムの実行中に使用する状態変数を推定する。実行部131は、推定した状態変数に合わせて、ロード部135によりロードされたプログラムを実行する際に使用する状態変数を設定する。
具体例として、診断部132が、制御ECU201の異常を検知したとする。この場合、実行部131は、診断部132により異常が検知される前に通信部141により制御ECU201から受信されたCANメッセージに示された制御SWC202の出力値から、制御SWC202の状態変数を推定する。実行部131は、推定した状態変数に合わせて、ロード部135によりロードされた制御SWC111の状態変数を設定する。
以下に、具体的な例として、図12に示すような電子制御スロットルシステム150を取り上げる。この電子制御スロットルシステム150は、自動車のアクセルペダルとエンジン153のスロットルとの間を電気的に接続して制御する機構である。アクセルペダルおよびスロットルの出力制御には、基本的な制御パターンがある。そのため、イレギュラーなケースがほとんどなく、計算上の予測が容易である。例えば、図13に示すように、エンジン153の状態として、オーバーベンチュリと呼ばれるものがある。これは、エンジン153が十分な回転数に至らない時点で、スロットルを全開にしても、吸入される空気流の密度が増加することはなく充填効率が悪い状態を指す。このような状態を避けるために、電子制御スロットルシステム150ではスロットルの開度およびエンジン153の回転数等からアクセルを開く際のスロットルの開度を制限するように出力制御値が算出されている。
電子制御スロットルシステム150は、制御システム100と、入力装置となるアクセルペダルセンサ152およびモータセンサ154と、出力装置となるエンジン153とを備える。制御システム100は、制御ECU201として、高性能のECU1を備える。制御システム100は、共用バックアップECU101として、低性能のBECU1を備える。ECU1では、エンジン153の出力を制御する制御SWC202が実行されている。故障時には、BECU1上の、エンジン153の出力を制御する制御SWC111が実行される。外挿法にて予測した出力値を算出する予測SWC157もBECU1上にて実行される。
ECU1の制御SWC202に対するアクセルペダルセンサ152からの入力値Xと、ECU1の制御SWC202に対するモータセンサ154からの入力値Yと、制御SWC202の内部変数情報Sとから、エンジン153への出力値Zを求める算出式fは以下のようになる。
Z=f(X,Y,S)
Z=f(X,Y,S)
BECU1では、ECU1の制御SWC202の継続実行に必要な内部変数情報Sが実施の形態1のようなCANメッセージにより提供されず、未知である。外挿法で出力値Zを予測する算出式gは以下のようになる。
Z=g(X,Y)
Z=g(X,Y)
算出部138は、ECU1の制御SWC202の退避を開始した直後からある一定期間、算出式gを用いてエンジン出力値Zを求める。基本的に、内部変数情報Sは、過去の状態から求められるため、上記の一定期間の後は、内部変数情報Sを新たに推定できるようになり、算出式fでの出力値Zの算出が可能になる。
算出式gとしては、2次曲線または3次曲線等の近似曲線を表す式が使用される。既存の方法を用いて、多項式または微分方程式等により出力値Zを算出することができる。本実施の形態では、算出法そのものは、従来の方法でよいが、退避時の引き継ぎのためにCANメッセージの出力値から引き継ぎ時点の出力値を予測する点が特徴になっている。
図14を参照して、共用バックアップECU101内にて動作する共用バックアッププログラムの処理手順を説明する。
ステップS51の処理は、図7のステップS11の処理と同じである。ステップS53からステップS58の処理は、図7のステップS13からステップS18の処理と同じである。
図7に示した実施の形態1のものとの違いは、主に以下の2点である。
図7のステップS12において、解析部140は、追加のCANメッセージで内部変数情報を含む現行情報を退避元となる各ECUから取得する。この追加のCANメッセージは、共用バックアップECU101宛のメッセージである。一方、ステップS52において、解析部140は、通常のCANメッセージからエンジン153等の機器への出力値を取得する。この通常のCANメッセージは、共用バックアップECU101宛のメッセージではなく、エンジン153等の機器宛のメッセージである。
図7のステップS21において、実行部131は、展開されたSWCのメインループ処理を実行する。このメインループ処理は、退避開始時点にすぐに開始される。一方、本実施の形態では、一定期間、外挿法による出力制御処理が実行され、その後に、展開されたSWCのメインループ処理が開始される。具体的には、ステップS61において、実行部131は、一定期間が経過したかどうかを判定する。一定期間が経過していなければ、ステップS62において、算出部138は、算出式gにより出力値を算出する。実行部131は、算出部138により算出された出力値をエンジン153等の機器へ送信する。一定期間が経過していれば、ステップS62において、実行部131は、展開されたSWCのメインループ処理を実行する。このメインループ処理では、実行部131が、算出式fにより出力値を算出する。実行部131は、算出した出力値をエンジン153等の機器へ送信する。
***実施の形態の効果の説明***
本実施の形態では、バックアップ時に継続処理に必要な故障ECUの状態および学習の情報を、追加のCANメッセージ等で、共有バックアップECU101の独立したメモリ領域に退避するのではなく、元々送信されるCANメッセージが回収されて外挿法にて出力値が予測される。そのため、追加のCANメッセージの通信コストが削減でき、ネットワークの帯域の消費増大を回避できる。
本実施の形態では、バックアップ時に継続処理に必要な故障ECUの状態および学習の情報を、追加のCANメッセージ等で、共有バックアップECU101の独立したメモリ領域に退避するのではなく、元々送信されるCANメッセージが回収されて外挿法にて出力値が予測される。そのため、追加のCANメッセージの通信コストが削減でき、ネットワークの帯域の消費増大を回避できる。
本実施の形態では、元々送信されるCANメッセージを回収して外挿法にて出力制御値を予測して継続処理を行えるようにすることで、バックアップECUが元々存在しないシステム構成にて既存ECUのSWCの改修が不要となる。共用バックアップECU101を追加する開発が外付けで行えるため、開発効率が向上する。
実施の形態4.
本実施の形態について、主に実施の形態1との差異を説明する。
本実施の形態について、主に実施の形態1との差異を説明する。
実施の形態1では、共用バックアップECU101の内蔵CPUのコア数が1つである。この場合には、ハイパーバイザ構成を採用しない限り、複数のOSを実行させることができない。ECUのシングルコアのハードウェア性能からも単一のOSの実行が前提となっている。本実施の形態では、共用バックアップECU101として、マルチコアのCPUを内蔵したマイクロコンピュータ、あるいは、マルチプロセッサを内蔵したマイクロコンピュータが採用される。そのため、AUTOSAR(登録商標)およびLinux(登録商標)等の異なるOSを動作させた場合、それぞれに対応したSWCの継続実行が可能になる。
実施の形態5.
本実施の形態について、主に実施の形態1との差異を説明する。
本実施の形態について、主に実施の形態1との差異を説明する。
実施の形態1では、共用バックアップECU101が1つのネットワーク系統内で共用されている。図示していないが、本実施の形態では、複数のネットワーク系統がゲートウェイにより接続されている。このゲートウェイの位置には、複数のネットワーク系統で共用できる共用バックアップECU101が配置されている。最も通信速度が速いネットワーク系統上に共用バックアップECU101を配置すると、通信効率が向上する。
実施の形態6.
本実施の形態について、主に実施の形態1との差異を説明する。
本実施の形態について、主に実施の形態1との差異を説明する。
一般的に、CANには、数多くのECUが接続されるようになってきており、CAN IDの枯渇が懸念されるようになっている。そこで、本実施の形態では、複数の共用バックアップECU101にCAN IDを個別に割り当てるのではなく、複数の共用バックアップECU101に対して全体で1つのCAN IDが割り当てられる。要するに共用バックアップECU101群は、既存のECU群を監視し、緊急時にバックアップ対応処理を行うため、1つのIDを共用する。バックアップ対応処理が開始されてからは、個々の共用バックアップECU101間での識別を行うために、CAN IDとは異なるローカルなIDがCANメッセージ内にアプリケーション情報として格納される。
このように、本実施の形態において、複数のECUがプログラムの実行結果として送信する個別のメッセージには、ECUによって異なる識別子が送信元アドレスとして含まれる。複数の共用バックアップECU101が実行部131でのプログラムの実行結果として送信する個別のメッセージには、共通の識別子が送信元アドレスとして含まれるとともに、共用バックアップECU101によって異なる識別子が送信データの一部として含まれる。ECUによって異なる識別子、および、共通の識別子としては、任意のアドレス体系のIDが割り当てられてよいが、前述したように、本実施の形態ではCAN IDが割り当てられる。共用バックアップECU101によって異なる識別子としても、任意のアドレス体系のIDが割り当てられてよいが、前述したように、本実施の形態ではCAN IDとは別のローカルなIDが割り当てられる。
実施の形態7.
本実施の形態について、主に実施の形態1との差異を説明する。
本実施の形態について、主に実施の形態1との差異を説明する。
実施の形態1では、各種ECUおよび共用バックアップECU101がCAN701等の車両用の有線ネットワークに接続される。しかし、昨今の自動車のECUの劇的な増加に伴い、一般的にCANのネットワークケーブル配線は非常に込み入ったものとなり、自動車製造上もネットワークケーブル配線が各所で困難になってきている。そこで、本実施の形態では、従来と同じネットワーク通信には、従来と同じ有線ネットワークが使用される一方で、故障時の退避処理という限定した用途には、無線ネットワークが使用される。すなわち、必要な退避用通信処理は、無線ネットワークを介して行われる。
具体的な例として、複数の共用バックアップECU101がまとめて1つのボックスに収納される。そのボックスと、基幹CAN上の無線ゲートウェイとの間で無線通信が行われる。このような構成を採用することで、配線を気にせずに、既存の自動車ネットワークシステムの完成品に共用バックアップECU101用ボックスを後付けで設置することができる。
100 制御システム、101 共用バックアップECU、102 切替機能、103 解析機能、104 ロード機能、105 診断機能、111 制御SWC、114 圧縮イメージ、121 判断SWC、124 圧縮イメージ、131 実行部、132 診断部、133 生成部、134 管理テーブル、135 ロード部、136 解凍部、137 第1記憶部、138 算出部、139 第2記憶部、140 解析部、141 通信部、142 第1処理部、143 第2処理部、144 切替器、150 電子制御スロットルシステム、152 アクセルペダルセンサ、153 エンジン、154 モータセンサ、157 予測SWC、201 制御ECU、202 制御SWC、204 送信機能、211 制御ECU、251 切替器、261 切替器、301 判断ECU、302 判断SWC、304 送信機能、311 判断ECU、351 切替器、361 切替器、401 プロセッサ、402 メモリ、403 CANインタフェース、411 FPGA、501 プロセッサ、502 メモリ、503 CANインタフェース、511 FPGA、601 プロセッサ、602 メモリ、603 CANインタフェース、611 FPGA、701 CAN、711 CAN、805 ASIL D対応OS、815 ASIL C対応OS、825 ASIL B対応OS、834 ASIL D対応OS、844 ASIL D対応OS。
Claims (9)
- 個別の機能を発揮するために機能によって異なるプログラムを実行する複数の電子制御ユニットの異常を診断する診断部と、
複数のプログラムをあらかじめ記憶するメモリから、前記診断部により異常が検知された電子制御ユニットである異常ユニットが実行するプログラムと同じプログラムをロードするロード部と、
前記ロード部によりロードされたプログラムを実行することで、前記異常ユニットの代わりに前記異常ユニットの機能と同じ機能を発揮する実行部と
を備える共用バックアップユニット。 - 前記実行部は、前記異常ユニットが2つ以上のプログラムを実行する電子制御ユニットである場合、プログラムごとにあらかじめ定義された優先度によって、前記ロード部にロードさせるプログラムを選定する請求項1に記載の共用バックアップユニット。
- 前記実行部は、前記診断部により2つ以上の電子制御ユニットの異常が検知された場合、電子制御ユニットとプログラムとの組み合わせごとにあらかじめ定義された優先度によって、前記ロード部にロードさせるプログラムを選定する請求項1または2に記載の共用バックアップユニット。
- 前記実行部は、前記異常ユニットが2つ以上のプログラムを実行する電子制御ユニットである場合、プログラムごとにあらかじめ予測されたプロセッサの負荷の大きさによって、前記ロード部にロードさせるプログラムを選定する請求項1から3のいずれか1項に記載の共用バックアップユニット。
- 前記実行部は、前記診断部により2つ以上の電子制御ユニットの異常が検知された場合、電子制御ユニットとプログラムとの組み合わせごとにあらかじめ予測されたプロセッサの負荷の大きさによって、前記ロード部にロードさせるプログラムを選定する請求項1から4のいずれか1項に記載の共用バックアップユニット。
- 前記複数の電子制御ユニットがプログラムの実行中に使用する状態変数を示す個別のメッセージを前記複数の電子制御ユニットから受信する通信部をさらに備え、
前記実行部は、前記診断部により異常が検知される前に前記通信部により前記異常ユニットから受信されたメッセージに基づいて、前記ロード部によりロードされたプログラムを実行する際に使用する状態変数を設定する請求項1から5のいずれか1項に記載の共用バックアップユニット。 - 前記複数の電子制御ユニットがプログラムの実行結果として送信する個別のメッセージを前記複数の電子制御ユニットから受信する通信部をさらに備え、
前記実行部は、前記診断部により異常が検知される前に前記通信部により前記異常ユニットから受信されたメッセージに基づいて、前記異常ユニットがプログラムの実行中に使用する状態変数を推定し、推定した状態変数に合わせて、前記ロード部によりロードされたプログラムを実行する際に使用する状態変数を設定する請求項1から5のいずれか1項に記載の共用バックアップユニット。 - 請求項1から7のいずれか1項に記載の共用バックアップユニットと、
前記複数の電子制御ユニットと
を備える制御システム。 - それぞれ前記共用バックアップユニットである複数の共用バックアップユニットを備え、
前記複数の電子制御ユニットがプログラムの実行結果として送信する個別のメッセージには、電子制御ユニットによって異なる識別子が送信元アドレスとして含まれ、
前記複数の共用バックアップユニットが前記実行部でのプログラムの実行結果として送信する個別のメッセージには、共通の識別子が送信元アドレスとして含まれるとともに、共用バックアップユニットによって異なる識別子が送信データの一部として含まれる請求項8に記載の制御システム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/470,171 US20190340116A1 (en) | 2017-01-24 | 2017-01-24 | Shared backup unit and control system |
JP2017528595A JP6189004B1 (ja) | 2017-01-24 | 2017-01-24 | 共用バックアップユニットおよび制御システム |
CN201780083630.1A CN110214312A (zh) | 2017-01-24 | 2017-01-24 | 共享备用单元和控制*** |
DE112017006451.1T DE112017006451B4 (de) | 2017-01-24 | 2017-01-24 | Gemeinsam genutzte Backup-Einheit und Steuersystem |
PCT/JP2017/002340 WO2018138775A1 (ja) | 2017-01-24 | 2017-01-24 | 共用バックアップユニットおよび制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/002340 WO2018138775A1 (ja) | 2017-01-24 | 2017-01-24 | 共用バックアップユニットおよび制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018138775A1 true WO2018138775A1 (ja) | 2018-08-02 |
Family
ID=59720427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/002340 WO2018138775A1 (ja) | 2017-01-24 | 2017-01-24 | 共用バックアップユニットおよび制御システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190340116A1 (ja) |
JP (1) | JP6189004B1 (ja) |
CN (1) | CN110214312A (ja) |
DE (1) | DE112017006451B4 (ja) |
WO (1) | WO2018138775A1 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111891134A (zh) * | 2019-05-06 | 2020-11-06 | 北京百度网讯科技有限公司 | 自动驾驶处理***和片上***、监测处理模块的方法 |
WO2020261519A1 (ja) * | 2019-06-27 | 2020-12-30 | 三菱電機株式会社 | 電子制御ユニット及びプログラム |
WO2021002164A1 (en) * | 2019-07-02 | 2021-01-07 | Hitachi Automotive Systems, Ltd. | Method and control system for operating ecus of vehicles in fails-safe mode |
CN113365879A (zh) * | 2018-11-06 | 2021-09-07 | 株式会社自动网络技术研究所 | 程序更新***及更新处理程序 |
WO2022163392A1 (ja) * | 2021-01-27 | 2022-08-04 | 株式会社オートネットワーク技術研究所 | 車載装置、及び状態変化検出方法 |
EP3898373A4 (en) * | 2018-12-19 | 2023-01-11 | Zoox, Inc. | SAFE SYSTEM OPERATION USING LATENCY DETERMINATIONS AND CPU UTILIZATION DETERMINATIONS |
WO2024062898A1 (ja) * | 2022-09-22 | 2024-03-28 | 株式会社アドヴィックス | 制動制御装置及びソフトウェア更新方法 |
US11994858B2 (en) | 2018-12-19 | 2024-05-28 | Zoox, Inc. | Safe system operation using CPU usage information |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6719433B2 (ja) * | 2017-09-22 | 2020-07-08 | 株式会社日立製作所 | 移動体の制御システムおよび移動体の制御方法 |
JP6753388B2 (ja) | 2017-11-13 | 2020-09-09 | 株式会社デンソー | 自動運転制御装置、車両の自動運転制御方法 |
US11003153B2 (en) * | 2017-11-17 | 2021-05-11 | Intel Corporation | Safety operation configuration for computer assisted vehicle |
DE112018006016T5 (de) * | 2017-12-25 | 2020-10-29 | Hitachi Automotive Systems, Ltd. | Fahrzeugsteuervorrichtung und elektronisches Steuersystem |
US11066080B2 (en) | 2017-12-25 | 2021-07-20 | Hitachi Automotive Systems, Ltd. | Vehicle control device and electronic control system |
JP2021067960A (ja) * | 2018-02-14 | 2021-04-30 | 日立Astemo株式会社 | 車両監視システム |
JP7010087B2 (ja) * | 2018-03-16 | 2022-01-26 | トヨタ自動車株式会社 | プログラム更新管理装置、プログラム更新管理方法、およびプログラム |
JP6922852B2 (ja) * | 2018-06-12 | 2021-08-18 | 株式会社デンソー | 電子制御装置および電子制御システム |
JP7048439B2 (ja) | 2018-07-03 | 2022-04-05 | 本田技研工業株式会社 | 制御装置、制御ユニット、制御方法、およびプログラム |
DE102019104948A1 (de) * | 2019-02-27 | 2020-08-27 | Zf Active Safety Gmbh | Kommunikationssystem und Verfahren zur Kommunikation für ein Kraftfahrzeug |
JP7211487B2 (ja) * | 2019-03-13 | 2023-01-24 | 日本電気株式会社 | 車両制御システム、車両の制御方法及び車両の制御プログラム |
JP6779354B1 (ja) * | 2019-10-30 | 2020-11-04 | 三菱電機株式会社 | 制御通信システム |
CN113556373B (zh) * | 2020-04-26 | 2023-06-02 | 华为技术有限公司 | 一种代理服务方法、装置及*** |
JP7496756B2 (ja) * | 2020-10-16 | 2024-06-07 | 株式会社日立製作所 | 制御システム及びその制御方法 |
CN114596716A (zh) * | 2020-11-19 | 2022-06-07 | 常州江苏大学工程技术研究院 | 基于云计算平台的悬架道路工况识别***及控制方法 |
CN113905101B (zh) * | 2021-12-06 | 2022-02-25 | 北京数字小鸟科技有限公司 | 多控制核心备份的视频处理设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001022708A (ja) * | 1999-07-05 | 2001-01-26 | Mitsubishi Electric Corp | 車両用ネットワークシステム |
JP2002221075A (ja) * | 2001-01-25 | 2002-08-09 | Denso Corp | 車両統合制御におけるフェイルセーフシステム |
JP2003115847A (ja) * | 2001-10-09 | 2003-04-18 | Denso Corp | 制御システム及び冗長系信号処理装置 |
JP2004318498A (ja) * | 2003-04-16 | 2004-11-11 | Toyota Central Res & Dev Lab Inc | フェールセーフ装置 |
JP2010285001A (ja) * | 2009-06-09 | 2010-12-24 | Toyota Motor Corp | 電子制御システム、機能代行方法 |
JP2011213210A (ja) * | 2010-03-31 | 2011-10-27 | Denso Corp | 電子制御装置及び制御システム |
JP2015082825A (ja) * | 2013-10-24 | 2015-04-27 | トヨタ自動車株式会社 | 通信制御装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4410661B2 (ja) * | 2004-11-09 | 2010-02-03 | 株式会社日立製作所 | 分散制御システム |
JP4920391B2 (ja) | 2006-01-06 | 2012-04-18 | 株式会社日立製作所 | 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム |
JP5966181B2 (ja) | 2012-05-01 | 2016-08-10 | 株式会社日立製作所 | 二重化装置および電源停止方法 |
JP2016071771A (ja) | 2014-10-01 | 2016-05-09 | 株式会社デンソー | 制御装置及び監視装置 |
-
2017
- 2017-01-24 DE DE112017006451.1T patent/DE112017006451B4/de not_active Expired - Fee Related
- 2017-01-24 WO PCT/JP2017/002340 patent/WO2018138775A1/ja active Application Filing
- 2017-01-24 CN CN201780083630.1A patent/CN110214312A/zh not_active Withdrawn
- 2017-01-24 JP JP2017528595A patent/JP6189004B1/ja not_active Expired - Fee Related
- 2017-01-24 US US16/470,171 patent/US20190340116A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001022708A (ja) * | 1999-07-05 | 2001-01-26 | Mitsubishi Electric Corp | 車両用ネットワークシステム |
JP2002221075A (ja) * | 2001-01-25 | 2002-08-09 | Denso Corp | 車両統合制御におけるフェイルセーフシステム |
JP2003115847A (ja) * | 2001-10-09 | 2003-04-18 | Denso Corp | 制御システム及び冗長系信号処理装置 |
JP2004318498A (ja) * | 2003-04-16 | 2004-11-11 | Toyota Central Res & Dev Lab Inc | フェールセーフ装置 |
JP2010285001A (ja) * | 2009-06-09 | 2010-12-24 | Toyota Motor Corp | 電子制御システム、機能代行方法 |
JP2011213210A (ja) * | 2010-03-31 | 2011-10-27 | Denso Corp | 電子制御装置及び制御システム |
JP2015082825A (ja) * | 2013-10-24 | 2015-04-27 | トヨタ自動車株式会社 | 通信制御装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113365879A (zh) * | 2018-11-06 | 2021-09-07 | 株式会社自动网络技术研究所 | 程序更新***及更新处理程序 |
EP3898373A4 (en) * | 2018-12-19 | 2023-01-11 | Zoox, Inc. | SAFE SYSTEM OPERATION USING LATENCY DETERMINATIONS AND CPU UTILIZATION DETERMINATIONS |
US11994858B2 (en) | 2018-12-19 | 2024-05-28 | Zoox, Inc. | Safe system operation using CPU usage information |
CN111891134A (zh) * | 2019-05-06 | 2020-11-06 | 北京百度网讯科技有限公司 | 自动驾驶处理***和片上***、监测处理模块的方法 |
WO2020261519A1 (ja) * | 2019-06-27 | 2020-12-30 | 三菱電機株式会社 | 電子制御ユニット及びプログラム |
JPWO2020261519A1 (ja) * | 2019-06-27 | 2021-11-18 | 三菱電機株式会社 | 電子制御ユニット及びプログラム |
WO2021002164A1 (en) * | 2019-07-02 | 2021-01-07 | Hitachi Automotive Systems, Ltd. | Method and control system for operating ecus of vehicles in fails-safe mode |
WO2022163392A1 (ja) * | 2021-01-27 | 2022-08-04 | 株式会社オートネットワーク技術研究所 | 車載装置、及び状態変化検出方法 |
WO2024062898A1 (ja) * | 2022-09-22 | 2024-03-28 | 株式会社アドヴィックス | 制動制御装置及びソフトウェア更新方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190340116A1 (en) | 2019-11-07 |
DE112017006451B4 (de) | 2020-07-16 |
JPWO2018138775A1 (ja) | 2019-02-14 |
JP6189004B1 (ja) | 2017-08-30 |
DE112017006451T5 (de) | 2019-09-12 |
CN110214312A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6189004B1 (ja) | 共用バックアップユニットおよび制御システム | |
US8452465B1 (en) | Systems and methods for ECU task reconfiguration | |
CN112004730B (zh) | 车辆控制装置 | |
CN109804355B (zh) | 软件更新装置、软件更新方法、软件更新*** | |
EP3249534B1 (en) | Vehicle control device | |
JP2006316638A (ja) | メインリレー故障診断方法及び電子制御装置 | |
JP2005199951A (ja) | 車両の制御システムの異常検知装置 | |
JP2010285001A (ja) | 電子制御システム、機能代行方法 | |
KR101960400B1 (ko) | 제동 시스템 | |
WO2021002164A1 (en) | Method and control system for operating ecus of vehicles in fails-safe mode | |
JP2016060413A (ja) | 車両用電子制御装置及び制御方法 | |
CN115826393A (zh) | 一种飞控***的双余度管理方法及装置 | |
JP2009509839A (ja) | 技術的装置のための通信システム、とりわけ自動車用の通信システム | |
CN110533947A (zh) | 交通工具的控制***、方法、电子设备和计算机存储介质 | |
CN113147776A (zh) | 车辆用热备份故障处理***、方法及采用其的车辆 | |
WO2020075435A1 (ja) | 車両用描画装置 | |
JP2016055673A (ja) | 故障診断装置、および電子制御装置 | |
JP7095240B2 (ja) | 電子制御装置 | |
JP4039291B2 (ja) | 車両用制御装置 | |
JP6681304B2 (ja) | 自動車用制御装置及び自動車用内燃機関制御装置 | |
JP5223512B2 (ja) | 車両用異常解析システム、車両用異常解析方法、及び車両用故障解析装置 | |
US20200278897A1 (en) | Method and apparatus to provide an improved fail-safe system | |
CN114691225A (zh) | 用于车载冗余***的切换方法、***、车辆和存储介质 | |
CN112739578B (zh) | 辅助电源和用于提供辅助电力的方法 | |
JP2018119866A (ja) | 車載故障診断システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2017528595 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17893568 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17893568 Country of ref document: EP Kind code of ref document: A1 |