Der CAN-Bus (Controller Area Network) Was ist das und wozu braucht man das? Jürgen Stuber 2012-10-03 Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 1 / 15
Anwendungen KFz Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 2 / 15
Anwendungen KFz Lokomotiven Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 2 / 15
Anwendungen KFz Lokomotiven Industriesteuerungen Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 2 / 15
Anwendungen KFz Lokomotiven Industriesteuerungen Hackerspaces Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 2 / 15
Allgemein Knoten 1 Knoten 2 Knoten 3... Knoten n Bus (Omni-)Bus: Alle an gemeinsam genutzten Leitungen Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 3 / 15
Allgemein Knoten 1 Knoten 2 Knoten 3... Knoten n Bus (Omni-)Bus: Alle an gemeinsam genutzten Leitungen Einer sendet an alle anderen Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 3 / 15
Allgemein Knoten 1 Knoten 2 Knoten 3... Knoten n Bus (Omni-)Bus: Alle an gemeinsam genutzten Leitungen Einer sendet an alle anderen Empfänger hören auf für sie interessante Pakete Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 3 / 15
Physikalische Schicht: Elektrisch Knoten 1 Knoten 2 Knoten 3... Knoten n CANH CANL Differentieller Bus: CANH und CANL Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 4 / 15
Physikalische Schicht: Elektrisch Knoten 1 Knoten 2 Knoten 3... Knoten n CANH CANL Differentieller Bus: CANH und CANL Spannungen an CANH und CANL bewegen sich entgegengesetzt Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 4 / 15
Physikalische Schicht: Elektrisch Knoten 1 Knoten 2 Knoten 3... Knoten n CANH CANL Differentieller Bus: CANH und CANL Spannungen an CANH und CANL bewegen sich entgegengesetzt Empfänger wertet Spannungsdifferenz aus Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 4 / 15
Physikalische Schicht: Elektrisch Knoten 1 Knoten 2 Knoten 3... Knoten n CANH CANL Differentieller Bus: CANH und CANL Spannungen an CANH und CANL bewegen sich entgegengesetzt Empfänger wertet Spannungsdifferenz aus Störsignale wirken meist gleich gerichtet auf CANH und CANL und werden ignoriert Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 4 / 15
Physikalische Schicht: Spannungpegel U/V 3,5 CANH 2,5 1,5 CANL 1 rezessiv 0 dominant rezessiv (logisch 1): kein Knoten tut etwas: CANH CANL 2,5V Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 5 / 15
Physikalische Schicht: Spannungpegel U/V 3,5 CANH 2,5 1,5 CANL 1 rezessiv 0 dominant rezessiv (logisch 1): kein Knoten tut etwas: CANH CANL 2,5V dominant (logisch 0): Mindestens ein Knoten erhöht die Spannung an CANH und senkt die Spannung an CANL: CANH 3,5V und CANL 1,5V Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 5 / 15
Physikalische Schicht: Spannungpegel U/V 3,5 CANH 2,5 1,5 CANL 1 rezessiv 0 dominant rezessiv (logisch 1): kein Knoten tut etwas: CANH CANL 2,5V dominant (logisch 0): Mindestens ein Knoten erhöht die Spannung an CANH und senkt die Spannung an CANL: CANH 3,5V und CANL 1,5V Empfänger: logisch 0, falls CANH CANL > 1V. Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 5 / 15
Physikalische Schicht: Kabel und Stecker Kabel Industrie: verdrillte Zweidrahtleitung CANH und CANL Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 6 / 15
Physikalische Schicht: Kabel und Stecker Kabel Industrie: verdrillte Zweidrahtleitung CANH und CANL Labor-CAN: 10-poliges Flachbandkabel Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 6 / 15
Physikalische Schicht: Kabel und Stecker Kabel Industrie: verdrillte Zweidrahtleitung CANH und CANL Labor-CAN: 10-poliges Flachbandkabel Stecker Industrie: DSUB9 Labor-CAN: 10-polig (2x5 für Pfostenleisten) 2 GND 1 GND 4 CANL 3 CANH 6 GND 5 GND 8 15V 7 15V 10 15V 9 15V Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 6 / 15
Datenübertragung: Bits Flanke Signal abtasten Typische Datenraten: 125kBit/s, 250kBit/s, 500kBit/s, 1MBit/s Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 7 / 15
Datenübertragung: Bits Flanke Signal abtasten Typische Datenraten: 125kBit/s, 250kBit/s, 500kBit/s, 1MBit/s Maximale Länge umgekehrt proportional zur Bitrate Typisch mehrere hundert Meter Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 7 / 15
Datenübertragung: Bits Flanke Signal abtasten Typische Datenraten: 125kBit/s, 250kBit/s, 500kBit/s, 1MBit/s Maximale Länge umgekehrt proportional zur Bitrate Typisch mehrere hundert Meter Bit timing: Empfänger synchronisieren sich auf Bit-Takt Timingparameter einstellbar Typisch 16 Quanta, Abtastung bei 87,5% (14/16) Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 7 / 15
Datenübertragung: Pakete Inhalt: Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 8 / 15
Datenübertragung: Pakete Inhalt: ID: 11 bzw. 29 Bit (Standard bzw. Extended) Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 8 / 15
Datenübertragung: Pakete Inhalt: ID: 11 bzw. 29 Bit (Standard bzw. Extended) Datenlänge: 0 bis 8 (DLC: Data Length Code) Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 8 / 15
Datenübertragung: Pakete Inhalt: ID: 11 bzw. 29 Bit (Standard bzw. Extended) Datenlänge: 0 bis 8 (DLC: Data Length Code) Daten: 0 bis 8 Bytes (meistens 8) Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 8 / 15
Datenübertragung: Pakete Inhalt: ID: 11 bzw. 29 Bit (Standard bzw. Extended) Datenlänge: 0 bis 8 (DLC: Data Length Code) Daten: 0 bis 8 Bytes (meistens 8) sonstiges: Start, Verwaltungsdaten, CRC, ACK Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 8 / 15
Datenübertragung: Pakete Inhalt: ID: 11 bzw. 29 Bit (Standard bzw. Extended) Datenlänge: 0 bis 8 (DLC: Data Length Code) Daten: 0 bis 8 Bytes (meistens 8) sonstiges: Start, Verwaltungsdaten, CRC, ACK Die ID ist keine Adresse! Beschreibt Art der Daten Z.B. Uhrzeit, gemessene Spannungen, Statusbits Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 8 / 15
Datenübertragung: Arbitrierung Was passiert wenn zwei Knoten gleichzeitig senden? Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 9 / 15
Datenübertragung: Arbitrierung Was passiert wenn zwei Knoten gleichzeitig senden? Gesendete Bits bei beiden gleich: kein Problem, weitermachen Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 9 / 15
Datenübertragung: Arbitrierung Was passiert wenn zwei Knoten gleichzeitig senden? Gesendete Bits bei beiden gleich: kein Problem, weitermachen Bits unterschiedlich: 0 gewinnt ( dominant ) Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 9 / 15
Datenübertragung: Arbitrierung Was passiert wenn zwei Knoten gleichzeitig senden? Gesendete Bits bei beiden gleich: kein Problem, weitermachen Bits unterschiedlich: 0 gewinnt ( dominant ) Sender der 1 merkt das und hört auf zu senden Niedrigere ID hat Priorität Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 9 / 15
Datenübertragung: sonstiges Remote-Frame: Fordert Daten an Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 10 / 15
Datenübertragung: sonstiges Remote-Frame: Fordert Daten an Error-Frame: Wird bei erkanntem Fehler erzeugt, zerstört Datenpaket Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 10 / 15
Datenübertragung: sonstiges Remote-Frame: Fordert Daten an Error-Frame: Wird bei erkanntem Fehler erzeugt, zerstört Datenpaket Zu viele Fehler: Knoten schalten sich ab um nicht zu stören Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 10 / 15
Datenübertragung: Details Für Details: siehe Bosch-Spezifikation Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 11 / 15
Höhere Ebenen 1 Längere Datenpakete, z.b. für Konfiguration, Diagnose Zuordnung IDs zu Daten, Geräten Multiplexen von Daten unter einer ID Netzwerk-Management (überwachung/ein-/ausschalten von Slaves durch Master) Gateways zu anderen Netzen (z.b. RS-485, Ethernet) Middleware (Prozessdaten werden auf Variablen abgebildet, die automatisch übertragen werden) Standardgeräte (Digitale I/O, Analoge I/O, Motoren,... ) Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 12 / 15
Höhere Ebenen 2 Viele Standards (CANOpen, DeviceNet, KFz-Diagnose,... ) und herstellerspezifisches Wenig freie Software Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 13 / 15
Implementierungen ATMEGA8 LPC1768 LPC11C24 SPI TD RD MCP2515 TD RD MCP2551 SN65HVD230 CANH CANL Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 14 / 15
Schluss Weit verbreitet Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 15 / 15
Schluss Weit verbreitet Robust Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 15 / 15
Schluss Weit verbreitet Robust Reiche Auswahl an Hardware Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 15 / 15
Schluss Weit verbreitet Robust Reiche Auswahl an Hardware Wir brauchen CAN-foo im Space! Jürgen Stuber () Der CAN-Bus (Controller Area Network) 2012-10-03 15 / 15