-
Die Erfindung betrifft einen Fail-Silent-Datenbus mit zwischen jeweils zwei oder mehreren Busknoten ablaufender Datenkommunikation auf zwei parallelen Datenleitungen, und mit in jedem Busknoten einem Bustreiber für jede Datenleitung.
-
Der Terminus „Fail-Silent” ist aus dem Stand der Technik bekannt, sh. z. B.
WO 2001013230 A1 .
-
Ein derartiger Datenbus wird insbesondere bei sog. X-by-wire-Systemen eingesetzt. X steht dabei für brake (Bremse), steer (Lenkung), shift (Schaltung) usw.
-
Um die Sicherheits- und Verfügbarkeitsanforderungen (Totalausfallwahrscheinlichkeit < 10–9 pro Betriebsstunde) für derartige Systeme, z. B. ohne mechanische Rückfallebene zu erreichen, sind bereits die eingangs genannten 2-kanaligen oder auch als redundant bezeichneten Datenbussysteme zur Vernetzung von Sensoren (z. B. Bremspedalsensoren), Recheneinheiten (z. B. Steuergeräte zur Berechnung von Bremsfunktionen) und Aktuatoren (z. B. hydraulische oder elektromechanische Bremsaktuatoren) bekannt. Um die beiden Kanäle in der Sicherheitsbetrachtung auch effizient nutzen zu können, besteht die Anforderung, dass ein Einzelfehler im System nicht zu einem Totalausfall der Kommunikation über beide Kanäle führen darf.
-
Der Aufbau eines typischen Busknotens in einem solchen System zeigt 1 für ein Steuergerät, das einen derartigen Busknoten bildet.
-
Das mit ECU bezeichnete Steuergerät 1 ist mit seinen wichtigsten Komponenten für die Datenkommunikation gezeigt. Es sind dies ein Microcontroller (i. f. auch Host genannt) 2, ein Communication-Controller 3, Bustreiber 4 und 5 für die beiden Kanäle 6 (i. f. auch Kanal 1 genannt) und 7 (Kanal 2) sowie ein Energieversorgungsteil 8. Das Steuergerät arbeitet z. B. mit Sensoren und Aktuatoren zusammen, wie i. f. an Hand von 2 angedeutet ist.
-
Der Host 2 mit dem einzelnen Communication-Controller 3 bedient beide Kanäle 6 und 7 und ermöglicht so einen synchronen und eng aufeinander abgestimmten Buszugriff auf beide Kanäle 6 und 7. Dadurch ist es möglich die Rechenergebnisse eines Host gleichzeitig auf beiden Kanälen zu übertragen und eine Redundanz in der Datenübertragung zu erreichen. Eine Redundanz in der Sensor- oder Rechenfunktion kann üblicherweise dadurch erreicht werden, dass das ganze Steuergerät (ECU) 1 dupliziert wird (hier nicht dargestellt).
-
Bei einer Fehlerbetrachtung wird davon ausgegangen, dass ein einzelner Halbleiterbaustein eine „fault region” (Bereich, in dem beliebige Auswirkungen eines Einzelfehlers nicht verhindert werden können) darstellt. Damit bei dem o. g. Steuergeräte-Aufbau aus einem Einzelfehler in einem Communication Controller, z. B. ein Logikfehler, der zum ständigen Senden des Communication Controllers auf beiden Kanälen führt („babbling idiot”), nicht zum Erliegen der Kommunikation auf beiden Kanälen kommt, ist es bei zeitgesteuerten Buszugriffsverfahren bekannt, sog. Busguardians einzusetzen. Bei derartigen Verfahren besitzen alle Busteilnehmer oder zumindest eine definierte Anzahl davon eine hinsichtlich Beginn und Dauer fest vorgegebene Sendezeit.
-
Die Busguardians können entweder in den Bustreibern integriert, in der ECU als eigener Baustein oder bei Sterntopologien auch im Sternkoppler ausgeführt sein, um den Buszugriff eines Communication Controllers auf bestimmte Zeitbereiche zu beschränken und bei Fehlzugriffen den Zugriff komplett zu sperren. Damit wird die Anforderung erfüllt, dass ein einzelner Fehler nicht zu einem Totalausfall der Datenkommunikation führt.
-
Eine Beispielarchitektur für ein Steuergerät 1' analog zu 1 zeigt 2.
-
Jedem Bustreiber ist eine als Busguardian 9 und 10 bezeichnete Steuereinrichtung zugeordnet, um den Zugriff des Steuergeräts 1' auf die beiden Kanäle 6 und 7 nur zu den für dieses Steuergerät vorgesehenen Sendezeiten zuzulassen. Wesentliches Merkmal des Busguardian ist die Eigenschaft, den Beginn der Kommunikation über die Kanäle und die maximale Dauer der Kommunikation festzulegen. Im einfachsten Fall ist der Busguardian ein Zeitschalter mit definiertem Ein- und Ausschaltzeitpunkt.
-
Aber auch andere Ausführungsformen sind möglich, beispielsweise in Form eines Bitstromzählers mit definiertem Aktivierungszeitpunkt. Dabei hängt der Ausschaltzeitpunkt vom tatsächlichen Bitstrom ab. Der Bitstromzähler ist aber so eingestellt, dass er im Extremfall am Ende der Sendezeit abschaltet.
-
Der Busguardian erfüllt eine komplexe Logikfunktion, die u. a. Statemachine-Funktionalität besitzt und ein aufwändiges Management von flüchtigen oder nicht-flüchtigen Konfigurationsspeicherumfängen ausführt.
-
Bei Integration der Busguardian-Funktionalität in die Bustreiber ergibt sich der Nachteil, dass die Halbleitertechnologie zur Herstellung der Bustreiber zwar Analogfunktionen, wie für Bustreiber notwendig, sehr effizient, d. h. mit kleiner Chipfläche, realisieren kann, Logik- und Speicherfunktionen aber nur ineffizient und damit chipflächen- und kostenintensiv zu realisieren sind. Auch eine Realisierung der Bustreiber und Busguardian-Funktionalität in zwei getrennten Bausteinen in der jeweils günstigsten Halbleitertechnologie sind nicht zielführend, da hier zusätzliche Packagingkosten für den zweiten Baustein notwendig sind.
-
Wie in 2 dargestellt, werden die beiden Busguardians 9 und 10 des Steuergerätes 1' über eine mit „Konfiguration/Status” bezeichnete Verbindung vom Microcontroller 2 konfiguriert, um den Buszugriff des Communication Controllers 3 auf den entsprechenden Kanal 6 bzw. 7 zum richtigen Zeitpunkt zuzulassen. Dies birgt die Gefahr, dass bei Fehlern in diesen Konfigurationsdaten, die entweder durch Fehler in den Konfigurationsdaten selbst oder durch Fehler im Microcontroller 2 entstehen, die Busguardians 9 und 10 den Buszugriff des Communication Controllers 3 nicht zu den richtigen Zeitpunkten zulassen, und dadurch eine Kommunikation des Steuergerätes 1' über keinen der beiden Kanäle 6 und 7 mehr möglich ist.
-
Das Dokument
DE 199 44 597 A1 offenbart ein Netzwerk mit mehreren Netzknoten welches dadurch gekennzeichnet ist, dass wenigstens ein Teil der Netzknoten über wenigstens einen Sternknoten direkt miteinander gekoppelt sind, dass der Sternknoten mehrere Sternschnittstellen enthält, die wenigstens einem Netzknoten zugeordnet sind, und dass eine Sternschnittstelle jeweils in Abhängigkeit von einem Pilotsignal zur Weiterleitung einer Nachricht von dem zugeordneten Netzknoten zu den anderen Sternschnittstellen oder von einer anderen Sternschnittstelle zu wenigstens einem der zugeordneten Netzknoten vorgesehen ist.
-
Das Dokument
DE 101 48 325 A1 offenbart einen zentraler Knoten eines Datenbussystems mit einer Buswächtereinheit, die Empfangsmittel zum Erfassen der Signale auf dem Datenbus und Auswertungsmittel aufweist, die bei einer Fehlkommunikation auf dem Datenbus den verursachenden Teilnehmer für eine Kommunikation auf dem Datenbus zumindest zeitweise sperren oder dessen durch die Störeinflüsse ausgelöste Fehlkommunikation kompensieren, wobei die Buswächtereinheit Zeiterfassungsmittel aufweist, die auf Zeitmuster des Datenbusses zum Senden jedes Teilnehmers getriggert sind, um eine Fehlkommunikation eines Teilnehmers zu erkennen, wenn dieser außerhalb der für diesen vorgesehenen Zeitmuster sendet, wobei die Buswächtereinheit integriert in den zentralen Busknoten vorgesehen ist und an dem zentralen Knoten mehrere Buszweige von unterschiedlichen Teilnehmern zusammengeführt sind, so dass die Buswächtereinheit mehrere Teilnehmer auf Fehlkommunikation prüfen kann, dadurch gekennzeichnet, dass in den zentralen Knoten neben der Buswächtereinheit eine Diagnoseeinheit integriert ist, die die Buswächtereinheit hinsichtlich einer regelmäßigen Retriggerung auf die Zeitmuster, überwacht, so dass die Buswächtereinheit bei fehlender Retriggerung außer Funktion setzbar ist.
-
Der Erfindung liegt die Aufgabe zugrunde, einen Fail-Silent-Datenbus zu schaffen, der kostengünstig aufgebaut ist und dessen Teilnehmer zuverlässig an der Datenkommunikation teilnehmen können.
-
Diese Aufgabe ist erfindungsgemäß bei einem Fail-Silent-Datenbus mit den Merkmalen des Patentanspruchs 1 gelöst. Vorteilhafte Weiterbildungen des erfindungsgemäßen Fail-Silent-Datenbus sind Gegenstand der weiteren Patentansprüche.
-
Der erfindungsgemäße Fail-Silent-Datenbus zeichnet sich dadurch aus, dass über die beiden Kanäle eine redundante Datenübertragung erfolgt und dabei in jedem Busknoten ein einziger Busguardian vorgesehen ist. Die Anzahl der Busguardians ist gegenüber dem in 2 dargestellten Aufbau eines Busknotens halbiert.
-
Ein Einzelfehler im System kann nicht zu einem Totalausfall der Kommunikation auf beiden Kanälen führen. Dies wird an Hand von einzelnen speziellen Fehlerfällen erläutert. Bei einem Logikfehler in einem Communication Controller wird nur der Kanal gestört, der nicht durch den Busguardian geschützt ist. Dieser Fehlerfall ist äquivalent zu Fehlerfällen, die einen Ausfall dieses Kanals zur Folge haben, z. B. ein Masseschluss einer Busleitung dieses Kanals oder Kurzschluss zwischen den Busleitungen dieses Kanals bei Bustopologien oder Ausfall eines Sternkopplers bei Sterntopologien.
-
Bei einem o. g., durch den Microcontroller verursachten Konfigurationsfehler wird zwar durch den Busguardian der Zugriff des Communication Controllers auf den durch den Busguardian geschützten Kanal unmöglich gemacht. Der Communication Controller kann aber nach wie vor auf den anderen Kanal zugreifen.
-
Durch den redundanten Aufbau der Datenübertragungskanäle und die Hinzunahme des Busguardians wird die Ausfallwahrscheinlichkeit der Datenkommunikation für den jeweiligen Busknoten und damit für das Gesamtsystem verringert. Gleichzeitig aber wird das durch den Busguardian und die dafür notwendige Konfiguration bzw. Steuerung mögliche besondere Ausfallrisiko wiederum verringert, indem die Datenkommunikation über die andere Datenleitung ohne Einfluss eines Busguardians erfolgt.
-
Die Erfindung wird im folgenden anhand bevorzugter Ausführungsbeispiele und der Zeichnung weiter beschrieben und erläutert. In der Zeichnung zeigen:
-
3 ein erstes Ausführungsbeispiel eines Busknotens für einen erfindungsgemäßen Fail-Silent-Datenbus,
-
4 für das Ausführungsbeispiel von 3 mehrere Busknoten in einem derartigen Datenbus, und
-
5 ein zweites Ausführungsbeispiel eines erfindungsgemäßen Fail-Silent-Datenbusses mit mehreren Busknoten entsprechend 3.
-
In 3 ist der Aufbau eines Busknotens in einem erfindungsgemäßen Fail-Silent-Datenbus an Hand eines Steuergeräts 1'' gezeigt.
-
Das Steuergerät 1'' ist mit seinen wichtigsten Komponenten für die Datenkommunikation gezeigt. Es sind dies wieder ein Microcontroller (Host) 2, ein Communication-Controller 3, Bustreiber 4 und 5 für die beiden Kanäle 6 und 7 sowie ein Energieversorgungsteil 8. Das Steuergerät arbeitet z. B. mit Sensoren und Aktuatoren zusammen.
-
Der Host 2 mit dem einzelnen Communication-Controller 3 bedient beide Kanäle 6 und 7 und ermöglicht so einen synchronen und eng aufeinander abgestimmten Buszugriff auf beide Kanäle 6 und 7. Dadurch ist es möglich die Rechenergebnisse des Hosts 2 gleichzeitig auf beiden Kanälen zu übertragen und eine Redundanz in der Datenübertragung zu erreichen.
-
Dem Bustreiber 4 ist ein Busguardian 9 zugeordnet, während der Bustreiber 5 eine derartige Kontrolleinrichtung nicht besitzt. Durch den Busguardian 9 wird sichergestellt, dass der Zugriff des Steuergeräts 1'' auf den Kanal 6 nur zu den für dieses Steuergerät vorgesehenen Sendezeiten erfolgt.
-
Bei einem Einzelfehler in dem Communication Controller 3, z. B. einem Logikfehler, der zum ständigen Senden des Communication Controllers auf beiden Kanälen führen würde (babbling idiot), erfolgt nicht das Erliegen der Kommunikation auf beiden Kanälen, da durch den Busguardian 9 der Zugriff des Steuergeräts 1'' auf den Kanal 6 nur während der definierten Sendezeit freigegeben wird und in dem angesprochenen Fehlerfall nur während dieser Sendezeit die Störung dieses Kanals durch den Communication Controller 3 erfolgt, während in der gesamten übrigen Zeit die Datenkommunikation auf dem Kanal 6 ungestört ist. Der Kanal 7 hingegen ist und bleibt so lange gestört, wie der Communication Controller 3 ununterbrochen sendet.
-
In 4 ist ausschnittsweise eine Datenbusarchitektur gezeigt, bei der mehrere Busknoten (Steuergeräte 11–13) analog zu 3 zusammenarbeiten. Jedes der Steuergeräte 11, 12 und 13 entspricht in seinem grundsätzlichen Aufbau dem Steuergerät 1'' von 3. Jedes Steuergerät ist an die redundanten Datenkanälen 6 und 7 angeschlossen. Dabei ist der Anschluss am Kanal 6 durch jeweils einen Busguardian abgesichert, während dies bei den Anschlüssen am Kanal 7 nicht der Fall ist. Für die Fehlerbetrachtung gilt das vorausgehend an Hand der einzelnen Steuergeräte 1, 1' und 1'' Gesagte.
-
Schließlich zeigt 5 einen Aufbau analog zu 4, bei dem ein redundanter Datenbus in Sterntopologie vorgesehen ist und bei dem die Busguardian-Funktionalität in einem der beiden Sternkoppler vorgesehen ist.
-
Die Busteilnehmer (= Busknoten/Steuergeräte) 14, 15 und 16 entsprechen in ihrem grundsätzlichen Aufbau dem des Steuergeräts 1 von 1, d. h., sie besitzen keine Busguardian-Funktionalität. Diese ist vielmehr am Eingang des einen Sternkopplers („Sternkoppler 1”) mittels der dort üblicherweise vorhandenen Bustreiber und einer für jeden der angeschlossenen Knoten vorgesehenen Busguardian-Funktionalität realisiert. Diese Busguardian-Funktionalität ist so ausgebildet, dass jeder angeschlossene Knoten nur während den für diesen Knoten vorgesehenen Zeitscheiben den Buszugriff erhält, d. h. senden darf. Damit wird zentral im Sternkoppler 1 das Zugriffsrecht für alle Knoten auf diesen Übertragungskanal erteilt.
-
Der andere Sternkoppler („Sternkoppler 2”) entspricht in seinem Verhalten dem üblicherweise vorgesehenen ohne Busguardian-Funktionalität und besitzt insoweit keine Besonderheit.
-
Durch die redundante Buskommunikation in Verbindung mit der bei nur einem Sternkoppler wirksamen Busguardian-Funktionalität wird genauso wie bei der in 4 gezeigten Bus-Architektur eine hohe Verfügbarkeit der Kommunikation für die einzelnen Steuergeräte und damit eine höhere Systemrobustheit bei geringstmöglichen Totalausfallwahrscheinlichkeiten gewährleistet.