-
Die Erfindung betrifft ein Verfahren
zur Datenübertragung
im Datenbus eines Verkehrsmittels.
-
Bei der Datenübertragung zwischen Steuergeräten in einem
Verkehrsmittel über
einen Datenbus können
Daten auf ihrem Weg zum Empfänger
verfälscht
bzw. verändert
werden. Dies führt
zu einem Fehler in dem empfangenden Steuergerät, sofern von dem empfangenden
Steuergerät
nicht erkannt wird, dass es verfälschte
Daten empfangen hat.
-
Der Datenaustausch zwischen Steuergeräten auf
dem Datenbus wird über
ein Kommunikationsprotokoll, wie CAN(Controller Area Network), MOST
(Media Oriented Systems Transport), TTP (Time Triggered Protocol),
Ethernet, geregelt, welches beispielsweise die maximale Länge der
zu versendenden Nutzdaten bzw. des Datenpakets, die Adressierung,
das Format, die Sendeart usw. festlegt. Die Nutzdaten entsprechen
den zu versendenden Daten des Mikro-Controllers eines Steuergeräts ohne
die zur Versendung ebenfalls notwendigen Adressierungs- und Protokolldaten.
-
Die vom Steuergerät zu versendenden bzw. zu empfangenden
Nutzdaten werden vom Mikro-Controller zum Kommunikations-Controller
des Steuergeräts
und dann zur eigentlichen Sende/Empfangseinheit bzw. von der Sende-/Empfangseinheit zum
Kommunikations-Controller und dann zum Mikro-Controller des Steuergeräts übertragen.
-
Mittels des im Kommunikations-Controllers implementierten
Kommunikationsprotokolls erfolgt über die Sende-/Empfangseinheiten
das Versenden und Empfangen von Daten in Form von Datenpakten bzw.
Botschaften. Hierbei werden die zu versendenden Nutzdaten eines
Steuergeräts
mit Adressierungsdaten wie beispielsweise Botschaftsbezeichner oder
Steuergerät-Adresse
und mit Zusatzinformationen, wie beispielsweise Länge des
Datenstrings, Start und Ende der Botschaft, o.a. in einen definierten Botschaftsrahmen
gesetzt und als Datenpaket in dem Botschaftsrahmen versendet, welches
vom Empfänger
wieder aufgelöst
werden muss. Der Kommunikations-Controller sorgt hierbei für die kommunikationsprotokollkonforme
Erzeugung, Auflösung
und Überprüfung des
Bitstroms von und zum Mikro-Controller sowie von und zur Sende/Empfangseinheit.
-
Das Kommunikationsprotokoll ist unabhängig vom
Transportmedium des Datenbusses, also beispielsweise Glasfaserkabel,
drahtlose Datenübertragung
oder direkte Verdrahtung. Die Umsetzung auf das Transportmedium
erfolgt über
entsprechend ausgewählte
Sende-/Empfangseinheiten, welche direkt am Datenbus angeschlossen
sind, wie beispielsweise CAN-(Controller Area Network)-Bustreiber oder FOT
(Fibre Optical Transceiver).
-
In aktuell ausgeführten Steuergeräten sind Mikro-Controller
und Kommunikations-Controller aus Bauplatzgründen auf einem Chip als getrennte
Einheiten zusammengeführt.
-
Der "Cyclic Redundancy Check", auch zyklische
Blockprüfung
genannt, stellt ein Standardverfahren zur Fehlererkennung in Kommunikationsnetzwerken
dar. In der
DE 101
05 626 A1 sowie in den darin zitierten Verweisen werden
beispielhaft Verfahren zur Berechnung eines Blockprüfungscodes
wie beispielsweise Polynomdivision sowie Anwendungen der zyklischen
Blockprüfung
offenbart.
-
Das Verfahren der zyklischen Blockprüfung besteht
für den
sendenden Teilnehmer im Erstellen eines Blockprüfungscodes über die zu versendenden Daten
und dem Hinzufügen
des Blockprüfungscodes an
die zu versendenden Daten. Hierbei werden der Blockprüfungscode
sowie die Daten mittels derer der Blockprüfungscode erstellt wurde jeweils
an einer bestimmten Stelle im Botschaftsrahmen der Botschaft eingestellt,
so dass diese beiden Teile vom Empfänger entsprechend erkannt werden
können.
Der empfangende Teilnehmer trennt aufgrund der Byte-Position den
gesendeten Blockprüfungscode
von den gesendeten Daten, über
die der Blockprüfungscode
erstellt wurde. Der empfangende Teilnehmer erstellt selbst einen
Blockprüfungscode
und vergleicht diesen mit dem Empfangenen. Bei Nicht-Übereinstimmung
liegt ein Fehler vor. Vorraussetzung an dem Verfahren ist, dass
aufgrund der Bit- bzw. Byte-Position in der Botschaft erkannt werden
kann, welcher Teil dem gesendeten Blockprüfungscode bzw. welcher Teil
den Daten entspricht, über
die der gesendete Blockprüfungscode
ermittelt wurde.
-
Die zyklische Blockprüfung wird
beispielsweise im CAN-Bus über
das entsprechende CAN-Kommunikations-Protokoll eingesetzt. Der CAN-Bus
verbindet gleichberechtigte Stationen, wie beispielsweise Steuergeräte, über einen
seriellen Bus. Das CAN-Protokoll
ist in der ISO 11898 international genormt. Entsprechende Kommunikations-Controller
bzw. Bustreiberchips, in dem speziellen Fall auch CAN-Controller
genannt, sowie Sende/Empfangseinheiten, sogenannte CAN-Transceiver,
sind von mehreren Herstellern erhältlich. Weitere Informationen,
insbesondere Normen, zum CAN-Protokoll sind im Internet beispielsweise
unter
http://www.iso.org,
http://www.microcontrol.net/de/can,
http://www.can-cia.de,
http://www.sae.org
oder
http://www.kvaser.com/can abrufbar.
-
Im CAN-Protokoll werden die Daten
in Form von Botschaften mit fest definierten Botschaftsrahmen übertragen.
Um Fehler in der Kommunikation zu detektieren, ist im CAN-Protokoll
die zyklische Blockprüfung
auf Botschaftsebene implementiert. Die zyklische Blockprüfung im
CAN-Protokoll sichert die Information des Botschaftsrahmens, indem
sendeseitig der CAN-Botschaft redundante Prüfbits hinzugefügt werden.
Die Prüfbits
entsprechen dem Blockprüfungscode
und werden beispielsweise aus einer Polynomdivision über die
Bestandteile der CAN-Botschaft gebildet. Empfangsseitig werden diese
Prüfbits
aus den empfangenen Bits neu berechnet und mit den empfangenen Prüfbits verglichen.
Bei Nichtübereinstimmung
liegt ein Fehler in der Übertragung der
Botschaft von CAN-Controller zu CAN-Controller vor.
-
Die zyklische Blockprüfung im
Botschaftsrahmen überprüft die korrekte
Versendung der gesamten CAN-Botschaft. Ob der Inhalt der CAN-Botschaft
korrekt ist wird nicht überprüft.
-
Damit werden Fehler des Kommunikations-Controllers
oder des Mikro-Controllers eines Steuergeräts oder Fehler in der Kommunikation
zwischen Mikro-Controller und Kommunikations-Controllers eines Steuergeräts über die
zyklische Blockprüfung
im Kommunikations-Controller nicht detektiert.
-
Ein Fallszenario für einen
derartigen Fehler sieht folgendermaßen aus: Der Mikro-Controller
eines Steuergeräts
sendet seine Nutzdaten an seinen Kommunikations-Controller zur Versendung
weiter. Ein Fehler in der Übermittlung
vom Mikro-Controller zum Kommunikations-Controller oder ein defekter Kommunikations-Controller des Steuergeräts verändert die
Nutzdaten beim Zusammenstellen der Botschaft, also noch vor der
zyklischen Blockprüfung. Die
zyklische Blockprüfung
wird korrekt mit den verän derten
Nutzdaten erstellt und der Botschaft beigefügt. Der Kommunikations-Controller
des empfangenden Steuergeräts
wird keinen Fehler detektieren, da die zyklische Blockprüfung keine
fehlerhaften Daten feststellen kann. Der Mikro-Controller des empfangenden
Steuergeräts
erhält
inkorrekte Nutzdaten, was zu einer Fehlfunktion des empfangenden
Steuergeräts
führt.
-
Um Fehler in der Übertragung vom Mikro-Controller
zum Kommunikations-Controller des Steuergeräts bzw. Fehler im Kommunikations-Controller
oder im Mikro-Controller zu detektieren werden heute zyklische Blockprüfungen ebenfalls
auf Mikro-Controller-Ebene,
also zusätzlich
zur zyklischen Blockprüfung
auf Kommunikationsprotokoll-Ebene, eingesetzt.
-
Hierzu werden die zu versendenden
Nutzdaten von dem Mikro-Controller
des sendenden Steuergeräts
durch eine zyklische Blockprüfung
abgesichert, wobei der Blockprüfungscode
zusätzlicher
Bestandteil der zu versendenden Nutzdaten wird. Der Mikro-Controller des empfangenden
Steuergeräts bildet
ebenfalls den zyklische Blockprüfungscode und
vergleicht diesen Wert mit dem empfangenen Wert. Ist der selbst
gebildete zyklische Blockprüfungscode
identisch mit dem Empfangenen, dann war die Übertragung vom Mikro-Controller
des sendenden Steuergeräts
zum Kommunikations-Controller des sendenden Steuergeräts sowie
die Übertragung
vom Kommunikations-Controller des empfagenden Steuergeräts zum Mikro-Controller
des empfangenden Steuergeräts
fehlerfrei. Dass die Übertragung
von Kommunikations-Controller zu Kommunikations-Controller fehlerfrei
erfolgte, wurde aufgrund der zyklischen Blockprüfung auf Kommunikations-Controller-Ebene
ermittelt.
-
Bei dieser Vorgehensweise werden
einige Fehler nicht erkannt. Beispielsweise kann es vorkommen, dass
die zu versendenden Nutzdaten und die zyklische Blockprüfung seitens
des Mikro- Controllers korrekt
erstellt und zusammen mit den Adressierungsdaten wie Adresse oder
Botschaftsbezeichner zum Senden an den Kommunikations-Controller übergeben
wurde. Durch einen Fehler im Kommunikations-Controller werden die
Daten im Botschaftsrahmen jedoch inkorrekt zusammengestellt.
-
Im Falle des CAN-Protokolls weist
eine CAN-Botschaft im Standard-Format ein "Arbitration Field" (Botschaftskennzeichnungs-Feld) auf. Dieses Feld
enthält
die Botschaftskennzeichnung bzw. Identifier (ID) zur Kennzeichnung
des Botschaftsinhalts. Nun kann beispielswiese verursacht durch
einen Bitkipper-Fehler des CAN-Controllers bezogen auf den Identifier
die CAN-Botschaft mit einem falschen Identifier versendet werden.
Der inkorrekte Identifier kann nicht mittels der zyklischen Blockprüfung des CAN-Controllers
ermittelt werden, da der Identfier ja korrekt im CAN-Protokoll übertragen
wurde. Der inkorrekte Identfier kann ebenfalls nicht mittels der
zyklischen Blockprüfung
des Mikro-Controllers ermittelt werden, da diese Prüfung sich
auf die versendeten Nutzdaten bezieht. Beide Überprüfungen ergeben also keinen
Fehler, so dass die versendeten Nutzdaten der CAN-Botschaft vom empfangenden
Steuergerät
eingesetzt werden, obwohl die Nutzdaten nicht dem Identifier entsprechen,
der vom sendenden Steuergerät
vergeben wurde. Dies kann unvorhersehbare Fehlfunktionen im empfangenden
Steuergerät
auslösen.
-
So können CAN-Botschaften mit falsch
gesetzten Identifiern für
das unvorgesehene Öffnen
der Hecklappe eines Kraftffahrzeugs, falsche Anzeigen und Warnhinweise
für den
Fahrer usw. verantwortlich sein.
-
Ein ähnliches Problem tritt auf,
wenn mehrere CAN-Busse über
Gateways zu einem Netzwerk zusammengeschalten sind. Innerhalb des
Netzwerks kann es vorkommen, dass ein Identifier mehrfach über die
CAN-Busse vergeben ist. Damit steht ein Identifier beispielsweise
in einem CAN-Bus für
Kilometerstandsdaten, während
derselbe Identifier in einem weiteren CAN-Bus Daten des Geschwindigkeitssensors
bezeichnet. Sind CAN-Busse, welche dieselben Identifier einsetzen,
durch einen Kurzschluß-Fehler
miteinander verbunden, kann vom Empfänger nicht erkannt werden,
von welchem CAN-Bus eine CAN-Botschaft stammt. Der Empfänger weiss
nicht welche Daten einer CAN-Botschaft mit diesem Identifier enthalten
sind. Eine Vergabe derselben Identifier auf CAN-Bussen in einem
Netzwerk würde
also im Falle eines Kurzschlusses zu einem unvorhersehbaren Verhalten
führen.
-
Es ist nun die Aufgabe der vorliegenden
Erfindung die Fehlererkennung im eingangs beschriebenen Verfahren
zu optimieren, um eine sichere Datenübertragung zu gewährleiseten.
-
Diese Aufgabe wird erfindungsgemäß durch die
Merkmale des Anspruchs 1 gelöst.
Danach wird von dem Mikro-Controller über die Daten, bestehend aus
Nutzdaten und korrespondierende Nachrichtenidentifikations- bzw.
Adressierungsdaten, ein zusätzlicher
Blockprüfungscode
mittels einer Blockprüfung ermittelt.
Der Blockprüfungscode
wird als Bestandteil der Daten an den Kommunikations-Controller übertragen.
Der zusätzliche
Blockprüfungscode
wird vom Mikro-Controller des empfangenden Steuergeräts überprüft.
-
Da die zusätzliche Blockprüfung über die
zu versendenden Daten zusammen mit den Adressierungsdaten erfolgt,
können
Fehler in der Kommunikation zwischen Mikro-Controller und Kommunikations-Controller sowie
Fehler im Kommunikations-Controller ermittelt werden. Das empfangende Steuergerät kann den
Fehler selbst detektieren. Beispielsweise können mit dem erfindungsgemäßen Verfahren
Bitkipper-Fehler im Kommunikations-Controller einfach festgestellt
werden.
-
Ein weiterer Vorteil des erfindungsgemäßen Verfahrens
ist, dass der zusätzliche
Blockprüfungscode
Bestandteil der zu versendenden Daten ist, welche an den Kommunikations-Controller übertragen werden.
Damit muss zur Anwendung des Verfahrens keine Änderung am Kommunikations-Protokoll
und damit am Kommunikations-Controller
ausgeführt werden.
-
Da die Nachrichtenidentifikations-
bzw. Adressierungsdaten in die Blockprüfung auf Mikro-Controller-Ebene
eingebunden sind, kann das empfangende Steuergerät den Absender verifizieren. Damit
ist die Information des Datenbus-Protokolls gesichert im Mikro-Controller
des empfangenden Steuergeräts
angekommen.
-
Die Nachrichtenidentifikationsdatum
ist beispielsweise im CAN-Protokoll
der Identifier einer Botschaft. Wenn hingegen die Kommunikation
in einem Datenbus-Protokoll über
die Adressierung des Empfängers
ausgeführt
wird, ist das Adressierungsdatum beispielsweise im Ethernet-Protokoll
eine Netzwerkadresse.
-
Die Erweiterung der in die Blockprüfung eingebunden
Adressierungsdaten ist insbesondere im CAN-Protokoll ein Vorteil,
da vom Empfänger
gesichert festgestellt werden kann von welchem Steuergerät und von
welchem Datenbussegment bzw. Netzsegment die Botschaft gesendet
wurde.
-
Das erfindungsgemäße Verfahren erlaubt auch Fehler
im Mikro-Controller
zu detektieren. Beispielsweise kann es im CAN-Protokoll vorkommen, dass der Mikro-Controller
in seiner Fehlfunktion falsche Botschaften, wie Botschaften mit
definierten Nutzdaten aber undefinierten Identifiern, versendet. Da
der Blockprüfungscode,
insbesondere bei zyklischer Blockprüfung, vom Mikro-Controller
des sendenden Steuergeräts
nicht erstellt werden kann, wird der Fehler erkannt.
-
Die Anpassung der Blockprüfungscode-Länge bzw.
der zyklischen Blockprüfung
an die Restfehlerwahrscheinlichkeit hat den Vorteil, dass auch bei längeren Datenpaketen
die Verifizierung durch die zyklische Blockprüfung noch gewährleistet
ist.
-
Es gibt nun verschiedene Möglichkeiten,
die Lehre der vorliegenden Erfindung in vorteilhafter Weise auszugestalten
und weiterzubilden. Dazu ist einerseits auf die untergeordneten
Ansprüche
und andererseits auf die nachfolgende Erläuterung einer Ausführungsform
zu verweisen. Es sollen auch die vorteilhaften Ausgestaltungen einbezogen
sein, die sich aus einer beliebigen Kombination der Unteransprüche ergeben.
-
Die Figur zeigt in schematischer
Darstellung eine Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens.
-
In der Figur ist ein Steuergerät 2 abgebildet, welches
einen Mikro-Controller 3 zur Ausführung der Steuergerätefunktion,
einen Kommunikations-Controller 4 zur Umsetzung des Kommunikations-Protokolls
und eine Sende-/Empfangseinheit 5 zur Anbindung an einen
Datenbus 1 aufweist.
-
Der Datenbus 1 ist als CAN-Bus
in einem Fahrzeug ausgebildet. Der Datenbus 1 verbindet mehrere
Steuergeräte 2 untereinander.
Der CAN-Bus 1 ist als serieller Bus ausgebildet, wobei
die Busleitung selbst eine symmetrische oder unsymmetrische Zweidrahtleitung
ist, die je nach Anforderung geschirmt oder ungeschirmt ausgelegt
wird.
-
Das Steuergerät 2 verfügt über einen
Mikro-Controller 3 zur Umsetzung der Steuergerätefunktionen.
Hierzu weist der Mikro-Controller 3 einen
Prozessor und entsprechenden Speicher auf. Sensoren und Aktoren
werden ebenfalls als Steuergeräte 2 verstanden.
Das Steuergerät 2 ist
hier als sogenanntes ESP(Elektronisches Stabilitäts Programm)-Steuergerät 2 ausgebil det,
welches die Fahrstabilität
des Fahrzeugs überwacht
und bei Bedarf über
Signale an die Motorsteuerung, die Bremsanlage etc. steuert.
-
Der Kommunikations-Controller 4 ist
als CAN-Controller 4 ausgebildet, auf dem das oben aufgeführte CAN-Protokoll
zur protokollkonformen Erzeugung, Auflösung und Überprüfung des Bitstroms von und
zum Mikro-Controller 3 sowie von und zur Sende/Empfangseinheit 5 hardewaremäßig umgesetzt
ist.
-
Im CAN-Protokoll werden die Daten
in Form von Botschaften mit fest definierten Botschaftsrahmen übertragen.
Der CAN-Botschaftsrahmen zur Übertragung
von Nachrichten auf dem Bus 1 besteht aus sieben Kennfeldern,
welche folgendermaßen aufgebaut
sind: Die CAN-Botschaft im Standard-Format beginnt mit dem Startbit "Start of Frame" (Start der Botschaft),
dem sich das "Arbitration
Field" (Botschaftskennzeichnungs-Feld)
anschließt;
dieses Feld enthält
den Identifier (ID) zur Kennzeichnung des Botschaftsinhalt. Das "Control Field" (Kontrollfeld) enthält die Anzahl
der im "Data Field" (Datenfeld) enthaltenen
Datenbytes. Dem "Data
Field", welches
eine Länge
von 0 bis 8 Byte aufweisen kann und die zu übertragenden Nutzdaten enthält, folgt
das "CRC Field" (Cyclic Redundancy
Check-Feld), welches als Rahmensicherung zur Erkennung von Bitfehlern
dient. Das "ACK
Field" (Empfangsbestätigungs-Feld)
enthält
ein Bestätigungssignal
aller Empfänger,
welche die Botschaft fehlerfrei empfangen haben. Mit dem "End of Frame" (Ende der Botschaft)
wird das Ende der Botschaft gekennzeichnet.
-
Die Sende-/Empfangseinheit 5 stellt
die elektrische Verbindung zwischen Steuergerät 2 und Datenbusleitungen
her. Diese elektrische Verbindung erfolgt über Steckkontakte.
-
Die Sende-/Empfangseinheit 5 ist
als CAN-Bustreiber 5, auch CAN-Transceiver 5 genannt, ausgebildet
und setzt den Logikpegel des CAN-Controllers 4 in einen
Busspannungspegel im Gegentaktsignal um. Bei der gewählten differentiellen
Zweidrahtübertragung
wird aus der Spannungspegeldifferenz auf den Datenbusleitungen das
Nutzsignal bestimmt. Hierzu können
die Spannungspegel des Signals symmetrisch oder asymmetrisch um
einen bestimmten Spannungswert geführt werden.
-
In dem erfindungsgemäßen Verfahren
zur sicheren Datenübertragung
in Datenbussen 1 eines Verkehrsmittels werden Steuergeräte 2 über einen Datenbus 1 verbunden,
Daten werden über
den Datenbus 1 mittels eines Datenbus-Protokolls ausgetauscht,
Nutzdaten und korrespondierende Adressierungsdaten werden von einem
Mikro-Controller 3 eines Steuergeräts 2 zur Versendung
bereitgestellt, wobei die Nutzdaten die zu versendenden Daten des Mikro-Controllers 3 ohne
Adressierungs- und Protokolldaten darstellen. Diese Daten werden
an einen Kommunikations-Controller 4 des Steuergeräts 2 übertragen,
wobei die Daten gemäß dem Datenbus-Protokoll
vom Kommunikations-Controller 4 bearbeitet werden und mittels
einer Sende-/Empfangseinheit 5 des Steuergeräts 2 über den
Datenbus 2 versendet werden.
-
Weiter wird von dem Mikro-Controller 3 über die
Daten, bestehend aus Nutzdaten und korrespondierende Adressierungsdaten,
ein Blockprüfungscode
mittels einer zyklische Blockprüfung
ermittelt. Der Blockprüfungscode
wird als Bestandteil der Daten an den Kommunikations-Controller 4 übertragen und
der Blockprüfungscode
wird vom Mikro-Controller des empfangenden Steuergeräts überprüft.
-
Das erfindungsgemäße Verfahren ist als Software
im Mikro-Controller 3 des
Steuergeräts 2 implementiert
und führt
folgende Schritte aus.
-
Der Mikro-Controller 3 des
ESP-Steuergeräts 2 erzeugt
Nutzdaten. Die Nutzdaten sind beispielsweise die Anforderung des
ESP-Steuergeräts 2 an
das Motor-Steuergerät
das Motormoment zu erhöhen.
Diese Nutzdaten werden in einen Datenstring mit der Länge von
sieben Byte bereitgestellt. In der Software des Mikro-Controllers 3 ist
hinterlegt mit welchem Identifier diese Botschaft über den CAN-Bus 1 übertragen
wird, damit diese als eine solche Anforderung von weiteren Steuergeräten erkannt werden
kann. Die Datenlänge
des Identifiers beträgt im
Standard-Format elf Bits und im erweiterten Format neunundzwanzig
Bits. Der Identifier bildet damit die Adressierungsdaten.
-
Die Mikro-Controller-Software führt eine
zyklische Blockprüfung über die
sieben Bytes Nutzdaten und den ein bis zwei Bytes des Identifiers
aus. Die zyklische Blockprüfung
wird mittels einer SAE(Society of Automotive Engineers)-Standard, den
SAEJ1850 Standard (http://www.sae.org), ermittelt. Hierbei wird
das Divisionspolynom x8 + x4 +
x3 + x2 + 1 eingesetzt.
Der resultierende Blockprüfungscode
hat eine Länge
von acht Bit.
-
Das Datenpaket, welches vom Mikro-Controller 3 zum
CAN-Controller 4 übermittelt
wird, besteht damit aus den ein bis zwei Byte für den Identifier und dem acht
Byte "Data Field", wobei sieben Byte
den Nutzdaten und ein Byte dem Blockprüfungscode entsprechen.
-
Dieses Datenpaket wird mittels des
gewählten
CAN-Protokolls über
den CAN-Controller 4 gemäß oben beschriebenen Verfahrens
aufbereitet und an die weiteren Steuergeräte übermittelt bzw. aufgrund der
Adressierung über
den Identifier auf den CAN-Bus 1 gelegt.
-
Der CAN-Controller des empfangenden Steuergeräts übergibt
das "Data Field" der Länge acht
Byte sowie weitere vom CAN- Protokoll
zur Verfügung
gestellte Informationen, insbesondere den Identifier, an den Mikro-Controller
des empfangenden Steuergeräts
weiter.
-
Der Mikro-Controller des empfangenden Steuergeräts separiert
aus dem "Data Field" aufgrund der Byte-Position
die sieben Byte Nutzdaten und den vom sendenden Steuergerät ermittelten Blockprüfungscode
ab. Der Mikro-Controller ermittelt mit derselben zyklischen Blockprüfung, der
auch vom sendenden Mikro-Controller 3 eingesetzt wurde,
den Blockprüfungscode über die
sieben Byte Nutzdaten und den ein bis zwei Bytes des Identifiers.
Bei Übereinstimmung
liegt kein Fehler vor. Die Nutzdaten sind nicht nur korrekt übermittelt,
sondern sie besitzen auch noch den korrekten Absender bzw. Identifier.
-
Ist der vom empfangenden Steuergerät gebildete
Blockprüfungscode
identisch mit dem Empfangenen, dann war die Übertragung vom Mikro-Controller 3 des
sendenden Steuergeräts
zum CAN-Controller
des sendenden Steuergeräts 2 sowie die Übertragung
vom CAN-Controller des empfagenden Steuergeräts zum Mikro-Controller des empfangenden
Steuergeräts
fehlerfrei. Dass die Übertragung
von CAN-Controller 4 zu CAN-Controller fehlerfrei erfolgt,
wird über
das "CRC-Field" des Botschaftsrahmens
mittels des CAN-Protokolls, also über die gesamte Botschaft, überprüft.
-
Das erfindungsgemäße Verfahren kann noch erweitert
werden, indem eine Steuergeräte-Identifikation
sowie eine Datenbus-Identifikation
zur zyklischen Blockprüfung
auf Mikro-Controller-Ebene
hinzugezogen wird. Hierbei werden also die Adressierungsdaten um
Steuergeräte-
und/oder Datenbus-Identifikation
erweitert. Diese Zusatzinformationen stehen auch dem empfangenden
Steuergerät bei
der Überprüfung zur
Verfügung.
-
Hierzu ist im erfindungsgemäßen Verfahren der
Mikro-Controller-Software
eine Kommunikationsmatrix bekannt gemacht worden, in der abgelegt
ist, welche Steuergeräte-Identifikation
welche Identifier versenden darf. Damit wird sichergestellt, dass
der Absender der Daten mit einem bestimmten Identifier dem in der
Kommunikationsmatrix hinterlegten Absender entspricht. Dies hat
den Vorteil, dass das empfagende Steuergerät sobald Identifier mehrfach vergeben
sind oder Identifier falsch gesetzt sind, die Daten selbsttätig prüfen kann.
Die Kommunikationsmatrix ist in der Mikro-Controller-Software jedes
Datenbusteilnehmers nicht veränderbar
im Programm abgelegt.
-
Sind mehrere Datenbusse über ein
Gateway miteinander verbunden, liegt ein Netzwerk vor, welches aus
mehreren Netzsegment besteht. In diesem Fall ist die Kommunikationsmatrix
für jeden
Datenbus bzw. jedes Datenbussegment individuell erstellt und mit
einer Datenbus-Identifikation für
den entsprechenden Datenbus bzw. das entsprechende Datenbussegment
versehen. Die Datenbusse bzw. Datenbussegmente sind physikalisch über ein
Gateway getrennt und werden unabhängig voneinander betrieben.
Eine Kommunikationsmatrix in einem Netzwerk, wobei das Netzwerk
aus mehreren Netzsegmenten besteht, verfügt damit über eine Netzsegment-Identifikation.
-
Die Adressierungsdaten welche zur
zyklischen Blockprüfung
einbezogen werden, müssen
an das jeweilige Protokoll angepasst sein. Bei Ethernet-Protokollen
wäre dies
beispielsweise die Ethernet-Adresse des sendenden und/oder des empfangenden
Teilnehmers.
-
Die zyklische Blockprüfung muss
an die Länge
der zu versendenden Datenblöcke
anpasst werden. Die Größe des Blockprüfungscodes
ist abhängig
von der Anwendung der maximal zulässigen Restfehlerwahrscheinlichkeit,
welche ensteht sobald die zu prüfende
Datenlänge
die Länge
des Blockprüfungscodes überschreitet.
Die Restfehlerwahrscheinlichkeit eines acht Bit Blockprüfungscodes
ist Null solange die Blocklänge
kleiner gleich acht Bit ist. Bei größeren Datenlängen würde man
beispielsweise einen 32-Bit Blockprüfungscode einsetzen.
-
Nicht dargestellte weiteren Anwendungen des
erfindungsgemäßen Verfahrens
schließen
Kommunikationsverfahren in Netzwerken ein, bei denen weitere Transportmedien
zum Einsatz kommen. Damit ist das Verfahren auch anwendbar auf Protokolle wie
MOST, FlexRay, TTP, USB, Ethernet usw. Für das Bussystem bzw. für das Busprotokoll
unerheblich, mit welchem Medium das Protokoll übertragen wird, da die Umsetzung
der Logiksignale des Kommunikations-Controllers 4 auf das
Busmedium 1 über die
entsprechend angepassten Sende-/Empfangseinheit 5 erfolgt.
-
Das erfindungsgemäße Verfahren kann unabhängig davon
eingesetzt werden, ob der Mikro-Controller 3 und der Kommunikations-Controller 4 als
Einheiten auf einem Baustein, beispielsweise einem Chip, oder verschiedenen
in beliebiger Art verbundenen Bausteinen ausgeführt ist. Ebenso kann das erfindungsgemäße Verfahren
eingesetzt werden, wenn der Kommunikations-Controller 4 nicht
als Hardware-Logikschaltung ausgebildet ist, sondern zur Erfüllung seiner
Funktionen einen Prozessor und entsprechenden Speicher aufweist.
-
Der Blockprüfungscode muss nicht über eine zyklische
Blockprüfung
ermittelt werden. Vielmehr kann der Blockprüfungscode von Daten beispielsweise
mittels einer Prüfsumme über die
Daten bestimmt werden. Für
ein Datenfeld der Länge
sieben Byte kann eine einfache 8-Bit Prüfsumme eingesetzt werden, in
der die sieben Byte Daten addiert werden und nur die niederwertigsten
acht Bit betrachtet werden.
-
- 1
- Datenbus
- 2
- Steuergerät
- 3
- Mikro-Controller
- 4
- Kommunikations-Controller
- 5
- Sende-/Empfangseinheit