Ablauf der CAN Bus
Datenübertragung, Aufbau des CAN-BUS Datenprotokolls
Für die
Verschlüsselung einer Nachricht werden üblicherweise 8-Bit-Codes
verwendet. Je nach Art, wie die einzelnen Bytes einer Nachricht vom
Sender zum Empfänger übermittelt werden, wird zwischen paralleler
und serieller Übertragung unterschieden.
Unterschied zwischen
paralleler und
serieller
Datenübertragung
|
|
Bei der parallelen Datenübertragung
werden acht Bits gleichzeitig (parallel) vom Sender zum Empfänger
übermittelt. Hierzu ist jedoch ein Kabel mit acht parallel geführten
Leitungen notwendig.
Vorteil: Hohe
Übertragungsgeschwindigkeit
Nachteil: Hoher Verkabelungsaufwand
angewandt bei Computern
|
Die serielle Schnittstelle dient hauptsächlich der
digitalen Kommunikation zwischen den Steuergeräten.
Die zu übertragenden Daten werden bitweise nacheinander
(seriell) auf einer einzigen Leitung übermittelt.
Vorteil: Geringer
Verkabelungsaufwand
Nachteil: Langsamere Datenübertragung
angewandt beim CAN-Bus im
Kfz
|
Ablauf der
Datenübertragung
Jedes am CAN-Bus
angeschlossene Steuergerät verfügt über eine so genannte
Busanbindung. Diese besteht aus einem
Buscontroller und einem Transceiver.
Der Buscontroller koordiniert das Senden und
Empfangen von Daten über den Bus, sodass die CPU von diesen Aufgaben befreit
und somit nicht zusätzlich belastet wird. Damit der Datenaustausch über eine
gemeinsame Busleitung nicht in einem unkontrollierbaren Chaos endet, ist die
Einhaltung gewisser Kommunikationsregeln unerlässlich.
Diese Regeln sind
in einem Protokoll festgehalten. Der
Buscontroller sorgt
dafür, dass dieses Protokoll eingehalten wird. Ähnlich wie der Signalwandler
und die Endstufe des Steuergeräts sorgt der
Transceiver dafür, dass die Signale auf dem
Bus in für den Buscontroller lesbare Signale umgewandelt werden und
andersherum nur protokollkonforme Signale auf den Bus gesendet werden.
Buscontroller und Transceiver sind in der Regel zu einem Bauteil
zusammengefasst.
Controller |
Der CAN-Controller bekommt vom
Mikrocomputer im Steuergerät die Daten, die gesendet werden sollen. Er
bereitet sie auf und gibt sie an den CAN-Transceiver weiter. Die Daten
werden im Controller in eine hochfrequente Rechteckspannung (ca. 200 Hz)
umgewandelt und auf eine kleine Gleichspannung (z.B. 5V) moduliert. Der
Controller bekommt auch Daten vom CAN-Transceiver, bereitet diese
ebenfalls auf und gibt sie an den Mikrocomputer im Steuergerät weiter. |
Transceiver |
Bindeglied
zwischen Steuergerät und Datenbus. Der CAN-Transceiver ist ein Sender
(Transmitter) und ein Empfänger (Receiver). Er wandelt die Daten vom
CAN-Controller um und sendet sie in die Datenbusleitungen. Genauso
empfängt er die Daten und wandelt sie für den CAN-Controller um. |
Datenbus-Abschluss |
Der
Datenbus-Abschluss ist ein Widerstand, der verhindert, dass die
gesendeten Daten von den Enden als „Echo“ zurückkommen und die Daten
verfälschen. Auch die Diagnose wird durch diese Widerstände ermöglicht.
Sie verhindern eine sogenannte Rückkopplung. Häufig werden 120 Ω
verwendet. |
Datenbusleitungen |
Die
Datenbusleitungen sind bidirektional und dienen zum Übertragen der
Daten. Sie werden mit CAN-High (1) und CAN-Low (0) bezeichnet. Um
Störeinflüsse auf die Datenübertragung zu verhindern, werden die zwei
Datenbusleitungen miteinander verdrillt. Zugleich werden dadurch auch
Störabstrahlungen von der Datenbusleitung verhindert.
Eine zusätzliche Abschirmung (wie z.B. bei
Koaxialkabeln) ist nicht erforderlich.
Auf beiden Leitungen
ist die jeweilige Spannung entgegengesetzt, d.h. wenn die Spannung auf
der einen Leitung 5 V beträgt, dann beträgt sie auf der anderen 0 V und
umgekehrt.
Dadurch ist die Spannungssumme zu jeder Zeit
konstant und die elektromagnetischen Feldeffekte der beiden
Datenbusleitungen heben sich gegenseitig auf.
Für die Datenübertragung würde im Grunde nur
ein einadriges Kabel benötigt. Ein solcher Eindrahtbus ermöglicht
allerdings nur eine relativ geringe Übertragungsgeschwindigkeit.
Außerdem muss allen an den Eindrahtbus angeschlossenen Stationen die
elektrische Fahrzeugmasse zur Verfügung stehen. Daher reagiert ein
Eindrahtbus empfindlicher auf äußere elektrische Störimpulse.
Auch der LIN-Bus besitzt nur eine Datenleitung.
Aufgrund ihrer Eigenschaften werden Eindraht-Busse im Kfz nur als
Sub-Bus (z.B. für Klimaanlage oder Dachelektronik) eingesetzt.
Leider existiert keine einheitliche Farbgebung. Die
beiden Drähte können daher von Hersteller zu Hersteller unterschiedlich
gefärbt sein. |
|
|
Daten |
Beschreibung |
bereitstellen |
Die Daten werden dem CAN-Controller vom
Steuergerät zum Senden bereitgestellt. |
senden |
Der CAN-Transceiver bekommt vom
CAN-Controller die Daten, wandelt sie in elektrische Signale um und sendet
sie. |
übertragen |
In den CAN-Leitungen werden die
Spannungssignale an alle angeschlossenen Steuergeräte übertragen. |
empfangen |
Alle anderen
Steuergeräte, die mit dem CAN-Datenbus vernetzt sind, werden zu Empfängern. |
prüfen |
Die Steuergeräte prüfen, ob sie die
empfangenen Daten für ihre Funktionen benötigen oder nicht. |
übernehmen |
Sind die Daten wichtig, werden sie
übernommen und verarbeitet, ansonsten vernachlässigt. |
Datenprotokoll
Der CAN-Datenbus überträgt in kurzen Zeitabständen ein
Datenprotokoll zwischen den Steuergeräten. Das Datenprotokoll besteht aus einer
Vielzahl von aneinander gereihten Bits. Die Abbildung zeigt den Aufbau eines
Datenprotokolls („data frame“), das auf beiden Leitungen identisch ist.
Nr. |
Feldbezeichnung |
Beschreibung |
1 |
Anfangsfeld |
Kennzeichnet den Anfang einer Nachricht. |
2 |
Statusfeld |
Angabe der
Datenart und dessen Priorität.
Wollen z.B. zwei Steuergeräte gleichzeitig ihr Datenprotokoll senden, hat
das mit höherer Priorität Vorrang. (Identifier) |
3 |
RTR |
Kennzeichnet, ob Daten angefordert oder gesendet werden. |
4 |
Kontrollfeld |
Hier steht
die Anzahl der im Datenfeld stehenden Informationen.
So kann jeder Empfänger überprüfen, ob er alle Informationen empfangen hat. |
5 |
Datenfeld |
Dort sind
die Informationen für die anderen Steuergeräte enthalten. |
6 |
Sicherungsfeld |
Es dient
zur Erkennung von Übertragungsfehlern.
Wird ein Fehler erkannt, teilen sie dies dem Sender sofort mit. Daraufhin
wiederholt der Sender seine Übertragung. |
7 |
Bestätigungsfeld |
In diesem
Feld wird der korrekte Empfang vom Empfänger bestätigt. |
8 |
Endefeld |
Kennzeichnet das Ende einer Nachricht. |
9 |
Ruhezustand |
Ruhezustand
auf dem CAN-Bus bis zur nächsten Botschaft. |
Quellen: VW, BMW, Multiplikator
Lehrgang, BTZ Ingolstadt
Autor: Johannes Wiesinger
|
|