關於CAN和CANFD物理層和數據鏈路層的對比分析

關於CAN和CANFD物理層和數據鏈路層的對比分析

物理層:CAN和CANFD的物理層相同,只是進行了協議升級。所以硬件方面並未發生改變。需要一個CAN收發器、CAN控制器。其中CAN控制器是CAN局域網控制器的簡稱,主要作用是解決不同設備之間數據交換的問題;CAN收發器的作用是將二進制數據流轉化成差分信號輸出,或者將差分信號轉化成二進制數據流輸出。在CAN總線上,需要在總線遠端配備120Ω的終端電阻,作用類似於485、232等通信一樣,等同傳輸線阻抗,減少信號的反射。但是如果是長距、低速傳輸並不需要配備120Ω的終端電阻。
數據鏈路層:
(1) 速率:CAN:數據最大傳輸速率爲1Mbps,並且不可變。
CANFD:數據最大傳輸速率爲8Mbps,仲裁比特率最高爲1Mbps(和CAN相同)。 在這裏插入圖片描述
對於CANFD的可變速率來講, BRS位爲比特率加速過度階段,前半階段會採用最高位1M的傳輸速率,後半段會採用高比特傳輸,在CRC界定符位的傳輸情況和BRS位的傳輸情況相同,但是速率的過度正好相反。在BRS位中,CANFD數據段以BRS採樣點作爲起始點,顯性位表示轉換速率不可變,隱性位表示轉換速率可變。CRC界定符位中,CANFD數據以CAC界定符的採樣點爲結束點。
(2) 數據長度:CAN:一幀數據長8個字節。
CANFD:一幀數據最長64個字節。
(3) 幀格式:CANFD新增了FDF、BRS、ESI位。
FDF:隱性電平爲CANFD報文;顯性爲CAN報文。
BRS:隱性爲轉換可變速率;顯性爲不可轉變可變速率。
ESI:處於被動錯誤狀態的節點時爲隱性電平發送處於被動錯誤狀態標識;處於主動錯誤狀態的節點時爲顯性電平發送處於主動狀態錯誤標識。發送錯誤標識的同時可正常通信,節點仍然可以從總線上獲取其他報文,也可以在總線競爭獲勝之後發送報文。
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述
在初始化完成時,系統處於錯誤主動狀態,當接收錯誤計數器或者發送錯誤計數器的值在127之上的時候,變爲錯誤被動狀態;當接收錯誤計數器和發送錯誤計數器的值都在128之下的時候,變爲錯誤被動狀態,當發送錯誤計數器的值在255之上的時候,總線關閉。當復位後或檢測到128個連續的隱性位則再次進入錯誤主動狀態。
(4) CRC校驗:以填充位流進行計算,在校驗和部分,爲避免有再有連續的位超過6個,就在第一位以及每後四位添加一個填充位加以分割,這個填充位是上一位的反碼,如果填充的不是上一位的反碼,就做錯誤處理。針對不一樣的CAN發送數據字節數,對應不同的CRC位數。
在這裏插入圖片描述
(5) 應答位:CANFD接收一個兩位的ACK,也用作網絡中所有節點的再同步。
(6) 同步:考慮到總線上的各個節點延遲,主機發送報文到從機接收到報文和從機發送報文到主機接收到報文時存在時間差,所以要進行時間補償提高通信的成功率。
CAN和CANFD的同步方式分爲重同步和硬同步
重同步:會對每一位的下降沿和配置的波特率進行比對,如果沒有匹配,則進行同步。
硬同步:在每個幀起始的下降沿進行強制同步。
(7) 仲裁:在總線競爭中,ID數越小,優先級越高。在兩個設備ID相同的情況下,顯性位的優先級高於隱性位的優先級。
CAN的ID:11位(標準幀)
在這裏插入圖片描述
CANFD的ID:11位(標準幀)+18(擴展ID)
在這裏插入圖片描述
如果涉及到標準幀和擴展幀的仲裁,標準幀會和擴展幀的b28-b18進行競爭,如果和擴展幀的b28-b18具有相同的ID,由於標準幀的擴展ID爲0 ,則標準幀贏得競爭。
總結:CANFD具有更高的可調傳輸速率,更精準的CRC校驗公式,是CAN通信協議的升級版,在物理層並未發生變化,只是在數據鏈路層發生變化。

(以上爲個人學習總結,轉載註明出處。另推薦一個pdf文檔,對比CAN和CANFD的報文結構,本文出處大多數來自於該文檔。如有理解偏差,請私信交流,在本人文章列表,如有需要請下載。)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章