0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

3天內(nèi)不再提示

CAN協(xié)議數(shù)據(jù)幀的介紹

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:嵌入式Linux系統(tǒng)開 ? 2023-07-25 10:36 ? 次閱讀

通過 CAN 總線傳輸數(shù)據(jù)是需要按照一定協(xié)議進行的,CAN 協(xié)議提供了 5種幀格式來傳輸數(shù)據(jù):數(shù)據(jù)幀、遙控幀、錯誤幀、過載幀和幀間隔。其中數(shù)據(jù)幀和遙控幀有標準格式和擴展格式兩種,標準格式有 11 位標識符(ID),擴展格式有 29個標識符(ID)。這 5 中幀的用途見表:

圖片

1、數(shù)據(jù)幀

數(shù)據(jù)幀由 7 段組成:

①、幀起始,表示數(shù)據(jù)幀開始的段。②、仲裁段,表示該幀優(yōu)先級的段。③、控制段,表示數(shù)據(jù)的字節(jié)數(shù)及保留位的段。④、數(shù)據(jù)段,數(shù)據(jù)的內(nèi)容,一幀可發(fā)送 0~8個字節(jié)的數(shù)據(jù)。⑤、CRC 段,檢查幀的傳輸錯誤的段。⑥、ACK 段,表示確認正常接收的段。⑦、幀結(jié)束,表示數(shù)據(jù)幀結(jié)束的段。

數(shù)據(jù)幀結(jié)構(gòu)如圖所示:

圖片

圖給出了數(shù)據(jù)幀標準格式和擴展格式兩種幀結(jié)構(gòu),圖中 D 表示顯性電平 0、R 表示隱性電平 1,D/R 表示顯性或隱性,也就是 0 或1,我們來簡單分析一下數(shù)據(jù)幀的這 7 個段。

①、幀起始

幀起始很簡單,標準格式和擴展格式都是由一個位的顯性電平 0 來表示幀起始。

②、仲裁段

仲裁段表示幀優(yōu)先級,仲裁段結(jié)構(gòu)如圖所示:

圖片

標準格式和擴展格式的仲裁段不同,從圖可以看出,標準格式的 ID 為 11 位,發(fā)送順序是從 ID10 到 ID0,最高 7 位 ID10~ID4不能全為隱性(1),也就是禁止 0X1111111XXXXX這樣的 ID。擴展格式的 ID 為 29 位,基本 ID 從 ID28 到 ID18,擴展 ID 由ID17 到 ID0,基本ID 與標準格式一樣,禁止最高 7 位都為隱性。

③、控制段

控制段由 6 個位構(gòu)成,表示數(shù)據(jù)段的字節(jié)數(shù),標準格式和擴展格式的控制段略有不同,如圖所示:

圖片

圖中 r1 和 r0 為保留位,保留位必須以顯性電平發(fā)送。DLC 為數(shù)據(jù)長度,高位在前,DLC 段有效值范圍為 0~8。

④、數(shù)據(jù)段

數(shù)據(jù)段也就是幀的有效數(shù)據(jù),標準格式和擴展格式相同,可以包含 0~8 個字節(jié)的數(shù)據(jù),從最高位(MSB)開始發(fā)送,結(jié)構(gòu)如圖所示:

圖片

⑤、CRC 段

CRC 段保存 CRC 校準值,用于檢查幀傳輸錯誤,標準格式和擴展格式相同,CRC 段結(jié)構(gòu)如圖所示:

圖片

從圖可以看出,CRC 段由 15 位的 CRC 值與 1 位的 CRC 界定符組成。CRC值的計算范圍包括:幀起始、仲裁段、控制段、數(shù)據(jù)段,接收方以同樣的算法進行計算,然后用計算得到的 CRC 值與此 CRC段進行比較,如果不一致的話就會報錯。

⑥、ACK 段

ACK 段用來確認接收是否正常,標準格式和擴展格式相同,ACK 段結(jié)構(gòu)如圖所示:

圖片

從圖可以看出,ACK 段由 ACK 槽(ACK Slot)和 ACK 界定符兩部分組成。發(fā)送單元的 ACK,發(fā)送 2
個隱性位,而接收到正確消息的單元在 ACK 槽(ACK Slot)發(fā)送顯性位,通知發(fā)送單元正常接收結(jié)束,這個過程叫發(fā)送 ACK/返回 ACK。發(fā)送 ACK的是所有接收單元中接收到正常消息的單元,所謂正常消息是指不含填充錯誤、格式錯誤、CRC錯誤的消息,這些接收單元既不處于總線關(guān)閉態(tài)也不處于休眠態(tài)的所有接收單元中。

⑦、幀結(jié)束

最后就是幀結(jié)束段,標準格式和擴展格式相同,幀結(jié)束段結(jié)構(gòu)如圖所示:

圖片

從圖可以看出,幀結(jié)束段很簡單,由 7 位隱性位構(gòu)成。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2898

    瀏覽量

    466960
  • 數(shù)據(jù)幀
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    6922
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    淺談CAN FD總線協(xié)議格式

    假期更新了一文搞懂CAN總線協(xié)議格式,CAN FD總線協(xié)議怎能錯過?本篇博文將講解CAN FD
    發(fā)表于 10-14 12:49 ?3963次閱讀
    淺談<b class='flag-5'>CAN</b> FD總線<b class='flag-5'>協(xié)議</b><b class='flag-5'>幀</b>格式

    CAN協(xié)議規(guī)定了好幾種類型

    通過對 CANBUS協(xié)議的理解,我們知道:CAN總線上的節(jié)點接收或發(fā)送數(shù)據(jù)都是以為單位的!??!CAN協(xié)
    發(fā)表于 08-19 08:50

    CAN協(xié)議數(shù)據(jù)是如何構(gòu)成的

    CAN協(xié)議具有哪些特點?CAN協(xié)議有哪幾種類型呢?CAN協(xié)
    發(fā)表于 10-27 07:46

    CAN總線過載數(shù)據(jù)詳解

    CAN:Controller Area Network,控制器局域網(wǎng)是一種能有效支持分布式控制和實時控制的串行通訊網(wǎng)絡(luò)。本文首先介紹CAN總線系統(tǒng)結(jié)構(gòu)及數(shù)據(jù)傳輸,其次詳細的闡述了
    的頭像 發(fā)表于 05-07 10:59 ?2.2w次閱讀
    <b class='flag-5'>CAN</b>總線過載<b class='flag-5'>幀</b>及<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>幀</b>詳解

    CAN標準數(shù)據(jù)和擴展數(shù)據(jù)的區(qū)別

    CAN協(xié)議可以接收和發(fā)送11位標準數(shù)據(jù)和29位擴展數(shù)據(jù),
    的頭像 發(fā)表于 09-28 09:50 ?1.4w次閱讀

    CAN FD結(jié)構(gòu)介紹

    CAN FD結(jié)構(gòu) CAN FD節(jié)點可以正常收、發(fā)CAN報文,但CAN節(jié)點不能正確收、發(fā)CAN
    的頭像 發(fā)表于 07-18 10:42 ?8481次閱讀
    <b class='flag-5'>CAN</b> FD<b class='flag-5'>幀</b>結(jié)構(gòu)<b class='flag-5'>介紹</b>

    CAN協(xié)議的幾種格式介紹

    遙控 接收單元向發(fā)送單元請求數(shù)據(jù)的時候就用遙控,遙控由 6 個段組成: ①、起始,表示數(shù)據(jù)
    的頭像 發(fā)表于 07-25 10:38 ?2802次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>協(xié)議</b>的幾種<b class='flag-5'>幀</b>格式<b class='flag-5'>介紹</b>

    CAN和CANFD協(xié)議簡介(下)

    前篇內(nèi)容請點擊查看: RA MCU CAN和CANFD IP介紹 CAN和CANFD協(xié)議簡介(上) 2. CAN
    的頭像 發(fā)表于 08-02 12:15 ?3681次閱讀
    <b class='flag-5'>CAN</b>和CANFD<b class='flag-5'>協(xié)議</b>簡介(下)

    CAN通信協(xié)議中有哪幾種類型?CAN通信中格式的作用

    CAN通信協(xié)議中有四種類型,分別是數(shù)據(jù)、遠程、錯誤
    的頭像 發(fā)表于 01-30 09:18 ?6776次閱讀

    請問用CAN存儲器存儲的CAN總線數(shù)據(jù)格式有哪些呢?

    請問用CAN存儲器存儲的CAN總線數(shù)據(jù)格式有哪些呢? CAN總線是一種常用于汽車、工業(yè)控制和其他應(yīng)用領(lǐng)域的串行通信
    的頭像 發(fā)表于 01-31 13:46 ?1739次閱讀

    CAN數(shù)據(jù)的各個域及其作用

    CAN(Controller Area Network)是一種用于汽車電子系統(tǒng)中的通信協(xié)議,它具有高可靠性、實時性和靈活性等特點。在CAN通信中,數(shù)據(jù)
    的頭像 發(fā)表于 07-24 15:10 ?2666次閱讀

    can數(shù)據(jù)有哪幾個域組成

    CAN(控制器局域網(wǎng)絡(luò))是一種基于消息傳遞的通信協(xié)議,廣泛應(yīng)用于汽車、工業(yè)自動化和嵌入式系統(tǒng)等領(lǐng)域。CAN協(xié)議數(shù)據(jù)
    的頭像 發(fā)表于 07-24 15:14 ?1798次閱讀

    can網(wǎng)絡(luò)數(shù)據(jù)的特點

    特點,在分布式系統(tǒng)中得到了廣泛應(yīng)用。 數(shù)據(jù)的重要性 :數(shù)據(jù)CAN網(wǎng)絡(luò)中用于數(shù)據(jù)傳輸?shù)幕締?/div>
    的頭像 發(fā)表于 07-24 15:18 ?727次閱讀

    can標準和擴展能否共存

    CAN(Controller Area Network)是一種用于汽車和工業(yè)自動化領(lǐng)域的現(xiàn)場總線通信協(xié)議。CAN協(xié)議具有多種格式,包括標準
    的頭像 發(fā)表于 07-24 15:24 ?2758次閱讀

    基于Vector工具進行CAN協(xié)議錯誤的分析實踐

    廣播發(fā)送的短結(jié)構(gòu),還體現(xiàn)在其錯誤檢測機制上。通過總線數(shù)據(jù)以及總線波形來分析總線故障時,CAN協(xié)議錯誤檢測機制中豐富的錯誤類型能讓定位問題
    的頭像 發(fā)表于 01-15 10:03 ?493次閱讀
    基于Vector工具進行<b class='flag-5'>CAN</b><b class='flag-5'>協(xié)議</b>錯誤<b class='flag-5'>幀</b>的分析實踐

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品