-
Die
Erfindung betrifft ein redundantes Mikroprozessorsystem gemäß Oberbegriff
von Anspruch 1 sowie ein Verfahren, bei dem ein fehlerhafter Systemtakt
durch Überwachung des Taktsignals festgestellt wird.
-
Aus
der
DE 10 2006
008 958 A1 sind abgesicherte Mikroprozessorsysteme nicht
nur für den Anwendungsbereich in Kraftfahrzeugsicherheitssystemen
bekannt, bei denen Fehlfunktionen der Mikroprozessorsysteme unter
anderem dadurch erkannt werden, dass die Prinzipien der asymmetrischen oder
symmetrischen Redundanz angewendet werden. Eine Systemarchitektur
mit zumindest symmetrischer Mikroprozessor-Redundanz ist dabei besonders
bei hohen Anforderungen an die Fehlererkennung vorteilhaft. Da die
Fehlererkennung dann durch den direkten Vergleich der Aktivitäten
beider Mikroprozessoren erfolgt, ist eine Synchronität
beider bezüglich der zu vergleichenden Aktivität
notwendig. Die erforderliche Synchronität der symmetrisch
redundanten Teilsysteme bedingt eine gemeinsame Abhängigkeit
von ihrer Zeitreferenz (Taktsynchronität innerhalb einer
für das System zulässigen Toleranz). Fehler im
Bereich der gemeinsamen Zeitreferenz können durch die Gleichartigkeit
der symmetrischen Teilsysteme unter Umständen zu gleichartigen
Fehlern dieser Teilsysteme führen, die allein durch den Vergleich
ihrer Aktivität nicht erkennbar sind.
-
Es
besteht nun unter anderem die Aufgabe, Fehler auf Grund der eingeschränkten
Möglichkeit der Erkennung von Fehlfunktionen dieser zumindest bezüglich
des Kerns symmetrisch aufgebauten redundanten Mikroprozessorsysteme
als Folge eines Fehlers der gemeinsamen Zeitreferenz zu vermeiden.
-
Diese
Aufgabe wird erfindungsgemäß gelöst durch
das redundante Mikroprozessorsystem gemäß Anspruch
1.
-
Das
redundante Mikroprozessorsystem gemäß der Erfindung
umfasst zwei oder mehrere sich gegenseitig überwachende
Teilmikroprozessorsysteme, die jeweils zumindest einen Mikroprozessorkern, zumindest
einen Takteingang und Überwachungsmittel für die
gegenseitige Überwachung sowie insbesondere jeweils mindestens
ein Bussystem und besonders bevorzugt Mittel zum Austausch von Daten, Prüfdaten
und/oder Befehlen enthalten.
-
Die
Systemtakte für die Takteingänge werden aus einer
gemeinsam genutzten Primärtakterzeugung gespeist. Im Mikroprozessorsystem
oder in den Teilsystemen ist zumindest eine Taktüberprüfungseinrichtung
vorgesehen, die den ordnungsgemäßen Betrieb der
Primärtakterzeugung oder die Systemtakte überwacht.
-
Die
beschriebene Erfindung ermöglicht eine Erkennung von Fehlern
in der insbesondere zentralen Systemtakterzeugung innerhalb redundanter
Mikroprozessorsysteme. Hierdurch wird die Sicherheit der Mikroprozessorsysteme
noch weiter erhöht. Durch die Taktüberwachung
können beispielsweise Taktversorgungsfehler, wie Drift,
Jitter oder Glitches erkannt werden.
-
Die überwachte
Taktversorgung versorgt bevorzugt beide redundante Teilmikroprozessorsysteme,
insbesondere die darin enthaltenen Mikroprozessorkerne. Das erzeugte
Taktsignal stammt insbesondere aus einer gemeinsamen Taktquelle
oder von aus dieser Taktquelle abgeleiteten und voneinander abhängigen
Taktsignalen, welche zweckmäßigerweise durch Teilung,
Vervielfachung oder Phasenverschiebung erhalten werden können.
-
Das
redundante Mikroprozessorsysteme umfasst neben der Primärtakterzeugung
vorzugsweise auch eine oder mehrere Sekundärtakterzeugung/en.
Im Falle von mehreren Sekundärtakten werden diese insbesondere
jeweils unabhängig erzeugt oder abgeleitet.
-
Besonders
bevorzugt wird der von der oder von den Sekundärtakterzeugung/en
gelieferte Sekundärtakt von einer unabhängigen
Vergleichstaktreferenz abgeleitet, die eine unabhängige
Zeitbasis beinhaltet, wobei zum Beispiel eine Filterung, Teilung, Vervielfachung
oder Phasenverschiebung, Phase-Locked-Loop (PLL) zur Bildung der
Vergleichstaktreferenz vorgenommen werden kann. Es ist ebenfalls
möglich und bevorzugt, vorhandene zeitkonstante Signale,
Abstände zeitkonstanter Ereignisse, oder regelmäßig
wiederkehrende Buszyklen heranzuziehen. Die Systemtakterzeugung
umfasst ganz besonders bevorzugt einen Oszillator, insbesondere einen
Quarzoszillator. Der für die Ausführungsformen,
bei denen entweder ein mit höherer oder niedrigerer oder
im wesentlichen gleicher Frequenz vorliegender Sekundärtakt
im Vergleich zum Primärtakt gegeben ist, relevante Primärtakt
oder Sekundärtakt kann auch durch Vervielfachung bzw. Teilung
von der jeweils anderen Taktquelle abgeleitet sein.
-
Bevorzugt
wird durch die Taktüberprüfungseinrichtung ein
Vergleich des Primärtakts oder einer daraus abgeleiteten
Zeitbasis mit dem Sekundärtakt oder einer daraus abgeleiteten
Zeitbasis vorgenommen. Auf diese Weise lassen sich Fehler in einer
der beiden Taktreferenzen erkennen.
-
Die
bei dem obigen Vergleich ermittelte Abweichung zwischen Primärtakt
und Sekundärtakt lässt sich abhängig
von der gewünschten Anforderung qualitativ oder quantitativ
bewerten. Bei einer quantitativen Bestimmung der Abweichung kann
eine Unterschreitung bis zu einem vorgegebenen Toleranzwert noch
als zulässig bewertet werden. Im Falle der Überschreitung
des Toleranzwertes wird ein Fehlersignal erzeugt und/oder das Mikroprozessorsystem
und/oder eines der Teilmikroprozessorsysteme angehalten oder zurückgesetzt
oder ganz oder teilweise abgeschaltet oder von den Ausgabeports
getrennt. Zumindest in einigen denkbaren Anwendungsfällen
hängt die benötigte Zeit für die Erkennung
einer Abweichung von der Genauigkeit der Abweichungserkennung ab.
Eine genauere Ermittlung der Abweichung benötigt mehr Zeit,
als eine ungenaue Ermittlung.
-
Die
Bestimmung der Abweichung zwischen Primärtakt und Sekundärtakt
kann bevorzugt durch Hardwareelemente und/oder Softwareelemente durchgeführt
werden. Diese Elemente können insbesondere außerhalb
oder innerhalb der Teilmikroprozessorsysteme angeordnet sein. Außerhalb
der Teilmikroprozessorsysteme können zum Beispiel zur Bestimmung
der Zeitabweichung Zähler genutzt werden, die von Flanken
der einzelnen Taktsignale gestartet werden oder bei jeder Flanke
ihren Wert verändern. Ein Vergleich ist besonders einfach
möglich, wenn lediglich ein Zähler eingesetzt
wird und dieser je nach Takttyp hoch oder heruntergezählt
wird. Eine Abweichungsbestimmung innerhalb der Teilmikroprozessorsysteme
lässt sich zum Beispiel durch zusätzliche oder
alleinige Nutzung von bereits im Mikroprozessorteilsystem vorhandenen
internen Zählern durchführen. Bei einer alternativen
Bestimmung der Abweichung mittels einer Software können
zum Beispiel durch ein Programm die Anzahl der abweichenden Taktflanken
gezählt werden. Je nach Ausführungsform der Software
wird bevorzugt zumindest ein interner Zähler hinzugezogen.
-
Die
auf diese Weise gemessene Abweichung zwischen Primärtakt
und Sekundärtakt wird vorzugsweise in einem Fehlerspeicher
zur späteren Auswertung protokolliert.
-
Die
Taktabweichung kann zweckmäßigerweise genutzt
werden, um diese Abweichung durch Verstellen des Primärtakts
zu kompensieren.
-
Es
ist möglich und bevorzugt, bei Identifikation eines fehlerhaften
Primärtakts, dauerhaft oder zeitweise auf eine andere,
funktionsfähige Taktquelle umzuschalten.
-
Wenn
mehr als zwei unabhängige Takterzeugungsmittel vorhanden
sind, ist es zweckmäßig, wenn durch die Taktüberprüfungseinrichtung
eine Majoritätsentscheidung dahingehend getroffen wird, welcher
der erzeugten Takte ordnungsgemäß ist.
-
Gemäß einer
bevorzugten Ausführungsform der Erfindung besteht das redundante
Mikroprozessorsystem aus zwei oder mehreren Teilmikroprozessorsysteme
(TM1 und TM2), welche bezüglich der Mikroprozessorkerne
und der Bussysteme zueinander bevorzugt weitestgehend symmetrisch
aufgebaut sind. Bezüglich des jeweils in den Teilmikroprozessorsystemen
vorhandenen Speichers (RAM und/oder ROM) ist das Mikroprozessorsystem
gemäß dieser Ausführungsform jedoch nicht
vollständig symmetrisch aufgebaut. Redundante Mikroprozessorsysteme
dieser Art sind an sich bekannt und werden in der Patentliteratur
als kernredundanten Mikroprozessorsysteme bezeichnet. Kernredundante
Mikroprozessorsysteme, wie sie in der Kraftfahrzeugbremsentechnik
verbreitet eingesetzt werden, weisen gegenüber vollredundanten
Mikroprozessorsystemen bei erheblich geringeren Herstellungskosten nahezu
die gleiche Sicherheit auf, da vorzugsweise Teile des redundanten
Speichers durch Prüfdaten ersetzt sind.
-
Die
Erfindung bezieht sich außerdem auf ein Verfahren gemäß Anspruch
8.
-
Weitere
bevorzugte Ausführungsformen ergeben sich aus den Unteransprüchen
und der nachfolgenden Beschreibung eines Ausführungsbeispiels an
Hand von Figuren.
-
Es
zeigen
-
1 eine
schematische Darstellung einer Takterzeugung mit Taktüberwachung
für ein redundantes Mikroprozessorsystem,
-
2 ein
erstes Ausführungsbeispiel für ein erfindungsgemäßes
Mikroprozessorsystem mit Taktüberwachung,
-
3 ein
zweites Ausführungsbeispiel für ein erfindungsgemäßes
Mikroprozessorsystem mit Taktüberwa chung und
-
4 ein
drittes Ausführungsbeispiel für ein erfindungsgemäßes
Mikroprozessorsystem mit Taktüberwachung.
-
In 1 erzeugt
Primärtakterzeugung 3 ein Taktsignal. Blöcke 4 und 5 bilden
gemeinsam eine Taktüberprüfungseinrichtung. Das
Primärtaktsignal von Block 3 wird Block 4 zugeführt,
in dem eine Überprüfung des Primärtakts
durchgeführt wird. Der Primärtakt kann vor der
Weiterleitung bzw. vor der Prüfung in Block 4 geteilt
werden. Die Taktüberprüfungseinrichtung umfasst
eine Sekundärtakterzeugung 5. Der in Block 5 erzeugte
Sekundärtakt wird direkt oder nach einer Aufbereitung (nicht
dargestellt) ebenfalls Block 4 zugeleitet. Ein Vergleich
kann durch die Verwendung von Timern oder Zählern erfolgen,
die nach Maßgabe der Flanken des Taktsignals gestartet
bzw. gestoppt werden.
-
Der überprüfte
Primärtakt aus Block 3 wird dann beiden Mikroprozessorteilsystemen
TM1 (über Takteingang 1) und TM2 (über
Takteingang 2) zugeführt. Der Sekundärtakt
wird gemäß dem dargestellten Beispiel nicht zur
Taktung der Mikroprozessorteilsysteme verwendet. Daher kann der
Vergleichstakt auch mit weniger aufwändigen Mitteln erzeugt
sein oder sogar von einem ohnehin vorhandenen regelmäßig
wiederkehrenden Signal abgleitet werden.
-
Es
ist möglich, dass die Taktüberprüfungseinrichtung
bestehend aus den Funktionsblöcken 4 und 5 ganz
oder teilweise in den Mikroprozessorteilsystemen TM1 und TM2 integriert
ist. Es ist weiterhin möglich, dass die Mikroprozessorsysteme
die durch Blöcke 4 und 5 realisierte
Taktüberprüfungseinrichtung ganz oder teilweise
durch Softwaremittel nachbilden.
-
Block 6 bezeichnet
eine Abschalteinrichtung, welche auf beide Mikroprozessorteilsysteme
TM1 und TM2 einwirkt und diese im Falle einer nicht mehr zulässigen
Abweichung des Primärtakts abschaltet.
-
Das
in 2 dargestellte, auf einem gemeinsamen Chip integrierte,
Mikroprozessorsystem umfasst eine Primärtakterzeugung 3 und
eine davon unabhängige Sekundärtakterzeugung 5,
wobei im Gegensatz zu den Mikroprozessorsystemen in den 3 und 4 die
Frequenz des Sekundärtakts kleiner ist, als die des Primärtakts.
Beide symmetrisch redundanten Teilmikroprozessorsysteme TM1 und
TM2 werden mit Primärtakt 16 getaktet. Die ebenfalls
im Chip integrierten Schaltungsteile 7 und 8 erfüllen
gemeinsam die Funktion der Taktüberprüfung. Mit
Zähler 7 wird die Anzahl der Taktzyklen des höherfrequenten
Systemtakts innerhalb einer Vergleichstaktperiode bestimmt. Nach
Ablauf einer Vergleichstaktperiode wird der Zählerstand
zur Auswertung in einen Datenspeicher 8 (z. B. ein Latch) übernommen
und Zähler 7 zurückgesetzt. Vorteilhaft
bezüglich der frühzeitigen Erkennung eins zu hohen Systemtakts
bzw. eines zu geringen Vergleichtakts ist die fortlaufende Überwachung
des Vergleichtaktzählers bezüglich der Überschreitung
eine Erwartungswerts vor Ende der Vergleichtaktperiode. Die obigen
Schaltungsteile bestimmen demzufolge die Anzahl der Systemtaktperioden
(oder einer daraus abgeleiteten Zeitbasis) innerhalb der Vergleichstaktperiode
bzw. der High- und/oder Low-Phase (oder einer daraus abgeleiteten
Zeitbasis). Der so bestimmte Wert entspricht dem Frequenzverhältnis
der verglichenen Takte. Eine Abweichung eines der Takte vom Erwartungswert
kann durch das bestimmte Taktverhältnis erkannt werden.
Fehlererkennungseinrichtung 18 bezeichnet ein Hardwareelement
innerhalb des Teilmikroprozessorsystems TM1 zum Auswerten von Vergleichsdatenspeicher 8.
Sowohl der Zähler 7 als auch der Speicher 8 können
alternativ jeweils redundant ausgeführt sein, was durch
die gestrichelten Blöcke 7' und 8' symbolisiert
ist. Auch die Abweichungsauswertung kann in Teilmikroprozessorsystem
TM2 zur redundanten Überprüfung parallel durchgeführt
werden (Block 18'). Die Funktion von Block 18 oder,
falls vorhanden, 18' kann auch durch ein Softwareprogramm
realisiert sein. Der gestrichelt dargestellte Block 15 symbolisiert
eine Taktmanagementeinrichtung, welche gemäß einer
bevorzugten Ausführungsform zur Aufbereitung einer oder
aller von den Taktgeneratoren erzeugten Signale eingesetzt wird.
Die Taktmanagementeinrichtung umfasst hierzu bevorzugt Taktteilungs-
oder Vervielfachungs-Schaltungsmittel. In Block 14 wird
die Aktivität der symmetrisch redundanten Mikroprozessorsysteme
geprüft und insbesondere ein Vergleich der End- und/oder
Zwischenergebnisse vorgenommen.
-
Wie
oben erwähnt, ist im Beispiel gemäß 2 die
Frequenz des Vergleichstakts 17 niedriger, als die des
Primärtakts 16. Die Fehlererkennungseinrichtung 18 erlaubt,
länger andauernde (absolute) Abweichungen des Systemtakts
von der gewünschten (Soll-) Taktfrequenz wie auch sich
zeitlich verändernde Abweichungen(Drift) zu erkennen. Die
Periodendauer des fehlerfreien Vergleichstakts 17 bestimmt
dabei die Zeit, die eine Fehlererkennung mindestens benötigt.
Weicht das Verhältnis des Systemtakts zum Vergleichstakt
vom erwarteten Wert ab, kann dies spätestens nach Ablauf
einer Vergleichstaktperiode oder bei fehlerhaft zu geringer Vergleichstakt frequenz
nach Überschreitung des Erwartungswerts des Systemtakt-Zählers
erkannt werden.
-
Das
Mikroprozessorsystem in 3 stimmt bis auf die Taktvergleichhardware 9, 10, 11 bzw. 9', 10' und 11' mit
dem in 2 dargestellten System überein, wobei
jedoch die Frequenz des Vergleichstakts 2 im wesentlichen
genauso groß ist, wie die Frequenz des Primärtakts 3.
Auch in diesem Fall können länger andauernde (absolute)
Abweichungen des Systemtakts von der gewünschten (Soll-)
Taktfrequenz wie auch sich zeitlich verändernde Abweichungen(Drift)
erkannt werden und die Periodendauer des Vergleichstaktes bestimmt
wie in 2 die mögliche Fehlererkennungszeit.
Gegenüber dem Beispiel in 2 hat die
Schaltung in 3 den Vorteil, dass eine zu
geringe Systemtaktfrequenz früher erkannt werden kann.
-
In
der Schaltung gemäß 3 wird für
beide Takte 3 und 5 die Anzahl der innerhalb eines
Zeitabschnitts auftretenden Taktperioden mit den Zählern 9 und 10 bestimmt.
Der Ausgang der Zähler wird in Komparator 11 miteinander
verglichen. Da die Zähler die Flanken zählen,
kann die Abweichung durch Vergleich der Zählerstände
erfolgen. Die in Hardware ausgeführten Zähler 9 und 10 sowie
der Komparator 11 können jeweils alternativ redundant
ausgeführt sein (gestrichelte Blöcke 9', 10' und 11').
Eine Nutzung interner Zähler der verwendeten Mikroprozessoren
und eine Auswertung dieser Zähler durch die Mikroprozessorsoftware
ist zweckmäßig. Die Bestimmung der Taktabweichung
erfolgt dabei kontinuierlich oder es erfolgt ein hardwaremäßiges
Rücksetzen der Zähler zu geeigneten Zeitpunkten.
-
Alternativ
ist auch eine Ausführungsform mit nur einem Zäh ler
möglich, wenn einer der Takte den Zählerstand
des Zählers erhöht und der andere diesen verringert.
Der Zählerstand enthält dann eine Information über
die Abweichung der beiden Taktreferenzen seit dem letzten Rücksetzen
der Zähler.
-
Wie
bereits erwähnt, ermöglichen die beschriebenen
Schaltungen eine kontinuierliche Bewertung der Abweichung zwischen
Primär- und Sekundärtakt. In der Praxis treten
Abweichungen zum Beispiel auf Grund von Quarz-Toleranzen auf, so dass
der Betrag der Abweichung mit der Zeit kontinuierlich anwächst.
Die quantitative Bestimmung und/oder Kompensation von Fehlern dieser
Art ist besonders zweckmäßig durch Bestimmung
des zeitlichen Gradienten des Zählerstandes möglich.
Im Gegensatz zum Beispiel in 2 können
also starke Abweichungen schon zu einem frühen Zeitpunkt
erkannt werden ohne dabei die Möglichkeit der Erkennung
von geringfügigen Abweichungen mit entsprechend längerer
Erkennungszeit zu verlieren. Eine einfache Fehlererkennung, ausschließlich
durch den Vergleich der Zählerstände mit festen
Schwellwerten, wie bei dem Beispiel in 2, ist dann
allerdings nicht möglich.
-
Es
besteht zusätzlich bei dem System in 3 die
Möglichkeit, ein zyklisches Rücksetzen des (der)
Zähler 9 und 10 (bzw. 9' und 10')
durchzuführen, um einen absoluter Vergleich der Zählerstände mit
festen Schwellwerten zur Fehlererkennung nutzen zu können.
-
Im
Mikroprozessorsystem gemäß 4, welches
bis auf die Taktvergleichshardware 12 und 13 (bzw. 12' und 13')
den obigen Systemen entspricht, ist die Frequenz des Sekundärtakts 17 höher, als
die des Primärtakts 16. Auch hier können
län ger andauernde (absolute) Abweichungen des Systemtakts
von der gewünschten (Soll-) Taktfrequenz wie auch sich
zeitlich verändernde Abweichungen(Drift) erkannt werden.
Im Vergleich zu den Systemen der 2 und 3 können
Systemtaktfehler auf Grund der höheren Vergleichstaktfrequenz
in kürzer Zeit erkannt werden. Auch kurzzeitige Taktstörungen
(Glitches) oder ein Jittern ist bis zur nächsten Systemtaktperiode
erkennbar. Zähler 12 ermittelt die Anzahl der Taktperioden
des höherfrequenten Sekundärtakts 17 innerhalb
einer Taktperiode des Systemtakts 16. Nach Ablauf einer
Periode des Vergleichstakts 17 wird der Zählerstand
zur Auswertung in Datenspeicher 13 übernommen
und Zähler 12 zurückgesetzt. Entsprechend
der weiter oben beschriebenen Varianten können die Hardwareelemente 12 und 13 auch redundant
im Mikroprozessorsystem TM2 vorgesehen sein (Blöcke 12' und 13').
Mit Block 18 ist symbolisch ein Hardware- oder Softwareelement
bezeichnet, das innerhalb des Teilmikroprozessorsystems TM1 angeordnet
ist und eine Auswertung des Vergleichsdatenspeichers 13 sowie
die Fehlerbehandlung durchführt.
-
In
den obigen Beispielen ist es alternativ möglich, für
den oder die Zähler einen internen Timer der Mikroprozessoren
zur Bestimmung der Taktabweichungen zu nutzen. So kann z. B. unter
Nutzung einer vom Vergleichstakt getriggerten Input-Capture-Funktion
der vom Systemtakt getaktete Mikroprozessor die Taktabweichung direkt
ohne Zusatzaufwand innerhalb des Mikroprozessors bestimmt werden.
Wechselt der Timer-Capture-Eingang entsprechend dem Taktsignal von
"0" auf "1" bzw. von "1" auf "0", wird bei jedem Flankenwechsel
der aktuelle Wert eines mikroprozessorsysteminternen Zählers/Timers gespeichert.
Prinzipiell kann die für den Taktvergleich erforderliche
Hardware (z. B. Zähler/Timer) außerhalb des Mikropro zessorsystems
oder dem integrierten Schaltkreis vorgesehen sein. Wie bereits erwähnt,
kann an Stelle von Zählern/Timern alternativ das Zählen
auch von einer Software vorgenommen werden.
-
Die
oben beschriebene Taktversorgung ist neben den im Beispiel beschriebenen
vollredundanten Mikroprozessorsystemen besonders vorteilhaft nutzbar
in zwei- oder mehrkernigen integrierten kernredundanten Mikroprozessorsystemen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - DE 102006008958
A1 [0002]