車輛CAN總線
CAN的數(shù)據(jù)傳輸報文就是數(shù)據(jù)幀。數(shù)據(jù)幀允許有一個比較長的ID,所以稱為可擴(kuò)展幀。
適用于某些應(yīng)用中的,但不是用于汽車中的是遠(yuǎn)程幀。遠(yuǎn)程幀允許一個節(jié)點響應(yīng)一個特定的ID。
CAN功能是非常齊全的。這意味著它不僅僅發(fā)現(xiàn)很多的錯誤,同時能夠?qū)崿F(xiàn)自動化傳輸或者節(jié)點自動關(guān)閉。
CAN使用比特流來通過接收器到發(fā)射器。為了適合于特定的位次序,CAN必須使用位填充。位填充在傳統(tǒng)示波器上對CAN波形進(jìn)行解碼很困難。
CAN是一個數(shù)據(jù)鏈接層。有三種正在使用的物理層來對CAN進(jìn)行信號的電動發(fā)射。
在使用CAN總線的某些地方,可能用FlexRay或者LIN更合適。
CAN總線的詳細(xì)說明書:http://www.chinaaet.com/resource/share/2000000109
CAN總線數(shù)據(jù)幀
CAN總線數(shù)據(jù)幀在CAN上運作。CAN的整個過程實質(zhì)上是在網(wǎng)絡(luò)控制器之間發(fā)送數(shù)據(jù),這就需要數(shù)據(jù)幀來實現(xiàn)這個功能了。
數(shù)據(jù)幀是以一個單一的SOF(起始幀)位開始的,跟著就是CAN標(biāo)識符。CAN標(biāo)識符是用來標(biāo)識報文和接下來的節(jié)點報文。標(biāo)識符可以有11位長或者是29位長,這主要是根據(jù)保留位的狀態(tài)來決定。
CAN數(shù)據(jù)幀以一個SOF位開始,跟著就是ID位
在CAN標(biāo)識符之后,有一個數(shù)據(jù)段,數(shù)據(jù)段是以一個數(shù)據(jù)長度開始的。CAN數(shù)據(jù)幀能夠有0到8個字節(jié),這樣它使用4位的編碼長度。數(shù)據(jù)字節(jié)直接跟著數(shù)據(jù)長度。
CAN 的CRC檢查數(shù)據(jù)的完整性,同時ack表示從另一個節(jié)點接收
跟著CRC的是Ack 場,這個場是在所有的其他的正確接收幀的網(wǎng)絡(luò)節(jié)點上進(jìn)行設(shè)置的。
Ack位后,有一段靜態(tài)時間,它稱為緊跟著一個最小的內(nèi)插幀空間的幀空間結(jié)束符。
一個CAN數(shù)據(jù)幀圖片
擴(kuò)展數(shù)據(jù)幀
可擴(kuò)展標(biāo)識符CAN 幀使用29位用于辨識目的,而不是標(biāo)準(zhǔn)的CAN幀的11位。由于這個額外的ID空間增加了20位(18個ID和兩個保留位),它通常不使用于希望得到最高性能的網(wǎng)絡(luò)當(dāng)中。
在J1939和GMLAN協(xié)議中,較大的ID分為不同的部分,每一個部分都有它的意義。比如,對于J1939和GMLAN的最低的8個ID位表明了一個字節(jié)的源地址。
單線CAN擴(kuò)展ID是有29位長(還沒有算入緩沖位)。許多系統(tǒng)設(shè)計者不使用這個ID長度,
因為它要求比較高的費用
CAN總線遠(yuǎn)程數(shù)據(jù)幀
CAN總線遠(yuǎn)程幀是可選幀,它用于請求數(shù)據(jù)。遠(yuǎn)程幀沒有包含數(shù)據(jù)段,即使數(shù)據(jù)長碼位大于0。你能夠從RTR位的狀態(tài)來判決一個幀是否是遠(yuǎn)程幀(RTR=1)。遠(yuǎn)程幀通常不使用在汽車的應(yīng)用當(dāng)中。
評論