KAN FD
CAN FD (Controller Area Network Flexible Data-Rate) är ett datakommunikationsprotokoll som används för att sända sensordata och styrinformation på 2-trådsförbindelser mellan olika delar av elektronisk instrumentering och kontrollsystem. Detta protokoll används i moderna högpresterande fordon. CAN FD är en förlängning av det ursprungliga CAN-bussprotokollet som specificerades i ISO 11898-1. Grundidén att överklocka en del av ramen och att överdimensionera nyttolasten går tillbaka till 1999. CAN FD utvecklades 2011 och släpptes 2012 av Bosch och utvecklades för att möta behovet av att öka dataöverföringshastigheten upp till 5 gånger snabbare och med större ram-/meddelandestorlekar för användning i moderna elektroniska styrenheter för bilar (ECU). Som i det klassiska CAN, är CAN FD-protokollet utformat för att på ett tillförlitligt sätt överföra och ta emot sensordata, styrkommandon och för att upptäcka datafel mellan elektroniska sensorenheter, styrenheter och mikrokontroller . Även om CAN FD i första hand utformades för användning i högpresterande fordons-ECU, kommer den genomträngande klassiska CAN-tekniken i de olika industrierna att leda till att detta förbättrade datakommunikationsprotokoll tas med i en mängd andra applikationer också, såsom i elektroniska system som används i robotik, försvar, industriell automation, undervattensfordon, medicinsk utrustning, flygelektronik, sensorer för borrning i hål, etc.
CAN FD kontra klassisk CAN
Den primära skillnaden mellan det klassiska CAN (Controller Area Network) och CAN FD är Flexible Data (FD). Med hjälp av CAN FD är elektroniska styrenheter (ECU) aktiverade för att dynamiskt växla mellan olika datahastigheter och längre eller kortare meddelanden. Snabbare datahastighet och fler datakapacitetsförbättringar resulterar i flera systemdriftsfördelar jämfört med klassisk CAN. Kommandon som utfärdas av den exekverande ECU-mjukvaran når utgångsstyrenheten mycket snabbare. CAN FD används vanligtvis i högpresterande ECU:er i moderna fordon. Ett modernt fordon kan ha mer än 70 ECU som använder CAN FD för att utbyta information över CAN-bussen när motorn är igång eller när fordonet är i rörelse.
I CAN FD är det möjligt att använda 11-bitars identifierare (FDBF FD basbildformat) eller 29bitars identifierare (FEFF FD utökat ramformat). Meddelandets nyttolaststorlek har ökats till 64 byte data i varje CAN-ram/meddelande, jämfört med endast 8-byte i den klassiska CAN-ramen. En ram är ett meddelande som överförs som en sekvens av binära bitmönster. I CAN FD ökas datahastigheten (dvs. antalet bitar som överförs per sekund) till att vara 5 till 8 gånger snabbare än den klassiska CAN (5 till 8Mbit/s endast för datanyttolasten, arbitreringsbithastigheten är fortfarande begränsad till max. 1Mbit/s för kompatibilitet). Datahastigheten beror på busnätverkets topologi och de använda transceivrarna . CAN FD-protokollspecifikationen inkluderar även några andra förbättringar, såsom bättre upptäckt av fel i det mottagna CAN-meddelandet och den exekverande mjukvaruflexibiliteten för att dynamiskt välja (från en lista) och växla till snabbare eller långsammare datahastighetsöverföring, när och när det behövs. På CAN FD-bussen kan vissa sensorer arbeta med långsammare datahastighet medan andra med snabbare datahastighet. CAN-bussen är ett delat par ledningar till vilka elektroniska sensorer, styrenheter och ECU:er är anslutna. CAN-bussen används för att utbyta information mellan driftenheter periodiskt eller på begäran. Det elektriska tillståndet och konfigurationen av CAN-bussen, dvs det totala antalet anslutna enheter, längden på CAN-bussledningarna och andra elektromagnetiska faktorer bestämmer den snabbaste dataöverföringshastigheten som är möjlig på den CAN-bussen. CAN-protokollet (och i förlängningen CAN FD) har en utmärkt kollisionsupplösningsmekanism som beror på utbredningstiden för signalen och nätverkskonfigurationen (ring, buss eller stjärna), och i mindre utsträckning, antalet enheter på buss. Därför kan ett fysiskt långt nätverk begränsa datahastigheten under det teoretiska maximum.
CAN-FD busslast som utvecklades av "De Andrades" ekvation baserad på Tindels ekvation.
β = τ/ω (1) (β = Busload), (τ = tid för långsamma bitar plus snabbare bitar), ω (tid i sekunder av mätning). τ = Ts + Tf (2)
CAN-FD-protokollet definierar fem olika feldetekteringsmekanismer: Två av dem fungerar på bitnivå och de andra tre på meddelandenivå. Dom är:
- (1) Bitövervakning, - (2) Bitfyllning, - (3) Ramkontroll, - (4) Kvittenskontroll och - (5) Cyklisk redundanskontroll. Det finns två alternativ för CRC som ska betecknas som för CRC-längd på 17 (Datalängd 0-16 byte) eller CRC-längd på 21 bitar (Datalängd 17–64) byte.
Ts = ([(SOF+ID+r1+IDE+EDL+r0+BRS/2+CRCdel/2)* 1,2]+ACK+DEL+EOF+IFS)/t_x (3)
Tf = ([(D〗_f+BRS/2+ESI+DLC+CRCdel/2)*1,2]+〖CRC〗_17+5)/t_y (4)
där SOF (Start of Frame) + ID (Identifier) + r1 (reserverad bit 1) + IDE + EDL (Extended Data Length) + r0 (reserverad bit 0) + BRS/2 (Bit Rate Switch) + CRCdel/2 (CRC avgränsare)= 17 bitar; 1,2 är faktorn för värsta bitstoppning, vilket innebär att beräkningen ska ökas med 20 %. Det anses BRS och CRCdel dividerat med 2, eftersom de är exakt i förändringen av bithastighetsövergången. ACK (Acknowledge) + DEL (Delimiter) + EOF (End-of-Frame) + IFS (Interframe Spacing) = 12 bitar utan bitstoppning. CAN-FD-nyttolasten kan vara 0, 8, 12, 16, 20, 24, 32, 48, 64 byte. t_X är överföringsbandbredden för meddelandehuvudet (upp till 1 Mbit/s).
- För data < 16 byte
β = ( (SOF+ID+r1+IDE+EDL+r0+BRS/2+CRCdel/2 * 1,2)+ACK+DEL+EOF+IFS)/t_x + (〖[(D 〗_f+BRS/2+ESI+DLC+CRCdel/2)*1,2]+〖CRC〗_17+5)/t_y)/ω (5) För data >= 16 byte β = ( (SOF+ID
- +
) r1+IDE+EDL+r0+BRS/2+CRCdel/2 * 1,2)+ACK+DEL+EOF+IFS)/t_x + (〖[(D〗_f+BRS/2+ESI+DLC+CRCdel/ 2 )*1,2]+〖CRC〗_21+6)/t_y )/ω (6)
CAN FD har också minskat antalet oupptäckta fel genom ökningar i prestandan för CRC -algoritmen. Dessutom är CAN FD kompatibel med befintliga CAN 2.0-nätverk, vilket gör att det nya protokollet kan fungera på samma nätverk som klassiska CAN. CAN FD-bithastighet kan vara upp till 8MBit/s med rätt CAN SIC (Signal Improvement Capability)-sändtagare och så upp till 8 gånger snabbare än klassisk CAN med 1MBit/s datafas.
På grund av högre kommunikationshastighet är CAN FD-begränsningarna tuffare när det gäller parasitisk kapacitans. Därför har alla komponenter på linjen sett sin "kapacitans" budget reducerad jämfört med vanlig CAN-buss . Det är anledningen till att halvledarleverantörer har släppt nya komponenter godkända av biltillverkarna. Detta godkännande återspeglar behovet av interoperabilitet mellan alla CAN FD-system. Faktum är att utvalda ESD-skyddskomponenter är kompatibla med alla transceivrar (CAN eller CAN FD) och tål ISO7637-3.
Trots en högre stand-off spänning (37 V) måste anordningar för lastbilsapplikationer även uppfylla kravet på låg kapacitans (3,5 pF).
CAN & CAN FD TP Headers
7 ... 4 (byte 0) | 3 ... 0 (byte 0) | 15 ... 8 (byte 1) | 23..16 (byte 2) | (byte 3) | (byte 4) | (byte 5) | (byte 6) | .... | |
---|---|---|---|---|---|---|---|---|---|
Enkel ram (SF) | 0 | storlek (0..7) | Data | ||||||
0 | storlek (0..62) | Data | |||||||
Första bildruta (FF) | 1 | storlek (8..4095) | Data | ||||||
0 | 00 | storlek (4byte ~4GB) | Data | ||||||
Konsekutiv ram (CF) | 2 | index (0..15) | Data | ||||||
Flödeskontrollram (FC) | 3 | FC-flagga (0,1,2) | Block storlek | ST | Oanvänd |
Tabellen ovan förklarar överföringsprotokollet definierat för CAN + CANFD, baserat på ISO 15765-2 (ISO-TP).
Specifikt för CANFD,
- om den första byten av SF=0, anger den andra byten storleken på datan.
- om de första 2 byten av FF=0x10 00, anger följande 4 byte storleken på data i hög byte första ordningen. Detta gör det praktiskt taget möjligt att skicka ~4GB (ungefär) data i CAN FD.
CAN Transceiver
CAN FD kan använda Transceiver för klassisk CAN och CAN FD. Dessutom finns det nya CAN SiC (Signal Improvement Capability) Transceiver med 5 till 8MBit/s datahastighet.
KAN FD i aktion
Under 2017 förutspåddes CAN FD användas i de flesta fordon 2019–2020.
KAN FD-anhängare
Några av företagen bakom den nya standarden är STMicroelectronics , Infineon , NXP , Texas Instruments , Kvaser, Daimler och GM .
CAN FD bildar ett grundläggande datalänklager i vissa högre Layer-protokoll som CANopen som CANopen FD och J1939 och stöds av olika företag med protokollstackar.
CAN XL
CAN XL är den tredje versionen av CAN-datalänkslagret efter klassisk CAN och CAN FD. CAN FD är kompatibel med CAN XL.
externa länkar
- Jämför CAN FD med klassisk CAN
- KAN FD: Från teori till praktik
- CAN Bus Protection: Skydda det som skyddar dig
- Linux och ISO 15765-2 med CAN FD - Detaljer om hur (nyttolast) datalängd skiljer sig mellan CAN och CANFD
- Linux och ISO 15765-2 med CAN FD 15:e internationella CAN-konferensen 2015
- KAN FD förklaras