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

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

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

CAN總線的報文類型介紹

CHANBAEK ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2024-09-03 14:20 ? 次閱讀

CAN(Controller Area Network)總線是一種廣泛使用的串行通信協(xié)議,特別適用于汽車和工業(yè)自動化領(lǐng)域。CAN總線上的報文類型主要可以分為以下幾種,每種類型都有其特定的用途和格式。

一、數(shù)據(jù)幀(Data Frame)

數(shù)據(jù)幀是CAN總線上最基本的報文類型,用于節(jié)點之間傳輸數(shù)據(jù)。數(shù)據(jù)幀由多個段組成,包括幀起始、仲裁段、控制段、數(shù)據(jù)段、CRC段、ACK段和幀結(jié)束。

1. 幀起始(Start of Frame, SOF)

  • 定義 :表示數(shù)據(jù)幀開始的段,由一個顯性位(邏輯0)組成。
  • 作用 :當(dāng)總線空閑時,發(fā)送節(jié)點發(fā)送幀起始,其他接收節(jié)點同步于該幀起始位。

2. 仲裁段(Arbitration Field)

  • 定義 :表示該幀優(yōu)先級的段,根據(jù)仲裁段ID碼長度的不同,分為標(biāo)準(zhǔn)幀(CAN 2.0A)和擴(kuò)展幀(CAN 2.0B)。
  • 內(nèi)容 :標(biāo)準(zhǔn)格式幀的仲裁段由11位標(biāo)識符(ID)和遠(yuǎn)程發(fā)送請求位(RTR)組成;擴(kuò)展格式幀的仲裁段由29位標(biāo)識符和RTR位組成。
  • 作用 :用于確定發(fā)送的幀類型(數(shù)據(jù)幀或遙控幀)以及發(fā)送的幀格式(標(biāo)準(zhǔn)幀或擴(kuò)展幀),并決定幀的優(yōu)先級。

3. 控制段(Control Field)

  • 定義 :表示數(shù)據(jù)的字節(jié)數(shù)及保留位的段。
  • 內(nèi)容 :包括數(shù)據(jù)長度代碼(DLC)和兩個保留位(r0、r1)。DLC指示了數(shù)據(jù)段中的字節(jié)數(shù)量,可以是0到8個字節(jié)。
  • 作用 :告知接收節(jié)點數(shù)據(jù)段的長度,以便正確接收數(shù)據(jù)。

4. 數(shù)據(jù)段(Data Field)

  • 定義 :數(shù)據(jù)的內(nèi)容,可發(fā)送0~8個字節(jié)的數(shù)據(jù)。
  • 作用 :傳輸實際的數(shù)據(jù)信息。

5. CRC段(Cyclic Redundancy Check Field)

  • 定義 :檢查幀的傳輸錯誤的段,包括CRC序列和CRC界定符。
  • 作用 :通過CRC校驗確保數(shù)據(jù)的完整性和正確性。

6. ACK段(Acknowledgment Field)

  • 定義 :表示確認(rèn)正常接收的段,由ACK槽和ACK界定符組成。
  • 作用 :當(dāng)接收器正確地接收到有效的報文時,會在ACK槽期間向發(fā)送器發(fā)送一個顯性位以示應(yīng)答。

7. 幀結(jié)束(End of Frame, EOF)

  • 定義 :表示數(shù)據(jù)幀結(jié)束的段,由7個隱性位組成。
  • 作用 :標(biāo)志數(shù)據(jù)幀的結(jié)束。

二、遙控幀(Remote Frame)

遙控幀用于請求發(fā)送具有相同ID的數(shù)據(jù)幀。當(dāng)接收節(jié)點需要某個數(shù)據(jù)但自己沒有該數(shù)據(jù)時,會發(fā)送一個遙控幀來請求發(fā)送節(jié)點發(fā)送相應(yīng)的數(shù)據(jù)幀。遙控幀的結(jié)構(gòu)與數(shù)據(jù)幀相似,但數(shù)據(jù)段為空,且RTR位被設(shè)置為1。

三、錯誤幀(Error Frame)

錯誤幀由錯誤標(biāo)志和錯誤分界兩個域組成。當(dāng)接收節(jié)點檢測到總線上的報文有誤時,會自動發(fā)出“活動錯誤標(biāo)志”,其他節(jié)點檢測到活動錯誤標(biāo)志后發(fā)送“錯誤認(rèn)可標(biāo)志”。錯誤幀的發(fā)送會中斷當(dāng)前的總線通信,直到錯誤被處理完畢。

四、超載幀(Overload Frame)

超載幀由超載標(biāo)志和超載分隔符組成。當(dāng)接收方在接收下一幀之前需要過多的時間處理當(dāng)前的數(shù)據(jù),或在幀間空隙域檢測到顯性電平時,會發(fā)送超載幀。超載幀的發(fā)送會延遲后續(xù)幀的發(fā)送,以確保總線上的通信不會因過載而中斷。

五、其他報文類型

除了上述四種基本的報文類型外,CAN總線協(xié)議還定義了其他幾種特殊的報文類型,如幀間空隙(Interframe Space)和N_PCI報文類型(如單幀、首幀、連續(xù)幀、流控幀等)。這些報文類型在特定的通信場景下使用,以滿足不同的通信需求。

總結(jié)

CAN總線上的報文類型包括數(shù)據(jù)幀、遙控幀、錯誤幀和超載幀等基本類型,以及幀間空隙和N_PCI報文類型等特殊類型。每種報文類型都有其特定的結(jié)構(gòu)和用途,共同構(gòu)成了CAN總線通信的基礎(chǔ)。在實際應(yīng)用中,根據(jù)具體的通信需求選擇合適的報文類型進(jìn)行數(shù)據(jù)傳輸,可以確保通信的可靠性和高效性。

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

    關(guān)注

    145

    文章

    1906

    瀏覽量

    130498
  • 串行通信
    +關(guān)注

    關(guān)注

    4

    文章

    560

    瀏覽量

    35191
  • 報文
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    4009
收藏 人收藏

    評論

    相關(guān)推薦

    CAN總線知識】全面了解CAN總線協(xié)議

    提及總線,總是讓人聯(lián)想到那些交錯在一起的計算機(jī)電線。那么這些電線如何發(fā)揮功效呢?這還得配合總線協(xié)議的管理來使用。那么今天我們介紹的就是CAN總線
    的頭像 發(fā)表于 10-15 08:05 ?729次閱讀
    【<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>知識】全面了解<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>協(xié)議

    CAN總線報文類型與幀格式解析#汽車CAN總線?

    CAN
    北匯信息POLELINK
    發(fā)布于 :2023年05月16日 11:11:39

    CAN總線協(xié)議及概念

    )子層完成數(shù)據(jù)打包/解包、幀編碼、媒體訪問管理、錯誤檢測、錯誤信令、應(yīng)答、串并轉(zhuǎn)換等功能。這些功能都是圍繞信息幀傳送過程展開的。3 CAN總線報文傳輸和結(jié)構(gòu)報文類型  在
    發(fā)表于 04-18 16:36

    CAN總線

    層完成數(shù)據(jù)打包/解包、幀編碼、媒體訪問管理、錯誤檢測、錯誤信令、應(yīng)答、串并轉(zhuǎn)換等功能。這些功能都是圍繞信息幀傳送過程展開的。3 CAN總線報文傳輸和結(jié)構(gòu)報文類型  在
    發(fā)表于 04-27 15:16

    CAN總線報文記錄產(chǎn)品簡介

    在物聯(lián)網(wǎng)逐漸普及的今天,CAN-bus 總線作為一種有線的局域控制網(wǎng)絡(luò),有越來越多的客戶需求進(jìn)行遠(yuǎn)程監(jiān)控。比如車輛的 CAN 報文記錄儀,以往只能在車返回后,才能讀取行駛數(shù)據(jù)。這樣不能
    發(fā)表于 10-17 07:33

    CAN總線通信報文驗收濾波、位定時與同步詳解

    用來實現(xiàn)CAN總線協(xié)議。本文主要對CAN總線通信報文驗收濾波、位定時與同步做了詳細(xì)介紹,具體的跟
    的頭像 發(fā)表于 05-07 16:16 ?1.1w次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>通信<b class='flag-5'>報文</b>驗收濾波、位定時與同步詳解

    ospf報文類型有哪些_ospf的5種報文類型

    OSPF協(xié)議使用一種稱之為Hello的報文來建立和維護(hù)相鄰鄰居路由器之間的鏈接關(guān)系。這個報文很簡單的,容量很小,僅用來向鄰居路由器證明自己的存在,就像人與人之間的打招呼一樣。我們在第8章中已經(jīng)知道
    發(fā)表于 08-20 11:17 ?3.1w次閱讀

    CAN總線協(xié)議教程|CAN報文分析

    CAN協(xié)議教程 介紹CAN總線 CAN總線是廣播類型
    發(fā)表于 04-03 15:32 ?1.4w次閱讀

    CAN基礎(chǔ):電平、邏輯、報文是怎么來的

    CAN總線報文是怎么產(chǎn)生以及收發(fā)的,遇到通訊異常的問題時從什么角度分析?這篇文章將會帶您快速了解報文的傳輸原理。
    的頭像 發(fā)表于 12-26 02:46 ?2029次閱讀

    CAN總線錯誤的類型介紹

    在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯誤的相關(guān)知識,包括CAN總線錯誤的基礎(chǔ)概念、CAN
    的頭像 發(fā)表于 06-13 16:08 ?8006次閱讀

    CAN總線報文記錄產(chǎn)品簡介

    電子發(fā)燒友網(wǎng)站提供《CAN總線報文記錄產(chǎn)品簡介.pdf》資料免費下載
    發(fā)表于 10-14 14:50 ?1次下載
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>報文</b>記錄產(chǎn)品簡介

    CAN報文發(fā)送有優(yōu)先級嗎?

    降低同一時刻,多個發(fā)送報文的Burst Send問題。這個問題屬于QA1的延申。一個節(jié)點,發(fā)送的報文類型可以有多種(QA1提到)。
    的頭像 發(fā)表于 11-15 14:34 ?7348次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>報文</b>發(fā)送有優(yōu)先級嗎?

    虹科干貨 | 帶你全面認(rèn)識“CAN總線錯誤”(二)——CAN錯誤類型

    AsimpleintrotoCANerrorsCAN總線錯誤介紹在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯誤的相關(guān)知識,包括
    的頭像 發(fā)表于 06-09 09:46 ?2050次閱讀
    虹科干貨 | 帶你全面認(rèn)識“<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>錯誤”(二)——<b class='flag-5'>CAN</b>錯誤<b class='flag-5'>類型</b>

    虹科干貨 | 帶你全面認(rèn)識“CAN總線錯誤”(二)——CAN錯誤類型

    AsimpleintrotoCANerrorsCAN總線錯誤介紹在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯誤的相關(guān)知識,包括
    的頭像 發(fā)表于 06-02 09:41 ?1315次閱讀
    虹科干貨 | 帶你全面認(rèn)識“<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>錯誤”(二)——<b class='flag-5'>CAN</b>錯誤<b class='flag-5'>類型</b>

    CAN報文為什么會發(fā)送失?。?/a>

    CAN總線調(diào)試過程中出現(xiàn)報文發(fā)送失敗。很多工程師都對此只知其一不知其二,今天我們就以CAN報文發(fā)送失敗的問題來做一次探討。在了解
    的頭像 發(fā)表于 04-12 08:25 ?1632次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>報文</b>為什么會發(fā)送失敗?