WO2017212152A1 - Circuit de détection de défaillances systématiques et aléatoires - Google Patents
Circuit de détection de défaillances systématiques et aléatoires Download PDFInfo
- Publication number
- WO2017212152A1 WO2017212152A1 PCT/FR2017/051398 FR2017051398W WO2017212152A1 WO 2017212152 A1 WO2017212152 A1 WO 2017212152A1 FR 2017051398 W FR2017051398 W FR 2017051398W WO 2017212152 A1 WO2017212152 A1 WO 2017212152A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- microcontroller
- value
- supervision
- comparison
- predetermined
- Prior art date
Links
- 230000009897 systematic effect Effects 0.000 title abstract description 7
- 238000004891 communication Methods 0.000 claims abstract description 34
- 238000001514 detection method Methods 0.000 claims abstract description 28
- 230000001360 synchronised effect Effects 0.000 claims abstract description 6
- 230000004044 response Effects 0.000 claims description 31
- 238000005259 measurement Methods 0.000 claims description 24
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000008878 coupling Effects 0.000 abstract description 2
- 238000010168 coupling process Methods 0.000 abstract description 2
- 238000005859 coupling reaction Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 29
- 230000007246 mechanism Effects 0.000 description 8
- 108091022873 acetoacetate decarboxylase Proteins 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000009849 deactivation Effects 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 101710096655 Probable acetoacetate decarboxylase 1 Proteins 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1637—Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
-
- 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/0721—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 within a central processing unit [CPU]
- G06F11/0724—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 within a central processing unit [CPU] in a multiprocessor or a multi-core unit
-
- 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
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- 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/0793—Remedial or corrective actions
-
- 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/0796—Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
Definitions
- the invention relates to the field of the automobile and more particularly to a failure detection circuit for an electronic computer.
- the invention also relates to an electronic calculator comprising the detection circuit.
- EP 2,685,379 A1 does not contemplate the configuration in which the main microcontroller comprises at least two microcontroller cores which are arranged to execute in parallel the same instructions.
- the systematic failures can not be detected by the supervisory microcontroller, because the two cores of the main microcontroller will execute the same software code and thus produce the same results.
- the supervision microcontroller can not therefore deduce any failure related to the execution of the software on the basis of the identical results produced by the two microcontroller cores.
- ADCs analog-to-digital converters
- a fault detection circuit of a main microcontroller comprising at least two microcontroller cores which are arranged to execute in parallel the same instructions.
- a first aspect of the invention provides a fault detection circuit for an automotive electronic computer.
- the circuit includes:
- a main microcontroller comprising,
- microcontroller cores configured to execute the same instructions in parallel
- At least a first software module providing a critical function of a motor vehicle comprising a predetermined entry point and a predetermined exit point
- a synchronous communication interface for coupling the main microcontroller and the supervision microcontroller so as to allow mutual supervision.
- the supervision microcontroller is configured to supply the main microcontroller with a first initialization value and a second initialization value
- the main microcontroller is configured to, in response to the execution of the first software module:
- the supervision microcontroller is provided with comparison means for making a first comparison between the first result value and a first predetermined result value of the predetermined calculation so that the supervision microcontroller can detect a failure of the main microcontroller in response to the first comparison.
- the predetermined calculation is a polynomial calculation of at least the second order. This is to ensure that both microcontroller cores are able to perform correct calculations.
- the main microcontroller comprises a second software module providing a critical function of the motor vehicle, the second software module comprising a predetermined entry point and a predetermined exit point, the main microcontroller is further configured to, in response to the execution the second software module:
- the comparison means of the supervision microcontroller are further configured to perform a second comparison between the second result value and a second predetermined result value of the predetermined calculation so that the supervision microcontroller can detect a failure of the main microcontroller in response at the second comparison.
- the supervision microcontroller is provided with means for measuring a time which has elapsed between the supply to the main microcontroller of the first and second initialization values and the reception of a result value, and
- the comparison means of the supervision microcontroller are further configured to perform a third comparison between the GO and RETURN time and a predetermined RETURN time, so that the supervision microcontroller can detect a failure of the main microcontroller in response to the third comparison.
- the main microcontroller is provided with means for measuring a running period of one or more software modules of the main microcontroller, and the comparison means of the supervision microcontroller are further configured to perform a fourth comparison between the main microcontroller measuring the execution period transmitted to the supervision microcontroller and a predetermined execution period, so that the supervision microcontroller can detect a failure of the main microcontroller in response to the fourth comparison.
- the main microcontroller and the supervision microcontroller each independently comprise an operating clock
- the supervision microcontroller is further provided with clock generating means for generating an operating clock of the communication interface from the operating clock and a predetermined operating clock value, and
- the main microcontroller is further provided with:
- the main microcontroller is further provided with means for periodically generating an initialization signal indicative of the initialization of a communication via the communication interface from a predetermined value of periodicity, and
- the supervision microcontroller is further provided with means for measuring the periodicity of the initialization signal, the comparison means of the supervision microcontroller are further configured to make a sixth comparison between a measurement of the periodicity of the reception of the signal initialization by the measuring means and the predetermined value of periodicity, so that the supervision microcontroller can detect a failure of the main microcontroller in response to the sixth comparison.
- the main microcontroller comprises a first power supply unit and the supervision microcontroller comprises a second power supply unit, the first and second power supply units are physically independent of one another,
- the main microcontroller and the supervision microcontroller each independently comprise voltage measuring means,
- the main microcontroller is coupled to the second power supply unit and the comparison means of the main microcontroller are further configured to perform a seventh comparison between a measurement of the operating voltage of the second power supply unit by the measurement means. and a first predetermined operating voltage range, so that the main microcontroller can detect failure of the supervisory microcontroller in response to the seventh comparison, and
- the supervision microcontroller is coupled to the first power supply unit and the comparison means of the supervision microcontroller are further configured to make an eighth comparison between a measurement of the operating voltage of the first power supply unit by the means and a second predetermined operating voltage range, so that the supervisory microcontroller can detect a failure of the primary microcontroller in response to the eighth comparison.
- An actuator interface is coupled to the main microcontroller and the supervision microcontroller, the actuator interface is configured to send an actuation signal to an actuator intended to be connected to the detection circuit,
- the main microcontroller and the supervision microcontroller each comprise, independently, an analog / digital converter configured to receive the same actuation signal, and
- the comparison means of the supervision microcontroller are further configured to perform a ninth comparison between the digital conversion values obtained from the analog / digital converter of the main microcontroller and the digital conversion value of the analog / digital converter of the supervision microcontroller, so that the supervision microcontroller can detect a failure of the main microcontroller in response to the ninth comparison.
- the invention also relates to an electronic control unit or ECU for "Engine Control Unit” in English, provided for the detection of failures of at least one critical function of a motor vehicle.
- the electronic control module comprises a circuit according to the first aspect coupled to a sensor and an actuator of the critical function of the vehicle.
- FIG. 1 is a schematic representation of a fault detection circuit for an automotive electronic computer according to the invention
- FIG. 2 is a flowchart of an embodiment according to the invention.
- FIG. 3 is a schematic representation of a part of the circuit of FIG. 1 showing a clock control mechanism according to one embodiment of the invention
- FIG. 4 is a schematic representation of a portion of the circuit of FIG. 1 showing a power control mechanism
- FIG. 5 is a schematic representation of a portion of the circuit of FIG. 1 showing a data exchange mechanism between the main microcontroller and the secondary microcontroller, incorporating, in particular, a transmission control mechanism.
- FIG. 1 schematically represents a fault detection circuit 100, according to the invention, for an electronic computer (not shown) of a motor vehicle (not shown).
- the circuit 100 comprises at least one main microcontroller 1 10, a supervision microcontroller 120 and a communication interface 130.
- the main microcontroller 1 10 comprises two microcontroller cores 1 1 1 and 1 12, configured to run in parallel, software instructions supplied to the main microcontroller 1 10. More precisely, in operation, the same instruction is executed in parallel by the two cores However, it is also envisaged the use of three, four, five or more microcontroller cores without this necessitating a profound modification of the operation of the invention.
- the main microcontroller 1 10 also comprises at least one software module 1 13 for ensuring the implementation of a critical function of the motor vehicle. In the remainder of this description, it will be necessary to understand the use of the expression "critical function" as designating a function of a motor vehicle whose failure can cause bodily injury to the driver of the vehicle.
- ABS anti-lock braking system
- EPS power steering calculation system
- ABS anti-lock braking system
- EPS power steering calculation system
- a critical function must be understood as being able not only to be implemented totally by software, but also partly by software and partly by one or more electronic and / or mechanical elements of the circuit 100.
- one or more critical functions can be implemented by the same software module, such as the software module 1 13.
- the software module 1 13 comprises a predetermined entry point Pin and a predetermined exit point Sout.
- these points must be located in the source code of the software module 1 13, such as milestones, so that one can determine, respectively, a start of execution and an end of execution of the software module 1 13
- the predetermined entry point Pin of the software module 1 13 may be located at a function executed by a periodic task
- the predetermined exit point Sout may be at a function executed by another periodic task or by another subset of the software module 1 13.
- a periodic task can be executed by the operating system of the main microcontroller 1 10.
- the supervision microcontroller 120 may have a configuration different from that of the main microcontroller 1 10.
- the supervision microcontroller 120 comprises a single microcontroller core (not shown).
- the main microcontroller 1 10 and the supervision microcontroller 120 may have the same technical characteristics.
- the supervision microcontroller 120 is provided with comparison means 129 of at least two values.
- the supervision microcontroller 120 includes a memory 128 for storing one or more values.
- the supervision microcontroller 120 has the knowledge of the scheduling of the execution of a plurality of software modules of the main microcontroller 1 10.
- the supervision microcontroller 120 knows the recurrence and the order in which each of the software modules of the main microcontroller 1 10 is to be executed.
- the communication interface 130 is synchronous and is arranged to couple the main microcontroller 1 10 and the supervision microcontroller 120 so as to allow mutual supervision.
- the communication interface 130 may be a serial communication bus according to one of the following standards: I2C (in English "Inter Integrated Circuit"), RS232 or SPI ("Serial Peripheral Interface"). Nevertheless, other communication interfaces having a synchronous aspect can also be envisaged.
- FIG. 2 diagrammatically represents a flowchart of an embodiment according to the invention.
- step S400 the supervision microcontroller 120 provides the main microcontroller 1 10, via the communication interface 130, a first initialization value InitA and a second initialization value InitB.
- a first initialization value InitA and a second initialization value InitB are integers previously stored in the memory 128.
- these initialization values have a value between 0 and 255.
- the initialization values are modified according to a predetermined periodicity.
- Step S410 is performed when the software module 13 is executed to implement one or more corresponding critical functions.
- the main microcontroller 1 10 determines an input point value Input [0] at the predetermined input point Pin of the software module 1 13, from the first initialization value InitA and a start execution value K1.
- This start-of-execution value K1 makes it possible to determine whether the predetermined entry point Pin of the software module has been crossed when this software module is executed.
- the start execution value K1 is predetermined and known to the supervision microcontroller 120 and the main microcontroller 1 10.
- the start of execution value K1 is a constant value while in another implementation , she is a value specific to each software module executable by the main microcontroller 1 10.
- the input point value Input [0] is equal to the sum of the first initialization value InitA, and the value of start of execution K1.
- Other formulas for determining the entry point value Input [0] are conceivable insofar as the formula used is known to the supervision microcontroller 120 and the main microcontroller 1 10.
- the main microcontroller 1 10 determines an output point value Output [0] at the predetermined output point Sout of the software module 1 13, from the second initialization value InitB and a K2 completion value.
- the end of execution value K2 makes it possible to determine whether the predetermined exit point Sout of the software module has been crossed when this software module is executed.
- the end-of-execution value K2 is predetermined and known to the supervision microcontroller 120 and the main microcontroller 1 10.
- the end-of-execution value K2 may have a constant value or a constant value. value specific to each software module executable by the main microcontroller 1 10.
- the output point value Output [0] is equal to the sum between the square of the end value K2 and the second value initialization initB.
- other formulas for determining the output point value Output [0] are conceivable insofar as the formula used is known to the supervision microcontroller 120 and the main microcontroller 1 10.
- step S420 the main microcontroller 1 determines a result value RESULT [0] of a predetermined calculation from the input point value Input [0] and the output point value Output [0]. ].
- the result value RESULT [0] is equal to the sum between the input point value Input [0] and the square of the output point value Output [0].
- the predetermined calculation is a polynomial calculation of at least the second order.
- the main microcontroller 1 10 provides the supervisory microcontroller 120 the result value RESULT [0] via the communication interface 130.
- the supervision microcontroller 120 compares the result value RESULT [0] with a predetermined result value RESULT [0] * of the predetermined calculation, by comparison means 129.
- the predetermined result value RESULT [0] * can be calculated on the fly by the supervisory microcontroller 120 from the initialization values, the execution values, and the knowledge of the scheduling of the software modules executed by the main microcontroller 1 10. Furthermore, the predetermined result value RESULT [0] * may have been previously calculated and then stored in the memory 128.
- the supervision microcontroller 120 is able to detect a failure of the main microcontroller 1 10. Indeed, as the supervision microcontroller 120 knows all the parameters to obtain the result value RESULT [ 0], it can therefore determine if the result obtained corresponds to the expected result. Thus, if the result value RESULT [0] is different from the predetermined result value RESULT [0] * , then the supervision microcontroller 120 can deduce that at least one failure has occurred at the level of the main microcontroller 1 10. On the other hand, if the result value RESULT [0] is equal to the predetermined result value RESULT [0] * , then the supervision microcontroller 120 can deduce that no failure has occurred at the level of the microcontroller main 1 10.
- the mechanism according to the invention makes it possible to verify that the execution cycle of a software module of the main microcontroller 1 10 has been respected, since the result value RESULT [0] is obtained by making a link between the beginning and the end the execution of the software modules.
- the software module 1 13 has not started its execution then the start execution value K1 will not be used to determine the input point value Input [0 ] thus causing an erroneous value of the result constituted by the result value RESULT [0]. It will be the same if the software module 1 13 has not started its execution because the end value of execution K2 will not be used to determine the output point value Output [0].
- the software module 1 13 is executed more than once (for example twice instead of once) this will also result in an erroneous value of the result consisting of the result value RESULT [0] because the values K1 execution start and / or K2 completion will be taken into account several times to determine the Input [0] and Output point [0] input point values, respectively. In this way, systematic failures can be detected. It is also possible to detect common fault failures on microcontroller cores 1 1 1 and 1 12 as computing units. Indeed, the complexity of the predetermined calculation of the result value ensures that microcontroller cores 1 1 1 and 1 12 are able to perform correct calculations.
- the execution of a critical function by the main microcontroller 1 10 can implement implement devices intrinsic to the main microcontroller 1 10 such as the automatic memory transfer mechanism (in English DMA - "Direct Memory Access”), the interrupt manager (in English "Interrupt Controller”) or the event manager temporal (in English "Timer”).
- the failure of at least one of these devices may cause an erroneous result of the result value RESULT [0].
- performing the predetermined calculation also makes it possible to detect the failure of these peripherals by the supervision microcontroller 120.
- the deduction of the presence of at least one failure at the main microcontroller 1 10 mainly allows to identify a failure but not necessarily its source.
- monitored automotive functions are critical functions, it is first important to be able to detect the presence of as many failures as possible before the source can be identified.
- knowing that a critical function of a motor vehicle is faulty makes it possible to take adequate safety measures as quickly as possible.
- the supervision microcontroller 120 can detect a failure of the main microcontroller 1 10 when the latter does not provide the result value RESULT [0] in a predetermined time.
- the supervision microcontroller 120 is provided with means (not shown) for measuring a time which has elapsed between the supply to the main microcontroller 1 10 of the first and second initialization values InitA and InitB and receiving the result value RESULT [0]. This elapsed time is referred to as "round-trip time".
- the comparison means 129 of the supervision microcontroller 120 make it possible to deduce a failure of the main microcontroller 1 10 when the "round-trip time" measured by the supervision microcontroller 120 is different from a "round-trip time". known predetermined from the supervisory microcontroller 120 or is not included in a predetermined time interval around the predetermined "round trip time".
- the predetermined "round trip time" is stored in the memory 128 of the supervision microcontroller 120.
- the main microcontroller 1 10 is provided with means (not shown) for measuring the execution period of the software module 1 13, that is to say the time required to execute the software module 1 13.
- the measurement of the execution period is sent to the supervision microcontroller 120 via the communication interface 130.
- the microcontroller of FIG. 120 is able to detect a failure of the main microcontroller 1 10 when the measured execution period of the software module 1 13 is different from a predetermined period of execution of the software module 1 13 known to the supervisory microcontroller 120 or is not included in a predetermined time interval around the predetermined period of execution.
- the predetermined execution period is stored in the memory 128 of the supervision microcontroller 120.
- the predetermined "round trip time" and the predetermined period of execution of the software module 1 13 may have were determined during the test phases of the circuit 100.
- the main microcontroller 1 10 comprises a plurality of software modules.
- each of the software modules of the plurality of software modules provides a critical function of the motor vehicle.
- the execution of the plurality of software modules is performed sequentially.
- the software modules of the plurality of software modules are "chained" so that the execution of a second software module follows the end of the execution of a first software module of the plurality of software modules. software modules.
- the main microcontroller 1 10 comprises a second software module 1 14 in addition to the software module 1 13.
- step S430 the main microcontroller 1 10 determines an input point value Input [1] at the predetermined input point Pin of the software module 1 14, from the value entry point entry [0] and start execution value K1. Then, the main microcontroller 1 10 determines an output point value Output [1] at the predetermined output point Sout of the software module 1 14, from the output point value Output [0] and the value of end of execution K2. Subsequently, still in step S430, the main microcontroller 1 10 determines a result value RESULT [1] of a predetermined calculation from the input point value Input [1] and the point value Output output [1].
- the determination of input point values Input [1], output point output [1] and result RESULT [1] is similar to the determination of input point values Input [0], output point Output [0] and result RESULT [0], as explained above.
- the result value RESULT [1] is sent by the main microcontroller 1 10 to the supervision microcontroller 120, via the communication interface 130, in order to be compared with the predetermined result value RESULT [1]. ] * , so that a failure of the main microcontroller 1 10 can be detected.
- only the result value RESULT [1] is sent to the supervision microcontroller 120. In this case, only the final value of the predetermined calculation will be considered to detect a failure of the main microcontroller 1 10.
- the result values RESULT [0] and RESULT [1] are sent to the supervisory microcontroller 120.
- the value of result RESULT [0] is considered an intermediate value of the predetermined calculation that can help identify the location of occurrence of a given failure.
- the supervision microcontroller 120 can deduce that the execution of the software module 1 13 has occurred without error.
- the result value RESULT [0] is different from the expected result value RESULT [0] * , then the supervision microcontroller 120 can deduce that the failure occurred during the execution of the software module 1 13.
- the supervision microcontroller 120 is further configured to send to the main microcontroller 1 10 a resetting signal of the main microcontroller 1 10, in response to the detection of a failure of the microcontroller. main microcontroller 1 10, and to try to reboot the main microcontroller 1 10 or the (s) software modules (s) causing the failure.
- the supervision microcontroller 120 is further configured to impede the rebooting of the main microcontroller 1 10, in response to the detection of a predetermined number of microcontroller failures. main 1 10, and this for a predetermined period.
- the critical function provided by the software module 1 13 is no longer guaranteed.
- a plurality of failures of the main microcontroller 1 10 detected in a limited time interval means that the critical function provided by the software module running can not find a normal operating mode. In this case, it is not necessary to attempt to reboot the main microcontroller 1 10.
- Figure 3 schematically shows a portion of the circuit 100 according to one embodiment of the invention.
- the microcontroller main 1 10 and the supervision microcontroller 120 each independently comprise an operating clock 1 15, 125.
- the main microcontroller 1 10 is also provided with means (not shown) for measuring clock to measure the operating clock of the communication interface 130.
- the supervision microcontroller 120 is provided with clock generation means 121 for generating an operating clock of the communication interface 130 from the operating clock 125 of the microcontroller 120, and a predetermined value of operating clock horl * known to the main microcontroller 1 10 and the supervision microcontroller 120.
- the predetermined operating clock value horl * to the level of the main microcontroller 1 10, is generated from a clock 1 15 external to the main microcontroller 1 10.
- the hor external box 1 15 of the main microcontroller 1 10 comprises an external oscillator coupled to a phase locked loop PLL, itself coupled to two DIV frequency dividers.
- the predetermined value of clock operating horl * is stored in the memory 128.
- the main microcontroller 1 10 is provided with comparison means 1 19 to make a comparison between a measurement of the operating clock of the communication interface 130 and the predetermined clock operating value horl * .
- the result of the comparison allows the main microcontroller 1 10 to detect a failure of the supervisory microcontroller 120 in its ability to reliably generate an operating clock. Indeed, if the measurement of the operating clock of the communication interface is different from the predetermined operating clock value or is not included in a predetermined interval comprising the predetermined operating clock value, can deduce that the clock management mechanisms of the supervision microcontroller 120 are faulty.
- the main microcontroller 1 10 is provided with means (not shown) for periodically generating an initialization signal Sp indicative of the initialization of a communication via the communication interface 130, and this from a predetermined value of known frequency Sinit * of the supervisory microcontroller 120 and the main microcontroller 1 10.
- the initialization signal Sp is configured to be sent periodically by the main microcontroller 1 10 to supervision microcontroller 120.
- the periodic initialization signal Sp is generated from the clock of
- the supervision microcontroller 120 is provided with means (not shown) for measuring the periodicity of a signal for measuring the periodicity of the reception of the initialization signal Sp.
- the means for comparison 129 of the supervision microcontroller 120 are also configured to make a comparison between the measurement of the periodicity of the reception of the initialization signal and the predetermined value of periodicity Sinit * .
- the result of the comparison allows the supervisory microcontroller 120 to detect a failure of the primary microcontroller 1 10 in its ability to periodically generate a signal.
- the main microcontroller 1 10 and the supervision microcontroller 120 each comprise, independently of one another, a power supply unit 1 17, 127.
- the main microcontroller 1 10 is coupled to the power supply unit 127 of the supervision microcontroller 120, and the supervision microcontroller 120 is the power supply unit 1 17 of the main microcontroller 1 10.
- the main microcontroller 1 10 and the supervision microcontroller 120 each independently comprise voltage measurement means (not shown) for measuring the voltage of a power supply unit.
- the comparing means 1 19 of the main microcontroller 1 10 are also configured to make a comparison between a measurement of the operating voltage of the power supply unit 127 and a predetermined operating voltage range V 1 * of the power supply unit. 127.
- the comparison means 129 of the supervision microcontroller 120 are also configured to make a comparison between a measurement of the operating voltage of the power supply unit 17 and a predetermined voltage range. V2 * of operation of the supply unit 1 17. in this arrangement, the voltage V1 * predetermined range of operation of the power supply unit 127 is known by the main microcontroller 1 10 and may be stored in the memory 1 18.
- the predetermined operating voltage range V 2 * of the power supply unit 1 17 is known to the supervisory microcontroller 120 and can In this arrangement, the results of the comparisons allow the main microcontroller 1 10 and the supervisory microcontroller 120 to mutually detect a failure of the power supply unit of the other microcontroller. In particular, it is possible for a microcontroller to detect the undervoltages and overvoltages of the power supply unit under surveillance.
- FIG. 4 schematically shows a portion of the circuit 100 which relates to the previous embodiment.
- the supervision microcontroller 120 measures a supply voltage Vcc_1 10 of the supply unit 1 17
- the voltage measurement Vcc_1 10 is compared with the predetermined operating voltage range V2 * of the power supply unit 1 17 (area shown in light gray in FIG. 4).
- the predetermined operating voltage range V2 * of the power supply unit 1 17 area shown in light gray in FIG. 4
- a failure of the power supply unit 1 17 will be detected by the supervision microcontroller 120 if the voltage measurement Vcc_1 10 is in outside the predetermined operating voltage range V2 * of the power supply unit 1 17.
- the arrangement of FIG. 4 can be completed to detect an undervoltage of the power supply unit 1 17.
- the knowledge of this information can be interesting because the voltage Vcc_1 10 can be used to power a device PERIPH of the main microcontroller 1 10. It is therefore interesting to detect an undervoltage of the power supply unit 1 17 di
- a low voltage muting module of known type (in English LVI for "Low Voltage Inhibit" at the level of the microcontroller. Undervoltage can be detected when the voltage measurement Vcc_1 10 is below the predetermined operating voltage range V2 * of the power supply unit 1 17.
- an actuator interface 140 which is coupled to the main microcontroller 1 10 and to the supervision microcontroller 120.
- the actuator interface 140 is configured to send an actuation signal to an actuator 300.
- the actuator 300 is configured to be coupled to the circuit 100.
- the actuator 300 is a trip actuator of the ABS system.
- the actuation signal can be generated in response to receiving, via a sensor interface 150, a measurement of a collision sensor 200.
- the main microcontroller 1 10 and the supervisory microcontroller 120 each independently comprises an analog-to-digital converter (ADC) 1 16, 126. Each ADC 1 16, 126 is configured to receive and convert the same analog actuation signal from the actuator interface.
- ADC analog-to-digital converter
- the comparison means 129 of the supervision microcontroller 120 are further configured to perform a comparison of the same physical signal between the digital conversion value of the ADC 1 16 of the main microcontroller 1 10 and the digital conversion value of the ADC 126 of the supervision microcontroller 120.
- the digital conversion value of the ADC 116 of the supervision microcontroller 120 is sent to the main crocontroller 1 10 via the communication interface 130.
- the result of the comparison allows the main microcontroller 1 10 to detect a failure of the ADC 1 16 of the main microcontroller 1 10 or the ADC 126 of the supervision microcontroller 120.
- the comparison means 1 19 of the main microcontroller 1 10 are further configured to make a comparison between the digital conversion value of the ADC 126 of the supervision microcontroller 120 and the digital conversion value of the ADC. 1 16 of the main microcontroller. Subsequently, a failure of at least one of the ADCs can be deduced from the comparison of the measurements collected by the main microcontroller 1 10, as explained above about the supervisory microcontroller 120.
- a switch unit 160 which is coupled between the actuator interface 140 and the actuator 300.
- the switch unit 160 is configured to alternate between a first state in which the actuator interface 140 can communicate with the actuator 300 and a second state in which the actuator interface 140 can not communicate with the actuator 300.
- the microcontroller main circuit 1 10 is configured to send a deactivation signal of circuit 100 to switch unit 160, in response to the detection of a failure of supervisory microcontroller 120.
- supervisory microcontroller 120 is configured to send another deactivation signal of the circuit 100 to the switch unit 160, in response to the detection of a failure of the main microcontroller 1 10.
- the unit of int switch 160 is configured to switch from the first state to the second state in response to receiving a deactivation signal.
- Figure 5 shows schematically a portion of the circuit 100 according to one embodiment of the invention.
- a frame of data Tx_1 sent by the main microcontroller 1 10 and a data frame Tx_120 sent by the supervision microcontroller 120 The frames Tx_1 10 and Tx_120 of the example of FIG. FIG. 5 is transmitted via the communication interface 130.
- the main microcontroller 1 10 and the supervision microcontroller 120 each comprise means (not represented) for formatting of frames of the data to be sent on the communication interface 130.
- the means for shaping frames are adapted to form data frames to be sent on the communication interface 130, but also to extract data from the frames received via the communication interface 130.
- Each of the frame shaping means is further configured to, in response to receiving a frame, inserting a frame identifier in the frame to be sent. This flag insertion depends on a frame identifier contained in the last received frame.
- the comparison means 1 19 of the main microcontroller 1 10 are further configured to make a comparison between the identifier of the last frame sent by the supervision microcontroller 120 in response to a frame sent by the main microcontroller 1 10. , and the identifier of the frame transmitted by the main microcontroller 1 10.
- the comparison means 129 of the supervision microcontroller 120 are configured in the same way to make a comparison between the identifier of the frame transmitted by the main microcontroller 1 10 in response to a frame sent by the supervision microcontroller 120, and the identifier of the frame sent by the supervision microcontroller 120.
- FIG. 5 shows the identifier ID 0 of the frame Tx_120 and the identifier IDi of the frame Tx_1.
- the identifier ID 0 corresponds to a numerical value incremented by 1 by the main microcontroller 1 10 at each frame transmission while the identifier IDi corresponds to a numerical value incremented by 1 by the supervision microcontroller 120 at each frame transmission.
- the identifiers ID 0 and ID i are synchronized so that the microcontroller receiving an identifier of a frame can verify that this identifier is linked to the identifier generated by this same microcontroller during the transmission of the previous frame . This principle ensures that no frame is "lost" and that the two microcontrollers are able to communicate with each other.
- the frame Tx_120 comprises the initialization values InitA and initB and the frame tx_1 10 comprises the result RESULT [0] of the polynomial calculation carried out by the two cores 1 1 1 and 1 12 of the main microcontroller 1 10, as described above.
- the Tx_1 10 and Tx_120 frames may also include an ERR indication of the detection of a failure.
- a cyclic redundancy check CRC can be included in each frame Tx_1 10 and Tx_120 to verify that the integrity of the frame during the transmission has been respected.
- the invention has many advantages. Indeed, thanks to the set of mechanisms presented above, it is possible to detect the failures of a microcontroller with double cores, and this, in order to comply with the ISO 26 262 standard.
- an automobile electronic calculator for the detection of failures of at least one critical function of a motor vehicle and which comprises a detection circuit as described above, among the various embodiments of the invention. invention alone or in combination.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
Un circuit (100) de détection de défaillances pour un calculateur électronique automobile, comprenant : · un microcontrôleur principal (110) ayant, – au moins deux cœurs (111, 112) de microcontrôleur configurés pour exécuter les mêmes instructions en parallèle, et – au moins un premier module logiciel (113) assurant une fonction critique d'un véhicule automobile, le premier module logiciel comprenant un point d'entrée prédéterminé (Pin) et un point de sortie prédéterminé (Sout) · un microcontrôleur de supervision (120) et · une interface de communication (130) synchrone pour coupler le microcontrôleur principal (110) et le microcontrôleur de supervision (120) de manière à permettre une supervision mutuelle. Le circuit de détection permet de détecter les défaillances systématiques et aléatoires.
Description
Circuit de détection de défaillances systématiques et aléatoires
L'invention concerne le domaine de l'automobile et plus particulièrement un circuit de détection de défaillance pour un calculateur électronique.
L'invention porte également sur un calculateur électronique comprenant le circuit de détection.
Le développement de calculateurs électroniques dans le domaine automobile doit considérer de nombreuses contraintes de sécurité fonctionnelle telles que celles fixées par le standard ISO 26 262.
Dans le cadre de ce standard, il est notamment requis de pouvoir détecter les défaillances dites systématiques (en anglais « systematic failures ») qui sont liées aux erreurs de développement des modules logiciels des calculateurs (par exemple, blocage dans l'exécution d'une fonction, écrasement d'une partie d'un espace mémoire).
Les exigences de ce standard s'appliquent particulièrement aux calculateurs électroniques impliqués dans la mise en œuvre de fonctions dites critiques d'un véhicule automobile telles que les fonctions ABS, ESP, EPS, EPB ou Airbag.
Pour répondre à ces exigences, la demande de brevet EP 2 685 379 A1 propose d'intégrer dans les calculateurs électroniques un microcontrôleur principal et un microcontrôleur de supervision qui sont adaptés pour se superviser mutuellement via une interface de communication de type bus. Cet agencement permet de détecter de nombreuses défaillances des fonctions critiques d'un véhicule automobile.
Toutefois, le document EP 2 685 379 A1 n'envisage pas la configuration dans laquelle le microcontrôleur principal comprend au moins deux cœurs de microcontrôleur qui sont agencés pour exécuter en parallèle les mêmes instructions.
Dans ce cas de figure, les défaillances systématiques ne peuvent être détectées par le microcontrôleur de supervision, car les deux cœurs du microcontrôleur principal vont exécuter le même code de logiciel et donc produire les mêmes résultats. Le microcontrôleur de supervision ne peut donc pas déduire de défaillance liée à l'exécution du logiciel sur la base des résultats identiques produits par les deux cœurs de microcontrôleurs.
En outre, les défaillances aléatoires dites « communes » ne peuvent pas non plus être détectées par le microcontrôleur de supervision. Les défaillances aléatoires communes proviennent d'une panne commune à au moins deux éléments redondants du calculateur électronique, tels que les cœurs de microcontrôleur, les alimentations ou les horloges. Par exemple, lorsque le microcontrôleur principal comprend deux périphériques tels que des convertisseurs analogique/numérique (ci-après dénommés ADC), la détection d'une défaillance des ADC peut être déduite de la comparaison des résultats produits par chacun des ADC. Or, généralement, les deux ADC, tout comme les deux
cœurs, possèdent la même alimentation, sont alimentés par la même horloge, et font souvent partie du même boîtier. Il peut alors arriver qu'une panne commune aux deux ADC, ou aux deux cœurs, puisse se produire de sorte que les résultats des ADC ne sont pas exploitables pour détecter une éventuelle défaillance. En effet, il peut tout à fait se produire une défaillance due à une panne d'alimentation et/ou de l'horloge ou une panne résultant d'une décharge électrostatique (ESD) du boîtier comprenant les ADC et les coeurs. Le microcontrôleur de supervision ne peut donc pas déduire de défaillance aléatoire commune sur la base des résultats produits par les deux périphériques.
Ceci n'est pas acceptable pour l'application considérée, car de nombreuses défaillances critiques ne sont pas détectées.
Pour cela, il est proposé un circuit de détection des défaillances d'un microcontrôleur principal comprenant au moins deux cœurs de microcontrôleur qui sont agencés pour exécuter en parallèle les mêmes instructions.
A cet effet, un premier aspect de l'invention propose un circuit de détection de défaillances pour un calculateur électronique automobile. Le circuit comprend :
• un microcontrôleur principal comprenant,
- au moins deux cœurs de microcontrôleur configurés pour exécuter les mêmes instructions en parallèle, et
- au moins un premier module logiciel assurant une fonction critique d'un véhicule automobile, le premier module logiciel comprenant un point d'entrée prédéterminé et un point de sortie prédéterminé,
• un microcontrôleur de supervision, et
• une interface de communication synchrone pour coupler le microcontrôleur principal et le microcontrôleur de supervision de manière à permettre une supervision mutuelle.
En outre, le circuit est remarquable en ce que :
• le microcontrôleur de supervision est configuré pour fournir au microcontrôleur principal une première valeur d'initialisation et une deuxième valeur d'initialisation ;
• le microcontrôleur principal est configuré pour, en réponse à l'exécution du premier module logiciel :
- déterminer une première valeur de point d'entrée au niveau du point d'entrée prédéterminé du premier module logiciel, à partir de la première valeur d'initialisation et d'une valeur de début d'exécution indicative d'un début d'exécution d'un module logiciel du microcontrôleur principal;
- déterminer une première valeur de point de sortie au niveau du point de sortie prédéterminé du premier module logiciel, à partir de la deuxième
valeur d'initialisation et d'une valeur de fin d'exécution et indicative d'une fin d'exécution d'un module logiciel du microcontrôleur principal ;
- déterminer une première valeur de résultat d'un calcul prédéterminé à partir de la première valeur de point d'entrée et de la première valeur de point de sortie ; et
- fournir au microcontrôleur de supervision la première valeur de résultat.
• le microcontrôleur de supervision est muni de moyens de comparaison pour réaliser une première comparaison entre la première valeur de résultat et une première valeur de résultat prédéterminée du calcul prédéterminé de sorte que le microcontrôleur de supervision puisse détecter une défaillance du microcontrôleur principal en réponse à la première comparaison.
Ceci a l'avantage de pouvoir détecter les défaillances systématiques et aléatoires d'un microcontrôleur à double cœurs, et ce, afin d'être conforme au standard ISO 26 262.
Dans une première mise en œuvre, le calcul prédéterminé est un calcul polynomial au moins du deuxième ordre. Ceci afin de s'assurer que les deux cœurs de microcontrôleur sont en capacité de réaliser des calculs corrects.
Dans une deuxième mise en œuvre :
• le microcontrôleur principal comprend un deuxième module logiciel assurant une fonction critique du véhicule automobile, le deuxième module logiciel comprenant un point d'entrée prédéterminé et un point de sortie prédéterminé, le microcontrôleur principal est en outre configuré pour, en réponse à l'exécution du deuxième module logiciel :
- déterminer une deuxième valeur de point d'entrée au niveau du point d'entrée prédéterminé du deuxième module logiciel, à partir de la première valeur de point d'entrée et de la valeur de début d'exécution,
- déterminer une deuxième valeur de point de sortie au niveau du point de sortie prédéterminé du deuxième module logiciel, à partir de la première valeur de point de sortie et de la valeur de fin d'exécution,
- déterminer une deuxième valeur de résultat du calcul prédéterminé à partir de la deuxième valeur de point d'entrée et de la deuxième valeur de point de sortie, et
- fournir au microcontrôleur de supervision la deuxième valeur de résultat.
• les moyens de comparaison du microcontrôleur de supervision sont en outre configurés pour réaliser une deuxième comparaison entre la deuxième valeur de résultat et une deuxième valeur de résultat prédéterminée du calcul prédéterminé de sorte que le microcontrôleur de supervision puisse détecter une défaillance du microcontrôleur principal en réponse à la deuxième comparaison.
Cette mise en œuvre permet de détecter une défaillance dans l'exécution d'une chaîne de fonctions critiques.
Dans une troisième mise en œuvre :
• le microcontrôleur de supervision est muni de moyens de mesure d'un temps qui s'est écoulé entre la fourniture au microcontrôleur principal des premières et deuxièmes valeurs d'initialisation et la réception d'une valeur de résultat, et
• les moyens de comparaison du microcontrôleur de supervision sont en outre configurés pour réaliser une troisième comparaison entre le temps ALLER- RETOUR et un temps ALLER-RETOUR prédéterminé, de sorte que le microcontrôleur de supervision puisse détecter une défaillance du microcontrôleur principal en réponse à la troisième comparaison.
Dans une quatrième mise en œuvre :
• le microcontrôleur principal est muni de moyens de mesure d'une période d'exécution d'un ou de plusieurs modules logiciels du microcontrôleur principal, et · les moyens de comparaison du microcontrôleur de supervision sont en outre configurés pour réaliser une quatrième comparaison entre la mesure de la période d'exécution transmise au microcontrôleur de supervision et une période d'exécution prédéterminée, de sorte que le microcontrôleur de supervision puisse détecter une défaillance du microcontrôleur principal en réponse à la quatrième comparaison.
Dans une cinquième mise en œuvre :
• le microcontrôleur principal et le microcontrôleur de supervision comprennent, chacun indépendamment, une horloge de fonctionnement,
• le microcontrôleur de supervision est en outre muni de moyens de génération d'horloge pour générer une horloge de fonctionnement de l'interface de communication à partir de l'horloge de fonctionnement et d'une valeur prédéterminée d'horloge de fonctionnement, et
• le microcontrôleur principal est en outre muni :
- de moyens de mesure de l'horloge de l'interface de communication, et - de moyens de comparaison pour réaliser une cinquième comparaison entre une mesure de l'horloge de fonctionnement de l'interface de communication par les moyens de mesure et la valeur prédéterminée d'horloge de fonctionnement, de sorte que le microcontrôleur principal puisse détecter une défaillance du microcontrôleur de supervision en réponse à la cinquième comparaison.
Dans une sixième mise en œuvre :
• le microcontrôleur principal est en outre muni de moyens pour générer périodiquement un signal d'initialisation indicatif de l'initialisation d'une communication via l'interface de communication à partir d'une valeur prédéterminée de périodicité, et
« le microcontrôleur de supervision est en outre muni de moyens de mesure de la périodicité du signal d'initialisation, les moyens de comparaison du microcontrôleur de supervision sont en outre configurés pour réaliser une sixième comparaison entre une mesure de la périodicité de la réception du signal d'initialisation par les moyens de mesure et la valeur prédéterminée de périodicité, de sorte que le microcontrôleur de supervision puisse détecter une défaillance du microcontrôleur principal en réponse à la sixième comparaison.
Dans une septième mise en œuvre :
• le microcontrôleur principal comprend une première unité d'alimentation et le microcontrôleur de supervision comprend une deuxième unité d'alimentation, la première et la deuxième unité d'alimentation sont physiquement indépendantes l'une de l'autre,
• le microcontrôleur principal et le microcontrôleur de supervision comprennent, chacun indépendamment, des moyens de mesure de tension,
• le microcontrôleur principal est couplé à la deuxième unité d'alimentation et les moyens de comparaison du microcontrôleur principal sont en outre configurés pour réaliser une septième comparaison entre une mesure de la tension de fonctionnement de la deuxième unité d'alimentation par les moyens de mesure et une première plage prédéterminée de tension de fonctionnement, de sorte que le microcontrôleur principal puisse détecter une défaillance du microcontrôleur de supervision en réponse à la septième comparaison, et
• le microcontrôleur de supervision est couplé à la première unité d'alimentation et les moyens de comparaison du microcontrôleur de supervision sont en outre configurés pour réaliser une huitième comparaison entre une mesure de la tension de fonctionnement de la première unité d'alimentation par les moyens de mesure et une deuxième plage prédéterminée de tension de fonctionnement, de sorte que le microcontrôleur de supervision puisse détecter une défaillance du microcontrôleur principal en réponse à la huitième comparaison.
Dans une huitième mise en œuvre :
• une interface d'actuateur est couplée au microcontrôleur principal et au microcontrôleur de supervision, l'interface d'actuateur est configurée pour envoyer un signal d'actuation à un actuateur prévu pour être connecté au circuit de détection,
• le microcontrôleur principal et le microcontrôleur de supervision comprennent, chacun indépendamment, un convertisseur analogique/numérique configuré pour recevoir le même signal d'actuation, et
· les moyens de comparaison du microcontrôleur de supervision sont en outre configurés pour réaliser une neuvième comparaison entre les valeurs de conversion numérique obtenues du convertisseur analogique/numérique du microcontrôleur principal et la valeur de conversion numérique du convertisseur analogique/numérique du microcontrôleur de supervision, de sorte que le microcontrôleur de supervision puisse détecter une défaillance du microcontrôleur principal en réponse à la neuvième comparaison.
Dans un second aspect, l'invention concerne également un module de commande électronique ou ECU pour « Engine Control Unit » en anglais, prévu pour la détection de défaillances d'au moins une fonction critique d'un véhicule automobile. Le module de commande électronique comprend un circuit selon le premier aspect couplé à un capteur et à un actuateur de la fonction critique du véhicule.
D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels :
- la figure 1 est une représentation schématique d'un circuit de détection de défaillance pour un calculateur électronique automobile selon l'invention,
- la figure 2 est un ordinogramme d'un mode de réalisation selon l'invention,
- la figure 3 est une représentation schématique d'une partie du circuit de la figure 1 montrant un mécanisme de contrôle d'horloge selon un mode de réalisation de l'invention,
- la figure 4 est une représentation schématique d'une partie du circuit de la figure 1 montrant un mécanisme de contrôle d'alimentation, et
- la figure 5 est une représentation schématique d'une partie du circuit de la figure 1 montrant un mécanisme d'échange de données entre le microcontrôleur principal et le microcontrôleur secondaire, incorporant, notamment, un mécanisme de contrôle de transmission.
Dans ces figures, des références identiques ou similaires d'une figure à une autre désignent des éléments identiques ou analogues. Pour des raisons de clarté, les éléments représentés ne sont pas à l'échelle les uns par rapport aux autres, sauf mention contraire.
La figure 1 représente schématiquement un circuit 100 de détection de défaillance, selon l'invention, pour un calculateur électronique (non représenté) d'un véhicule automobile (non représenté).
Tel qu'illustré par la figure 1 , le circuit 100 comprend au moins un microcontrôleur principal 1 10, un microcontrôleur de supervision 120 et une interface de communication 130.
Le microcontrôleur principal 1 10 comprend deux cœurs de microcontrôleur 1 1 1 et 1 12, configurés pour exécuter en parallèle, des instructions logicielles fournies au microcontrôleur principal 1 10. Plus précisément, en opération, une même instruction est exécutée en parallèle par les deux cœurs de microcontrôleur 1 1 1 et 1 12. Toutefois, il est également envisagé l'utilisation de trois, quatre, cinq ou plus de cœurs de microcontrôleur sans que cela ne nécessite une modification profonde du fonctionnement de l'invention. Le microcontrôleur principal 1 10 comprend également au moins un module logiciel 1 13 permettant d'assurer la mise en œuvre d'une fonction critique du véhicule automobile. Dans la suite de cette description, il faudra comprendre l'usage de l'expression « fonction critique » comme désignant une fonction d'un véhicule automobile dont la défaillance peut causer des dommages corporels au conducteur du véhicule. Par exemple, le système antiblocage des roues (ABS) et le système de calcul de direction assistée (EPS) sont considérés comme des fonctions critiques du véhicule automobile qui peuvent être mises en œuvre, entièrement ou pour partie via un logiciel. En effet, une fonction critique doit être comprise comme pouvant non seulement être mise en œuvre totalement par logiciel, mais également pour partie par logiciel et pour partie par un ou plusieurs éléments électroniques et/ou mécaniques du circuit 100. Toutefois, on notera qu'une ou plusieurs fonctions critiques peuvent être mises en œuvre par le même module logiciel, tel que le module logiciel 1 13.
Le module logiciel 1 13 comprend un point d'entrée prédéterminé Pin et un point de sortie prédéterminé Sout. De manière générale, ces points doivent être situés dans le code source du module logiciel 1 13, tels des jalons, de sorte que l'on peut déterminer, respectivement, un début d'exécution et une fin d'exécution du module logiciel 1 13. Par exemple, le point d'entrée prédéterminé Pin du module logiciel 1 13 peut se situer au niveau d'une fonction exécutée par une tâche périodique, alors que le point de sortie prédéterminé Sout peut se situer au niveau d'une fonction exécutée par une autre tâche périodique ou par un autre sous-ensemble du module logiciel 1 13. Dans cet exemple, une tâche périodique peut être exécutée par le système d'exploitation du microcontrôleur principal 1 10.
Le microcontrôleur de supervision 120 peut avoir une configuration différente de celle du microcontrôleur principal 1 10. Par exemple, dans une mise en œuvre
particulière, le microcontrôleur de supervision 120 comprend un seul cœur de microcontrôleur (non représenté). Toutefois, selon les besoins, le microcontrôleur principal 1 10 et le microcontrôleur de supervision 120 peuvent avoir les mêmes caractéristiques techniques. En outre, le microcontrôleur de supervision 120 est muni de moyens de comparaison 129 d'au moins deux valeurs. Enfin, le microcontrôleur de supervision 120 comprend une mémoire 128 pour stocker une ou plusieurs valeurs. Dans le cadre de l'invention, le microcontrôleur de supervision 120 a la connaissance de l'ordonnancement de l'exécution d'une pluralité de modules logiciels du microcontrôleur principal 1 10. Ainsi, le microcontrôleur de supervision 120 connaît la récurrence et l'ordre dans lequel chacun des modules logiciels du microcontrôleur principal 1 10 doit être exécuté.
L'interface de communication 130 est synchrone et est agencée pour coupler le microcontrôleur principal 1 10 et le microcontrôleur de supervision 120 de manière à permettre une supervision mutuelle. Par exemple, l'interface de communication 130 peut être un bus de communication série selon l'un des standards suivants : I2C (en anglais « Inter Integrated Circuit »), RS232 ou SPI (en anglais « Sériai Peripheral Interface »). Néanmoins, d'autres interfaces de communication présentant un aspect synchrone peuvent également être envisagées.
La figure 2 représente schématiquement un ordinogramme d'un mode de réalisation selon l'invention.
À l'étape S400, le microcontrôleur de supervision 120 fournit au microcontrôleur principal 1 10, via l'interface de communication 130, une première valeur d'initialisation InitA et une deuxième valeur d'initialisation InitB. Par exemple, ce sont des nombres entiers préalablement stockés dans la mémoire 128. Dans une mise en œuvre particulière, ces valeurs d'initialisation possèdent une valeur comprise entre 0 et 255. Dans une autre mise en œuvre particulière, les valeurs d'initialisation sont modifiées selon une périodicité prédéterminée.
L'étape S410 est réalisée lorsque le module logiciel 1 13 est exécuté pour mettre entre œuvre une ou plusieurs fonctions critiques correspondantes. Dans ce cadre, le microcontrôleur principal 1 10 détermine une valeur de point d'entrée Entree[0] au niveau du point d'entrée prédéterminé Pin du module logiciel 1 13, à partir de la première valeur d'initialisation InitA et d'une valeur de début d'exécution K1 . Cette valeur de début d'exécution K1 permet de déterminer si le point d'entrée prédéterminé Pin du module logiciel a été franchi lorsque ce module logiciel est exécuté. La valeur de début d'exécution K1 est prédéterminée et connue du microcontrôleur de supervision 120 et du microcontrôleur principal 1 10. Dans une mise en œuvre, la valeur de début d'exécution K1 est une valeur constante tandis que dans une autre mise en œuvre, elle
est une valeur spécifique à chaque module logiciel exécutable par le microcontrôleur principal 1 10. Dans un exemple, la valeur de point d'entrée Entree[0] est égale à la somme de la première valeur d'initialisation InitA, et de la valeur de début d'exécution K1 . Toutefois, d'autres formules de détermination de la valeur de point d'entrée Entree[0] sont envisageables dans la mesure où la formule utilisée est connue du microcontrôleur de supervision 120 et du microcontrôleur principal 1 10.
Ensuite, toujours à l'étape S410, le microcontrôleur principal 1 10 détermine une valeur de point de sortie Sortie[0] au niveau du point de sortie prédéterminé Sout du module logiciel 1 13, à partir de la deuxième valeur d'initialisation InitB et d'une valeur de fin d'exécution K2. La valeur de fin d'exécution K2 permet de déterminer si le point de sortie prédéterminé Sout, du module logiciel a été franchi lorsque ce module logiciel est exécuté. La valeur de fin d'exécution K2 est prédéterminée et connue du microcontrôleur de supervision 120 et du microcontrôleur principal 1 10. Comme pour la valeur de début d'exécution K1 , la valeur de fin d'exécution K2 peut avoir une valeur constante ou une valeur spécifique à chaque module logiciel exécutable par le microcontrôleur principal 1 10. Dans un exemple, la valeur de point de sortie Sortie[0] est égale à la somme entre le carré de la valeur de fin d'exécution K2 et de la deuxième valeur d'initialisation initB. Toutefois, d'autres formules de détermination de la valeur de point de sortie Sortie[0] sont envisageables dans la mesure où la formule utilisée est connue du microcontrôleur de supervision 120 et du microcontrôleur principal 1 10.
À l'étape S420, le microcontrôleur principal 1 10 détermine une valeur de résultat RESULT[0] d'un calcul prédéterminé à partir de la valeur de point d'entrée Entree[0] et de la valeur de point de sortie Sortie[0]. Dans un exemple, la valeur de résultat RESULT[0] est égale à la somme entre la valeur de point d'entrée Entree[0] et le carré de la valeur de point de sortie Sortie[0]. Toutefois, d'autres formules de détermination de la valeur de résultat RESULT[0] sont envisageables dans la mesure où la formule utilisée du calcul prédéterminé est connue du microcontrôleur de supervision 120 et du microcontrôleur principal 1 10. Par exemple, dans une mise en œuvre particulière, le calcul prédéterminé est un calcul polynomial au moins du deuxième ordre. Ensuite, toujours à l'étape S420, le microcontrôleur principal 1 10 fournit au microcontrôleur de supervision 120 la valeur de résultat RESULT[0] via l'interface de communication 130.
Enfin, toujours à l'étape S420, le microcontrôleur de supervision 120 compare la valeur de résultat RESULT[0] à une valeur de résultat prédéterminé RESULT[0]* du calcul prédéterminé, grâce aux moyens de comparaison 129. La valeur de résultat prédéterminé RESULT[0]* peut être calculée à la volée par le microcontrôleur de supervision 120 à partir des valeurs d'initialisation, des valeurs d'exécution, et de la
connaissance de l'ordonnancement des modules logiciels exécutés par le microcontrôleur principal 1 10. Par ailleurs, la valeur de résultat prédéterminé RESULT[0]* peut avoir été calculée préalablement puis stockée dans la mémoire 128.
À partir du résultat de la comparaison, le microcontrôleur de supervision 120 est capable de détecter une défaillance du microcontrôleur principal 1 10. En effet, comme le microcontrôleur de supervision 120 connaît l'ensemble des paramètres permettant d'obtenir la valeur de résultat RESULT[0], il peut donc déterminer si le résultat obtenu correspond au résultat escompté. Ainsi, si la valeur de résultat RESULT[0] est différente de la valeur de résultat prédéterminé RESULT[0]*, alors le microcontrôleur de supervision 120 peut en déduire qu'au moins une défaillance s'est produite au niveau du microcontrôleur principal 1 10. A contrario, si la valeur de résultat RESULT[0] est égale à la valeur de résultat prédéterminé RESULT[0]*, alors le microcontrôleur de supervision 120 peut en déduire qu'aucune défaillance ne s'est produite au niveau du microcontrôleur principal 1 10.
Le mécanisme selon l'invention permet de vérifier que le cycle d'exécution d'un module logiciel du microcontrôleur principal 1 10 a été respecté, car la valeur de résultat RESULT[0] est obtenue en faisant un lien entre le début et la fin de l'exécution des modules logiciels. En effet, selon l'exemple de la figure 2, si le module logiciel 1 13 n'a pas débuté son exécution alors la valeur de début d'exécution K1 ne sera pas utilisée pour déterminer la valeur de point d'entrée Entree[0] entraînant ainsi une valeur erronée du résultat constitué par la valeur de résultat RESULT[0]. Il en sera de même si le module logiciel 1 13 n'a pas débuté son exécution car la valeur de fin d'exécution K2 ne sera pas utilisée pour déterminer la valeur de point de sortie Sortie[0]. En outre, si le module logiciel 1 13 est exécuté plus de fois que prévu (par exemple deux fois au lieu d'une seule fois) cela entraînera également une valeur erronée du résultat constitué par la valeur de résultat RESULT[0] car les valeurs de début d'exécution K1 et/ou de fin d'exécution K2 seront prises en compte plusieurs fois pour déterminer les valeurs de point d'entrée Entree[0] et de point de sortie Sortie[0], respectivement. De cette manière, les défaillances systématiques peuvent être détectées. Il est également possible de détecter des défaillances de fautes communes sur les cœurs de microcontrôleur 1 1 1 et 1 12 en tant qu'unités de calcul. En effet, la complexité du calcul prédéterminé de la valeur de résultat permet de s'assurer que les cœurs de microcontrôleur 1 1 1 et 1 12 sont en capacité de réaliser des calculs corrects. En effet, s'il se produit une défaillance commune au niveau des cœurs de microcontrôleur 1 1 1 et 1 12 (par exemple si les cœurs de microcontrôleur proviennent d'une même série de fabrication défaillante), on obtiendra une valeur erronée de la valeur de résultat RESULT[0]. En outre, on peut noter que l'exécution d'une fonction critique par le microcontrôleur principal 1 10 peut mettre en
œuvre des périphériques intrinsèques au microcontrôleur principal 1 10 tels que le mécanisme de transfert automatique de mémoire (en anglais DMA - « Direct Memory Access »), le gestionnaire d'interruption (en anglais "Interrupt Controller") ou encore le gestionnaire d'événements temporels (en anglais « Timer »). La défaillance d'au moins un de ces périphériques peut provoquer un résultat erroné de la valeur de résultat RESULT[0]. Ainsi, la réalisation du calcul prédéterminé permet également la détection de la défaillance de ces périphériques par le microcontrôleur de supervision 120.
On notera que la déduction de la présence d'au moins une défaillance au niveau du microcontrôleur principal 1 10 permet principalement d'identifier une défaillance mais pas nécessairement sa source. Toutefois, comme les fonctions automobiles surveillées sont des fonctions critiques, il est d'abord important de pouvoir détecter la présence du plus grand nombre de défaillances possibles avant de pouvoir en identifier la source. Ainsi, savoir qu'une fonction critique d'un véhicule automobile est défaillante permet de prendre des dispositions de sécurité adéquates le plus rapidement possible.
Dans une mise en œuvre particulière, le microcontrôleur de supervision 120 peut détecter une défaillance du microcontrôleur principal 1 10 lorsque ce dernier ne fournit pas la valeur de résultat RESULT[0] dans un temps prédéterminé. Dans cette mise en œuvre, le microcontrôleur de supervision 120 est muni de moyens (non représentés) de mesure d'un temps qui s'est écoulé entre la fourniture au microcontrôleur principal 1 10 des première et deuxième valeurs d'initialisation InitA et InitB et la réception de la valeur de résultat RESULT[0]. On appellera ci-après ce temps écoulé, le « temps aller-retour ». Avec cet agencement, les moyens de comparaison 129 du microcontrôleur de supervision 120 permettent de déduire une défaillance du microcontrôleur principal 1 10 lorsque le « temps aller-retour » mesuré par le microcontrôleur de supervision 120 est différent d'un « temps aller-retour » prédéterminé connu du microcontrôleur de supervision 120 ou n'est pas compris dans un intervalle de temps prédéterminé autour du « temps aller-retour » prédéterminé. Dans un exemple, le « temps aller-retour » prédéterminé est stocké dans la mémoire 128 du microcontrôleur de supervision 120.
Dans une alternative compatible de la précédente mise en œuvre, le microcontrôleur principal 1 10 est muni de moyens (non représentés) de mesure de la période d'exécution du module logiciel 1 13, c'est-à-dire le temps requis pour exécuter le module logiciel 1 13. Dans ce cadre, suite à l'exécution du module logiciel, la mesure de la période d'exécution est envoyée au microcontrôleur de supervision 120 via l'interface de communication 130. Dans cet agencement particulier, le microcontrôleur de supervision 120 est apte à détecter une défaillance du microcontrôleur principal 1 10 lorsque la période d'exécution mesurée du module logiciel 1 13 est différente d'une
période prédéterminée d'exécution du module logiciel 1 13 connue du microcontrôleur de supervision 120 ou n'est pas comprise dans un intervalle de temps prédéterminé autour de la période prédéterminée d'exécution. Dans un exemple, la période prédéterminée d'exécution est stockée dans la mémoire 128 du microcontrôleur de supervision 120. Dans cette mise en œuvre, le « temps aller-retour » prédéterminé et la période prédéterminée d'exécution du module logiciel 1 13 peuvent avoir été déterminés lors des phases de test du circuit 100.
Dans une autre mise en œuvre particulière du circuit de détection 100, le microcontrôleur principal 1 10 comprend une pluralité de modules logiciels. Dans ce cadre, chacun des modules logiciels de la pluralité de modules logiciels assure une fonction critique du véhicule automobile. En outre, l'exécution de la pluralité de modules logiciels est réalisée de manière séquentielle. En d'autres termes, les modules logiciels de la pluralité de modules logiciels sont « chaînés » de sorte que l'exécution d'un deuxième module logiciel fait suite à la fin de l'exécution d'un premier module logiciel de la pluralité de modules logiciels. Dans l'exemple de la figure 1 , le microcontrôleur principal 1 10 comprend un deuxième module logiciel 1 14 en plus du module logiciel 1 13.
De retour à la figure 2, à l'étape S430, le microcontrôleur principal 1 10 détermine une valeur de point d'entrée Entree[1 ] au niveau du point d'entrée prédéterminé Pin du module logiciel 1 14, à partir de la valeur de point d'entrée Entree[0] et de la valeur de début d'exécution K1 . Ensuite, le microcontrôleur principal 1 10 détermine une valeur de point de sortie Sortie[1 ] au niveau du point de sortie prédéterminé Sout du module logiciel 1 14, à partir de la valeur de point de sortie Sortie[0] et de la valeur de fin d'exécution K2. Par la suite, toujours à l'étape S430, le microcontrôleur principal 1 10 détermine une valeur de résultat RESULT[1 ] d'un calcul prédéterminé à partir de la valeur de point d'entrée Entree[1 ] et de la valeur de point de sortie Sortie[1 ]. La détermination des valeurs de points d'entrée Entree[1 ], de point de sortie Sortie[1 ] et de résultat RESULT[1 ] est similaire à la détermination des valeurs de point d'entrée Entree[0], de point de sortie Sortie[0] et de résultat RESULT[0], comme expliqué plus haut. De la même manière, la valeur de résultat RESULT[1 ] est envoyée par le microcontrôleur principal 1 10 au microcontrôleur de supervision 120, via l'interface de communication 130, afin d'y être comparée à la valeur de résultat prédéterminé RESULT[1 ]*, de sorte qu'une défaillance du microcontrôleur principal 1 10 puisse être détectée. Dans un exemple, seule la valeur de résultat RESULT[1 ] est envoyée au microcontrôleur de supervision 120. Dans ce cas, seule la valeur finale du calcul prédéterminé sera considérée pour détecter une défaillance du microcontrôleur principal 1 10. Dans un autre exemple, les valeurs de résultat RESULT[0] et RESULT[1 ] sont envoyées au microcontrôleur de supervision 120. Dans ce cas, la valeur de
résultat RESULT[0] est considérée comme une valeur intermédiaire du calcul prédéterminé qui peut aider à identifier le lieu d'occurrence d'une défaillance donnée. En effet, si la valeur de résultat RESULT[0] correspond à la valeur de résultat attendue RESULT[0]*, alors le microcontrôleur de supervision 120 peut en déduire que l'exécution du module logiciel 1 13 s'est produite sans erreur. Au contraire, si la valeur de résultat RESULT[0] est différente de la valeur de résultat attendue RESULT[0]*, alors le microcontrôleur de supervision 120 peut en déduire que la défaillance a eu lieu lors de l'exécution du module logiciel 1 13.
Les caractéristiques présentées plus haut concernant la possibilité de détecter une défaillance du microcontrôleur principal 1 10 lorsque les résultats calculés ne sont pas fournis au microcontrôleur de supervision 120 dans un temps prédéterminé ou selon un temps d'exécution prédéterminé, sont également envisagées pour cette mise en œuvre.
Selon un autre mode de réalisation du circuit 100, il est prévu que le microcontrôleur de supervision 120 soit en outre configuré pour envoyer au microcontrôleur principal 1 10 un signal de réamorçage du microcontrôleur principal 1 10, en réponse à la détection d'une défaillance du microcontrôleur principal 1 10, et ce, afin de tenter de réamorcer le microcontrôleur principal 1 10 ou le(s) modules logiciel(s) à l'origine de la défaillance. Dans le cadre de ce mode de réalisation du circuit 100, il est également prévu que le microcontrôleur de supervision 120 soit en outre configuré pour entraver le réamorçage du microcontrôleur principal 1 10, en réponse à la détection d'un nombre prédéterminé de défaillances du microcontrôleur principal 1 10, et ce, pendant une période prédéterminée. Par exemple, lorsque de nombreuses demandes de réamorçage du microcontrôleur principal 1 10 sont requises par le microcontrôleur de supervision 120 pendant une période considérée comme courte, cela signifie que la fonction critique assurée par le module logiciel 1 13 n'est plus garantie. En effet, une pluralité de défaillances du microcontrôleur principal 1 10 détectées dans un intervalle de temps limité signifie que la fonction critique assurée par le module logiciel en cours d'exécution n'arrive pas à retrouver un mode de fonctionnement normal. Dans ce cas, il n'est pas nécessaire de tenter de réamorcer le microcontrôleur principal 1 10. Au contraire, il pourrait être plus judicieux de couper complètement la ou les fonctions critiques qui sont potentiellement à l'origine de la défaillance du système. Par exemple, on peut envisager de mettre le véhicule automobile dans un mode de fonctionnement dégradé, en activant seulement les fonctions vitales du véhicule automobile. Ceci permettrait d'informer le conducteur qu'une fonction critique du véhicule n'est plus fonctionnelle et qu'il est préférable de s'arrêter et de demander une assistance technique.
La figure 3 représente schématiquement une partie du circuit 100 selon un mode de réalisation de l'invention. Dans ce mode de réalisation, le microcontrôleur
principal 1 10 et le microcontrôleur de supervision 120 comprennent, chacun indépendamment, une horloge de fonctionnement 1 15, 125. Le microcontrôleur principal 1 10 est également muni de moyens de mesures (non représentés) d'horloge pour mesurer l'horloge de fonctionnement de l'interface de communication 130. En outre, le microcontrôleur de supervision 120 est muni de moyens de génération d'horloge 121 pour générer une horloge de fonctionnement de l'interface de communication 130 à partir, de l'horloge de fonctionnement 125 du microcontrôleur de supervision 120, et d'une valeur prédéterminée d'horloge de fonctionnement horl* connue du microcontrôleur principal 1 10 et du microcontrôleur de supervision 120. Dans l'exemple de la figure 3, la valeur prédéterminée d'horloge de fonctionnement horl* au niveau du microcontrôleur principal 1 10, est générée à partir d'une horloge 1 15 externe au microcontrôleur principal 1 10. Dans l'exemple de la figure 3, l'horloge externe 1 15 du microcontrôleur principal 1 10 comprend un oscillateur externe couplé à une boucle à verrouillage de phase PLL, elle-même couplée à deux diviseurs de fréquences DIV. Toutefois, dans un autre exemple, on peut également envisager de stocker la valeur prédéterminée d'horloge de fonctionnement horl* dans une mémoire 1 18 du microcontrôleur principal 1 10. Par ailleurs, au niveau du microcontrôleur de supervision 120, la valeur prédéterminée d'horloge de fonctionnement horl* est stockée dans la mémoire 128. De plus, le microcontrôleur principal 1 10 est muni de moyens de comparaison 1 19 pour réaliser une comparaison entre une mesure de l'horloge de fonctionnement de l'interface de communication 130 et la valeur prédéterminée d'horloge de fonctionnement horl*. Avec cet agencement, le résultat de la comparaison permet au microcontrôleur principal 1 10 de détecter une défaillance du microcontrôleur de supervision 120 dans sa capacité à générer de manière fiable une horloge de fonctionnement. En effet, si la mesure de l'horloge de fonctionnement de l'interface de communication est différente de la valeur prédéterminée d'horloge de fonctionnement ou n'est pas comprise dans un intervalle prédéterminé comprenant la valeur prédéterminée d'horloge de fonctionnement, on peut en déduire que les mécanismes de gestion d'horloge du microcontrôleur de supervision 120 sont défaillants.
Dans une réalisation particulière de la figure 3, le microcontrôleur principal 1 10 est muni de moyens (non représentés) pour générer périodiquement un signal d'initialisation Sp indicatif de l'initialisation d'une communication via l'interface de communication 130, et ce, à partir d'une valeur prédéterminée de périodicité Sinit* connue du microcontrôleur de supervision 120 et du microcontrôleur principal 1 10. En d'autres termes, le signal d'initialisation Sp est configuré pour être envoyé périodiquement par le microcontrôleur principal 1 10 au microcontrôleur de supervision 120. Dans l'exemple de la figure 3, le signal périodique d'initialisation Sp est généré à partir de l'horloge de
fonctionnement 1 15. En outre, le microcontrôleur de supervision 120 est pourvu de moyens (non représentés) de mesure de la périodicité d'un signal pour mesurer la périodicité de la réception du signal d'initialisation Sp. Avec cet agencement, les moyens de comparaison 129 du microcontrôleur de supervision 120 sont également configurés pour réaliser une comparaison entre la mesure de la périodicité de la réception du signal d'initialisation et la valeur prédéterminée de périodicité Sinit*. Dans cet agencement, le résultat de la comparaison permet au microcontrôleur de supervision 120 de détecter une défaillance du microcontrôleur principal 1 10 dans sa capacité à générer de manière périodique un signal.
De retour à la figure 1 , selon un autre mode de réalisation du circuit 100, il est prévu que le microcontrôleur principal 1 10 et le microcontrôleur de supervision 120 comprennent, chacun indépendamment, une unité d'alimentation 1 17, 127. Dans ce mode de réalisation, le microcontrôleur principal 1 10 est couplé à l'unité d'alimentation 127 du microcontrôleur de supervision 120, et le microcontrôleur de supervision 120 est l'unité d'alimentation 1 17 du microcontrôleur principal 1 10. En outre, il est prévu que le microcontrôleur principal 1 10 et le microcontrôleur de supervision 120 comprennent, chacun indépendamment, des moyens (non représentés) de mesure de tension pour mesurer la tension d'une unité d'alimentation. Avec cet agencement, les moyens de comparaison 1 19 du microcontrôleur principal 1 10 sont également configurés pour réaliser une comparaison entre une mesure de la tension de fonctionnement de l'unité d'alimentation 127 et une plage prédéterminée de tension V1 * de fonctionnement de l'unité d'alimentation 127. De plus, les moyens de comparaison 129 du microcontrôleur de supervision 120 sont également configurés pour réaliser une comparaison entre une mesure de la tension de fonctionnement de l'unité d'alimentation 1 17 et une plage prédéterminée de tension V2* de fonctionnement de l'unité d'alimentation 1 17. Dans cet agencement, la plage prédéterminée de tension V1 * de fonctionnement de l'unité d'alimentation 127 est connue du microcontrôleur principal 1 10 et peut être stockée dans la mémoire 1 18. En outre, la plage prédéterminée de tension V2* de fonctionnement de l'unité d'alimentation 1 17 est connue du microcontrôleur de supervision 120 et peut être stockée dans la mémoire 128. Avec cet agencement, les résultats des comparaisons permettent au microcontrôleur principal 1 10 et au microcontrôleur de supervision 120 de détecter mutuellement une défaillance de l'unité d'alimentation de l'autre microcontrôleur. Notamment, il est possible pour un microcontrôleur de détecter les sous-tensions et surtensions de l'unité d'alimentation sous surveillance.
La figure 4 montre schématiquement une partie du circuit 100 qui concerne le mode de réalisation précédent. Dans l'exemple de la figure 4, le microcontrôleur de supervision 120 mesure une tension d'alimentation Vcc_1 10 de l'unité d'alimentation 1 17
du microcontrôleur principal 1 10. Par la suite, la mesure de tension Vcc_1 10 est comparée à la plage prédéterminée de tension V2* de fonctionnement de l'unité d'alimentation 1 17 (zone représentée en gris clair sur la figure 4). Ainsi, lorsque la mesure de tension Vcc_1 10 est dans la plage prédéterminée de tension V2* de fonctionnement de l'unité d'alimentation 1 17 (zone représentée en blanc entre les traits en pointillés sur la figure 4), alors aucune défaillance de l'unité d'alimentation 1 17 n'est détectée par le microcontrôleur de supervision 120. Par contre, une défaillance de l'unité d'alimentation 1 17 sera détectée par le microcontrôleur de supervision 120 si la mesure de tension Vcc_1 10 se situe en dehors de la plage prédéterminée de tension V2* de fonctionnement de l'unité d'alimentation 1 17. L'agencement de la figure 4 peut être complété pour détecter une sous-tension de l'unité d'alimentation 1 17. La connaissance de cette information peut être intéressante, car la tension Vcc_1 10 peut être utilisée pour alimenter un périphérique PERIPH du microcontrôleur principal 1 10. Il est donc intéressant de détecter une sous-tension de l'unité d'alimentation 1 17 directement au niveau du microcontrôleur principal 1 10. Pour cela, il est possible d'utiliser un module d'inhibition de basse tension de type connu (en anglais LVI pour « Low Voltage Inhibit») au niveau du microcontrôleur. Une sous-tension peut être détectée lorsque la mesure de tension Vcc_1 10 se situe en dessous de la plage prédéterminée de tension V2* de fonctionnement de l'unité d'alimentation 1 17.
De retour à la figure 1 selon un autre mode de réalisation du circuit 100, il est prévu une interface d'actuateur 140 qui est couplée au microcontrôleur principal 1 10 et au microcontrôleur de supervision 120. L'interface d'actuateur 140 est configurée pour envoyer un signal d'actuation à un actuateur 300. L'actuateur 300 est configuré pour être couplé au circuit 100. Dans un exemple, l'actuateur 300 est un actuateur de déclenchement du système ABS. Dans cet exemple, le signal d'actuation peut être généré en réponse à la réception, via une interface de capteur 150, d'une mesure d'un capteur de collision 200. En outre, il est prévu que le microcontrôleur principal 1 10 et le microcontrôleur de supervision 120 comprennent, chacun indépendamment, un convertisseur analogique/numérique (ADC) 1 16, 126. Chaque ADC 1 16, 126 est configuré pour recevoir et convertir un même signal analogique d'actuation provenant de l'interface d'actuateur 140. Dans un premier agencement, les moyens de comparaison 129 du microcontrôleur de supervision 120 sont en outre configurés pour réaliser une comparaison d'un même signal physique entre la valeur de conversion numérique de l'ADC 1 16 du microcontrôleur principal 1 10 et la valeur de conversion numérique de l'ADC 126 du microcontrôleur de supervision 120. Dans cet agencement, la valeur de conversion numérique de l'ADC 1 16 du microcontrôleur de supervision 120 est envoyée au microcontrôleur principal 1 10 via l'interface de communication 130. Avec cet
agencement, le résultat de la comparaison permet au microcontrôleur principal 1 10 de détecter une défaillance de l'ADC 1 16 du microcontrôleur principal 1 10 ou de l'ADC 126 du microcontrôleur de supervision 120. En effet, si des valeurs différentes de conversion numérique sont fournies par les ADC des deux microcontrôleurs 1 10, 120, on peut en déduire qu'au moins un des ADC est défectueux. Dans un deuxième agencement, les moyens de comparaison 1 19 du microcontrôleur principal 1 10 sont en outre configurés pour réaliser une comparaison entre la valeur de conversion numérique de l'ADC 126 du microcontrôleur de supervision 120 et la valeur de conversion numérique de l'ADC 1 16 du microcontrôleur principal. Par la suite, une défaillance d'au moins l'un des ADC peut être déduite de la comparaison des mesures recueillies par le microcontrôleur principal 1 10, comme expliqué plus haut au sujet du microcontrôleur de supervision 120.
Dans une réalisation particulière du mode de réalisation précédent, selon la figure 1 , il est prévu une unité d'interrupteur 160 qui est couplée entre l'interface d'actuateur 140 et l'actuateur 300. L'unité d'interrupteur 160 est configurée pour alterner entre un premier état dans lequel l'interface d'actuateur 140 peut communiquer avec l'actuateur 300 et un deuxième état dans lequel l'interface d'actuateur 140 ne peut pas communiquer avec l'actuateur 300. En outre, le microcontrôleur principal 1 10 est configuré pour envoyer un signal de désactivation du circuit 100 à l'unité d'interrupteur 160, en réponse à la détection d'une défaillance du microcontrôleur de supervision 120. De la même manière, le microcontrôleur de supervision 120 est configuré pour envoyer un autre signal de désactivation du circuit 100 à l'unité d'interrupteur 160, en réponse à la détection d'une défaillance du microcontrôleur principal 1 10. Dans cet agencement, l'unité d'interrupteur 160 est configurée pour passer du premier état au deuxième état en réponse à la réception d'un signal de désactivation. Avec cet agencement, si une défaillance d'au moins un microcontrôleur 1 10, 120 est détectée, il est proposé que le microcontrôleur détectant la défaillance génère le signal de désactivation pour désactiver le circuit 100 en empêchant ce dernier d'envoyer des signaux d'actuations à l'actuateur 300.
La figure 5 montre schématiquement une partie du circuit 100 selon un mode de réalisation de l'invention. Dans l'exemple de la figure 5, on peut voir une trame de données Tx_1 10 envoyées par le microcontrôleur principal 1 10 et une trame de données Tx_120 envoyées par le microcontrôleur de supervision 120. Les trames Tx_1 10 et Tx_120 de l'exemple de la figure 5 sont transmises via l'interface de communication 130. Selon le mode de réalisation de la figure 5, il est prévu que le microcontrôleur principal 1 10 et le microcontrôleur de supervision 120 comprennent chacun des moyens (non représentés) de mise en forme de trames des données à envoyer sur l'interface de communication 130. Les moyens de mise en forme de trames
sont adaptés pour former des trames de données à envoyer sur l'interface de communication 130, mais également pour extraire des données des trames reçues via l'interface de communication 130. Chacun des moyens de mise en forme de trame sont en outre configurés pour, en réponse à la réception d'une trame, insérer un identificateur de trame dans la trame à envoyer. Cette insertion d'indicateur dépend d'un identificateur de trame contenu dans la dernière trame reçue. Avec cet agencement, les moyens de comparaison 1 19 du microcontrôleur principal 1 10 sont en outre configurés pour réaliser une comparaison entre l'identificateur de la dernière trame émise par le microcontrôleur de supervision 120 en réponse à une trame émise par le microcontrôleur principal 1 10, et l'identificateur de la trame émise par le microcontrôleur principal 1 10. Les moyens de comparaison 129 du microcontrôleur de supervision 120 sont configurés de la même manière pour réaliser une comparaison entre l'identificateur de la trame émise par le microcontrôleur principal 1 10 en réponse à une trame émise par le microcontrôleur de supervision 120, et l'identificateur de la trame émise par le microcontrôleur de supervision 120.
L'exemple de la figure 5 montre l'identificateur ID0 de la trame Tx_120 et l'identificateur IDi de la trame Tx_1 10. Dans cet exemple, l'identificateur ID0 correspond à une valeur numérique incrémentée de 1 par le microcontrôleur principal 1 10 à chaque émission de trame tandis que l'identificateur IDi correspond à une valeur numérique incrémentée de 1 par le microcontrôleur de supervision 120 à chaque émission de trame. De manière générale, les identifiants ID0 et IDi sont synchronisés de sorte que le microcontrôleur recevant un identifiant d'une trame puisse vérifier que cet identifiant est bien lié à l'identifiant généré par ce même microcontrôleur lors de l'émission de la trame précédente. Ce principe permet de s'assurer qu'aucune trame n'est « perdue » et que les deux microcontrôleurs sont aptes à communiquer entre eux.
En outre, dans la figure 5, la trame Tx_120 comprend les valeurs d'initialisation InitA et initB et la trame tx_1 10 comprend le résultat RESULT[0] du calcul polynomial réalisé par les deux cœurs 1 1 1 et 1 12 du microcontrôleur principal 1 10, tels que décrits plus haut. Les trames Tx_1 10 et Tx_120 peuvent également comprendre une indication ERR de la détection d'une défaillance. De plus, un contrôle cyclique de redondance CRC peut être inclus dans chaque trame Tx_1 10 et Tx_120 pour vérifier que l'intégrité de la trame lors de la transmission, a bien été respectée.
L'invention présente de nombreux avantages. En effet, grâce à l'ensemble des mécanismes présentés plus haut, il est possible de détecter les défaillances d'un microcontrôleur à double cœurs, et ce, afin d'être conforme au standard ISO 26 262.
La présente invention a été décrite et illustrée dans la présente description détaillée et dans les figures des dessins annexés. La présente invention ne se limite pas,
toutefois, aux formes de réalisation ainsi présentées. D'autres variantes et modes de réalisation peuvent être déduits et mis en œuvre par la personne du métier à la lecture de la présente description et des dessins annexés.
Il est également envisagé un calculateur électronique (ECU) automobile pour la détection des pannes d'au moins une fonction critique d'un véhicule automobile et qui comporte un circuit de détection tel que décrit plus haut, parmi les différents modes de réalisation de l'invention pris isolément ou en combinaison.
Enfin, il est également envisagé un véhicule automobile comprenant un ou plusieurs ECU selon l'invention.
Dans les revendications, le terme « comporter » n'exclut pas d'autres éléments ou d'autres étapes. L'article indéfini « un » n'exclut pas le pluriel. Les différentes caractéristiques présentées et/ou revendiquées peuvent être avantageusement combinées. Leur présence dans la description ou dans des revendications dépendantes différentes n'excluent pas cette possibilité. Enfin, les signes de référence aux figures des dessins ne sauraient être compris comme limitant la portée de l'invention.
Claims
1. Circuit (100) de détection de défaillances pour un calculateur électronique (ECU) automobile, le circuit comprenant :
• un microcontrôleur principal (1 10) comprenant,
- au moins deux cœurs (1 1 1 , 1 12) de microcontrôleur configurés pour exécuter les mêmes instructions en parallèle, et
- au moins un premier module logiciel (1 13) assurant une fonction critique d'un véhicule automobile, le premier module logiciel comprenant un point d'entrée prédéterminé (Pin) et un point de sortie prédéterminé (Sout),
• un microcontrôleur de supervision (120) et
· une interface de communication (130) synchrone pour coupler le microcontrôleur principal (1 10) et le microcontrôleur de supervision (120) de manière à permettre une supervision mutuelle,
le circuit (100) est caractérisé en ce que :
• le microcontrôleur de supervision (120) est configuré pour fournir au microcontrôleur principal (1 10) une première valeur d'initialisation (InitA) et une deuxième valeur d'initialisation (InitB);
• le microcontrôleur principal (1 10) est configuré pour, en réponse à l'exécution du premier module logiciel (1 13),
- déterminer une première valeur de point d'entrée (Entree[0]) au niveau du point d'entrée prédéterminé (Pin) du premier module logiciel (1 13), à partir de la première valeur d'initialisation (InitA) et d'une valeur de début d'exécution (K1 ) indicative d'un début d'exécution d'un module logiciel du microcontrôleur principal (1 10) ;
- déterminer une première valeur de point de sortie (Sortie[0]) au niveau du point de sortie prédéterminé (Sout) du premier module logiciel (1 13), à partir de la deuxième valeur d'initialisation (InitB) et d'une valeur de fin d'exécution (K2) et indicative d'une fin d'exécution d'un module logiciel du microcontrôleur principal (1 10) ;
- déterminer une première valeur de résultat (RESULT[0]) d'un calcul prédéterminé à partir de la première valeur de point d'entrée (Entree[0]) et de la première valeur de point de sortie (Sortie[0]) ; et
- fournir au microcontrôleur de supervision (120) la première valeur de résultat (RESULT[0]) ;
• le microcontrôleur de supervision (120) est muni de moyens de comparaison (129) pour réaliser une première comparaison entre la première
valeur de résultat (RESULT[0]) et une première valeur de résultat prédéterminée du calcul prédéterminé (RESULT[0]*) de sorte que le microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (1 10) en réponse à la première comparaison.
2. Circuit de détection selon la revendication 1 dans lequel le calcul prédéterminé est un calcul polynomial au moins du deuxième ordre.
3. Circuit de détection selon l'une des revendications 1 ou 2 dans lequel :
• le microcontrôleur principal (1 10) comprend un deuxième module logiciel (1 14) assurant une fonction critique du véhicule automobile, le deuxième module logiciel comprenant un point d'entrée prédéterminé (Pin) et un point de sortie prédéterminé (Sout), le microcontrôleur principal (1 10) est en outre configuré pour, en réponse à l'exécution du deuxième module logiciel (1 14) :
- déterminer une deuxième valeur de point d'entrée (Entree[1 ]) au niveau du point d'entrée prédéterminé (Pin) du deuxième module logiciel (1 14), à partir de la première valeur de point d'entrée (Entree[0]) et de la valeur de début d'exécution (K1 ) ;
- déterminer une deuxième valeur de point de sortie (Sortie[1 ]) au niveau du point de sortie prédéterminé (Sout) du deuxième module logiciel (1 14), à partir de la première valeur de point de sortie (Sortie[0]) et de la valeur de fin d'exécution (K2) ;
- déterminer une deuxième valeur de résultat (RESULT[1 ]) du calcul prédéterminé à partir de la deuxième valeur de point d'entrée (Entree[1 ]) et de la deuxième valeur de point de sortie (Sortie[1 ]) ; et
- fournir au microcontrôleur de supervision (120) la deuxième valeur de résultat (RESULT[1 ]) ;
• les moyens de comparaison (129) du microcontrôleur de supervision (120) sont en outre configurés pour réaliser une deuxième comparaison entre la deuxième valeur de résultat (RESULT[1 ]) et une deuxième valeur de résultat prédéterminée du calcul prédéterminé (RESULT[1 ]*) de sorte que le microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (1 10) en réponse à la deuxième comparaison.
4. Circuit de détection selon l'une quelconque des revendications 1 , 2 ou 3 dans lequel :
• le microcontrôleur de supervision (120) est muni de moyens de mesure d'un temps qui s'est écoulé (ALLER-RETOUR) entre la fourniture au microcontrôleur
principal (1 10) des premières et deuxièmes valeurs d'initialisation (InitA, InitB) et la réception d'une valeur de résultat (RESULT[0], RESULT[1 ]), et
• les moyens de comparaison (129) du microcontrôleur de supervision (120) sont en outre configurés pour réaliser une troisième comparaison entre le temps ALLER-RETOUR et un temps ALLER-RETOUR prédéterminé, de sorte que le microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (1 10) en réponse à la troisième comparaison.
5. Circuit de détection selon l'une quelconque des revendications 1 , 2, 3 ou 4 dans lequel :
· le microcontrôleur principal (1 10) est muni de moyens de mesure d'une période d'exécution d'un ou de plusieurs modules logiciels du microcontrôleur principal (1 10), et
• les moyens de comparaison (129) du microcontrôleur de supervision (120) sont en outre configurés pour réaliser une quatrième comparaison entre la mesure de la période d'exécution transmise au microcontrôleur de supervision (120) et une période d'exécution prédéterminée, de sorte que le microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (1 10) en réponse à la quatrième comparaison.
6. Circuit de détection selon l'une quelconque des revendications 1 , 2, 3, 4 ou 5 dans lequel :
• le microcontrôleur principal (1 10) et le microcontrôleur de supervision (120) comprennent, chacun indépendamment, une horloge de fonctionnement (1 15, 125),
• le microcontrôleur de supervision (120) est en outre muni de moyens de génération d'horloge (121 ) pour générer une horloge de fonctionnement de l'interface de communication (130) à partir de l'horloge de fonctionnement ( 125) et d'une valeur prédéterminée d'horloge de fonctionnement (horl*), et
• le microcontrôleur principal (1 10) est en outre muni :
- de moyens de mesure de l'horloge de l'interface de communication (130) et - de moyens de comparaison (1 19) pour réaliser une cinquième comparaison entre une mesure de l'horloge de fonctionnement de l'interface de communication (130) par les moyens de mesure et la valeur prédéterminée d'horloge de fonctionnement (horl*), de sorte que le microcontrôleur principal (1 10) puisse détecter une défaillance du microcontrôleur de supervision (120) en réponse à la cinquième comparaison.
7. Circuit de détection selon la revendication 6 dans lequel :
• le microcontrôleur principal (1 10) est en outre muni de moyens pour générer périodiquement un signal d'initialisation (Sp) indicatif de l'initialisation d'une communication via l'interface de communication (130) à partir d'une valeur prédéterminée de périodicité (Sinit*), et
• le microcontrôleur de supervision (120) est en outre muni de moyens de mesure de la périodicité du signal d'initialisation (Sp), les moyens de comparaison (129) du microcontrôleur de supervision (120) sont en outre configurés pour réaliser une sixième comparaison entre une mesure de la périodicité de la réception du signal d'initialisation (Sp) par les moyens de mesure et la valeur prédéterminée de périodicité (Sinit*), de sorte que le microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (1 10) en réponse à la sixième comparaison.
8. Circuit de détection selon l'une quelconque des revendications 1 , 2, 3, 4, 5, 6 ou 7 dans lequel :
• le microcontrôleur principal (1 10) comprend une première unité d'alimentation (1 17) et le microcontrôleur de supervision (120) comprend une deuxième unité d'alimentation (127), la première et la deuxième unité d'alimentation (1 17, 127) sont physiquement indépendantes l'une de l'autre, · le microcontrôleur principal (1 10) et le microcontrôleur de supervision (120) comprennent, chacun indépendamment, des moyens de mesure de tension, le microcontrôleur principal (1 10) est couplé à la deuxième unité d'alimentation (127) et les moyens de comparaison (1 19) du microcontrôleur principal (1 10) sont en outre configurés pour réaliser une septième comparaison entre une mesure de la tension de fonctionnement de la deuxième unité d'alimentation (127) par les moyens de mesure et une première plage prédéterminée de tension (V1 *) de fonctionnement, de sorte que le microcontrôleur principal (1 10) puisse détecter une défaillance du microcontrôleur de supervision (120) en réponse à la septième comparaison, et · le microcontrôleur de supervision (120) est couplé à la première unité d'alimentation (1 17) et les moyens de comparaison (1 19) du microcontrôleur de supervision (120) sont en outre configurés pour réaliser une huitième comparaison entre une mesure de la tension de fonctionnement de la première unité d'alimentation (1 17) par les moyens de mesure et une deuxième plage prédéterminée de tension (V2*) de fonctionnement, de sorte que le
microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (1 10) en réponse à la huitième comparaison.
9. Circuit de détection selon l'une quelconque des revendications 1 , 2, 3, 4, 5, 6, 7 ou 8 dans lequel :
· une interface d'actuateur (140) est couplée au microcontrôleur principal (1 10) et au microcontrôleur de supervision (120), l'interface d'actuateur (140) est configurée pour envoyer un signal d'actuation à un actuateur (300) prévu pour être connecté au circuit de détection (100),
• le microcontrôleur principal (1 10) et le microcontrôleur de supervision (120) comprennent, chacun indépendamment, un convertisseur analogique/numérique (1 16, 126) configuré pour recevoir le même signal d'actuation, et
• les moyens de comparaison (129) du microcontrôleur de supervision (120) sont en outre configurés pour réaliser une neuvième comparaison entre les valeurs de conversion numérique obtenues du convertisseur analogique/numérique (1 16) du microcontrôleur principal (1 10) et la valeur de conversion numérique du convertisseur analogique/numérique (126) du microcontrôleur de supervision (120), de sorte que le microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (1 10) en réponse à la neuvième comparaison.
10. Calculateur électronique (ECU) automobile pour la détection de défaillances d'au moins une fonction critique d'un véhicule automobile caractérisé en ce qu'il comprend un circuit de détection selon l'une quelconque des revendications 1 à 9, couplé à un capteur (200) et à un actuateur (300) d'une fonction critique du véhicule.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201780048358.3A CN109478160B (zh) | 2016-06-08 | 2017-06-02 | 用于检测系统性故障和随机故障的电路 |
US16/307,287 US11256580B2 (en) | 2016-06-08 | 2017-06-02 | Circuit for detecting systematic and random faults |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1655245A FR3052575B1 (fr) | 2016-06-08 | 2016-06-08 | Circuit de detection de defaillances systematiques et aleatoires |
FR1655245 | 2016-06-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017212152A1 true WO2017212152A1 (fr) | 2017-12-14 |
Family
ID=57348774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2017/051398 WO2017212152A1 (fr) | 2016-06-08 | 2017-06-02 | Circuit de détection de défaillances systématiques et aléatoires |
Country Status (4)
Country | Link |
---|---|
US (1) | US11256580B2 (fr) |
CN (1) | CN109478160B (fr) |
FR (1) | FR3052575B1 (fr) |
WO (1) | WO2017212152A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058972A (zh) * | 2017-12-26 | 2019-07-26 | 泰雷兹公司 | 用于实现至少一个关键功能的电子计算机及相关电子装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10802929B2 (en) * | 2018-01-03 | 2020-10-13 | Tesla, Inc. | Parallel processing system runtime state reload |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1063591A2 (fr) * | 1999-05-22 | 2000-12-27 | Lucas Industries Limited | Procédé et dispositif pour détecter un état erroné dans un ordinateur |
GB2379527A (en) * | 2001-09-11 | 2003-03-12 | Marconi Comm Ltd | Fault intolerant processor arrangement |
DE102008033675A1 (de) * | 2007-07-20 | 2009-02-26 | GM Global Technology Operations, Inc., Detroit | Dualkernarchitektur eines Steuermoduls eines Motors |
EP2685379A1 (fr) | 2012-07-11 | 2014-01-15 | Rohm Co., Ltd. | Circuit de surveillance intégré pour unité de composants électriques automobiles |
US20140223238A1 (en) * | 2013-02-04 | 2014-08-07 | Abbott Medical Optics Inc. | Codepath integrity checking |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654908B1 (en) | 2000-04-29 | 2003-11-25 | Hewlett-Packard Development Company, L.P. | Method for and system producing shared usage of intercommunication fabric error logging registers in a multiprocessor environment |
US6654906B1 (en) * | 2000-06-08 | 2003-11-25 | International Business Machines Corporation | Recovery from instruction fetch errors in hypervisor code |
JP4518150B2 (ja) | 2008-01-11 | 2010-08-04 | 株式会社デンソー | 車両用電子制御装置 |
CA2711903C (fr) | 2008-01-29 | 2019-01-15 | Leviton Manufacturing Co., Inc. | Appareil et procede d'interrupteur de circuit detecteur de defaut a autocontrole |
US8516356B2 (en) * | 2010-07-20 | 2013-08-20 | Infineon Technologies Ag | Real-time error detection by inverse processing |
JP6050083B2 (ja) * | 2012-10-18 | 2016-12-21 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US9632139B2 (en) | 2013-06-08 | 2017-04-25 | Silicon Mobility | IO pad circuitry with safety monitoring and control for integrated circuits |
CN104228589A (zh) * | 2014-09-05 | 2014-12-24 | 北京新能源汽车股份有限公司 | 纯电动汽车基于双cpu的高等级安全装置 |
EP3543718B1 (fr) * | 2018-03-19 | 2020-08-19 | Melexis Technologies NV | Procédé de détection d'une défaillance dans un système électronique |
-
2016
- 2016-06-08 FR FR1655245A patent/FR3052575B1/fr active Active
-
2017
- 2017-06-02 CN CN201780048358.3A patent/CN109478160B/zh active Active
- 2017-06-02 WO PCT/FR2017/051398 patent/WO2017212152A1/fr active Application Filing
- 2017-06-02 US US16/307,287 patent/US11256580B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1063591A2 (fr) * | 1999-05-22 | 2000-12-27 | Lucas Industries Limited | Procédé et dispositif pour détecter un état erroné dans un ordinateur |
GB2379527A (en) * | 2001-09-11 | 2003-03-12 | Marconi Comm Ltd | Fault intolerant processor arrangement |
DE102008033675A1 (de) * | 2007-07-20 | 2009-02-26 | GM Global Technology Operations, Inc., Detroit | Dualkernarchitektur eines Steuermoduls eines Motors |
EP2685379A1 (fr) | 2012-07-11 | 2014-01-15 | Rohm Co., Ltd. | Circuit de surveillance intégré pour unité de composants électriques automobiles |
US20140223238A1 (en) * | 2013-02-04 | 2014-08-07 | Abbott Medical Optics Inc. | Codepath integrity checking |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058972A (zh) * | 2017-12-26 | 2019-07-26 | 泰雷兹公司 | 用于实现至少一个关键功能的电子计算机及相关电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109478160A (zh) | 2019-03-15 |
FR3052575A1 (fr) | 2017-12-15 |
CN109478160B (zh) | 2022-06-28 |
US20190138406A1 (en) | 2019-05-09 |
US11256580B2 (en) | 2022-02-22 |
FR3052575B1 (fr) | 2019-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6599054B2 (ja) | 異常判定装置、異常判定方法及び異常判定プログラム | |
Nardi et al. | Functional safety methodologies for automotive applications | |
WO2016162624A1 (fr) | Procédé d'implémentation d'une fonction d'un véhicule automobile conforme a des niveaux asil standards, système correspondant et véhicule automobile comprenant un tel système | |
KR100296984B1 (ko) | 전자제어장치용감시시스템 | |
EP3312623B1 (fr) | Dispositif à semi-conducteur et procédé de test de diagnostic | |
WO2011091743A1 (fr) | Appareil et procédé d'enregistrement de raison de redémarrage d'équipement | |
EP2466712A1 (fr) | Procédé et dispositif de surveillance d'un dispositif équipé d'un microprocesseur | |
FR3052575B1 (fr) | Circuit de detection de defaillances systematiques et aleatoires | |
CN102782655A (zh) | 微机相互监视系统及微机相互监视方法 | |
US20120272104A1 (en) | Monitoring computer in a control device | |
US20120316728A1 (en) | Monitoring concept in a control device | |
FR2926377A1 (fr) | Circuit et procede de traitement d'erreurs dans des systemes fonctionnant en temps reel | |
JP6207987B2 (ja) | 車載用電子制御装置 | |
CN105868060B (zh) | 用于运行驾驶员辅助系统的数据处理单元的方法和数据处理单元 | |
US9919665B2 (en) | Device and method for monitoring a timer | |
US9142068B2 (en) | Airbag control unit | |
FR2910656A1 (fr) | Dispositif et procede de gestion de defaillance de tache de processus | |
US8478478B2 (en) | Processor system and fault managing unit thereof | |
JP2007041824A (ja) | 電子制御ユニットのリセット回路 | |
WO2012052080A1 (fr) | Procede de controle d'un circuit integre | |
WO2023223940A1 (fr) | Dispositif embarqué, programme et procédé de traitement d'informations | |
KR20130003976A (ko) | 전자 제어 조향장치 전자 제어 유닛 및 이를 이용한 러닝 리셋 처리 방법 | |
US20240129364A1 (en) | Gateway for connection to a host processor and multiple slaves and method for operating the gateway | |
US20210382835A1 (en) | Device and method for inspecting process, and electronic control device | |
WO2021110380A1 (fr) | Système informatique embarqué à bord d'un porteur mettant en oeuvre au moins un service critique pour la sûreté de fonctionnement du porteur |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17734785 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17734785 Country of ref document: EP Kind code of ref document: A1 |