《電子技術應用》
您所在的位置:首頁 > 其他 > 业界动态 > 车辆CAN总线

车辆CAN总线

2015-05-08
關鍵詞: CAN总线

       在車輛電子網(wǎng)絡中,CAN總線是一個重要的協(xié)議。它具有一個高達1兆bit的比特率, 并提供簡單的微處理器網(wǎng)絡,這需要用到一種被稱為CAN控制器的專用CAN總線芯片叫做CAN控制器。
  CAN的數(shù)據(jù)傳輸報文就是數(shù)據(jù)幀。數(shù)據(jù)幀允許有一個比較長的ID,所以稱為可擴展幀。
  適用于某些應用中的,但不是用于汽車中的是遠程幀。遠程幀允許一個節(jié)點響應一個特定的ID。
  CAN功能是非常齊全的。這意味著它不僅僅發(fā)現(xiàn)很多的錯誤,同時能夠實現(xiàn)自動化傳輸或者節(jié)點自動關閉。
  CAN使用比特流來通過接收器到發(fā)射器。為了適合于特定的位次序,CAN必須使用位填充。位填充在傳統(tǒng)示波器上對CAN波形進行解碼很困難。
  CAN是一個數(shù)據(jù)鏈接層。有三種正在使用的物理層來對CAN進行信號的電動發(fā)射。
  在使用CAN總線的某些地方,可能用FlexRay或者LIN更合適。

CAN總線的詳細說明書:http://ihrv.cn/resource/share/2000000109

CAN_Frame.png


CAN總線數(shù)據(jù)幀
  CAN總線數(shù)據(jù)幀在CAN上運作。CAN的整個過程實質(zhì)上是在網(wǎng)絡控制器之間發(fā)送數(shù)據(jù),這就需要數(shù)據(jù)幀來實現(xiàn)這個功能了。
  數(shù)據(jù)幀是以一個單一的SOF(起始幀)位開始的,跟著就是CAN標識符。CAN標識符是用來標識報文和接下來的節(jié)點報文。標識符可以有11位長或者是29位長,這主要是根據(jù)保留位的狀態(tài)來決定。

sof_canid_highlight.jpg

CAN數(shù)據(jù)幀以一個SOF位開始,跟著就是ID位

       在CAN標識符之后,有一個數(shù)據(jù)段,數(shù)據(jù)段是以一個數(shù)據(jù)長度開始的。CAN數(shù)據(jù)幀能夠有0到8個字節(jié),這樣它使用4位的編碼長度。數(shù)據(jù)字節(jié)直接跟著數(shù)據(jù)長度。

dlc_data_highlight.jpg

CAN 的CRC檢查數(shù)據(jù)的完整性,同時ack表示從另一個節(jié)點接收

       跟著CRC的是Ack 場,這個場是在所有的其他的正確接收幀的網(wǎng)絡節(jié)點上進行設置的。
Ack位后,有一段靜態(tài)時間,它稱為緊跟著一個最小的內(nèi)插幀空間的幀空間結束符。

dwcan_decode.png

一個CAN數(shù)據(jù)幀圖片

擴展數(shù)據(jù)幀
  可擴展標識符CAN 幀使用29位用于辨識目的,而不是標準的CAN幀的11位。由于這個額外的ID空間增加了20位(18個ID和兩個保留位),它通常不使用于希望得到最高性能的網(wǎng)絡當中。
  在J1939和GMLAN協(xié)議中,較大的ID分為不同的部分,每一個部分都有它的意義。比如,對于J1939和GMLAN的最低的8個ID位表明了一個字節(jié)的源地址。

extended_id.jpg

單線CAN擴展ID是有29位長(還沒有算入緩沖位)。許多系統(tǒng)設計者不使用這個ID長度,
  因為它要求比較高的費用

CAN總線遠程數(shù)據(jù)幀
  CAN總線遠程幀是可選幀,它用于請求數(shù)據(jù)。遠程幀沒有包含數(shù)據(jù)段,即使數(shù)據(jù)長碼位大于0。你能夠從RTR位的狀態(tài)來判決一個幀是否是遠程幀(RTR=1)。遠程幀通常不使用在汽車的應用當中。

can_remote_frame.jpg

在這個CAN L波形中顯示了一個遠程幀

CAN總線錯誤

CAN_error_frame_large.png

CAN總線位填充
  CAN波形是一系列的位。由于在CAN總線節(jié)點之間沒有共享時鐘,那么對于所有的節(jié)點則一定有方法從波形中得到時鐘信息。因此接收器使用CAN波形轉換來使得發(fā)射器與接收器實現(xiàn)同步時鐘。
  為了確保有足夠的轉換,CAN總線執(zhí)行位填充功能。位填充在連續(xù)5個相同的位之后,插入一個額外的碼流的相反位。由于填充位的出現(xiàn)要根據(jù)消息序列的容量,CAN幀的長度要根據(jù)在幀里面的數(shù)據(jù)位進行改變。這些額外的填充位自動被接收器丟掉,因此在CAN節(jié)點的應用軟件中就從來不會接觸到這些填充位了。

can_stuff_bits.jpg

填充位,用黃色突出,增加消耗在一個CAN報文中。這個報文有13個額外的填充位

CAN總線物理層
  CAN協(xié)議介紹了1s和0s是如何使用在通訊當中的。CAN協(xié)議沒有介紹發(fā)射1s和0s信號的電氣方法。
  最普遍流行的物理層被稱為雙線物理層。這個物理層使用雙線CAN H和CAN L。這些線在不同的電壓方向(對應著不同的信號傳輸)上傳送1或者0。
  對于特定的汽車低速應用,介紹兩個其他的物理層。它們是單線CAN和低速容錯CAN。如果有一條線路斷了。低速容錯CAN總線將會提供容錯信息。
  單線CAN
  單線CAN是一個物理層,它是由普通的發(fā)動機生成的。它允許CAN使用一條單線在低比特率(如33.3Kbps)的情況之下進行通訊。同時對于閃存編程允許一個高速模式。最后,雖然很多CAN收發(fā)器僅僅提供了1或者0,但是單線仍能夠提供一個被稱為高壓模式的第三狀態(tài)。這種模式能夠使得CAN節(jié)點的電源管理有選擇性。

single_wire_CAN_voltages.png

這是兩個不同的單線CAN幀。一個在高電壓模式下發(fā)送,另一個為正常電壓

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關內(nèi)容