請(qǐng)問(wèn)用CAN存儲(chǔ)器存儲(chǔ)的CAN總線(xiàn)數(shù)據(jù)幀格式有哪些呢?
CAN總線(xiàn)是一種常用于汽車(chē)、工業(yè)控制和其他應(yīng)用領(lǐng)域的串行通信協(xié)議。在CAN總線(xiàn)中,數(shù)據(jù)通過(guò)數(shù)據(jù)幀的形式進(jìn)行傳輸。數(shù)據(jù)幀包含了發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)之間的信息傳輸。下面將詳細(xì)介紹CAN總線(xiàn)數(shù)據(jù)幀的格式。
CAN總線(xiàn)數(shù)據(jù)幀分為兩種類(lèi)型:標(biāo)準(zhǔn)幀和擴(kuò)展幀。標(biāo)準(zhǔn)幀用于傳輸標(biāo)識(shí)符長(zhǎng)度為11位的數(shù)據(jù),而擴(kuò)展幀用于傳輸標(biāo)識(shí)符長(zhǎng)度為29位的數(shù)據(jù)。
1. 數(shù)據(jù)幀的結(jié)構(gòu)
標(biāo)準(zhǔn)幀和擴(kuò)展幀的數(shù)據(jù)幀結(jié)構(gòu)相似,都包含了四個(gè)部分:報(bào)文頭、幀頭、數(shù)據(jù)字段和幀結(jié)束。
- 報(bào)文頭:標(biāo)識(shí)了數(shù)據(jù)幀的類(lèi)型和長(zhǎng)度。它包含了SOF位、RTR位、IDE位和數(shù)據(jù)長(zhǎng)度碼(DLC)。
- 幀頭:包含了傳輸幀的標(biāo)識(shí)符。對(duì)于標(biāo)準(zhǔn)幀,標(biāo)識(shí)符長(zhǎng)度為11位,對(duì)于擴(kuò)展幀,標(biāo)識(shí)符長(zhǎng)度為29位。
- 數(shù)據(jù)字段:存放了傳輸?shù)臄?shù)據(jù)。數(shù)據(jù)字段的長(zhǎng)度由DLC字段指定,標(biāo)準(zhǔn)幀的最大長(zhǎng)度為8字節(jié),擴(kuò)展幀的最大長(zhǎng)度為64字節(jié)。
- 幀結(jié)束:包含了CRC(Cyclic Redundancy Check)位,用于檢驗(yàn)數(shù)據(jù)的正確性。
2. 標(biāo)準(zhǔn)幀格式
標(biāo)準(zhǔn)幀的數(shù)據(jù)幀格式如下:
| SOF | IDE | RTR | Identifier | Data | CRC | ACK | EOF |
1 1 1 11/29 0-8 15 2 7
- SOF(1位):報(bào)文開(kāi)始標(biāo)志位,表示幀的開(kāi)始。
- IDE(1位):標(biāo)識(shí)符擴(kuò)展位,為0表示是標(biāo)準(zhǔn)幀。
- RTR(1位):遠(yuǎn)程傳輸請(qǐng)求位,為0表示數(shù)據(jù)幀。
- Identifier(11位):標(biāo)識(shí)符,用于唯一標(biāo)識(shí)發(fā)送的數(shù)據(jù)。
- Data(0-8位):數(shù)據(jù)字段,用于存儲(chǔ)發(fā)送的數(shù)據(jù)。
- CRC(15位):循環(huán)冗余校驗(yàn),用于保證數(shù)據(jù)的完整性和準(zhǔn)確性。
- ACK(2位):確認(rèn)位,表示數(shù)據(jù)的接收是否成功。
- EOF(7位):幀結(jié)束標(biāo)志位,表示幀的結(jié)束。
3. 擴(kuò)展幀格式
擴(kuò)展幀的數(shù)據(jù)幀格式如下:
| SOF | IDE | RTR | Identifier | Data | CRC | ACK | EOF |
1 1 1 29 0-8 15 2 7
- SOF(1位):報(bào)文開(kāi)始標(biāo)志位,表示幀的開(kāi)始。
- IDE(1位):標(biāo)識(shí)符擴(kuò)展位,為1表示是擴(kuò)展幀。
- RTR(1位):遠(yuǎn)程傳輸請(qǐng)求位,為0表示數(shù)據(jù)幀。
- Identifier(29位):標(biāo)識(shí)符,用于唯一標(biāo)識(shí)發(fā)送的數(shù)據(jù)。
- Data(0-8位):數(shù)據(jù)字段,用于存儲(chǔ)發(fā)送的數(shù)據(jù)。
- CRC(15位):循環(huán)冗余校驗(yàn),用于保證數(shù)據(jù)的完整性和準(zhǔn)確性。
- ACK(2位):確認(rèn)位,表示數(shù)據(jù)的接收是否成功。
- EOF(7位):幀結(jié)束標(biāo)志位,表示幀的結(jié)束。
4. 數(shù)據(jù)幀的傳輸過(guò)程
CAN總線(xiàn)的數(shù)據(jù)幀傳輸過(guò)程包括了報(bào)文的發(fā)送和接收兩個(gè)過(guò)程。發(fā)送節(jié)點(diǎn)將數(shù)據(jù)幀發(fā)送到總線(xiàn)上,接收節(jié)點(diǎn)通過(guò)監(jiān)測(cè)總線(xiàn)上的數(shù)據(jù)幀來(lái)接收數(shù)據(jù)。
在發(fā)送過(guò)程中,節(jié)點(diǎn)通過(guò)根據(jù)優(yōu)先級(jí)和總線(xiàn)狀況選擇一個(gè)適當(dāng)?shù)臅r(shí)間點(diǎn)發(fā)送數(shù)據(jù)幀。發(fā)送節(jié)點(diǎn)首先發(fā)送報(bào)文頭和幀頭。然后,它將數(shù)據(jù)字段和CRC添加到數(shù)據(jù)幀中,并發(fā)送到總線(xiàn)上。最后,發(fā)送節(jié)點(diǎn)等待ACK位,確認(rèn)數(shù)據(jù)幀的發(fā)送是否成功。
在接收過(guò)程中,接收節(jié)點(diǎn)監(jiān)測(cè)總線(xiàn)上的數(shù)據(jù)幀。當(dāng)一個(gè)數(shù)據(jù)幀到達(dá)時(shí),接收節(jié)點(diǎn)首先檢查幀頭中的標(biāo)識(shí)符,以確定數(shù)據(jù)的接收方。然后,它獲取數(shù)據(jù)字段中的數(shù)據(jù),并進(jìn)行適當(dāng)?shù)奶幚怼=邮展?jié)點(diǎn)使用CRC來(lái)驗(yàn)證接收的數(shù)據(jù)的完整性和準(zhǔn)確性,并發(fā)送ACK位來(lái)確認(rèn)數(shù)據(jù)的接收是否成功。
5. 總結(jié)
CAN總線(xiàn)數(shù)據(jù)幀有標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種類(lèi)型。標(biāo)準(zhǔn)幀用于傳輸標(biāo)識(shí)符長(zhǎng)度為11位的數(shù)據(jù),而擴(kuò)展幀用于傳輸標(biāo)識(shí)符長(zhǎng)度為29位的數(shù)據(jù)。數(shù)據(jù)幀由報(bào)文頭、幀頭、數(shù)據(jù)字段和幀結(jié)束組成。報(bào)文頭包含了數(shù)據(jù)幀的類(lèi)型和長(zhǎng)度,幀頭包含了傳輸幀的標(biāo)識(shí)符,數(shù)據(jù)字段存放了傳輸?shù)臄?shù)據(jù),幀結(jié)束包含了CRC位,用于檢驗(yàn)數(shù)據(jù)的正確性。數(shù)據(jù)幀的傳輸過(guò)程包括了報(bào)文的發(fā)送和接收兩個(gè)過(guò)程。發(fā)送節(jié)點(diǎn)通過(guò)選擇適當(dāng)?shù)臅r(shí)間點(diǎn)將數(shù)據(jù)幀發(fā)送到總線(xiàn)上,接收節(jié)點(diǎn)通過(guò)監(jiān)測(cè)總線(xiàn)上的數(shù)據(jù)幀來(lái)接收數(shù)據(jù)。
-
CAN總線(xiàn)
+關(guān)注
關(guān)注
145文章
1971瀏覽量
132184 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7625瀏覽量
166295 -
數(shù)據(jù)幀
+關(guān)注
關(guān)注
0文章
48瀏覽量
6906
發(fā)布評(píng)論請(qǐng)先 登錄
基于Vector工具進(jìn)行CAN協(xié)議錯(cuò)誤幀的分析實(shí)踐

使用CAN總線(xiàn)進(jìn)行數(shù)據(jù)采集的方法
CAN總線(xiàn)通信中的數(shù)據(jù)幀結(jié)構(gòu)解析

汽車(chē)CAN總線(xiàn)報(bào)文類(lèi)型與幀格式解析#CAN #常學(xué)常新

什么是CAN時(shí)鐘?#CAN #汽車(chē)CAN總線(xiàn)? #CANoe
【CAN總線(xiàn)知識(shí)】全面了解CAN總線(xiàn)協(xié)議

評(píng)論