# Patent

## Title
Method for operating an electrical power steering mechanism

## Abstract

A computer and function architecture for operating an electrical power-assisted steering system, comprises a control path and a monitoring path that has a diverse design in relation thereto and which are processed basically parallel to each other in each case on two associated cores of a redundant microcomputer, and arithmetic differences that occur within the control path or the monitoring path are detected at the functional level by way of a comparator, and the results of individual computing steps are detected at the granular level by way of a core comparator, and as a result of a detected difference of the comparator at the functional level, a transition is made into an emergency operating mode in the event that the core comparator has not diagnosed an arithmetic error, so as to ensure further availability of at least some of the steering assistance function or of the steering functions over at least a certain time period.

## Background
BACKGROUND OF THE INVENTION
The present invention relates to a computer and function architecture for operating an electrical power-assisted steering system, wherein the control unit has a computer architecture comprising a redundant core, referred to as a dual-core processor.
When using a microcomputer to compute and control the steering assistance function of an electrical power steering system, faults in the computer core must be detected and, in the event of a fault, the system must be shut down since reliable computation and control can no longer be ensured, According to the prior art, a fault in the arithmetic core of the microcomputer is verified by way of double computation of the steering assistance function. The computational algorithms required for this purpose are designed to be diverse. If the results of a control path (Level 1) differ from the diverse monitoring path (Level 2), a fault is assumed to exist in the arithmetic core. Subsequent to a detected difference, the system must be shut down as quickly as possible and thereby transferred into a safe state. However, shutting down the steering assistance function is associated with major limitations for the driver in terms of comfort. Typical output variables include a setpoint value specification for the assistance torque of the servo-motor, however depending on the scope of functions, these may also include the output of steering-internal variables, such as the steering angle information for partner control units.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a computer architecture according to the prior art.
FIG. 2 shows an exemplary embodiment according to the invention. FIG. 3 shows a block diagram of the electrical power-assisted steering system., including the control device of FIG. 2.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
In a single-core microcontroller unit (100), input values (101) are supplied to a control path (102), which includes individual software (SW) function modules, and a monitoring path (103), which has an appropriate diverse structure (diverse software function module).
Typically, the measured torsion bar torque, which is sensed by way of a sensor in the steering shaft, is used as the input variable. Based on this, a setpoint value specification is ascertained for the assistance torque as an output variable, using steering functions, and optionally further steering comfort functions.
Differences in the results of function computations of the control path (102) and of the monitoring path (103) are established by way of a comparator (104).
The monitoring path (103) implements a diverse software function module corresponding to the primary software function module, wherein an algorithm that is different from the control path is used.
The comparator (104) compares the results at the functional level so as to detect systematic faults in the software.
If the comparator establishes a difference, an arithmetic error or a systematic software fault can be assumed. The entire system is immediately shut down in response to a different result (system shut-down).
When a redundant core microcomputer (200) is used, which is a computer in which two identical arithmetic units (Core 1, Core 2) are integrated on one chip, it is provided that arithmetic instructions are basically carried out simultaneously and parallel to each other. The individual computing results are automatically compared at the granular level by way of a core comparator (205). In the event that there is a difference in the results of the two ALUs, a corresponding fault response is triggered. This generally results in a shut-down, and thus the transition into the safe system state.
The introduction of the ISO 26262 safety standard demands measures for detecting systematic software faults. This requirement can be met, for example, by implementing diverse algorithms of the control path and of the monitoring path (see prior art).
If a difference now occurs between the control path and the monitoring path in a system thus designed, it does not involve an arithmetic error, but a systematic software fault or an operating state of the system which cannot be diagnosed by way of one level or both levels. If this state occurs, the system is likewise subjected to a “hard” shut-down.
A dual-core microcontroller according to the prior art likewise comprises a core comparator that is implemented in hardware. This comparator compares the individual computing steps of the ALUs of both cores of the microcomputer at the granular level.
If a fault now occurs in the diverse computation and the core comparator does not establish a difference in the computation of the two cores (Core 1, Core 2), a fault consequently exists in the software, or an uncontrollable system state is present.
The solution according to the invention does not provide for a hard shut-down of the system in this case, but instead provides for a transition into an emergency operating mode, in which safe driving of the vehicle can be ensured, optionally with a limited comfort level as compared to full operation.
A computer and function architecture for operating an electrical power-assisted steering system is thus proposed, in which a control path and a monitoring path that has a diverse design in relation thereto are processed basically parallel to each other in each case on two associated cores of a redundant microcomputer, and arithmetic differences that occur within the control path or the monitoring path are detected at the functional level by way of a comparator, and the results of individual computing steps are detected at the granular level by way of a core comparator, and as a result of a detected difference of the comparator at the functional level, a transition is made into an emergency operating mode in the event that the core comparator has not diagnosed an arithmetic error, so as to ensure further availability of at least some of the steering assistance function or of the steering functions over at least a certain time period.
The invention further provides that the emergency operating mode is implemented by way of a dedicated control program (emergency operating program). The emergency operating program can be implemented by appropriate implementation and parameterization of the control program in relation to the run time (in the event of a fault).
For this purpose, the output values are computed in the emergency operating mode by the emergency operating program.
In a particularly preferred embodiment variant of the invention, it is provided that the emergency operating program is implemented as a separate module (emergency operating program) and kept on stand-by for execution in the program memory. During normal operation, which is to say, in fault-free operation, this is not carried out. It is only activated if a fault is diagnosed.
According to the invention, it is provided that the emergency mode operates according to one of the strategies listed below:

    
    
        steering assistance is limited to a value that is designed to be reduced as compared to a normal value; or
        steering assistance is limited to a value that is designed to be reduced as compared to a normal value, wherein the reduction is made as a function of the situation and/or in a time-controlled manner by way of a ramp; or
        steering assistance is reduced to the value zero, wherein the reduction is made as a function of the situation and/or in a time-controlled manner by way of a ramp.
    
    


The method is carried out on a dual-core microcomputer in a control device 190 or in a combined engine/control device unit. The invention also comprises a power-assisted steering system 10 that is equipped with a corresponding control device 190 or a combined engine/control device unit.
FIG. 2 shows an exemplary embodiment according to the invention.
In a control device (190) comprising a microcomputer having a redundant core (200), input values (201) (e.g., measured torsion bar torque (211)) are simultaneously supplied, parallel to each other, to a control path (202), which includes individual software function modules, and to a monitoring path (203), which has a corresponding diverse structure. The monitoring path implements a diverse software function module corresponding to the primary software function module, wherein an algorithm that is different from the control path is used. Granular computing differences of the two cores (Core 1, Core 2), are compared by way of a core comparator (202) represented in hardware at the processor level. If a difference is established by way of the core comparator (202), a hard shut-down (system shut-down) of the entire system is carried out.
The monitoring path (203) and the control path (202) are basically computed simultaneously and parallel to each other on the two cores of the microcontroller (Core 1, Core 2). Differences in the results of the function computations of the control path (202) and of the monitoring path (203) are established by way of a comparator (204), wherein the comparator (204) operates at the functional level so as to detect systematic faults in the software.
If the comparator (204) establishes a difference, and if the core comparator (205) has not established an arithmetic error of the cores (Core 1, Core 2), a systematic software fault or an uncontrollable system state can be assumed.
In this case, it is provided to transition into an emergency mode implemented as an emergency operating program (206). The emergency operating program must allow at least safe driving of the vehicle. Compared to normal operation, limitations in terms of the available comfort level may be tolerated during the emergency operating mode.
For this purpose, for example, the emergency operating program makes the following minimum steering functions available:
First option: only absolutely necessary steering assistance (212) is made available for an unlimited time; or
Second option: Steering assistance (212) is reduced by way of a situation-controlled and/or time-controlled ramp so that the driver does not perceive any unpleasant or surprising torque curve at the steering wheel.
However, the driver can continue to safely drive the vehicle and bring it to a halt, however without steering assistance.

## Claims

1. A power-assisted steering system, comprising:
a dual core microcontroller unit that receives input signals including a measured torsion bar torque input and generates output signals for controlling steering assistance;
wherein the dual core microcontroller unit comprises:
a first program module stored in memory and executed by a first core of the microcontroller unit, and that implements a control path during execution; and
a second program module stored in memory and executed by a second core of the microcontroller unit, and that implements a monitoring path during execution;

wherein the first module and the second module are executed synchronously in parallel to each other;
wherein arithmetic differences that occur within the control path or the monitoring path are detected by a first comparator circuit of the microcontroller unit;
wherein results of individual computing steps of the first program module and the second program module are detected at the granular level by a core comparator, and as a result of a detected difference of the first comparator circuit, a transition is made into an emergency operating mode in the event that the core comparator has not diagnosed an arithmetic error, so as to ensure further availability of at least some steering assistance over at least a certain time period.

2. The power-assisted steering system according to claim 1, wherein the emergency operating mode is implemented by a dedicated emergency operating program executed by the microcontroller unit.

3. The power-assisted steering system according to claim 1, wherein during the emergency operating mode the microcontroller unit controls one of the following operations:
limiting steering assistance to a value that is designed to be reduced as compared to a normal value;
limiting steering assistance to a value that is designed to be reduced as compared to a normal value, wherein the reduction is made as a function of the situation and/or in a time-controlled manner by way of a ramp; and
reducing steering assistance to the value zero, wherein the reduction is made as a function of the situation and/or in a time-controlled manner by way of a ramp.