Übungsaufgaben zum CAN-Bus: Aufbau, Pegel, Arbitrierung, Telegramm, Fehlerbehandlung und Messung
https://bildung.social/@oerinformatik/
https://oer-informatik.de/can-bus-uebungsaufgaben
CAN-Bus, Abschlusswiderstand, dominant, rezessiv, Arbitrierung, Identifier, Bitstuffing, Fehlerzähler, CAN FD, CAN XL, Übungsaufgaben, Prüfungsvorbereitung
tl/dr; (Bearbeitungszeit insgesamt 51 min, mehrere Aufgaben): Zwei Übungsaufgaben zum CAN-Bus – vom Vergleich mit UART und SPI über Aufbau, Pegel, Abschlusswiderstände, Arbitrierung, Telegrammlänge und Leitungslänge in einem fahrerlosen Transportfahrzeug bis zu Bitstuffing, Bestätigung, Fehlerzählern, der Auswertung von Messungen bei der Fehlersuche und dem Vergleich von Classical CAN, CAN FD und CAN XL an einer elektrischen Kehrmaschine. Zu jeder Teilaufgabe lässt sich eine Beispiellösung einblenden [AI-Assisted]. (Zuletzt geändert am 11.11.2026)
Diese Übungsaufgaben gehören zum Artikel CAN-Bus: Bitübertragung, Arbitrierung, Telegramm, Fehlerbehandlung und Messung. Die Grundlagen der seriellen Übertragung stehen im Artikel Datenübertragung.
Hinweise zur Bearbeitung: Von EGS wird erwartet, dass ihnen Aufgaben auf Profilkompetenz-Ebene (Aufgabe 3.1) keine Probleme bereiten. Aufgaben auf Expertise-Ebene (Aufgabe 4.1) gehen darüber hinaus. Die Beispiellösungen sind immer gleich aufgebaut: Unter Geg. steht, was gegeben ist (bei mehreren Teilaufgaben gemeinsam in der ersten), unter Ges., was gesucht ist. Jede Formel steht zuerst in ihrer Grundform; Umstellungen sind Äquivalenzumformungen, deren Rechenschritt grau rechts neben dem senkrechten Strich steht (Division mit „:“). Einfache Formeln werden römisch nummeriert und ineinander eingesetzt („I in II“), längere Rechnungen nacheinander mit drei signifikanten Stellen. Ergebnisse stehen mit drei signifikanten Stellen doppelt unterstrichen, gerundete mit \approx; wurde mit gerundeten Zwischenergebnissen gerechnet, steht das Ergebnis ohne Rundung darunter. Rechne selbst ebenso mit Formel, eingesetzten Werten und Einheit. Bei „nennen“ genügen Stichworte, bei „beschreiben“, „erklären“ und „begründen“ antwortest Du in ganzen Sätzen. Schreib Deine Lösung zuerst vollständig auf, bevor Du die Beispiellösung einblendest.
Du möchtest eigene Aufgaben zum Üben von einem KI-Sprachmodell generieren lassen?
Kopiere den Text in ein KI-Sprachmodell Deiner Wahl und passe Kompetenzstufe, Anzahl, Bearbeitungszeit und Szenario bei Bedarf an. Wie die Aufgaben aufgebaut sind, beschreibt der Artikel Wie sind die Aufgaben aufgebaut?. Prüfe die Ergebnisse mit dem Lehrartikel: KI-Sprachmodelle machen Fehler.
Erstelle neue Übungsaufgaben zum Thema „CAN-Bus: Aufbau, Pegel,
Arbitrierung, Telegramm, Fehlerbehandlung und Messung“.
Bauplan: Halte Dich an Aufbau, Kompetenzstufen, Operatoren,
Anforderungsbereiche, Punkte und Zeitschätzung, die im Artikel
https://oer-informatik.de/aufgaben-aufbau beschrieben sind.
Fachliche Grundlage:
- https://oer-informatik.de/can-bus
- https://oer-informatik.de/datenuebertragung
- https://oer-informatik.de/feldbusse-aktorik
- https://oer-informatik.de/oszilloskop-messungen
- Stilbeispiel: https://oer-informatik.de/can-bus-uebungsaufgaben
Die Aufgaben sollen Inhalte zu diesen Schlagwörtern abdecken:
- CAN-Bus
- Abschlusswiderstand
- dominant
- rezessiv
- Arbitrierung
- Identifier
- Bitstuffing
- Fehlerzähler
- CAN FD
- CAN XL
Kompetenzstufe: Profilkompetenz (alternativ: Basiskompetenz, Kernkompetenz, Expertise)
Anzahl: 1 Aufgabe mit Teilaufgaben
Bearbeitungszeit in Minuten ca.: <5 bis 30 min>
Szenario: eines der Szenarien aus dem Bauplan
Vorgehen:
1. Lies zuerst die verlinkten Artikel. Kannst Du keine Webseiten
abrufen, sag mir das, statt zu raten.
2. Steht bei einer Angabe noch ein Platzhalter in <…>, frag mich
zuerst danach. Richte Punkte und Zahl der Teilaufgaben nach der
Bearbeitungszeit (ca. 0,9 min je Punkt).
3. Gib je Aufgabe Titel mit Kompetenzstufe, Ausgangssituation und
Teilaufgaben mit Operator und Punktzahl aus, dazu die geschätzte
Bearbeitungszeit.
4. Gib die Beispiellösungen mit Punkteverteilung erst aus, wenn ich
danach frage.
Aufgabe 3.1: CAN-Netz in einem fahrerlosen Transportfahrzeug (Profilkompetenz)
(ca. 24 min Bearbeitungszeit)
Ein Hersteller von fahrerlosen Transportfahrzeugen (FTF) für die Lagerlogistik verbindet fünf Steuergeräte über einen CAN-Bus mit 500\ \mathrm{kbit/s} (Basisformat, 11-Bit-Identifier): die Fahrsteuerung, das Batteriemanagementsystem (BMS), zwei Fahrantriebe und den Hubantrieb. Du nimmst das Netz am Prüfplatz in Betrieb.
a) Die Fahrsteuerung hat außerdem eine UART-Serviceschnittstelle zum Laptop und liest auf ihrer Platine einen Lagesensor über SPI aus. Unterscheide UART, SPI und CAN in einer Tabelle nach Leitungen, Takt, Teilnehmerzahl und Adressierung. (4 Punkte)
Geg.: FTF mit fünf Steuergeräten, CAN mit 500\ \mathrm{kbit/s}, Basisformat; UART-Serviceschnittstelle, SPI-Lagesensor
Ges.: Vergleich UART, SPI, CAN
Je Zeile 1 Punkt:
| Merkmal | UART | SPI | CAN |
|---|---|---|---|
| Leitungen | TX, RX, GND | SCLK, MOSI, MISO, CS je Slave, GND | CAN_H, CAN_L (verdrillt) |
| Takt | asynchron, Start- und Stoppbit | synchron, Takt vom Master | asynchron, Synchronisierung an den Flanken (Bitstuffing) |
| Teilnehmerzahl | 2 (Punkt-zu-Punkt) | 1 Master, mehrere Slaves | viele gleichberechtigte Knoten (Multi-Master) |
| Adressierung | keine | eigene Chip-Select-Leitung je Slave | keine Geräteadresse, Identifier kennzeichnet Inhalt und Priorität |
b) Beschreibe, wie die fünf Steuergeräte an den Bus angeschlossen werden (Struktur, Leitung, Abschluss), und begründe die Abschlusswiderstände. (3 Punkte)
Ges.: Anschluss der Steuergeräte, Begründung der Abschlusswiderstände
- Alle Steuergeräte hängen an einer Linie aus verdrillter Doppelader CAN_H/CAN_L; die Stichleitungen zu den Geräten sind möglichst kurz, keine Stern- oder Baumstruktur (1 Punkt).
- An den beiden Enden der Linie liegt je ein Abschlusswiderstand von 120\ \Omega zwischen CAN_H und CAN_L, in der Mitte keiner (1 Punkt).
- Begründung: Die Widerstände entsprechen dem Wellenwiderstand der Leitung und verhindern Reflexionen; außerdem ziehen sie die Adern nach einem dominanten Bit schnell auf den rezessiven Pegel zurück (1 Punkt).
c) Mit dem Oszilloskop misst Du gegen Masse in einer Bitzeit U_\mathrm{CAN\_H} = 3{,}62\ \mathrm{V} und U_\mathrm{CAN\_L} = 1{,}44\ \mathrm{V}, in der nächsten Bitzeit an beiden Adern 2{,}48\ \mathrm{V}. Berechne jeweils die Differenzspannung, ordne den Buspegel und den logischen Wert zu und erkläre, warum eine Störung, die beide Adern um 0{,}8\ \mathrm{V} anhebt, die Übertragung nicht stört. (4 Punkte)
Geg.: U_\mathrm{CAN\_H,1} = 3{,}62\ \mathrm{V}, U_\mathrm{CAN\_L,1} = 1{,}44\ \mathrm{V}; U_\mathrm{CAN\_H,2} = U_\mathrm{CAN\_L,2} = 2{,}48\ \mathrm{V}; Gleichtaktstörung 0{,}8\ \mathrm{V}
Ges.: Differenzspannungen, Buspegel, logischer Wert, Wirkung der Gleichtaktstörung
Grundform (je Bitzeit 1 Punkt mit Zuordnung):
U_\mathrm{diff} = U_\mathrm{CAN\_H} - U_\mathrm{CAN\_L}
U_\mathrm{diff,1} = 3{,}62\ \mathrm{V} - 1{,}44\ \mathrm{V} = \underline{\underline{2{,}18\ \mathrm{V}}}
Über 0{,}9\ \mathrm{V}: dominant, logisch 0.
U_\mathrm{diff,2} = 2{,}48\ \mathrm{V} - 2{,}48\ \mathrm{V} = \underline{\underline{0\ \mathrm{V}}}
Unter 0{,}5\ \mathrm{V}: rezessiv, logisch 1.
Gleichtaktstörung (2 Punkte): Die Störung hebt beide Adern gleich an, z. B. U_\mathrm{diff} = 4{,}42\ \mathrm{V} - 2{,}24\ \mathrm{V} = 2{,}18\ \mathrm{V}. Der Empfänger wertet nur die Differenz aus, sie bleibt unverändert; deshalb erkennt er dasselbe Bit. Die Verdrillung sorgt dafür, dass Störungen tatsächlich auf beide Adern gleich wirken.
d) Bei ausgeschalteten Steuergeräten misst Du zwischen CAN_H und CAN_L 121\ \mathrm{\Omega}. Berechne den Sollwert und beurteile das Messergebnis. (3 Punkte)
Geg.: R_\mathrm{mess} = 121\ \Omega; Abschlusswiderstände R_1 = R_2 = 120\ \Omega
Ges.: Sollwert R_\mathrm{ges}, Beurteilung
Beide Abschlüsse liegen parallel (2 Punkte):
R_\mathrm{ges} = \frac{R_1 \cdot R_2}{R_1 + R_2} = \frac{120\ \Omega \cdot 120\ \Omega}{120\ \Omega + 120\ \Omega} = \underline{\underline{60{,}0\ \Omega}}
Beurteilung (1 Punkt): Der Messwert entspricht etwa einem Abschlusswiderstand. Entweder fehlt ein Abschluss (z. B. nicht bestückt oder Stecker am Leitungsende nicht gesteckt) oder die Leitung ist zwischen den beiden Abschlüssen unterbrochen. Der Fehler muss vor der Inbetriebnahme behoben werden.
e) Das BMS (Identifier 0x0C8), die Fahrsteuerung (0x0CC) und der Hubantrieb (0x125) beginnen gleichzeitig zu senden. Bestimme, welcher Knoten die Arbitrierung gewinnt und bei welchem Identifier-Bit die beiden anderen aussteigen. Erkläre, warum dabei keine Daten verloren gehen. (4 Punkte)
Ges.: Gewinner der Arbitrierung, Ausstiegsbits, Begründung
Identifier binär, höchstwertiges Bit zuerst (1 Punkt):
| Knoten | ID | ID10 | ID9 | ID8 | ID7 | ID6 | ID5 | ID4 | ID3 | ID2 | ID1 | ID0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BMS | 0x0C8 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
| Fahrsteuerung | 0x0CC | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
| Hubantrieb | 0x125 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
- Der Hubantrieb sendet bei ID8 rezessiv (1), liest aber dominant (0) und steigt aus (1 Punkt).
- Die Fahrsteuerung sendet bei ID2 rezessiv und steigt aus (1 Punkt).
- Das BMS (kleinster Identifier, höchste Priorität) gewinnt und sendet sein Telegramm vollständig.
Kein Datenverlust (1 Punkt): Bis zum Ausstieg stimmen die Bits auf dem Bus mit denen des Gewinners überein; dominant überschreibt rezessiv ohne Störung. Das Telegramm des BMS wird also nicht verfälscht, die Verlierer werden Empfänger und senden nach dem Telegramm erneut.
f) Das BMS sendet alle 10\ \mathrm{ms} ein Datentelegramm mit 6 Datenbytes. Berechne die Länge des Telegramms einschließlich der Pause (IFS) ohne Stuffbits und mit der größtmöglichen Zahl an Stuffbits, die jeweilige Übertragungsdauer und den Anteil dieser Nachricht an der Buslast. (5 Punkte)
Geg.: 6 Datenbytes, Sendeintervall T = 10\ \mathrm{ms}, v_\mathrm{D} = 500\ \mathrm{kbit/s}; Basisformat: 44 Bit + 8 Bit je Datenbyte, IFS 3 Bit; Stuffbereich SOF bis CRC: 34 Bit + 8 Bit je Datenbyte
Ges.: Telegrammlänge n ohne und mit Stuffbits, Übertragungsdauer t, Buslast
Länge ohne Stuffbits (1 Punkt):
n_0 = 44\ \mathrm{Bit} + 6 \cdot 8\ \mathrm{Bit} + 3\ \mathrm{Bit} = \underline{\underline{95\ \mathrm{Bit}}}
Größtmögliche Zahl an Stuffbits: Der Stuffbereich umfasst 34 + 48 = 82 Bit; nach dem ersten Bit kann höchstens nach jedem vierten weiteren Bit ein Stuffbit folgen (1 Punkt):
n_\mathrm{S} = \frac{82 - 1}{4} = 20{,}25 \ \Rightarrow\ 20\ \text{(abgerundet)} \qquad n_\mathrm{max} = 95\ \mathrm{Bit} + 20\ \mathrm{Bit} = \underline{\underline{115\ \mathrm{Bit}}}
Übertragungsdauer, Grundform nach t umgestellt (2 Punkte):
\def\arraystretch{2.3} \begin{array}{rcl|l} v_\mathrm{D} & = & \dfrac{n}{t} & \color{gray}{\cdot t} \\ v_\mathrm{D} \cdot t & = & n & \color{gray}{:v_\mathrm{D}} \\ t_0 & = & \dfrac{n_0}{v_\mathrm{D}} = \dfrac{95\ \mathrm{Bit}}{500\,000\ \mathrm{Bit/s}} = \underline{\underline{190\ \mu\mathrm{s}}} & \\ t_\mathrm{max} & = & \dfrac{115\ \mathrm{Bit}}{500\,000\ \mathrm{Bit/s}} = \underline{\underline{230\ \mu\mathrm{s}}} & \end{array}
Buslast dieser Nachricht (1 Punkt):
\frac{t_0}{T} = \frac{190\ \mu\mathrm{s}}{10\ \mathrm{ms}} = \underline{\underline{1{,}90\ \%}} \qquad \frac{t_\mathrm{max}}{T} = \frac{230\ \mu\mathrm{s}}{10\ \mathrm{ms}} = \underline{\underline{2{,}30\ \%}}
g) Für einen Prüfplatz soll derselbe Bus über eine Leitung von insgesamt 160\ \mathrm{m} betrieben werden. Beurteile, ob 500\ \mathrm{kbit/s} beibehalten werden können, und nenne eine geeignete Bitrate. (3 Punkte)
Geg.: Leitungslänge l = 160\ \mathrm{m}, v_\mathrm{D} = 500\ \mathrm{kbit/s}, Signallaufzeit etwa 5\ \mathrm{ns/m}
Ges.: Beurteilung, geeignete Bitrate
- Bei der Arbitrierung muss das Bit des entferntesten Knotens innerhalb einer Bitzeit hin und zurück laufen und vor dem Abtastpunkt anliegen (1 Punkt).
- Bitzeit T_\mathrm{Bit} = 1 / 500\,000\ \mathrm{Bit/s} = 2\ \mu\mathrm{s}; allein die Leitung braucht hin und zurück 2 \cdot 160\ \mathrm{m} \cdot 5\ \mathrm{ns/m} = 1{,}6\ \mu\mathrm{s}, dazu kommen die Verzögerungen der Transceiver. Der Abtastpunkt liegt bei etwa 75 bis 87,5 % der Bitzeit, also bei rund 1{,}5 \ldots 1{,}75\ \mu\mathrm{s}. Das reicht nicht; der Richtwert für 500\ \mathrm{kbit/s} liegt bei etwa 100\ \mathrm{m}. 500\ \mathrm{kbit/s} können nicht beibehalten werden (1 Punkt).
- Geeignet sind 250\ \mathrm{kbit/s} (Richtwert bis etwa 250\ \mathrm{m}) oder weniger; alle Knoten müssen auf dieselbe Bitrate umgestellt werden (1 Punkt).
Aufgabe 4.1: Fehlersuche am CAN-Bus einer Kehrmaschine (Expertise)
(ca. 27 min Bearbeitungszeit)
Eine elektrische Kehrmaschine für den kommunalen Einsatz hat einen CAN-Bus mit 250\ \mathrm{kbit/s} (Basisformat), an dem Fahrsteuerung, Bürstenantrieb, Saugturbine, Batteriemanagement und ein Bedienpanel hängen. Nach einem Unfallschaden fällt die Maschine immer wieder mit Kommunikationsfehlern aus.
a) Der Bürstenantrieb sendet ein Telegramm mit dem Identifier 0x060 und 2 Datenbytes. Vom Startbit bis zum Ende des DLC lautet die Bitfolge vor dem Bitstuffing:
SOF Identifier RTR IDE r0 DLC
0 00001100000 0 0 0 0010
Ergänze die Stuffbits, notiere die Bitfolge, wie sie auf dem Bus erscheint, und gib die Zahl der Stuffbits an. (4 Punkte)
Geg.: v_\mathrm{D} = 250\ \mathrm{kbit/s}; Bitfolge SOF bis DLC: 0 00001100000 000 0010
Ges.: Bitfolge auf dem Bus, Zahl der Stuffbits
Nach fünf gleichen Bits folgt ein Bit mit umgekehrtem Pegel; das Stuffbit zählt zur nächsten Folge (je richtig gesetztes Stuffbit 1 Punkt, Anzahl 1 Punkt):
vorher: 0 0000 11 00000 000 00 10
auf Bus: 0 0000 [1] 11 00000 [1] 000 00 [1] 10
- SOF und ID10 bis ID7 sind fünf dominante Bits, danach Stuffbit 1. Es bildet mit ID6 und ID5 eine Folge von drei rezessiven Bits.
- ID4 bis ID0 sind wieder fünf dominante Bits, danach Stuffbit 1.
- RTR, IDE, r0 sowie DLC3 und DLC2 sind fünf dominante Bits, danach Stuffbit 1.
Aus 19 Bit werden \underline{\underline{22\ \mathrm{Bit}}}, es sind \underline{\underline{3\ \text{Stuffbits}}}.
b) In der Werkstatt hängt das neue Bedienpanel allein mit einem PC-CAN-Adapter im Modus „nur zuhören“ an einem korrekt abgeschlossenen Prüfkabel. Das Panel sendet sein erstes Telegramm immer wieder und meldet nach kurzer Zeit „fehlerpassiv“. Erkläre die Ursache mit dem Bestätigungsmechanismus. (3 Punkte)
Ges.: Ursache für Wiederholung und Zustand „fehlerpassiv“
- Der Sender sendet im ACK-Slot rezessiv. Jeder Empfänger, der das Telegramm fehlerfrei empfangen hat, sendet dort ein dominantes Bit (1 Punkt).
- Ein Adapter im Modus „nur zuhören“ sendet keine Bestätigung, und weitere Knoten gibt es nicht. Das Panel liest im ACK-Slot rezessiv, erkennt einen Bestätigungsfehler, sendet ein Fehlertelegramm und wiederholt das Telegramm (1 Punkt).
- Jeder Bestätigungsfehler erhöht den Sendefehlerzähler; nach mehreren Versuchen liegt er über 127 und das Panel wird fehlerpassiv. Abhilfe: einen zweiten aktiven Knoten anschließen oder den Adapter in einen Modus mit Bestätigung schalten (1 Punkt).
c) Beschreibe, wie ein Empfänger einen CRC-Fehler meldet und wie CAN sicherstellt, dass alle Knoten das fehlerhafte Telegramm verwerfen. (3 Punkte)
Ges.: Meldung eines CRC-Fehlers und Verwerfen bei allen Knoten
- Der Empfänger berechnet die Prüfsumme über die empfangenen Bits selbst und vergleicht sie mit dem CRC-Feld. Weichen sie ab, sendet er im ACK-Slot keine Bestätigung und nach dem ACK-Delimiter ein Fehlertelegramm (1 Punkt).
- Das aktive Fehlertelegramm besteht aus sechs dominanten Bits und verletzt damit absichtlich die Stuff-Regel bzw. das Format von EOF. Alle anderen Knoten erkennen dadurch ebenfalls einen Fehler, auch wenn sie selbst richtig empfangen haben (1 Punkt).
- Alle Knoten verwerfen das Telegramm, der Sender wiederholt es automatisch. So haben alle Knoten immer denselben Datenstand (1 Punkt).
d) Der Transceiver des Bürstenantriebs ist beschädigt: Jeder Sendeversuch endet mit einem Sendefehler, Erfolge gibt es nicht. Der Sendefehlerzähler steht anfangs auf 0. Berechne, nach wie vielen Fehlversuchen der Knoten fehlerpassiv und nach wie vielen er bus-off ist, beschreibe sein Verhalten in beiden Zuständen und berechne die Mindestzeit bis zu einem möglichen Neustart. (5 Punkte)
Geg.: TEC anfangs 0, jeder Sendefehler +8, keine Erfolge; fehlerpassiv bei \mathrm{TEC} > 127, bus-off bei \mathrm{TEC} > 255; v_\mathrm{D} = 250\ \mathrm{kbit/s}; Neustart nach 128 × 11 rezessiven Bits
Ges.: Zahl der Fehlversuche bis fehlerpassiv und bus-off, Verhalten, Mindestzeit bis zum Neustart
Fehlerpassiv (1 Punkt): Nach 15 Fehlversuchen ist \mathrm{TEC} = 15 \cdot 8 = 120 \le 127, nach 16 Fehlversuchen
\mathrm{TEC} = 16 \cdot 8 = 128 > 127 \quad\Rightarrow\quad \underline{\underline{16\ \text{Fehlversuche}}}
Bus-off (1 Punkt): Nach 31 Fehlversuchen ist \mathrm{TEC} = 248, nach 32 Fehlversuchen
\mathrm{TEC} = 32 \cdot 8 = 256 > 255 \quad\Rightarrow\quad \underline{\underline{32\ \text{Fehlversuche}}}
Verhalten (2 Punkte):
- fehlerpassiv: Der Knoten meldet Fehler nur noch mit sechs rezessiven Bits, die die anderen nicht stören, und wartet nach eigenem Senden zusätzlich 8 Bitzeiten. Er kann den Bus nicht mehr blockieren.
- bus-off: Der Knoten sendet und bestätigt nichts mehr; die übrigen Knoten arbeiten ungestört weiter, der Bürstenantrieb fällt aber aus.
Mindestzeit bis zum Neustart (1 Punkt):
t = \frac{n}{v_\mathrm{D}} = \frac{128 \cdot 11\ \mathrm{Bit}}{250\,000\ \mathrm{Bit/s}} = \frac{1408\ \mathrm{Bit}}{250\,000\ \mathrm{Bit/s}} = 5{,}632\ \mathrm{ms} \approx \underline{\underline{5{,}63\ \mathrm{ms}}}
Mit dem defekten Transceiver geht der Knoten danach sofort wieder in Fehler; die Ursache muss behoben werden.
e) Bei der Fehlersuche an verschiedenen Maschinen der Flotte notierst Du die folgenden Befunde. Ordne jedem Befund die wahrscheinliche Ursache zu. (8 Punkte)
| Nr. | Widerstand CAN_H–CAN_L (Bus aus) | Beobachtung bei laufendem Bus | Ursache |
|---|---|---|---|
| 1 | 119\ \mathrm{\Omega} | starke Überschwinger an den Flanken, rezessiver Pegel wird langsam erreicht | |
| 2 | 40{,}3\ \mathrm{\Omega} | Differenzspannung dominant nur etwa 1{,}4\ \mathrm{V} | |
| 3 | 0{,}4\ \mathrm{\Omega} | keine Differenzspannung, alle Knoten gehen in bus-off | |
| 4 | 60{,}2\ \mathrm{\Omega} | ein nachgerüstetes Bedienpanel erzeugt Fehlertelegramme; seine kürzesten Pulse dauern 2{,}0\ \mu\mathrm{s}, die der übrigen Knoten 4{,}0\ \mu\mathrm{s} |
Ges.: wahrscheinliche Ursache je Befund
Je Zeile 2 Punkte:
| Nr. | Widerstand CAN_H–CAN_L (Bus aus) | Beobachtung bei laufendem Bus | Ursache |
|---|---|---|---|
| 1 | 119\ \mathrm{\Omega} | starke Überschwinger an den Flanken, rezessiver Pegel wird langsam erreicht | Ein Abschlusswiderstand fehlt (oder Leitung zwischen den Abschlüssen unterbrochen); Reflexionen am offenen Leitungsende |
| 2 | 40{,}3\ \mathrm{\Omega} | Differenzspannung dominant nur etwa 1{,}4\ \mathrm{V} | Drei Abschlüsse parallel (120\ \Omega / 3 = 40\ \Omega), z. B. ein Gerät mitten im Bus mit zugeschaltetem internen Abschluss; die höhere Last verkleinert die Differenzspannung |
| 3 | 0{,}4\ \mathrm{\Omega} | keine Differenzspannung, alle Knoten gehen in bus-off | Kurzschluss zwischen CAN_H und CAN_L, z. B. gequetschte Leitung am Unfallschaden |
| 4 | 60{,}2\ \mathrm{\Omega} | ein nachgerüstetes Bedienpanel erzeugt Fehlertelegramme; seine kürzesten Pulse dauern 2{,}0\ \mu\mathrm{s}, die der übrigen Knoten 4{,}0\ \mu\mathrm{s} | Leitung und Abschluss in Ordnung; das Panel arbeitet mit falscher Bitrate: 1/2\ \mu\mathrm{s} = 500\ \mathrm{kbit/s} statt 1/4\ \mu\mathrm{s} = 250\ \mathrm{kbit/s} |
f) Ein neuer Kehrgutsensor soll alle 20\ \mathrm{ms} einen Datenblock von 48 Byte übertragen. Berechne für Classical CAN die Zahl der nötigen Telegramme, ihre Übertragungsdauer ohne Stuffbits und die zusätzliche Buslast. Unterscheide anschließend Classical CAN, CAN FD und CAN XL nach Nutzdatenlänge und Datenrate und begründe, welche Variante für die nächste Maschinengeneration sinnvoll ist. (6 Punkte)
Geg.: Datenblock 48\ \mathrm{Byte} alle T = 20\ \mathrm{ms}; Classical CAN mit v_\mathrm{D} = 250\ \mathrm{kbit/s}, 8 Datenbytes je Telegramm: 44 + 64 + 3 = 111\ \mathrm{Bit}
Ges.: Zahl der Telegramme z, Übertragungsdauer t, Buslast; Vergleich und Empfehlung
\begin{aligned} &\text{(I)} && z = \dfrac{48\ \mathrm{Byte}}{8\ \mathrm{Byte}} \\ &\text{(II)} && t = \dfrac{z \cdot 111\ \mathrm{Bit}}{v_\mathrm{D}} \end{aligned}
Zahl der Telegramme (1 Punkt):
z = \frac{48\ \mathrm{Byte}}{8\ \mathrm{Byte}} = \underline{\underline{6}}
I in II, Übertragungsdauer ohne Stuffbits (1 Punkt):
t = \frac{6 \cdot 111\ \mathrm{Bit}}{250\,000\ \mathrm{Bit/s}} = \frac{666\ \mathrm{Bit}}{250\,000\ \mathrm{Bit/s}} = 2{,}664\ \mathrm{ms} \approx \underline{\underline{2{,}66\ \mathrm{ms}}}
Zusätzliche Buslast (1 Punkt):
\frac{t}{T} = \frac{2{,}664\ \mathrm{ms}}{20\ \mathrm{ms}} = 13{,}32\ \% \approx \underline{\underline{13{,}3\ \%}}
Vergleich (2 Punkte):
| Merkmal | Classical CAN | CAN FD | CAN XL |
|---|---|---|---|
| Nutzdaten je Telegramm | bis 8 Byte | bis 64 Byte | bis 2048 Byte |
| Datenrate in der Datenphase | wie Arbitrierung, bis 1 Mbit/s | typisch 2 … 5 Mbit/s | typisch 10 Mbit/s und mehr |
| Telegramme für 48 Byte | 6 | 1 | 1 |
Empfehlung (1 Punkt): CAN FD passt gut: Der Block passt in ein einziges Telegramm, die Datenphase läuft schneller, die Arbitrierung bleibt bei 250\ \mathrm{kbit/s} und damit bei der vorhandenen Leitungslänge; die Buslast sinkt deutlich. Alle Knoten müssen dann CAN-FD-fähig sein, weil reine Classical-CAN-Controller CAN-FD-Telegramme als Fehler werten. CAN XL wäre erst bei sehr großen Datenmengen (z. B. Software-Updates, Ethernet-Pakete) nötig.
Links und weitere Informationen
zum Nachlesen: CAN-Bus: Bitübertragung, Arbitrierung, Telegramm, Fehlerbehandlung und Messung
zum Weiterlesen: Datenübertragung, Feldbusse und Aktorik, Messungen mit dem Oszilloskop
als Nachschlagewerk: Wikipedia: Controller Area Network
Hinweis zur Nachnutzung als Open Educational Resource (OER)
Dieser Artikel und seine Texte, Bilder, Grafiken, Code und sonstiger Inhalt sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “Übungsaufgaben zum CAN-Bus: Aufbau, Pegel, Arbitrierung, Telegramm, Fehlerbehandlung und Messung” von oer-informatik.de (H. Stein), Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/can-bus-uebungsaufgaben veröffentlicht, die Quelltexte sind in weiterverarbeitbarer Form verfügbar im Repository unter https://gitlab.com/oer-informatik/elektrotechnik/kommunikation. Erstellt mit KI-Assistenz; von mir umfassend redaktionell überarbeitet, geprüft und freigegeben. Stand: 11.11.2026.
[Kommentare zum Artikel lesen, schreiben] / [Artikel teilen] / [gitlab-Issue zum Artikel schreiben]
