-
Die
vorliegende Erfindung bezieht sich auf eine elektronische Steuereinheit,
die Fahrzeugidentifikationsinformationen auf Anforderung von einem externen
Abfragegerät
senden kann, das mit einer Kommunikationsleitung verbunden ist,
und ein elektronisches Fahrzeugsteuersystem mit einer Vielzahl der
elektronischen Steuereinheiten.
-
Für ein elektronisches
Fahrzeugsteuersystem mit elektronischen Steuereinheiten (ECUs),
die jeweils für
verschiedene Komponenten eines Fahrzeugs vorgesehen sind, wurde
eine Kommunikation dieser vorgeschlagen. Ein in einem Fahrzeug installiertes
Diagnosesystem mit einem derartigen System muss mit einem fahrzeugeigenen
Diagnosesystem II (OBD-II) kompatibel sein. Wird ein externes Abfragegerät (Prüfgerät) mit einer
jeweiligen im Fahrzeug enthaltenen ECU in einer Werkstatt verbunden,
kann ein Fahrzeugidentifikationsnummern (VIN)-Kode in einem vorbestimmten
Kommunikationsformat, wie einem KWP-Diagnosekommunikationsformat gelesen werden.
Der VIN-Kode ist jedem Fahrzeug eindeutig zugeordnet. Anhand des
VIN-Kodes kann ein
Mechaniker in der Werkstatt verschiedene Arten von Informationen über das
Fahrzeug erhalten und bei dem Fahrzeug geeignete Reparaturarbeiten
ausführen.
-
Senden
in einem derartigen System viele ECUs gleichzeitig Antworten auf
eine vom Abfragegerät
ausgegebene VIN-Code- Sendeanforderung, treten
auf einer Kommunikationsleitung häufig Datenkollisionen auf.
Infolgedessen verringert sich die Nutzbarkeit der Kommunikationsleitung
und die Last der ECUs erhöht
sich. Dieses Problem verschlimmert sich, je mehr ECUs mit der Kommunikationsleitung verbunden
sind.
-
Des
Weiteren erfordert eine kürzlich überarbeitete
OBD-II-Vorschrift,
dass die von einem Fahrzeug gesendete Anzahl an VIN-Kodes eins sein muss.
Zur Erfüllung
dieser Anforderung kann lediglich eine ECU zum Senden des VIN-Kodes zum Abfragegerät eingerichtet
sein. In diesem Fall kann der VIN-Kode nicht gesendet werden, wenn
die ECU fehlerhaft wird oder eine mit der ECU verbundene Kommunikationsleitung
unterbrochen ist. Zur Lösung
dieses Problems können
alle fahrzeugeigenen ECUs zum Senden des VIN-Kodes zum Abfragegerät eingerichtet
sein. Allerdings senden alle ECUs den VIN-Kode gleichzeitig. Dies
erfüllt
nicht die Anforderung der überarbeiteten
OBD-II-Vorschrift.
-
Die
JP-A-08 265 880 (Oberbegriff der Ansprüche 1 und 10) offenbart ein
Kommunikationssystem, bei dem eine Slave-Einrichtung mit niedrigerer Priorität als eine
Slave-Einrichtung,
deren Antwort gesperrt ist, ihre eigene Antwortnachricht ohne Kollision
mit einer anderen Nachricht senden darf, selbst wenn keine Slave-Einrichtung unter
einer Vielzahl von Slave-Einrichtungen ihre Antwort senden darf. Sendet
ein defektes Diagnoseprüfgerät eine Verbindungsbestätigungsanforderungsnachricht,
senden Steuereinrichtungen 2, 1, 6, 7 aufeinanderfolgend eine
Antwortnachricht. Befindet sich die Steuereinrichtung 6 in
einem gesperrten Antwortzustand, sendet das defekte Diagnoseprüfgerät dieselbe
Nachricht wie die Antwortnachricht, die im Wesentlichen von der
Steuereinrichtung 6 zu senden ist, zu einem Zeitpunkt nach
dem Ende eines Empfangs der Antwortnachricht von der Steuereinrichtung 1 als
Dummy-Daten. Somit sendet die Steuereinrichtung 7 ihre eigene
Antwortnachricht nach den Dummy-Daten.
-
Aufgabe
der Erfindung ist die Bereitstellung eines elektronischen Fahrzeugsteuersystems
mit einer Vielzahl von ECUs, bei dem Fahrzeugidentifikationsinformationen
effizient von einer der Steuereinheiten gesendet werden. Ein elektronisches
Fahrzeugsteuersystem gemäß der Erfindung
umfasst eine Vielzahl von ECUs und ist zum Senden der Fahrzeugidentifikationsinformationen
als Antwort auf eine von einem externen Abfragegerät ausgegebene Anforderung
eingerichtet, die mit einer Kommunikationsleitung verbunden ist.
Die ECUs kommunizieren über
die Kommunikationsleitung miteinander.
-
Jede
ECU enthält
eine Speichereinrichtung, eine Erfassungseinrichtung, eine Zeitgebereinrichtung
und eine Kommunikationseinrichtung. Die Speichereinrichtung speichert
die Fahrzeugidentifikationsinformationen, das heißt, einen
VIN-Kode. Die Erfassungseinrichtung überwacht die Kommunikationsleitung
und erfasst eine Ausgabe, die den VIN-Kode angibt, die von einer
anderen ECU zu dem Abfragegerät
gesendet wird. Die Zeitgebereinrichtung misst eine abgelaufene Zeit
seit dem Empfang der vom Abfragegerät ausgegebenen VIN-Kodesendeanfordrung
durch die ECU. Die Zeitgebereinrichtung jeder ECU stoppt eine für die ECU
beruhend auf ihrer Prioritätsstufe
voreingestellte Antwortstartzeit. Ist die Zeit abgelaufen, sendet
die Kommunikationseinrichtung den durch die Speichereinrichtung
gespeicherten VIN-Kode zu dem Abfragegerät, wenn die Erfassungseinrichtung
keine Ausgabe von einer anderen ECU erfasst hat.
-
Ist
die ECU mit der höchsten
Priorität,
das heißt,
der frühesten
Antwortstartzeit zum Senden des VIN-Kodes nicht fähig, sendet
anhand dieses Aufbaus die ECU mit der nächst höchsten Priorität den VIN-Kode.
Die ECUs senden den VIN-Kode beruhend auf der Rangfolge, wenn die
ECU mit der höheren
Priorität
den VIN-Kode nicht senden kann, wenn eine andere ECU den VIN-Kode
nicht gesendet hat. Somit wird der VIN-Kode nie von einer Vielzahl
von ECUs gesendet.
-
Des
Weiteren ist die Wahrscheinlichkeit des Auftretens von Kollisionen
von von einer Vielzahl von ECUs auf der Kommunikationsleitung gesendeten Daten
geringer.
-
Infolgedessen
wird eine hohe Verwendbarkeit der Kommunikationsleitung erzielt.
Während eine
der ECUs den VIN-Kode sendet, arbeiten die Kommunikationseinrichtungen
der anderen ECUs nicht. So kann die Belastung der ECUs effektiv
verringert werden, insbesondere dann, wenn das System eine große Anzahl
von ECUs aufweist.
-
Des
Weiteren senden andere ECUs den VIN-Kode nicht, wenn eine der ECUs
den VIN-Kode gesendet hat. So kann das System die überarbeitete OBD-II-Anforderung
erfüllen.
-
Die
vorstehenden und weitere Aufgaben, Merkmale und Vorteile der Erfindung
werden aus der folgenden Beschreibung unter Bezugnahme auf die beiliegenden
Zeichnungen ersichtlich. Es zeigen:
-
1 ein
Blockschaltbild einer schematischen Darstellung eines elektronischen
Fahrzeugsteuersystems gemäß dem ersten
Ausführungsbeispiel
der Erfindung,
-
2 eine
schematische Darstellung eines Kommunikationsablaufs für Fahrzeugidentifikationsinformationen
gemäß dem ersten
Ausführungsbeispiel,
-
3A eine
schematische Darstellung eines Kommunikationsprotokolls in einem
KWP-Nachrichtenformat gemäß dem ersten
Ausführungsbeispiel,
-
3B eine
schematische Darstellung von in einem Prüfgerät und ECUs 1 und 2 eingestellten Adressen
gemäß dem ersten
Ausführungsbeispiel,
-
3C eine
schematische Darstellung von Kommunikationsprotokollen, die vom
Prüfgerät zur ECU 1,
von der ECU 2 zur ECU 2 und vom Prüfgerät zu den
ECUs 1 und 2 gemäß dem ersten Ausführungsbeispiel
gesendet werden,
-
4 eine
schematische Darstellung eines Kommunikationsablaufs für Fahrzeugidentifikationsinformationen
gemäß dem ersten
Ausführungsbeispiel,
-
5 ein
Ablaufdiagramm einer Kommunikationsverarbeitung der Fahrzeugidentifikationsinformationen
gemäß dem ersten
Ausführungsbeispiel,
-
6 ein
Ablaufdiagramm einer Kommunikationsverarbeitung der Fahrzeugidentifikationsinformationen
gemäß dem ersten
Ausführungsbeispiel,
-
7 ein
Ablaufdiagramm einer Kommunikationsverarbeitung der Fahrzeugidentifikationsinformationen
gemäß dem ersten
Ausführungsbeispiel,
-
8 ein
Ablaufdiagramm einer Kommunikationsverarbeitung der Fahrzeugidentifikationsinformationen
gemäß dem ersten
Ausführungsbeispiel,
-
9A eine
schematische Darstellung eines Kommunikationsablaufs für Fahrzeugidentifikationsinformationen
gemäß einer
ersten Modifizierung des ersten Ausführungsbeispiels,
-
9B eine
schematische Darstellung eines Kommunikationsablaufs für Fahrzeugidentifikationsinformationen
gemäß der ersten
Modifizierung, wenn die ECU 1 keine Daten senden kann,
-
10 ein
Ablaufdiagramm einer Kommunikationsverarbeitung der Fahrzeugidentifikationsinformationen
gemäß der ersten
Modifizierung,
-
11 ein
Ablaufdiagramm einer Kommunikationsverarbeitung der Fahrzeugidentifikationsinformationen
gemäß der ersten
Modifizierung,
-
12 eine
schematische Darstellung eines Kommunikationsablaufs für Fahrzeugidentifikationsinformationen
gemäß einer
zweiten Modifizierung des ersten Ausführungsbeispiels,
-
13 ein
Ablaufdiagramm einer Kommunikationsverarbeitung der Fahrzeugidentifikationsinformationen
gemäß der zweiten
Modifizierung,
-
14 ein
Blockschaltbild einer schematischen Darstellung eines elektronischen
Fahrzeugsteuersystems gemäß dem zweiten
Ausführungsbeispiel
der Erfindung,
-
15 eine
schematische Darstellung eines Kommunikationsablaufs für Fahrzeugidentifikationsinformationen
gemäß dem zweiten
Ausführungsbeispiel,
-
16 ein
Ablaufdiagramm einer Kommunikationsverarbeitung der Fahrzeugidentifikationsinformationen
gemäß dem zweiten
Ausführungsbeispiel,
-
17 ein
Ablaufdiagramm einer Kommunikationsverarbeitung der Fahrzeugidentifikationsinformationen
gemäß dem zweiten
Ausführungsbeispiel, und
-
18 ein
Ablaufdiagramm einer Kommunikationsverarbeitung der Fahrzeugidentifikationsinformationen
gemäß dem zweiten
Ausführungsbeispiel.
-
Nachstehend
werden die bevorzugten Ausführungsbeispiele
der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen
beschrieben. In diesen Zeichnungen werden die gleichen Bezugszeichen
für die
gleichen Komponenten und Einrichtungen verwendet.
-
[Erstes Ausführungsbeispiel]
-
Gemäß 1 ist
das elektronische Fahrzeugsteuersystem 10 in einem Fahrzeug 100 installiert
und enthält
elektronische Steuereinheiten (ECUs) 1, 2, 3, 4,
eine Motor-ECU 1 zur Steuerung eines Motors, eine Getriebe-ECU 2 zur
Steuerung eines Automatikgetriebes, eine Fahrsteuer-ECU 3 zur Steuerung
eines Bremssystems und eine Fahrzeugaufbau-ECU zur Steuerung einer
Stromversorgung für
Fenster oder Türverriegelungen.
Jede ECU 1, 2, 3, 4 ist eine
unabhängige
elektronische Steuereinheit mit einem Mikrocomputer (MC) 1a, 2a, 3a, 4a,
der eine vorbestimmte Datenspeicherung und Operationen als Hauptkomponente
ausführt,
und einem Kommunikationsabschnitt (COM) 1b, 2b, 3b, 4b.
Die ECUs 1, 2, 3, 4 sind miteinander über eine
Kommunikationsleitung L verbunden.
-
Der
MC 1a, 2a, 3a, 4a jeder ECU 1, 2, 3, 4 enthält eine
CPU, ein ROM, ein RAM, einen A/D-Wandler, eine Eingangs- und Ausgangs-(I/O) Schnittstelle,
Busleitungen (alle nicht gezeigt) und einen Zeitgeber 1c, 2c, 3c, 4c.
Die CPU steuert verschiedene Einrichtungen, das ROM speichert verschiedene
Werte und Programme, die zuvor geschrieben sind, und das RAM weist
einen Speicherbereich auf, der zur Speicherung von Werten und Flags
während
einer Berechnung vorbestimmt ist. Der A/D-Wandler wandelt analoge
Eingangssignale in digitale Signale, die I/O-Schnittstelle empfängt verschiedene digitale Signale
und sendet verschiedene digitale Signale, der Zeitgeber 1c, 2c, 3c, 4c ist
eine Zeitgebereinrichtung, und alle diese Komponenten sind mit den
Busleitungen verbunden.
-
Jede
ECU 1, 2, 3, 4 enthält auch
einen nichtflüchtigen
Speicher 1d, 2d, 3d, 4d wie
ein EEPROM, ein Backup-RAM und einen Flash-Speicher zur Speicherung
eines VIN-Kodes (Fahrzeugidentifikationsinformationen) oder Diagnoseinformationen.
Ein anhand eines nachstehend beschriebenen Ablaufdiagramms gezeigter
Ablauf wird beruhend auf einem zuvor im ROM gespeicherten Steuerprogramm durchgeführt.
-
Die
Motor-ECU 1 mit dem MC 1a ist zur Durchführung einer
bestimmten Kommunikationsverarbeitung über den COM 1b eingerichtet.
Die Motor-ECU 1 ist mit verschiedenen Sensoren, Schaltern und
Stellgliedern wie einem Gaspedalsensor, Luftmengenmesser, Einlasstemperatursensor,
Drosselwinkelsensor, Sauerstoffsensor, Kühlmitteltemperatursensor, Kurbelwinkelsensor,
Zündschalter,
Einspritzeinrichtungen, Zündeinrichtung,
Kraftstoffpumpe und Drosselantriebsmotor verbunden. Der Gaspedalsensor
erfasst einen Winkel des Gaspedals, das von einem Fahrer gedrückt wird.
Der Luftmengensensor, der Einlasstemperatursensor und der Drosselwinkelsensor
erfassen die Luftmenge (Einlassluftmenge), die Temperatur der eingelassenen
Luft, und einen Winkel der Drosselklappe. Der Sauerstoffsensor,
der Kühlmitteltemperatursensor
und der Kurbelwinkelsensor erfassen jeweils die Konzentration von Sauerstoff
der Abluft, die Temperatur des Kühlmittels und
einen Drehwinkel oder eine Drehgeschwindigkeit einer Kurbelwelle.
Die Einspritzeinrichtungen sind für jeden Zylinder des Motors
vorgesehen. Die Zündeinrichtung
erzeugt eine Hochspannungsausgabe für die Zündung, die Kraftstoffpumpe
pumpt Kraftstoff von einem Kraftstofftank und führt ihn der Einspritzeinrichtung
zu, der Drosselantriebsmotor öffnet
oder schließt
eine Drosselklappe, die in einer Einlassluftführung des Motors vorgesehen
ist.
-
Die
Getriebe-ECU 2 mit dem MC 2a ist zur Durchführung einer
bestimmten Kommunikationsverarbeitung über den COM 2b einrichtet.
Die Getriebe-ECU 2 ist mit Sensoren, Schaltern und Stellgliedern
verbunden, die einen Drehzahlsensor, Fahrzeuggeschwindigkeitssensor, Öltemperatursensor, Verschiebepositionsschalter,
Verschiebeelektromagnet, Leitungsdruck-Elektromagnet und einen Sperrdruckelektromagnet
enthalten. Die Fahrsteuer-ECU 3 mit
dem MC 3a ist zur Durchführung einer bestimmten Kommunikationsverarbeitung über den
COM 3a eingerichtet. Die Fahrsteuer-ECU 3 steuert
eine Antiblockierbremseinheit (ABS). Sie steuert auch ein Tempomat
(ACC)-System, ein Fahrzeugstabilitätssteuer (VSC)-System, ein
Traktionssteuerungs-(TRC-)System zusammen mit der Motor-ECU 1.
Die Fahrsteuer-ECU 3 ist mit einem Hauptzylinderdrucksensor,
Lenksensor, Gierratensensor und Bremszylinder verbunden.
-
Die
Fahrzeugaufbau-ECU mit dem MC 4a ist zur Durchführung einer
bestimmten Kommunikationsverarbeitung über den COM 4b eingerichtet.
Die Fahrzeugaufbau-ECU 4 ist mit einem Drehzahlsensor für den Antriebsmotor,
einem Stromversorgungsfensterschalter, einem Türverriegelungsschalter, einem
Stromversorgungsfenstermotor und einem Türverriegelungsmotor verbunden.
-
Die
Kommunikationsleitung L kann mit einem Prüfgerät 50 über eine
Verbindungseinrichtung 11 verbunden werden, die sich auf
der Fahrzeugseite befindet. Das Prüfgerät 50 ist ein mit OBD-II
kompatibles externes Diagnosesystem mit einem Kommunikationsabschnitt,
einem MC, einer Speichereinrichtung, einer Anzeigeeinrichtung, einer
Eingabeeinrichtung und einer Verbindungseinrichtung 51.
Beispiele dieser Einrichtungen sind eine EC-Karte, eine LCD und
eine Tastatur. Die Verbindungseinrichtung 51 ist zum trennbaren
Verbinden des Prüfgeräts 50 mit
der Verbindungseinrichtung 11 vorgesehen. Das Prüfgerät 50 kommuniziert
mit jeder ECU 1, 2, 3, 4 unter Verwendung
von Schlüsselwortprotokoll(KWP) 2000-Kommunikationsprotokollen.
Ist die Verbindungseinrichtung 51 mit der Verbindungseinrichtung 11 verbunden
und wird eine Anforderung zum Senden eines VIN-Kodes oder von Diagnoseinformationen
durch eine Wartungsperson über
die Eingangseinrichtung eingegeben, kommuniziert die Prüfeinrichtung 50 mit
jeder ECU 1, 2, 3, 4. Empfängt das Prüfgerät 50 eine
Antwort von der ECU 1, 2, 3, 4, zeigt
sie gesendete Informationen auf der Anzeigeeinrichtung an.
-
Als
nächstes
wird eine Kommunikation zwischen dem Prüfgerät 50 und dem elektronischen Steuersystem 10 unter
Verwendung der KWP 2000-Protokolle unter Bezugnahme auf die 2 bis 4 beschrieben.
Ein Kommunikationsformat (KWP-Nachrichtenformat) der KWP 2000-Protokolle enthält Fmt (Format),
Tgt (Zieladresse) und Src (Quellenadresse) in einem Header, der
von Data (VIN-Kode) und cs (Prüfsumme)
wie in 3A gezeigt gefolgt wird. Im
normalen Betrieb bestimmt jede ECU 1, 2, 3, 4,
ob Tgt ihre eigene Adresse enthält, und
empfängt
Daten, wenn Tgt ihre eigene Adresse enthält. In einem nachstehend beschriebenen Überwachungsvorgang
empfängt
sie die Daten ungeachtet der Tgt.
-
Gemäß 3B wird
F1 als individuelle Adresse des Prüfgeräts 50 eingestellt,
eine individuelle Adresse 11 und eine gemeinsame Adresse 33 werden
für die
ECU 1 eingestellt, und eine individuelle Adresse 31 und
eine gemeinsame Adresse 33 werden für die ECU 2 eingestellt.
Die gemeinsame Adresse 33 ist eine Adresse der ECUs zum Zugreifen auf
alle ECUs 1, 2, 3, 4. Werden
Daten gemäß 3C vom
Prüfgerät 50 zur
ECU 1 gesendet, sind demnach Tgt = 11 und Src = F1, und
werden Daten vom Prüfgerät 50 zur
ECU 2 gesendet, sind Tgt = F1 und Src = 21. Werden Daten
vom Prüfgerät 50 zu
sowohl ECU 1 als auch ECU 2 gesendet, sind Trg
= 33 und Src = F1. Individuelle Adressen und die gemeinsame Adresse
werden auf die gleiche Weise für
die ECU 3 und die ECU 4 eingestellt.
-
Gemäß 2 ist
die Verbindungseinrichtung 51 des Prüfgeräts 50 mit der Verbindungseinrichtung L
verbunden, und eine Anforderung zum Senden eines VIN-Kodes wird
zu jeder ECU 1, 2, 3, 4 ausgegeben,
der durch die Wartungsperson über
eine Eingabeeinrichtung eingegeben wird. Der Datenfluss dieses Vorgangs
ist durch Pfeile mit gestrichelten Linien angegeben. Empfängt die
ECU 1, 2, 3, 4 die Anforderung,
aktiviert die ECU 1, 2, 3, 4 ihren
Zeitgeber 1c, 2c, 3c, 4c zum
Beginnen des Stoppens der Antwortstartzeit. Lediglich eine der ECUs 1, 2, 3, 4 sendet den
VIN Code zu einem Zeitpunkt zum Prüfgerät 50. Der Datenfluss
im Fall, wenn die ECU 1 den VIN-Kode zum Prüfgerät 50 sendet,
ist durch einen Pfeil mit durchgezogener Linie angegeben. Eine Reihenfolge
zum Senden des VIN-Kodes ist beruhend auf der Antwortstartzeit vorbestimmt.
-
Die
Antwortstartzeit wird in absteigender Reihenfolge der ECU 1 (T1),
der ECU 2 (T2), der ECU 3 (T3) und der ECU 4 (T4)
eingestellt, das heißt, T1 < T2 < T3 < T4. Kann die ECU
mit der höchsten Priorität den VIN-Kode
aufgrund eines Ausfalls oder einer Unterbrechung nicht senden, sendet
die ECU mit der nächst
höheren
Priorität
den VIN-Kode.
-
Empfangen
die ECU1 und die ECUN (N = 2, 3, 4) wie in 4 gezeigt
den VIN-Kode vom Prüfgerät 50,
setzt jede ECU 1, 2, 3, 4 ein
VIN-Kode-Anforderungsflag VINReq, und aktiviert ihren Zeitgeber 1c, 2c, 3c, 4c.
Der Zeitgeber 1c, 2c, 3c, 4c,
stoppt die Zeit in 1 ms-Schritten, das heißt, jede Millisekunde, beruhend
auf einem internen Takt des MC 1a, 2a, 3a, 4a.
Der 1 ms-Vorgang wird nachstehend beschrieben.
-
Erreicht
der Zeitzählwert
Tres des Zeitgebers die Antwortstartzeit T1, startet die ECU 1 das
Senden des VIN-Kodes und löscht
den Zählwert
Tres. Zu diesem Zeitpunkt setzt die ECUN das Zählen mit dem Zeitgeber fort
und überwacht
das Senden des VIN-Kodes durch die ECU 1 über die
Kommunikationsleitung L. Ist das Senden des VIN-Kodes durch die
ECU 1 abgeschlossen, stoppt die ECUN das Zählen des
Zeitgebers und löscht
den Zählwert
und stoppt die Überwachung.
-
Die
Antwortstartzeit Tn der ECUN ist in Intervallen eingestellt, von
denen jedes länger
als die zum Senden des VIN-Kodes erforderliche Zeit ist. Das heißt, ein
Intervall ist länger
als die Zeit eingestellt, mit der die ECU 1, 2, 3, 4 mit
einer um eins höheren Priorität das Senden
der Daten bis zu cs wie in 3A gezeigt
abgeschlossen hat. Selbst wenn die ECU 1, 2, 3, 4 den
VIN-Kode nicht senden kann, sendet die ECU 1, 2, 3, 4 mit
der nächst
höheren
Priorität den
VIN-Kode nach Bestätigung
der Bedingung, dass die ECU 1, 2, 3, 4 mit
höherer
Priorität
den VIN-Kode nicht senden kann.
-
Die
Antwortstartzeit T1, T2, T3, T4 der ECU 1, 2, 3, 4 mit
der niedrigsten Priorität,
das heißt,
mit der langsamsten Antwortstartzeit T1, T2, T3, T4 wird kleiner
oder gleich der Zeit eingestellt, die die OBD-II- Anforderung erfüllt. Daher sind die von dieser ECU 1, 2, 3, 4 verschiedenen
ECUs 1, 2, 3, 4 unfähig, den
VIN-Kode zu senden, und die OBD-II-Anforderung wird durch Senden
des VIN-Kodes durch diese ECU 1, 2, 3, 4 erfüllt.
-
Hat
die ECU 1 den VIN-Kode zu der Prüfeinrichtung 50 erfolgreich
gesendet, senden die anderen ECUs 2, 3, 4 den
VIN-Kode nicht. Versagt die ECU 1 beim Senden des VIN-Kodes, sendet die
ECU 2 mit der zweithöchsten
Priorität
den VIN-Kode, wenn die Antwortstartzeit T2 abgelaufen ist. Versagen
weder die ECU 1 noch die ECU 2 beim Senden des VIN-Kodes,
sendet die ECUN mit der nächst
höchsten
Priorität
den VIN-Kode, wenn die Antwortstartzeit Tn abgelaufen ist. Zu diesem
Zeitpunkt führen
die anderen ECUs 1, 2, 3, 4 die
gleiche Verarbeitung wie vorstehend beschrieben durch.
-
Als
nächstes
wird die durch den MC 1a, 2a, 3a, 4a jeder
ECU 1, 2, 3, 4 durchgeführte Kommunikationsverarbeitung
unter Bezugnahme auf die in den 5 bis 8 gezeigten
Ablaufdiagramme beschrieben. Empfängt der MC 1a, 2a, 3a, 4a die VIN-Kodesendeanforderung
vom Prüfgerät 50 (S110),
wird ein VIN-Kodeanforderungsflag VINReq gesetzt (EIN). Das Flag
VINReg gibt an, dass die Anforderung empfangen wurde, und der Zählwert Tres des
Zeitgebers wird gelöscht
(5), um den Zeitgeber zu aktivieren, der auf die Antwortstartzeit
herunterzählt.
Dann wird der in 6 gezeigte 1ms-Vorgang jede
Millisekunde durchgeführt.
Das heißt,
ist das Flag VINReq EIN (S210:JA), wird der Zählwert Tres um 1 inkrementiert
(S220).
-
Es
wird bestimmt, ob der Zählwert
Tres größer als
die Antwortstartzeit Tn ist (S230). Wird bestimmt, dass der Zählwert Tres
größer als
die Antwortstartzeit Tn ist (S230:JA), wird der VIN-Kode aus dem
nichtflüchtigen
Speicher 1d, 2d, 3d, 4d gelesen (S240),
und ein nachstehend beschriebener Abschlussprozess wird gestartet
(S250). Ist das Flag VINReq AUS (S5210:NEIN), oder ist der Zählwert Tres
kleiner als die Antwortstartzeit Tn (S230:NEIN), wird der 1ms-Vorgang
beendet.
-
Ein
in 7 gezeigter Überwachungsvorgang
wird parallel zum 1ms-Vorgang durchgeführt. Jede ECU 1, 2, 3, 4 beginnt
die Überwachung
der Kommunikationsleistung L, wenn sie die VIN-Kodesendeanforderung
vom Prüfgerät 50 empfängt, und erfasst
die Zieladresse Tgt, zu der eine andere ECU 1, 2, 3, 4 den
VIN-Kode gesendet hat (S300). Ist die Zieladresse Tgt die Adresse
F1 des Prüfgeräts 50 (S310:JA),
erfasst die ECU 1, 2, 3, 4 den
Inhalt von Data der Daten zum Bestimmen, ob es sich um einen VIN-Kode
handelt. Ist der Inhalt Data ein VIN-Kode (S320:JA), wird bestimmt,
dass der VIN-Kode zum Prüfgerät 50 durch
eine andere ECU 1, 2, 3, 4 gesendet
wurde, und ein nachstehend beschriebener Abschlussvorgang wird gestartet
(S330). Ist die Adresse Tgt nicht die Adresse F1 (S310:NEIN), oder
ist der Inhalt Data kein VIN-Kode (S320:NEIN), wird der Vorgang
beendet.
-
Wie
in 8 gezeigt setzt jede ECU 1, 2, 3, 4 das
VIN-Kodeanforderungsflag
VINReq auf AUS und löscht
den Zählwert
Tres im Beendigungsvorgang. Dann schließt die ECU 1, 2, 3, 4 den
Vorgang ab. Im elektronischen Steuersystem 10 sind den ECUs 1, 2, 3, 4 Prioritäten zum
Senden des VIN-Kodes zum Prüfgerät 50 zugewiesen.
Kann die ECU 1, 2, 3, 4 mit
hoher Priorität
den VIN-Kode aufgrund eines Fehlers oder einer Leitungsunterbrechung
nicht erfolgreich senden, senden andere ECUs 1, 2, 3, 4 den
VIN-Kode in absteigender Rangfolge. Infolgedessen wird der VIN-Kode
als Antwort auf die Anforderung zum Prüfgerät 50 ohne Ausfall gesendet.
-
Empfängt die
ECU 1, 2, 3, 4 die VIN-Kodeanforderung
zum Prüfgerät 50,
startet sie eine Überwachung
der Kommunikationsleitung L, und ist der durch eine andere ECU 1, 2, 3, 4 durchgeführte Sendevorgang
abgeschlossen, beendet sie den Rest des VIN-Kodesendevorgangs und
sendet den VIN-Kode nicht. Das heißt, der VIN-Kode wird nicht
gleichzeitig von einer Vielzahl von ECUs 1, 2, 3, 4 gesendet,
und Datenkollisionen auf der Leitung L treten weniger wahrscheinlich
auf. Daher ist die OBD-II-Anforderung,
dass die Anzahl der von einem Fahrzeug gesendeten VIN-Kodes eins
sein muss, erfüllt.
-
Ist
der durch eine andere ECU 1, 2, 3, 4 durchgeführte VIN-Kodesendevorgang
abgeschlossen, beendet die ECU 1, 2, 3, 4 ferner
den Rest des VIN-Kodesendevorgangs. Daher kann die Belastung jeder
ECU 1, 2, 3, 4 effektiv verringert
werden. Die Wirkung dieser Verringerung erhöht sich mit steigender Anzahl
von mit der Leitung L verbundenen ECUs. Die nichtflüchtigen
Speicher 1d, 2d, 3d, 4d in den ECUs 1, 2, 3, 4 entsprechen
der Speichereinrichtung, und die MCs 1a, 2a, 3a, 4a entsprechen
der Erfassungseinrichtung und der Kommunikationseinrichtung. Die
Zeitgeber 1c, 2c, 3c, 4c entsprechen
der Zeitgebereinrichtung.
-
[Erste Modifizierung des
ersten Ausführungsbeispiels]
-
Im
ersten Ausführungsbeispiel
ist die Antwortstartzeit Tn jeder ECU 1, 2, 3, 4 fest.
Allerdings kann die Antwortstartzeit Tn entsprechend den Umständen geändert werden.
Die ECU 1, 2, 3, 4 bestimmt
während
des normalen Betriebs der ECU 1, 2, 3, 4,
ob andere ECUs 1, 2, 3, 4 mit
höherer
Priorität als
sie selbst zum Senden von Daten unfähig sind, bevor die VIN-Kodesendeanforderung
ausgegeben wird. Wird bestimmt, dass eine der ECUs 1, 2, 3, 4 mit höherer Priorität als sie
selbst keine Daten senden kann, verkürzt sie ihre Antwortstartzeit,
wenn die VIN-Kodesendeanforderung ausgegeben wird.
-
Sind
gemäß 9A die
ECU 1 und die ECU 2 zum Senden von Daten fähig, wird
die Antwortstartzeit T2 der ECU 2 länger als die der ECU 1 eingestellt,
die eine höhere
Priorität
als die ECU 2 hat. Die Antwortstartzeit T3 der ECU 3 wird
länger
als die Antwortstartzeit T2 eingestellt, wenn die ECU 1,
die ECU 2 und die ECU 3 Daten senden können.
-
Kann
die ECU 1 gemäß 9B keine
Daten senden, beginnen die ECU 2 und die ECU 3 mit
niedrigeren Prioritäten
als die ECU 1 mit dem Überwachen
der Kommunikationsleitung L. Wird beruhend auf einem Zustand, dass
keine Daten durch die ECU 1 zu der Leitung L gesendet werden,
bestimmt, dass die ECU 1 keine Daten senden kann, verkürzen die ECU 2 und
die ECU 3 ihre Antwortstartzeit T2, T3. Das heißt, kann
die ECU 1 keine Daten senden, verkürzt die ECUN mit niedriger
Priorität
ihre Antwortstartzeit Tn um die Antwortstartzeit T1.
-
Die
durch den MC 1a, 2a, 3a, 4a durchgeführte Kommunikationsverarbeitung
wird unter Bezugnahme auf die 10 und 11 beschrieben. Die
in S590–S630
gezeigten Schritte sind die gleichen Schritte wie S210–S250 in 6.
Daher wird auf eine ausführliche
Beschreibung der Schritte S590-S630 verzichtet.
-
In
einem 1ms-Vorgang gemäß 10 wird eine
Variable j auf einen Vorgabewert 1 eingestellt (S510).
Es wird bestimmt, ob die Variable j größer oder gleich einer Prioritätsstufe
n ist, die der ECU 1, 2, 3, 4 zugeordnet
ist (S520). Die Prioritätsstufe
ist jeder ECU 1, 2, 3 in absteigender
Rangfolge beginnend mit der ECU 1 mit der höchsten Priorität zugeordnet, das
heißt,
mit der kürzesten
Antwortstartzeit. Jede ECU 1, 2, 3 speichert
ihre Prioritätsstufe
und andere ECU-Prioritätsstufen
vorab. Da die ECU 1, die ECU 2 und die ECU 3 eine
Beziehung T1 < T2 < T3 aufweisen, sind
ihre Prioritätsstufen
jeweils 1, 2 und 3.
-
Ist
die Variable j geringer als die Prioritätsstufe n (S520:NEIN), wird
bestimmt, ob die ECU 1, 2, 3 mit der
durch die Variable j ausgedrückten
Prioritätsstufe
Daten gesendet hat (S530). Ist die Variable j niedriger als die
Prioritätsstufe
n, ist die durch die Variable j ausgedrückte Prioritätsstufe
höher als
die Prioritätsstufe
n. Werden in Schritt S530 die Daten auf der Leitung L erfasst, die
die Quellenadresse Src enthalten, die die Adresse der ECU 1, 2, 3 mit
Prioritätsstufe
j angibt, wird bestimmt, dass die Daten von der ECU 1, 2, 3 gesendet
wurden. Wird bestimmt, dass die Daten von der ECU 1, 2, 3 mit
Prioritätsstufe
j gesendet sind (S530:JA), wird ein Zeitgeberzählwert Ej zum Messen der Zeit,
während
der die ECU 1, 2, 3 mit Rang j keine
Daten gesendet hat, gelöscht (S540).
-
Wird
bestimmt, dass die Daten nicht von der ECU 1, 2, 3 mit
Rang j gesendet sind (S530:NEIN), wird der Zählwert Ej um 1 inkrementiert
(S550). Dann wird bestimmt, ob der Zählwert Ej eine in der ECU 1, 2, 3 mit
Rang j voreingestellte Schwellenwertzeit erreicht, um einen nichtmittelbaren
Zustand zu bestimmen (S560). Hat der Zählwert Ej die Schwellenwertzeit
erreicht (S560:JA), wird bestimmt, dass die ECU 1, 2, 3 mit
Rang j sich in einem mittelbaren Zustand befindet (S570). Das heißt, es wird
bestimmt, dass die ECU 1, 2, 3 sich in
dem nichtmittelbaren Zustand befindet, wenn die Daten nicht erfasst
wurden, von denen angenommen wird, dass sie periodisch gesendet
werden. Infolgedessen ist es vorzuziehen, dass die Schwellenwertzeit
für die
Bestimmung des nichtmittelbaren Zustands für jede ECU 1, 2, 3 beruhend
auf einer Datenübertragungsrate
der ECU 1, 2, 3 im mittelbaren Zustand
eingestellt wird. Sendet die ECU 1 Daten, wie Motordrehzahlinformationen,
alle 8 ms, kann die Schwellenwertzeit auf 80 ms eingestellt werden.
Das System kann so eingerichtet sein, dass es den mittelbaren Zustand
bestimmt, wenn die Daten von der ECU 1, 2, 3 gesendet
werden, nachdem der nichtmittelbare Zustand bestimmt ist.
-
Nach
Abschluss von Schritt S540 oder S570, oder wenn in Schritt S560
bestimmt wird, dass der Zählwert
Ej die Schwellenwertzeit nicht überschritten hat
(S560:NEIN), wird die Variable j um 1 inkrementiert (S580) und der
Ablauf kehrt zu Schritt S520 zurück.
Ist die Variable j größer oder
gleich der Prioritätsstufe
n, das heißt,
die durch die Variable j ausgedrückte
Prioritätsstufe
ist kleiner oder gleich der Prioritätsstufe n (S520:JA), werden
die Schritte S590–S630
auf die gleiche Weise wie die Schritte S210–S250 im ersten Ausführungsbeispiel
durchgeführt,
und dieser 1ms-Vorgang ist abgeschlossen. Bei diesem 1ms-Vorgang
wird bestimmt, ob eine ECU 1, 2, 3 mit
höherer
Priorität
als die Prioritätsstufe n
vorhanden ist, die keine Daten senden kann.
-
Nachstehend
wird ein Vorgang zum Empfangen der VIN-Kodesendeanforderung vom Prüfgerät 50 unter
Bezugnahme auf 11 beschrieben. Beim Empfang
der VIN-Kodesendeanforderung
vom Prüfgerät 50 führt die
ECU 1, 2, 3 Schritte S710–S720 auf die
gleiche Weise wie die Schritte S110 und S120 des ersten Ausführungsbeispiels
durch. Dann weist sie den Vorgabewert Tn0 (n = 1, 2, 3) der für jede ECU 1, 2, 3 voreingestellten
Antwortstartzeit einer Variabler Tn zu, die ihre Antwortstartzeit
ausdrückt.
Der Vorgabewert Tn0 wird auf den gleichen Wert wie die Antwortstartzeit
Tn des ersten Ausführungsbeispiels
eingestellt.
-
Eine
Variable k wird auf einen Vorgabewert 1 eingestellt (S740).
Es wird bestimmt, ob die Variable k größer oder gleich der Prioritätsstufe
n ist (S750). Ist die Variable k kleiner als die Prioritätsstufe
n, dass heißt,
die durch die Variable k ausgedrückte
Prioritätsstufe
ist höher
als die Prioritätsstufe
n (S750:NEIN), wird bestimmt, ob für die ECU 1, 2, 3 mit
der Prioritätsstufe
k in Schritt S570 bestimmt ist, dass sie sich im nichtmittelbaren
Zustand befand (S760). Wird für
die ECU mit Rang k bestimmt, dass sie sich im nichtmittelbaren Zustand
befunden hat (S760:JA), wird ein fester Wert α von der Antwortstartzeit Tn
subtrahiert (S770). Das heißt,
die Antwortstartzeit Tn wird um den festen Wert α verkürzt. Der feste Wert α ist auf
die Zeit eingestellt, die zum Abschluss der VIN-Kodesendung durch
die ECU erforderlich ist.
-
Wird
für die
ECU 1, 2, 3 mit der Prioritätsstufe
k bestimmt, dass sie sich im nichtmittelbaren Zustand befunden hat
(S760:NEIN), oder nach dem Abschluss von Schritt S770 wird die Variable
k um 1 inkrementiert (S780) und der Ablauf kehrt zu Schritt S750
zurück.
-
Ist
die Variable k größer oder
gleich der Prioritätsstufe
n, das heißt,
die durch die Variable k ausgedrückte
Prioritätsstufe
ist kleiner oder gleich der Prioritätsstufe n (S750:JA), ist der
Ablauf abgeschlossen. Bei diesem Ablauf wird die Antwortstartzeit
Tn entsprechend der Anzahl von ECUs 1, 2, 3 mit einer
Prioritätsstufe
höher als
n im nichtmittelbaren Zustand verkürzt. Die bei diesem Ablauf
bestimmte Antwortstartzeit Tn wird im in 10 gezeigten Schritt
S610 des 1ms-Vorgangs verwendet.
-
Ist
die ECU 1, 2, 3 mit höherer Prioritätsstufe im
nichtmittelbaren Zustand vorhanden, wird die Antwortstartzeit verkürzt, so
dass die Zeit, zu der der VIN-Kode nach Ausgabe der VIN-Kodesendeanforderung
durch das Prüfgerät 50 gesendet
wird, verkürzt
wird. Ferner kann die Verwendbarkeit der Kommunikationsleitung durch
Verringerung nicht erforderlicher Wartezeit verbessert werden. Auf
der Grundlage, ob die Zeit, während
der die ECU keine Daten gesendet hat, die vorbestimmte Schwellenwertzeit
erreicht, wird bestimmt, ob sich die ECU im nichtmittelbaren Zustand
befindet. So kann die Bestimmung des Datensendezustands der ECU
einfach durchgeführt
werden. Des Weiteren wird die Wartezeit effektiv verkürzt und
die Verwendbarkeit der Kommunikationsleitung wird effektiv verbessert,
da die Antwortstartzeit hinsichtlich der Anzahl der ECUs im nichtmittelbaren
bzw. nichtkommunizierbaren Zustand verkürzt wird.
-
Die
in 10 gezeigten Schritte S510 bis S580 und die in 11 gezeigten
Schritte S730 bis S780 entsprechen der Zeitverkürzungseinrichtung. Im in 11 gezeigten
Ablauf wird der feste Wert α von
der Antwortstartzeit Tn subtrahiert. Allerdings kann jede ECU eine
Vielzahl von Werten für
die Antwortstartzeit Tn vorab speichern und einen geeigneten Wert
unter diesen Werten beruhend auf der Anzahl und der Arten der ECUs
im nichtmittelbaren Zustand auswählen.
-
[Zweite Modifizierung
des ersten Ausführungsbeispiels]
-
Empfängt gemäß 12 die
ECU 1 und die ECUN (N = 2, 3, 4) die VIN-Kodesendeanforderung vom
Prüfgerät 50,
setzt jede ECU 1, 2, 3, 4 das VIN-Kodeanforderungsflag
VINReq auf EIN und startet das Zählen
der Zeit durch Aktivieren des Zeitgebers 1c, 2c, 3c, 4c.
Erreicht der Zeitzählwert
Tres des Zeitgebers 1c die Antwortstartzeit T1, startet
die ECU 1 den VIN-Kodesendevorgang und löscht den
Zeitgeber 1c.
-
Die
ECUN überwacht
den durch die andere ECU 2, 3, 4 durchgeführten Sendevorgang über die Kommunikationsleitung
L und sie initialisieren (löschen)
den Zählwert
Tres des Zeitgebers 2c, 3c, 4c, wenn
der Beginn des durch die ECU 1 durchgeführten Sendevorgangs erfasst
wird. Sendet die ECU 1 aufgrund von Rauschen Daten zum
Prüfgerät 50 nicht
erfolgreich, beginnt die ECUN mit dem Zählen der Zeit, wenn das Beenden
des durch die ECU 1 durchgeführten Sendevorgangs erfasst
wird.
-
Jede
ECU 1, 2, 3, 4 kann beruhend
auf den Inhalten des VIN-Kodes in den gesendeten Daten des cs-Werts
bestimmen, ob der VIN-Kode von einer anderen ECU 1, 2, 3, 4 erfolgreich
gesendet wurde. 12 zeigt den Fall, dass der
Sendevorgang durch die ECU 1 gestartet wurde, aber das
VIN-Kodedatum nicht erfolgreich gesendet ist. Befindet sich die
ECU 1 im nichtmittelbaren Zustand, wird der VIN-Kodesendevorgang
durch die ECU 1 selbst dann nicht gestartet, wenn die Zeit
die Antwortstartzeit T1 erreicht. Infolgedessen setzt die ECUN das
Zählen
ohne Initialisierung des Zählwerts
Tres des Zeitgebers 2c, 3c, 4c fort.
-
Der
durch den MC 1a, 2a, 3a, 4a jeder
ECU 1, 2, 3, 4 zum Implementieren
der in 12 gezeigten Schritte durchgeführte Vorgang
wird unter Bezugnahme auf das in 13 gezeigte
Ablaufdiagramm beschrieben. Insbesondere wird der in 13 gezeigte
Ablauf zusätzlich
zum in 6 gezeigten Ablauf in der in 5 bis 8 des
ersten Ausführungsbeispiels
gezeigten Kommunikationsverarbeitung durchgeführt.
-
Wird
in einem in 13 gezeigten 1ms-Vorgang bestimmt,
dass das VIN-Kodeanforderungsflag VINReq EIN ist (S810:JA), wird
dann bestimmt, ob der Sendevorgang durch eine ECU 1, 2, 3, 4 durchgeführt wurde
(S820). Jede ECU 1, 2, 3, 4 ist
zum Starten des Sendevorgangs eingerichtet, wenn sie die VIN-Kodesendeanforderung
vom Prüfgerät 50 empfängt. Daher
kann die ECU 1, 2, 3, 4 bestimmen, ob
der Sendevorgang durch eine andere ECU 1, 2, 3, 4 gestartet
wurde, indem gesendete Daten auf der Kommunikationsleitung L erfasst
werden.
-
Wird
bestimmt, dass der Sendevorgang durch keine ECU 1, 2, 3, 4 gestartet
wurde (S820:NEIN), schließt
die ECU 1, 2, 3, 4 diesen 1ms-Vorgang
nach Durchführung
der Schritte S840 bis S870 auf die gleiche Weise wie der Schritte
S220 bis S250 des ersten Ausführungsbeispiels
ab. Wird bestimmt, dass der Sendevorgang durch eine andere ECU 1, 2, 3, 4 gestartet
wurde (S820:JA), schließt
die ECU 1, 2, 3, 4 diesen 1ms-Vorgang
nach Löschen des
Zählwerts
Tres des Zeitgebers 1c, 2c, 3c, 4c ab (S830).
-
Durch
Löschen
des Zählwerts
Tres beim Erfassen des Starts der VIN-Kodesendung kann eine Einschränkung beim Einstellen
der Antwortstartzeit Tn, das heißt, beim Einstellen der Zeit
mit Intervallen beseitigt werden, die länger als die für die VIN-Kodesendung
erforderliche Zeit sind. Infolgedessen erhöht sich die Flexibilität beim Einstellen
der Antwortstartzeit Tn für
jede ECU 1, 2, 3, 4. Der durch
jede ECU 1, 2, 3, 4 durchgeführte VIN-Kodesendevorgang
wird mit Intervallen gestartet, die zumindest länger als die Zeit T1 nach dem
Empfang der durch das Prüfgerät 50 ausgegebenen
VIN-Kodesendeanforderung
oder dem Abschluss des Sendevorgangs sind. Daher erfüllt das
System die Anforderung des Kommunikationsablaufs, dass ein bestimmter
Zeitabschnitt nach dem Abschluss der Datensendung bis zum Beginn
der nächsten
Datensendung vorgesehen sein muss.
-
Des
Weiteren setzt jede ECU 1, 2, 3, 4 das Zählen des
Zeitgebers 1c, 2c, 3c, 4c ohne
Löschen des
Zählwerts
Tres nach Ablauf der Antwortstartzeit fort, wenn sich die ECU mit
höherer
Priorität
im nichtmittelbaren Zustand befindet. Daher kann die Zeit zwischen
der Ausgabe der VIN-Kodesendeanforderung durch das Prüfgerät 50 und
dem Beginn der VIN-Kodesendung (Antwortwartezeit) verkürzt werden.
Durch Verkürzung
einer nicht erforderlichen Wartezeit kann die Verwendbarkeit der
Kommunikationsleitung L verbessert werden.
-
[Zweites Ausführungsbeispiel]
-
Gemäß 14 ist
das elektronische Fahrzeugsteuersystem 20 im Wesentlichen
wie das elektronische Fahrzeugsteuersystem 10 (1)
eingerichtet. Jede ECU 21, 22, 23, 24 enthält eine
Steuerbereichsnetz(CAN)-Treiber/Empfängereinrichtung als
Kommunikationseinheit (COM) 21b, 22b, 23b, 24b zur
Durchführung
einer Datenkommunikation gemäß CAN, was
ein übliches
Protokoll in einem fahrzeugeigenen Netz ist. Mit dieser Konfigurationsänderung
ist die durch einen MC 21, 22, 23, 24 jeder ECU 21, 22, 23, 24 durchgeführte Kommunikationsverarbeitung
von der durch die MCs 1a, 2a, 3a, 4a durchgeführten verschieden.
-
Das
elektronische Steuersystem 20 ist in einem Fahrzeug 100 installiert.
Es enthält
eine Motor-ECU 21, eine Getriebe-ECU 22, eine
Fahrsteuer-ECU 23 und eine Fahrzeugaufbau-ECU 24.
Die ECUs 21, 22, 23 und 24 steuern
jeweils einen Motor, ein Automatikgetriebe, ein Bremssystem und
eine Fensterstromversorgung oder Türverriegelungsstromversorgung.
-
Die
COM 21b, 22b, 23b, 24b jeder
ECU 21, 22, 23, 24 führt eine
Kommunikation unter Verwendung des CAN-Protokolls durch. Die COM 21b, 22b, 23b, 24b fügt einen
Identifikationskode (CANID), der jeder ECU 21, 22, 23, 24 zugeordnet
und zur Bestimmung einer Rangfolge verwendet wird, zu einem Header
eines gesendeten Rahmens hinzu. Weist die COM 21b, 22b, 23b, 24b den
Rahmen auf, beginnt sie unmittelbar mit dem Senden des Rahmens,
wenn die Kommunikationsleitung L nicht belegt ist. Ist die Leitung
L belegt, beginnt sie mit dem Senden des Rahmens, wenn die Leitung
L verfügbar
wird. Sind daher viele ECUs 21, 22, 23, 24 zum
Senden eines Rahmens bereit und beginnen mit dem Rahmensenden alle
auf einmal, wenn die Leitung L verfügbar wird, tritt eine Kollision
der Rahmen auf der Leitung L auf.
-
Tritt
eine derartige Rahmenkollision auf, wird in den CAN-Protokollen
eine Arbitrierungssteuerung unter Verwendung der CANID zum Entscheiden
aufgeführt,
welchem Rahmen Verarbeitungspriorität zu geben ist. Die Arbitrierungssteuerung
wird unter Verwendung eines Verfahrens durchgeführt, die nichtdestruktive,
bitweise Arbitrierung genannt wird.
-
Ein
Signalpegel auf der Leitung L ist entweder dominant oder rezessiv.
Werden dominante Signale und rezessive Signale durch eine Vielzahl
von ECUs 21, 22, 23, 24 gesendet,
ist der Signalpegel auf der Leitung L dominant. Logische Werte des
dominanten Pegels und des rezessiven Pegels sind jeweils 0 und 1.
-
Die
CANID hat einen 4 Bit-(11 Bit beim tatsächlichen CAN-Protokoll) Aufbau,
und drei ECUs 21, 22, 23 beginnen mit
dem Senden der Rahmen gleichzeitig, wobei die den Rahmen von der
ersten ECU 21, der zweiten ECU 22 und der dritten
ECU 23 zugeordneten CANIDs jeweils 0001B, 0010B, und 0100B
sind. Wird in diesem Fall das zweithöchstwertige Bit der CANID gesendet,
wird der Signalpegel auf der Leitung L dominant (0), selbst wenn
die Ausgabe der dritten ECU 23 rezessiv (1) ist. Infolgedessen
wird der dritten ECU 23 zu diesem Zeitpunkt keine Priorität zugeordnet,
und die dritte ECU 23 stoppt die Rahmensendung und tritt
in einen Datenempfangszustand ein. Wird das dritthöchstwertige
Bit der CANID gesendet, wird auf die gleiche Weise der Signalpegel
der Leitung L dominant, selbst wenn die Ausgabe der zweiten ECU 22 rezessiv
ist. Daher wird der zweiten ECU 22 zu diesem Zeitpunkt
keine Priorität
zugeordnet, und die zweite ECU 22 stoppt das Rahmensenden
und tritt in einen Datenempfangszustand ein. Somit wird der ersten
ECU 21 Priorität
zugeordnet und sie setzt das Senden des Rahmens fort.
-
Im
das CAN-Protokoll verwendenden Kommunikationssystem erlangt eine
ECU, die einen Rahmen mit dem kleinsten logischen Wert der CANID
gesendet hat, Priorität,
wenn eine Vielzahl von Rahmen zu einer Kommunikationsleitung gesendet
werden. Die logischen Werte der CANID sind in absteigender Reihenfolge
der ECU 21, ECU 22, ECU 23, ECU 24 eingestellt.
Das heißt,
die Prioritäten
sind in der Arbitrierungssteuerung der ECU 21, der ECU 22,
der ECU 23 und der ECU 24 in dieser Reihenfolge
zugeordnet.
-
Nachstehend
wird die Kommunikationsverarbeitung für die Fahrzeugidentifikationsinformationen
zwischen dem Prüfgerät 50 und
dem elektronischen Fahrzeugsteuersystem 20 beschrieben.
Werden gemäß 15 die
Verbindungseinrichtung 51 des Prüfgeräts 50 mit der Verbindungseinrichtung 11 verbunden
und die VIN-Kode-Sendeanforderungen zu
allen ECUs 21, 22, 23, 24 beruhend
auf der durch einen Bediener über
die Eingabeeinrichtung eingegebenen Eingabe ausgegeben, beginnen
die ECU 21, die ECU 22, die ECU 23 und
die ECU 24 mit den Empfangsvorgängen zum Empfangen der auf
die VIN-Kodessendeanforderungen
antwortenden Rahmen über
die Leitung L. Dann führt
jede ECU 21, 22, 23, 24 einen
VIN-Kodesendevorbereitungsvorgang zu
einem jeweiligen Zeitpunkt durch.
-
Im
VIN-Kodesendevorbereitungsvorgang liest jede ECU 21, 22, 23, 24 den
VIN-Kode aus ihrem nichtflüchtigen
Speicher 1c, 2c, 3c, 4c und
erzeugt den Rahmen zum Senden des VIN-Kodes. In 15 ist
der Grund dafür,
dass die für
den VIN-Kodesendevorbereitungsvorgang erforderliche Zeit von ECU
zu ECU verschieden ist, die Leistung jeder ECU 21, 22, 23, 24,
beispielsweise ein Steuertakt, und in der ECU 21, 22, 23, 24 verwendete
Programme.
-
Ist
der VIN-Sendevorbereitungsvorgang abgeschlossen, fordert jede ECU 21, 22, 23, 24 den
Beginn der VIN-Kodesendung
bei ihrem COM 21b, 22b, 23b, 24b an.
Durch diesen Vorgang startet der COM 21b, 22b, 23b, 24b das
Senden des VIN-Kodes, wenn die Leitung L verfügbar wird. Die ECU 22 und die
ECU 23 starten das Senden des VIN-Kodes gleichzeitig, und der Sendevorgang
der ECU 23 wird beruhend auf der Arbitrierung unter Verwendung
der CANIDs beendet, das heißt,
der Sendevorgang der ECU 23 wird beendet, da die Priorität bei der
Arbitrierung nicht gegeben wird. In diesem Fall beginnt der COM 23b der
ECU 23 mit dem Senden des VIN-Kodes, wenn die Leitung L
verfügbar
wird.
-
Die
ECU 22 sendet den VIN-Kode zum Prüfgerät 50. In diesem Fall
führen
andere ECUs 21, 23, 24 die Empfangsvorgänge zum
Empfangen der Rahmen der VIN Codesendung über die Leitung L durch. Wird
die erfolgreiche Übertragung
des VIN-Kodes bestätigt,
fordern die ECUs 21, 23, 24 ihren COM 21b, 23b, 24b zum
Beenden der VIN-Kodeübertragung
auf. Die ECU 22 führt
einen Sendeabschlussvorgang durch, wenn der VIN-Kode übertragen
wurde. Wird der VIN-Kode durch die ECU 22 nicht erfolgreich übertragen,
startet eine andere ECU 21, 23, 24 die
VIN-Kodesendung. Die ECU 21 beginnt mit dem Senden des
VIN-Kodes beruhend auf der Arbitrierung unter Verwendung der CANIDs.
Hat die ECU 21 den VIN-Kode nicht erfolgreich gesendet,
beginnt eine andere ECU 23, 24 mit dem Senden
des VIN-Kodes.
-
Die
durch den MC 21a, 22a, 23a, 24a jeder ECU 21, 22, 23, 24 durchgeführte Kommunikationsverarbeitung
wird unter Bezugnahme auf die in den 16 bis 18 gezeigten
Ablaufdiagramme beschrieben. Gemäß 16 wird
der Empfangsvorgang gestartet, wenn Daten (ein Rahmen) auf der Leitung
L erfasst werden. Wird der Empfangsprozess gestartet, wird bestimmt,
ob die erfassten Daten eine vom Prüfgerät 50 ausgegebene VIN-Kodesendeanforderung
darstellen (S910).
-
Wird
bestimmt, dass die erfassten Daten die VIN-Kodesendeanforderung darstellen (S910:JA), wird
ein VIN-Sendeüberprüfungsflag,
das angibt, dass der VIN-Kode erfolgreich durch eine andere ECU 21, 22, 23, 24 übertragen
wurde, zur Initialisierung gelöscht
(AUS) (S920). Dann wird ein VIN-Anforderungsverarbeitungsflag gesetzt
(S930), das angibt, dass die durch das Prüfgerät 50 ausgegebene VIN-Kodesendeanforderung
empfangen wurde, und dieser Vorgang ist abgeschlossen. Wird bestimmt, dass
die erfassten Daten nicht die VIN-Kodesendeanforderung darstellen
(S910:NEIN), wird bestimmt, ob es sich um eine VIN-Kodesendung durch
eine andere ECU 21, 22, 23, 24 handelt
(S940). Insbesondere wird bestimmt, ob es sich um eine VIN-Kodesendung
handelt, die erfolgreich abgeschlossen wurde.
-
Wird
bestimmt, dass die Daten die VIN-Kodesendung durch eine andere ECU 21, 22, 23, 24 darstellen
(S940:JA), wird das VIN-Sendeflag gesetzt (S950) und das VIN-Anforderungsverarbeitungsflag
gelöscht
(S960). Das VIN-Anforderungsverarbeitungflag
wird in Schritt S960 gelöscht,
damit die VIN-Kodesendung nicht redundant durchgeführt wird.
Es wird bestimmt, ob ein VIN-Sendestartflag EIN
oder AUS ist (S970). Das VIN-Sendestartflag gibt
an, dass ein Start der VIN-Kodesendung
bei dem COM 21b, 22b, 23b, 24b angefordert
ist.
-
Ist
das VIN-Sendestartflag aus, das heißt, der VIN-Kodesendestart ist nicht bei dem COM 21b, 22b, 23b, 24b angefordert
(S970:AUS), ist dieser Empfangsprozess abgeschlossen. Ist das VIN-Sendestartflag
ein, das heißt, der
VIN-Kodesendestart ist bei dem COM 21b, 22b, 23b, 24b angefordert (S970:NEIN),
wird ein VIN-Sendebeendigungsvorgang
zum Anfordern der Beendigung der VIN-Kodesendung bei dem COM 21b, 22b, 23b, 24b durchgeführt (S980).
Das VIN-Sendestartflag wird gelöscht und
dieser Empfangsvorgang ist abgeschlossen.
-
Wird
bestimmt, dass die Daten keine VIN-Kodesendung durch eine andere
ECU 21, 22, 23, 24 in Schritt
S940 darstellen (S940:NEIN), wird ein Empfangsvorgang durchgeführt (S1000),
der für die
erfassten Daten, beispielsweise Motordrehzahldaten geeignet ist.
Dann ist dieser Empfangsvorgang abgeschlossen.
-
Nachstehend
wird eine grundlegende Verarbeitung gemäß 17 beschrieben.
Diese grundlegende Verarbeitung wird in regelmäßigen Intervallen durchgeführt, die
für jede
ECU 21, 22, 23, 24 vorbestimmt
sind, beispielsweise jede 1 ms, alle 4 ms und 8 ms. Wird die grundlegende
Verarbeitung gestartet, wird bestimmt, ob das VIN-Anforderungsverarbeitungsflag
EIN oder AUS ist (S1010). Ist das VIN-Anforderungsverarbeitungsflag
AUS (S1010:AUS), ist diese grundlegende Verarbeitung abgeschlossen.
Ist das VIN-Anforderungsverarbeitungsflag EIN (S1010:EIN), wird
der VIN-Sendevorbereitungsvorgang zum Erzeugen eines Rahmens zum
Senden des VIN-Kodes durchgeführt
(S1020). Dann wird das VIN-Anforderungsverarbeitungsflag
gelöscht (S1030).
-
Es
wird bestimmt, ob das VIN-Sendeüberprüfungsflag
EIN oder AUS ist (S1040). Ist das VIN-Sendeüberprüfungsflag EIN (S1040:AUS),
wird das VIN-Sendestartflag auf EIN gesetzt (S1050). Dann wird eine Übertragung
des im VIN-Sendevorbereitungsvorgang
erzeugten Rahmens (S1020) zum Prüfgerät 50 beim
COM 21b, 22b, 23b, 24b angefordert (S1060).
Das heißt,
der Beginn der VIN-Kodesendung wird beim COM 21b, 22b, 23b, 24b angefordert.
Dann ist diese grundlegende Verarbeitung abgeschlossen. Ist die
Leitung L belegt, beginnt der COM 21b, 22b, 23b, 24b mit
der Übertragung
des Rahmens, wenn die Leitung L verfügbar wird. Wird die VIN-Kodeübertragung
durch eine andere ECU 21, 22, 23, 24 vor
der Übertragung
des Rahmens erfasst (S940), fordert die ECU 21, 22, 23, 24 die
VIN-Kodesendebeendigung
beim COM 21b, 22b, 23b, 24b an
(S980).
-
Ist
das VIN-Sendeüberprüfungsflag
in Schritt S1040 EIN (S1040:EIN), wird der VIN-Sendebeendigungsvorgang
zum Beenden der VIN-Kodesendung durchgeführt (S1070). Das VIN-Sendeüberprüfungsflag
wird gelöscht
(S1080), und dieser grundlegende Vorgang ist abgeschlossen. Das
VIN-Sendeüberprüfungsflag
ist in Schritt S1040 nach dem Vorgang von Schritt S1010 bei der
Durchführung
dieses grundlegenden Vorgangs auf EIN gesetzt, und das VIN-Sendeüberprüfungsflag
ist im Empfangsvorgang S950 auf EIN eingesetzt. Wird die VIN-Kodesendung
durch eine andere ECU während
der Durchführung
des VIN-Sendevorbereitungsvorgangs
(S1020) erfasst, geht der Ablauf zu Schritt S1070 über.
-
Nachstehend
wird ein Sendeabschlussvorgang unter Bezugnahme auf 18 beschrieben. Dieser
Sendeabschlussvorgang beginnt mit dem Abschluss der Daten-(Rahmen-)Übertragung.
Wenn der Sendeabschlussvorgang beginnt, wird überprüft, ob die gesendeten Daten
eine VIN-Kodesendung darstellen (S1110). Handelt es sich nicht um
einen Abschluss der VIN-Kodesendung
(S1110:NEIN), ist dieser Sendeabschlussvorgang abgeschlossen. Handelt
es sich um den Abschluss der VIN-Kodesendung (S1110:JA), wird das VIN-Sendestartflag
gelöscht
(S1120), und dieser Sendeabschlussvorgang ist abgeschlossen.
-
Bei
dem elektronischen Steuersystem 20 werden den ECUs 21, 22, 23, 24 keine
Prioritäten zum
Senden des VIN-Kodes zum Prüfgerät 50 zugeordnet.
Der VIN-Kode wird durch die ECU 21, 22, 23, 24 gesendet,
die den Sendevorbereitungsvorgang zuerst abgeschlossen hat. Kann
die ECU 21, 22, 23, 24 den VIN-Kode
nicht erfolgreich senden, senden andere ECUs 21, 22, 23, 24 den
VIN-Kode der Rangfolge nach. Daher antwortet das elektronische Steuersystem 20 auf
die durch das Prüfgerät 50 ausgegebene
VIN-Kodeanforderung ohne Fehler.
-
Jede
ECU 21, 22, 23, 24 überwacht
die Leitung L. Ist die VIN-Kodesendung durch eine andere ECU 21, 22, 23, 24 abgeschlossen,
beendet die ECU 21, 22, 23, 24 den
VIN-Kodesendevorgang
und sendet den VIN-Kode nicht. Daher ist die OBD-II-Anforderung,
dass die Anzahl der von einem Fahrzeug gesendeten VIN-Kodes eins
sein müssen,
erfüllt.
Der nichtflüchtige
Speicher 1d, 2d, 3d, 4d, der
COM 21b, 22b, 23b, 24b und der
MC 1a, 2a, 3a, 4a jeder ECU 21, 22, 23, 24 entspricht
jeweils der Speichereinrichtung, der Kommunikationseinrichtung und
der Erfassungseinrichtung.
-
Die
vorliegende Erfindung ist nicht auf die vorstehend beschriebenen
und in den Figuren gezeigten Ausführungsbeispiele beschränkt. Beispielsweise
sind die Motor-ECUs, die Getriebe-ECUs, die Fahrsteuer-ECUs und
die Fahrzeugaufbau-ECUs bei den vorstehenden Ausführungsbeispielen
als elektronische Steuereinheiten im elektronischen Fahrzeugssteuersystem
der Erfindung vorgesehen. Es können
auch andere elektronische Steuereinheiten zur Steuerung anderer
Komponenten des Fahrzeugs enthalten sein.
-
Des
Weiteren werden einer Vielzahl von ECUs bei den vorstehenden Ausführungsbeispielen Prioritäten zugeordnet.
Allerdings werden Prioritäten zugeordnet,
wie es für
einen Entwurf geeignet ist.
-
Ein
elektronisches Fahrzeugsteuersystem (10) enthält eine
Vielzahl elektronischer Steuereinheiten (ECUs) (1, 2, 3, 4),
mit denen ein Prüfgerät (50)
zu Diagnosezwecken verbindbar ist. Jede ECU (1, 2, 3, 4)
speichert einen Fahrzeugidentifikationsnummern(VIN)-Kode, der zum
Prüfgerät (50)
zur Bereitstellung verschiedener Arten von Informationen über ein
Fahrzeug (100) gesendet wird. Jeder ECU (1, 2, 3, 4)
wird eine Prioritätsstufe
zugeordnet, so dass die ECUS (1, 2, 3, 4)
den VIN-Kode der Rangfolge nach senden, wenn die ECU (1, 2, 3, 4)
mit der höheren
Priorität
den VIN-Kode nicht senden kann, wenn eine andere ECU (1, 2, 3, 4)
den VIN-Kode nicht gesendet hat. Des Weiteren überwacht jede ECU (1, 2, 3, 4)
eine Kommunikationsleitung (L), wenn sie eine VIN-Sendeanforderung
vom Prüfgerät (50)
empfangen hat, und erfasst eine Ausgabe, die angibt, dass der VIN-Kode
von einer anderen ECU (1, 2, 3, 4)
zum Prüfgerät (50)
gesendet wurde. Hat die ECU (1, 2, 3, 4)
die Ausgabe erfasst, beendet sie die VIN-Kodesendung und sendet
den VIN-Kode nicht zum Prüfgerät.