<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一幀CAN報文多少字節

麥辣雞腿堡 ? 來源:美男子玩編 ? 作者:不脫發的程序猿 ? 2023-07-18 10:48 ? 次閱讀

一幀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界定符采用數據域波特率以方便計算。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 汽車電子
    +關注

    關注

    3002

    文章

    7535

    瀏覽量

    162089
  • CAN
    CAN
    +關注

    關注

    56

    文章

    2497

    瀏覽量

    460479
  • 報文
    +關注

    關注

    0

    文章

    31

    瀏覽量

    3991
收藏 人收藏

    評論

    相關推薦

    TC364&amp;TJA1145特定CAN報文丟失怎么解決?

    客戶現場進行急加速和急減速過程中,出現了特定ID的報文丟失,其它報文發送正常,CAN塊用的工具配置生成,家里進行測試Busoff后能正?;謴?,從來沒有碰到過這種丟
    發表于 01-23 06:03

    ESP32C6作為UDP Server,使用recvfrom無法及時收到第一幀報文的原因?如何解決?

    后調用recvfrom()阻塞等待接收報文。 在測試時發現,AP在接收來自STA的第一幀UDP報文時recvfrom()無法及時返回結果,通常在STA發送第一幀
    發表于 06-06 07:34

    關于can模塊的發送報文問題。

    本人使用英飛凌的xc886單片機,此單片機內含muliCAN模塊。請教下:can發送報文能連續發多個報文嗎(非FIFO模式,就是一幀一幀的發
    發表于 11-23 15:47

    can協議 發送自動重傳的問題

    最近,在調試STM32的can總線,遇到個問題,can發送報文時,有個自動重傳模式。也就是can
    發表于 01-02 10:23

    有關串行通信里面一幀一幀發送數據的問題?。。?!

    我想實現一幀一幀的發送數據,一幀發送數據的長度可以自己定義,請問要怎么修改一幀發送數據的長度???怎么實現???
    發表于 07-26 10:29

    k60單片機can通訊如何使用多個郵箱接收報文

    飛思卡爾的K60單片機CAN模塊共有16個郵箱,那么如何使用多個郵箱來接收CAN消息呢?比如郵箱MB1,MB2,MB3初始為接收郵箱,并且都清空,當第一幀消息來時,報文存入MB1,第二
    發表于 12-08 16:56

    關于CAN發送的問題

    現在我的設備需要發送3共24個字節的數據給上位機,但是在上位機的通訊要求中只給了報文ID 0X1FD08063,我以前只試過用三個報文
    發表于 12-19 16:42

    Can通訊檢測,根據協議發送請求多,只能收到第一幀,請問這是為什么?如何解決?

    用NI的xnet卡 來做can檢測我作為Tester 發送 1X XX XX XX 。。。。發多指令。在送3X XX XX。。流控制,等待多連續
    發表于 07-02 16:31

    請問STM32F4的OTG模塊一幀內32最大可以傳輸多少字節給PC?

    我使用的是OTG_FS的bulk方式傳輸,PC為主機,單片機為設備。1:一幀內32最大可以傳輸多少字節給PC?一幀內可以傳輸多少次事務,次事務傳輸可以傳輸多少個數據包,
    發表于 11-14 09:03

    can總線報文的數據結構原理

    CAN 總線的報文傳輸是通過 4 種不同類型的(Frame)來表示和控制的:? 數據(Data Frame) 用來在數據傳輸過程中攜帶數據。? 遠程
    發表于 12-17 10:59

    CAN報文定義

    1. CAN報文定義CAN報文是指發送單元向接受單元傳送數據的。我們通常所說的CAN
    發表于 09-14 09:23

    CAN報文的單次發送和循環發送問題請教

    CAN報文怎樣設置單次發送和循環發送?類似圖片可以單次發送也可以循環發送,循環時間也可以修改,數據內容也可以修改問題關鍵在于多報文怎樣去設置?當前的思路是每一幀
    發表于 10-26 11:54

    為什么一幀數據之間有幾十ms的間隔呢?

    代碼如下:發送400左右個字節rt_device_write(dev, 0, USART3_TX_BUF, n);然后串口調試助手顯示如下:問題1:為什么一幀數據之間有幾十ms的間隔呢?這樣導致我
    發表于 08-08 10:16

    S32G2 FlexCAN CAN FD使用DMA接收字節順序錯誤的原因?怎么解決?

    我在 goldbox 上以 DMA 模式使用 flexcan 時遇到字節字節序錯誤。因為沒有DMA,發送正常。當接收到第一幀CAN FD報文
    發表于 04-27 07:09

    CAN報文為什么會發送失???

    CAN總線調試過程中出現報文發送失敗。很多工程師都對此只知其一不知其二,今天我們就以CAN報文發送失敗的問題來做一次探討。在了解CAN
    的頭像 發表于 04-12 08:25 ?584次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>報文</b>為什么會發送失???
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>