CAN總線(xiàn)學(xué)習筆記一:CAN總線(xiàn)的相關(guān)概念
九、CAN的報文格式:
本文引用地址:http://dyxdggzs.com/article/267558.htm(關(guān)于這部分內容,對于我下一步要進(jìn)行編程實(shí)驗控制CAN總線(xiàn)是很重要的一個(gè)知識點(diǎn)。很郁悶的是搜了老半天只看見(jiàn)有文字敘述這部分內容的,不僅說(shuō)得不系統完整,而且遠沒(méi)有貼圖說(shuō)明來(lái)的具體直觀(guān)。不過(guò)還好,搜到了一份E文版的CAN總線(xiàn)資料,再把這個(gè)資料詳細看了下,再做了整理,還是用圖來(lái)說(shuō)明CAN傳輸的報文格式比較容易理解。老外寫(xiě)的東西確實(shí)比國內的好,這個(gè)不是我吹出來(lái)的,有興趣下了看看就知道了,見(jiàn)附件下載。)
CAN通信是一種點(diǎn)對多點(diǎn)的傳輸協(xié)議,不是基于地址的傳統的點(diǎn)對點(diǎn)傳輸協(xié)議。當一個(gè)點(diǎn)傳輸數據時(shí),總線(xiàn)上的其它點(diǎn)都可以為接受方,它們可以通過(guò)ID來(lái)作出對總線(xiàn)上傳送數據的處理(接收或者丟棄)。并且當數據被正確接收到以后,接收方便會(huì )作出應答響應。CAN協(xié)議還有一個(gè)很實(shí)用的功能,就是總線(xiàn)上的任一個(gè)節點(diǎn)可以請求其它節點(diǎn)向其發(fā)送數據,這被稱(chēng)作遠程發(fā)送請求(RTR)。除此以外,CAN協(xié)議還有一個(gè)優(yōu)點(diǎn),當總線(xiàn)新加入一個(gè)節點(diǎn)進(jìn)行通信時(shí)無(wú)需更改原有的程序,新節點(diǎn)只要通過(guò)ID就可以知道是接收還是丟棄數據。
CAN協(xié)議定義了四種不同的幀。
1、數據幀,這個(gè)幀被用于當一個(gè)節點(diǎn)把信息傳送給系統的任何其它節點(diǎn)。數據幀由7個(gè)不同的位場(chǎng)組成,即幀起始、仲裁場(chǎng)、控制場(chǎng)、數據場(chǎng)、CRC場(chǎng)、應答場(chǎng)、幀結束。
2、遠程幀,此幀是基于數據幀格式,只要把RTR位設置成遠程發(fā)送請求(Remote Transmit Request),并且沒(méi)有數據場(chǎng)??偩€(xiàn)上發(fā)送此幀后,表示請求接收與該幀ID相符的數據幀。遠程幀由6個(gè)不同的位場(chǎng)組成,即幀起始、仲裁場(chǎng)、控制場(chǎng)、CRC場(chǎng)、應答場(chǎng)、幀結束。
3、錯誤幀,任何單元監測到錯誤時(shí)就發(fā)送錯誤幀。錯誤幀由兩個(gè)不同的場(chǎng)組成。第一個(gè)場(chǎng)是錯誤標志,用做為不同站提供錯誤標志的疊加;第二個(gè)場(chǎng)是錯誤界定符。
4、超載幀,節點(diǎn)需要增加時(shí)間來(lái)處理接收到的數據時(shí)便發(fā)送過(guò)載幀。超載幀包括兩個(gè)位場(chǎng):超載標志和超載界定符。

CAN總線(xiàn)傳輸的起始幀如圖1。幀起始標志數據幀或遠程幀的起始,由一個(gè)單獨的“顯性”位(0)組成。由控制芯片完成。
由圖2和圖3可以看到數據幀的兩種不同格式,兩種格式的差別只是它們的ID位數不同。
1、幀起始。
2、仲裁場(chǎng),仲裁場(chǎng)包括標識符和遠程發(fā)送請求位(RTR)。
雙絞線(xiàn)傳輸器相關(guān)文章:雙絞線(xiàn)傳輸器原理
評論