-
Stand der Technik
-
Die vorliegende Erfindung betrifft eine Verfahren zur Überprüfung von Signal- und Modulaktivitäten in einem Timermodul bzw. ein Timermodul.
-
Solche Überprüfungen werden bisher nach dem Stand der Technik in Timermodulen, insbesondere in Steuergeräten im Automotive-Bereich, nicht eingesetzt, obwohl sie eine deutlich bessere Sicherheit ermöglichen. Es ist dagegen üblich, die Ausgangssignale von Timereinheiten auf Korrektheit zu überprüfen. Außerdem ist die Möglichkeit bekannt, über regelmäßige Abfragen (Polling) eines externen Watchdogs durch eine CPU die Aktivität dieser CPU zu überwachen.
-
Offenbarung der Erfindung
-
Vorteile der Erfindung
-
Die vorliegende Erfindung gemäß den unabhängigen Ansprüchen ermöglicht ein Timermodul, insbesondere ein Timermodul eines Steuergeräts, welches höhere Sicherheitsanforderungen erfüllt, da nicht nur Signalausgaben der Timereinheit auf Fehlerhaftigkeit und Aktivität überprüft werden, sondern auch interne Signale und Einheiten des Timermoduls mittels Abfragen (Polling) durch eine zugeordnete externe Recheneinheit, bzw. CPU, auf Aktivität überprüft werden können. Neben der Hardware für einen Watchdog mit Zählern für verschiedene Signale und eine zusätzliche Zeitbasis für den Watchdog spart man sich das Konfigurieren verschiedener Time-out-Werte für verschiedene Signale im Watchdog, da die Abfragen durch die externe Recheneinheit zu von der externen Recheneinheit bestimmten Zeitpunkten erfolgt. Es müssen also keine Zeiten im Timermodul konfiguriert werden, um die Zeitdauer zwischen zwei Abfragen wechselnden Bedingungen anzupassen.
-
Weitere Vorteile und Verbesserungen ergeben sich durch die Merkmale der abhängigen Ansprüche und aus der Beschreibung der Zeichnungen.
-
Besonders vorteilhaft ist es gemäß den unabhängigen Ansprüchen die Überwachung eines Timermodul-internen Taktsignals bzw. der entsprechenden Taktgebereinheit und/oder einer Timermodul-internen Routingeinheit auf Aktivität, da durch eine Inaktivität dieser Einheiten bzw. Signale die Funktionsweise des Timermoduls besonders stark eingeschränkt wird und somit eine möglichst schnelle und sichere Erkennung dieser Inaktivität, z. B. bei einer Überprüfung direkt nach dem Start, erwünscht ist.
-
Es kann in einer vorteilhaften Ausgestaltung auch vorgesehen sein, neben den Aktivitätsstatus-Kennungen (Signal/Einheit aktiv) auch Fehlerstatus-Kennungen (generiertes Signal fehlerhaft) in dem Statusregister vorzusehen, da die gemeinsame Auswertung dieser Informationen durch die Recheneinheit eine besonders sichere Erkennung einer korrekten Arbeitsweise ermöglicht. Eine nicht vorhandene Fehlerkennung zeigt an, dass entweder das damit entsprechend gekennzeichnete Signal fehlerfrei ist, oder dass für das Signal aufgrund von Inaktivität des Signals oder aufgrund von Inaktivität von zur Signalüberprüfung nötigen Signalen oder Einheiten keine Überprüfung auf Fehler durchgeführt werden konnte. Ist nun die Aktivität der entsprechenden Signale und Einheiten durch Aktivitätskennungen im Statusregister festgestellt, kann das Signal mit höherer Sicherheit als fehlerfrei angenommen werden.
-
Zeichnungen
-
Es zeigen:
-
1 eine schematische Darstellung eines Timer-Moduls,
-
2 eine schematische Darstellung eines Monitormoduls,
-
3 schematisch eine Schaltung zur Aktivitätsprüfung,
-
4 Ablauf eines Verfahrens zur Überprüfung von Signal- und Modulaktivitäten in einem Timermodul.
-
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 10200900189 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 Frequenzmultiplikation 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 Eingangsfrequenzen 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 verschiedene 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 on 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.
-
2 zeigt eine beispielhafte Ausgestaltung 210 des Monitormoduls 107 aus 1. Das Monitormodul 210 ist dabei mit der Einheit zur Taktaufbereitung 201 (102 in 1) über die Verbindungen 220 und 221, mit dem Multikanal-Sequenzer 202 (109 in 1) über die Verbindungen 222 und 223 und mit der Ausgangsvergleichseinheit 108 über die Verbindung 224 verbunden. Die Einheit zur Taktaufbereitung 102 ist über die Verbindung 220 mit einem ersten Aktivitätsprüfer 211 und über die Verbindung 221 mit einem zweiten Aktivitätsprüfer 212 verbunden. Die Aktivitätsprüfer 211 und 212 sind über die Verbindungen 225 bzw. 226 mit dem Statusregister 213 des Monitormoduls 210 verbunden. Der Multikanal-Sequenzer 202 ist über die Verbindungen 222 und 223 und die Ausgangsvergleichseinheit 108 über die Verbindung 224 mit dem Statusregister 213 des Monitormoduls 210 verbunden. Dabei können die Verbindungen je nach Ausgestaltung jeweils mehreren Datenleitungen entsprechen.
-
In der Monitor-Einheit 107 werden verschiedene Signalaktivitäten des Timer-Moduls 100 erfasst und zum Teil bestimmt.
-
So wird zum Beispiel mindestens ein Takt der Taktmanagement-Einheit 102 daraufhin geprüft, ob eine Aktivität vorliegt. Die Aktivität des Taktsignals wird in der Ausgestaltung von 2 in der Monitoreinheit 201 geprüft. Dazu wird das entsprechende Taktsignal zum Beispiel über die Verbindung 220 oder die Verbindung 221 zu den Aktivitätsprüfern 211 oder 212 geführt. Die prüfen, ob das angelegte Taktsignal aktiv ist, das heißt insbesondere ob irgendein Pegelwechsel oder ein bestimmter Pegelwechsel feststellbar sind.
-
Ein möglicher Aufbau für einen Aktivitätsprüfer wie die Aktivitätsprüfer 211 und 212 in 2 ist in 3 gezeigt. Dabei wird über eine Verbindung 301 ein Signal an den Inverter (NICHT-Gatter) 311 und an die Verzögerungseinheit, bzw. den Flip-Flop, 313 gegeben. Das invertierte Signal wird von dem Inverter 311 über die Verbindung 302 an das UND-Gatter 312 gegeben. Die Verzögerungseinheit 313 empfängt über die Verbindung 303 einen Systemtakt und verzögert das über die Verbindung 301 eingehende Signal und gibt dieses über die Verbindung 304 ebenfalls an das UND-Gatter 312. Das Ergebnis der VerUNDung im UND-Gatter 312 wird über die Verbindung 305 ausgegeben.
-
Der Aktivitätschecker speichert also ein zu prüfendes Signal mit dem Systemtakt zur Verzögerung in ein Speicherelement (Flip-Flop 313) ein. Weicht dann der Wert des so verzögerten Signals am Ausgang des Speicherelementes von dem Wert am Eingang des Speicherelements ab, so liegt eine Aktivität des betreffenden Signals vor. Dabei reicht es häufig nicht festzustellen, dass irgendeine Aktivität des betreffenden Signals vorlag, sondern es kommt beispielweise darauf an, dass eine bestimmte Flanke aktiv war. Das wird mit Hilfe eines UND-Elementes mit einer zusätzlichen Invertierung eines der beiden Signale geprüft. Ist zum Beispiel das am Speicherelement 313 eingehende Signal (Verbindung 301) auf einem Pegel „1”, aber das ausgehende, verzögerte Signal (Verbindung 304) „0”, und wird das eingehende Signal durch den Inverter 311 auf „0” invertiert so wird keine Aktivität festgestellt, angenommen, dass das Ergebnis „0” der VerUNDung einer Inaktivitätsmeldung entspricht. Wäre der Inverter zwischen den Elementen 312 und 313 angeordnet, würde die besprochene Signalkombination eine Aktivität ergeben. Es kann also über die Anordnung der Invertierung entschieden werden, welcher Flankenwechsel als Signalaktivität registriert wird. Eine andere, einfachere Variante eines Aktivitätsprüfers wäre die Anordnung eines EXOR-Gatters, zu welchem das am Speicherelement 313 eingehende Signal und das ausgehende, verzögerte Signal geführt werden, falls es nicht auf die Art eines Flankenwechsels ankommt.
-
Der Ausgang des Aktivitätsprüfers 211 bzw. 212 setzt ein Bit im Statusregister 213, um eine Aktivität anzuzeigen, z. B. wenn er gleich „1” ist. Wie noch näher erläutert wird, bleibt dieses Bit, das die Aktivität anzeigt, im Statusregister so lange gesetzt, bis die CPU es zurücksetzt.
-
Neben dem Beispiel einer Aktivitätsprüfung eines Taktes im Monitor-Modul 210 kann dieses auch bereits bestimmte Aktivitätsinformationen für Signale oder Einheiten des Timermoduls 100 empfangen und im Statusregister 213 speichern. Ein Beispiel hierfür ist das in 2 über die Verbindung 222 von dem Multikanalsequenzer 202 empfangene und im Statusregister 213 abgespeicherte Aktivitätssignal. Um Ausgangssignale eines Timermoduls 100 überprüfen zu können, kann das Ausgangssignal über einen Eingang des Timermoduls 100 wieder zurückgeführt werden und zum Beispiel in dem Multikanalsequenzer 202 überprüft werden. Neben der Überprüfung des Signals auf bestimmte Signalcharakteristika (z. B. Signallänge, -pegel, -periode) kann der Multikanalsequenzer 202 auch ein Signal ausgeben, wenn überhaupt ein Vergleich durchgeführt wird, also unabhängig vom Ausgang des Vergleichs. Damit wird implizit eine Aussage getroffen, dass die zur Durchführung des Vergleichs notwendigen Einheiten bzw. Signale des Timermoduls 100 aktiv sind. Bei einer Prüfung des Ausgangssignals auf seine Zeitdauer werden zum Beispiel vorzugsweise Zeitstempel von der Zeitbasiseinheit 103 zur Bestimmung der Signalzeitdauer herangezogen, welche in dem Eingangsmodul 116 den Ausgangssignalpegeln zugewiesen werden und über die Routingeinheit 101 an den Multikanalsequenzer 109 bzw. 202 gesendet werden. Die Differenz der Zeitstempelwerte der Anfangsflanke und der Endflanke des Ausgangssignals ergeben dann die Signallänge, welche im Multikanalsequenzer 202 mit einem vorgegebenen Vergleichswert verglichen werden kann. Unabhängig vom Ausgang des Vergleichs kann aber bei Durchführung des Vergleichs ein Aktivitätssignal ausgegeben werden, welches in diesem Beispiel die Aktivität der Routingeinheit 101, der Zeitbasiseinheit 103 bzw. des Zeitsignals und des Eingangsmoduls 116 impliziert. Ein weiteres Beispiel für einen solchen Vergleich stellt die Überprüfung einer Rundendauer der Routingeinheit 101 durch blockierende Zugriffe durch den Multikanalsequenzer 202, die Zuweisung von Zeitstempelwerten und Differenzbildung der Zeitstempelwerten dar. Auch hier enthält die Aussage „Vergleich erfolgt” durch ein Aktivitätssignal wiederum Informationen über Aktivitäten, z. B. der Zeitbasis und der Routingeinheit 101.
-
Durch den Multikanalsequenzer 202 können verschiedene solcher Vergleichsverfahren durchgeführt werden. Für Aktivitätssignale wie diese Vergleichssignale wäre es möglich, dass eine VerUNDung einzelner VGL-Signale vorgenommen wird, d. h. es ist nur dann ein Aktivitätssignal gleich 1 gibt, wenn alle einzelnen Vergleichssignale einer Gruppe gleich 1 sind. Das funktioniert aber nur dann, wenn alle zusammengefassten Vergleiche im gleichen Zeitraum absolviert werden und die einzelnen Vergleichssignale dazu zwischengespeichert werden. Das würde aber bedeuten, dass die CPU nach einem positiven Vergleich auch die zwischengespeicherten Vergleichssignale zurücksetzen müsste. Es ist deshalb günstiger, für jeden der Vergleiche ein eigenes Signal an die Monitor Unit zu senden.
-
Mit der Monitor-Einheit 107 werden die beschriebenen Informationen über den Aktivitätsstatus von Signalen bzw. Einheiten innerhalb des Timermoduls 100 einer externen Verarbeitungseinheit, beispielsweise einer externen CPU, zur Verfügung gestellt. Die CPU kann diese Aktivitätsstatuswerte jederzeit in dem Statusregister 213 lesen und diese zurücksetzen. Das Zurücksetzen kann z. B. durch das Schreiben einer 1 auf das betreffende Bit im Statusregister bewirkt werden.
-
Die externe CPU fragt die Monitor-Einheit 107 insbesondere zu von der CPU bestimmten Zeitpunkten ab (engl: polling). Nach jeder Abfrage durch die CPU können aktive Aktivitätsstatuswerte bzw. Registereinträge (insbesondere Werte im Statusregister 213) in der Monitor-Einheit 210 zurückgesetzt werden bzw. werden von der CPU zurückgesetzt. Das heißt im Umkehrschluss auch, dass bei einer einmal im Zeitraum zwischen zwei CPU-Abfragen registrierten Aktivität das Statusbit im Statusregister 213 aktiv bleibt, also die Aktivität anzeigt, auch wenn das Aktivitätssignal in der Folge (auch) Inaktivität anzeigt. Erst bei Abfrage durch die CPU wird das Aktivitätsbit zurückgesetzt. Die Abstände zwischen zwei Abfragen der Werte in der Monitoreinheit 210 durch die CPU können von dieser so gewählt werden, dass eine erwartete Aktivität in diesem Zeitraum für ausgewählte Signale vorliegen muss. Das heißt, die CPU entscheidet selbst, nach welchem Zeitraum sie einen bestimmten Aktivitätsstatus eines bestimmten Signals wieder abfragen will, beispielsweise, weil sie innerhalb dieses Zeitraums in Abhängigkeit von den herrschenden Bedingungen für das bestimmte Signal auf jeden Fall oder mit hoher Wahrscheinlichkeit eine Aktivität erwartet. Wird durch den Wert eine Aktivität bestätigt, kann die CPU den Status wieder zurücksetzen und nach einem weiteren Zeitraum erneut abfragen. Wird durch den Wert keine Aktivität gemeldet, kann die CPU z. B. Maßnahmen zur weiteren Fehlerbehandlung ergreifen. Die CPU kann dabei je nach aktuellen Bedingungen und nach Vorgaben für verschiedene Signale verschiedene Zeitabstände für die Abfrage vorsehen und auch die Aktivität eines bestimmten Signals in variablen Zeitabständen abfragen, da sie die Informationen hat, z. B. welche Vergleiche des Multikanalsequenzer in welchem Zeitraum aktiv sein müssten.
-
Dabei müssen keine Zeiten im Timermodul 100 bzw., im Monitormodul 101 konfiguriert werden, um die Zeitdauer zwischen zwei Abfragen wechselnden Bedingungen anzupassen. Die Werte werden von der CPU je nach Notwendigkeit geprüft, es kann für bestimmte Signalaktivitäten auch ausreichen, nur einmal beim Start (power-on) zu prüfen. Das ist vor allem für solche Werte der Fall, die nicht unmittelbar eine kritische Auswirkung haben können. Außerdem kann die Pollingaktivität der CPU auch von der Arbeitsbelastung der CPU abhängig gemacht werden. Auch die Aktivität von niederfrequenten Takten oder selten stattfindenden Vergleichen kann geprüft werden: Die CPU muss nur das Zeitfenster zwischen zwei Abfragen ausreichend groß wählen.
-
In einer besonderen Ausgestaltung des Monitormoduls 210 können neben Aktivitätsinformationen auch Fehlerinformationen gespeichert werden und der externen Verarbeitungseinheit zur Verfügung gestellt werden.
-
Bei den bereits beschriebenen Vergleichen im Multikanalsequenzer 202 von Signalcharakteristika von Ausgangssignalen mit Vergleichswerten kann natürlich nicht nur ein Aktivitätssignal bei erfolgtem Vergleich erfolgen, sondern in Abhängigkeit von dem Ausgleich des Vergleichs Fehlersignale generiert werden. Die Vergleichswerte für die Signalcharakteristika geben dabei z. B. obere Schranke, untere Schranke, zugelassenes Intervall oder genau zu treffende Werte vor. Sind diese Bedingungen nicht erfüllt, also ein Vergleich erfolglos, kann ein Fehlersignal ausgegeben werden und z. B. wie in 2 gezeigt über Verbindung 223 in das Statusregister 213 der Monitoreinheit 210 geschrieben werden, bzw. dort als aktives Bit vermerkt werden. Das gleiche gilt für eine Fehlerausgabe bei einer falschen, insbesondere zu langen Rundenzeit der Routingeinheit 101 beim entsprechenden Vergleich. Bei der Durchführung der bereits beschriebenen Vergleiche können auch Vergleiche vorgesehen sein, die nur auf die Feststellung einer Aktivität ausgelegt sind und nicht auf eine Überprüfung eines Ausgangssignals oder einer Rundendauer der Routingeinheit 101. Z. B. kann die Differenz zweier hintereinander erhaltenen Zeitstempel daraufhin überprüft werden, ob sie größer Null ist. Ist dies nicht der Fall, handelt es sich offensichtlich um den Ausfall der Zeitbasis, also um deren Inaktivität. Dies würde wiederum durch eine Fehlerausgabe des Vergleichs angezeigt.
-
Im Fall mehrerer Vergleiche können dabei genauso viele Fehlersignale anfallen. Alternativ kann auch nur ein Fehler-Statuseintrag im Statusregister 213 als Information für mehrere Vergleiche benutzt werden. Dieser Fehler-Statuseintrag wird dann aktiv, wenn mindestens ein Vergleich einen Fehler gemeldet hat, z. B. durch VerODERung der Fehlerausgaben der verschiedenen Vergleiche z. B. durch ein ODER-Gatter. Nachdem die CPU durch den Fehler-Statuseintrag einen Fehler festgestellt hat, kann sie in der betreffenden Einheit, zum Beispiel dem Multikanalsequenzer 202, nachschauen, von welchem Vergleich der Fehler ausgelöst wurde und entsprechend reagieren.
-
Es kann durch die CPU zusätzliche Information durch die Kombination von Fehlersignal- und Vergleichsaktivitätssignalinformation gewonnen werden. Solange ein Fehler-Signal nicht aktiv ist und das entsprechende Vergleichsaktivitäts-Signal eines Vergleichs aber die Absolvierung des Vergleichs anzeigt, ist damit die Sicherheit gegeben, dass keine Abweichung vom geforderten Verhalten vorliegt, also die angezeigte Fehlerfreiheit nicht darauf beruht, dass gar kein Vergleich durchgeführt wurde, weil dazu notwendige Signal oder Einheiten inaktiv waren.
-
In 4 wird ein Verfahren zur Aktivitätsprüfung in einem Timer-Modul gezeigt. Im ersten Schritt 401 wird ein Aktivitätssignal (aktiv oder passiv) in einem Monitormodul erzeugt oder von extern erhalten. Die Aktivität kann dabei ein Signal betreffen (z. B. ein Taktsignal oder ein erwartetes Ausgangssignal einer bestimmte Untereinheit des Timer-Moduls), eine ganze Einheit (z. B. Routingeinheit 101) oder einen Prozess einer Untereinheit des Timers (z. B. die Aktivität eines bestimmten Vergleichsprozess des Logikmoduls 109). Im zweiten Schritt 402 wird das Aktivitätssignal, falls aktiv, also falls es eine Aktivität anzeigt, als Aktivitätsstatus in ein Statusregister eingetragen, in welchem es bestehen bleibt, bis es von extern zurückgesetzt wird. Im dritten Schritt 403 wird der Aktivitätsstatus zu einem von der CPU bestimmten Zeitpunkt, bzw. nach einer von der CPU bestimmten Zeitspanne von der CPU abgefragt und im vierten Schritt 404, falls aktiv, zurückgesetzt.
-
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
-