CAN-Transceiver

Ein CAN-Transceiver verbindet einen CAN-Controller mit der differentiellen CAN-Busleitung. Der CAN-Controller erzeugt und verarbeitet die logischen Bitfolgen des CAN-Protokolls. Der Transceiver übersetzt diese Logiksignale in die physikalischen Pegel auf CANH und CANL und wandelt die Bussignale wieder in ein digitales Empfangssignal zurück.

Ein Baustein wie der NXP TJA1043 zeigt den typischen Funktionsumfang eines High-Speed-CAN-Transceivers für Fahrzeug- und Industrieumgebungen: 5-V-Bustreiber, getrennte Logikversorgung für Mikrocontroller-Pegel, Wake-up-Funktionen, Low-Power-Modi, Inhibit-Ausgang für die Versorgung eines Steuergeräts und Schutzfunktionen gegen Fehlzustände. Einfachere Vertreter wie Infineons TLE9250LE oder Microchips MCP2562 setzen den gleichen physikalischen CAN-Grundmechanismus um, unterscheiden sich aber bei Betriebsmodi, Steuerpins, Logikversorgung und Systemmanagement.

Breakout-Board mit Anschlussklemmen für CAN Transceiver  von Adafruit
Breakout-Board mit Anschlussklemmen für CAN Transceiver von Adafruit

Was ist ein CAN-Transceiver?

Ein CAN-Transceiver ist die physikalische Schnittstelle eines CAN-Knotens. Er sitzt zwischen dem digitalen CAN-Controller und dem verdrillten Zweidrahtbus. Auf der Controller-Seite arbeitet er mit Logiksignalen wie TXD und RXD. Auf der Busseite treibt oder empfängt er die differentiellen Leitungen CANH und CANL.

Der CAN-Controller kann im Mikrocontroller integriert sein oder als separater Controller-IC vorliegen. Er verarbeitet Frames, Identifier, Arbitration, Bit-Stuffing, CRC und Fehlerzustände des Protokolls. Der CAN-Transceiver übernimmt dagegen die elektrische Umsetzung:

  • Senden eines dominanten oder rezessiven Buszustands
  • Empfang des differentiellen Buspegels
  • Pegelanpassung zwischen Logikseite und Busseite
  • Begrenzung von Fehlereffekten auf den Bus
  • Verhalten bei Unterspannung, Übertemperatur oder dauerhaft dominantem TXD
  • Umschaltung in stromsparende Zustände
  • Erkennung von Wake-up-Ereignissen, je nach Typ

Bei High-Speed-CAN nach ISO 11898-2 liegt der Bus im rezessiven Zustand typischerweise auf einem gemeinsamen Pegel um die Mitte der Transceiverversorgung. Im dominanten Zustand wird CANH angehoben und CANL abgesenkt. Der Empfänger wertet die differentielle Spannung zwischen CANH und CANL aus. Dadurch ist das Signal gegenüber Gleichtaktstörungen unempfindlicher als eine rein massebezogene Einzeladerübertragung.

Funktionsweise CAN Transceiver

Der digitale Eingang TXD steuert den Sendeteil. Bei High-Speed-CAN entspricht ein dominanter Zustand meist einem Low-Pegel an TXD. Der Transceiver treibt dann CANH in Richtung höherer Spannung und CANL in Richtung niedrigerer Spannung. Bei einem rezessiven Zustand wird der Bus nicht aktiv in die differentielle Dominanz gezwungen. Die Busleitungen liegen dann nahe beieinander, und der differentielle Pegel bleibt klein.

Der Empfangsteil vergleicht CANH und CANL. Ist die differentielle Spannung groß genug, erkennt der Empfänger einen dominanten Buszustand und gibt diesen über RXD an den CAN-Controller aus. Bei rezessivem Buszustand liegt RXD entsprechend im rezessiven Logikzustand.

Dieses Verhalten bildet die Grundlage der CAN-Arbitration. Mehrere Knoten können gleichzeitig senden. Ein dominanter Zustand überschreibt einen rezessiven Zustand auf dem Bus. Der CAN-Controller erkennt über RXD, ob der gelesene Buszustand zum gesendeten TXD-Zustand passt. Die Protokollentscheidung liegt beim Controller, der Transceiver liefert die elektrische Voraussetzung.

Ein Transceiver wie der TJA1043 ergänzt diesen Grundpfad um Überwachungs- und Schutzlogik. Dazu gehören typischerweise:

  • TXD-Dominant-Time-out, damit ein blockierter Controller den Bus nicht dauerhaft dominant hält
  • Unterspannungserkennung an Versorgungsanschlüssen
  • thermische Abschaltung oder Begrenzung des Senders
  • definierte Ausgangszustände bei fehlender Versorgung
  • Wake-up-Erkennung über Bus oder separaten Wake-Eingang
  • Statusausgabe über dedizierte Pins, abhängig vom IC

Die genaue Ausprägung ist herstellerspezifisch. Der TJA1043 hat einen ausgeprägten Systemmanagement-Teil mit VBAT-Anschluss, INH-Ausgang und lokalen sowie busseitigen Wake-up-Mechanismen. Ein kompakter Baustein wie der TLE9250LE konzentriert sich stärker auf die physikalische High-Speed-CAN-Schnittstelle. Der MCP2562 ist ein alternatives Beispiel mit separater VIO-Logikversorgung und Standby-Steuerung, aber ohne den gleichen Systembasis-Funktionsumfang wie ein TJA1043.

Typische Architektur im System

Ein CAN-Knoten besteht meist aus Mikrocontroller, CAN-Controller, CAN-Transceiver, Versorgungsschaltung, Schutzbeschaltung und Busanschluss. In vielen Mikrocontrollern ist der CAN-Controller bereits integriert. Dann verlaufen nur TXD und RXD zwischen Mikrocontroller und Transceiver.

Eine typische Signalkette sieht so aus:

Mikrocontroller mit CAN-Controller → TXD/RXD → CAN-Transceiver → CANH/CANL → Steckverbinder → verdrillte Busleitung

Auf der Versorgungsebene kommt oft eine 5-V-Schiene für den Transceiver hinzu. Wenn der Mikrocontroller mit 3,3 V oder einer niedrigeren Logikspannung arbeitet, trennt ein VIO-Anschluss die digitale Pegelseite von der 5-V-Bustreiberseite. Der TJA1043 nutzt eine solche Logikversorgung. Auch der MCP2562 stellt eine VIO-Variante bereit, wodurch RXD und TXD an die I/O-Spannung des Controllers angepasst werden können.

Bei Steuergeräten mit Low-Power-Anforderung kann der Transceiver Teile der Versorgung beeinflussen. Der TJA1043 besitzt dazu einen INH-Ausgang. Dieser kann einen externen Spannungsregler aktiv halten oder abschalten. Im Sleep-Zustand bleibt ein Batterieversorgungspfad für Wake-up-Funktionen erhalten, während andere Schaltungsteile abgeschaltet werden können.

Auf der Busseite liegen CANH und CANL an einem verdrillten Leitungspaar. Der Bus wird an seinen beiden Enden mit typischerweise 120 Ω abgeschlossen. Einzelne Knoten entlang der Leitung erhalten keine eigene Vollterminierung, sofern sie nicht an einem Busende sitzen. Bei Split-Terminierung wird der Abschluss in zwei Widerstände geteilt und der Mittelpunkt über einen Kondensator gegen Masse geführt. Manche Transceiver, darunter der TJA1043, stellen einen SPLIT-Pin bereit, der den Mittelpunkt auf einen definierten Pegel legt.

Signale und Kommunikation beim CAN Transceiver

Die wichtigsten Signale eines High-Speed-CAN-Transceivers sind TXD, RXD, CANH und CANL. Hinzu kommen je nach Baustein Steuer-, Status- und Versorgungsanschlüsse.

TXD ist der digitale Sendeeingang. Er kommt vom CAN-Controller. Ein dominanter TXD-Zustand führt zum dominanten Buszustand, solange der Transceiver im Sendebetrieb freigegeben ist und keine Schutzfunktion eingreift.

RXD ist der digitale Empfangsausgang. Er meldet den erkannten Buszustand an den Controller. RXD wird auch während der Arbitration benötigt, weil der Controller den tatsächlich gelesenen Buszustand mit dem gesendeten Bit vergleicht.

CANH und CANL bilden das differentielle Buspaar. Im dominanten Zustand steigt CANH gegenüber dem rezessiven Mittelpegel an, während CANL abgesenkt wird. Im rezessiven Zustand liegen beide Leitungen nahe beieinander. Der Empfänger bewertet die Differenzspannung, nicht den absoluten Pegel einer einzelnen Leitung.

EN, STB, STBY oder vergleichbare Pins steuern den Betriebszustand. Beim TJA1043 werden die Modi über EN und STB_N angewählt. Beim MCP2562 wird der Standby-Zustand über STBY gesteuert. Beim TLE9250LE hängt die konkrete Steuerung von der Gehäuse- und Variantenbelegung ab; kompakte High-Speed-CAN-Transceiver verwenden oft einen Enable- oder Normal-Mode-Pin statt mehrerer Systemmanagement-Leitungen.

WAKE ist bei Transceivern mit lokaler Wake-up-Funktion ein Eingang für ein externes Ereignis, etwa einen Taster, ein Sensorsignal oder eine Klemme im Steuergerät. Der TJA1043 kann darüber aus einem stromsparenden Zustand geweckt werden.

INH ist ein Ausgang für die Versorgungsschaltung. Er kann einen externen Regler aktivieren oder deaktivieren. Diese Funktion findet man eher bei Transceivern mit erweitertem Low-Power-Management.

ERR_N oder vergleichbare Statuspins melden interne Zustände. Beim TJA1043 kann ein solcher Pin unter anderem Wake-up- oder Fehlerzustände signalisieren. Die Bedeutung muss in der Firmware zur gewählten Betriebsart passen.

SPLIT stellt bei geeigneten Transceivern einen Referenzpunkt für eine Split-Terminierung bereit. Damit lässt sich der Gleichtaktpegel des rezessiven Busses stabilisieren. Ob dieser Pin genutzt wird, hängt von EMV-Konzept, Terminierungsart und Systemtopologie ab.

Timing-Parameter betreffen unter anderem Sendeverzögerung, Empfangsverzögerung, Schleifenverzögerung und Flankenverhalten. Bei klassischem High-Speed-CAN mit bis zu 1 Mbit/s sind diese Werte auf die Bitzeit auszulegen. Bei CAN-FD-Datenphasen mit höheren Bitraten müssen Transceiver, Controller, Leitungslänge und Abtastzeitpunkte gemeinsam betrachtet werden. Der TLE9250LE wird von Infineon für CAN-FD-Anwendungen mit höheren Datenraten spezifiziert, während ältere oder einfachere Transceiverfamilien teilweise auf klassisches CAN ausgelegt sind.

Betriebsmodi

Ein CAN-Transceiver hat mindestens einen Normalbetrieb und meist einen Low-Power-Zustand. Bausteine mit Systemmanagement bieten zusätzliche Modi.

Im Normalbetrieb sind Sender und Empfänger aktiv. TXD steuert den Bus, RXD meldet den Buszustand. Dieser Modus wird für die reguläre CAN-Kommunikation verwendet.

Im Standby-Modus ist der Sendepfad abgeschaltet oder gesperrt. Der Empfänger arbeitet nur so weit, wie es für Busüberwachung oder Wake-up-Erkennung erforderlich ist. Die Stromaufnahme sinkt gegenüber dem Normalbetrieb. Beim MCP2562 ist dieser Zustand über STBY zugänglich. RXD kann je nach Baustein weiterhin einen Wake-up- oder Buszustand anzeigen.

Im Sleep-Modus wird der Stromverbrauch weiter reduziert. Beim TJA1043 kann dieser Zustand mit dem INH-Ausgang gekoppelt sein. Dadurch kann ein externer Regler abgeschaltet werden, während der Transceiver über einen Batterieversorgungspfad Wake-up-Ereignisse erkennen kann.

Ein Listen-only- oder Silent-Zustand, sofern vorhanden, erlaubt den Empfang ohne aktives Senden auf den Bus. Das wird für Diagnose, Busüberwachung oder Zustände genutzt, in denen ein Knoten keine Dominanz auf den Bus bringen soll. Die genaue Benennung und Verfügbarkeit hängen vom IC ab.

Reset- und Undervoltage-Zustände entstehen, wenn eine Versorgung unter die spezifizierte Schwelle fällt. Der Transceiver muss dann verhindern, dass undefinierte Logikzustände den Bus stören. Datenblätter beschreiben für diese Fälle, ob RXD hochohmig, dominant, rezessiv oder statusabhängig ist und ob der Sender abgeschaltet wird.

Wake-up kann über den Bus oder über einen lokalen Eingang erfolgen. Bei Bus-Wake-up erkennt der Transceiver eine definierte Aktivität auf CANH/CANL. Bei lokalem Wake-up wird ein Pegelwechsel an einem Pin wie WAKE ausgewertet. Die Firmware muss nach dem Aufwachen Statusflags lesen oder Pins auswerten, damit die Quelle des Ereignisses korrekt behandelt wird.

Spannungsversorgung

High-Speed-CAN-Transceiver arbeiten auf der Busseite typischerweise mit einer 5-V-Versorgung. Bei den genannten Beispielen liegt die Transceiverversorgung im Bereich um 5 V; die genauen Grenzwerte stehen im jeweiligen Datenblatt. Diese Versorgung speist den analogen Empfänger, den Bustreiber und Teile der Schutzlogik.

Eine separate Logikversorgung VIO erlaubt die Anpassung an die I/O-Spannung des Mikrocontrollers. Das betrifft TXD, RXD und Steuerpins. Bei einem 3,3-V-Mikrocontroller verhindert VIO, dass ein 5-V-RXD-Pegel direkt auf den Controller-Eingang geführt wird. Der TJA1043 und der MCP2562 verwenden dieses Prinzip. Bei Transceivern ohne VIO müssen die Logikpegel zur Controller-Seite passen.

Ein VBAT-Anschluss, wie beim TJA1043, versorgt Low-Power- und Wake-up-Funktionen aus der Batterie oder einer daueraktiven Schiene. Dadurch kann der Transceiver auch dann ein Wake-up auslösen, wenn die reguläre 5-V-Schiene abgeschaltet ist. Die Batterieversorgung ist nicht für den CAN-Bustreiber im Normalbetrieb gedacht; der Sender benötigt weiterhin die reguläre Transceiverversorgung.

Power Sequencing betrifft besonders Systeme, in denen Mikrocontroller, VIO, VCC und VBAT zu unterschiedlichen Zeiten anliegen. Der Transceiver darf den Bus bei fehlender Logikversorgung nicht undefiniert treiben. Ebenso darf ein aktiver RXD-Ausgang keine unversorgte Controller-I/O über Schutzdioden rückspeisen. Datenblätter geben an, welche Pins tolerant gegenüber bestimmten Versorgungsausfällen sind und welche Zustände intern erzwungen werden.

Abblockkondensatoren gehören nahe an die Versorgungspins. Der 5-V-Pin des Transceivers benötigt eine kurze Verbindung zu Masse, weil der Bustreiber beim Umschalten Stromspitzen verursacht. VIO und VBAT erhalten ebenfalls lokale Abblockung entsprechend Datenblatt- und Systemanforderung. Bei Fahrzeugversorgungen kommen Schutzmaßnahmen gegen Lastsprünge, Verpolung, Transienten und ESD hinzu. Der CAN-Transceiver ersetzt diese externe Schutz- und Versorgungsauslegung nicht.

Anwendungsrahmen

CAN-Transceiver werden in Steuergeräten eingesetzt, die über einen CAN-Bus kommunizieren. Typische Bereiche sind Fahrzeugsteuergeräte, Anhänger- und Nutzfahrzeugsysteme, Batteriemanagement, Ladegeräte, Industrieantriebe, Maschinensteuerungen, Sensor-Aktor-Knoten und Diagnosegeräte.

Der TJA1043 passt zu Systemen, die Wake-up aus Sleep-Zuständen und eine steuerbare Versorgung benötigen. Der INH-Ausgang kann in solchen Architekturen den Regler eines Steuergeräts beeinflussen. Die Kombination aus Bus-Wake-up, lokalem Wake-up und Statussignalen erfordert eine passende Firmware-Logik, weil der Mikrocontroller nach dem Einschalten den Transceiver in den gewünschten Zustand bringen muss.

Ein TLE9250LE zeigt eine andere Auslegung: Der Fokus liegt auf einer kompakten High-Speed-CAN-Schnittstelle, die auch für CAN-FD-Datenphasen spezifiziert sein kann. Solche Bausteine werden verwendet, wenn die Buskommunikation im Vordergrund steht und kein umfangreiches Wake-/Inhibit-System im Transceiver benötigt wird.

Der MCP2562 ist ein alternatives Beispiel für einen Transceiver mit separater VIO-Logikversorgung und Standby-Funktion. Er passt zu Systemen, in denen der Mikrocontroller mit niedrigerer I/O-Spannung arbeitet, während der CAN-Bustreiber aus 5 V versorgt wird. Die Betriebssteuerung ist einfacher als bei einem Systembasis-Transceiver mit VBAT, INH und mehreren Wake-Quellen.

Grenzen entstehen durch Buslänge, Bitrate, Topologie, Terminierung, Störungen, Masseversatz und zulässige Gleichtaktbereiche. Ein CAN-Transceiver stellt keine galvanische Trennung bereit. Wenn zwischen Knoten größere Potentialunterschiede auftreten können, wird zusätzlich ein digitaler Isolator oder ein isolierter CAN-Transceiver benötigt. Auch die Protokollfähigkeit entsteht nicht im Transceiver. Filter, Identifier-Verarbeitung, Fehlerzähler und Frame-Handling bleiben Aufgabe des CAN-Controllers.

Layout- und Routing-Hinweise für CAN-Transceiver

Der CAN-Transceiver sollte nahe am Bussteckverbinder platziert werden. Dadurch bleiben CANH und CANL auf der Leiterplatte kurz. Schutzbauteile wie TVS-Dioden sitzen üblicherweise nahe am Steckverbinder, damit ESD- und Transientenströme nicht durch die gesamte Leiterplatte geführt werden.

CANH und CANL werden als differentielles Paar geführt. Die Leitungen sollten ähnlich lang sein und einen gleichmäßigen Abstand zueinander behalten. Stubs sind kurz zu halten, besonders bei höheren Bitraten oder CAN-FD-Datenphasen. Die Leiterplattenimpedanz muss zur Busumgebung passen; der Kabelbus selbst wird typischerweise mit etwa 120 Ω differentieller Impedanz betrachtet.

Die Terminierung gehört an die beiden Enden des Busses. Bei Split-Terminierung werden zwei Widerstände mit einem Mittelpunkt verwendet. Dieser Mittelpunkt kann über einen Kondensator gegen Masse abgeblockt werden. Wenn ein SPLIT-Pin vorhanden ist, kann er diesen Punkt mit einem definierten DC-Pegel versorgen. Der Nutzen hängt vom EMV-Konzept ab.

Schaltplan eines CAN-Transceivers mit Layout-Vorgaben
Schaltplan eines CAN Transceivers mit Layout-Vorgaben (Quelle: Octopart)

Die Masseführung sollte den Rückstrompfad der Versorgung und den Schutzpfad der Busbeschaltung berücksichtigen. Der Transceiver braucht eine niederimpedante Masseanbindung. ESD-Ströme aus der Steckverbindung sollten über einen kurzen Pfad in die vorgesehene Schutz- oder Chassis-Masse abgeleitet werden, ohne empfindliche Logikbereiche zu durchlaufen.

TXD, RXD und Modusleitungen werden kurz und ohne unnötige Kopplung zu schaltenden Leistungssignalen geführt. Bei Reset des Mikrocontrollers müssen TXD und Mode-Pins definierte Pegel haben. Ein unbeabsichtigter dominanter TXD-Zustand kann den Bus blockieren, bis die Timeout-Funktion des Transceivers eingreift. Pull-ups oder Pull-downs sind nach Datenblatt und Systemstartverhalten auszulegen.

Die Versorgungspins erhalten lokale Abblockkondensatoren. VCC, VIO und gegebenenfalls VBAT sollten getrennt betrachtet werden, weil sie unterschiedliche Funktionen im IC versorgen. Bei Gehäusen mit Exposed Pad ist die thermische und elektrische Anbindung nach Herstellerangabe auszuführen. Der Bustreiber kann bei hoher Buslast und erhöhten Umgebungstemperaturen Verlustleistung erzeugen, auch wenn der mittlere Strom im Normalbetrieb meist gering ist.

Zurück zum Glossar