-
Stand der Technik
-
Die vorliegende Erfindung betrifft ein Timermodul und ein Verfahren zur Überprüfung von Ausgangssignalen eines Timermoduls.
-
Für sicherheitskritische Anwendungen, z. B. bei Steuergeräten im Automotive-Bereich, ist es üblich, verschiedene Ausgangssignale und Werte redundant zu berechnen oder zu generieren und anschließend zu vergleichen. Dadurch wird es möglich, fehlerhafte Signale und Werte zu erkennen und gegebenenfalls zu verwerfen oder auch zu korrigieren. Oftmals werden dazu die Daten byte- oder wortweise berechnet und abgespeichert, bevor der Vergleich erfolgt.
-
In der
DE-10 2004 051 992 A1 wird ein Vergleich aktiviert, wenn zwei Verarbeitungseinheiten in einen Vergleichsmodus geschaltet werden. Es kann für einen solchen Vergleich zusätzlich eine Taktinformation mit den Daten geliefert werden, welche eine synchrone Zuordnung der Daten erlaubt. Wenn ein synchroner Sofortvergleich stattfinden soll, kann die eine Verabeitungseinheit durch ein Halte-Signal angehalten werden, bis die Synchronität erreicht ist, oder die erzeugten Daten werden durch anschließende FIFO-Speichereinheiten zueinander synchronisiert.
-
Offenbarung der Erfindung
-
Vorteile der Erfindung
-
Die vorliegende Erfindung gemäß den unabhängigen Ansprüchen ermöglicht eine besonders effiziente, schnelle und flexibel konfigurierbare Überprüfung eines Ausgangssignals einer Hardware-Datenverarbeitungseinheit, insbesonderer einer Timereinheit, z. B. eines Steuergeräts, durch den Vergleich des Ausgangssignals mit einem redundanten Ausgangssignal. Besonders effizient wird die Überprüfung des Vergleichs der redundanten Ausgangssignale durch eine Realisierung als EXOR-Verknüpfung (exklusives Oder, Antivalenz). Eine besonders zuverlässige und effiziente Fehlererkennung kann dabei dadurch realisiert werden, dass im Fall eines Fehlers des Vergleichs, also bei nicht übereinstimmenden Bits der redundanten Signale, das entsprechende Fehlersignal als Kennung in einem Statusregister so eingeschrieben wird, dass es auch im Fall von im Folgenden erfolgreich verglichenen weiteren Bits erhalten bleibt, bis es durch einen Zugriff, vorzugsweise durch den Zugriff einer externen Recheneinheit, zurückgesetzt wird. Damit ist es zum Beispiel der externen Recheneinheit möglich je nach Bedarf der Überprüfung oder auch abhängig von anderen Bedingungen (Arbeitslast der Recheneinheit) das Fehler- bzw. Statusregister abzufragen bzw. zurückzusetzen.
-
Weitere Vorteile und Verbesserungen ergeben sich durch die Merkmale der abhängigen Ansprüche.
-
Eine besonders flexible Ausgestaltung geht davon aus, dass die Durchführung des Vergleichs, zum Beispiel in einem den Vergleich ausführenden Vergleichsmodul, durch Konfiguration freigeschaltet werden oder abgelehnt werden kann.
-
Weiterhin kann eine besonders hohe Sicherheit erreicht werden, wenn, zum Beispiel abhängig von der Fehlerkennung im Statusregister, ein fehlerhafter Vergleich zweier Bits der verglichenen, redundanten Ausgangssignale zur Ausgabe eines Fehlersignals (innerhalb des Timermoduls oder nach außen) und/oder zur Unterbrechung einer externen Recheneinheit durch einen Interrupt führt.
-
Zeichnungen
-
Es zeigen
-
1 eine schematische Darstellung eines Timer-Moduls.
-
2 eine schematische Darstellung eines Vergleichsmoduls.
-
3 eine Schaltungsanordnung zur Verarbeitung eines Vergleichsergebnisses.
-
4 ein Verfahren zum synchronen bitgenauen Vergleich von Ausgangssignalen eines Timer-Moduls.
-
Ein Timer-Modul eines Steuergerätes kann vorzugsweise als IP-Block im Mikrocontroller eines Steuergeräts, beispielweise eines Fahrzeugsteuergeräts, implementiert werden. Er vereint die Zeit- und gegebenenfalls Winkelfunktionen auf sich, empfängt Signale von der Sensorik des Fahrzeugs (z. B. Drehratensensor eines ESP), bzw. wertet diese aus und wirkt auf die Aktuatoren des Autos (z. B. auf die Fahrdynamik im Falle „Schleudern”). Man könnte einen solchen Timer, wie im Folgenden beschrieben, alternativ auch in eine Endstufe integrieren oder separat vorsehen, er braucht aber immer eine konfigurierende Einheit (z. B. externe Recheneinheit), im Fall seiner Integration im Steuergerät-Mikrocontroller ist das z. B. die bzw. eine Steuergeräte-CPU (bzw. Recheneinheit).
-
In 1 ist die Gesamtarchitektur eines beispielhaften Timer-Moduls 100 gezeigt. Vereinfacht weist die Gesamtstruktur des Timer-Moduls eine Signal-Eingabeeinheit(en) 116 auf, die Werte an eine Routing-Einheit 101 ausgibt, diese Werte werden in anderen Modulen verarbeitet und die verarbeiteten Werte werden über die Routing-Einheit 101 an die Ausgabeeinheit 114 weitergeleitet. Durch die parallele Arbeitsweise der im Folgenden beschriebenen Module kann eine hohe Anzahl von Anforderungen innerhalb kurzer Zeit bedient werden. Sofern bestimmte Module nicht benötigt werden, können diese auch zum Zwecke der Stromersparnis (Leistungsverbrauch, Temperaturreduzierung) abgeschaltet werden.
-
Kern des Timer-Moduls 100 ist die zentrale Routing-Einheit 101, an welche Eingabe- (z. B. Modul(e) 116), Ausgabe- (z. B. Modul(e) 114), Verarbeitungs- (z. B. Modul 109) und Speichereinheiten (z. B. Modul 120) angeschlossen sind.
-
Die Routing-Einheit
101 verbindet die Module flexibel und konfigurierbar miteinander und stellt durch das blockierende Anfordern und Senden von Daten ein neues Interruptkonzept für ein Timer-Modul dar. Sie kommt ohne die Implementierung eines Interruptcontrollers aus, was Fläche und damit Chipkosten einspart. Ein zentrales Konzept der Timer-Einheit
100 ist der Routing-Mechanismus der Routing-Einheit
101 für Datenströme. Jedes Modul (bzw. Submodul) des Timer-Moduls
100, welches mit der Routing-Einheit
101 verbunden ist, kann eine beliebige Anzahl an Routing-Einheit-Schreibkanälen (Datenquellen) und eine beliebige Anzahl an Routing-Einheit-Lesekanälen (Datensenken) aufweisen. Das Konzept der Routing-Einheit
101 sieht vor, flexibel und effizient eine beliebige Datenquelle mit einer beliebigen Datensenke zu verbinden. Dies kann über den Datenrouting-Mechanismus realisiert werden, wie er aus der nicht vorveröffentlichten
DE 10 2009 00189 bekannt ist.
-
Das Parameterspeichermodul 120 besteht aus drei Untereinheiten 121, 122 und 123. Die Untereinheit 121 stellt die Schnittstelle zwischen dem FIFO(First In, First Out)-Speicher 122 und Routing-Einheit 101 dar. Die Untereinheit 123 stellt die Datenschnittstelle zwischen den generischen Busschnittstellen der Module, bzw. der Multiplexvorrichtung 112 (siehe unten), und dem FIFO 122 dar. Das Parameterspeichermodul 120 kann als Datenspeicher für eingehende Datencharakteristika oder als Parameterspeicher für ausgehende Daten dienen. Die Daten werden in einem Speicher, beispielweise einem RAM, gespeichert, welcher sich logisch innerhalb der FIFO-Untereinheit 122 befindet.
-
Das Timer-Eingangsmodul 116 (bestehend vorzugsweise aus mehreren Eingängen) ist verantwortlich für die Filterung und die Aufnahme von Eingangssignalen des Timermoduls 100. Verschiedene Charakteristika der Eingangssignale können innerhalb der Kanäle des Timer-Eingangsmoduls 116 gemessen werden. Dabei werden im Timer-Eingangsmodul 116 die Signale mit Zeitinformationen und anderen physikalischen Informationen verknüpft und nach der Verarbeitung und ggf. Zwischenspeicherung in der Ausgabeeinheit 114 zur Generierung von Ausgangssignalen benutzt. Die physikalischen Informationen sind beispielsweise der Winkel eines Motors oder auch jede andere physikalische Größe wie Masse, Temperatur, Pegelstand einer Flüssigkeit, Phasenlage einer Schwingung eine Anzahl von Ereignissen (Kanten) oder die Periodendauer eines Signals. Eingangscharakteristika können z. B. Zeitstempelwerte von detektierten steigenden oder fallenden Eingangsflanken zusammen mit dem neuen Signallevel oder die Anzahl der Flanken seit einer Kanal-Freigabe zusammen mit dem aktuellen Zeitstempel oder PWM-Signallängen für eine ganze PWM-Periode umfassen. Die Werte, die einem Eingangssignal zugeordnet werden, wie der Wert der Zeitbasis und der Wert der Winkelbasis zum Zeitpunkt des Eingangsevents, charakterisieren also das Eingangssignal und lassen Berechnungen in weiteren Modulen zu, die an die Routingeinheit 101 angeschlossen sind (z. B. Modul 109) und können dann eine Ausgabeeinheit (Ausgabeeinheit 114) ansprechen, in der in Abhängigkeit von den übermittelten Werten in Verbindung mit den aktuellen Zeit- und/oder Winkelbasis-Werten Ausgangssignale erzeugt werden.
-
Für fortgeschrittene Datenverarbeitung können die detektierten Eingangs-Charakteristika des Timer-Eingangsmoduls 116 durch die Routing-Einheit 101 zu weiteren Verarbeitungseinheiten des Timer-Moduls 100 geroutet werden.
-
Die Einheit zur Taktaufbereitung 102 ist verantwortlich für die Takt-Erzeugung der Zähler und des Timer-Moduls 100. Sie stellt konfigurierbare Takte zur Verfügung und die Zeitbasis-Einheit 103 mit sowohl zeit- als auch positionsbezogenen Zählern liefert eine gemeinsame Zeitbasis für das Timer-Modul 100 bzw. stellt aktuelle Zeit- und Positionsinformation (z. B. Winkel) zur Verfügung.
-
Die Einzelmodule werden mit den Takten und Zeitbasen versorgt und tauschen über die Routing-Einheit 101 Daten miteinander aus. Durch lokal in den Einzelmodulen vorliegende Komparatoren werden die Daten gegenüber der aktuellen Zeit und/oder Position verglichen und dabei getroffene Entscheidungen signalisiert, wie zum Beispiel dem Schalten eines Ausgangssignals.
-
Bei dem Routen der Daten mittels der Routing-Einheit 101 stellt die Verzweigungseinheit 111 die Daten einer Quelle auch mehreren Datensenken in einem oder verschiedenen Modulen zur Verfügung, da in der Regel ein blockierendes Lesen der Daten vorgesehen ist, das nur das einmalige Lesen eines Datums von einer Quelle erlaubt. Da jede Schreibadresse für die Submodul-Kanäle des Timer-Moduls 100, welche zu der Routing-Einheit 101 schreiben können, nur von einem einzigen Modul gelesen werden kann, ist es unmöglich, einen Datenstrom verschiedenen Modulen parallel zur Verfügung zu stellen. Dies gilt nicht für Quellen, die ihre Daten nicht ungültig machen, nachdem die Daten von einem Empfänger gelesen wurden, wie es zum Beispiel für das DPLL-Modul 104 vorgesehen sein kann. Um dieses Problem für reguläre Module zu lösen, ermöglicht es die Verzweigungseinheit 111, Datenströme mehrmals zu duplizieren. Dieses Submodul 111 stellt Eingangs- und Ausgangskanäle zur Verfügung. Um einen eingehenden Datenstrom zu klonen, kann der entsprechende Eingangskanal auf einen oder mehrere Ausgangskanäle gemappt werden.
-
Das DPLL(digital Phase locked loop)-Modul 104 wird für Frequenzmulitplikation eingesetzt. Zweck dieses Moduls 104 ist es eine größere Genauigkeit der Positions- oder Wert-Information auch im Fall von Anwendungen mit schnell veränderlichen Eingangsfrequezen zu erreichen. Das DPLL-Modul 104 erzeugt aus positionsbezogenen Eingangssignalen Impulse, die feiner unterteilte Positionsinformationen in der Zeitbasis-Einheit 103 ermöglichen. Damit kann zum Beispiel eine Winkeluhr eine feinere Auflösung eines Drehwinkels anzeigen als die Eingangssignale vorgeben. Darüber hinaus sind in dem DPLL-Modul 104 Informationen über Geschwindigkeit oder Drehzahl verfügbar und es können Voraussagen getroffen werden, wann eine vorgegebene Position auch unter Einbeziehung eines zeitlichen Vorlaufs (z. B. Berücksichtigung der Trägheit des Ansteuermoduls) erreicht sein wird. Die Eingangssignale für das DPLL-Modul 104 werden über das Timer-Eingangsmodul 106 geführt, in einem Eingangsmapping-Modul 105 gefiltert oder auch in einem Sensormuster-Auswertungsmodul 115, beispielsweise insbesondere für die Auswertung von Elektromotoren, kombiniert.
-
Das Timer-Eingangsmodul 106 hat gegenüber den anderen Timer-Eingangsmodulen 116 also die Besonderheit, dass er aktuelle Filterwerte, mit denen er Eingangssignale filtert, an das Eingangsmapping-Modul 105 und das DPLL-Modul 104 weitergibt, und dort die Filterwerte auf die Zeitstempel der gefilterten Kante angerechnet werden, um eine tatsächliche Kantenzeit zu erhalten.
-
Das Sensormuster-Auswertungsmodul 115 kann verwendet werden, um die Eingaben von mehreren Hall-Sensoren auszuwerten und um gemeinsam mit dem Timer-Ausgangsmodul 113 (bestehend vorzugsweise aus mehreren Ausgängen) den Betrieb von Gleichstrommaschinen (BLDC, brushless direct current) zu unterstützen. Zusätzlich kann das Sensormuster-Auswertungsmodul 115 zum Beispiel auch verwendet werden, um die Rotationsgeschwindigkeit einer oder zweier elektrischer Maschinen zu berechnen.
-
Mittels der Ausgangsvergleichs-Einheit 108 können Ausgangssignale bitweise miteinander verglichen werden. Sie ist für den Einsatz in sicherheitsrelevanten Anwendungen konzipiert. Die Hauptidee ist hierbei, die Möglichkeit zu haben, Ausgänge zu verdoppeln, um in dieser Einheit verglichen werden zu können. Wird dazu zum Beispiel eine einfache EXOR(exclusive OR)-Funktion verwendet, kann es notwendig sein, das Ausgangsverhalten eines kompletten Zyklus der zu vergleichenden Ausgangsmodule sicherzustellen. Wie in 1 gezeigt, ist die Ausgangsvergleich-Einheit 108 über die mit dem Bezugszeichen 9 angedeutete Verbindung mit der Verbindung zwischen Timer-Ausgangsmodul 113 und dem Pin 12 verbunden.
-
Die Monitor-Einheit 107 ist ebenfalls für den Einsatz in sicherheitsrelevanten Anwendungen konzipiert. Die Hauptidee ist dabei, die Möglichkeit zu schaffen, gemeinsam genutzte Schaltkreise und Ressourcen zu überwachen. So wird die Aktivität der Uhren sowie die Grundaktivität der Routing-Einheit 101 überwacht. Die Monitor-Einheit 107 ermöglicht einer externen CPU (central processing unit) bzw. allgemein einer externen Recheneinheit die einfache Überwachung von zentralen Signalen für sicherheitskritische Anwendungen.
-
Unterbrechungslinien (Interrupt request lines) der Module sind in 1 durch vierstellige Bezugszeichen mit der Endung „2” und den ersten drei Ziffern entsprechend dem Modul gekennzeichnet. Das Unterbrechungskonzentrierungsmodul 110 wird eingesetzt, um die Unterbrechungslinien XXX2 der individuellen Submodule geeignet in Unterbrechungsgruppen zu bündeln und dann an die externe Recheneinheit weiterzuleiten.
-
Alle Module sind von der Recheneinheit über eine Busschnittstelle (universelle Handshaking-Schnittstelle) konfigurierbar. Über diese Busschnittstelle sind auch Daten austauschbar. Für das nicht an die Routing-Einheit angeschlossene Ausgabemodul Timer-Ausgangsmodul 113 werden hiermit die Ausgänge zum Beispiel für periodische Abläufe konfiguriert. Das Timer-Ausgangsmodul 113 bietet unabhängige Kanäle, z. B. um PWM(pulse width modulated)-Signale an jedem Ausgangspin zu generieren. Zusätzlich kann an einem Ausgang des Timer-Ausgangsmodul 113 ein Pulszähler-moduliertes Signal erzeugt werden.
-
Das mit der Router-Einheit 101 verbundene Timer-Ausgangsmodul 114 ist aufgrund seiner Verbindung mit der Routereinheit 101 in der Lage, komplexe Ausgangssignale ohne CPU-Interaktion zu erzeugen. Typischerweise werden Ausgangssignal-Charakteristika über die Verbindung zur Router-Einheit 101 durch mit der Router-Einheit 101 verbundene Submodule wie zum Beispiel das DPLL-Submodul 104, das Mehrkanal-Sequenzer-Modul 109 oder das Parameterspeichermodul 120 zur Verfügung gestellt.
-
Das Mehrkanal-Sequenzer-Modul 109 ist ein generisches Datenverarbeitungsmodul, welches mit der Routing-Einheit 101 verbunden ist. Eine seiner Hauptanwendungen ist es, komplexe Ausgangssequenzen zu berechnen, welche von den Zeitbasis-Werten der Zeitbasis-Einheit 103 abhängen können und welche in Kombination mit dem Modul 114 bearbeitet werden. Jedes Untermodul des mit der Router-Einheit 101 verbundenen Timer-Ausgangsmoduls 114 umfasst Ausgangskanäle, welche unabhängig von einander in verschiedenene konfigurierbaren Betriebsmodi operieren können.
-
Der Mikrocontroller-Bus ist in 1 mit dem Bezugszeichen 11, verschiedene Pins (bzw. Pingruppen) sind mit den Bezugszeichen 12–15 bezeichnet.
-
Das Timermodul ist mit einer generischen Busschnittstelle ausgerüstet, welche vielseitig auf verschiedene SoC-Busse (Soc = System an a chip) angepasst werden kann. Die Anpassung der generischen Busschnittstelle wird typischerweise über ein Brückenmodul erreicht, welches die Signale der generischen Busschnittstelle in die Signale des jeweiligen SoC-Busses übersetzt. Die generischen Busschnittstellen der Module sind in 1 durch vierstellige Bezugszeichen mit der Endung „1” und den ersten drei Ziffern entsprechend dem Modul gekennzeichnet. Die Multiplexvorrichtung 112 multiplext die generischen Busschnittstellen. In der 1 sind die Verbindungen zwischen den generischen Busschnittstellen XXX1 und der Multiplexvorrichtung 112 mit den Bezugszeichen 1–8 angedeutet.
-
Für mindestens zwei redundante Ausgabesignale einer Hardware-Datenverarbeitungseinheit, zum Beispiel das Timer-Modul 100 eines Steuergeräts, soll ein Vergleich, insbesondere ein bitweiser Vergleich, erfolgen, insbesondere um die Fehlerfreiheit eines Ausgangssignals durch seinen Vergleich mit einem redundante erzeugten Signal sicherzustellen bzw. zu überwachen. Im Folgenden wird hierzu unter anderem beschrieben, wie die synchrone Generierung der redundanten Signale ermöglicht wird und wie der bitweise Vergleich der Signale ohne zusätzliche Abspeicherung realisiert werden kann.
-
In 2 ist schematisch ein beispielhafter Aufbau der Ausgangsvergleichs-Einheit 108 aus 1 gezeigt. Dabei ist die Ausgangsvergleichs-Einheit 108 mit Bezugszeichen 210 bezeichnet. Mit den Bezugszeichen 201 und 202 sind Ausgangsmodule, vorzugsweise mit jeweils mehreren Ausgangskanälen, bezeichnet.
-
In dieser Ausgestaltung entspricht das Ausgangsmodul 201 dem Ausgangsmodul 114 in 1 und das Ausgangsmodul 202 dem Ausgangsmodul 113 in 1. Soll Ausgangssignal einer der Kanäle der beiden Ausgangsmodule 201 oder 202 überprüft werden, kann dieses Ausgangssignal von einem weiteren Kanal des gleichen Ausgangsmoduls redundant und sychron generiert werden und über die Verbindung 221 oder die Verbindung 222 an die Ausgangsvergleichs-Einheit 210 gesendet werden. Dabei entsprechen die Verbindungen 221 und 222 gegebenfalls mehreren Leitungen. Das Ausgangsmodul 201 ist über die Verbindung 221 mit einer Vergleichseinheit 211, das Ausgangsmodul 202 über die Verbindung 222 mit einer Vergleichseinheit 212 verbunden. In diesen Vergleichseinheiten können die redundante erzeugten Signale bitweise miteinander verglichen werden und das Vergleichsergebnis gespeichert werden. Freigeschaltet (enabled) wird der Vergleich bzw. werden die Vergleichseinheiten 211 bzw. 212 durch die Freigabeeinheit 213 über die Verbindungen 223 bzw. 224. Verbunden sind die Vergleichseinheiten 211 und 212 jeweils mit der Fehlersignalsteuerung 214, durch welche in Abhängigkeit der Vergleichsergebnisse Maßnahmen bestimmt bzw. gesteuert werden. Zu diesem Zweck ist die Fehlersignalsteuerung 214 mit Fehlersignalgenerator 215 über die Verbindung 227 und mit dem Interrupt-Generator 216 über die Verbindung 228 verbunden. Der Fehlersignalgenerator kann über eine Verbindung 229 ein Fehlersignal alternativ zu einem anderen Modul der Timer-Einheit 100 senden, z. B. zur Monitoreinheit 107, oder ein Fehlersignal nach außen, also nach Timer-Modul-extern, schicken. Der Interruptgenerator 216 kann über die Interruptverbindung 230 einen Interrupt der externen Recheneinheit (CPU) bewirken.
-
Der Vergleich der Ausgabesignale soll konfigurierbar erfolgen, insbesondere soll die externe Recheneinheit über Konfigurationsbits in der Ausgangsvergleichseinheit 108 bzw. 210 einen Vergleichsvorgang freigeben und konfigurieren. Die zwei Kanäle der Ausgangsmodule 201 und 202, welche die zu vergleichenden Signale erzeugen, können prinzipiell alternativ zur „Vergleichskonfiguration” durch geeignete Konfigurierung durch die Recheneinheit auch zur Erzeugung unabhängiger, verschiedener Signale eingesetzt werden. In der Ausgangsvergleichs-Einheit 108 bzw. 210 und den Ausgangsmodulen 201 und 202 werden dazu zusätzlich Konfigurationsbits je nach Anwendung gesetzt.
-
Für den durchzuführenden Vergleich der redundanten Ausgangssignale soll der Beginn der Signalgernerierung der zu vergleichenden Signale synchron erfolgen.
-
Dadurch ist ein unmittelbarer, synchroner serieller Vergleich der Daten möglich, ohne eine zusätzliche Taktinformation auswerten zu müssen oder durch ein Haltesignal einen der beiden Signalgeneratoren (also eines der Ausgangsmodule 201 oder 202) anhalten zu müssen, bis eine Synchronisation erreicht ist. Der Vergleich der redundanten Signale ist dann in den Vergleichseinheiten 211 und 212 durch eine EXOR-Funktion (exklusives ODER bzw. Antivalenz) realisierbar.
-
In der Ausgangsvergleichs-Einheit 108 werden durch Setzen von Konfigurationsbits z. B. durch die externe Recheneinheit mindestens zwei (z. B. benachbarte) Ausgangskanäle der Ausgangsmodule 113 und 114 so konfiguriert, dass sie verglichen werden können. Das umfasst die redundante Ausgabe des gleichen Ausgangssignals durch beide Ausgänge und den gleichzeitigen Beginn der Signalgenerierung durch die beiden Ausgangskanäle. Vorzugsweise wird dabei das Ausgangssignal einer der Ausgangskanäle wirklich nach außen gegeben, während das andere Ausgangssignal nur als redundantes Signal für den Vergleichsvorgang erzeugt wird. Alternativ kann eine Freigabe des Ausgangssignals auch erst nach erfolgreichem Vergleich erfolgen. Zusätzlich werden in der Ausgangsvergleichseinheit 210 Konfigurationsbits so gesetzt, dass die Ausgangssignale der entsprechend ausgewählten Ausgangskanäle durch die Freigabeeinheit 213 für den Vergleich (insbesondere durch eine EXOR-Funktion) freigegeben werden. Durch die Ausgangsvergleichseinheit 210 sind mehrere Vergleiche (also Vergleiche mehrerer Ausgangskanal-Paare bzw. Gruppen) gleichzeitig konfigurierbar und durchführbar.
-
In 3 ist schematisch eine Schaltungsanordnung zur Verarbeitung bzw. Speicherung eines Vergleichsergebnisses gezeigt. Diese Schaltungsanordnung 300 ist vorzugsweise jeweils in den Vergleichseinheiten 211 und 212 oder in der Fehlersignalsteuerung 214 (2) implementiert. Das Vergleichsergebnis, also das Ergebnis der EXOR-Funktion (z. B. erfolgreich = Bit 0 und erfolglos = Bit 1) jedes verglichenen Bits der beiden redundanten Ausgangssignale eines Ausgangsmoduls werden in über die Verbindung 310 in das erste Register 301 geschrieben und mit einem Taktsignal über die Taktverbindung 311 über das Element 302 in das Register 303 übernommen. Dabei kann vorzugsweise vorgesehen sein, dass im Register 303 das Ergebnis „Fehler” (z. B. Bit 1) so lange stehen bleibt und auch nicht durch nachfolgende Ergebnisse „fehlerfrei” überschrieben werden kann, bis das entsprechende Bit bzw. das entsprechende im Register 303 gespeicherte Ergebnis durch die Recheneinheit, bzw. durch einen Recheneinheit-Befehl zurückgesetzt wird.
-
Ein Fehlersignal kann in Abhängigkeit des im Register 303 gespeicherten Wertes durch die Verbindung 313 weitergeben werden. Schlägt der Vergleich also fehl, stimmen also die beiden zu vergleichenden Ausgangssignale nicht miteinander überein, so kann ein Fehler gemeldet und z. B. ein Interrupt an den externen Prozessor (externe Recheneinheit) ausgelöst werden. Das Fehlersignal kann ebenfalls nach Timermodul-extern gesendet werden oder zur Überwachungseinheit bzw. Monitoreinheit 107 gesendet werden, dort gespeichert werden und dann dort von der externen Recheneinheit (regelmäßig oder unregelmäßig) geprüft werden.
-
In 4 ist der Ablauf eines Verfahrens zum bitweisen synchronen Vergleich von redundanten Ausgangssignalen gezeigt. Mit redundante Ausgangssignalen ist dabei gemeint, dass die Ausgangskanäle (im fehlerfreien Fall) bitgenau gleiche Ausgangssignale generieren.
-
In einem ersten Schritt 401 wird durch Konfiguration mindestenes zweier Ausgangskanäle eines oder verschiedener Ausgangsmodul (201, 202) einer Hardware-Datenverarbeitungseinheit 100 bewirkt, dass die Ausgangskanäle redundante Ausgangssignale erzeugen und dass der Beginn der Ausgangssignalerzeugung synchron erfolgt. Für die redundante Ausgangssignalgenerierung muss den verschiedenen Ausgangskanälen die gleiche zur Generierung benötige Information zur Verfügung stehen.
-
In einem zweiten Schritt 402, der zeitlich vor, während oder nach dem ersten Schritt liegen kann, erfolgt eine Konfiguration eines Ausgangsvergleichsmoduls 210 der Hardware-Datenverarbeitungseinheit 100, welche bewirkt, dass die mindestens zwei Ausgangskanäle für einen Vergleich ihrer Ausgangssignale freigegeben sind. Insbesondere werden also die Ausgangssignale dieser Ausgangskanäle für die Vergleichseinheiten 211 oder 212 freigegeben.
-
Diese Ausgangssignale werden in der Vergleichseinheit 211 oder 212 direkt, ohne Abspeicherung oder Verzögerung, bitweise EXOR-verknüpft und damit bitweise auf Übereinstimmung verglichen (Schritt 403).
-
Eine Fehler- bzw. Vergleichsergebniskennung wird in dem Statusregister 303 gespeichert (Schritt 404). Insbesondere wird die Vergleichsergebniskennung im Fall eines Fehlers (EXOR-Ergebnis 1, d. h. unterschiedlich Bits der Vergleichssignale im gleichen Vergleichstakt) solange im Statusregister 303 behalten und nicht durch möglicherweise folgende erfolgreiche Vergleiche einzelner Bits überschrieben, bis das Statusregister, z. B. durch die externe Recheneinheit, zurückgesetzt wird.
-
In den alternativen Schritten 405 und 406 werden je nach Wert der Vergleichsergebniskennung im Register 303 Fehlermaßnahmen wie Fehlersignalausgabe oder Recheneinheit-Interrupt vorgenommen (EXOR-Ergebnis 1, Fehler, Schritt 405) oder nicht (EXOR-Ergebnis 0, kein Fehler, Schritt 406).
-
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 102004051992 A1 [0003]
- DE 10200900189 [0016]