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ù)傳輸,可以確保通信的可靠性和高效性。
-
CAN總線
+關(guān)注
關(guān)注
145文章
1906瀏覽量
130498 -
串行通信
+關(guān)注
關(guān)注
4文章
560瀏覽量
35191 -
報文
+關(guān)注
關(guān)注
0文章
35瀏覽量
4009
發(fā)布評論請先 登錄
相關(guān)推薦
評論