# US 2018/0322000 A1 · Diverse integrated processing using processors and diverse firmware

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0322000 A1
- Document ID: US20180322000A1
- Status: Published application
- Kind: A1
- Application number: 16/032,609
- Filed: 2018-07-11
- Published: 2018-11-08
- Earliest claimed: 2016-07-12
- Assignees: Infineon Technologies AG
- Applicants: Infineon Technologies AG
- Inventors: Thomas Zettler; Dirk Hammerschmidt; Friedrich Rasbornig; Michael Strasser; Akos Hegedus; Wolfgang Granig
- Web page: https://patentgrep.com/patent/US20180322000A1

## CPC

- G06F 11/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G01K 7/00: Measuring temperature based on the use of electric or magnetic elements directly sensitive to heat (giving results other than momentary value of temperature G01K3/00) {; Power supply therefor, e.g. using thermoelectric elements}
- G01L 1/00: Measuring force or stress, in general (measuring force due to impact G01L5/00)
- G01P 3/00: Measuring linear or angular speed; Measuring differences of linear or angular speeds (G01P5/00 - G01P11/00 take precedence; {direction and speed indication G01P13/045}; counting mechanisms G06M)
- G01P 15/00: Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
- G01R 33/0023: {Electronic aspects, e.g. circuits for stimulation, evaluation, control; Treating the measured signals; calibration (G01R33/0017 takes precedence)}
- G01R 33/09: Magnetoresistive devices
- G06F 11/0739: {in a data processing system embedded in automotive or aircraft systems}
- G06F 11/0751: {Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06)}
- G06F 11/1641: {where the comparison is not performed by the redundant processing components}
- G06F 11/165: {with continued operation after detection of the error}
- G01P 21/00: Testing or calibrating of apparatus or devices covered by the preceding groups
- G06F 2201/81: Threshold
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G01K: MEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR (radiation pyrometry G01J5/00)
- G01L: MEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE (weighing G01G)
- G01P: MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT (measuring or recording blood flow A61B5/02, A61B8/06; monitoring speed or deceleration of electrically-propelled vehicles B60L3/00; vehicle lighting systems adapted to indicate speed B60Q1/54; determining position or course in navigation, measuring ground distance in geodesy or surveying G01C; combined measuring devices for measuring two or more variables of movement G01C23/00; measuring velocity of sound G01H; measuring velocity of light G01J7/00; measuring direction or velocity of solid objects by reception or emission of radiowaves or other waves and based on propagation effects, e.g. Doppler effect, propagation time, direction of propagation, G01S; measuring speed of nuclear radiation G01T; measuring acceleration of gravity G01V; {measuring or recording the speed of trains B61L23/00; speed indicators incorporated in motor vehicles B60K35/00; measuring frequency or phase G01R; traffic control G08G})
- G01R: MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES (indicating correct tuning of resonant circuits H03J3/12)

## Abstract

Fault detection devices, systems and methods are provided which implement identical processors. A first processor is configured to receive a first set of variables, execute a first firmware based on the first set of variables, and output a first result of the executed first firmware. A second processor, identical to the first processor, is configured to receive a second set of variables, execute a second firmware based on the second set of variables, and output a second result of the executed second firmware. The first firmware and the second firmware provide a same nominal function in a diverse manner for calculating the first result and the second result, respectively, such that the first result and the second result are expected to be within a predetermined margin. Thus, a fault can be detected by comparing the first and the second results.

## Claims

### Claim 1

A fault detection system, comprising:
a first processor configured to receive a first set of variables, execute a first firmware based on the first set of variables, and output a first result of the executed first firmware; and
a second processor identical to the first processor and configured to receive a second set of variables, execute a second firmware based on the second set of variables, and output a second result of the executed second firmware;
wherein the first firmware and the second firmware provide a same nominal function in a diverse manner for calculating the first result and the second result, respectively, such that the first result and the second result are expected to be within a predetermined margin.

### Claim 2 (depends on 1)

The fault detection system of claim 1, wherein:
the first processor is configured to execute the first firmware based on the first set of variables by applying the first set of variables to a first algorithm, and
the second processor is configured to execute the second firmware based on the second set of variables by applying the second set of variables to a second algorithm that is an inverted implementation of the first algorithm.

### Claim 3 (depends on 2)

The fault detection system of claim 2, further comprising:
an inverter configured to invert one of the first set of variables or the second set of variables prior to being input into the first firmware or the second firmware, respectively.

### Claim 4 (depends on 1)

The fault detection system of claim 1, further comprising:
a sensor configured to measure a physical quantity and generate the first set of variables and the second set of variables based on the measured physical quantity.

### Claim 5 (depends on 1)

The fault detection system of claim 1, further comprising:
a third processor configured to compare the first result with the second result to determine whether a fault exists based on a comparison result and the predetermined margin.

### Claim 6 (depends on 1)

The fault detection system of claim 1, further comprising:
a first comparison component configured to compare the first result with the second result and output a comparison result; and
a second comparison component configured to receive the comparison result and to determine whether a fault exists based on the comparison result and the predetermined margin.

### Claim 7 (depends on 1)

The fault detection system of claim 1, wherein the first firmware and the second firmware are diverse, mathematically-equivalent algorithms.

### Claim 8 (depends on 1)

The fault detection system of claim 1, further comprising:
an integrated circuit comprising:
the first processor;
the second processor; and
a memory configured to store the first firmware and the second firmware and is electrically connected to the first processor and the second processor.

### Claim 9 (depends on 1)

The fault detection system of claim 1, further comprising:
an integrated circuit comprising:
the first processor;
the second processor;
a first memory configured to store the first firmware and is electrically connected to the first processor; and
a second memory configured to store the second firmware and is electrically connected to the second processor, wherein the second memory is separate from the first memory.

### Claim 10 (depends on 1)

The fault detection system of claim 1, further comprising:
a sensor including a first sensor channel and a second sensor channel, wherein the first processor is configured to receive the first set of variables from the first sensor channel and the second processor is configured to receive the second set of variables from the second sensor channel.

### Claim 11 (depends on 10)

The fault detection system of claim 10, wherein the second sensor channel has an inverse polarity to the first sensor channel.

### Claim 12 (depends on 1)

The fault detection system of claim 1, further comprising:
a first sensor configured to measure a first physical quantity and output the first set of variables based on the measured first physical quantity to the first processor; and
a second sensor configured to measure a second physical quantity and output the second set of variables based on the measured second physical quantity to the second processor.

### Claim 13 (depends on 1)

The fault detection system of claim 1, wherein the first firmware and the second firmware are linked to each other, and
the first processor selects the first firmware from a plurality of firmware stored in at least one memory based on a type of fault to be detected such that the first processor executes the first firmware and the second processor executes the second firmware linked to the first firmware.

### Claim 14 (depends on 1)

The fault detection system of claim 1, wherein a sampling time of the first set of variables and a sampling time of the second set of variables are the same.

### Claim 15 (depends on 1)

The fault detection system of claim 1, wherein a processing time of the first firmware and a processing time of the second firmware are different.

### Claim 16

A fault detection method, comprising:
executing a first firmware, by a first processor, including receiving a first set of variables, executing a first algorithm based on the first set of variables, and outputting a first result of the executed first algorithm; and
executing a second firmware, by a second processor identical to the first processor, including receiving a second set of variables, executing a second algorithm based on the second set of variables, and outputting a second result of the executed second algorithm,
wherein the first firmware and the second firmware provide a same nominal function in a diverse manner for calculating the first result and the second result, respectively, such that the first result and the second result are expected to be within a predetermined margin.

### Claim 17 (depends on 16)

The fault detection method of claim 16, the second algorithm is an inverted implementation of the first algorithm.

### Claim 18 (depends on 17)

The fault detection method of claim 17, further comprising:
inverting one of the first set of variables or the second set of variables prior to being input into the first firmware or the second firmware, respectively.

### Claim 19 (depends on 16)

The fault detection method of claim 16, further comprising:
comparing the first result with the second result and outputting a comparison result;
determining whether a fault exists based on the comparison result and the predetermined margin; and
outputting a fault detection signal on a condition that the fault is detected.

### Claim 20 (depends on 16)

The fault detection method of claim 16, wherein the first firmware and the second firmware are linked to each other, and the method further comprises:
selecting the first firmware from a plurality of firmware stored in at least one memory based on a type of fault to be detected such that the first processor executes the first firmware and the second processor executes the second firmware linked to the first firmware.
