CAN(Controller Area Network)總線是一種廣泛使用的串行通信協(xié)議,特別適用于汽車和工業(yè)自動化領域。CAN總線上的報文類型主要可以分為以下幾種,每種類型都有其特定的用途和格式。
一、數據幀(Data Frame)
數據幀是CAN總線上最基本的報文類型,用于節(jié)點之間傳輸數據。數據幀由多個段組成,包括幀起始、仲裁段、控制段、數據段、CRC段、ACK段和幀結束。
1. 幀起始(Start of Frame, SOF)
- 定義 :表示數據幀開始的段,由一個顯性位(邏輯0)組成。
- 作用 :當總線空閑時,發(fā)送節(jié)點發(fā)送幀起始,其他接收節(jié)點同步于該幀起始位。
2. 仲裁段(Arbitration Field)
- 定義 :表示該幀優(yōu)先級的段,根據仲裁段ID碼長度的不同,分為標準幀(CAN 2.0A)和擴展幀(CAN 2.0B)。
- 內容 :標準格式幀的仲裁段由11位標識符(ID)和遠程發(fā)送請求位(RTR)組成;擴展格式幀的仲裁段由29位標識符和RTR位組成。
- 作用 :用于確定發(fā)送的幀類型(數據幀或遙控幀)以及發(fā)送的幀格式(標準幀或擴展幀),并決定幀的優(yōu)先級。
3. 控制段(Control Field)
- 定義 :表示數據的字節(jié)數及保留位的段。
- 內容 :包括數據長度代碼(DLC)和兩個保留位(r0、r1)。DLC指示了數據段中的字節(jié)數量,可以是0到8個字節(jié)。
- 作用 :告知接收節(jié)點數據段的長度,以便正確接收數據。
4. 數據段(Data Field)
- 定義 :數據的內容,可發(fā)送0~8個字節(jié)的數據。
- 作用 :傳輸實際的數據信息。
5. CRC段(Cyclic Redundancy Check Field)
- 定義 :檢查幀的傳輸錯誤的段,包括CRC序列和CRC界定符。
- 作用 :通過CRC校驗確保數據的完整性和正確性。
6. ACK段(Acknowledgment Field)
- 定義 :表示確認正常接收的段,由ACK槽和ACK界定符組成。
- 作用 :當接收器正確地接收到有效的報文時,會在ACK槽期間向發(fā)送器發(fā)送一個顯性位以示應答。
7. 幀結束(End of Frame, EOF)
- 定義 :表示數據幀結束的段,由7個隱性位組成。
- 作用 :標志數據幀的結束。
二、遙控幀(Remote Frame)
遙控幀用于請求發(fā)送具有相同ID的數據幀。當接收節(jié)點需要某個數據但自己沒有該數據時,會發(fā)送一個遙控幀來請求發(fā)送節(jié)點發(fā)送相應的數據幀。遙控幀的結構與數據幀相似,但數據段為空,且RTR位被設置為1。
三、錯誤幀(Error Frame)
錯誤幀由錯誤標志和錯誤分界兩個域組成。當接收節(jié)點檢測到總線上的報文有誤時,會自動發(fā)出“活動錯誤標志”,其他節(jié)點檢測到活動錯誤標志后發(fā)送“錯誤認可標志”。錯誤幀的發(fā)送會中斷當前的總線通信,直到錯誤被處理完畢。
四、超載幀(Overload Frame)
超載幀由超載標志和超載分隔符組成。當接收方在接收下一幀之前需要過多的時間處理當前的數據,或在幀間空隙域檢測到顯性電平時,會發(fā)送超載幀。超載幀的發(fā)送會延遲后續(xù)幀的發(fā)送,以確保總線上的通信不會因過載而中斷。
五、其他報文類型
除了上述四種基本的報文類型外,CAN總線協(xié)議還定義了其他幾種特殊的報文類型,如幀間空隙(Interframe Space)和N_PCI報文類型(如單幀、首幀、連續(xù)幀、流控幀等)。這些報文類型在特定的通信場景下使用,以滿足不同的通信需求。
總結
CAN總線上的報文類型包括數據幀、遙控幀、錯誤幀和超載幀等基本類型,以及幀間空隙和N_PCI報文類型等特殊類型。每種報文類型都有其特定的結構和用途,共同構成了CAN總線通信的基礎。在實際應用中,根據具體的通信需求選擇合適的報文類型進行數據傳輸,可以確保通信的可靠性和高效性。
-
CAN總線
+關注
關注
145文章
1986瀏覽量
132824 -
串行通信
+關注
關注
4文章
588瀏覽量
36181 -
報文
+關注
關注
0文章
39瀏覽量
4187
發(fā)布評論請先 登錄
【CAN總線知識】全面了解CAN總線協(xié)議



CAN總線協(xié)議及概念
CAN總線
CAN總線報文記錄產品簡介
ospf報文類型有哪些_ospf的5種報文類型
CAN基礎:電平、邏輯、報文是怎么來的
CAN報文發(fā)送有優(yōu)先級嗎?

評論