-
Die vorliegende Erfindung betrifft ein Verfahren zum Bereitstellen eines zulässigen Sendezeitpunkts für die Antwort bei einer Frage-/Antwort-Kommunikation zwischen einem Überwachungsmodul und einem Funktionsrechner.
-
Stand der Technik
-
Steuergeräte, insbesondere Motorsteuergeräte, werden üblicherweise nach einem Mehr-Ebenen Konzept überwacht. Beispielsweise im Überwachungskonzept von EGAS Systemen (z. B. Motorsteuergeräte) oder Getriebesteuergeräten wird zur Rechnerüberwachung eine Frage-/Antwort-Kommunikation zwischen einem Überwachungsmodul (UM) und dem zuständigen Funktionsrechner (FR) verwendet. Hierbei wird durch das Überwachungsmodul überprüft, ob Antworten des Funktionsrechners richtig sind und ob sie zu einem richtigen Zeitpunkt bzw. innerhalb eines vorgegebenen Zeitfensters eintreffen.
-
Ein bekanntes Überwachungssystem umfasst wenigstens ein Überwachungsmodul sowie wenigstens einen zu überwachenden Funktionsrechner. Für die Realisierung der zeitlichen Überwachung besitzen Funktionsrechner und Überwachungsmodul jeweils eine unabhängige Zeitbasis, wie es beispielsweise in der
DE 102 05 809 A1 offenbart ist. Die Zeitbasis bzw. -referenz wird bei dem Funktionsrechner üblicherweise von einem Quarz und bei dem Überwachungsmodul üblicherweise von einem Resonator oder einem integrierten Frequenzgenerator abgeleitet. Bei der Frage-/Antwort-Kommunikation liegt ein zulässiger Empfangszeitpunkt für eine Antwort in einem Antwortzeitfenster vorgegebener Länge in der Zeitbasis des Überwachungsmoduls, das wiederum eine Antwortzeitverschiebung (sog. Response Time) vorgebbarer Länge nach dem Empfangszeitpunkt einer vorherigen Antwort liegt.
-
Wenn von dem Überwachungsmodul keine gültige (d. h. richtige und rechtzeitige) Antwort empfangen wird, wird in dem Überwachungsmodul ein Fehlerzählerstand inkrementiert. Es ist Fehlerzählerstandsschwellwert (von z. B. 5) vorgesehen, bei dessen Erreichen von dem Überwachungsmodul ein Fehlersignal ausgegeben wird, indem bspw. ein Watchdog-Ausgang WDA auf Masse gelegt wird. In der Folge kann bspw. der überwachte Funktionsrechner stillgelegt, resetiert und/oder überbrückt werden. Bei Empfang einer gültigen Antwort wird der Fehlerzählerstand dekrementiert.
-
Im Stand der Technik kann die Lage und Dauer des Antwortzeitfensters mittels des Schwingquarzes im Funktionsrechner relativ zuverlässig bestimmt werden. Dabei sind bisher die Parameter der Datenübertragung, die Antwortzeitverschiebung und der Sendezeitpunkt üblicherweise im Funktionsrechner statisch fest eingestellt. Das Bereitstellen eines Schwingquarzes im Funktionsrechner verursacht jedoch relativ hohe Kosten, so dass es wünschenswert ist, die Zeitbasis im Funktionsrechner durch kostengünstigere Mittel, wie bspw. eine PLL-Schaltung, bereitzustellen. Diese Schaltungen haben jedoch wesentlich höhere Frequenztoleranzen resultierend aus Alterung und Fertigung als ein Quarz. Eine Verwendung ist deshalb in den bestehenden Systemen nicht ohne weiteres möglich, da die Kommunikation mit herkömmlichen Überwachungsmodulen gegebenenfalls zeitlich auseinanderdriftet, was irgendwann zu unzulässigen Antwortzeitpunkten außerhalb des Antwortfensters führen kann und eine Fehlerreaktion auslösen würde.
-
Es ist daher wünschenswert, eine geeignete Maßnahme bereitzustellen, um die im Stand der Technik verbreitete Frage-/Antwort-Kommunikation auch bei Funktionsrechnern mit weniger genauer Zeitbasis einzusetzen.
-
Offenbarung der Erfindung
-
Erfindungsgemäß wird ein Verfahren mit den Merkmalen des Patentanspruchs 1 vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
-
Vorteile der Erfindung
-
Die Erfindung bietet den besonderen Vorteil, dass sich Funktionsrechner mit weniger präzisen und damit insbesondere kostengünstigeren Zeitgebern ausrüsten lassen und dennoch weiterhin mit vorhanden Überwachungsmodulen zusammenarbeiten können. Dadurch kann eine kostenaufwendige Anpassung der Überwachungsmodule unterbleiben. Insbesondere in Kraftfahrzeugen, wo erprobte, bewährte und teilweise standardisierte und zertifizierte Komponenten zum Einsatz kommen, ist es besonders vorteilhaft, wenn die Veränderung einer Komponente nicht die Veränderung auch anderer Komponenten nach sich zieht.
-
Durch die Erfindung wird die Verwendung von toleranzbehafteten Taktgebern, insbesondere interner PLL-Schaltungen, und damit eine Kostenreduzierung von Funktionsrechnern möglich, wobei jedoch eine Neuentwicklung des zugehörigen Überwachungsmoduls (ASIC) nicht erforderlich ist. Die Erfindung bietet die Möglichkeit, dass der Funktionsrechner auf Basis der eigenen toleranzbehafteten Zeitbasis die Zeitbasis und damit die Lage des Antwortzeitfensters des Überwachungsmoduls ermittelt und daraufhin die Zeitbedingungen der Datenübertragung adaptieren kann.
-
Die Frequenztoleranzen sind größtenteils durch Bauelementestreuung oder Alterung (Drift über langen Zeitraum) verursacht. Über kurze Zeiträume hinweg treten nur sehr geringe Frequenztoleranzen auf. Deshalb ist es ausreichend, die Adaption z. B. nur einmalig in jedem Fahrzyklus oder bei jedem PowerOn oder bei der Steuergeräte-Inbetriebnahme am Bandende nach der Herstellung durchzuführen.
-
Eine erfindungsgemäße Recheneinheit, z. B. ein Steuergerät wie ein Funktionsrechner 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 Disketten, Festplatten, Flash-Speicher, EEPROMs, CD-ROMs, DVDs u. a. m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
-
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
-
1 zeigt schematisch ein Überwachungssystem, in dem die Erfindung verwirklicht werden kann.
-
2 zeigt in Diagrammen den zeitlichen Zusammenhang zwischen Übertragungszyklen, einem Fehlerzählerstand und einem Fehlersignal gemäß einer bevorzugten Ausführungsform der Erfindung.
-
3 zeigt eine bevorzugte Ausführungsform der Erfindung anhand eines Ablaufplans.
-
Ausführungsform(en) der Erfindung
-
In 1 ist schematisch und schaltplanartig ein Überwachungssystem 100 umfassend ein Überwachungsmodul 110 mit einer ersten Zeitbasis ZB1 sowie einen zu überwachenden Funktionsrechner 120 mit einer zweiten Zeitbasis ZB2 dargestellt.
-
Das Überwachungsmodul 110 verfügt über einen Watchdog-Ausgang WDA, der bei einem festgestellten Fehler des Funktionsrechners 120 eine an dem WDA-Ausgang angeschlossene Komponente, beispielsweise eine Endstufe 140, stilllegt. Zur Verwirklichung einer besonders bevorzugten Ausführungsform der Erfindung wird das WDA-Signal über eine Datenverbindung 131 auch dem Funktionsrechner 120 zugeführt.
-
Der Funktionsrechner 120 kommuniziert mit dem Überwachungsmodul 110 über eine hier als SPI-Bus (Serial Peripheral Interface) ausgebildete Kommunikationsverbindung 130, über welche eine Frage-/Antwort-Kommunikation abgewickelt wird. Die Frage-/Antwort-Kommunikation dient zur Überwachung des Funktionsrechners 120 durch das Überwachungsmodul 110 und wird nachfolgend in Grundzügen unter Bezugnahme auf 2, in der in einem Diagramm 210 die zeitliche Lage von einzelnen Übertragungszyklen, in einem Diagramm 220 die zeitliche Entwicklung eines Fehlerzählerstands #FZ und in einem Diagramm 230 der zeitliche Verlauf des Fehlersignals WDA jeweils gegen Zeit t auf einer x-Achse 201 dargestellt sind.
-
Während der normalen Überwachung werden dem Funktionsrechner 120 von dem Überwachungsmodul 110 Fragen bereitgestellt, insbesondere über die SPI-Verbindung 130, worauf in dem Funktionsrechner 120 Antworten berechnet werden. In der Zeitbasis ZB1 des Überwachungsmoduls 110 liegt ein zulässiger Empfangszeitpunkt für eine zweite Antwort innerhalb eines Antwortzeitfensters vorgegebener Länge tA, das eine Antwortzeitverschiebung vorgebbarer Länge tRESP nach dem Empfangszeitpunkt tn einer ersten Antwort liegt. Zweckmäßigerweise wird die Länge tRESP der Antwortzeitverschiebung dem Überwachungsmodul 110 von dem Funktionsrechner 120 vorgegeben, so dass der Bedarf des Funktionsrechners an Rechenzeit für die Berechnung der Antwort berücksichtigt werden kann. Die Länge tA des Antwortzeitfenster kann im Überwachungsmodul hardware- oder softwareseitig implementiert sein.
-
In dem Überwachungsmodul wird ein Fehlerzählerstand #FZ bei Erhalt einer gültigen, d. h. richtigen und rechtzeitigen, Antwort dekrementiert und bei Erhalt einer ungültigen Antwort inkrementiert. Der Fehlerzählerstand #FZ wird regelmäßig oder unregelmäßig mit einem Fehlerzählerstandsschwellwert W verglichen und das Überwachungsmodul 110 gibt bei Erreichen des Fehlerzählerstandsschwellwerts W ein Fehlersignal WDA aus, indem ein Watchdog-Ausgang auf Masse gezogen wird.
-
Eine bevorzugte Ausführungsform der Erfindung, welche zum Anpassen der Zeitbasis ZB2 des Funktionsrechners 120 an die Zeitbasis ZB1 des Überwachungsmoduls 110 dient, wird nachfolgend unter Bezugnahme auf die 2 und 3 erläutert, wobei in 3 eine bevorzugte Ausführungsform der Erfindung anhand eines Ablaufplans 300 dargestellt wird.
-
Das Verfahren kann beispielsweise mit einem optionalen Schritt 201 beginnen, der bei der Inbetriebnahme eines Überwachungssystems 100 gemäß 1, beispielsweise beim Einschalten der Zündung, durchgeführt wird. Dabei werden unter anderem von dem Funktionsrechner 120 an das Überwachungsmodul 110 (Initialisierungs-)Parameter übertragen, welche insbesondere die Antwortzeitverzögerung tresp beinhalten.
-
Der Funktionsrechner empfängt von dem Überwachungsmodul regelmäßig eine Frage, auf die er zur Überwachung eine Antwort berechnen und rechtzeitig an das Überwachungsmodul übertragen soll. Zur Angleichung der Zeitbasis ZB2 des Funktionsrechners 120 an die Zeitbasis ZB1 des Überwachungsmoduls 110 wird in einem Schritt 202 eine ungültige Antwort an das Überwachungsmodul übertragen. Gleichzeitig wird der Zeitpunkt ZSS des Sendens der ungültigen Antwort in der Zeitbasis ZB2 des Funktionsrechners registriert.
-
In einem anschließenden Schritt 203 wird der Fehlerzählerstand #FZ in dem Überwachungsmodul überprüft. Dies kann beispielsweise durch Auslesen über die Verbindung 130 erfolgen. Solange der Fehlerzählerstand #FZ noch nicht den Wert W – 1, d. h. ein Inkrement vor dem Fehlerzählerstandsschwellwert W, erreicht hat, wird der Schritt 202 wiederholt. Üblicherweise liegt der Fehlerzählerstand #FZ im Überwachungsmodul beim ersten Einschalten bei einem Wert von W + 1 (z. B. 6). Dieser muss bei Ausführung des Verfahrens daher zunächst auf W – 1 dekrementiert werden. In diesem Fall würde der Verfahrensschritt 202 entsprechend angepasst, so dass gültige Antworten übertragen werden.
-
Es sei bemerkt, dass es – unabhängig von dem hier beschriebenen Verfahren – unterschiedliche Möglichkeiten gibt, den Fehlerzählerstand #FZ im Überwachungsmodul auf den Wert W – 1 zu setzen. Wie beschrieben, kann dies durch Senden von gültigen und ungültigen Antworten geschehen. Allgemein kann dies jedoch auch durch Senden von entsprechenden Signalen, beispielsweise über die Kommunikationsverbindung 130, erfolgen. Beispielsweise kann ein bestimmtes Signal für das Inkrementieren und ein anderes bestimmtes Signal für das Dekrementieren vorgesehen sein. Beispielsweise kann das Überwachungsmodul so eingerichtet sein, dass es den Fehlerzählerstand #FZ immer dann erhöht, wenn es einen (Initialisierungs-)Parameter und/oder eine Konfigurationsgröße über die Kommunikationsverbindung empfängt.
-
Entspricht der Fehlerzählerstand #FZ dem Wert W – 1, wird mit Schritt 204 fortgefahren, in dem das Fehlersignal WDA überwacht wird. Solange das Fehlersignal WDA nicht LOW ist, wird die Überwachung fortgesetzt. Wird jedoch ein Fehlersignal WDA = LOW in dem Funktionsrechner 120 registriert, wird mit Schritt 205 fortgefahren.
-
In Schritt 205 wird der Zeitpunkt ZSWDA des Empfanges des Fehlersignals registriert und die Zeitspanne T = ZSWDA – ZSS berechnet. Die Zeitspanne T in der Zeitbasis ZB2 des Funktionsrechners entspricht der Summe aus der Länge tRESP der Antwortzeitverzögerung und der Länge tA des Antwortzeitfensters in der Zeitbasis ZB1 des Überwachungsmoduls.
-
In einem anschließenden Schritt 206 kann daraus ein gültiger Sendezeitpunkt in der Zeitbasis des Funktionsrechners bestimmt werden. Dazu sind zwei bevorzugte Alternativen im Folgenden dargestellt:
Gemäß einer ersten Alternative wird aus der Zeitstempeldifferenz der optimale Sendezeitpunkt der Antwort berechnet. Die Adaption erfolgt bspw. durch die Anpassung der dynamischen Timertask (AlarmTask) auf den berechneten Wert. Bei dieser Methode wird die Frequenz der Antwortübertragung bzw. der Zeitabstand zwischen zwei Antworten tn – tn-1 an die aktuellen Toleranzen der verbauten Bauelemente angepasst.
-
Bestimmt sich bspw. die Zeitspanne T in der Zeitbasis ZB2 des Funktionsrechners zu 880ZB2 Ticks (1 Tick = 1 Zeiteinheit in ZB2) und sind die Werte tRESP = 73,6ZB1 ms und tA = 12,8ZB1 ms vorgegeben, so ergibt sich:
1ZB2 Tick = 86,4/880 ≈ 0,098ZB1 ms
-
Wird ein bevorzugter Sendezeitpunkt in der Mitte des Antwortzeitfensters gewünscht, ergibt sich als Differenz zw. zwei Sendezeitpunkten eine Zeit von
tn – tn-1 = 80ZB1 ms = 814,8ZB2 ≈ 815ZB2 Ticks
-
Im Ergebnis erfolgt nach einer Antwortübertragung des Funktionsrechners 120 an das Überwachungsmodul 110 jeweils die nächste Antwortübertragung 815ZB2 Ticks später.
-
Gemäß einer alternativen Ausführungsform wird die Länge tRESP der Antwortzeitverschiebung angepasst und dem Überwachungsmodul 110 von dem Funktionsrechner 120 neu vorgegeben. In diesem Fall ist ein erwünschter Sendezeitpunkt von bspw. 800ZB2 Ticks in dem Funktionsrechner 120 vorgegeben:
tn – tn-1 = 800ZB2 Ticks
-
Aus der Zeitstempeldifferenz T wird die aktuelle Abweichung eines gültigen Sendezeitpunkts, insbesondere in der Mitte des Antwortzeitfensters, von dem festen Sendezeitpunkt 800ZB2 Ticks ermittelt. Gemäß erstem Beispiel bestimmt sich das Zeitverhältnis zu: 1ZB2 Tick ≈ 0,098ZB1 ms
-
Dementsprechend wird eine Zyklusdauer von 800ZB2 Ticks ≈ 78,545ZB1 ms angestrebt. Bei vorgegebener Länge tA = 12,8ZB1 ms des Antwortzeitfensters ergibt sich demnach eine neu vorzugebende Länge tRESP = 72,145ZB1 ms der Antwortzeitverschiebung, wenn die Übertragung im Wesentlichen in der Mitte des Antwortzeitfensters erfolgen soll.
-
In Abhängigkeit von der technischen Ausführung des Überwachungsmoduls 110 kann es möglich sein, dass die Länge tRESP der Antwortzeitverschiebung nur in bestimmten Schritten vorgebbar ist. Bspw. sind Überwachungsmodule verbreitet, deren Schrittweite 1,6 ms beträgt. Somit müsste die Länge der tRESP der Antwortzeitverschiebung von 73,6ZB1 ms = 46 dez auf 72,145ZB1 ms ≈ 45 dez verstellt werden. Der Beginn des Antwortzeitfensters wird um 1 dez nach früher verstellt.
-
Üblicherweise liegt der Fehlerzählerstand #FZ im Überwachungsmodul 110 beim ersten Einschalten bei einem Wert von W + 1 (z. B. 6). Dieser muss zunächst auf W – 1 dekrementiert werden. In diesem Fall würde – wie oben erläutert – der Verfahrensschritt 202 entsprechend angepasst, so dass gültige Antworten übertragen werden. Sollte hier jedoch durch zu große Zeitbasisabweichungen das Antwortzeitfenster nicht getroffen werden, kann der Fehlerzählerstand nicht dekrementieren. In diesem Fall ist bevorzugt, den Antwortzeitpunkt schrittweise, ausgehend z. B. von einem niedrigen Wert, zu erhöhen, bis das Antwortzeitfenster getroffen wird und der Fehlerzählerstand dekrementieren kann.
-
Alternativ ist als Lösung angedacht, dass der Funktionsrechner dem Überwachungsmodul die kleinste vorgebbare Länge tRESP der Antwortzeitverschiebung, z. B. hier 1,6 ms, vorgibt. Derartige Antwortzeitverschiebungen werden beispielsweise in der Funktion Abschaltpfadtest verwendet. Die Abweichung aufgrund der Toleranzen der Taktgeber ist linear zur Zeitdauer und wirkt sich bei kleiner Antwortzeitverschiebung geringer aus, so dass ein Treffen des Antwortzeitfensters bei kleinen Antwortzeitverschiebungen sehr wahrscheinlich ist.
-
In einem abschließenden Schritt 207 wird in Abhängigkeit von der ausgewählten Alternative entweder ein Sendezeitpunkt im Funktionsrechner 120 vorgegeben oder eine Antwortzeitverschiebung von dem Funktionsrechner 120 an das Überwachungsmodul 110 vorgegeben.
-
Durch die Erfindung ist es möglich, die Zeitbasis ZB2 des Funktionsrechners 120 durch eine toleranzbehaftete Referenz, wie z. B. eine PLL-Schaltung, bereitzustellen, ohne das Überwachungsmodul 110 entsprechend anpassen zu müssen.
-
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
-