EP2550598A1 - Redundant two-processor controller and control method - Google Patents

Redundant two-processor controller and control method

Info

Publication number
EP2550598A1
EP2550598A1 EP11711799A EP11711799A EP2550598A1 EP 2550598 A1 EP2550598 A1 EP 2550598A1 EP 11711799 A EP11711799 A EP 11711799A EP 11711799 A EP11711799 A EP 11711799A EP 2550598 A1 EP2550598 A1 EP 2550598A1
Authority
EP
European Patent Office
Prior art keywords
processor
processors
multiplexer
unit
redundant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP11711799A
Other languages
German (de)
French (fr)
Inventor
Adrian Traskov
Thorsten Ehrenberg
Lukusa Didier Kabulepa
Felix Wolf
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Continental Teves AG and Co OHG
Original Assignee
Continental Teves AG and Co OHG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Continental Teves AG and Co OHG filed Critical Continental Teves AG and Co OHG
Publication of EP2550598A1 publication Critical patent/EP2550598A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • G06F11/1645Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components and the comparison itself uses redundant hardware

Abstract

A redundant two-processor control device is proposed. The control device comprises a first processor (1) and a second processor (1) for the synchronous execution of a control program; at least one first multiplexer (70, 91) for the selective connection of at least one first peripheral unit (72, 95) that is to be controlled to one of the two processors (1, 2); at least one first comparison unit (70, 91) for monitoring the synchronization state of the two processors (1, 2) and for identifying a synchronization error when the two processors (1, 2) are out of sync; and a restoration control unit (44) which is set up to monitor the execution of at least one test program by the two processors (1, 2) following the occurrence of a synchronization error and to assess the test results and which is set up to configure at least the first multiplexer (70, 91).

Description

Redundante Zwei-Prozessor-Steuerung und Steuerungsverfahren  Redundant two-processor control and control method
[0001] Die folgende Erfindung betrifft eine redundante Zwei- Prozessor-Steuerung und ein Steuerungsverfahren. The following invention relates to a redundant two-processor controller and a control method.
[0002] Bekannte fehlertolerante Systemarchitekturen umfassen mindestens drei Prozessorkerne mit geteiltem oder gemeinsam benutztem Speicher. Hierbei wird der Gleichschrittbetrieb (lockstep) der Prozessoren stets durch Überwachen von Known fault-tolerant system architectures include at least three processor cores with shared or shared memory. Here, the lockstep operation of the processors is always by monitoring
Bussignalen überprüft. Im Folgenden wird der Bus signals checked. The following is the
Gleichschrittbetrieb auch als synchrones Abarbeiten eines Programms oder Programmteile durch die Prozessoren bezeichnet. DC step operation also referred to as synchronous execution of a program or program parts by the processors.
[0003] Fällt der aktive Prozessor aus, so geht die If the active processor fails, so does the
Eigentümerschaft über den Speicherbereich und Komponenten, die vom aktiven Prozessor über Eingabe/Ausgabekanäle angesteuert werden, an einen anderen Prozessor über. Im Ownership of the memory area and components driven by the active processor via input / output channels to another processor. in the
Gleichschrittsfehlerzustand (lockstep error, Steady state error state (lockstep error,
Synchronisationsfehler) , der auf einen Synchronization error), which is on one
Verriegelungsschrittfehler folgt, werden Datenzugriffe und Steuerungsprozesse dem aktiven Prozessor entnommen und durch einen anderen Prozessor aufrechterhalten. Figuren 7 und 8 zeigen herkömmliche Sicherheitsarchitekturen.  Locking step failure, data accesses and control processes are taken from the active processor and maintained by another processor. Figures 7 and 8 show conventional security architectures.
[0004] Bestehend aus einer Dreifach-Redundanz (TMR: Triple modular redundancy) von Prozessoren und gemeinsam benutztem Speicher stellt die klassische minimale Konfiguration für ein fehlertolerantes System eine noch teuere Lösung für manche Sicherheitsarchitekturen dar, deren Sicherheitskonzept auf der Verwendung von zwei redundanten, im Gleichschritt (lockstep) bzw. synchron laufenden Prozessoren basiert. Die Consisting of triple redundancy (TMR) of processors and shared memory, the classic minimal configuration for a fault-tolerant system represents an even more expensive solution for some security architectures whose security concept relies on the use of two redundant, in-memory Step lock (lockstep) or synchronously running processors based. The
Fehlertoleranz bildet jedoch eine besondere Herausforderung für zweifach redundante Prozessoren. [0005] Es sind Versuche unternommen worden, die darauf abzielen, die Fehlertoleranzfähigkeit in However, fault tolerance is a particular challenge for dual-redundant processors. [0005] Attempts have been made to improve fault tolerance capability
Sicherheitsplattformen mit nur zwei redundanten Prozessoren zu unterstützen. In US 5,915,082 werden intern Busse mit  Support security platforms with only two redundant processors. In US 5,915,082 buses are internally with
Paritätsbits versehen und verglichen. Nach Erkennung eines Paritätsfehlers auf einer Seite ohne Auftreten eines Parity bits provided and compared. After detection of a parity error on a page without occurrence of a
Gleichschrittfehlers (lockstep error) wird der dazu gehörende Prozessor getrennt, so dass er keinen Einfluss mehr im System hat. Nach jedem Gleichschrittfehler der ohne Paritätsfehler auftritt, wird das System jedoch abgeschaltet. Diese auf Paritätsprüfung basierte Vorgehensweise bietet keine Lockstep error, the associated processor is disconnected so that it no longer has any influence on the system. However, after each step error that occurs without parity error, the system will be turned off. This parity checking approach does not provide any
ausreichende Abdeckung in den Fällen, in denen die adequate coverage in cases where the
Verfügbarkeit eines redundanten Systems nach einem Availability of a redundant system after one
Gleichschrittfehler (lockstep error) sehr erwünscht ist. Die Paritätsprüfung kann beispielsweise zu einer falschen Step error (lockstep error) is very desirable. For example, the parity check may be incorrect
Entscheidung führen, falls unterschiedliche Mehr-Bit-Fehler angezeigt werden. Decide if different multi-bit errors are displayed.
[0006] US 2006/ 0107106 beschreibt ein Verfahren zur US 2006/0107106 describes a method for
Unterstützung der Verfügbarkeit in einem aus mehreren synchron laufenden Prozessorpaaren bestehenden System. In jedem Paar sind zwei redundante Prozessoren zusammengesetzt. Die Ausgänge der gepaarten Prozessoren werden stets verglichen. Falls ein Fehler in einem Prozessorpaar auftritt, wird ein anderes Prozessorpaar als Boot-Prozessorpaar die Ansteuerung des Systems übernehmen. In der Zwischenzeit wird das mit Fehler behaftete Prozessorpaar versuchen, die Synchronisation Support for availability in a system consisting of several synchronously running processor pairs. There are two redundant processors in each pair. The outputs of the paired processors are always compared. If an error occurs in one processor pair, another pair of processors will take control of the system as the boot processor pair. In the meantime, the faulty processor pair will try to synchronize
zurückzugewinnen und sich als Ersatzprozessorpaar zur to regain and become a substitute processor pair
Verfügung zu stellen. Somit wird eine hohe Verfügbarkeit des Systems gewährleistet. Dieses Verfahren ist jedoch teuer für viele eingebettete Systeme, die insbesondere eine hohe To make available. Thus, a high availability of the system is guaranteed. However, this method is expensive for many embedded systems, which in particular have a high
Verfügbarkeit möglichst mit einem einzigen Prozessorpaar aufweisen müssen. Hinzu kommt die Tatsache, dass jede Rückgewinnung der Synchronisation eines Prozessors strengen sicherheitsgerichteten Prüfungen in sicherheitsrelevanten Systemen unterzogen werden muss. If possible, have availability with a single processor pair. Add to that the fact that each one Recovery of the synchronization of a processor must be subjected to stringent safety-related tests in safety-relevant systems.
[0007] Vor diesem Hintergrund besteht Bedarf an einer Against this background, there is a need for a
Sicherheitsarchitektur mit nur zwei redundanten Prozessoren, die eine hohe Verfügbarkeit des Systems ermöglicht. Security architecture with only two redundant processors, which allows high availability of the system.
[0008] Diese Aufgabe wird gelöst durch eine Zwei-Prozessor Steuerungseinrichtung nach Anspruch 1. Weiterhin betrifft die Erfindung Zwei-Prozessor Steuerungseinrichtungen nach This object is achieved by a two-processor control device according to claim 1. Furthermore, the invention relates to two-processor control devices
Ansprüchen 7 und 10 sowie ein Steuerungsverfahren nach Claims 7 and 10 and a control method according to
Anspruch 14. Claim 14.
[0009] Weitere Ausführungsformen, Modifikationen und Vorteile sind in der nachfolgenden Beschreibung, Zeichnungen und in den Ansprüchen beschrieben. Further embodiments, modifications and advantages are described in the following description, drawings and in the claims.
[0010] Gemäß einer oder mehrerer Ausführungsformen umfasst eine redundante Zwei-Prozessor-Steuerungseinrichtung einen ersten Prozessor und einen zweiten Prozessor zur synchronen Ausführung eines Steuerungsprogramms, wenigstens einen ersten Multiplexer zum wahlweisen Verbinden wenigstens einer In accordance with one or more embodiments, a redundant two-processor controller includes a first processor and a second processor for synchronously executing a control program, at least one first multiplexer for selectively connecting at least one
anzusteuernden ersten peripheren Einheit mit einem der zwei Prozessoren und wenigstens eine erste Vergleichseinheit zur Überwachung des Synchronisationszustands der beiden to be controlled first peripheral unit with one of the two processors and at least a first comparison unit for monitoring the synchronization state of the two
Prozessoren und zur Erkennung eines Synchronisationsfehlers. Weiterhin umfasst die Steuerungseinrichtung eine Processors and for detecting a synchronization error. Furthermore, the control device comprises a
Wiederherstellungskontrolleinheit, die eingerichtet ist, die Ausführung wenigstens eines Testprogramms durch die beiden Prozessoren nach Auftreten eines Synchronisationsfehlers zu überwachen und die Testergebnisse zu bewerten, und weiterhin eingerichtet, wenigstens den ersten Multiplexer zu A recovery control unit configured to monitor the execution of at least one test program by the two processors upon the occurrence of a synchronization error and to evaluate the test results, and further configured to include at least the first multiplexer
konfigurieren . [0011] Durch die Vergleichseinheit wird der synchrone Betrieb, d.h. der Gleichschritt, der Prozessoren überwacht. Dies kann dadurch erfolgen, dass die Abarbeitung des Steuerungsprogramms „zeilenweise" miteinander verglichen wird, wobei die gleichen Ergebnisse zu gleichen Zeitpunkten vorliegen müssen. Ist dies nicht gegeben, liegt ein Gleichschrittfehler bzw. configure. By the comparison unit of the synchronous operation, ie the Gleichschritt, the processors monitored. This can be done by comparing the execution of the control program "line by line" with each other, whereby the same results must be available at the same time.
Verriegelungsschrittfehler vor, d.h. die Prozessoren arbeiten nicht mehr synchron. Latch step error, i. the processors are no longer working synchronously.
[0012] Die synchrone Abarbeitung des Steuerungsprogramms ist ein wichtiges Merkmal redundanter Systeme, da hiermit The synchronous execution of the control program is an important feature of redundant systems, since hereby
überprüft werden kann, dass der derzeit aktive Prozessor fehlerfrei arbeitet, wobei dabei unterstellt wird, dass das gleichzeitige Auftreten desselben Fehlers bei beiden It can be checked that the currently active processor is operating error free, assuming that the simultaneous occurrence of the same error in both
Prozessoren statistisch sehr unwahrscheinlich ist. Bei Processors is statistically very unlikely. at
Auftreten eines Synchronisationsfehlers ist es allerdings zunächst unklar, ob der Fehler beim aktiven oder beim passiven Prozessor aufgetreten ist. Unter aktivem Prozessor soll hier der Prozessor verstanden werden, der tatsächlich die periphere Einheit ansteuert. Der passive Prozessor ist derjenige, der lediglich synchron mitläuft, d.h. dieser erhält die gleichen Daten und arbeitet die gleichen Programmschritte ab wie der aktive Prozessor. However, if a synchronization error occurs, it is initially unclear whether the error has occurred in the active or in the passive processor. By active processor is meant here the processor that actually drives the peripheral unit. The passive processor is the one that only runs synchronously, i. it receives the same data and processes the same program steps as the active processor.
[0013] Bei Auftreten eines Synchronisationsfehlers ist somit nicht mehr gewährleistet, dass die Steuerung korrekt When a synchronization error occurs is thus no longer guaranteed that the controller is correct
ausgeführt wird, d.h. es besteht ein Risiko insbesondere bei sicherheitsrelevanten Systemen, wie sie beispielsweise im is executed, i. there is a risk, especially with regard to security-relevant systems, such as those in the
Automobilbereich aber auch in anderen Bereichen zum Einsatz kommen. Üblicherweise muss das Steuerungssystem, Automotive but also in other areas are used. Usually, the control system,
beispielsweise die in Figuren 7 und 8 gezeigten, vollständig abgeschaltet werden. [0014] Bei der hier vorgeschlagenen Lösung ist eine Wiederherstellungskontrolleinheit vorgesehen, welche bei for example, those shown in Figures 7 and 8, are completely switched off. In the solution proposed here, a recovery control unit is provided which at
Auftreten eines Synchronisationsfehlers die beiden Prozessoren einem Test unterwirft, um zu bestimmen, welcher der beiden Prozessoren fehlerbehaftet ist. Nach Durchführung des Tests und Bewertung der Testergebnisse entscheidet die Occurrence of a synchronization error subjecting the two processors to a test to determine which of the two processors is faulty. After the test has been carried out and the test results evaluated, the
Wiederherstellungskontrolleinheit das weitere Vorgehen. Restoration control unit the further procedure.
[0015] Sofern beide Prozessoren den Test bestanden haben, wird davon ausgegangen, dass beide Prozessoren fehlerfrei sind. In diesem Fall wird die synchrone Ausführung des If both processors have passed the test, it is assumed that both processors are error-free. In this case, the synchronous execution of the
Steuerungsprogramms fortgeführt. Control program continued.
[0016] Diese Lösung hat den entscheidenden Vorteil, dass die Ansteuerung der peripheren Einheit unter Beibehaltung der hohen Sicherheitsstufe fortgesetzt werden kann, denn die beiden Prozessoren wurden einem Test auf Fehlerfreiheit unterworfen. Dies ist ein entscheidender Vorteil gegenüber anderen Lösungen, bei denen nach Auftreten eines This solution has the decisive advantage that the control of the peripheral unit can be continued while maintaining the high security level, because the two processors were subjected to a test for accuracy. This is a decisive advantage over other solutions, where after the occurrence of a
Synchronisationsfehlers (lockstep error) grundsätzlich eine vollständige Abschaltung erfolgt und das System nur extern wieder zurückgesetzt werden kann. Dabei muss beachtet werden, dass das bloße Zurücksetzen (reset) eines System für Synchronization error (lockstep error) is basically a complete shutdown and the system can only be reset externally. It should be noted that the mere resetting of a system for
sicherheitsrelevante Anwendungen häufig keine safety-related applications often no
zufriedenstellende Lösung darstellt, da keine Fehlerbewertung vorgenommen wird, d.h. es bleibt unerkannt, was zu dem satisfactory solution, since no error evaluation is made, i. it remains unrecognized, what the
Synchronisationsfehler geführt hat. Die hier beschriebene Lösung bietet daher einen Weg, wie mit Synchronisationsfehler umgegangen werden kann und ermöglicht die Rückgewinnung der Synchronisation von zwei redundanten Systemen nach einem Synchronization error has led. The solution described here therefore provides a way to deal with synchronization errors and allows the recovery of the synchronization of two redundant systems after one
Verriegelungsschritt- bzw. Gleichschrittfehler (Lockstep error) . [0017] Wurde dagegen ein Prozessor als fehlerhaft bewertet, wird die Steuerungseinrichtung durch die Lock step error (lockstep error). On the other hand, if a processor was rated as faulty, the control device is controlled by the
Wiederherstellungskontrolleinheit umkonfiguriert und zwar so, dass die Ausgaben des fehlerhaften Prozessors von nun an ignoriert werden und sichergestellt wird, dass die periphere Einheit nun nur noch vom fehlerfreien Prozessor angesteuert werden kann, nicht jedoch durch den fehlerhaften Prozessor. Typischerweise erfolgt dies durch Umkonfigurierung des ersten Multiplexers , so dass ein Datenfluss nur noch zwischen  Reconfigured recovery control unit in such a way that the outputs of the faulty processor are ignored from now on and ensures that the peripheral unit can now be controlled only by the error-free processor, but not by the faulty processor. Typically, this is done by reconfiguration of the first multiplexer, so that a data flow only between
peripherer Einheit und fehlerfreiem Prozessor möglich ist. Außerdem führt die Umkonfigurierung dazu, dass die peripheral unit and error-free processor is possible. In addition, the reconfiguration causes the
Vergleichseinheit keine Überwachung mehr durchführt. Comparative unit stops monitoring.
[0018] Diese Lösung hat den entscheidenden Vorteil, dass die Ansteuerung der peripheren Einheit fortgesetzt werden kann, auch wenn dies jetzt ohne Redundanz auf der Prozessorseite erfolgt. Dies ist ein erheblicher Vorteil gegenüber bekannten Lösungen, bei denen die Steuerung bei Auftreten eines This solution has the decisive advantage that the control of the peripheral unit can be continued, even if this is done now without redundancy on the processor side. This is a significant advantage over known solutions in which the control occurs when a
Synchronisationsfehlers (lockstep errors) vollständig Synchronization error (lockstep errors) completely
abgeschaltet wurde. Die vorgeschlagene Lösung erhöht dabei die Verfügbarkeit des Systems, was bei kritischen Anwendungen besonders wichtig ist, damit die Kontrolle über das System weiter aufrecht erhalten werden kann. Die was turned off. The proposed solution thereby increases the availability of the system, which is particularly important in critical applications so that control of the system can be maintained. The
Steuerungseinrichtung kann allerdings ein Fehlersignal Control device can, however, an error signal
abgeben, um auf den nun nur noch vorliegenden „Ein-Prozessor- Betrieb" hinzuweisen, so dass eine Wartung erfolgen kann. in order to point to the now only available "one-processor operation", so that maintenance can take place.
[0019] Die hier vorgeschlagene redundante The proposed here redundant
Steuerungsvorrichtung mit Mitteln zur Beherrschung eines Control device with means for controlling a
Synchronisationsfehlers kann in beliebigen Synchronization error can be in any
sicherheitsrelevanten Systemen eingesetzt werden. Ein Beispiel sind Bremsanwendungen im Automotive-Bereich . Dabei ist die auf nur zwei redundanten Prozessoren basierende Steuerungsvorrichtung so ausgestaltet, dass sie die vorhandene Sicherheitsstufe beibehält und eine hohe Verfügbarkeit des Systems ermöglicht. safety-relevant systems are used. One example is brake applications in the automotive sector. It is based on only two redundant processors Control device designed so that it maintains the existing security level and allows high availability of the system.
[0020] Unter der anzusteuernden peripheren Einheit kann prinzipiell jede Einheit verstanden werden, auf die der jeweilige Prozessor zugreift. Beispiele sind Speicher, In principle, any unit to which the respective processor accesses can be understood as the peripheral unit to be controlled. Examples are memory,
Aktuatoren, Eingabe/Ausgabe-Einheiten und Sensoren. Actuators, input / output units and sensors.
[0021] Gemäß einer oder mehrerer Ausführungsformen ist die Wiederherstellungskontrolleinheit so eingerichtet ist, den Synchronisationsfehler einem Fehlertyp zuzuordnen und auf Basis des Fehlertyps ein Testprogramm auszuwählen. Der In one or more embodiments, the recovery control unit is configured to associate the synchronization error with an error type and select a test program based on the type of error. Of the
aufgetretene Fehler wird analysiert, um herauszufinden, wo der Fehler aufgetreten sein kann bzw. durch welche der Komponente er verursacht wurde. Auf dieser Grundlage wird dann ein geeignetes Testprogramm ausgewählt, wobei die Testprogramme sowie die erwarteten Testergebnisse vorab abgespeichert sind, beispielsweise in der Wiederherstellungskontrolleinheit. Wenn sich der Fehler, d.h. der Unterschied der beiden Any errors that have occurred are analyzed to find out where the error may have occurred or by which component it was caused. On this basis, a suitable test program is then selected, wherein the test programs and the expected test results are stored in advance, for example in the recovery control unit. If the error, i. the difference between the two
Prozessorausgaben, in einer unterschiedlichen Speicheradresse zeigt, kann beispielsweise ein Testprogramm gewählt werden, mit dem Speicherfehler erkennbar sind. Diese Herangehensweise verbessert die Fehlereingrenzung . Processor outputs, in a different memory address shows, for example, a test program can be selected, with the memory errors are recognizable. This approach improves error containment.
[0022] Gemäß einer oder mehrerer Ausführungsformen ist die Wiederherstellungskontrolleinheit eingerichtet ist, den ersten Multiplexer auf Basis des Testergebnisses zu konfigurieren. Der Multiplexer, und allgemein die Steuerungseinrichtung, wird so in Abhängigkeit vom Testergebnis konfiguriert. Es ist möglich, dass die Funktion des Multiplexers von einer Bus- Matrix übernommen wird. [0023] Gemäß einer oder mehrerer Ausführungsformen weist die Steuerungseinrichtung weiterhin wenigstens einen zweiten [0022] According to one or more embodiments, the recovery control unit is configured to configure the first multiplexer based on the test result. The multiplexer, and generally the controller, is thus configured depending on the test result. It is possible that the function of the multiplexer is taken over by a bus matrix. According to one or more embodiments, the control device further comprises at least a second
Multiplexer zum wahlweisen Verbinden wenigstens einer Multiplexer for selectively connecting at least one
anzusteuernden zweiten peripheren Einheit mit einem der zwei Prozessoren auf, wobei der zweite Multiplexer durch die to be controlled second peripheral unit with one of the two processors, wherein the second multiplexer through the
Wiederherstellungskontrolleinheit konfigurierbar ist. Die Steuerungsvorrichtung ermöglicht so auch die wahlweise Recovery control unit is configurable. The control device thus also allows the optional
Ansteuerung von mehreren peripheren Einheiten unter Beachtung der Sicherheitsaspekte. Control of several peripheral units in compliance with the safety aspects.
[0024] Gemäß einer oder mehrerer Ausführungsformen weist die Steuerungseinrichtung weiterhin wenigstens eine zweite According to one or more embodiments, the control device further comprises at least a second one
Vergleichseinheit zur Überwachung des Synchronisationszustands der beiden Prozessoren und zur Erkennung eines Comparison unit for monitoring the synchronization state of the two processors and for detecting a
Synchronisationsfehlers auf. Dies ermöglicht die Synchronization error on. This allows the
wechselseitige Überwachung und erhöht damit die mutual monitoring, thereby increasing the
Zuverlässigkeit des Systems. Reliability of the system.
[0025] Gemäß einer oder mehrerer Ausführungsformen weist die Steuerungseinrichtung eine erste Bus-Matrix, welche den ersten Prozessor mit dem ersten Multiplexer verbindet, und eine zweite Bus-Matrix auf, welche den zweiten Prozessor mit dem zweiten Multiplexer verbindet. In one or more embodiments, the controller includes a first bus matrix connecting the first processor to the first multiplexer and a second bus matrix connecting the second processor to the second multiplexer.
[0026] Gemäß einer oder mehrerer Ausführungsformen ist die erste periphere Einheit eine gemeinsame Einheit ist, die wahlweise von einem der beiden Prozessoren angesteuert werden kann. Weiterhin weist die Steuerungsvorrichtung wenigstens zwei weitere periphere Einheiten auf, wobei die eine der beiden peripheren Einheiten nur dem ersten Prozessor und die andere der beiden peripheren Einheiten nur dem zweiten According to one or more embodiments, the first peripheral unit is a common unit that can be selectively driven by one of the two processors. Furthermore, the control device has at least two further peripheral units, wherein the one of the two peripheral units only the first processor and the other of the two peripheral units only the second
Prozessor als private periphere Einheit zugeordnet ist, auf die nur der jeweils zugeordnete Prozessor zugreifen kann. Unter einer gemeinsamen peripheren Einheit bzw. Komponente wird hier eine Einheit verstanden, welche redundant Processor is assigned as a private peripheral unit, which can be accessed only by the associated processor. A common peripheral unit or component is here understood to mean a unit which is redundant
angesteuert wird, d.h. die Ansteuerung erfolgt wahlweise durch einen der beiden Prozessoren, wobei der andere zum Vergleichen dient. Eine private Einheit wird dagegen nur von jeweils einem der beiden Prozessoren angesteuert. Der jeweils andere is driven, i. the control is optionally carried out by one of the two processors, the other is used for comparison. In contrast, a private unit is only controlled by one of the two processors. The other one
Prozessor hat keinen Zugriff auf diese Einheit, auch nicht den oder die Multiplexer. Die hier vorgestellte Lösung gestattet es, die Wiedergewinnung der Synchronisation zwischen zwei redundanten Prozessoren auch unter Berücksichtigung von nichtredundanten Komponenten zu ermöglichen, die typischerweise in verschiedenen eingebetteten Systemen aus Kostengründen Processor has no access to this unit, not even the multiplexer (s). The solution presented here makes it possible to recover the synchronization between two redundant processors even considering non-redundant components typically used in different embedded systems for cost reasons
implementiert werden. be implemented.
[0027] Gemäß einer oder mehrerer Ausführungsformen sind die zwei weiteren peripheren Einheiten redundante Einheiten, d.h. sie sind physikalisch identisch und dienen zur Ausführung der gleichen Funktion. According to one or more embodiments, the two further peripheral units are redundant units, i. they are physically identical and serve to perform the same function.
[0028] Gemäß einer oder mehrerer Ausführungsformen sind die erste und/oder die zweite Vergleichseinheit eingerichtet, ein Synchronisationsfehlersignal bei Auftreten eines According to one or more embodiments, the first and / or the second comparison unit is set up, a synchronization error signal when a
Synchronisationsfehlers zu erzeugen. Das Synchronization error to produce. The
Synchronisationsfehlersignal kann beispielsweise ein Interrupt sein .  Synchronization error signal may be an interrupt, for example.
[0029] Gemäß einer oder mehrerer Ausführungsformen wird ein Steuerungsverfahren bereitgestellt. Das Steuerungsverfahren umfasst die synchrone Abarbeitung eines Steuerungsprogramms durch einen ersten und einen zweiten Prozessor, die über einen Multiplexer mit wenigstens einer anzusteuernden peripheren Einheit verbunden sind, wobei nur einer der beiden Prozessor die periphere Einheit zu einem bestimmten Zeitpunkt ansteuert. Das synchrone Abarbeiten des Steuerprogramms wird durch eine Vergleichseinheit überwacht. Ein Synchronisationsfehlersignal wird ausgegeben, wenn die beiden Prozessoren desynchronisiert sind. Nach Ausgabe eines Synchronisationsfehlersignals wird zunächst die Abarbeitung des Steuerprogramms durch die beiden Prozessoren unterbrochen. Dann wird ein Test zur Überprüfung, ob einer der beiden Prozessoren fehlerhaft ist, durchgeführt. Wenn beide Prozessoren fehlerfrei sind, wird die synchrone Abarbeitung des Steuerungsprogramms durch die beiden In one or more embodiments, a control method is provided. The control method comprises the synchronous execution of a control program by a first and a second processor, which are connected via a multiplexer to at least one peripheral unit to be controlled, wherein only one of the two processors controls the peripheral unit at a certain time. The synchronous execution of the control program is monitored by a comparison unit. A synchronization error signal is output when the two processors are desynchronized. After issuing a synchronization error signal, the execution of the control program is first interrupted by the two processors. Then, a test is made to check if one of the two processors is faulty. If both processors are error free, the synchronous execution of the control program will be through the two
Prozessoren fortgesetzt. Wenn einer der beiden Prozessoren dagegen als fehlerhaft erkannt wurde, werden der Multiplexer und die Vergleichseinheit in der Weise konfiguriert, dass keine weitere Kommunikation mit dem fehlerbehafteten Prozessor und kein weiteres Überwachen durch die Vergleichseinheit erfolgen und dass der fehlerfreie Prozessor die periphere Einheit ansteuert. Die Abarbeitung des Steuerungsprogramms wird durch den fehlerfreien Prozessor fortgesetzt. Wenn beide Prozessoren fehlerhaft sind, erfolgt eine Abschaltung der Steuerung . Processors continued. On the other hand, if one of the two processors has been identified as faulty, the multiplexer and the compare unit are configured such that there is no further communication with the faulty processor and no further monitoring by the compare unit and that the healthy processor drives the peripheral unit. The processing of the control program is continued by the error-free processor. If both processors are faulty, the controller is shut down.
[0030] Gemäß einer oder mehrerer Ausführungsformen umfasst der Test die gleichzeitige Ausführung wenigstens eines According to one or more embodiments, the test comprises the simultaneous execution of at least one
Testprogramms durch beide Prozessoren, wobei ein Prozessor als fehlerhaft angesehen wird, wenn wenigstens eine der folgenden Bedingungen erfüllt ist: Test program by both processors, where a processor is considered to be faulty if at least one of the following conditions is met:
- der Prozessor hat das Testprogramm nicht innerhalb  - The processor does not have the test program within
einer ersten Zeitdauer Tl abgearbeitet,  a first time Tl processed,
- der Prozessor hat das Testprogramm nicht erfolgreich abgearbeitet,  the processor did not successfully execute the test program,
- der Prozessor ist nach Ablauf der ersten Zeitdauer Tl für eine zweite Zeitdauer T2 nicht in den Ruhezustand übergegangen . [0031] Damit soll sichergestellt werden, dass nicht nur die richtige oder falsche Abarbeitung berücksichtigt wird, sondern auch, ob die Prozessoren den Test innerhalb einer vorgegebenen Zeit abgearbeitet haben. Die Überprüfung des Ruhezustands dient dazu festzustellen, ob ein Prozessor, obwohl er keine Instruktionen abarbeitet, trotzdem Daten ausgibt. Dies weist ebenfalls auf einen fehlerbehafteten Prozessor hin. - The processor has not gone into the idle state after the first time period Tl for a second period of time T2. This is to ensure that not only the correct or incorrect processing is taken into account, but also whether the processors have completed the test within a predetermined time. Hibernate scanning is used to determine if a processor is still outputting data while it is not processing any instructions. This also indicates a faulty processor.
[0032] Gemäß einer oder mehrerer Ausführungsformen wird der Synchronisationsfehler bewertet und einem Fehlertyp In one or more embodiments, the synchronization error is evaluated and an error type
zugeordnet, wobei zur Überprüfung der Prozessoren wenigstens ein Testprogramm in Abhängigkeit vom Fehlertyp ausgewählt wird. Damit lassen sich ein oder ggf. mehrere at least one test program depending on the error type is selected for checking the processors. This can be one or more if necessary
fehlerspezifische Testprogramme auswählen. Select error-specific test programs.
[0033] Die Erfindung wird nun an Hand konkreter in den Figuren dargestellter Ausführungsbeispiele beschrieben. Diese sollen jedoch nicht als einschränkend ausgelegt werden. Für den The invention will now be described with reference to concrete embodiments shown in the figures. However, these should not be construed as limiting. For the
Fachmann ergeben sich aus der nachfolgenden Beschreibung weitere Modifikationen, die vom Schutzbereich mit umfasst sein sollen . The skilled person will be apparent from the following description of further modifications that should be included in the scope.
[0034] Figur 1 zeigt eine Steuerungsvorrichtung gemäß einer Ausführungsform im Normalbetrieb und Figur 2 die FIG. 1 shows a control device according to an embodiment in normal operation and FIG
Steuerungsvorrichtung bei Ausfall eines Prozessors. Control device in case of failure of a processor.
[0035] Figur 3 zeigt eine Steuerungsvorrichtung gemäß einer Ausführungsform. FIG. 3 shows a control device according to one embodiment.
[0036] Figur 4 zeigt eine Steuerungsvorrichtung gemäß einer Ausführungsform. FIG. 4 shows a control device according to one embodiment.
[0037] Figur 5 zeigt eine Steuerungsvorrichtung gemäß einer Ausführungsform. [0038] Figur 6 zeigt den Ablauf eines Steuerungsprogramms gemäß einer Ausführungsform. FIG. 5 shows a control device according to an embodiment. FIG. 6 shows the sequence of a control program according to an embodiment.
[0039] Figur 7 eine Architektur mit zwei Prozessoren. FIG. 7 shows an architecture with two processors.
[0040] Figur 8 eine Architektur mit einer Aufteilung von Peripherie-Modulen in zwei Gruppen A und B. 8 shows an architecture with a division of peripheral modules into two groups A and B.
[0041] Figur 1 zeigt eine schematisch Steuerungsvorrichtung mit einem ersten und einem zweiten Prozessor 1, 2 und einem ersten und zweiten Multiplexer 91, 92. Jeder der Multiplexer 91, 92 bildet eine Einheit mit jeweils einer Figure 1 shows a schematic control device with a first and a second processor 1, 2 and a first and second multiplexer 91, 92. Each of the multiplexers 91, 92 forms a unit with one each
Vergleichseinrichtung, die in den Figuren als Komparator bezeichnet ist. Jeder der Multiplexer 91, 92 ist mit jeweils einer peripheren Einheit 95, 96 verbunden und ermöglicht einen wahlweisen Zugriff der Prozessoren 1, 2 auf die peripheren Einheiten 95, 96. Eine Widerherstellungskontrolleinheit 44 ist sowohl mit den beiden Prozessoren 1, 2 als auch mit den Comparison device, which is referred to in the figures as a comparator. Each of the multiplexers 91, 92 is connected to a peripheral unit 95, 96, respectively, and allows optional access of the processors 1, 2 to the peripheral units 95, 96. A recovery control unit 44 is operable both with the two processors 1, 2 and
Multiplexern 95, 96 verbunden. Multiplexers 95, 96 connected.
[0042] Bei den Prozessoren 1, 2 kann es sich auch um The processors 1, 2 may also be
Prozessorkerne handeln. Processor cores act.
[0043] Die in Figur 1 dargestellten fetten Pfeile zeigen den tatsächlich durch die Multiplexer 91, 92 vermittelten The bold arrows shown in Figure 1 show the actually mediated by the multiplexer 91, 92
Datenfluss von den Prozessoren 1, 2 zu den peripheren Data flow from the processors 1, 2 to the peripheral
Einheiten 95, 96. Prozessor 1 kommuniziert mit peripherer Einheit 95 und steuert diese und Prozessor 2 kommuniziert mit peripherer Einheit 2 und steuert diese. Prozessor 1, Units 95, 96. Processor 1 communicates with and controls peripheral unit 95 and processor 2 communicates with and controls peripheral unit 2. Processor 1,
Multiplexer/Komparator 91 und periphere Einheit 95 bilden hier einen Zweig A, während Prozessor 2, Multiplexer/Komparator 92 und periphere Einheit 96 einen Zweig B bilden. Allerdings bestehen kreuzweise Kommunikationspfade und zwar einerseits zwischen Prozessor 2 und Multiplexer/Komparator 91 und andererseits zwischen Prozessor A und Multiplexer/Komparator 92. Multiplexer / comparator 91 and peripheral unit 95 form a branch A, while processor 2, multiplexer / comparator 92 and peripheral unit 96 form a branch B. However, there are crosswise communication paths on the one hand between processor 2 and multiplexer / comparator 91 and on the other hand, between processor A and multiplexer / comparator 92.
[0044] Die Komparatoren 91, 92 vergleichen jeweils, ob die Prozessoren synchron zueinander arbeiten, d.h. ob sie The comparators 91, 92 respectively compare whether the processors are in sync with each other, i. whether you
zeitgleich die gleichen Ergebnisse ausgeben. Ist dies nicht der Fall, liegt ein Synchronisationsfehler vor. In diesem Fall werden die Prozessoren getestet und in Abhängigkeit davon die Steuerungseinrichtung umkonfiguriert. Dies ist in Figur 2 schematisch dargestellt. spend the same results at the same time. If this is not the case, there is a synchronization error. In this case, the processors are tested and, depending on this, the controller reconfigured. This is shown schematically in FIG.
[0045] In Figur 2 wurde angenommen, dass der Test, der von der Wiederherstellungskontrolleinheit 44 überwacht und ausgewertet wird, ergeben hat, dass Prozessor 1 defekt ist. In diesem Fall werden die beiden Multiplexer 91, 92 umkonfiguriert und zwar so, dass beide Multiplexer 91, 92 die Ausgaben von Prozessor 1 ignorieren. Gleichzeitig gestattet nun Multiplexer 91 eine Kommunikation zwischen Prozessor 2 und peripherer Einheit 95. Prozessor 2 steuert nun die peripheren Einheiten sowohl im Zweig A als auch in Zweig B an. Prozessor 2 muss dazu nicht notwendigerweise anders programmiert werden, da j a Prozessor 2, für Vergleichszwecke, bereits im Normalzustand das In Figure 2, it was assumed that the test monitored and evaluated by the recovery control unit 44 revealed that processor 1 is defective. In this case, the two multiplexers 91, 92 are reconfigured in such a way that both multiplexers 91, 92 ignore the outputs of processor 1. At the same time, multiplexer 91 now allows communication between processor 2 and peripheral unit 95. Processor 2 now drives the peripheral units in both branch A and branch B. Processor 2 does not necessarily have to be programmed differently, since j a processor 2, for comparison purposes, already in the normal state
Steuerungsprogramm für die periphere Einheit 95 (Zweig A) ausgeführt hatte. Der Unterschied ist nur, dass er jetzt auch „schreibend" auf periphere Einheit 95 zugreifen kann. Control program for the peripheral unit 95 (branch A). The only difference is that he can now also "write" to peripheral unit 95.
Weiterhin wird die Vergleichsfunktion der Komparatoren Furthermore, the comparison function of the comparators
inaktiviert, da diese nun keine Eingaben mehr von Prozessor 1 erhalten. Dies ist deswegen erforderlich, damit die disabled because they no longer receive input from processor 1. This is necessary because of that
Komparatoren 91, 92 keine weiteren Fehlersignale ausgeben. Comparators 91, 92 output no further error signals.
[0046] Im Ergebnis kann die Abarbeitung des Steuerprogramms umfassend Steuerprogramm für periphere Einheit 95 und periphere Einheit 96, wieder fortgesetzt werden. Dadurch wird die Verfügbarkeit des Systems erhöht. As a result, the execution of the control program including peripheral unit control program 95 and peripheral unit 96, to be resumed. This increases the availability of the system.
[0047] Falls der Test ergeben hat, dass beide Prozessoren 1, 2 fehlerfrei sind, wird der Zustand von Figur 1 wieder If the test has shown that both processors 1, 2 are error-free, the state of Figure 1 is again
eingenommen. Für den Fall, dass beide Prozessoren defekt sind, erfolgt eine Abschaltung des Systems. ingested. In the event that both processors are defective, the system is shut down.
[0048] Die in den Figuren 1 und 2 gezeigte Vorgehensweise ist insbesondere bei nicht redundant ausgelegten peripheren The procedure shown in FIGS. 1 and 2 is especially for non-redundantly designed peripheral ones
Einheiten von Vorteil. Units of advantage.
[0049] Die in Figuren 1 und 2 gezeigte Architektur umfasst eine Aufteilung von Peripherie-Modulen in zwei Gruppen A und B. Jede Gruppe umfasst mindestens einen Prozessor 1, 2, einen hier nicht gezeigten Busumschalter (Bus Matrix, Bus Crossbar) und anzusteuernde Peripheriemodule 95, 96. Speichermodule können in einer Gruppe oder in beiden Gruppen implementiert werden. Die Seite A wird tatsächlich (also physikalisch) immer vom Prozessor 1 (Prozessor A) angesteuert. Die Seite B wird tatsächlich immer vom Prozessor 2 (Prozessor B) The architecture shown in Figures 1 and 2 comprises a division of peripheral modules into two groups A and B. Each group comprises at least one processor 1, 2, a bus switch not shown here (bus matrix, bus crossbar) and to be controlled peripheral modules 95, 96. Memory modules can be implemented in one group or in both groups. The page A is actually (ie physically) always driven by the processor 1 (processor A). Page B is actually always from the processor 2 (processor B)
angesteuert. Daten der Peripherie-Modulen 95 können quer über die Multiplexer 91, 92 an die Seite B weiter gereicht werden. Der Prozessor 1 kann auf ähnliche Weise Daten von Peripherie- Modulen 96 auslesen. driven. Data of the peripheral modules 95 may be passed across to the side B across the multiplexers 91, 92. The processor 1 may similarly read out data from peripheral modules 96.
[0050] Figur 3 zeigt eine Ausführungsform, bei der eine periphere Einheit 22, die dort als periphere Module bezeichnet ist, redundant durch zwei Prozessoren 1 und 2 angesteuert ist, wobei zu einem vorgegebenen Zeitpunkt tatsächlich nur einer der beiden Prozessoren die Einheit 22 ansteuert. Dies erfolgt über einen Multiplexer 21. Eine weitere periphere Einheit 5, bei der es sich um eine gemeinsame interne periphere Einheit handeln kann, beispielsweise ein Speicher 5, ist über einen Multiplexer 20 mit den beiden Prozessoren 1, 2 verbunden. Die Prozessoren 1, 2 selbst sind jeweils über eine Bus-Matrix 3, 4 mit den Multiplexern 20, 21 verbunden. Auch in dieser Figure 3 shows an embodiment in which a peripheral unit 22, which is referred to therein as peripheral modules, is redundantly driven by two processors 1 and 2, wherein at a given time actually only one of the two processors, the unit 22 drives. This is done via a multiplexer 21. Another peripheral unit 5, which may be a common internal peripheral unit, for example a memory 5, is over one Multiplexer 20 connected to the two processors 1, 2. The processors 1, 2 themselves are each connected to the multiplexers 20, 21 via a bus matrix 3, 4. Also in this
Ausführungsform können die Multiplexer 20, 21, die in Einheit mit jeweiligen Vergleichseinheiten (Komparatoren) vorliegen, im Fehlerfall geeignet konfiguriert werden, um die Steuerung verfügbar zu halten. In the embodiment, the multiplexers 20, 21, which are in unit with respective comparison units (comparators), may be suitably configured in case of failure to keep the control available.
[0051] Gemäß einer oder mehrerer Ausführungsformen erfolgt eine klare Trennung zwischen gemeinsam verwendeten und According to one or more embodiments, a clear separation between shared and
privaten redundanten Bereichen der Steuerung. Jedem Prozessor 1, 2 werden private Komponenten bzw. Einheiten zugeordnet, die nur von ihm angesteuert werden. Die privaten Komponenten (in Figur 4 die beiden peripheren Einheiten 61, 62) sind private redundant areas of the controller. Each processor 1, 2 are assigned private components or units that are only controlled by it. The private components (in FIG. 4, the two peripheral units 61, 62) are
vorzugsweise redundant, um möglichst eine perfekte Symmetrie der redundanten privaten Bereiche nachbilden zu können. Aus Kostengründen können einige Komponenten, wie beispielsweise der Programmspeicher, nur einmal und zwar im gemeinsam preferably redundant in order to be able to emulate a perfect symmetry of the redundant private areas as possible. For cost reasons, some components, such as the program memory, only once in common
benutzten Bereich, implementiert werden. Im Lockstep-Betrieb arbeiten die zwei Prozessoren 1, 2 synchron. Die tatsächliche Ansteuerung der gemeinsam verwendeten Komponenten bzw. used area, are implemented. In lockstep operation, the two processors 1, 2 operate synchronously. The actual control of the shared components or
peripheren Einheiten kann jeder der zwei redundanten peripheral units can be any of the two redundant ones
Prozessoren übernehmen und wird tatsächlich zu einem Processors take over and actually become one
bestimmten Zeitpunkt nur von einem Prozessor durchgeführt, während der andere Prozessor aufgrund des Lockstep-Betriebs alle Daten rechtzeitig bekommt. certain time only one processor performed while the other processor gets all the data in time due to the lockstep operation.
[0052] Nach Erkennung eines Verriegelungsschrittfehlers Upon detection of a lock step error
(lockstep error) soll jeder Prozessor 1, 2 während eines (lockstep error) should each processor 1, 2 during a
Zeitintervalls Tl möglichst in dem zugewiesenen privaten Time interval Tl possible in the assigned private
Bereich aktiv bleiben und keine sicherheitsrelevante Funktion mit Auswirkungen außerhalb der Architektur ausführen. Das heißt insbesondere die Ansteuerung von externen peripheren Einheiten bzw. Komponenten, die eine Wirkung nach Außen zeigen, wird unterbrochen. Remain active and do not perform a safety-related function with effects outside of the architecture. This means in particular the control of external peripheral Units or components that show an external effect will be interrupted.
[0053] Für die notwendigen Zugriffe auf nicht redundante Komponenten wie beispielsweise auf den Programmspeicher wird ein Multiplexbetrieb für die zwei redundanten Prozessoren 1, 2 im Zeitintervall Tl ermöglicht. Jeder For the necessary accesses to non-redundant components such as the program memory, a multiplex operation for the two redundant processors 1, 2 in the time interval Tl is possible. Everyone
Verriegelungsschrittfehler (lockstep error) löst eine  Locking step error (lockstep error) triggers a
Unterbrechung des Programmsablaufs (Interrupt) aus. In der Interrupt-Routine werden die Prozessoren 1, 2 unabhängig voneinander die gleichen Testprogramme ausführen und Interruption of program execution (interrupt) off. In the interrupt routine, the processors 1, 2 will independently execute the same test programs and
Testergebnisse für eine spätere Prüfung mittels eines Test results for a later test by means of a
autonomen Hardware-Überwachungsmoduls, in den Figuren die Wiederherstellungskontrolleinheit 44, ablegen. autonomous hardware monitoring module, in the figures the recovery control unit 44, drop.
[0054] Manche Testprogramme können aus dem Fehlerkontext abgeleitet werden. Beispielsweise wird der aufgetretene Fehler klassifiziert und einem Fehlertyp zugeordnet und diese Some test programs can be derived from the error context. For example, the error that has occurred is classified and assigned to an error type and this
Zuordnung für die Auswahl des oder der jeweiligen Assignment for the selection of the or the respective
Testprogramme genutzt. Test programs used.
[0055] Jeder Prozessor soll die Abarbeitung der Unterbrechung sanft ohne Rücksprung verlassen. Hintergrund ist, dass das Testprogramm durch Interrupt gestartet wurde und nach Ablauf des Testprogramms die Prozessoren 1, 2 normalerweise das Each processor should leave the execution of the interruption smoothly without a jump. The background is that the test program was started by interrupting and after the expiration of the test program, the processors 1, 2 normally the
Steuerungsprogramm, das auf Grund des Interrupts unterbrochen wurde, wieder fortsetzen wollen. Dies soll unterbunden werden und die Prozessoren 1, 2 sollen stattdessen in einen Control program, which was interrupted due to the interrupt, want to continue again. This should be prevented and the processors 1, 2 should instead in a
Ruhezustand übergehen. Ob dies erfolgt, ist ebenfalls Teil des Tests . Hibernate over. Whether this is done is also part of the test.
[0056] Anschließend soll jeder Prozessor seine Subsequently, each processor should have its
Zustandsmerkmale beispielsweise in einem vom autonomen State characteristics, for example, in one of the autonomous
Hardware-Überwachungsmodul (WiederherStellungskontrolleinheit 44) lesbaren Register ablegen. Die Zeitdauer wird anhand eines Zeitgebers des autonomen Hardware-Überwachungsmoduls gemessen. Hardware Monitoring Module (Restore Control Unit 44) readable registers. The duration is measured by a timer of the autonomous hardware monitoring module.
[0057] Nach dieser unklaren Zeit (außerhalb des Lockbetriebes) sollen die redundanten Prozessoren einen Leerlaufbetrieb After this unclear time (outside of the lock operation), the redundant processors to idle operation
(Ruhezustand) für eine Zeitdauer T2 aufweisen. Falls ein (Sleep) for a period of time T2. If one
Prozessor im Zeitfenster T2 auf eine Komponente wie Processor in time slot T2 on a component like
beispielsweise ein Speicher- oder Peripheriemodul zugreift, wird er automatisch von der Wiederherstellungskontrolleinheit 44 vom Rückgewinnungsvorgang ausgeschlossen. Nach dem For example, accessing a memory or peripheral module, it is automatically excluded from the recovery control unit 44 from the recovery process. After this
Zeitfenster T2 vergleicht die Time window T2 compares the
Wiederherstellungskontrolleinheit 44 die Testergebnisse der zwei Prozessoren 1, 2 mit den in Hardware vorprogrammierten Werten. Falls die Testergebnisse eines Prozessors mit den vorgegebenen Werten nicht übereinstimmen, wird der  Recovery control unit 44 the test results of the two processors 1, 2 with the values pre-programmed in hardware. If the test results of a processor do not match the default values, the
entsprechende Prozessor für den laufenden appropriate processor for the current
Synchronisationsversuch nicht mehr betrachtet. Dementsprechend müssen auch die gespeicherten Zustandsmerkmale von den  Synchronization attempt no longer considered. Accordingly, the stored state characteristics of the
Prozessoren 1, 2 für eine Rückgewinnung geeignet sein. Im Processors 1, 2 may be suitable for recovery. in the
Falle einer positiven Bewertung der Ergebnisse wird die Case of a positive evaluation of the results will be the
Wiederherstellungskontrolleinheit 44 mittels eines Interrupts eine Rückkehr in den Lockstep-Betrieb zustande bringen. Wenn nur ein Prozessor alle Tests erfolgreich ausgeführt hat, wird er die ihm zugeordneten Peripherie-Module und alle gemeinsam verwendeten Komponenten ansteuern. Restore control unit 44 by means of an interrupt bring a return to the lockstep operation. If only one processor has completed all tests successfully, it will drive its associated peripheral modules and all shared components.
[0058] Dieser Notfallbetrieb erhöht die Verfügbarkeit des Systems und läuft mit einer reduzierten Sicherheitsstufe. This emergency operation increases the availability of the system and runs with a reduced security level.
[0059] Figur 4 zeigt eine weitere Ausführungsform, die auf der von Figur 3 aufbaut. Die Architektur der Steuerungsvorrichtung wird in zwei private Bereiche 30 und 31, die als Bereiche A und B bezeichnet werden, und einen gemeinsamen Bereich 40 aufgeteilt. Die privaten Bereiche beinhalten Module bzw. FIG. 4 shows a further embodiment, which is based on that of FIG. The architecture of the controller is divided into two private areas 30 and 31, referred to as areas A and B, and a common area 40 divided up. The private areas contain modules or
periphere Einheiten und Komponenten, die physikalisch peripheral units and components that are physically
redundant sind. Die Wiederherstellungskontrolleinheit 44 in Form eines Hardware-Moduls dient zur sicheren Rückgewinnung der Synchronisation nach einem Verriegelungsschrittfehler bzw. Gleichschrittfehler ( lockstep error). Wenn ein are redundant. The recovery control unit 44 in the form of a hardware module is used for the safe recovery of the synchronization after a lock step error or lockstep error. When a
Verriegelungsschrittfehler auftritt, wird die Locking step error occurs, the
Wiederherstellungskontrolleinheit 44 alle Zugriffe auf Restore control unit 44 all accesses
sicherheitsrelevante Peripherie-Module bzw. Einheiten sperren. Bei diesen Einheiten handelt es sich insbesondere um die gemeinsame Peripherie 72 und, als Beispiel, um die redundant vorhandenen peripheren Einheiten 61 und 63. Diese sind über jeweilige Peripheriebrücken 60, 71, und 62 angeschlossen. disable safety-related I / O modules or units. In particular, these units are the common periphery 72 and, for example, the redundant peripheral units 61 and 63. These are connected via respective peripheral bridges 60, 71, and 62.
[0060] Der Verriegelungsschrittfehler löst eine Unterbrechung (Interrupt) des Programmablaufs aus. In der darauf folgenden Abarbeitung der Interrupt-Routine kann jeder Prozessor 1, 2 nur auf Module zugreifen, die sich in seinem zugeordneten privaten Bereich befinden und keine sicherheitsrelevanten Teilfunktionen ausführen. Weiterhin kann der Zugriff auf nicht sicherheitsrelevante Komponenten 41, 42 im Multiplexbetrieb ermöglicht werden. Solche Komponenten 41, 42 sind The lock step error triggers an interrupt of the program flow. In the subsequent processing of the interrupt routine, each processor 1, 2 can only access modules that are located in its assigned private area and do not perform any security-relevant subfunctions. Furthermore, access to non-safety-relevant components 41, 42 can be made possible in multiplex mode. Such components 41, 42 are
beispielsweise eine gemeinsame Programm-Domäne 42 und eine gemeinsame RAM-Domäne. Komponente 42 verfügt über ein Modul 50, welches einen Multiplexer, einen Kontroller und einen Komparator umfasst, und den eigentlichen Programmspeicher 51. Komponente 41 verfügt über ein Modul 53, welches einen For example, a common program domain 42 and a common RAM domain. Component 42 has a module 50, which comprises a multiplexer, a controller and a comparator, and the actual program memory 51. Component 41 has a module 53, which has a
Multiplexer, einen Kontroller und einen Komparator umfasst, und den Speicher 52, der hier als RAM ausgebildet ist. Multiplexer, a controller and a comparator, and the memory 52, which is designed here as RAM.
[0061] Im privaten Peripherie-Bereich wird jeweils ein kleiner Adressraum für Testzwecke des passenden Prozessors reserviert. Die Interrupt-Routine dient dazu, die Integrität der Architektur und vor allem der Prozessoren zu prüfen. Am Ende der Interrupt-Abarbeitung sollen die Prozessoren die In the private peripheral area, a small address space is reserved for test purposes of the appropriate processor. The interrupt routine serves to improve the integrity of the Architecture and especially the processors to consider. At the end of the interrupt processing, the processors should
berechneten Ergebnisse im für Testzwecke reservierten calculated results in reserved for testing purposes
Adressbereich ablegen. Korrekte Ergebnisse sind im Vorfeld in der Wiederherstellungskontrolleinheit 44 gespeichert. Die Interrupt-Routine besteht aus Testprogrammen, wobei jedes Testprogramm innerhalb eines bestimmten Zeitintervalls das korrekte Ergebnis liefern soll. Nach einer vorgegebenen Store address area. Correct results are stored in advance in the recovery control unit 44. The interrupt routine consists of test programs, whereby each test program should deliver the correct result within a certain time interval. After a predetermined
Zeitdauer überprüft die Wiederherstellungskontrolleinheit 44 die Korrektheit der von den Prozessoren abgelegten Ergebnisse. Die Rückgewinnung des Lockstep-Betriebs setzt voraus, dass alle von der Wiederherstellungskontrolleinheit 44 zu prüfenden Ergebnisse korrekt sind. Ansonsten wird nur der Prozessor, der korrekte Ergebnisse aufweist, für die laufende Applikation weiter aktiv bleiben. Time period, the recovery control unit 44 checks the correctness of the results stored by the processors. The recovery of the lockstep operation assumes that all the results to be checked by the recovery control unit 44 are correct. Otherwise, only the processor that has correct results will remain active for the running application.
[0062] Da die Interrupt-Routine nicht im Lockstep-Betrieb läuft, wird das Modul 50 so konfiguriert, dass beide Since the interrupt routine is not in lockstep mode, the module 50 is configured to both
Prozessoren 1, 2 im Multiplex-Betrieb auf den Programmspeicher 51 zugreifen können. Processors 1, 2 can access the program memory 51 in multiplex mode.
[0063] Figur 5 zeigte eine Ausführungsform in Erweiterung der Figuren 1 und 2. Hierbei arbeitet die FIG. 5 shows an embodiment in extension of FIGS. 1 and 2
Wiederherstellungskontrolleinheit 44 ähnlich wie in Figur 4. Falls ein Prozessor 1, 2 keine korrekten Ergebnisse für die Rückgewinnung des Lockstep-Betriebs liefert, wird die  Recovery control unit 44 is similar to FIG. 4. If a processor 1, 2 does not provide correct results for the recovery of lockstep operation, the
Wiederherstellungskontrolleinheit 44 die entsprechenden Recovery Control Unit 44 the corresponding
Peripherie-Controller 91 oder 92, welche hier die Multiplexer und Komparatoren bilden, so konfigurieren, dass die darunter liegenden Peripherie-Module bzw. Einheiten 95, 96 vom anderen Prozessor angesteuert werden. [0064] Die Architektur in Figur 4 weist auch zwei redundante RAM Module 80, 81 auf. Wenn der Verriegelungsschrittfehler (lockstep error) durch einen Fehler in RAM hervorgerufen wurde, wird die fehlerhafte RAM Adresse gespeichert. In der Interrupt-Routine wird diese Adresse überprüft. Wenn der RAM Fehler nicht korrigierbar ist, wird die Peripheral controller 91 or 92, which here form the multiplexers and comparators, configure so that the underlying peripheral modules or units 95, 96 are controlled by the other processor. The architecture in FIG. 4 also has two redundant RAM modules 80, 81. If the lockstep error was caused by an error in RAM, the erroneous RAM address is stored. This address is checked in the interrupt routine. If the RAM error is uncorrectable, the
Wiederherstellungskontrolleinheit 44 die betroffene Seite A oder B (also Prozessor und RAM) nicht wieder in die aktive Ansteuerung einbinden. Anschließend wird die  Restore control unit 44 does not reintegrate the affected side A or B (ie processor and RAM) into the active control. Subsequently, the
Wiederherstellungskontrolleinheit 44 dafür sorgen, dass die Peripherie-Module, die bisher von dem nun fehlerhaften  Restore control unit 44 to ensure that the peripheral modules, so far from the now faulty
Prozessor bzw. RAM angesteuert wurden, nun durch den Prozessor von der anderen Seite angesteuert werden. Processor or RAM were controlled, now be controlled by the processor from the other side.
[0065] Figur 6 zeigt schematisch den Ablauf eines FIG. 6 schematically shows the sequence of a
Steuerungsprogramms. Nach Auftreten eines Control program. After occurrence of a
Synchronisationsfehlers wird die Programmausführung 300, 500 durch die jeweiligen Prozessoren mittels eines Interrupts (LOLI, Lockstep loss Interrupt) unterbrochen und der jeweilige Zustand (Anfangsinhalt) in 321, 521 gespeichert. Der Interrupt führt gleichzeitig zur Aktivierung der  Synchronization error, the program execution 300, 500 is interrupted by the respective processors by means of an interrupt (LOLI, Lockstep loss interrupt) and the respective state (initial content) in 321, 521 stored. The interrupt simultaneously activates the
Wiederherstellungskontrolleinheit, hier als Hardware Recovery control unit, here as hardware
bezeichnet ist. is designated.
[0066] Die Wiederherstellungskontrolleinheit startet einen Zeitgeber 400. Die Prozessoren führen dann in Schritt 322, 522 die von der Wiederherstellungskontrolleinheit vorgegebenen Tests aus, wobei nach Beenden der Tests eine Interruptfreie Rückkehr in 323, 523 erzwungen wird (RFI, Return from The recovery control unit starts a timer 400. The processors then execute the tests specified by the recovery control unit in step 322, 522, forcing an interrupt-free return to 323, 523 after completion of the tests (RFI, Return from
Interrupt) . Danach sollen die Prozessoren in einen Ruhezustand übergehen . [0067] Die Wiederherstellungskontrolleinheit prüft, ob die Tests innerhalb der Zeitdauer Tl abgearbeitet wurden (325, 525) und ob die Prozessoren in den Ruhezustand übergegangen sind (401) . Nach einer vorgegebenen Zeitdauer T2 prüft die Wiederherstellungskontrolleinheit in 402, 326, 526, ob die Prozessoren sich immer noch im Ruhezustand befinden. Interrupt). Thereafter, the processors should go into a state of rest. The recovery control unit checks whether the tests have been executed within the time period T1 (325, 525) and whether the processors have entered the idle state (401). After a predetermined period of time T2, the recovery control unit checks in 402, 326, 526 whether the processors are still idle.
[0068] Dann werden die Testergebnisse überprüft. Die Then the test results are checked. The
Wiederherstellungsbedingungen 404 sind, dass die Recovery conditions 404 are that the
Testergebnisse fehlerfrei sind, dass der jeweilige Prozessor bis zum Ablauf der Zeitdauer Tl in den Ruhezustand Test results are error-free, that the respective processor until the expiration of the period Tl in the idle state
übergegangen war, und dass der Prozessor sich auch noch nach Ablauf der Zeitdauer T2 im Ruhezustand befindet. Falls dies der Fall für beide Prozessoren ist, wird ein Recover Interrupt (RECOI) für beide Prozessoren ausgelöst, sonst nur für den fehlerfreien Prozessor, und die Anfangszustand wieder was gone, and that the processor is still at the end of the period T2 in the idle state. If this is the case for both processors, a Recover Interrupt (RECOI) is triggered for both processors, otherwise only for the error-free processor, and the initial state again
hergestellt (341, 541). Im letzten Fall rekonfiguriert die Wiederherstellungskontrolleinheit die Steuerungsvorrichtung, wie oben erläutert. Es schließt sich die Fortsetzung des Programms an. prepared (341, 541). In the latter case, the recovery control unit reconfigures the control device as explained above. This is followed by the continuation of the program.
[0069] Figur 7 zeigt eine herkömmliche Architektur mit zwei Prozessoren 1 und 2, wobei der Prozessor 2 zur Überwachung vom Prozessor 1 dient. Die gesamte Ansteuerung von FIG. 7 shows a conventional architecture with two processors 1 and 2, the processor 2 serving for monitoring by the processor 1. The entire control of
Peripheriemodulen sowie alle Speicherzugriffe erfolgen über den Prozessor 1. Diese Architektur ist für die Beherrschung von aus dem Verlust der Synchronisation resultierenden Fehlern (Lockstep Failures) ungeeignet. Peripheral modules and all memory accesses are via the processor 1. This architecture is unsuitable for mastering lockstep failures resulting from the loss of synchronization.
[0070] Figur 8 zeigt eine herkömmliche Architektur mit einer Aufteilung von Peripherie-Modulen in zwei Gruppen A und B. Jede Gruppe umfasst mindestens einen Prozessor 1,2, einen Busumschalter (Bus Matrix, Bus Crossbar) 3,4 und Peripheriemodule 6,7. Speichermodule 5 können in einer Gruppe oder in beiden Gruppen implementiert werden und über ein Figure 8 shows a conventional architecture with a division of peripheral modules into two groups A and B. Each group comprises at least one processor 1,2, a bus switch (bus matrix, bus crossbar) 3,4 and I / O modules 6,7. Memory modules 5 can be implemented in a group or in both groups and via a
Bypass-Modul 11 angesteuert werden. Die Seite A wird Bypass module 11 are controlled. The page A will
tatsächlich (also physikalisch) immer vom Prozessor 1 actually (ie physically) always from the processor 1
angesteuert. Die Seite B wird tatsächlich immer vom Prozessor 2 angesteuert. Daten von Peripherie-Modulen 6 können quer über ein Bypass-Modul 10 und Datenmultiplexer 12 an die Seite B weiter gereicht werden. Der Prozessor 1 kann auf ähnliche Weise Daten von Peripherie-Modulen 6 auslesen (über Bypass- Modul 9 und Datenmultiplexer 13) . Dieser Mechanismus, mit dem ein Prozessor Peripherie-Daten von der anderen Seite auslesen kann, funktioniert nur solange, wie die zwei Prozessoren 1 und 2 synchron (in lockstep) zueinander arbeiten. Die Überwachung erfolgt durch einen Komparator 8. Wenn der Prozessor 1 beispielsweise außer Betrieb ist, kann die ganze Seite A (also samt Peripherie-Module und Speicher auf dieser Seite) nicht mehr angesteuert werden. Somit ergibt sich eine schlechte Unterstützung einer hohen Verfügbarkeit. Wenn die zwei driven. The page B is actually always driven by the processor 2. Data from peripheral modules 6 may be passed to side B across a bypass module 10 and data multiplexer 12. The processor 1 can similarly read out data from peripheral modules 6 (via bypass module 9 and data multiplexer 13). This mechanism, with which a processor can read out peripheral data from the other side, only works as long as the two processors 1 and 2 are working synchronously (in lockstep) to each other. The monitoring is performed by a comparator 8. When the processor 1 is out of operation, for example, the whole page A (ie including peripheral modules and memory on this page) can no longer be controlled. This results in poor support for high availability. If the two
Prozessoren nicht mehr synchron arbeiten, können sie nur noch zurückgesetzt werden. Für viele sicherheitsrelevante Processors no longer work synchronously, they can only be reset. For many security relevant
Applikationen ist das Zurücksetzen (Reset) von Prozessoren nicht erlaubt, solange die Ursache des Verlusts der Applications, the reset of processors is not allowed, as long as the cause of the loss of
Synchronisation nicht eindeutig festgestellt wird. Synchronization is not clearly determined.
[0071] Die Erfindung ist nicht auf die vorliegend The invention is not on the present
beschriebenen Ausführungsbeispiele beschränkt, sondern kann geeignet erweitert und modifiziert werden. Die nachfolgenden Ansprüche stellen einen ersten, nicht bindenden Versuch dar, die Erfindung allgemein zu definieren. described embodiments, but can be extended and modified suitably. The following claims are a first, non-binding attempt to broadly define the invention.

Claims

Patentansprüche  claims
1. Redundante Zwei-Prozessor-Steuerungseinrichtung, 1. Redundant two-processor control device,
umfassend :  full :
- einen ersten Prozessor (1) und einen zweiten  a first processor (1) and a second one
Prozessor (1) zur synchronen Ausführung eines  Processor (1) for the synchronous execution of a
Steuerungsprogramms ;  Control program;
- wenigstens einen ersten Multiplexer (70, 91) zum  at least one first multiplexer (70, 91) for
wahlweisen Verbinden wenigstens einer anzusteuernden ersten peripheren Einheit (72, 95) mit einem der zwei Prozessoren (1, 2);  optionally, connecting at least one first peripheral unit (72, 95) to be controlled to one of the two processors (1, 2);
- wenigstens eine erste Vergleichseinheit (70, 91) zur Überwachung des Synchronisationszustands der beiden Prozessoren (1, 2) und zur Erkennung eines Synchronisationsfehlers ;  - At least a first comparison unit (70, 91) for monitoring the synchronization state of the two processors (1, 2) and for detecting a synchronization error;
- eine Wiederherstellungskontrolleinheit (44),  a recovery control unit (44),
eingerichtet, die Ausführung wenigstens eines  set up, the execution of at least one
Testprogramms durch die beiden Prozessoren (1, 2) nach Auftreten eines Synchronisationsfehlers zu überwachen und die Testergebnisse zu bewerten, und eingerichtet, wenigstens den ersten Multiplexer (70, 91) zu konfigurieren.  Test program by the two processors (1, 2) after occurrence of a synchronization error to monitor and evaluate the test results, and configured to configure at least the first multiplexer (70, 91).
2. Redundante Zwei-Prozessor-Steuerungseinrichtung nach 2. Redundant two-processor controller after
Anspruch 1, wobei die Wiederherstellungskontrolleinheit (44) eingerichtet ist, den Synchronisationsfehler einem Fehlertyp zuzuordnen und auf Basis des Fehlertyps ein Testprogramm auszuwählen.  Claim 1, wherein the recovery control unit (44) is arranged to assign the synchronization error to an error type and to select a test program based on the error type.
3. Redundante Zwei-Prozessor-Steuerungseinrichtung nach 3. Redundant two-processor controller after
Anspruch 1 oder 2, wobei die  Claim 1 or 2, wherein the
Wiederherstellungskontrolleinheit (44) eingerichtet ist, den ersten Multiplexer (70, 91) auf Basis des Testergebnisses zu konfigurieren. Recovery Control Unit (44) is set up, configure the first multiplexer (70, 91) based on the test result.
4. Redundante Zwei-Prozessor-Steuerungseinrichtung nach 4. Redundant two-processor controller after
einem der Ansprüche 1 bis 3, weiterhin umfassend:  one of claims 1 to 3, further comprising:
- wenigstens einen zweiten Multiplexer (92) zum  at least one second multiplexer (92) for
wahlweisen Verbinden wenigstens einer anzusteuernden zweiten peripheren Einheit (96) mit einem der zwei Prozessoren (1, 2), wobei der zweite Multiplexer optionally, connecting at least one second peripheral unit (96) to be controlled to one of the two processors (1, 2), the second multiplexer
(92) durch die Wiederherstellungskontrolleinheit(92) by the recovery control unit
(44) konfigurierbar ist. (44) is configurable.
5. Redundante Zwei-Prozessor-Steuerungseinrichtung nach 5. Redundant two-processor controller after
einem der Ansprüche 1 bis 4, weiterhin umfassend:  one of claims 1 to 4, further comprising:
- wenigstens eine zweite Vergleichseinheit (92) zur Überwachung des Synchronisationszustands der beiden Prozessoren (1, 2) und zur Erkennung eines Synchronisationsfehlers, wenn die beiden Prozessoren (1, 2) desynchronisiert sind.  - At least a second comparison unit (92) for monitoring the synchronization state of the two processors (1, 2) and for detecting a synchronization error when the two processors (1, 2) are desynchronized.
6. Redundante Zwei-Prozessor-Steuerungseinrichtung nach 6. Redundant two-processor control device according to
Anspruch 4 oder 5, weiterhin umfassend:  Claim 4 or 5, further comprising:
- eine erste Bus-Matrix (3) , welche den ersten  a first bus matrix (3) containing the first
Prozessor (1) mit dem ersten Multiplexer (91) verbindet; und  Processor (1) connects to the first multiplexer (91); and
- eine zweite Bus-Matrix (4), welche den zweiten  - A second bus matrix (4), which the second
Prozessor (2) mit dem zweiten Multiplexer (92) verbindet .  Processor (2) connects to the second multiplexer (92).
7. Redundante Zwei-Prozessor-Steuerungseinrichtung nach 7. Redundant two-processor control device according to
einem der Ansprüche 1 bis 6, wobei die erste periphere Einheit (72) eine gemeinsame Einheit ist, die wahlweise von einem der beiden Prozessoren (1, 2) angesteuert werden kann, weiterhin umfassend: one of claims 1 to 6, wherein the first peripheral unit (72) is a common unit, optionally can be controlled by one of the two processors (1, 2), further comprising:
- wenigstens zwei weitere periphere Einheiten (61, 63) , wobei die eine der beiden peripheren Einheiten (61, 63) nur dem ersten Prozessor (1) und die andere der beiden peripheren Einheiten (61, 63) nur dem zweiten Prozessor (2) als private periphere Einheit zugeordnet ist, auf die nur der jeweils zugeordnete Prozessor (1, 2) zugreifen kann.  at least two further peripheral units (61, 63), wherein one of the two peripheral units (61, 63) only the first processor (1) and the other of the two peripheral units (61, 63) only the second processor (2) is assigned as a private peripheral unit, which only the respectively assigned processor (1, 2) can access.
Redundante Zwei-Prozessor-Steuerungseinrichtung nach Anspruch 7, wobei die zwei weiteren peripheren Einheiten (61, 63) redundante Einheiten sind. The dual-processor redundant controller of claim 7, wherein the two further peripheral units (61, 63) are redundant units.
Redundante Zwei-Prozessor-Steuerungseinrichtung nach einem der Ansprüche 1 bis 8, wobei die erste und/oder die zweite Vergleichseinheit eingerichtet ist bzw. sind, ein Synchronisationsfehlersignal bei Auftreten eines Redundant two-processor control device according to one of claims 1 to 8, wherein the first and / or the second comparison unit is set, a synchronization error signal when a
Synchronisationsfehlers zu erzeugen. Synchronization error to produce.
Redundante Zwei-Prozessor-Steuerungseinrichtung, Redundant two-processor controller,
umfassend : full :
- einen ersten Prozessor (1) und einen zweiten  a first processor (1) and a second one
Prozessor (1) zur synchronen Ausführung eines  Processor (1) for the synchronous execution of a
Steuerungsprogramms ;  Control program;
- wenigstens einen ersten Multiplexer (21, 71) zum  at least one first multiplexer (21, 71) for
wahlweisen Verbinden einer gemeinsamen ersten peripheren Einheit (22, 72) mit einem der zwei  optionally, connecting a common first peripheral unit (22, 72) to one of the two
Prozessoren (1, 2);  Processors (1, 2);
- wenigstens zwei weitere periphere Einheiten (61, 63), wobei eine der beiden peripheren Einheiten (61, 63) nur dem ersten Prozessor (1) und die andere der beiden peripheren Einheiten (61, 63) nur dem zweiten Prozessor (2) als private periphere Einheit zugeordnet ist, auf die nur der jeweils zugeordnete Prozessor (1, 2) zugreifen kann; - At least two further peripheral units (61, 63), wherein one of the two peripheral units (61, 63) only the first processor (1) and the other of the both peripheral units (61, 63) are assigned only to the second processor (2) as a private peripheral unit, which can only be accessed by the respectively assigned processor (1, 2);
- wenigstens eine erste Vergleichseinheit (21, 70) zur Überwachung des Synchronisationszustands der beiden Prozessoren (1, 2) und zur Erkennung eines Synchronisationsfehlers, wenn die beiden Prozessoren (1, 2) desynchronisiert sind;  - At least a first comparison unit (21, 70) for monitoring the synchronization state of the two processors (1, 2) and for detecting a synchronization error when the two processors (1, 2) are desynchronized;
- eine Wiederherstellungskontrolleinheit (44),  a recovery control unit (44),
eingerichtet, die Ausführung wenigstens eines  set up, the execution of at least one
Testprogramms durch die beiden Prozessoren (1, 2) nach Auftreten eines Synchronisationsfehlers zu überwachen und die Testergebnisse zu bewerten, und eingerichtet, den ersten Multiplexer (70) auf Basis des Testergebnisses zu konfigurieren.  Test program by the two processors (1, 2) after occurrence of a synchronization error to monitor and evaluate the test results, and configured to configure the first multiplexer (70) based on the test result.
11. Redundante Zwei-Prozessor-Steuerungseinrichtung nach 11. Redundant two-processor controller after
Anspruch 10, weiterhin umfassend:  Claim 10, further comprising:
- eine erste Bus-Matrix (3) , welche den ersten  a first bus matrix (3) containing the first
Prozessor (1) mit dem ersten Multiplexer (21, 70) verbindet ;  Processor (1) connects to the first multiplexer (21, 70);
- eine zweite Bus-Matrix (4), welche den zweiten  - A second bus matrix (4), which the second
Prozessor (2) mit dem ersten Multiplexer (21, 70) verbindet .  Processor (2) connects to the first multiplexer (21, 70).
12. Redundante Zwei-Prozessor-Steuerungseinrichtung, 12. Redundant two-processor control device,
umfassend :  full :
- einen ersten Prozessor (1) und einen zweiten  a first processor (1) and a second one
Prozessor (1) zum synchronen Ausführen eines  Processor (1) for synchronously executing a
Steuerungsprogramms ; - wenigstens eine erste und eine zweite periphere Einheit (95, 96); Control program; at least a first and a second peripheral unit (95, 96);
- wenigstens einen ersten Multiplexer (91) zum  at least one first multiplexer (91) for
wahlweisen Verbinden einer ersten peripheren Einheit (95) mit einem der beiden  optionally, connecting a first peripheral unit (95) to one of the two
Prozessoren (1, 2);  Processors (1, 2);
- wenigstens einen zweiten Multiplexer (92) zum  at least one second multiplexer (92) for
wahlweisen Verbinden einer zweiten peripheren  optionally connecting a second peripheral
Einheit (96) mit einem der beiden  Unit (96) with one of the two
Prozessoren (1, 2);  Processors (1, 2);
- wenigstens eine erste und eine zweite  - at least a first and a second
Vergleichseinheit (91, 92) zur jeweiligen  Comparison unit (91, 92) to the respective
Überwachung des Synchronisationszustands der beiden Prozessoren (1, 2) und zur Erkennung eines  Monitoring the synchronization state of the two processors (1, 2) and detecting a
Synchronisationsfehlers ;  Synchronization error;
- eine Wiederherstellungskontrolleinheit (44),  a recovery control unit (44),
eingerichtet, die Ausführung wenigstens eines  set up, the execution of at least one
Testprogramms durch die beiden Prozessoren (1, 2) nach Auftreten eines Synchronisationsfehlers zu überwachen und die Testergebnisse zu bewerten, und eingerichtet, den ersten und zweiten Multiplexer (91, 92) auf Basis der Testergebnisse zu  Monitor the test program by the two processors (1, 2) upon occurrence of a synchronization error and evaluate the test results, and set up the first and second multiplexers (91, 92) based on the test results
konfigurieren .  configure.
Redundante Zwei-Prozessor-Steuerungseinrichtung nach Anspruch 12, weiterhin umfassend: The redundant two-processor controller of claim 12, further comprising:
- eine erste Bus-Matrix (3) , welche den ersten  a first bus matrix (3) containing the first
Prozessor (1) mit dem ersten Multiplexer (91) verbindet ; - eine zweite Bus-Matrix (4), welche den zweiten Processor (1) connects to the first multiplexer (91); - A second bus matrix (4), which the second
Prozessor (2) mit dem zweiten Multiplexer (92) verbindet .  Processor (2) connects to the second multiplexer (92).
14. Steuerungsverfahren, umfassend: 14. Control method comprising:
- synchrone Abarbeitung eines Steuerungsprogramms  - synchronous execution of a control program
durch einen ersten und einen zweiten Prozessor (1, 2), die über einen Multiplexer (70, 91) mit wenigstens einer anzusteuernden peripheren Einheit (72, 95) verbunden sind, wobei nur einer der beiden Prozessor (1, 2) die periphere Einheit (72, 95) zu einem bestimmten Zeitpunkt ansteuert;  by a first and a second processor (1, 2) which are connected via a multiplexer (70, 91) to at least one peripheral unit (72, 95) to be controlled, wherein only one of the two processors (1, 2) is the peripheral unit (72, 95) at a certain time controls;
- Überwachung der synchronen Abarbeitung des  - Monitoring the synchronous execution of the
Steuerprogramms durch eine Vergleichseinheit und Ausgabe eines Synchronisationsfehlersignals, wenn die beiden Prozessoren (1, 2) desynchronisiert sind; und  Control program by a comparison unit and output of a synchronization error signal when the two processors (1, 2) are desynchronized; and
- sofern ein Synchronisationsfehlersignal ausgegeben wurde :  - if a synchronization error signal has been output:
- Unterbrechen der Abarbeitung des  - interrupting the processing of the
Steuerprogramms durch die beiden Prozessoren (1, 2),  Control program by the two processors (1, 2),
- Durchführen eines Test zur Überprüfung, ob  - Perform a test to check if
einer der beiden Prozessoren (1, 2) fehlerhaft ist, und  one of the two processors (1, 2) is faulty, and
- wenn beide Prozessoren (1, 2) fehlerfrei sind, Fortsetzen der synchronen  - if both processors (1, 2) are error free, resume the synchronous
Abarbeitung des Steuerungsprogramms durch die beiden Prozessoren (1, 2), oder  Execution of the control program by the two processors (1, 2), or
- wenn einer der beiden Prozessoren (1, 2) als fehlerhaft erkannt wurde, Rekonfigurieren des Multiplexers und der if one of the two processors (1, 2) has been identified as defective, Reconfiguring the multiplexer and the
Vergleichseinheit in der Weise, dass keine weitere Kommunikation mit dem  Comparative unit in such a way that no further communication with the
fehlerbehafteten Prozessor und keine weitere Überwachung durch die  faulty processor and no further monitoring by the
Vergleichseinheit erfolgen und dass der fehlerfreie Prozessor die periphere  Compare unit done and that the error-free processor, the peripheral
Einheit ansteuert, und Fortsetzen der Abarbeitung des Steuerungsprogramms durch den fehlerfreien Prozessor.  Unit controls, and continue the execution of the control program by the error-free processor.
15. Steuerungsverfahren nach Anspruch 14, wobei der Test die gleichzeitige Ausführung wenigstens eines Testprogramms durch beide Prozessoren (1, 2) umfasst, wobei ein A control method according to claim 14, wherein the test comprises simultaneously executing at least one test program by both processors (1, 2), wherein a
Prozessor als fehlerhaft angesehen wird, wenn wenigstens eine der folgenden Bedingungen erfüllt ist:  Processor is considered faulty if at least one of the following conditions is true:
- der Prozessor hat das Testprogramm nicht innerhalb einer ersten Zeitdauer Tl abgearbeitet,  the processor has not executed the test program within a first time period T1,
- der Prozessor hat das Testprogramm nicht erfolgreich abgearbeitet,  the processor did not successfully execute the test program,
- der Prozessor ist nach Ablauf der ersten Zeitdauer Tl für eine zweite Zeitdauer T2 nicht in den  - The processor is not in the after the first time period Tl for a second period of time T2
Ruhezustand übergegangen.  Hibernation passed.
16. Steuerungsverfahren nach Anspruch 14 oder 15, wobei der Synchronisationsfehler bewertet und einem Fehlertyp zugeordnet wird, wobei zur Überprüfung der Prozessoren wenigstens ein Testprogramm in Abhängigkeit vom Fehlertyp ausgewählt wird. 16. The control method according to claim 14 or 15, wherein the synchronization error is evaluated and assigned to an error type, wherein for checking the processors at least one test program is selected depending on the error type.
EP11711799A 2010-03-23 2011-03-18 Redundant two-processor controller and control method Ceased EP2550598A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102010003161 2010-03-23
PCT/EP2011/054143 WO2011117155A1 (en) 2010-03-23 2011-03-18 Redundant two-processor controller and control method

Publications (1)

Publication Number Publication Date
EP2550598A1 true EP2550598A1 (en) 2013-01-30

Family

ID=44064800

Family Applications (1)

Application Number Title Priority Date Filing Date
EP11711799A Ceased EP2550598A1 (en) 2010-03-23 2011-03-18 Redundant two-processor controller and control method

Country Status (3)

Country Link
US (1) US8959392B2 (en)
EP (1) EP2550598A1 (en)
WO (1) WO2011117155A1 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT515454A3 (en) * 2013-03-14 2018-07-15 Fts Computertechnik Gmbh Method for handling errors in a central control unit and control unit
DE102013214013A1 (en) 2013-07-17 2015-01-22 Continental Teves Ag & Co. Ohg Method for increasing the availability of a microprocessor system
JP6312550B2 (en) 2014-08-01 2018-04-18 ルネサスエレクトロニクス株式会社 Semiconductor device
JP6360387B2 (en) 2014-08-19 2018-07-18 ルネサスエレクトロニクス株式会社 Processor system, engine control system, and control method
US9734006B2 (en) 2015-09-18 2017-08-15 Nxp Usa, Inc. System and method for error detection in a critical system
JP6083480B1 (en) * 2016-02-18 2017-02-22 日本電気株式会社 Monitoring device, fault tolerant system and method
CN106094629B (en) * 2016-06-28 2019-06-21 北京安控科技股份有限公司 A kind of two take the functional safety controller of a framework
JP6394727B1 (en) * 2017-03-22 2018-09-26 日本電気株式会社 Control device, control method, and fault tolerant device
US10474619B2 (en) 2017-05-19 2019-11-12 General Electric Company Methods for managing communications involving a lockstep processing system
US10628274B2 (en) * 2017-12-05 2020-04-21 Qualcomm Incorporated Self-test during idle cycles for shader core of GPU
US11094392B2 (en) 2018-10-15 2021-08-17 Texas Instruments Incorporated Testing of fault detection circuit
CA3157095A1 (en) 2019-12-09 2021-06-17 Alon Green Method and system for high integrity can bus traffic supervision in safety critical application
US20220209550A1 (en) * 2020-12-30 2022-06-30 Loon Llc Redundant power distribution and monitoring for LTA vehicles
DE102021206379A1 (en) 2021-06-22 2022-12-22 Continental Autonomous Mobility Germany GmbH Control device and assistance system for a vehicle
EP4134875A1 (en) 2021-08-10 2023-02-15 Continental Autonomous Mobility Germany GmbH Method and apparatus for diagnostic coverage for ai hardware accelerators
EP4134874A1 (en) 2021-08-10 2023-02-15 Continental Autonomous Mobility Germany GmbH Apparatus and method for diagnostic coverage of a neural network accelerator

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3444528A (en) 1966-11-17 1969-05-13 Martin Marietta Corp Redundant computer systems
US3864670A (en) 1970-09-30 1975-02-04 Yokogawa Electric Works Ltd Dual computer system with signal exchange system
EP0496506B1 (en) 1991-01-25 2000-09-20 Hitachi, Ltd. Fault tolerant computer system incorporating processing units which have at least three processors
US5249188A (en) 1991-08-26 1993-09-28 Ag Communication Systems Corporation Synchronizing two processors as an integral part of fault detection
US5812757A (en) * 1993-10-08 1998-09-22 Mitsubishi Denki Kabushiki Kaisha Processing board, a computer, and a fault recovery method for the computer
FR2721122B1 (en) * 1994-06-14 1996-07-12 Commissariat Energie Atomique Calculation unit with plurality of redundant computers.
US5915082A (en) 1996-06-07 1999-06-22 Lockheed Martin Corporation Error detection and fault isolation for lockstep processor systems
SE511114C2 (en) * 1997-12-10 1999-08-09 Ericsson Telefon Ab L M Processor method, and processor adapted to operate according to the method
US6148348A (en) * 1998-06-15 2000-11-14 Sun Microsystems, Inc. Bridge interfacing two processing sets operating in a lockstep mode and having a posted write buffer storing write operations upon detection of a lockstep error
US7085959B2 (en) * 2002-07-03 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for recovery from loss of lock step
JP2004046599A (en) 2002-07-12 2004-02-12 Nec Corp Fault tolerant computer system, its resynchronization method, and resynchronization program
JP4155088B2 (en) * 2003-04-18 2008-09-24 日本電気株式会社 Information processing device
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
US7366948B2 (en) 2004-10-25 2008-04-29 Hewlett-Packard Development Company, L.P. System and method for maintaining in a multi-processor system a spare processor that is in lockstep for use in recovering from loss of lockstep for another processor
JP4411602B2 (en) * 2004-12-16 2010-02-10 日本電気株式会社 Fault tolerant computer system
US7496786B2 (en) * 2006-01-10 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining lock step operation
DE102009000045A1 (en) 2009-01-07 2010-07-08 Robert Bosch Gmbh Method and device for operating a control device
JP2011123545A (en) * 2009-12-08 2011-06-23 Toshiba Corp Comparison redundancy type information processing apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2011117155A1 *

Also Published As

Publication number Publication date
US20130007513A1 (en) 2013-01-03
US8959392B2 (en) 2015-02-17
WO2011117155A1 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
EP2550599B1 (en) Control computer system, method for controlling a control computer system, and use of a control computer system
EP2550598A1 (en) Redundant two-processor controller and control method
EP0238841B1 (en) Error-protected multiprocessor controller having a high availability to a switching system, and method for memory configuration operation of this centraller
EP0236803B1 (en) Method for the operation of a fault-protected and highly available multiprocessor central controller of a switching system
DE102011086530A1 (en) Microprocessor system with fault-tolerant architecture
DE102016107015A1 (en) Architecture for scalable interference tolerance in systems with integrated immobilization in case of failure and malfunction in case of failure
EP2466466A1 (en) Method for detecting errors when executing a real-time operating system
EP1149295B1 (en) Control device for controlling applications which are crucial to safety
EP2513796A1 (en) Method for operating a processor
WO2018134023A1 (en) Redundant processor architecture
DE102008004205A1 (en) Circuit arrangement for error treatment in real-time system e.g. controller, for motor vehicle, has processing units reporting result of inherent error diagnosis by monitoring unit that activates arithmetic units in dependence of result
EP3475824A1 (en) Method and apparatus for redundant data processing
DE19847986C2 (en) Single processor system
DE4113959A1 (en) MONITORING DEVICE
DE10302456A1 (en) Computer device for safety-critical applications has at least a processor unit and memory unit with both units situated on the same chip surface
DE102010041437B4 (en) Checking functions of a control system with components
EP1359485B1 (en) Control and monitoring system
EP2228723B1 (en) Method for error treatment of a computer system
DE10312553B3 (en) Automobile with several control devices switched between active and inactive conditions and central monitoring control device providing watch-dog function
DE102013021231A1 (en) Method for operating an assistance system of a vehicle and vehicle control unit
DE102011007467A1 (en) Polynuclear integrated microprocessor circuitry for, e.g. vehicle domain computer, has tester to perform time-integral checking of specific components of auxiliary processor structure to and gradually expand checking of other components
DE102004033263B4 (en) Control unit
EP3557356A1 (en) Method and automation system for the safe automatic operation of a machine or of a vehicle
DE102004051991A1 (en) Method, operating system and computing device for executing a computer program
EP1924914B1 (en) Data processing system and a method for the operation thereof

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20121023

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20150528

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20161123