一幀CAN FD報文位數
根據CAN FD幀結構組成,可以算出一幀CAN FD報文位數:
CAN FD報文位數 = 幀起始(1位)+ 仲裁段(13/32位)+ 控制段(8位)+ 數據段(0~512位)+ CRC段(28/33位)+ ACK段(2位)+ 幀結束(7位)
影響報文位數主要為仲裁段(幀ID長度)和數據段(CRC段受數據段長度影響)。通過幀類型、幀長度組合出不同情況報文位數:
標準幀,數據0字節
幀起始(1位)+ 仲裁段(13位)+ 控制段(8位)+ 數據段(0位)+ CRC段(28位)+ ACK段(2位)+ 幀結束(7位)= 59位
標準幀,數據64字節
幀起始(1位)+ 仲裁段(13位)+ 控制段(8位)+ 數據段(512位)+ CRC段(33位)+ ACK段(2位)+ 幀結束(7位)= 576位
擴展幀,數據0字節
幀起始(1位)+ 仲裁段(32位)+ 控制段(8位)+ 數據段(0位)+ CRC段(28位)+ ACK段(2位)+ 幀結束(7位)= 78位
擴展幀,數據64字節
幀起始(1位)+ 仲裁段(13位)+ 控制段(8位)+ 數據段(512位)+ CRC段(33位)+ ACK段(2位)+ 幀結束(7位)= 590位
精品專欄仲裁域和數據域位數
由于CANFD采用了雙波特率形式:標準波特率(也稱仲裁域波特率)和數據域波特率,所以幀結構中不同段采用的波特率也不同。
仲裁域波特率所占位數幀起始(1位)+ 仲裁段(13位)+ 控制段的EDL、r0、BRS(3位)+ ACK段(2位)+ 幀結束(7位)
數據域波特率所占位數控制段的ESI、DLC(5位)+ 數據段(0~512位)+ CRC段(28/33位)
主要說明的是,BRS位和CRC界定符位均同時使用了兩個波特率:
BRS位:由**仲裁域波特率 * 仲裁域采樣點 + 數據域波特率 * (1 - 仲裁域采樣點)**組成;
CRC界定符:由**數據域波特率 * 數據域采樣點 + 仲裁域波特率 * (1 - 數據域采樣點)**組成。
此處將BRS認定采用仲裁域波特率、CRC界定符采用數據域波特率以方便計算。
-
汽車電子
+關注
關注
3029文章
8023瀏覽量
167806 -
CAN
+關注
關注
57文章
2769瀏覽量
464383 -
報文
+關注
關注
0文章
38瀏覽量
4068
發布評論請先 登錄
相關推薦
CAN總線報文數據一致性校驗
![<b class='flag-5'>CAN</b>總線<b class='flag-5'>報文</b>數據<b class='flag-5'>一</b>致性校驗](https://file1.elecfans.com/web2/M00/BE/F7/wKgaomWwcEmAG7U5AAA2PLzmLYM263.png)
ESP32C6作為UDP Server,使用recvfrom無法及時收到第一幀報文的原因?如何解決?
請問STM32F4的OTG模塊一幀內32最大可以傳輸多少字節給PC?
CAN報文的單次發送和循環發送問題請教
S32G2 FlexCAN CAN FD使用DMA接收字節順序錯誤的原因?怎么解決?
一文詳解CAN總線的報文結構
can總線一幀多少字節多少位_MCU擴展CAN/CAN FD接口方案MCP2518FD+ATA6563
![<b class='flag-5'>can</b>總線<b class='flag-5'>一幀</b>多少<b class='flag-5'>字節</b>多少位_MCU擴展<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN</b> FD接口方案MCP2518FD+ATA6563](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
【Z站推薦】CANFD每秒最多可以發送多少幀報文?
![【Z站推薦】CANFD每秒最多可以發送多少<b class='flag-5'>幀</b><b class='flag-5'>報文</b>?](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
評論