CAN FD總線


CAN FD 總線

1.什么是CAN FD總線?

  在汽車制造中,比較常用的是CAN總線,CAN總線的傳輸速率為1Mbit/s,在特定情況下達不到想要的傳輸速度,在此基礎上便開發了CAN FD總線,也就是說CAN FD是CAN總線的升級版,CAN總線升級后可以向下兼容CAN總線,只需要更換原來的CAN控制器即可。

2.CAN FD總線的幀結構

圖3 CAN FD 與 CAN 報文幀對比(圖片摘自Vector)

 

從圖3可以看出,CAN FD報文在數據段之前基本和傳統CAN類似,增加了FDF位,即原本該出現【0】的res變為了出現【1】的FDF,從而告訴了總線上所有其他節點本報文是CAN FD報文。另外的一些變化包括CAN FD移除了RTR,變為了固定為【0】的res,以及增加了BRS位(Bit Rate Switch速率不切換/速率切換)來表明速率的切換,以及ESI位(Error State Indicator error passive/ active)來表明錯誤狀態。

 

CAN FD因為最大可以傳輸64字節的數據,所以DLC和傳統報文的有些區別,具體如圖4所示:

圖4 CAN FD與傳統CAN 的DLC(圖片摘自Vector)

 

數據段的變化就是由最大8字節變成了如圖4中DLC所描述的那樣,最大可容納64字節數據。

最后說下數據段后面的CRC和ACK,因為CAN FD的CRC對bit stuff也進行計算,所以在報文幀中增加了Stuff Count(見圖5)。

 

圖5 Stuff Count(圖片摘自Vector)

 

從圖5可以看出,Stuff Count可以分為兩部分,即代表bit stuff個數余8的數據位,以及最后的奇偶校驗位。

CRC的位長則根據數據長度不同而不同:

  • 傳統CAN的CRC位長15bit
  • 數據長度為16字節和16字節以下的CAN FD報文的CRC位長17bit
  • 數據長度為16字節以上的CAN FD報文的CRC位長21bit

CAN FD的CRC分隔和ACK與傳統CAN一樣,但是因為考慮到收發器速率切換的問題,總線分別可以容忍數據的1位延長,即CRC Delimiter從原來的1位【1】變為了CAN FD的最大2位【1】,ACK從原來的1位【0】變為了CAN FD的最大2位【0】

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM