Verfahren zur Übertragung von Nachrichten zwischen Busteilnehmern
Die Erfindung betrifft ein Verfahren zur Übertragung von Nachrichten zwischen Bus- teilnehmern mit den Merkmalen des Oberbegriffs von Patentanspruch 1.
In modernen Kraftfahrzeugen besteht zunehmend die Notwendigkeit, mehrere Busteilnehmer wie Steuereinheiten und Sensoren miteinander zu verbinden. Solche Steuereinheiten sind beispielsweise eine elektronische Motorsteuerung und die Steuerung eines Automatikgetriebes. Um für eine solche Steuereinheit bei einem Werkstattaufenthalt Fehler auszulesen, ist es aus der Offenlegungsschrift DE 39 34 974 A1 bekannt, als Diagnoseeinrichtung im Fahrzeug einen Diagnosebus anzuordnen. Eine Busleitung dient zur Übertragung von Kontrollsignalen und die andere Leitung ist als Statusleitung vorgesehen. Dadurch ergibt sich allein für die Diagnose ein erheblicher konstruktiver Aufwand.
Aus der DE 19837242 C ist ein Verfahren der eingangs genannten Art bekannt, bei dem ebenfalls über einen separaten Diagnosebus im Fehlerfall eine Datenübertragung stattfindet. Der Diagnosebus stellt einen redundanten Datenbus dar. Auch hier ist wie bei der DE 39 34 974 A1 ein erheblicher konstruktiver Aufwand zu verzeichnen. Darüber hinaus ist ein evtl. auftretender Fehler in der Datenübertragung in der Regel nicht erkennbar, da dann automatisch der Diagnosebus „einspringt". Wird wie bei der DE 39 34 974 A1 der Status der übertragenen Nachricht überprüft, ändert sich dieser im Fehlerfalle nicht.
Es ist ein Ziel der Erfindung, ein Verfahren zur Übertragung von Nachrichten zwischen Busteilnehmern eines Fahrzeugs bereitzustellen, die eine zuverlässige Diagnose einer Störung in der Datenübertragung gerade bei einer Datenübertragung zwischen zwei Busteilnehmern ohne besonderen Aufwand ermöglicht.
Dieses Ziel wird mit einem Verfahren zur Übertragung von Nachrichten erreicht, wie es im Patentanspruch 1 angegeben ist. Vorteilhafte Weiterbildungen der Erfindung sind in den weiteren Patentansprüchen angegeben.
In der vom Normalbetrieb verschiedenen Betriebsart kann mit Hilfe der Diagnoseeinrichtung der die Nachricht normalerweise empfangende Busteilnehmer gezielt veranlasst werden, die Nachricht auf den Kommunikationsbus auszugeben. Tut er dies nicht oder ist die Nachricht beschädigt, liegt eine Störung vor. Allerdings lässt sich dann noch nicht feststellen, wo die Störung vorliegt.
Zur Lokalisation der Störquelle kann ein dritter Busteilnehmer, der im Normalbetrieb an dieser Nachrichtenübertragung nicht beteiligt ist, im Diagnosebetrieb veranlasst werden, diese Nachricht aufzunehmen. Der Status dieser Nachricht für die drei Bus- teilnehmer wird anschließend ausgelesen. Besteht der Fehler im Sender, besitzen die beiden empfangenen Busteilnehmer denselben Status („keine Nachricht vorhanden"). Liegt der Fehler im Empfänger, besitzen die beiden Empfänger unterschiedlichen Status.
Das erfindungsgemäße Verfahren eignet sich besonders für eine bilaterale Nachrichtenübertragung. Für Nachrichten, die im Normalbetrieb zwischen mehr als zwei Busteilnehmern übertragen werden, ist in der vom Normalbetrieb verschiedenen Betriebsart die Hinzuziehung eines weiteren Busteilnehmers nicht mehr erforderlich. Hier genügt es, wenn der Status dieser Nachricht für alle an dieser Nachrichten- Übertragung beteiligten Busteilnehmer ausgelesen wird. Ein Fehler des Senders ändert den Nachrichten-Status der Empfänger nicht. Ein Fehler in einem Empfänger wird im unterschiedlichen Status dieses Empfängers gegenüber den anderen Empfängern erkennbar.
Anhand der Figur ist die Erfindung weiter erläutert.
Die Figur zeigt die typische Architektur eines Datenbussystems im Fahrzeug. Mit Hilfe des Datenbusses soll der Zustand eines Schalters 1 , der an einem Steuergerät 2 angeschlossen ist, einem weiteren Steuergerät 4 mitgeteilt werden. Die Steuerge- rate 2 und 3 sowie ein weiteres Steuergerät 4 sind an einem Kommunikationsbus 6 angeschlossen, ebenso ein Gateway 5. Über das Gateway 5 ist jedes Steuergerät 2, 3, 4 über einen Diagnose-Tester 8 ansprechbar.
Der Schalter 1 wird vom Steuergerät 2 eingelesen und die Schalterzustands- Information über das Bussystem an das Steuergerät 3, übermittelt. Vom Tester 8 kann der Zustand des Schalters vom Steuergerät 2 abgefragt werden. Außerdem kann der Status der über den Bus 6 übertragenen Nachricht vom Steuergerät 3 ab- gefragt werden.
Im Fehlerfall wird der Status des Schalters 1 im Steuergerät 2 richtig erkannt, im Steuergerät 3 aber nicht. Es ist damit nicht feststellbar, ob die Nachricht über den Zustand des Schalters 1 vom Steuergerät 2 nicht auf den Bus gelegt wird oder ob das Steuergerät 3 die Nachricht nicht richtig empfängt.
Erfindungsgemäß wird über das Gateway 5 eine Diagnoseeinrichtung (Tester 8) angeschlossen und ein Diagnosebetrieb eingestellt. Dabei wird das Steuergerät 3 gezielt nach der Nachricht des Steuergeräts 2 gefragt. Hat es diese empfangen und arbeitet es störungsfrei, legt es diese Nachricht auf den Kommunikationsbus . Der Tester empfängt die Nachricht und stellt fest, dass das Gesamtsystem ordnungsgemäß arbeitet.
Entsprechend kann bei mehreren Nachrichten, die auch von mehreren Sendern (Steuergeräte und dgl.) stammen, der bzw. die Empfänger veranlasst werden, die jeweils interessierende Nachricht auszugeben. Auf diese Weise kann das Gesamtsystem gezielt überprüft werden.
Tritt ein Fehler auf, der beim genannten Beispiel anhand der nicht bzw. unvollstän- dig vorhandenen Nachricht des Steuergeräts 2 erkennbar ist, wird das Steuergerät 4 veranlasst, die Schalterzustands-Nachricht ebenfalls zu empfangen. Über das Gateway werden die Nachrichtenstati der Steuergeräte 2 bis 4 abgefragt. Sind die Stati der Steuergeräte 3 und 4 gleich, liegt der Fehler im Steuergerät 2, sind sie verschieden (d.h. Steuergerät 4 und nicht Steuergerät 3 hat die Nachricht aufgenom- men), liegt der Fehler im Steuergerät 3.
Um bei Nachrichten, die von einem Steuergerät an mehrere Steuergeräte versandt werden, keinen zusätzlichen Aufwand für die Diagnosefunktion zu erzeugen, wer-
den für diese Diagnosefunktion idealer Weise die Steuergeräte benutzt, die die zu untersuchende Nachricht ohnehin empfangen.
Im Tester 6 muss dann eine Tabelle vorhanden sein, aus der hervorgeht, welche Signale von welchen Steuergeräten empfangen werden. Erhalten alle an sich anzusprechenden Steuergeräte keine Nachricht, liegt der Fehler im Sender, ansonsten in dem Empfänger, der im Gegensatz zu den anderen Empfängern keine Nachricht erhält.
Damit erhält man eine Möglichkeit, Signale in Bussystemen mit vorhandenen Werkstattmitteln und ohne großen Aufwand lückenlos zu verfolgen und den Fehlerort exakt einzugrenzen.