You dont have javascript enabled! Please enable it!

CAN-bus

Onderwerpen:

  • Inleiding
  • Meerdere netwerken in een auto
  • CAN-netwerk met de nodes
  • Verschillende soorten CAN-snelheden
  • CAN-bussignalen
  • Snelheden en spanningsniveaus
  • Opbouw van het CAN-busbericht van een (standaard) 11 bits identifier
  • Opbouw van het CAN-busbericht van een (extended) 28 bits identifier
  • Foutherkenning d.m.v. Bitstuffing en CRC & ACK delimiters
  • Twisted Pair bedrading
  • Afsluitweerstanden
  • Gateway
  • Meten aan de CAN-bus

Inleiding:
Moderne voertuigen zitten vol met elektronica. De regeleenheden verzamelen en verwerken gegevens van sensoren en sturen actuatoren aan. Vaak gebruiken verschillende ECU’s dezelfde data: de gaspedaalpositiesensor registreert de stand van het gaspedaal. Dit signaal wordt via de bedrading direct naar de motor-ECU verzonden. De motor-ECU is niet de enige ECU die dit signaal gebruikt:

  • De motor-ECU gebruikt het signaal van de gaspedaalpositiesensor om de gasklep aan te sturen, bij het gasgeven voor acceleratieverrijking door de injectoren langer aan te sturen, het ontstekingstijdstip aan te passen en evt. de wastegate of VGT-verstelling van de turbo aan te sturen;
  • De ECU van de automatische transmissie gebruikt de gaspedaalpositie om de schakeltijden van de koppelingen in de automaatbak te bepalen. Als het gaspedaal een klein beetje is ingedrukt zal de automaatbak bij een lager toerental opschakelen dan als het gaspedaal voor de helft is ingetrapt. Door het plotseling snel intrappen van het gaspedaal zal de “kick down” in werking treden door naar een lagere versnelling te schakelen en de motor meer toeren te laten maken;
  • De mate van gasgeven in een bocht kan voor de ESP-ECU een reden zijn om de ESP in te laten grijpen door het motorvermogen terug te nemen en evt. een rem van een doorslippend wiel aan te knijpen.

Tijdens een ingreep van de ESP neemt het motorvermogen af door de gasklep (deels) te sluiten en minder brandstof in te spuiten. Tevens zal in het instrumentenpaneel een indicatielampje gaan branden of knipperen, om de bestuurder erop te attenderen dat de ESP in werking treedt.

Het bovenstaande laat al goed de samenwerking tussen verschillende ECU’s zien. CAN-bus zorgt ervoor dat ECU’s met elkaar communiceren en daarmee data met elkaar kunnen uitwisselen. CAN is een afkorting van: Controller Area Netwerk. 

Motor-ECU
Ingebouwde motor-ECU in motorruimte

In de jaren ’80 kregen auto’s steeds meer accessoires en begonnen fabrikanten regelapparaten in te bouwen. Iedere functie kreeg een aparte draad. Daarmee nam de draaddikte-en het aantal stekkerverbindingen sterk toe.
Dikke kabelbomen hebben als nadeel dat het wegwerken achter interieurbekleding lastig is, en de kans op storingen behoorlijk toeneemt.

Met CAN-bus communiceren ECU’s met slechts twee draden: de CAN-high en de CAN-low. Alle communicatie tussen de ECU’s wordt via deze twee draden voorzien. In de volgende twee afbeeldingen is duidelijk te zien dat het aantal draden bij één portier al aanzienlijk afneemt bij het gebruik van CAN-bus.

Op de CAN-bus kunnen tientallen regelapparaten op de twee CAN-busdraden worden aangesloten. Al de aangesloten regelapparaten kunnen data met elkaar uitwisselen.

 

In de onderstaande afbeelding is een voertuig te zien met elf regelapparaten (aangegeven met de rode blokjes). Deze regelapparaten zitten allemaal met twee draden aan elkaar verbonden; een oranje en een groene draad. Deze draden stellen de CAN-high en CAN-low voor. Elk regelapparaat heeft zijn eigen functie en kan door middel van CAN-bus met elk ander regelapparaat in het netwerk communiceren. Meer inhoudelijke informatie over de regelapparaten is te vinden op de pagina regelapparaten.

1. Regelapparaat trekhaakinstallatie
2. Portierregelapparaat R.A.
3. Portierregelapparaat R.V.
4. Gateway
5. Comfortregelapparaat
6. Regelapparaat alarmsysteem
7. Instrumentenpaneel
8. Regelapparaat stuurkolomelektronica
9. Portierregelapparaat L.V.
10. Portierregelapparaat L.A.
11. Regelapparaat Park Distance Control

Met de komst van CAN-bus is ook het EOBD meer uitgebreid. EOBD staat voor European On Board Diagnosis. EOBD heeft te maken met de emissies. Diverse sensoren van de motor en de uitlaat geven informatie door aan de ECU. Als er foutieve waarden zijn (doordat er bijv. een slechte verbranding plaatsvindt), gaat er een MIL (Motor Indication Light) branden. Dat is een teken dat de auto moet worden uitgelezen. Er moet dan een diagnosetester aan de OBD stekker verbonden worden die de fouten uitleest. De ECU heeft aan de hand van de storing een hexadecimale foutcode opgeslagen, die door de diagnosetester weergeven wordt als een P-code of een storing met tekst (dat laatste is meer merkspecifiek). Klik hier voor meer informatie over OBD1, OBD II en EOBD.

Meerdere netwerken in een auto:
In een auto kunnen zich meerdere netwerken bevinden. De onderstaande afbeelding toont een overzicht met legenda van regeleenheden in meerdere netwerken van een BMW 3-serie E90.

De K-CAN, PT-CAN en F-CAN netwerken in de bovenstaande afbeelding vallen onder CAN-bus. Het verschillen zijn de snelheden met daarbij de spanningsniveaus en de toepassingen. De PowerTrain-CAN en de F-CAN hebben weliswaar dezelfde high-speed snelheid en spanningsniveaus, maar het verschil is dat de PT-CAN wordt gebruikt voor de motor- en transmissieregeling, en de F-CAN de regeleenheden van het onderstel bevat.

CAN netwerk met de regelapparaten
Het CAN-bus netwerk bestaat uit regelapparaten die zijn voorzien van hardware en software voor om berichten te ontvangen, verwerken en te verzenden. Voor de data-overdracht worden een CAN-high draad en een CAN-low draad gebruikt. In de onderstaande afbeelding is de CAN-High rood, en CAN-Low blauw gekleurd.
De regelapparaten (ook wel regeleenheden of nodes genoemd) zijn op deze draden aangesloten. Alle regelapparaten kunnen zowel informatie versturen als ontvangen. Een voorbeeld van een netwerk is het CAN-bus systeem in het interieur van de auto; hier kunnen diverse regelapparaten aan één bussysteem aangesloten worden.

Als voorbeeld nemen we een achteruitrijcamera (node 5) die achteraf wordt ingebouwd. Deze camera wordt bij de kentekenplaathouder of handgreep aangebracht. De CAN-bedrading wordt in het interieur op een willekeurige plek aangesloten. De voorwaarde is wel dat de node van de camera de juiste identifier bevat (vooraf geprogrammeerd door de fabrikant) omdat de andere regelapparaten deze wel moeten herkennen. Als de camera op de ondersteunde radio wordt aangemeld is het beeld direct zichtbaar.
Na het programmeren van de software krijgt de radio een signaal van de versnellingsbak dat de achteruitversnelling is geselecteerd. Op dat moment schakelt de radio om naar het beeld van de achteruitrijcamera. Op het moment dat de eerste versnelling (vooruit) wordt geselecteerd schakelt het beeld weer uit. Dit alles dankzij de dataoverdracht van het CAN-bussysteem.

Niet ondersteunde apparatuur (met bijv. een onjuiste identifier) kunnen problemen geven. Als deze berichten verzendt die door andere regelapparaten niet worden herkend, zal er een foutmelding worden gegenereerd. Ook kan dit soort apparatuur ervoor zorgen dat de CAN-bus actief blijft na het uitschakelen van het contact. De auto gaat dan niet in “sleep mode” waardoor de accu snel leeg zou lopen. Er is dan sprake van een clandestiene verbruiker.

CAN-bus signalen:
Het CAN-bussysteem maakt gebruik van het broadcast-principe; een zender zet een bericht op de CAN-bus. Elke node op de zelfde bus ontvangt het bericht. Echter, de zender geeft in het bericht aan voor welke nodes het bericht bestemd is. Alle nodes ontvangen het bericht en geven daarop hun terugkoppeling (later meer daarover). De nodes waarvoor het bericht niet bestemd is herkennen dat en negeren het.

Een CAN-bussignaal bestaat uit een CAN-high en CAN-low spanning. In de onderstaande afbeelding is CAN-high rood en CAN-low blauw afgebeeld. De high en low signalen zijn identiek, maar van elkaar gespiegeld. Wanneer de bus dominant wordt, stijgt de spanning van de CAN-high van 2,5 naar 3,5 volt en daalt CAN-low van 2,5 naar 1,5 volt. In recessieve toestand (in rust) bedragen beide spanningen 2,5 volt.

In de bovenstaande afbeelding is een voorbeeld van een meting met een oscilloscoop te zien. Er is duidelijk te zien dat beide spanningen identiek zijn aan elkaar, alleen in spiegelbeeld. Uiteindelijk is het spanningsverschil in het actieve (dominante) gebied 2 volt. Hiermee wordt het verschil tussen 1,5 en 3,5 volt bedoeld. Het verschil van 2 volt wordt gezien als een 0 (dominant) en het verschil van 0 volt als een 1 (recessief).

Als een (zendende) node de binaire code “0 0 1 0 1 1 0 1” wil verzenden zal deze de genoemde spanningen op de CAN-High en CAN-Low zetten (zie het bovenstaande voorbeeld). De ontvangende node zal deze spanningen weer zien als een binaire code, en zet ze vervolgens om in een hexadecimale code. De genoemde binaire code zal van hexadecimaal worden omgezet naar 2D.

Om binair naar hexadecimaal om te zetten is het gemakkelijk om een tabel van 8 vakjes te tekenen met een dikke streep in het midden. Noem de vakjes aan de rechterkant 1, 2, 4 en 8 (zie de rode cijfers in de afbeelding). Doe dit vervolgens ook aan de linkerkant. Noteer de cijfers waar een 1 van de binaire code boven staat. Links is dat alleen de 2, rechts zijn dat 8, 4 en 1. Tel alles rechts bij elkaar op (13) en doe het zelfde bij links (2). Hexadecimaal gaat vanaf 10 over in A, 11 = B, 12 = C, 13 = D. Dat maakt dus uiteindelijk 2D.

Meer informatie over het omrekenen van binair naar (hexa-)decimaal en andersom is te vinden op de pagina Binair, Decimaal en Hexadecimaal. Hier staan duidelijke voorbeelden uitgebreid omschreven.

Snelheden en spanningsniveaus:
In voertuigen kunnen we CAN-busnetwerken met verschillende snelheden tegenkomen:

  • High speed: ECU’s die met de aandrijving te maken hebben, waaronder de motorelektronica, transmissie, ABS/ESP, EBS (bedrijfswagens);
  • Medium of low speed: interieurelektronica zoals het instrumentenpaneel, radio, klimaatregeling, parkeerrem, trekhaak.

In de onderstaande twee afbeeldingen zijn de CAN-high en CAN-low signalen van de high speed CAN-bus te zien. In rust bedraagt de spanning van beide signalen 2,5 volt. Om een bericht te sturen stijgt de CAN-high van 2,5 naar 3,5 volt en daalt de CAN-low van 2,5 naar 1,5 volt.

CAN high speed (1)

Hieronder is nogmaals het signaal van de CAN high speed te zien, waarbij er nu is ingezoomd (50 microseconde per divisie), daar waar de scope bij het bovenstaande signaal was ingesteld op 200 microseconde per divisie.

CAN high speed (2)

In de comfortelektronica is de hoge snelheid van de communicatie minder van belang. Kenmerkend voor de medium of low speed CAN-bus zijn de spanningsniveaus in rust en bij het vormen van een bericht als volgt:

  • CAN-high is in rust 5 volt en daalt naar 1 volt;
  • CAN-low is in rust 0 volt en stijgt naar 4 volt.

Bij de meting waarbij de nullijnen van de kanalen A en B op dezelfde hoogte zijn ingesteld, is te zien dat de spanningen “in elkaar” zijn geschoven. Dat maakt het aflezen van de zuiverheid van de CAN-high en low signalen lastig.

CAN low speed (1)

Om de zuiverheid van de berichten te kunnen beoordelen, is het aan te bevelen om de nullijnen te verschuiven. In de onderstaande afbeelding is de nullijn van kanaal A omlaag en van kanaal B omhoog geschoven. Hiermee zijn de afgebeelde signalen uit elkaar getrokken en is een duidelijker verloop van de spanningen te zien.

CAN low speed (2)

Opbouw van het CAN-busbericht van een (standaard) 11 bits identifier:
De opbouw van een CAN-busbericht is altijd gebaseerd op de onderstaande afbeelding. In de opbouw zitten wel verschillen; zo zijn de ARB en het CTRL field van een 11 bits identifier en een 29 bits identifier verschillend. De onderstaande informatie heeft betrekking op de 11bits identifier. Ter informatie: een 29 bits identifier heeft ruimte voor meer data dan de 11 bits. Later meer hierover.

De opbouw van het bericht wordt nu eenvoudig samengevat, en later uitgebreid beschreven:

SOF:
Elk CAN-bericht begint met een SOF (start of frame). Wanneer een node een bericht wil gaan verzenden, zal er een dominante bit op de bus gezet worden. De CAN-bus is in rust altijd recessief (een 1, dus zowel de CAN-High als de CAN-Low zijn 2 Volt). De dominante bit (een 0) geeft aan dat andere nodes moeten wachten met een bericht te zenden totdat het hele bericht geplaatst is. Pas na de IFS (Interframe Space) mag de volgende node zijn bericht gaan verzenden. Ook als het een belangrijk bericht is, kan het er niet tussen komen.
Wanneer er 2 nodes tegelijkertijd een bericht willen gaan zenden (wat ze niet van elkaar weten) en dus samen de bus dominant maken door een 0 te plaatsen, bepaalt de ARB (arbitrage) welk bericht voor gaat.

Vanaf hier zal bij elk gedeelte van het CAN-busbericht dat besproken wordt steeds dat stuk aan deze grijze afbeelding worden toegevoegd. Op die manier probeer ik een beetje het overzicht te houden. Het bericht is begonnen met het SOF.

ARB:
Het Arbitration Field van een 11 bits identifier bestaat uit 2 delen; de identifier en het RTR bit.
Identifier:
Stel dat er 2 nodes tegelijk de CAN-bus dominant maken, dan zal de node met het minst belangrijke bericht wachten tot het belangrijke bericht geplaatst is (tot na het IFS). In de identifier van het bericht staat een reeks enen en nullen. Deze getallen zijn door de programmeur bewust toegewezen aan een bericht. De identifier met een 0 in het bericht (dominant) heeft een hogere prioriteit dan die met een 1 in het bericht (recessief). Het bericht met de 0 gaat door, en het bericht met de 1 zal moeten wachten.

Beide identifiers beginnen een bericht te plaatsen van 11 bits. Bij de SOF wordt de dominante bit geplaatst. Daarna zijn de eerste 5 bits van beide identifiers gelijk aan elkaar (0 1 1 0 1). De 6e bit is bij de identifier nummer 2 een 0, en bij de eerste identifier een 1. Dominant overheerst, dus identifier 2 maakt het uiteindelijke CAN-bericht.
Identifier 1 plaatste als 6e bit een 1. De node die de identifier verzendt herkent pas op het moment waarop er door een andere node een 0 op de bus wordt geplaatst dat er 2 nodes tegelijk een bericht verzenden. Op dit moment stopt identifier 1 met zenden en gedraagt deze zich nu als ontvanger. Alhoewel het eerst de bedoeling was dat het bericht dat begon met 0 1 1 0 1 eigenlijk het het bericht was wat deze node wilde verzenden, zal deze het nu als het ontvangen bericht beschouwen. De node luistert vervolgens het gehele bericht af en bepaalt of er iets mee wordt gedaan.

De grijze afbeelding van het SOF wordt nu uitgebreid met het ARB dat uit 2 delen bestaat, namelijk de identifier en het RTR bit:

RTR bit:
De laatste bit van de 11 bits identifier wordt een RTR genoemd; dit is een Remote Transmit Request bit. Deze RTR bit geeft aan of het een data frame of een remote frame is.
0 = Data frame
1 = Remote frame

Een data frame bevat gegevens die worden doorgestuurd naar de nodes die de informatie nodig hebben. Een node kan ook informatie vragen; bijv. wat de koelvloeistoftemperatuur op een bepaald moment is. De node zal dan een 1 plaatsen als RTR bit omdat deze vraagt om de gegevens.

CTRL:
Het Control Field bestaat uit de IDE (Identifier Extension), een R-bit en de DLC. De IDE bit geeft aan of het een standaard (11 bits) of een extended (29 bits) identifier is:
0 = Standaard identifier (11 bits)
1 = Extended identifier (29 bits)

De R-bit is gereserveerd voor in de toekomst en is nu altijd recessief.

Dan volgt de DLC: Een CAN-busnetwerk kan maximaal 8 bytes verzenden. In 1 byte zitten 8 bits, dus in totaal kunnen er 64 bits verzonden worden volgens het standaardprotocol. In het Control Field wordt aangegeven hoe veel data er verzonden wordt. Het zou onzinnig zijn om voor een bevestigingsbitje (1 voor aan of 0 voor uit) een groot bericht met allemaal lege datavelden te versturen. In de daarvoor bestemde DLC (Data Length Code) wordt het aantal bytes vermeld. De DLC is een functie in de programmeersoftware en is dus door de programmeur vooraf bepaalde waarde.
Stel dat er in de DLC 1 byte vermeld staat, dan worden er 8 bits verzonden. Voor korte bevestigingsberichten is dit voldoende.
Voor zeer uitgebreide berichten zal er in de DLC een waarde van maximaal 8 databytes staan.

Het voorbeeld is weer uitgebreid. De IDE, R en DLC zijn toegevoegd.

DATA:
In het data field wordt de uiteindelijke data geplaatst die verzonden moet worden. De grootte is afhankelijk van de waarde van de DLC (Data Length Code). Eerder is al aangegeven dat de DLC maximaal 8 bytes groot is. Elke byte bestaat uit 8 bits, dus in totaal kan het dataveld uit 64 bits bestaan.

CRC:
De Cyclic Redundancy Check bestaat uit een wiskundige berekening, welke met het bericht wordt meegestuurd. De zendende node maakt een berekening van het totale CAN-bericht tot nu toe; de SOF, ARB, CTRL en DATA. De CRC is dus de berekening. Wanneer de ontvangende node het bericht tot en met de CRC binnen heeft gekregen, zal deze de wiskundige berekening tot aan de DATA uitvoeren en vergelijken met de berekening in de CRC. Als deze niet overeenkomt (door een foutieve bit / storing) wordt het bericht niet geaccepteerd en wordt er verzocht om het bericht nogmaals te verzenden (met een bepaald maximum aantal pogingen). Het voorbeeld is uitgebreid met het CRC.

ACK:
Het Acknowledge field dient voor de ontvangstbevestiging. Wanneer de zender het bericht tot aan de CRC heeft verstuurd wordt er een soort pauze ingelast; de zender maakt de bus recessief (met een 0) en wacht totdat er één of meerdere nodes de bus dominant (1) maken. Het maakt niet uit of een of meerdere nodes het bericht ontvangen hebben, want als één node het ontvangen heeft, is het in ieder geval goed verstuurd. Nadat de bus dominant is gemaakt met een 1, wordt het verzenden van het bericht hervat.

EOF:
Het End Of Frame bestaat uit 7 recessieve bits (1 1 1 1 1 1 1). Dit is voor alle regeleenheden een teken dat het bericht is beëindigd.

IFS:
Om storingen te voorkomen wordt er altijd een Inter Frame Space na het EOF toegepast. De IFS bestaat uit 11 recessieve bits. Alle nodes wachten tot deze 11 recessieve bits voorbij zijn voordat zij een bericht gaan verzenden. Na deze 11 recessieve bits kunnen er bijv. weer 2 nodes tegelijk een bericht gaan verzenden. Er wordt dan weer gekeken naar de ARB (Arbitrage) om vast te stellen welk bericht de hoogste prioriteit heeft. De hele cyclus begint dan weer opnieuw.

Opbouw van het CAN-busbericht van een (extended) 28 bits identifier:
De 11 bits identifier is ontworpen in de tijd dat de auto’s nog niet zo veel regelapparaten (nodes) hadden. Al snel kwamen de programmeurs erachter dat ze aan de 11 bits identifier niet genoeg hadden. Deze heeft namelijk maar (2^11) = 2048 mogelijkheden. Daarvan blijven er 2032 unieke combinaties over van de binaire code. Moderne auto’s gebruiken nu veel meer codes dankzij de uitgebreide 28 bits identifier. Dit wordt de extended identifier genoemd.
Hiermee zijn er maarliefst (2^29) = 536870912 combinaties mogelijk. Dit is ruim genoeg voor in de toekomst.
In het CAN-busbericht veranderen dan wel een aantal zaken. Beide identifiers (standaard en extended) worden door elkaar heen gebruikt. In het CAN-bericht wordt dus aangegeven om elke soort het gaat, waarna een lang bericht volgt.
De basis van de 11 bits identifier wordt gebruikt en dient ook als voorbereiding voordat dit doorgelezen wordt; nu worden enkel de wijzigingen aangegeven die het bericht ondergaat wanneer het een 29 bits identifier is.
Het SOF (Start Of Frame) blijft hetzelfde. De zendende node maakt deze dominant wanneer deze begint met een bericht te verzenden.
Daarna volgen de ARB en de CTRL waar de verschillen in zitten.

ARB:
Bij de arbitrage staat er als eerst een standaard 11 bits identifier (dus een deel van de 29 bits). De RTR bit wordt (zoals het bij de 11 bits is) verplaatst naar het einde van de ARB. In plaats van de RTR komt nu het SRR: (Substitute Remote Request). Deze bit is bij een extended identifier altijd recessief (1).
Na het SRR bit komt de IDE bit, welke in de 11 bit identifier in het CTRL (Control Field) staat. Deze wordt nu uit het control field gehaald en bij de extended identifier achter de SRR bit geplaatst.

Ter verduidelijking zijn in de afbeeldingen hieronder de standaard (11-bits) en extended (29-bits) identifiers getoond.

Standaard 11-bits identifier
Extended 29-bits identifier

De IDE bit staat voor Identifier Extension. Aan de IDE bit wordt gezien of het een standaard of extended identifier is.
IDE 0 = Standaard (11 bit ID)
IDE 1 = Extended (29 bit ID)

Na de IDE bit komt de rest van de extended identifier. De 11 en 18 bits maken samen 29. Deze kunnen niet als één geheel in het bericht geplaatst worden, omdat het CAN protocol dan niet meer klopt. In principe geeft de IDE bit nu aan dat het bericht in tweeën gedeeld is.

CTRL:
Het Control Field is bij de extended identifier dus gewijzigd. De IDE bit is verplaatst naar de ARB.
De IDE bit wordt vervangen door een R bit (reserve). Deze is standaard recessief. Daarna volgen nog een R bit en de DLC (Data Length Code), welke aangeeft uit hoeveel bytes het bericht zal bestaan.

Ook nu zijn de control fields van zowel de 11-bits als de 29-bits identifiers getoond.

CTRL van 11-bits IDE
CTRL van 29-bits IDE

Foutherkenning d.m.v. Bitstuffing en CRC & ACK delimiters:
Bitstuffing:
Om de synchronisatie tussen de zendende en ontvangende nodes optimaal te houden wordt er bitstuffing toegepast. Bitstuffing houdt in dat na 5 identieke bits er een tegengestelde bit wordt toegevoegd. Aan het oorspronkelijk verzonden bericht verandert er geen bitwaarde, maar er wordt een bit toegevoegd.
De ontvanger herkent dit. Na 5 identieke bits zal de ontvanger de 6e bit wissen (zie onderstaande afbeelding).

Het oorspronkelijke bericht van alleen enen wordt verzonden, maar de zender voegt elke 6e bit een 0 toe. De berichtlengte neemt dus wel toe vanwege de nullen (maar deze lengte telt niet mee voor de DLC (Data Length Code). De ontvanger filtert de tegengestelde bits (de nullen) er weer uit en leest vervolgens weer het bericht met alleen enen.

CRC & ACK delimiters:
Na het CRC field en het ACK field worden delimiters geplaatst. Dit is een bit met een bekende waarde voor zowel de zender als de ontvanger. Wanneer er een fout in het bericht ontstaat, zal deze waarde dus verschillen. De ontvanger krijgt dan een andere bitwaarde binnen als verwacht, en markeert het bericht als foutief. De zender zal het bericht nogmaals verzenden.

Twisted Pair bedrading:
Als bekabeling voor de CAN-bus wordt er gebruikt gemaakt van twisted pair kabels. De CAN-High en de CAN-Low kabel zijn dan in elkaar gedraaid zoals op de afbeelding te zien is. Op deze manier worden storingsinvloeden van buitenaf vermeden; als er een inductie van een paar tienden volt in de ene kabel komt, komt die ook in de andere. Het spanningsverschil tussen CAN-high en low blijft echter gelijk. Zo wordt de storing opgeheven, en ondervinden de ECU’s daar geen hinder van.

Afsluitweerstanden:
In elk high speed CAN-busnetwerk worden afsluitweerstanden gebruikt. Deze zitten vaak in de nodes aan het einde van de CAN-busleiding (draad) of in de bedrading verwerkt. Deze weerstanden hebben elk een weerstand van 120Ω (Ohm). De vervangingsweerstand wordt gemeten als 60Ω bij een weerstandmeting op de draden.

Deze afsluitweerstanden dienen voor ontstoring; wanneer deze er niet zouden zitten, zou er reflectie ontstaan. Het spanningssignaal gaat door de CAN-busdraad heen, komt aan het einde en kaatst weer terug. Dat laatste wordt voorkomen. De spanning wordt opgenomen in de weerstand. Reflectie zou het weerkaatsen van spanningssignalen kunnen veroorzaken, waardoor de verzonden berichten beïnvloed worden en vervolgens de regelapparaten in storing komen te staan.

Gateway:
De auto is voorzien van een netwerk van regelapparaten (nodes). De gateway verbindt diverse CAN-busnetwerken (denk aan het interieur, de motor / transmissie en het onderstel), de MOST-bus en de LIN-bus met elkaar, waardoor alle netwerken met elkaar kunnen communiceren. Het is dus in feite een knooppunt tussen alle netwerken. De verschillen in snelheid zijn bij een gateway onbelangrijk. Klik hier om naar de pagina te gaan waar de werking en de functies van de Gateway beschreven worden.

Meten aan de CAN-bus:
Er wordt vaak gevraagd of het mogelijk is om de CAN-bus te meten. Dat kan zeker. Er kan een diagnose gesteld worden door de spanningsniveaus op de draden te meten en het spanningsbeeld op de oscilloscoop te controleren. Hoe er gemeten kan worden wordt beschreven op de pagina meten aan het CAN-bussysteem.

Gerelateerde pagina: