Wat is CAN (Controller Area Network)?

CAN (Controller Area Network) is een serieel bussysteem waarmee meerdere elektronische besturingen zonder centrale master berichten uitwisselen over één gedeeld, gedraaid aderpaar, waarbij een ingebouwd prioriteitsmechanisme bepaalt wie mag zenden en uitgebreide foutdetectie corrupte berichten automatisch herstelt. Bosch ontwikkelde CAN vanaf 1983 voor de auto, waar het kabelbomen drastisch vereenvoudigde. Inmiddels draait CAN ook in industriële automatisering, landbouwmachines, schepen, liften, medische apparatuur en talloze embedded systemen, vaak met een hogere-laagprotocol zoals CANopen of J1939 erbovenop.

Elke deelnemer op de bus is een controller met een eigen CAN-chip. Er is geen centrale Controller die het verkeer regelt: zodra de bus vrij is, mag iedere node zenden.


🕰️ Hoe is CAN ontstaan?

Jaar Mijlpaal
1983 Bosch start de ontwikkeling van een nieuw serieel bussysteem voor voertuigen
1986 Presentatie op het SAE-congres in Detroit als Automotive Serial Controller Area Network
1987 Intel levert met de 82526 de eerste CAN-controllerchip
1991 Bosch publiceert CAN 2.0; de Mercedes-Benz S-klasse (W140) is de eerste productieauto met CAN
1992 Oprichting van de gebruikers- en fabrikantenvereniging CAN in Automation (CiA)
1993 CAN wordt internationale norm ISO 11898
2012 Bosch en CiA introduceren CAN FD met grotere berichten en hogere datasnelheid
2024 ISO 11898-1:2024 legt Classical CAN, CAN FD en CAN XL in één norm vast

🧠 Hoe werkt een CAN-bus?

Alle nodes hangen parallel aan twee draden, CAN_H en CAN_L, die samen een differentieel signaal vormen. Bij high-speed CAN (ISO 11898-2) trekt een dominante bit CAN_H naar ongeveer 3,5 V en CAN_L naar ongeveer 1,5 V; bij een recessieve bit is het spanningsverschil vrijwel nul. Doordat de ontvanger alleen naar het verschil kijkt, is CAN ongevoelig voor storing die op beide draden tegelijk inkoppelt, zoals van frequentieregelaars en motorkabels. Aan beide uiteinden van de bus zit een afsluitweerstand van 120 Ω.

Drie mechanismen maken CAN bijzonder:

  • Berichtgebaseerde adressering - een CAN-frame heeft geen afzender- of ontvangersadres. De identifier beschrijft de inhoud (bijvoorbeeld “motortoerental”) en elke node beslist met acceptatiefilters of het bericht voor hem relevant is.
  • Bitgewijze arbitrage - beginnen twee nodes tegelijk te zenden, dan lezen ze hun eigen bits terug. Een dominante 0 overschrijft een recessieve 1; wie een 1 zendt maar een 0 leest, stopt en probeert het later opnieuw. De laagste identifier wint dus, zonder dat er een bit verloren gaat.
  • Ingebouwde foutafhandeling - elke node controleert elk frame op vijf fouttypen (bitfout, stuffingfout, CRC-fout, vormfout en ontbrekende bevestiging) en vernietigt een foutief frame met een error frame, waarna de zender automatisch herhaalt.

Een klassiek CAN-frame bestaat uit een startbit, een identifier van 11 bits (standaard, 2.0A) of 29 bits (extended, 2.0B), een lengteveld (DLC), 0 tot 8 databytes, een CRC van 15 bits, een bevestigingsslot (ACK) en een eindmarkering. Na vijf gelijke bits voegt de zender een tegengestelde bit in (bit stuffing), zodat de ontvangers gesynchroniseerd blijven.


🔧 Welke CAN-varianten zijn er?

Kenmerk Classical CAN CAN FD CAN XL
Max. data per frame 8 bytes 64 bytes 2048 bytes
Typische bitsnelheid Tot 1 Mbit/s Arbitrage tot 1 Mbit/s, datafase vaak 2–5 Mbit/s (max. 8) Datafase tot ca. 20 Mbit/s
CRC 15 bits 17 of 21 bits 13-bits header-CRC plus 32-bits frame-CRC
Beveiliging in de laag Geen Geen Optioneel CANsec
Typisch gebruik Industrie, oudere voertuigen Moderne voertuigen, CANopen FD Zonale voertuigarchitecturen

Naast high-speed CAN bestaat er low-speed, fouttolerant CAN (ISO 11898-3, tot 125 kbit/s) dat blijft werken als één van beide draden breekt of kortsluit.


📏 Hoe lang mag een CAN-bus zijn?

Omdat een bit binnen één bittijd heen en terug over de bus moet zijn vóór het bemonsteringspunt (de arbitrage leest immers terug), bepaalt de buslengte de maximale snelheid. Indicatieve waarden voor high-speed CAN:

Bitsnelheid Max. buslengte (indicatief) Typische toepassing
1 Mbit/s ca. 40 m Compacte machines, motion control
500 kbit/s ca. 100 m Personenauto’s, CANopen-machines
250 kbit/s ca. 250 m J1939 in trucks, ISOBUS op tractoren
125 kbit/s ca. 500 m Grotere installaties, liften
50 kbit/s ca. 1 km Lange lijnen, gebouwtoepassingen

Praktische vuistregels bij aanleg:

  1. Lineaire topologie - gebruik een doorgaande buslijn met korte aftakkingen (stubs van hooguit enkele decimeters bij 1 Mbit/s), geen ster.
  2. Afsluiting controleren - meet met spanningsloze bus tussen CAN_H en CAN_L: circa 60 Ω betekent twee correcte afsluitweerstanden van 120 Ω.
  3. Kabel en aarding - gebruik gedraaide, afgeschermde kabel met een karakteristieke impedantie van 120 Ω en leg de afscherming eenduidig aan aarde.
  4. Busbelasting bewaken - houd de belasting bij voorkeur onder circa 70%, zodat berichten met lage prioriteit niet structureel te laat komen.
  5. Foutstatus uitlezen - elke node houdt een zend- (TEC) en ontvangstfoutteller (REC) bij. Komt een van beide boven 127, dan gaat de node naar error passive; komt de zendfoutteller boven 255, dan koppelt hij zich los van de bus (bus off). Oplopende tellers wijzen bijna altijd op bekabeling, afsluiting of storing.

🔄 Hoe verhoudt CAN zich tot andere protocollen?

Aspect CAN Modbus RTU Ethernet IP
Snelheid Tot 1 Mbit/s (CAN FD hoger) Meestal 9,6–115,2 kbit/s 100 Mbit/s of meer
Topologie Lineaire bus Bus over RS-485 Ethernet (ster, lijn of ring)
Toegang Multimaster, prioriteit via identifier Eén master, polling Producer/consumer over TCP/IP en UDP
Data per bericht 8 bytes (FD: 64) Tot 252 bytes Groot, geschikt voor complexe data
Real-time gedrag Voorspelbaar voor hoge prioriteit Afhankelijk van polling-cyclus Goed, afhankelijk van netwerkbelasting
Gebruik Voertuigen, machines, robots Eenvoudige I/O, meters Complexe fabrieksnetwerken

Het gedrag van CAN is deterministisch voor de berichten met de hoogste prioriteit: hun maximale wachttijd is te berekenen. Berichten met een hoge identifier kunnen bij hoge busbelasting wel vertraging oplopen. In de architectuur van een fabriek zit CAN daarom vooral in en rond de machine, terwijl Industrial Ethernet en ProfiNET de verbinding naar PLC en SCADA verzorgen. Gateways vertalen dan tussen beide werelden, ook naar seriële protocollen als Modbus. Meer over de plaats van CAN tussen andere bussen leest u bij veldbussen.


🧱 Welke protocollen draaien bovenop CAN?

CAN zelf beschrijft alleen de fysieke laag en de datalinklaag uit het OSI-model. Wat de bytes betekenen, regelt een hogere-laagprotocol:

  • CANopen - open standaard van CiA (CiA 301, EN 50325-4) met objectwoordenboek en apparaatprofielen voor I/O, aandrijvingen en medische apparatuur
  • J1939 - SAE-standaard voor trucks, bussen en bouwmachines, met 29-bits identifiers en meestal 250 of 500 kbit/s
  • ISOBUS (ISO 11783) - afgeleid van J1939; laat trekker en werktuig van verschillende merken samenwerken
  • DeviceNet - ODVA-protocol op CAN voor fabrieksautomatisering, in nieuwe installaties steeds vaker vervangen door Ethernet IP
  • NMEA 2000 - scheepvaartnetwerk voor navigatie- en motordata, eveneens gebaseerd op J1939
  • ISO-TP en UDS - transport- en diagnoseprotocollen waarmee een werkplaats regeleenheden in auto’s uitleest en flasht

🔐 Hoe veilig is CAN?

CAN werd ontworpen voor een gesloten, betrouwbaar netwerk en heeft geen authenticatie en geen encryptie. Elke node kan elk bericht lezen en elk identifier zenden. Wie toegang heeft tot de bus, kan dus berichten vervalsen, opgenomen verkeer opnieuw afspelen (replay-aanval) of met een stroom hoog-prioritaire frames de bus platleggen. Ook kan een aanvaller doelgericht fouten veroorzaken zodat een legitieme node in bus off gaat.

Dat dit geen theorie is, toonden Charlie Miller en Chris Valasek in 2015: via het internetverbonden infotainmentsysteem van een Jeep Cherokee bereikten ze de CAN-bus en konden ze op afstand onder meer remmen en transmissie beïnvloeden. Fiat Chrysler riep daarop 1,4 miljoen voertuigen terug voor een software-update.

Maatregelen in de praktijk:

  • Segmenteren met gateways - scheid kritieke CAN-segmenten van infotainment, diagnose en externe verbindingen, vergelijkbaar met netwerksegmentatie in IEC 62443
  • Berichtauthenticatie - in de auto-industrie voegt AUTOSAR SecOC een cryptografische controlecode toe; CAN XL kent optioneel CANsec
  • Monitoring en IDS - CAN-verkeer is zeer regelmatig, waardoor anomaliedetectie op timing en identifiers goed werkt
  • Fysieke toegang beperken - afgeschermde diagnosepoorten en geen open CAN-connectoren op bereikbare plaatsen

In Europa is cybersecurity voor voertuigen sinds juli 2022 verplicht voor nieuwe typegoedkeuringen en sinds juli 2024 voor alle nieuwe voertuigen via VN-regelgeving UNECE R155, met SAE 21434 als bijbehorende engineeringnorm. Machinebouwers krijgen te maken met de Machineverordening (van toepassing vanaf 20 januari 2027) en de Cyber Resilience Act, waarvan de meldplicht vanaf 11 september 2026 geldt en de volledige toepassing vanaf 11 december 2027.


🏭 Waar wordt CAN gebruikt?

  • Auto-industrie - motormanagement, ABS, airbags en dashboard; een moderne auto heeft meerdere CAN-segmenten
  • Landbouw en bouwmachines - ISOBUS en J1939 tussen trekker, werktuig en motor
  • Machinebouw - CANopen-I/O, encoders, servomotoren en actuatoren in verpakkingsmachines en robots
  • Medische apparatuur - beademingsapparaten, infuuspompen en röntgensystemen
  • Liften, scheepvaart en treinen - van liftbesturing tot NMEA 2000 aan boord
  • Embedded systemen - communicatie tussen microcontrollers binnen één apparaat

Voor functionele veiligheid bestaat CANopen Safety (EN 50325-5), waarmee veiligheidsfuncties tot SIL 3 over dezelfde bus lopen. Ook in de auto is CAN onderdeel van veiligheidsconcepten volgens ISO 26262.


❓ Veelgestelde vragen

Wat is het verschil tussen CAN en CANopen?

CAN is het bussysteem dat bepaalt hoe bits en frames over de twee draden gaan. CANopen is een protocol bovenop CAN dat vastlegt wat die frames betekenen, hoe apparaten worden geconfigureerd en hoe het netwerk wordt beheerd. Een CANopen-apparaat gebruikt dus altijd CAN, maar niet elk CAN-apparaat spreekt CANopen.

Waarom heeft een CAN-bus 120 ohm afsluitweerstanden nodig?

De afsluitweerstanden van 120 Ω aan beide uiteinden van de CAN-bus voorkomen signaalreflecties en zorgen dat de bus na een dominante bit snel terugvalt naar recessief. Zonder correcte afsluiting ontstaan bitfouten, vooral bij hogere snelheden. Tussen CAN_H en CAN_L hoort u op een spanningsloze bus circa 60 Ω te meten.

Hoeveel apparaten kunnen op één CAN-bus?

Het CAN-protocol zelf kent geen harde limiet, maar de elektrische belasting van transceivers wel. Afhankelijk van de transceiver ligt de grens doorgaans tussen 32 en 127 nodes per segment, en CANopen beperkt het aantal adresseerbare nodes tot 127. Meer apparaten vragen om repeaters of meerdere segmenten.

Is CAN real-time?

CAN is voorspelbaar real-time voor berichten met de hoogste prioriteit, omdat bitgewijze arbitrage geen botsingen of hertransmissie bij toegangsconflicten kent. Berichten met lagere prioriteit moeten wachten tot de bus vrij is, zodat hun vertraging oploopt bij hoge busbelasting. Een goed ontworpen CAN-netwerk houdt de busbelasting daarom ruim onder de 100%.

Kan een CAN-bus gehackt worden?

Ja, klassiek CAN heeft geen authenticatie of encryptie, dus wie fysieke of netwerktoegang tot de bus krijgt, kan berichten lezen, vervalsen of de bus blokkeren. Het bekendste voorbeeld is de Jeep Cherokee-hack uit 2015, die leidde tot een terugroepactie van 1,4 miljoen voertuigen. Bescherming komt van segmentatie met gateways, monitoring en berichtauthenticatie zoals SecOC of CANsec.

Wordt CAN vervangen door Ethernet?

In auto’s nemen Automotive Ethernet en Single Pair Ethernet de backbone en datarijke functies over, maar CAN FD en CAN XL blijven voor regeleenheden en sensoren in gebruik. In de industrie blijft CAN populair binnen machines vanwege de lage kosten en robuustheid. De meeste architecturen combineren daarom Ethernet en CAN via gateways.


📌 Samengevat

CAN is in veertig jaar uitgegroeid van een autobus tot een van de meest gebruikte communicatiebussen in embedded en industriële systemen. De kracht zit in de eenvoud: twee draden, berichtgebaseerde adressering, bitgewijze arbitrage en strenge foutdetectie. De zwakte is beveiliging: wie bij de bus kan, kan meepraten. Met CAN FD en CAN XL groeit de bus mee met hogere datavolumes, en CAN XL brengt met CANsec beveiliging in de protocollaag zelf.

CAN is een robuuste, multimaster real-time bus voor besturingen in voertuigen en machines, waarbij de identifier tegelijk inhoud en prioriteit bepaalt; omdat het protocol geen authenticatie kent, hoort elke CAN-bus achter een gateway te liggen.