Physical Layer

Van digitaal naar bus

Een CAN-controller is een volledig digitale oplossingen meestal onderdeel van een microcontroller. Het zendt, via de zogenaamde TxD-uitgang, en ontvangt, via de RxD-ingang, digitale signalen die enkel geschikt zijn voor communicatie op de printplaat. Er is daarom elektronica (=physical layer) nodig om deze signalen betrouwbaar, storingsongevoelig en over grote afstand te kunnen transporteren. Tegelijkertijd moeten de TxD-uitgang en RxD-uitgang dusdanig met elkaar verbonden zijn dat de RxD het TxD-signaal kan teruglezen om dominante bits te herkennen.

Het CAN-protocol kent geen definitie voor zo’n physical layer en daarom bestaan er een serie van verschillende elektronica-oplossingen voor diverse toepassingen. EVC-testruimtes en explosie gevaarlijke omgevingen maken bijvoorbeeld gebruik van CAN-bussen op basis van glasfiber. In centrale-massa omgevingen met grotere afstanden, zoals op schepen, worden wel stroom-gestuurde interfaces gebruikt die op basis van pulsen werken. In oudere oplossingen wordt regelmatig (gemodificeerd) RS485 gebruikt. CAN-controllers bevatten daarom vaak de mogelijkheid om de uit- en ingang te programmeren voor de desbetreffende aansturing van physical layers.

Principe van een CAN-bus line driver
CAN bus-driver
Principe van een CAN-bus line driver
CAN bus-driver

Verreweg de meeste physical layers werken op het principe van een bus in de vorm van een draad die met een weerstand aan de voeding hangt en open collector TxD’s. Als de TxD-uitgang een ‘1’ uitstuurt geburt er niets en houdt de weerstand de bus hoog. Als een TxD-uitgang een ‘0’ uitstuurt, zal door de inverter, de transistor de bus naar de massa trekken. Zodoende zijn ‘1’-en recessief en ‘0’-en dominant.

Twisted pair

De auto-industrie heeft een physical layer ontwikkelt die op basis van een twisted pair functioneert en die erg goede elektrische eigenschappen heeft. Deze is uitgewerkt tot de standaard ISO-11898-2 en wordt praktisch in alle standaard, automotive én industriële toepassingen gebruikt. De topologie is een lijn (bus). Om reflecties van signalen te voorkomen, moeten beide uiteinden van het netwerk met weerstanden worden afgesloten. Bovendien dienen aftaklengten voor de aansluiting van de individuele nodes zo kort mogelijk te worden gehouden. Bij 1 Mb/sec mogen de aftakkingen maximaal 30 cm bedragen.

CAN Fysiek netwerk met nodes en afsluitweerstanden
Fysiek Netwerk
CAN Fysiek netwerk met nodes en afsluitweerstanden
Fysiek Netwerk

Dankzij de twisted pair is de bus erg goed bestand tegen verstoringen van buitenaf, ook als die enkel lokaal optreden. Op beiden buslijnen staat hetzelfde, maar geïnverteerde signaal. Door in de physical layer beide signalen (negatief minus positief) van elkaar af te trekken ontstaat een signaal met dubbele amplitude terwijl tegelijkertijd een mogelijke signaalstoring van elkaar afgetrokken en dus gecompenseerd wordt.

Voorbeeld van een verstoring op een twisted-pair CAN-bus
CAN-bus verstoring
Voorbeeld van een verstoring op een twisted-pair CAN-bus
CAN-bus verstoring

ISO-11898-2

De standaard physical layer staat bekend als ISO-11989-2, CiA DS 102 (CANopen) of ‘CAN High-speed’. In geval van CiA DS 102 is o.a. ook de connector (sub-D9) en pinning gestandaardiseerd. Deze layer beschikt verder over een scala aan voorzorgmaatregelen om verstoring en zelfs beschadiging van de bus te voorkomen. Hier de belangrijkste parameters:

Parameter Min max  
DC Voltage on CANH and CANL -3 32 V
Transient voltage on CANH and CANL -150 100 V
Common Mode Bus Voltage -2.0 +7.0 V
Recessive Output Bus Voltage +2.0 +3.0 V
Recessive Differential Output Voltage -500 50 mV
Differential Internal Resistance 10 100
Common Mode Input Resistance 5.0 50
Differential Dominant Output Voltage +1.5 +3.0 V
Dominant Output Voltage (CANH) +2.75 +4.50 V
Dominant Output Voltage (CANL) +0.50 +2.25 V
ESD 2   kV

De signalen op de bus zien er hierbij als volgt uit:

CAN electrische bit-sigaal
CAN sigaal
CAN electrische bit-sigaal
CAN sigaal

De nominale doorgifte vertraging van twisted pair mag 5 ns/m bedragen. Dit resulteert in een 1 Mbit/s bus snelheid bij een bus lengte van 40 m. De complete opbouw van de physical layer wordt daarmee aardig complex. Gelukkig leveren alle bekende halfgeleiderfabrikanten chips met volledige geïntegreerde ISO-11898 interface die goedkoop én goed verkrijgbaar zijn.

Blokschema van een CAN Physical Layer Chip
CAN Physical Layer Chip
Blokschema van een CAN Physical Layer Chip
CAN Physical Layer Chip

Vaak, maar niet altijd, zijn deze chips voorzien van extra’s zoals instelbare flanksteilheid, om de signalen op de bus te optimaliseren (Rs in bovenstaand diagram), of thermische protectie. Let verder op de fan-out indien een netwerk met veel nodes wordt opgezet. Sommige versies hebben een fan-out om maximaal 110 nodes aan te sturen, maar andere chips komen niet verder dan 32 nodes.

Galvanisch gescheiden

De standaard physical layer voorziet niet in een galvanische scheiding. Uitgangspunt bij CAN is dat grootvolume producten op kosten worden uitontwikkeld: het volledig door ontwikkelen en optimaliseren van de physical layer is dan beduidend goedkoper dan het toepassen van galvanische scheiding. In industriële automatisering en systeemintegratie van CANopen-componenten ligt dat natuurlijk heel anders. Het besparen op een galvanische scheiding weegt niet op tegen de stoorzoek- en uitruilkosten van een component. Tegelijkertijd kunnen in industriële omgevingen door aardfouten e.d. allerlei ongewilde effecten optreden. Galvanisch scheiding wordt bij CAN in de regel gerealiseerd door de TxD, RxD vanaf de microcontroller naar de physical layer optisch los te koppelen en de voeding naar de physical layer galvanisch te scheiden. Er zijn tegenwoordig ook physical layer chips op de markt die de galvanische scheiding geïntegreerd aan boord hebben.