PatentDe  


Dokumentenidentifikation DE69428633T2 20.06.2002
EP-Veröffentlichungsnummer 0631213
Titel Fahrzeugsdiagnosesystem
Anmelder Denso Corp., Kariya, Aichi, JP
Erfinder Oguro, Hirokazu, Okazaki-city, Aichi-pref., JP;
Iwai, Akihito, Chiryu-city, Aichi Pref., JP;
Takaba, Katsumi, Obu-city, Aichi Pref., JP
Vertreter WINTER, BRANDL, FÜRNISS, HÜBNER, RÖSS, KAISER, POLTE, Partnerschaft, 85354 Freising
DE-Aktenzeichen 69428633
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 13.06.1994
EP-Aktenzeichen 941090292
EP-Offenlegungsdatum 28.12.1994
EP date of grant 17.10.2001
Veröffentlichungstag im Patentblatt 20.06.2002
IPC-Hauptklasse G05B 23/02
IPC-Nebenklasse G06F 11/22   G07C 5/08   F02D 41/26   

Beschreibung[de]
HINTERGRUND DER ERFINDUNG (Bereich der Erfindung)

Die vorliegende Erfindung bezieht sich auf ein Fahrzeugdiagnosesystem, das Fehlerdiagnose und Ähnliches eines Fahrzeugs durchführt, und insbesondere zielt die Erfindung auf das Verhindern von fehlerhafter Abnormitätsinformation von einer Fahrzeugsteuerungseinheit an eine Diagnoseeinheit.

(Beschreibung des Standes der Technik)

Herkömmlicherweise erhältlich ist ein Fahrzeugdiagnosesystem, das verschiedene Abnormitäten in Sensoren, Aktuatoren oder Ähnlichem mittels einer Steuerung (Fahrzeugsteuerungseinheit) erfasst, die am Fahrzeug befestigt ist, Abnormitätsinformationen (Code oder Daten) über erfasste Abnormitäten speichert, und die in der Steuerung gespeicherte Abnormitätsinformationen mittels einer Diagnoseeinheit, die außerhalb der Steuerung vorgesehen ist, ausliest oder löscht.

In dem oben erwähnten Fahrzeugdiagnosesystem wird die Abnormitätsinformation vor dem Löschen an die Diagnoseeinheit zurückgegeben oder übermittelt, wenn die Diagnoseeinheit eine Leseanfrage der Abnormitätsinformation herausgibt, während des Ausführens des Löschens der Abnormitätsinformation in der Steuerung im Ansprechen auf eine Löschanfrage der Abnormitätsinformation von der Diagnoseeinheit.

Bei der Steuerung ist es übliche Praxis, die Verarbeitung zwischen der Steuerung und der oben erwähnten Diagnoseeinheit und verschiedenen Verarbeitungsoperationen zur Steuerung des Fahrzeugs, wie zum Beispiel Motorsteuerung und Getriebesteuerung, innerhalb der gleichen Steuerung durchzuführen. Daher ist die Steuerung aus einer Vielzahl von CPUs aufgebaut (Zentraleinheiten) und der Direktspeicherzugriff (nachstehend einfach als "DMA" bezeichnet) wird zur Datenübertragung zwischen den einzelnen CPUs verwendet. In einem solchen Fall tritt das oben erwähnte Problem offensichtlich zutage, da die CPU, die die Kommunikation mit der Diagnoseeinheit bewirkt, mit diesen Daten alleine nicht bestimmen kann, ob die von den anderen CPUs durch den DMA übermittelten Daten vor oder nach dem Löschen sind.

Um insbesondere das Betriebsverhalten der Steuerung zu verbessern, werden verschiedene Steuerungen geteilt, so dass sie von einer Mehrzahl von CPUs geteilt werden und die Abnormitätsinformation, die Steuerungsinformation (in dem RAM der Steuerung gespeicherter RAM-Wert) durch die Verwendung der Direktspeicherzugriffsfunktion (DMA) wechselweise zwischen den CPUs übermittelt und empfangen wird.

Falls die Steuerinformation der Steuerung, die aus einer Mehrzahl von CPUs aufgebaut ist, auf die Leseanfrage von der Diagnoseeinheit hin von der Diagnoseeinheit ausgelesen wird, übermittelt eine Haupt-CPU, die Daten mit der Diagnoseeinheit übermittelt und empfängt, zunächst durch den DMA einen Adresswert des RAM entsprechend der angefragt en Steuerungsinformation an eine entsprechende CPU. Dann sendet die entsprechende CPU als Antwort die Steuerungsinformation entsprechend dem durch den DMA übermittelten Adresswert zusammen mit dem Adresswert an die Haupt-CPU. Wenn der von der entsprechenden CPU durch DMA gesendete Adresswert mit dem angefragten Adresswert übereinstimmt, urteilt die CPU, dass der Antwortprozess der entsprechenden CPU abgeschlossen wurde und versendet die Steuerungsinformation an die Diagnoseeinheit.

Für den Fall jedoch, dass die Datenübertragung durch DMA durchgeführt wird, übermittelt der DMA die Daten (Adresswert, Steuerungswerte und Ähnliches), die in dem DMA-Bereich gespeichert sind, bei jedem vorgeschriebenen Intervall (zum Beispiel 4 ms) nacheinander an die entsprechenden CPUs. Demzufolge kann die Datenübertragung nicht durch Software gehandhabt werden. Daher tritt, selbst wenn die Haupt-CPU bestätigt, dass der von der entsprechenden CPU durch DMA übermittelte Adresswert mit dem angefragten Adresswert übereingestimmt hat, ein Fall auf, in dem die Steuerinformation in diesem Moment nicht mit dem Adresswert übereinstimmt, und es bleibt eine Möglichkeit, dass fehlerhafte Information an die Diagnoseeinheit übermittelt wird.

Weiter Information bezüglich des Standes der Technik kann gefunden werden in "37th IEEE Vehicular Technology Conference", 1. bis 3. Juni 1987, Tampa, FL, USA, Seiten 343-350, XP002024017, Schurk, H. E.; Fournell, H. D.: "Onboard diagnosis of electronics: A contribution to vehicle reliability". Dieses Dokument legt ein Borddiagnosesystem offen, das eine Mehrzahl von ECU's (elektronische Steuereinheiten) umfasst, von denen jedes typischerweise Signalverarbeitungskomponenten, Signalanschlusskomponenten, Signalübermittlungskomponenten und Signalaufnahme- und Ausführungskomponenten umfasst. Sensoren und Actuatoren sind die Schnittstellen der ECO. Erfasste Fehler werden entweder in dem internen Ein-Chip RAM, einem externen zusätzlichen RAM oder in einem EEPROM gespeichert, abhängig von der Auslegung der ECU.

ZUSAMMENFASSUNG DER ERFINDUNG

Angesichts der oben erwähnten Nachteile ist es eine Aufgabe der vorliegenden Erfindung ein Fahrzeugdiagnosesystem bereitzustellen, das das Ausgeben von fehlerhafter Abnormitätsinformation verhindert. Diese Aufgabe wird durch die Erfindung erfüllt, wie sie in Anspruch 1 definiert ist.

KURZE BESCHREIBUNG DER ZEICHNUNG

In der beiliegenden Zeichnung zeigt/zeigen:

Fig. 1 ein Anordnungsschema eines Fahrzeugdiagnosesystems einer Ausführungsform der vorliegenden Erfindung;

Fig. 2 ein Anordnungsschema des RAM jeder CPU;

Fig. 3 ein Flussdiagramm, das die Verarbeitung einer Diagnoseeinheit zeigt;

Figs. 4A bis 4C schematische Darstellung, die das im Ansprechen auf verschiedene Anfragen übermittelte Datenformat darstellen;

Fig. 5 ein Flussdiagramm, das die Verarbeitung zum Speichern eines DIAG-Codes entsprechend einer Abnormität in dem Bereitschafts-RAM-Bereich darstellt;

Fig. 6 ein Flussdiagramm, das die Abnormitätserfassung eines Wassertemperatursensors darstellt;

Fig. 7 ein Flussdiagramm, das die Verarbeitung einer Haupt-CPU für eine Code-Lese-Anfrage darstellt;

Fig. 8 ein Flussdiagramm, das die Verarbeitung einer Haupt-CPU für eine Codelöschanfrage darstellt;

Fig. 9 ein Flussdiagramm, das die Verarbeitung zum Machen eines Increments eines Zählwerks CNT in vorgeschriebenen Intervallen darstellt;

Fig. 10 ein Flussdiagramm, das eine Codelöschoperation durch die anderen CPUs für eine Codelöschanfrage von der Haupt-CPU darstellt;

Fig. 11 ein Flussdiagramm, das die Verarbeitung durch die Haupt-CPU für eine RAM-Wertleseanfrage von der Diagnoseeinheit darstellt;

Fig. 12 ein Flussdiagramm, das die Verarbeitung zum Überprüfen des Status der Übermittlung der RAM-Werte von den anderen CPUs und das Senden des Ergebnisses an die Diagnoseeinheit als Antwort darstellt;

Fig. 13 ein Flussdiagramm, das die Verarbeitung durch die anderen CPUs für eine RAM-Leseanfrage von der Diagnoseeinheit darstellt;

Fig. 14 eine schematische Darstellung, die einen Aufbau des DMA-Bereichs darstellt, der die Übermittlung an die Haupt-CPU für eine RAM-Wertleseanfrage durchführt; und

Fig. 15 ein Flussdiagramm, das die Verarbeitung durch Software bezüglich der von den CPUs ausgeführten DMA- Übertragung darstellt.

DETAILLIERTE BESCHREIBUNG

Fig. 1 ist ein Anordnungsschema, das ein Fahrzeugdiagnosesystem darstellt, das eine Steuerung (Fahrzeugsteuereinheit) 100 und eine Diagnoseeinheit 200 umfasst.

Die Steuerung 100 und die Diagnoseeinheit 200 sind durch einen Bus 300 verbindbar. Während in dieser Ausführungsform eine einzige Steuerung mit der Diagnoseeinheit 200 verbunden ist, können eine Mehrzahl von Steuerungen mit dem einzigen Diagnosegerät verbunden sein.

Die Steuerung 100 hat Funktionen wie Motorsteuerung, Getriebesteuerung und Abnormitätserfassung, die im Stand der Technik bekannt sind. Die Steuerung 100 weist drei CPUs auf, nämlich eine Haupt-CPU 110 und andere CPUs 120 und 130, die verschiedene Arten von Steuerung und Datenübertragung durch Direktspeicherzugriff (DMA) durchführen. Die Steuerung 100 ist darüber hinaus mit einer Übertragungs Integrierten Schaltung 140, die verschiedene Daten von und an die Diagnoseeinheit 200 empfängt und übermittelt, und einer Stromversorgungs Integrierten Schaltung 150, die eine Spannung +B (= 12 V), die von einer im Fahrzeug befestigten Batterie 160 zugeführt wird, in eine Spannung Vcc (= 5 V) umwandelt und diese den einzelnen CPUs 110, 120 und 130 zuführt.

Auf den Eingang der Signale von Sensoren hin, die verschiedene Zustände des Fahrzeugs erfassen, gibt die Steuerung 100 Steuersignale an verschiedene Aktuatoren aus, die das Fahrzeug auf Grundlage der Sensorsignale steuern. Jede der einzelnen CPUs 110, 120 und 130 ist ein Ein-Chip-Mikrocomputer, der einen eingebauten ROM und RAM aufweist.

Fig. 2 ist ein Anordnungsschema für RAMs für die CPUs 110, 120 und 130. Die Bereiche (1) und (3) sind RAM- Bereiche, in denen verschiedene Operationsdaten oder Steuerungsinformationen und Ähnliches gespeichert sind. Der Bereich (5) in dem RAM-Bereich (3) ist ein Direktspeicherzugriffsbereich (nachstehend mit "DMA- Bereich" abgekürzt). In diesem DMA-Bereich (5) sind die Bereiche (5)' und (5)" jeweils ein DMA-Übertragungsbereich und ein DMA-Empfangsbereich. In diesem DMA- Übertragungsbereich (5)' gespeicherten Daten werden in vorgeschriebenen Intervallen (zum Beispiel 4 msec) an den DMA-Empfangsbereich (5)" einer anderen CPU übertragen. Die in diesem DMA-Empfangsbereich (5) " empfangenen Daten werden an den DMA-Übertragungsbereich (5)' in dem gleichen DMA-Bereich (5) übertragen. Jede der CPUs 110, 120 und 130 übermittelt darin empfangene Daten durch DMA ringweise (zum Beispiel in einer Abfolge CPU 110 → CPU 120 → CPU 130 → CPU 110) an die anderen CPUs. Die Bereiche (2) und (4) sind Bereitschafts-RAM-Bereiche, (nachstehend als "SRAM-Bereiche" abgekürzt), die ihren Speicher selbst dann halten, wenn der Zündschalter ausgeschaltet ist und Fahrzeugabnormitätsinformation oder Ähnliches speichern.

Nun wird die Diagnoseeinheit 200 nachstehend detailliert beschrieben.

Fig. 3 ist ein Flussdiagramm, das eine Verarbeitung in einer Diagnoseeinheit 200 darstellt, wenn ein Diagnoseoperator verschiedene Informationen ausliest, Abnormität oder Steuerungsinformation, die durch die Diagnoseeinheit 200 in der Steuerung 100 gespeichert sind. Die Diagnoseeinheit 200 wird in vorgeschriebenen Intervallen gestartet.

Das Vorhandensein einer Verarbeitungsanfrage von dem Diagnoseoperator wird bei Schritt 500 erfasst. Wenn es keine Verarbeitungsanfrage gibt, endet diese Verarbeitung. Wenn es eine Verarbeitungsanfrage gibt, wird die Art der Verarbeitungsanfrage bei Schritt 510 erfasst. Arten der Verarbeitungsanfrage beinhalten eine "Code-Lese- Anfrage", die das Auslesen eines Diagnose (DTAG)-Codes anfragt, der von der Steuerung 100 erfasst wird, eine "Code-Lösch-Anfrage", die das Löschen des in der Steuerung 100 gespeicherten DIAG-Codes anfragt und eine "RAM- Wert-Lese-Anfrage" zum Auslesen der Steuerungsinformation (RAM-Wert) der gewünschten Adresse jeder der CPUs 110, 120 und 130.

Wenn die Verarbeitungsanfrage, wie sie bei Schritt 510 erfasst wird, eine "Code-Lese-Anfrage" ist, muss der Schritt 520 eine Ausgabe einer Code-Lese-Anfrage an die Steuerung 100 machen. Die übermittelten Daten weisen einen wie in Fig. 4A gezeigten Aufbau auf, in dem (a) ein Anfangsblock ist, der die Information zum Beurteilen ist, ob ein von der Diagnoseeinheit 200 an die Steuerung 100 übermitteltes Datum dahin gerichtet ist, und (b) ist ein Datum, das die Code-Lese-Anfrage darstellt.

Wenn eine durch den Diagnoseoperator ausgegebene Verarbeitungsanfrage, wie sie bei Schritt 510 erfaßt wird, eine "Code-Lese-Anfrage" ist, wird die Code-Lese-Anfrage bei Schritt 530 an die Steuerung 100 gesendet. Die übermittelten Daten weisen einen, wie in Fig. 4B, gezeigten Aufbau auf, in dem (c) eine Datei ist, die eine Code- Lösch-Anfrage darstellt.

Wenn die Verarbeitungsanfrage, wie sie bei Schritt 510 erfaßt wird, eine "RAM-Wert-Lese-Anfrage" ist, muß Schritt 540 eine Ausgabe einer RAM-Wert-Lese-Anfrage an die Steuerung 100 ausgeben. Genauer gesagt wird Information übertragen, die spezifiziert von welcher der CPU 110, 120 und 130 in der Steuerung 100 der RAM-Wert ausgelesen werden muß. Die übertragenen Daten haben einen wie in Fig. 4 gezeigten Aufbau, in dem (d) ein Datum ist, das die RAM-Wert-Leseanfrage darstellt, (e) ein Datum ist, das die Anzahl der verwendeten CPUs darstellt, und (f) ein Datum ist, das den angefragten Adresswert zeigt.

Nun werden Abnormitätserfassung, Abnormitätsinformationsspeicherungsoperationen, die von der Steuerung ausgeführt werden nachstehend beschrieben.

Fig. 5 ist ein Flußdiagramm, das die Speicheroperation eines DIAG codes entsprechend dieser speziellen Abnormität in den oben erwähnten SRAN-Bereichen (2) und (4) darstellt, wenn eine Abnormität durch die Abnormitätserfassung, wie sie später beschrieben wird, erfaßt wird. Dies wird in vorgeschriebenen Intervallen gestartet und diese Bearbeitung wird bei jeder der CPUs 110, 120 und 130 ausgeführt.

Schritt 600 muß erfassen, ob die in den CPUs 110, 120 und 130 zugeführte Spannung VCC bis zu einer vorgeschriebenen Spannung ist, und ob die Spannung +B der im Fahrzeug eingebauten Batterie 160 eine Niederspannung bis zu einer vorgeschriebenen Spannung ist. Da eine Niederspannung zu einem fehlerhaften Betrieb des Sensors, des Aktuators oder der Steuerung 100 führen kann (zum Beispiel fehlerhafte Aktualisierung der Daten in den SRAM- Bereichen (2) und (4)), wird die Speicherung des DIAG Codes in die SRAM-Bereiche (2) und (4) unterbrochen, und somit diese Verarbeitung beendet.

In einem Zustand der Nicht-Niedrigerspannung beurteilt oder erfaßt Schritt 610, ob eine Abnormität während der später beschriebenen Abnormitätserfassung erfaßt wurde. Diese erfaßt z. B. den Zustand des Merkers XD00, der in den gewöhnlichen RAM-Bereichen (1) und (3) gesetzt ist und anzeigt, dass der Wassertemperatursensor anormal ist. Wenn keine Abnormität erfaßt wird, wird diese Verarbeitung beendet. Wenn eine Abnormität erfaßt wird, kopiert Schritt 620 den DIAG-Code, der in den gewöhnlichen RAM- Bereichen (1) und (3) gespeichert ist, in die SRAM- Bereiche (2) und (4) um die Verarbeitung zu beenden. Zum Beispiel wird der eingeführte Merker XE00 in den SRAM- Bereichen (2) und (4) gesetzt, das anzeigt, dass der Wassertemperatursensor abnorm ist.

Fig. 6 ist ein Flussdiagramm, das die Erfassung einer Abnormität des Wassertemperatursensors als ein typisches Beispiel der Abnormitätserfassung darstellt. Es wird jedesmal dann gestartet, wenn ein Ausgangswert des Wassertemperatursensors A/D (analog zu digital) gewandelt wird. Verschiedene Abnormitätserfassungsoperationen sind zur Ausführung zwischen den CPUs 110, 120 und 130 geteilt.

Schritt 700 muß den A/D-Wert eines Signals von dem Wassertemperatursensor einlesen. Ob der A/D-Wert abnorm ist oder nicht, wird bei Schritt 710 erfasst. Arten der Erfassung beinhalten z. B. die Bestimmung eines Falles als Abnormität, in der ein A/D-Wert nicht innerhalb eines vorgeschriebenen Bereiches ist. Wenn er normal ist, wird eine normale Verarbeitung (z. B. Schreiben des A/D-Wertes in einen vorgeschriebenen RAM-Bereich) bei Schritt 720 ausgeführt, um die Verarbeitung zu beenden. Wenn er abnorm ist, wird eine selbstschützende Verarbeitung (z. B. Schreiben eines vorgeschriebenen Wertes in einen vorgeschriebenen RAM-Bereich) bei Schritt 730 ausgeführt, und dann wird ein Merker XD00 bei Schritt 740 gesetzt, um die Verarbeitung zu beenden. Nachfolgend wird die Verarbeitung beschrieben, die im Ansprechen auf eine Code-Lese- Anfrage in der Steuerung 100 ausgeführt wird.

Fig. 7 ist ein Flussdiagramm, das die von der CPU 110 der Steuerung 100 ausgeführte Verarbeitung für eine Code- Lese-Anfrage von der Diagnoseeinheit 200 darstellt, die in vorgeschriebenen Intervallen gestartet wird.

Das Vorhandensein einer Codeleseanfrage von der Diagnoseeinheit 200 wird bei Schritt 800 erfaßt. Genauer gesagt wird diese Erfassung durch Bestimmung ausgeführt, ob die von der Diagnoseeinheit 200 übertragenen Daten einen wie in Fig. 4 angezeigten Aufbau aufweisen. Wenn es keine Code-Lese-Anfrage gibt, endet diese Verarbeitung.

Wenn es eine Code-Lösch-Anfrage gibt, erfaßt Schritt 810, ob Codelöschen derzeitig in Ausführung ist oder nicht. Genauer gesagt ist diese Erfassung darauf begründet, ob der Zählwert eines Zählwerks CNT, das später beschrieben wird, bei 500 ms oder mehr ist. Wenn der Zählwert des Zählwerks CNT 500 ms oder weniger ist, d. h. wenn Codelöschen in Ausführung ist, wird die Information, die das Fehlen eines Abnormitätscodes, d. h. die Information nach dem Codelöschen zeigt bei Schritt 820 zurückgeschickt oder an die Diagnoseeinheit 200 versendet. Wenn der Zählwert des Zählwerks CNT 500 ms oder mehr ist, d. h., wenn Codelöschen nicht ausgeführt wird, wird der von der CPU 110 erfaßte und in den SRAM-Bereichen (2) und (4) gespeicherte Diag-Code und der von den CPUs 120 und 130 erfaßte und in dem DMA-Bereich (5) gespeicherte DIAG- Code gesucht, und das Ergebnis an die Diagnoseeinheit 200 zurückgesendet.

Die Verarbeitung für die Code-Lese-Anfrage bei der Steuerung 100 ist wie folgt.

Fig. 8 ist ein Flussdiagramm, das die von der CPU 110 der Steuerung 100 für eine von der Diagnoseeinheit 200 ausgegebenen Code-Lösch-Anfrage ausgeführte Verarbeitung darstellt. Das wird in vorgeschriebenen Intervallen (zum Beispiel alle 65 ms) gestartet.

Schritt 900 muss das Vorhandensein einer Code-Lösch- Anfrage von der Diagnoseeinheit 200 erfassen, während der Periode von dem vorhergehenden Start bis zu dem Derzeitigen. Genauer gesagt beruht diese Erfassung auf der Bestimmung, ob die von der Diagnoseeinheit 200 übertragenen Daten einen Aufbau, wie in Fig. 4B gezeigt, aufweisen.

Wenn es keine Code-Lösch-Anfrage gibt, fährt die Verarbeitung mit Schritt 920 fort. Wenn es eine Code-Lösch- Abfrage gibt, zählt das Zählwerk CNT den Zeitablauf vom Start des Codelöschens an bei Schritt 910, und die Verarbeitung fährt dann mit Schritt 920 fort.

Der Schritt 920 erfaßt, ob der Zählwert des Zählwerks CNT 500 ms oder mehr ist oder nicht. Wenn der Zählwert des Zählwerks CNT 500 ms oder weniger ist, d. h. wenn beurteilt wird, dass Codelöschen von den anderen CPUs 120 und 130 in Ausführung ist, erfaßt Schritt 930, ob der Zustand einer Niederspannung gegeben ist oder nicht. Wenn der Zustand einer Niederspannung nicht gegeben ist, fährt die Verarbeitung mit Schritt 950 fort. Wenn eine niedrige Spannung erfaßt wird, wird das Zählwerk CNT bei Schritt 940 gelöscht, und die Verarbeitung fährt mit Schritt 950 fort.

An diesem Punkt wird das Zählwerk CNT gelöscht, da eine Niederspannung eine fehlerhafte Operation bei der Datenaktualisierung der SRAN-Bereiche (2) und (4) in dieser Ausführungsform verursachen kann, wie zuvor beschrieben (siehe Fig. 5).

Codelöschen wird bei Schritt 950 ausgeführt. Die Codelöschanfrage wird an die anderen CPUs 120 und 130 bei Schritt 960 übertragen, und somit kommt es zu einem Ende der Verarbeitung. Genauer gesagt werden Daten, die die Code-Lösch-Anfrage darstellen, in eine vorgeschriebene Adresse des DMA-Bereichs (5) geschrieben.

Wenn der Zählwert des Zählwerks CNT bei Schritt 920 500 ms oder mehr ist, d. h. wenn beurteilt wird, dass das Codelöschen durch die anderen CPUs 120 und 130 beendet wurde, wird die Code-Lösch-Anfrage, die in der vorgeschriebenen Adresse des DMA-Bereichs (5) geschrieben ist, bei Schritt 970 gelöscht, und diese Verarbeitung geht zuende.

Fig. 9 ist ein Flussdiagramm, das die Verarbeitung zum Bewirken eines Inkrements des oben erwähnten Zählwerks CNT in vorgeschriebenen Intervallen (alle 65 ms) darstellt.

Diese Verarbeitung wird durch Geben eines Inkrements (CNT+1) an das Zählwerk CNT bei Schritt 1000 abgeschlossen.

Fig. 10 ist ein Flussdiagramm, das die Codelöschoperation darstellt, die von den anderen CPUs 120 und 130 für die Codelöschanfrage von der CPU 110 durchgeführt wird, und diese wird in bestimmten Intervallen gestartet (z. B. alle 65 ms).

Eine Code-Lösch-Anfrage wird bei Schritt 1100 erfaßt. Genauer gesagt ist das die Erfassung eines vorgeschriebenen Adresswertes des DMA-Bereichs, der von der CPU 110 übertragen wird, d. h. die in Fig. 8 gezeigten Ergebnisse der Schritte 960 und 970. Wenn es keine Code-Lösch- Anfrage gibt, kommt dieser Prozess zum Abschluss. Wenn es eine Code-Lösch-Anfrage gibt, wird das Codelöschen bei Schritt 110 ausgeführt, um diese Verarbeitung zu beenden.

Nachstehend wird nun die Verarbeitung durch die CPU 110 der Steuerung 100 beschrieben.

Fig. 11 ist ein Flussdiagramm, das die Verarbeitung durch die CPU 110 für eine RAM-Wert-Leseanfrage von der Diagnoseeinheit 200 darstellt, und diese wird in vorgeschriebenen Intervallen gestartet (z. B. alle 16 ms).

Schritt 1600 muss erfassen, ob es bereits eine andere RAM-Wert-Lese-Anfrage und eine Dateneingabe davon gibt, auf die gewartet wird. Wenn auf eine Dateneigabe gewartet wird, fährt der Prozess mit Schritt 1670 fort. Wenn nicht auf eine Dateneingabe gewartet wird, dann wird bei Schritt 1610 das Vorhandensein einer RAM-Wert-Leseanfrage von der Diagnoseeinheit 200 erfaßt. Genauer gesagt beruht diese Erfassung auf der Bestimmung, ob die von der Diagnoseeinheit 200 übertragenen Daten einen wie in Fig. 4C gezeigten Aufbau haben. Wenn es andererseits keine RAM- Wert-Leseanfrage gibt, kommt diese Verarbeitung zum Abschluss.

Wenn bei Schritt 1610 bestimmt wird, dass es eine RAM-Wert-Lese-Anfrage gibt, wird der Schritt 1620 durchgeführt, um zu erfassen, ob die Anzahl und der angefragte Adresswert der benutzten CPU der übertragenen Daten der RAM-Wert-Lese-Anfrage in den vogeschriebenen Formaten sind oder nicht. Wenn sie nicht in den vorgeschriebenen Formaten sind, wird beurteilt, dass die von der Diagnoseeinheit 200 übertragenen Daten abnorm sind, und diese Verarbeitung wird abgeschlossen. Wenn sie in den vorgeschriebenen Formaten sind, erfasst Schritt 1630, ob die Nummer der von der RAM-Wert-Leseanfrage benutzten CPU 1 ist, wie sie der CPU 110 entspricht.

Wenn die fragliche CPU die Nummer 1 bei Schritt 1630 hat, d. h. wenn die fragliche CPU die CPU 110 ist, fährt der Prozess mit Schritt 1640 fort und der RAM-Wert der angefragten Adresse wird in einen Übertragungszwischenspeicher als eine Antwort an die Diagnoseeinheit 200 geladen.

Wenn die fragliche CPU die Nummer 2 oder 3 bei dem Schritt 1630 aufweist, d. h. wenn beurteilt wird, dass die fragliche CPU nicht die CPU 110 ist, wird andererseits die RAM-Wert-Lese-Anfrage an die CPU 120 oder 130 bei den Schritten 1650 und 1660 ausgeführt.

Dann wird der Status der Übertragung von der CPU 120 oder 130 bei Schritt 1670 als eine Antwort auf die Diagnoseeinheit 200 überprüft (Details werden später beschrieben).

Fig. 12 ist ein Flussdiagramm, das die Verarbeitung wie eine Antwort an die Diagnoseeinheit 200 durch das Überprüfen des Status der Übertragung des RAM-Wertes von der CPU 120 oder 130 bei Schritt 1670 in Fig. 11 beschreibt.

Schritt 1700 muss erfassen, ob die Zeiteinteilung des Zurück- oder Versendens einer Antwort an die Diagnoseeinheit 200 angemessen ist. Genauer gesagt beruht diese Erfassung auf der Bestimmung des Status eines Merkers XA4ANS, der zu einem Zeitpunkt gesetzt wird, wenn der von der CPU 110 an die CPU 120 oder 130 angefragte Adresswert mit dem von der CPU 120 oder 130 an die CPU 110 übertragenen Adresswert übereinstimmt.

Wenn der Zeitpunkt nicht der des Merkers XA4ANS = 0 ist, d. h. der derzeitig der Steuerung 100 entspricht, wird der angefragte Adresswert mit dem übermittelten Adresswert bei Schritt 1710 überprüft. Der folgende Schritt 1720 muss erfassen, ob der angefragte Adresswert mit dem übertragenen Adresswert übereinstimmt. Wenn sie nicht in Übereinstimmung sind, fährt der Prozess mit Schritt 1770 fort. Wenn sie in Übereinstimmung sind wird der oben erwähnte Merker XA4ANS bei Schritt 1730 gesetzt.

Wenn der Zeitpunkt ist, dass eine vorgeschriebene Zeitperiode (z. B. 16 ms) nach Übereinstimmung zwischen dem angefragten Adresswert und dem übertragenen Adresswert vergangen ist, wie durch den Merker XA4ANS - 1 bei Schritt 1700 ausgedrückt, entspricht dies derzeitig der Steuerung 100, und die Antwort wird bei den Schritten 1740 bis 1770 verarbeitet. Der von der benutzten CPU empfangene RAM-Wert wird zunächst bei Schritt 1740 in den Übertragungszwischenspeicher geladen. Dann wird bei Schritt 1750 der angefragten Adressübertragungsbereich des DMA-Bereichs (5) gelöscht. Darauffolgend werden die Daten in dem Übertragungszwischenspeicher an die Diagnoseeinheit 200 bei Schritt 1760 als eine Antwort zurückgesendet und der Prozess fährt mit 1770 fort.

Dieser Prozess wird durch Zurücksetzen des Merkers XA4AN bei Schritt 1770 abgeschlossen.

Nun wird nachstehend die Verarbeitung bei den CPUs 120 und 130 der Steuerung 100 beschrieben.

Fig. 13 ist ein Flußdiagramm, das die Verarbeitung bei den CPUs 120 und 130 für eine RAM-Wert-Lese-Anfrage von der Diagnoseeinheit 200 beschreibt, und diese wird in vorbestimmten Intervallen gestartet (z. B. alle 16 ms). Dieselbe Verarbeitung wird in den CPUs 120 und 130 bewertet.

Schritt 1800 muss das Vorhandensein einer RAM-Wert- Lese-Anfrage erfassen. Genauer gesagt beruht diese Erfassung auf der Bestimmung, ob eine angefragte Adresse, die eine RAM-Wert-Lese-Anfrage darstellt, von der CPU 110 an die vorgeschriebene Adresse des DMA-Bereichs (5) übertragen wurde. Wenn die angfragte Adresse $ 0000 ist, wird bewertet, das eine RAM-Wert-Lese-Anfrage nicht vorhanden ist. Wenn die angefragte Adresse $ 0000 ist, d. h. wenn es keine RAM-Wert-Lese-Anfrage gibt, kommt diese Verarbeitung zum Abschluss. Wenn die angefragte Adresse sich von $ 0000 unterscheidet, d. h., wenn es eine RAM-Wert-Lese- Anfrage gibt, wird bei den Schritten 1810 und 1820 eine Übertragung an die CPU 110 gemacht. Fig. 14 zeigt eine Anordnung des DMA-Bereichs (5), der die Übertragung an die CPU 110 für eine RAM-Wert-Leseanfrage durchführt. In dieser Anordnung werden die Adresse (H), die Adresse (L) die Daten (H) und die Daten (L) in dieser Reihenfolge durch den DMA an die CPU 110 in vorgeschriebenen Intervallen übertragen (z. B. alle 4 ms). (H) stellt die ersten 8 Bits der 16 Bitdaten dar, und (L) stellt die letzten 8 Bit der 16 Bitdaten dar.

Die RAM-Werte der angefragten Adresse, d. h. die Daten (H) und die Daten (L) werden bei Schritt 1810 in den DMA Bereich (5) geschrieben. Die angfragten Adresswerte, d. h. die Adresse (H) und die Adresse (L), werden bei Schritt 1820 in den DMA-Bereich (5) geschrieben, um diese Verarbeitung zu beenden.

Nun wird nachstehend die Verarbeitung bezüglich der DMA-Übertragung bei den CPUs 110 120 und 130 beschrieben.

Fig. 15 ist ein Flussdiagramm, das die Verarbeitung durch Software bezüglich der DMA-Übertragung darstellt, die durch jeden der CPUs 110, 120 und 130 ausgeführt wird, und diese wird in vorgeschriebenen Intervallen gestartet (z. B. alle vier ms).

Bei Schritt 1900 wird die DMA-Übertragung gestartet, um diese Verarbeitung abzuschließen. Genauer gesagt wird die führende Adresse des DMA-Bereichs (5) als Zeiger für die DMA-Übertragung gesetzt.

Das Starten der DMA-Übertragung ist der einzige Abschnitt, in dem Software an der eigentlichen DMA- Übertragung teilnimmt, und nach dem Starten übermittelt die Hardware Daten in den DMA-Bereich (5) nacheinander an die anderen CPUs.

In der oben erwähnten Ausführungsform, wie zuvor beschrieben und in Schritten 810 bis 830 von Fig. 7 gezeigt, wird von dem SRAM kein Abnormitätscode zum Übertragen des Ergebnisses an die Diagnoseeinheit gesucht, wenn bei der Code-Lese-Anfrage das Codelöschen in Ausführung ist, sondern die Daten nach dem Codelöschen (ohne einen Abnormität-Code) werden an die Diagnoseeinheit übertragen. Wenn bei der Code-Lese-Anfrage das Codelöschen in Ausführung ist, ist es daher möglich zu verhindern, dass die Daten vor dem Löschen an die Diagnoseeinheit übertragen werden. Durch diese Funktion kann Übertragung von fehlerhafter Information an die Diagnoseeinheit verhindert werden.

Wenn in der oben erwähnten Ausführungsform das Vorhandensein einer RAM-Wert-Lese-Anfrage der CPU 120 oder 130, einer anderen als der CPU 110, bei Schritt 1600, wie in Fig. 11 gezeigt, auf eine RAM-Wert-Leseanfrage hin erfasst, fährt die Verarbeitung zu dem in Fig. 12 gezeigtem fort. Bei den Schritten 1710 bis 1730, wie in Fig. 12 gezeigt, wird der angefragte Adresswert von der CPU 110 an die CPU 120 und 130 mit dem übertragenen Adresswert von der CPU 120 und 130 an die CPU 110 auf Übereinstimmung überprüft, und bei Erfassung einer Übereinstimmung beider Adresswerte, wird ein Kennzeichen XA4NAS gesetzt. Nach dem Ablauf einer vorgeschriebenen Zeitperiode (16 ms) vom Setzen dieses Merkers, wird ein RAM-Wert entsprechend der angefragt en Adresse als eine Antwort an die Diagnoseeinheit 200 bei Schritt 1740 bis 1760 übertragen. Es ist daher möglich ohne Versagen zu verhindern, dass fehlerhafte Information an die Diagnoseeinheit 200 geantwortet wird.

Gemäß dem wie oben beschriebenen Aufbau und den Funktionen des Fahrzeugdiagnosesystems der vorliegenden Erfindung, übermittelt die Abnormitätsinformationsübertragungsvorrichtung die Abnormitätsinformation nach dem Löschen, wenn eine Leseanfrage eines Abnormitätssignals durch die Diagnoseeinheit ausgegeben wird, während der Löschausführung der Abnormitätsinformation der Steuerung auf eine Löschanfrage der Abnormitätsinformation hin.

Dies ermöglicht das Zurücksenden der Abnormitätsinformation nach dem Löschen an die Diagnoseeinheit als Antwort, wenn eine Leseanfrage der Abnormitätsinformation durch die Diagnoseeinheit ausgegeben wird, während der Löschausführung der Abnormitätsinformation in der Steuerung für eine Löschanfrage der Abnormitätsinformation von der Diagnoseeinheit, und somit die Verhinderung der Übertragung von fehlerhafter Information.


Anspruch[de]

1. Fahrzeugdiagnosesystem, das aufweist:

eine Speichereinrichtung (RAM, Fig. 6) die eine Abnormitätsinformation speichert, die verschiedene erfaßte Abnormitäten eines Fahrzeugs betrifft;

eine Abnormitätsinformations-Löscheinrichtung (950), die eine in der Speichereinrichtung gespeicherte Abnormitätsinformation als Reaktion auf ein Löschsignal löscht, das von der Diagnoseeinrichtung (200) angelegt wird;

eine Löschstatus-Erfassungseinrichtung (810), die erfaßt, ob ein Löschen einer Abnormitätsinformation mittels der Abnormitätsinformations-Löscheinrichtung (950) ausgeführt wird; und

eine Abnormitätsinformations-Ausgabeeinrichtung (820, 830) die als Reaktion auf ein von einer Diagnoseeinrichtung (200) angelegtes Lesesignal eine Information ausgibt, die das Fehlen eines gültigen Abnormitätscodes anzeigt, wenn die Löschstatus-Erfassungseinrichtung (810) erfaßt, daß ein Löschen einer Abnormitätsinformation ausgeführt wird, und die eine in der Speichereinrichtung (RAM) gespeicherte Abnormitätsinformation ausgibt, wenn die Löschstatus-Erfassungseinrichtung (810) erfaßt, daß ein Löschen einer Abnormitätsinformation nicht ausgeführt wird.

2. Fahrzeugdiagnosesystem nach Anspruch 2, das weiterhin aufweist:

eine Steuereinrichtung (100), die in das Fahrzeug eingebaut ist und die Speichereinrichtung (RAM), die Abnormitätsinformations-Löscheinrichtung (950) und die Abnormitätsinformations-Ausgabeeinrichtung (820, 830) aufweist, wobei die Steuereinrichtung die verschiedenen Abnormitäten erfaßt und das Speichern einer Information über derartige Abnormitäten in der Speichereinrichtung (RAM) ausführt, wobei

die Diagnoseeinrichtung (200) eine mit der Steuereinrichtung (100) verbindbare Diagnoseeinheit (200) aufweist, und

die Abnormitätsinformations-Ausgabeeinrichtung (820, 830) die anzeigende Information oder die Abnormitätsinformation zu der Diagnoseeinheit (200) ausgibt, wobei die Diagnoseeinheit (200) aufweist:

eine Leseanforderungseinrichtung (520), um das Lesesignal auszugeben, um ein Auslesen der in der Speichereinrichtung (RAM) gespeicherten Abnormitätsinformation anzufordern; und

eine Löschanforderungseinrichtung (530), um das Löschsignal auszugeben, um ein Löschen der in der Speichereinrichtung (RAM) gespeicherten Abnormitätsinformation anzufordern.

3. Fahrzeugdiagnosesystem nach Anspruch 1 oder 2, wobei die Löschstatus-Erfassungseinrichtung (810) beinhaltet:

eine Meßeinrichtung (1000), welche die seit einem Aufnehmen des Löschsignals von der Diagnoseeinrichtung (200) verstrichene Zeit mißt; und

eine Löschstatus-Bestimmungseinrichtung (920), welche unter Bezugnahme auf die gemessene verstrichene Zeit bestimmt, ob das Löschen einer Abnormitätsinformation ausgeführt wird.

4. Fahrzeugdiagnosesystem nach Anspruch 3, wobei die Meßeinrichtung beinhaltet:

eine Batteriespannungs-Erfassungseinrichtung, die die Batteriespannung (+B) einer Batterie (160) des Fahrzeugs erfaßt;

eine Niederspannungs-Erfassungseinrichtung (930), welche erfaßt, ob die Batteriespannung (+B) einen vorgeschriebenen Wert erreicht oder nicht; und

eine Löscheinrichtung (940), welche die gemessene Zeit löscht, wenn die Niederspannungs-Erfassungsvorrichtung erfaßt, daß die Batteriespannung (+B) die vorgeschriebene Spannung erreicht.

5. Fahrzeugdiagnosesystem nach Anspruch 2, wobei

die Steuereinrichtung (100) eine Mehrzahl von eine Haupt-CPU (110) beinhaltende CPUs (110, 120, 130) aufweist die den Fahrzeugbetrieb steuern, die verschiedenen Abnormitäten erfassen und einen Informationsaustausch mit der Diagnoseeinrichtung (200) führen,

die Speichereinrichtung (RAM) eine Mehrzahl von Speichervorrichtungen (RAM) aufweist, die in der Mehrzahl von CPUs (110, 120, 130) vorgesehen sind und die Abnormitätsinformation speichern, die Abnormitäten entsprechen, die von den einzelnen CPUs (110, 120, 130) erfaßt werden, und wobei die Haupt-CPU (110) beinhaltet:

eine Löschbefehl-Ausgabeeinrichtung (960), welche als Reaktion auf das Löschsignal von der Diagnoseeinrichtung (200) einen Abnormitätsinformations-Löschbefehl zu den anderen CPUs (110, 120, 130) ausgibt;

die Löschstatus-Erfassungseinrichtung (810); und

die Abnormitätsinformations-Ausgabeeinrichtung (820, 830).

6. Fahrzeugdiagnosesystem nach Anspruch 5, wobei

jede der Speichervorrichtungen (RAM) beinhaltet:

eine DMA-Einrichtung, die einzeln gespeicherte Informationen durch einen Direktspeicherzugriff zu den anderen Speichervorrichtungen (RAM) überträgt.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com