CAN vs CAN FD: Kompatibilitet

28 maj 2020 vid 22:00
Ixxat
CAN FD- och standard-CAN-nätverk är inte helt kompatibla. Även om de börjar på samma sätt, accelererar CAN FD datahastigheten under överföringen, vilket gör att vanliga CAN-styrenheter misstolkar data och avvisar ramen.

En av de viktigaste frågorna om CAN FD är om den kommer att fungera med ett vanligt CAN-nätverk eller inte. Svaret är:  förmodligen inte. Detta förklaras bättre genom att titta på hur de olika CAN-ramarna ser ut. Vid en första anblick ser de två diagrammen nästan likadana ut. 

 

CAN frame

CAN FD Frame

 

Meddelandena börjar med en startbit och fortsätter sedan till skiljedomsfasen med meddelandehuvudet. Sedan, när skiljedomen är etablerad, kommer datapaketet att följa. Den avslutas med en CRC och slutet av bildsekvensen.

Ett av de största problemen med CAN- och CAN FD-kompatibilitet är att de är mycket nära men inte samma sak. Den största skillnaden är att FD-ramen kommer att accelerera datahastigheten under dataöverföringsfasen. Men eftersom ramen började se ut som en giltig CAN-ram, tar standard-CAN-styrenheten emot den. När den går in i accelererad datahastighet kommer standard CAN-ramen inte att se saker bitar och tro att databussen är trasig. Den kommer då att avvisa ramen med en felram. 

Detta är inte fallet omvänt, en CAN FD-styrenhet kommer att kunna ta emot en standard CAN-ram utan problem. Framöver kommer det att finnas CAN FD-toleranta standard CAN-styrenheter. De kommer att veta att en CAN FD-ram går och ignorera den utan att skicka en felram. Men den viktigaste slutsatsen är att det inte är en bra idé att använda CAN FD på en äldre CAN-buss och att det med största sannolikhet inte kommer att fungera.