RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

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

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

通過(guò) CAN 總線傳輸數(shù)據(jù)是需要按照一定協(xié)議進(jìn)行的,CAN 協(xié)議提供了 5種幀格式來(lái)傳輸數(shù)據(jù):數(shù)據(jù)幀、遙控幀、錯(cuò)誤幀、過(guò)載幀和幀間隔。其中數(shù)據(jù)幀和遙控幀有標(biāo)準(zhǔn)格式和擴(kuò)展格式兩種,標(biāo)準(zhǔn)格式有 11 位標(biāo)識(shí)符(ID),擴(kuò)展格式有 29個(gè)標(biāo)識(shí)符(ID)。這 5 中幀的用途見(jiàn)表:

圖片

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

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

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

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

圖片

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

①、幀起始

幀起始很簡(jiǎn)單,標(biāo)準(zhǔn)格式和擴(kuò)展格式都是由一個(gè)位的顯性電平 0 來(lái)表示幀起始。

②、仲裁段

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

圖片

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

③、控制段

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

圖片

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

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

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

圖片

⑤、CRC 段

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

圖片

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

⑥、ACK 段

ACK 段用來(lái)確認(rèn)接收是否正常,標(biāo)準(zhǔn)格式和擴(kuò)展格式相同,ACK 段結(jié)構(gòu)如圖所示:

圖片

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

⑦、幀結(jié)束

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

圖片

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

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

    關(guān)注

    57

    文章

    2744

    瀏覽量

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

    關(guān)注

    0

    文章

    45

    瀏覽量

    6739
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

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

    CAN標(biāo)準(zhǔn)數(shù)據(jù)和擴(kuò)展數(shù)據(jù)的區(qū)別

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

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

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

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

    遙控 接收單元向發(fā)送單元請(qǐng)求數(shù)據(jù)的時(shí)候就用遙控,遙控由 6 個(gè)段組成: ①、起始,表示數(shù)據(jù)
    的頭像 發(fā)表于 07-25 10:38 ?2387次閱讀
    <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é)議簡(jiǎn)介(下)

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

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

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

    請(qǐng)問(wèn)用CAN存儲(chǔ)器存儲(chǔ)的CAN總線數(shù)據(jù)格式有哪些呢?

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

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

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

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

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

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

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

    can標(biāo)準(zhǔn)和擴(kuò)展的區(qū)別

    CAN(Controller Area Network)是一種用于汽車和工業(yè)領(lǐng)域的通信協(xié)議,它允許多個(gè)設(shè)備在同一總線上進(jìn)行通信。CAN協(xié)議有兩種
    的頭像 發(fā)表于 07-24 15:20 ?1827次閱讀

    can標(biāo)準(zhǔn)和擴(kuò)展能否共存

    CAN(Controller Area Network)是一種用于汽車和工業(yè)自動(dòng)化領(lǐng)域的現(xiàn)場(chǎng)總線通信協(xié)議CAN協(xié)議具有多種格式,包括標(biāo)準(zhǔn)
    的頭像 發(fā)表于 07-24 15:24 ?1849次閱讀
    RM新时代网站-首页