-
Die vorliegende Erfindung betrifft ein Verfahren zum Erkennen eines Versorgungsspannungsfehlers einer integrierten Schaltung sowie eine Recheneinheit zu dessen Durchführung.
-
Stand der Technik
-
Durch die immer weiter steigenden Rechenanforderungen im Kfz werden vermehrt spezielle Funktionen in Hardware bzw. integrierte Schaltungen, wie spezielle FPGA-System-on-Chip (SoC), ausgelagert, um so eine sehr hohe Rechenleistung zu erzielen. Viele dieser Systeme übernehmen auch sicherheitskritische Funktionen, so dass zur Erreichung eines Sicherheitsziels, z.B. ASIL-B, eine entsprechende Testabdeckung erreicht werden muss. Gängige Tests beschränken sich nach dem Stand der Technik auf Software. Sie beinhalten ECC, CRC oder Parity.
-
Sehr wichtig und kritisch ist jedoch auch die Versorgungsspannung. So müssen aktuelle FPGAs teilweise mit einer geringen Spannung (z.B. 1 V) mit gleichzeitig geringer Toleranz (z.B. 3%) versorgt werden. Schwankungen (z.B. durch Ripple, Lasteinbrüche und ähnliches) der Versorgungsspannung außerhalb der Toleranz können zu einem undefinierten Zustand der integrierten Schaltung führen und müssen daher verhindert oder zumindest erkannt werden, um entsprechend reagieren zu können.
-
Es ist möglich, die Versorgungsspannung mit Komparatoren zu überwachen. Für die genannten integrierten Schaltungen wie FPGAs ist diese Form der Überwachung aber ungeeignet, da ein passendes Komparatorfenster den zur Verfügung stehenden Spannungsbereich weiter einengen würde. Zudem stehen die für Komparatoren notwendige Widerstandsteiler nicht in ausreichender Präzision und der erforderlichen Langzeitstabilität zur Verfügung. Im Automotive-Umfeld geht man davon aus, dass ein Widerstand am Ende seiner Betriebsdauer um mehr als 10% von seinem Nennwert abweichen kann, auch wenn er mit einer initialen Toleranz von z.B. lediglich 0,1% geplant wurde. Außerdem sind Komparatoren hinsichtlich ihrer Detektionsgeschwindigkeit (Bandbreite) begrenzt, teuer und fehleranfällig. Während der Mittelwert der Spannung mit einfachen Mitteln, z.B. einem einfachen Analog-Digital-Umsetzer ADU, ausgewertet werden kann, ist die Erkennung von kurzen Abweichungen (glitches, spikes) deutlich anspruchsvoller.
-
Es ist daher wünschenswert, über ein Verfahren zu verfügen, welches insbesondere kurze Schwankungen der Versorgungsspannung erkennt und die vorstehend beschriebenen Nachteile vermeidet.
-
Offenbarung der Erfindung
-
Erfindungsgemäß werden ein Verfahren zum Erkennen eines Versorgungsspannungsfehlers einer integrierten Schaltung sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
-
Vorteile der Erfindung
-
Die Erfindung stellt eine einfache, aber dennoch zuverlässige Möglichkeit vor, auch kurze Versorgungsspannungsschwankungen zu erkennen. Dies ist besonders für Einsätze im Kraftfahrzeug vorteilhaft, beispielsweise wenn die integrierte Schaltung Teil eines Steuergeräts für ein Kraftfahrzeug ist. Damit kann die Sicherheit erhöht werden. Insbesondere kann durch Rücksetzen der integrierten Schaltung bei einem erkannten Versorgungsspannungsfehler wieder ein definierter Zustand hergestellt werden.
-
Es ist bekannt, dass die sog. Gatterlaufzeit eines Logikgatters u.a. von der Versorgungsspannung des Logikgatters abhängt. Als Gatterlaufzeit bezeichnet man die einem Logikgatter innewohnende, baulich bedingte Laufzeit, d.h. die Zeit, bis das Gatter an seinem Ausgang auf eine Änderung an seinem Eingang reagiert. Durch Überwachung der Gatterlaufzeit einer Logikschaltung bzw. eines die Gatterlaufzeit der Logikschaltung kennzeichnenden Werts kann somit die Versorgungsspannung der Logikschaltung überwacht werden. Wird dabei festgestellt, dass die Versorgungsspannung einen unzulässigen Wert hat, wird darauf durch Rücksetzen der integrierten Schaltung reagiert, damit die integrierte Schaltung wieder einen definierten Zustand einnimmt. Vorzugsweise ist die Logikschaltung Teil der integrierten Schaltung.
-
Mit der Erfindung ist es möglich, die Versorgungsspannung einer integrierten Schaltung, wie z.B. eines Mikrocontrollers, ASIC oder FPGA, auf Abweichungen von einem Nennwert zu überwachen. Vorzugsweise werden hierzu ein oder mehrere Schwellwerte vorgegeben, welche einen zulässigen Bereich der Versorgungsspannung und damit der Gatterlaufzeit um den Nennwert begrenzen. Liegt die Laufzeit außerhalb des zulässigen Bereichs, liegt dementsprechend auch die Versorgungsspannung außerhalb der zulässigen Toleranz um den Nennwert. Geeignete Schwellwerte (d.h. ein unterer und/oder ein oberer) werden zweckmäßigerweise schaltungsabhängig vorgegeben und können insbesondere testweise ermittelt werden. Wenn es sich um absolute Schwellwerte handelt, werden diese insbesondere in Abhängigkeit vom Nennwert vorgegeben.
-
Es ist weiterhin bekannt, dass die Gatterlaufzeit temperaturabhängig ist. Um dieses Verhalten zu berücksichtigen, werden zweckmäßigerweise auch der oder die Schwellwerte temperaturabhängig vorgegeben. Dazu kann beispielsweise ein temperaturabhängiges Kennfeld eingesetzt werden, aus dem zur Laufzeit die temperaturabhängigen Schwellwerte ausgelesen werden können.
-
Eine vorteilhafte Logikschaltung zur Überwachung der Gatterlaufzeit weist eine Anzahl von in Reihe geschalteten Logikgattern auf. Die Anzahl der Logikgatter kann dann so gewählt werden, dass Spannungsschwankungen außerhalb der Toleranz zu sicher unterscheidbaren Gatterlaufzeiten führen. Eine besonders einfache und zuverlässige Ausführungsform umfasst Nicht-Gatter als Logikgatter. Nicht-Gatter eignen sich besonders gut, da sie nur einen Eingang und einen Ausgang haben und daher die Verschaltung einfach herzustellen ist. Zum Erreichen einer hohen Gatterlauzeit sind CMOS-Gatter bevorzugt. Es sei jedoch betont, dass sich alle Arten von Logikgattern für die Erfindung grundsätzlich eignen.
-
Eine bevorzugte Möglichkeit zur Überwachung der Gatterlaufzeit ist die Überwachung eines sich an den Ausgängen der in Reihe geschalteten Logikgatter ergebenden Signalmusters. Wird das Signalmuster mit einer Abtastrate regelmäßig abgetastet bzw. erfasst, deuten Veränderungen des Signalmusters auf Veränderung der Versorgungsspannung hin. Beispielsweise bei einer Reihe von Nicht-Gattern ergibt sich bei konstanter Abtastrate als Signalmuster an den Ausgängen eine alternierende Folge von "0" und "1" einer bestimmten Länge, die von der Gatterlaufzeit abhängt. Um die Abtastung zu Vereinfachen, kann das sich an den Ausgängen der Anzahl von in Reihe geschalteten Logikgattern ergebende Signalmuster in einer Anzahl von Flipflops gespeichert werden.
-
Eine besonders bevorzugte Logikschaltung dieser Art wird in der Veröffentlichung
"Dynamic Voltage Scaling for Commercial FPGAs" von Chow, C.T. et al, Field-Programmable Technology, 2005. Proceedings. 2005 IEEE International Conference on, p. 173–180 beschrieben. Die Schaltung wird als "Logic Delay Measurement Circuit" (LDMC) bezeichnet und eingesetzt, um einen FPGA mit möglichst stark reduzierter Versorgungsspannung betreiben zu können. Dort dient die Versorgungsspannung als Stellgröße und wird nicht überwacht. Eine Reaktion auf kritische Versorgungsspannungswerte wird schon gar nicht thematisiert.
-
Eine einfache Möglichkeit zur Implementierung der Erfindung ist, wenn die Laufzeit einer Signalflanke erster Art (d.h. also entweder fallend oder steigend) eines Messsignals durch die Logikschaltung als Gatterlaufzeit überwacht und gleichzeitig die Abtastung des sich ergebenden Signalmusters durch eine Signalflanke zweiter Art (d.h. also dementsprechend steigend bzw. fallend) des Messsignals ausgelöst wird.
-
Eine einfache und zuverlässige Form der Überwachung ist ein Vergleich des sich an den Ausgängen der Anzahl von in Reihe geschalteten Logikgattern zu einem ersten Zeitpunkt ergebende Signalmusters mit dem sich an den Ausgängen der Anzahl von in Reihe geschalteten Logikgattern zu einem zweiten, anderen Zeitpunkt ergebenden Signalmusters. Zweckmäßigerweise liegen die beiden Zeitpunkte einen Abtastakt auseinander. Ein einfacher Vergleich kann durch Einsatz von XOR-Gattern erfolgen, wobei die Musterposition der beiden Signalmuster XOR-verknüpft werden. Sind die Muster gleich, ergibt sich an allen Positionen "0".
-
Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Kraftfahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
-
Auch die Implementierung des Verfahrens in Form von Software ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere Flash-Speicher und EEPROMs.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
-
Kurze Beschreibung der Zeichnungen
-
1a zeigt eine erste bevorzugte Logikschaltung, deren Gatterlaufzeit zur Überwachung der Versorgungsspannung überwacht werden kann.
-
1b zeigt eine zweite bevorzugte Logikschaltung, deren Gatterlaufzeit zur Überwachung der Versorgungsspannung überwacht werden kann.
-
2 zeigt eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens in einem Ablaufdiagramm.
-
Ausführungsform(en) der Erfindung
-
In den 1a und 1b sind zwei bevorzugte Logikschaltungen 100a, 100b schematisch dargestellt. Gleiche Elemente sind darin mit gleichen Bezugszeichen versehen.
-
Im Folgenden wird nun zunächst die Logikschaltung 100a näher beschrieben, wobei auf die Unterschiede zur Logikschaltung 100b im Anschluss eingegangen wird.
-
Die Logikschaltung 100a weist eine Anzahl von hier als Nicht-Gatter 101 ausgebildeten Logikgattern auf, welche in Reihe geschaltet sind. Es ist erkennbar, dass jeweils ein Ausgang eines vorhergehenden Nicht-Gatters 101 mit einem Eingang eines nachfolgenden Nicht-Gatters 101 verbunden ist. Die Anzahl der Nicht-Gatter 101 ist hier 128, sie kann jedoch anwendungsbezogenen ausgewählt werden.
-
Zur Überwachung der Gatterlaufzeit wird ein Messsignal CLK an den Eingang des ersten Nicht-Gatters angelegt und ein sich an den Ausgängen der Nicht-Gatter 101 ergebendes Signalmuster abgetastet. Das Messsignal CLK ist vorzugsweise als Rechtecksignal mit zwei Signalpegeln "1" und "0" ausgebildet. Zur Vereinfachung der Abtastung ist jeder Ausgang eines Nicht-Gatters 101 mit einem Dateneingang D eines Flipflops 102 verbunden. Gleichzeitig ist jeweils ein Takteingang < des Flipflops 102 mit dem Messsignal CLK verbunden. Auf diese Weise werden bei jedem Abtastvorgang die an den Eingängen der Flipflops 102 anliegenden Signale gespeichert und an den Ausgängen der Flipflops 102 ausgegeben. Der Zeitpunkt des Abtastvorgangs hängt von der Art der verwendeten Flipflops ab.
-
Die Flipflops 102 sind hier vorzugsweise als D-Flipflops ausgebildet. Ein D-Flipflop weist einen Dateneingang (D), einen Datenausgang (Q) und einen Takt-Eingang (C von Clock, oft dargestellt als „>“) auf. Es handelt sich hier um einflankengesteuerte D-Flipflops, welche mit der steigenden Taktflanke den logischen Zustand des Eingangs D speichern und auf Q ausgeben. Bei dieser Ausführungsform wird die Gatterlaufzeit überwacht, indem die Anzahl der Nicht-Gatter 101 festgestellt wird, welche in dem Zeitraum zwischen fallender und steigender Flanke des Messsignals CLK schalten. Da dieser Zeitraum durch die Messsignalfrequenz vorgegeben und daher konstant ist, hängt die Anzahl von der Gatterlaufzeit jedes Nicht-Gatters 101 ab, welche wiederum von der Versorgungsspannung abhängt. Auch können alternativ Flipflops verwendet werden, die auf die fallende Taktflanke oder auf beide Taktflanken reagieren. Im zweiten Fall kann die Abtastrate des Systems verdoppelt werden.
-
Bei der Logikschaltung 100a ergibt sich als Signalmuster D(0), D(1), ..., D(127) an den Datenausgängen Q der Flipflops 102 "10101010..." bis zu einer Bruchstelle 104, an der das Muster unterbrochen ist, also beispielsweise "00" oder "11" auftritt. In 1a liegt die Bruchstelle 104 beispielsweise bei Position 126 (Zählbeginn bei 0).
-
Die in 1b abgebildete Logikschaltung 100b unterscheidet sich von der Schaltung 100a lediglich dadurch, dass jedem ungeraden Flipflop 102 ein weiteres Nicht-Gatter 103 nachgeschaltet ist, so dass sich als Signalmuster D(0), D(1), ..., D(127) an den Datenausgängen Q der Flipflops 102 "000000000... ." bis zu einer Bruchstelle 104, an der das Muster unterbrochen ist, also "1" auftritt, ergibt. Diese Ausführungsform vereinfacht die Erkennung der Position der Bruchstelle, da lediglich die Anzahl der führenden "0" detektiert werden muss.
-
Grundlegend wird nun die Position 104 des Musterbruchs als ein die Gatterlaufzeit kennzeichnender Wert daraufhin überwacht, ob sie in einem zulässigen Bereich liegt. Der zulässige Bereich wird durch einen oberen Schwellwert und einen unteren Schwellwert begrenzt, welche vorzugsweise in Abhängigkeit von einem Nennwert der Versorgungsspannung (welcher bekannt ist) und von der Temperatur der Logikschaltung (welche durch Temperatursensoren oder über Temperaturabhängigkeiten einzelner Bauteile, wie z.B. Widerstände, gemessen werden kann) vorgegeben werden. Beispielsweise kann bei einer Ausführungsform gemäß 1b, einem Nennwert von 1V und einer Temperatur von 20°C der untere Schwellwert "60" und der obere Schwellwert "70" sein. So lange die Position des Musterbruchs zwischen 60 und 70 liegt, ist die Versorgungsspannung fehlerfrei. So bald die Position des Musterbruchs jedoch kleiner 60 oder größer 70 ist, ist die Versorgungsspannung fehlerhaft und die integrierte Schaltung, deren Versorgungsspannung überwacht wird, wird zurückgesetzt.
-
Die Schwellwerte werden vorzugsweise messtechnisch an einem Prüfstand ermittelt, indem die Versorgungsspannung gezielt auf gerade noch zulässige Grenzwerte variiert und die sich dann ergebende Position des Musterbruchs erfasst wird.
-
Die Schwellwerte können auch empirisch im laufenden Betrieb ermittelt werden. Im Gegensatz zu Temperaturänderungen oder Alterung zeichnen sich Spannungseinbrüche durch eine große Veränderung der Position des Musterbruchs aus.
-
Der momentane Mittelwert (d.h. langfristig) der Versorgungsspannung kann über einen ADC erfasst und plausibilisiert werden. Entspricht der gemessene Mittelwert dem Nennwert (innerhalb zulässiger Grenzen), so werden die Schwellwerte ausgehend von dem (vorzugsweise gleitenden) Mittelwert der Position des Musterbruchs gesetzt (z.B. plus/minus eine gewisse Anzahl Stellen). Der Mittelwert der Position des Musterbruchs wird weiter überwacht und die Schwellwerte werden weiterhin entsprechend angepasst (damit können langsame Veränderungen der Versorgungsspannung, insbesondere temperaturverursachte, berücksichtigt werden.
-
Geeignete Abstände zwischen den Schwellwerten und dem Mittelwert der Position des Musterbruchs können auf unterschiedliche bevorzugte Weisen ermittelt werden, beispielsweise an einem Prüfstand oder beim Einschalten und Hochrampen der Versorgungsspannung. Eine weitere Möglichkeit ist das gezielte Verändern der Versorgungsspannung im laufenden Betrieb (voltage scaling) und das Beobachten der Auswirkungen auf den Musterbruch.
-
In 2 ist einem Ablaufdiagramm eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens dargestellt, wie es beispielsweise zur Überwachung der Versorgungsspannung einer integrierten Schaltung 300, welche Teil eines Kraftfahrzeugsteuergeräts ist, eingesetzt werden kann.
-
Links in 2 ist schematisch dargestellt, wie mit der Logikschaltung 100b zur Laufzeit regelmäßig, insbesondere bei jedem Takt des Messsignals CLK, die Position des Musterbruchs 104 als ein die Gatterlaufzeit kennzeichnender Wert bestimmt wird. Die Logikschaltung 100b und die integrierte Schaltung 300 werden mit derselben Versorgungsspannung 200 versorgt.
-
Gleichzeitig werden in einem Block 201 der untere Positionsschwellwert Pmin und der obere Positionsschwellwert Pmax bestimmt. Gemäß der dargestellten Ausführungsform werden diese in Abhängigkeit von der Temperatur T der Logikschaltung, welche hier beispielhaft durch einen Sensor 202 gemessen wird, und in Abhängigkeit von dem Nennwert U0 der Versorgungsspannung 200, der durch eine Soll-Vorgabe 203 vorgegeben oder durch einen langsamen Analog/Digital-Umsetzer gemessen wird, unter Verwendung eines Kennfelds 204 bestimmt. In dem Kennfeld sind die Schwellwerte Pmin, Pmax in Abhängigkeit von T und U0 gespeichert.
-
In einem Vergleichsglied 205 wird überprüft, ob die Position des Musterbruchs 104 als ein die Gatterlaufzeit kennzeichnender Wert den unteren Schwellwert Pmin unterschreitet und/oder den oberen Schwellwert Pmax überschreitet. Ist dies der Fall, wird ein Versorgungsspannungsfehler festgestellt und die integrierte Schaltung 300 rückgesetzt.
-
Die Logikschaltung 100b ist kann Bestandteil der überwachten integrierten Schaltung 300 sein, kann aber auch von dieser getrennt sein. Die Schritte 201 bis 206 werden zweckmäßigerweise in einer programmtechnisch dazu eingerichteten Recheneinheit ausgeführt, welche zur Erhöhung der Sicherheit von der überwachten integrierten Schaltung 300 getrennt ist, um nicht selbst durch den Versorgungsspannungsfehler beeinträchtigt zu werden.
-
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 Nicht-Patentliteratur
-
- "Dynamic Voltage Scaling for Commercial FPGAs" von Chow, C.T. et al, Field-Programmable Technology, 2005. Proceedings. 2005 IEEE International Conference on, p. 173–180 [0013]