Wat is CAN, CAN 2.0 en CAN Classic?
Een kort overzicht van de CAN-bus.
CAN protocol
CAN is een broadcast seriële bus: iedere CAN-node kan berichten verzenden die door alle anderen CAN-nodes ontvangen worden. Er is dus geen fysieke adressering maar de software bepaald vervolgens wat het met een bericht doet. Een CAN-bericht bestaat uit een 11-bit of 29-bit Identifier (=Id) gevolgd door maximaal 8 databyte's. CAN werkt met bus arbitrage: Hoe lager het Id, hoe hoger de berichtprioriteit: bij het verzenden gaan berichten met een lagere Id vóór op die met een hogere Id. Het bericht met CAN Id = 0 heeft dus de allerhoogste prioriteit.
Identifiers hebben verder geen betekenis. De toekenning van Id's aan berichten is vrij en het is opnieuw aan de software om Id's een typische betekenis te geven.
Een CAN-bericht kan maximaal 8 databyte's bevatten. Verder bevat een CAN-bericht wat overhead en een CRC checksum controle.
CAN 2.0 en CAN Classic
Oorspronkelijk bevatte CAN enkel 11-bit identifiers. Bosch voegde de variant met 29-bit identifier toe om in Amerika de SAE J1939-standaard te kunnen ondersteunen. Dit gebeurde in 1991 en werd geïntroduceerd als CAN 2.0 of CAN 2.0A/B. Hierbij staat CAN 2.0A voor de 11-bit en CAN 2.0B voor de 29-bit identifier. Met de komst van CAN FD en CAN XL werd CAN 2.0 omgedoopt in CAN Classic.
Beide type identifiers mogen door elkaar heen gebruikt worden, maar zijn wel verschillend.
Physical Layer
CAN is een hardware protocol: er is een CAN-controller nodig, vaak onderdeel van een microcontroller, om de berichten te generen en te ontvangen. Een CAN-controller zendt en ontvangt digitale signalen. Er is daarom aanvullende elektronica nodig - met de term
Er bestaan géén draadloze CAN-verbindingen. Er zijn wel Bluetooth en WiFi oplossingen op de markt, maar die zetten het CAN-bericht eerst om in een ander formaat en visa versa.
Bus snelheid, lengte en aantal nodes
CAN berichten kunnen verzonden worden met een snelheid van circa 10 Kbit/s tot en met 1 Mbit/sec. De snelheid bepaald de maximale bus lengte: bij 1 Mbit/s is dat max. 40 meter, bij 10 Kbit/s is dat 5.000 meter. Het aantal CAN-nodes in een netwerk is in principe oneindig maar in de praktijk beperkt door de physical layer. Standaard physical layers ondersteunen maximaal 112 nodes maar dat kan worden vergroot door middel van repeaters.
Hogere protocollen
Het CAN-protocol legt de functie en inhoud van berichten niet vast, gebruikers kunnen dit zelf bepalen. Dat werkt uitstekend in gesloten systemen, zoals in auto's, maar is lastig bij het combineren van netwerknodes van verschillende leveranciers. Hiertoe zijn hogere protocollen als CANopen, DeviceNet en SAE J1939 ontwikkeld. Zij zorgen voor de verdeling van Id's en het samenstellen van de data byte's. Daarnaast voegen ze netwerkmanagement toe, want CAN op zich niet heeft.






