CAN报文格式
??????? 1.數(shù)據(jù)幀:用于發(fā)送節(jié)點(diǎn)向接收節(jié)點(diǎn)傳送數(shù)據(jù)的幀。
??????? 2.遠(yuǎn)程幀:用于接收節(jié)點(diǎn)向具有相同ID的發(fā)送節(jié)點(diǎn)傳送數(shù)據(jù)的幀。
??????? 3.錯(cuò)誤幀:用于當(dāng)檢測(cè)出錯(cuò)誤時(shí)向其他節(jié)點(diǎn)通知錯(cuò)誤的幀。
??????? 4.過載幀:用于接收節(jié)點(diǎn)通知其尚未做好準(zhǔn)備的幀。
??????? 5.幀間隔:用于將數(shù)據(jù)幀及遠(yuǎn)程幀與前面的幀分隔開來。
?
標(biāo)準(zhǔn)幀和擴(kuò)展幀:
???????
??????? 數(shù)據(jù)幀和遠(yuǎn)程幀都可以使用標(biāo)準(zhǔn)幀格式或者擴(kuò)展幀格式
??????? RTR:遠(yuǎn)程發(fā)送請(qǐng)求位,數(shù)據(jù)幀為顯性,遠(yuǎn)程幀為隱性。
??????? SRR:代替遠(yuǎn)程請(qǐng)求位(在擴(kuò)展格式中在RTR位置,所以得此名),該位為隱性位。在這個(gè)地方占個(gè)位以保持標(biāo)準(zhǔn)幀和擴(kuò)展幀IDE對(duì)齊,便可以判斷標(biāo)準(zhǔn)幀優(yōu)先于擴(kuò)展幀。
??????? IDE:標(biāo)識(shí)符擴(kuò)展位,標(biāo)準(zhǔn)幀為顯性,擴(kuò)展幀為隱性。
??????? R0、R1:保留位。
??????? DLC:數(shù)據(jù)長度位。
??????? CRC:校驗(yàn)位。
??????? CRC分隔符:隱性位
??????? ACK:應(yīng)答位和應(yīng)答界定位。在應(yīng)答域中,發(fā)送器發(fā)出兩個(gè)隱性位。接收器接收到報(bào)文后,在應(yīng)答位期間,用顯性位填充應(yīng)答位作為回應(yīng),應(yīng)答界定則為保持隱性。
??????? 幀結(jié)束:由7個(gè)隱性位組成。
數(shù)據(jù)幀:
???????
??????? SOF幀起始:數(shù)據(jù)幀開始的段。
??????? 仲裁場(chǎng):該幀優(yōu)先級(jí)的段。
??????? 控制場(chǎng):數(shù)據(jù)的字節(jié)數(shù)以及保留位。
??????? 數(shù)據(jù)場(chǎng):數(shù)據(jù)內(nèi)容。
??????? CRC場(chǎng):校驗(yàn)數(shù)據(jù)。
??????? 應(yīng)答場(chǎng):確認(rèn)正常接收的段。
??????? 幀結(jié)尾:數(shù)據(jù)幀結(jié)束的段。
遠(yuǎn)程幀:
???????
??????? 通過發(fā)送遠(yuǎn)程幀,作為數(shù)據(jù)接收器的節(jié)點(diǎn)可以發(fā)起各自數(shù)據(jù)源的數(shù)據(jù)傳送請(qǐng)求,即向數(shù)據(jù)發(fā)送器請(qǐng)求發(fā)送具有相同ID的數(shù)據(jù)幀。
??????? 遠(yuǎn)程幀沒有數(shù)據(jù)段。
錯(cuò)誤幀:
???????
????????錯(cuò)誤類型:應(yīng)答錯(cuò)誤,填充錯(cuò)誤,CRC錯(cuò)誤,格式錯(cuò)誤
??????? 錯(cuò)誤幀由錯(cuò)誤標(biāo)志的疊加和結(jié)束符組成。錯(cuò)誤標(biāo)志有主動(dòng)(積極)錯(cuò)誤標(biāo)志和被動(dòng)(消極)錯(cuò)誤標(biāo)志。主動(dòng)(積極)錯(cuò)誤標(biāo)志為6個(gè)顯性位,被動(dòng)(消極)錯(cuò)誤標(biāo)志為6個(gè)隱性位。
??????? 錯(cuò)誤積極節(jié)點(diǎn):如果檢測(cè)到一個(gè)錯(cuò)誤條件,就會(huì)發(fā)送積極錯(cuò)誤標(biāo)志。這將引起其它節(jié)點(diǎn)檢測(cè)到填充錯(cuò)誤,并開始發(fā)送錯(cuò)誤標(biāo)志。因此錯(cuò)誤標(biāo)志疊加在6~12位之間。節(jié)點(diǎn)發(fā)送完錯(cuò)誤標(biāo)志之后就發(fā)送一個(gè)隱性位,并監(jiān)控總線,直到總線上出現(xiàn)一個(gè)隱性位,然后再發(fā)送7個(gè)隱性位。這樣一個(gè)錯(cuò)誤幀就發(fā)送完畢了。
??????? 消極錯(cuò)誤節(jié)點(diǎn):如果檢測(cè)到一個(gè)錯(cuò)誤條件,會(huì)試圖發(fā)送一個(gè)消極錯(cuò)誤標(biāo)志進(jìn)行指示。這個(gè)消極錯(cuò)誤節(jié)點(diǎn)會(huì)一直等待6個(gè)具有相同極性的連續(xù)位,等待從消極錯(cuò)誤標(biāo)志起始開始,當(dāng)檢測(cè)到6個(gè)相同極性的連續(xù)位時(shí),消極錯(cuò)誤標(biāo)志發(fā)送完成。
過載幀:
???????
??????? 過載條件:接收器要求延遲下一次數(shù)據(jù)幀或遠(yuǎn)程幀的到達(dá);在幀間隔間歇場(chǎng)的第一位和第二位檢測(cè)到顯性位;如果CAN節(jié)點(diǎn)在錯(cuò)誤界定符或過載界定符的第8位采樣到一個(gè)顯性位,則節(jié)點(diǎn)會(huì)發(fā)送一個(gè)過載幀,錯(cuò)誤計(jì)數(shù)器不會(huì)增加。
幀間空間:
????????
???????
??????? 數(shù)據(jù)幀和遠(yuǎn)程幀的前面必然有幀間空間。對(duì)于主動(dòng)錯(cuò)誤節(jié)點(diǎn)和被動(dòng)錯(cuò)誤節(jié)點(diǎn),幀間空間的結(jié)構(gòu)稍有不同。對(duì)于主動(dòng)錯(cuò)誤節(jié)點(diǎn),幀空間由3個(gè)顯性位的間歇字段和總線空閑組成。在間歇字段不允許發(fā)送數(shù)據(jù)幀和遠(yuǎn)程幀。總線空閑的長度任意,當(dāng)有顯性位時(shí)就被認(rèn)為是幀起始。被動(dòng)錯(cuò)誤標(biāo)志除了上邊兩部分外,在間歇字段后還有8個(gè)顯性位的掛起傳輸。在掛起傳輸階段被動(dòng)錯(cuò)誤節(jié)點(diǎn)不可以發(fā)送數(shù)據(jù)幀與遠(yuǎn)程幀。
總結(jié)
- 上一篇: 数据分析六部曲
- 下一篇: 麦肯锡70页特辑报告论述《人工智能的未来