Hey! Sie scheinen aus United States zu kommen, möchten Sie auf die Englisch Webseite wechseln?
Switch to Englisch site
Skip to main content

What do CAN bus signals look like? - Industrial - Technical articles - TI E2E support forums

Eine Einführung in den CAN-Bus, gängige Anwendungen und ein Einblick in die Schnittstelle selbst.

Einleitung

In diesem Artikel werfen wir einen Blick auf den Controller Area Network (CAN)-Bus, ein robustes Kommunikationsprotokoll, das für anspruchsvolle elektrische Umgebungen entwickelt wurde. Wir werden untersuchen, was der CAN-Bus ist, seine interessanten Merkmale und Vorteile erörtern, die verschiedenen Betriebsmodi, die er unterstützt, näher beleuchten und einige der gängigen Anwendungen hervorheben, in denen er weit verbreitet ist.

Was ist CAN BUS überhaupt?

CAN, oder Controller Area Network, ist ein Kommunikationsbus, der ursprünglich von der Robert Bosch GmbH vor allem für den Einsatz in Fahrzeugen erfunden wurde (Bosch ist ein großer Hersteller von Kfz-Elektronikkomponenten), um Kupferkabel zu sparen - der Bus kann mehrere angeschlossene Geräte haben, die jeweils ihre eigenen IO haben, anstatt dass ein zentrales Steuergerät eine Verbindung zu jedem IO-Gerät benötigt.

Die Entwicklung von CAN begann 1983, und drei Jahre später wurde ein erstes Protokoll auf der Konferenz der Society of Automotive Engineers (SAE) in Detroit, Michigan, veröffentlicht. Intel war das erste Unternehmen, das 1987 einen CAN-Controller auf den Markt brachte, kurz gefolgt von Philips. Mercedes-Benz war der erste Hersteller, der 1991 ein Fahrzeug (die W140-Serie) auf den Markt brachte, das den Bus zur Steuerung nutzte.

CAN physische Schicht

CAN Bus and SAE J1939 Wiring Requirements And Trouble-Shooting - Copperhill

Ähnlich wie RS485 verwendet CAN einen differenziellen seriellen Multi-Master-Bus. An beiden Enden des Busses ist ein Abschlusswiderstand von 120 Ohm erforderlich, der Signalreflexionen verhindert und dazu dient, den Bus in einen rezessiven Zustand (eine binäre Eins) zu versetzen, bei dem die Spannung an CAN high kleiner oder gleich CAN low ist. Ein dominanter Zustand (eine binäre Null) wird dadurch ausgedrückt, dass CAN high größer als CAN low ist, was dadurch geschieht, dass der Transceiver den Bus aktiv antreibt, im Gegensatz zu den Abschlusswiderständen, die den Bus passiv zusammenziehen. Aktive Abschlussschaltungen werden auch in der Norm ISO11783 beschrieben, die das Hot-Plugging eines CAN-Bus-Netzwerks ermöglicht.

Diese Spannungspegel bedeuten, dass ein CAN-Bus eine differenziell verdrahtete UND-Logik verwendet, was bedeutet, dass Knoten mit einer niedrigeren ID-Nummer Vorrang auf dem Bus haben. In der Regel werden CAN-Controller eingesetzt - entweder als separate integrierte Schaltkreise oder als On-Die-Schaltkreise in Mikrocontrollern -, die die Busarbitrierung übernehmen. Wenn zwei Knoten gleichzeitig senden und einer von ihnen eine Null auf dem Bus sieht, stoppt er die Übertragung und versucht es erneut, nachdem sechs Bittakte nach dem Ende der Nachricht vergangen sind.

Je nach der implementierten ISO-Norm sind verschiedene Bustopologien und Abschlussarten möglich.ISO 11898-2, also known as high-speed CAN

ISO 11898-2, auch bekannt als High-Speed-CAN (mit Geschwindigkeiten von bis zu 1 Mbps normalerweise oder 5 Mbps mit CAN-FD) spezifiziert einen linearen Bus, der an beiden Enden mit 120-Ohm-Widerständen abgeschlossen ist.

CAN & CAN FD: Serial protocol decoding | PicoScope A to Z

Die Spannungspegel sind niedriger, wobei CANH in Richtung 3,5V und CANL in Richtung 1,5V getrieben wird, wenn eine dominante (0) übertragen wird, wobei die beiden Leitungen zu einer nominalen Differenzspannung von 0V zurückkehren, wenn der rezessive (1) Zustand übertragen wird - was der Leerlaufzustand des Busses ist.

Low speed or fault tolerant CAN [10] | Download Scientific Diagram

ISO 11898-3, oder fehlertoleranter CAN, kann mehrere Busformen annehmen - einschließlich linearer, sternförmiger oder mehrfach sternförmiger Busse, die alle miteinander verbunden sind und an jedem Knoten mit einem Bruchteil des gesamten gewünschten Abschlusswiderstands abgeschlossen werden. Der Bus läuft mit einer viel langsameren Höchstgeschwindigkeit von 125 Kbps.higher voltages are present on a fault-tolerant bus

Auf einem fehlertoleranten Bus sind viel höhere Spannungen vorhanden, wobei ein dominanter Zustand übertragen wird, indem CANH gegen die Versorgungsspannung (typischerweise 3,3 oder 5 V) und CANL gegen 0 V getrieben wird. Der rezessive Zustand wird übertragen, indem die Abschlusswiderstände CANH auf 0 V und CANL auf 5 V ziehen. Die Verwendung höherer Spannungspegel trägt zur Verbesserung der Störfestigkeit sowie der Anfälligkeit gegenüber externen Fehlern bei, die Spannungen in den Bus induzieren können.

Vorteile eines CAN Bus

Bei RS finden Sie CAN Bus Produkte unter https://de.rs-online.com/web/c/?searchTerm=can+bus

Die Verwendung eines CAN-Busses kann in vielen Anwendungen Vorteile bringen. Ein unmittelbarer Vorteil, insbesondere im Automobilbereich, ist der geringere Verdrahtungsaufwand, wobei anstelle eines zentralen Steuergeräts mit Signalkabeln, die zu jedem Sensor oder Aktor verlaufen - moderne Autos haben eine große Anzahl davon, sogar bis hin zu Dingen wie Fensterhebern - nur die Stromversorgung und die beiden CAN-Bus-Leiter verlegt werden müssen.

Da alle IO-Geräte an einen Bus angeschlossen sind, können außerdem mehrere Steuergeräte auf die Daten zugreifen. Auf einen Außentemperatursensor können zum Beispiel ein Steuergerät, ein Klimabedienteil und ein Fahrerdisplay zugreifen. Zunehmend ergänzt der LIN-Bus (Local Interconnect Network), der ebenfalls mit Blick auf Automobilanwendungen entwickelt wurde, den CAN-Bus, indem er unkritische Systeme wie Klimaanlage und Infotainment verbindet.

Ein weiterer Vorteil des CAN-Busses besteht darin, dass das Netzwerk automatisch eine Arbitrierung durchführt, wenn zwei oder mehr Knoten gleichzeitig versuchen, miteinander zu sprechen. Aufgrund der Art und Weise, wie der Bus verdrahtet ist, erhalten Knoten mit einer niedrigeren ID-Nummer automatisch Vorrang. Darüber hinaus müssen CAN-Controller die Übertragung automatisch stoppen, sobald eine Kollision erkannt wird, und können einen Fehlerzustand erzeugen, wobei ausreichende Fehler oder Kollisionen zu einem „Bus-Off“-Ereignis führen, bei dem der Controller den Versuch der Datenübertragung aufgibt. Es ist dann Sache des Mikrocontrollers/CAN-Controllers, zu entscheiden, wie ein Bus-Off-Ereignis behandelt werden soll.

Die hohen Differenzspannungen, die auf dem Bus verwendet werden, wobei ein dominantes oder Null-Bit eine typische Differenzspannung von 2 V oder mehr hat, während ein rezessives oder Ein-Bit eine typische Differenzspannung < 0,5 V hat, verbessern die Störfestigkeit. Die Verwendung von Differenzsignalen ist ebenfalls hilfreich, da jegliches Gleichtaktrauschen in die CANH- und CANL-Signale induziert wird, wobei die Empfänger nur die Differenz der Spannungspegel interpretieren.

Der CAN-Bus ist außerdem billig und in vielen Anwendungen einfach zu implementieren. Die überwiegende Mehrheit der modernen Mikrocontroller verfügt über integrierte CAN-Controller, so dass lediglich ein externer Transceiver und ein ESD-Schutz erforderlich sind. Für den Fall, dass ein Mikrocontroller nicht über einen On-Die-Controller verfügt, sind externe Controller, die eine SPI-Schnittstelle nutzen, ebenfalls weithin verfügbar.

Anwendungen für CAN Bus

Der CAN-Bus ist in vielen Branchen zu finden, von der Automobilindustrie über die Luft- und Raumfahrt bis hin zur Landwirtschaft.

Verschiedene Protokolle auf höherer Ebene werden oft auf dem CAN-Bus ausgeführt, einige der wichtigsten sind CANopen, ISO-TP und NMEA2000.

CANopen

CANopen ist ein Protokoll für die industrielle Automatisierung, das von der CAN in Automation-Nutzergruppe betreut wird. Es umfasst ein Kommunikationsprotokoll sowie Geräteprofile für eingebettete Geräte, die in der Automatisierung eingesetzt werden, einschließlich eines Adressierungsschemas, mehrerer kleinerer Kommunikationsprotokolle und einer Anwendungsschicht, die durch das Geräteprofil definiert wird. Die Kommunikationsprotokolle unterstützen das Netzwerkmanagement, die Überwachung von Geräten und die Kommunikation zwischen Knoten - einschließlich einer einfachen Transportschicht. Das Protokoll wird typischerweise über CAN ausgeführt (wie der Name schon sagt), kann aber auch über andere Medien wie Ethernet Powerlink und EtherCAT laufen.

Grundlegende Profile sind in der Norm CiA 301 festgelegt, darauf aufbauend gibt es speziellere Profile wie CiA 401 (für IO-Module) und CiA 402 (für Motion Control).

ISO-TP

ISO-TP ist ein weithin akzeptierter internationaler Standard, der festlegt, wie Datenpakete über einen CAN-Bus zu senden sind. Normalerweise ist ein CAN-Frame auf maximal acht Byte begrenzt, aber ISO-TP definiert einen Paketstandard, der innerhalb dieser Acht-Byte-Beschränkung arbeitet.

Dazu wird eine längere Nachricht in mehrere CAN-Frames segmentiert und mit Metadaten versehen, die es ermöglichen, die einzelnen Frames beim Empfänger wieder zur ursprünglichen Nachricht zusammenzusetzen. Die maximale Nutzdatenlänge beträgt 232-1 Byte (4294967295 b) ab der 2016er Standardversion; davor waren es 4095 Byte.

Am häufigsten wird ISO-TP für die Übertragung von Diagnosenachrichten in OBD-2-ausgestatteten Fahrzeugen verwendet, die entweder das KWP2000- oder das UDS-Kommunikationsprotokoll nutzen, ist aber auch in anderen anwendungsspezifischen Implementierungen weit verbreitet.

NMEA 2000

NMEA 2000 ist ein meeresspezifischer Plug-and-Play-Kommunikationsstandard für den Anschluss von Sensoren und Anzeigegeräten auf Schiffen. Die typische Kommunikationsgeschwindigkeit eines NMEA 2000-Busses beträgt 250kbps und ermöglicht es jedem Sensor, mit jedem Display oder einem anderen kompatiblen Gerät zu kommunizieren.

Das Protokoll basiert auf SAE J1939 mit spezifischen Nachrichten für die Schifffahrt, so dass J1939-Geräte im selben CAN-Netzwerk betrieben werden können. Ein Standardstecker, der 5-polige A-codierte M12-Schraubstecker, wurde festgelegt, um die Interoperabilität zwischen verschiedenen Geräteherstellern zu gewährleisten. Der Standard selbst wird von der US-amerikanischen National Marine Electronics Association verwaltet, die nur wenige Informationen veröffentlicht; allerdings machen Enthusiasten Fortschritte bei der Entdeckung der Gerätedefinitionen durch Reverse Engineering.

Die NMEA bietet ein Zertifizierungsverfahren an, das es den Herstellern ermöglicht, ein „NMEA 2000 Certified“-Logo zu führen und sicherzustellen, dass die Produkte in kompatibler Weise Daten austauschen und in einem Netz nebeneinander bestehen können.

Fazit

In diesem Artikel haben wir einen Blick darauf geworfen, was der CAN-Bus ist und wie er entstanden ist. Wir haben die physikalische Schicht sowie verschiedene Betriebsmodi für Fehlertoleranz und hohe Geschwindigkeiten sowie die begleitenden ISO-Normen untersucht, die vorschreiben, wie diese Netzwerke laufen sollten.

Die Vorteile wie geringeres Gewicht und geringere Komplexität der Verkabelung sowie einzigartige Funktionen wie die automatische Arbitrierung bedeuten, dass der Einsatz von CAN-Bus in einem Projekt, bei dem mehrere Geräte am selben Bus angeschlossen werden müssen, definitiv eine Überlegung wert ist. Wir haben auch einen Blick auf einige der häufigsten Anwendungen geworfen, bei denen ein CAN-Bus zum Einsatz kommt, um die Tiefe und Breite der Anwendungen zu demonstrieren.

In Teil 2, werden wir einen Blick auf verschiedene Geräte und Entwicklungskits werfen, die für die Interaktion mit einem CAN-Bus verwendet werden können, sowie auf Überlegungen bei der Auswahl von Bauteilen und auf eine Beispielanwendung.

Engineer of mechanical and electronic things by day, and a designer of rather amusing, rather terrible electric "vehicles" by night.