久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > CAN總線簡述

CAN總線簡述

作者: 時間:2016-12-12 來源:網絡 收藏
一、CAN通信概述
CAN ( Controller Area Network ) 即控制器局域網絡。由于其高性能、高可靠性、及獨特的設計,CAN越來越受到人們的重視。國外已有許多大公司的產品采用了這一技術。
CAN最初是由德國的BOSCH公司為汽車監測、控制系統而設計的。現代汽車越來越多地采用電子裝置控制,如發動機的定時、注油控制,加速、剎車控制(ASC)及復雜的抗鎖定剎車系統(ABS)等。由于這些控制需檢測及交換大量數據,采用硬接信號線的方式不但煩瑣、昂貴,而且難以解決問題,采用CAN總線上述問題便得到很好地解決。
二、CAN總線特點
CAN總線是一種串行數據通信協議,其通信接口中集成了CAN協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗余檢驗、優先級判別等項工作。其物理傳輸層詳細和高效的定義,使得 CAN總線具有其它總線無法達到的優勢,注定其在工業現場總線中占有不可動搖的地位,CAN總線通信主要具有如下所示的優勢和特點。
1.CAN總線上任意節點均可在任意時刻主動的向其它節點發起通信,節點沒有主從之分,但在同一時刻優先級高的節點能獲得總線的使用權,在高優先級的節點釋放總線后,任意節點都可使用總線;
2.CAN總線傳輸波特率為5Kbps~1Mbps ,在 5Kbps 的通信波特率下最遠傳輸距離可以達到10Km,即使在1Mbps 的波特率下也能傳輸 40m 的距離。在1Mbps 波特率下節點發送一幀數據最多需要134μ s;
3.CAN總線采用載波監聽多路訪問、逐位仲裁的非破壞性總線仲裁技術。在節點需要發送信息時,節點先監聽總線是否空閑,只有節點監聽到總線空閑時才能夠發送數據,即載波監聽多路訪問方式。在總線出現兩個以上的節點同時發送數據時,CAN協議規定,按位進行仲裁,按照顯性位優先級大于隱性位優先級的規則進行仲裁,最后高優先級的節點數據毫無破壞的被發送,其它節點停止發送數據(即逐位仲裁無破壞的傳輸技術)。這樣能大大的提高總線的使用效率及實時性;
4.CAN總線所掛接的節點數量主要取決于CAN總線收發器或驅動器,目前的驅動器一般都可以使同一網絡容量達到110 個節點。CAN報文分為兩個標準即CAN2.0A標準幀和CAN2.0B擴展幀,兩個標準最大的區別在于CAN2.0A只有11 位標識符,CAN2.0B具有 29 位標識符;
5.CAN總線定義使用了硬件報文濾波,可實現點對點及點對多點的通信方式,不需要軟件來控制。數據采用短幀發送方式,每幀數據不超過8 字節,抗干擾能力強,每幀接收的數據都進行CRC校驗,使得數據出錯機率極大限度的降低。CAN節點
6.CAN總線通信介質可采用雙絞線、同軸電纜或光纖,選擇極為靈活。可大大節約組網成本。
三、CAN協議規范(CAN規范2.0)
CAN為串行通訊協議,能有效地支持具有很高安全等級的分布實時控制。技術規范的目的是為了在任何兩個CAN儀器之間建立兼容性。可是,兼容性有不同的方面,比如電氣特性和數據轉換的解釋。為了達到設計透明度以及實現靈活性,根據ISO/OSI參考模型,CAN 2.0規范細分為以下不同的層次:數據鏈路層(數據鏈路層的LLC 子層和MAC子層)和物理層。
MAC子層的作用主要是傳送規則,也就是控制幀結構、執行仲裁、錯誤檢測、出錯標定、故障界定。總線上什么時候開始發送新報文及什么時候開始接收報文,均在MAC子層里確定。位定時的一些普通功能也可以看作是 MAC子層的一部分。理所當然,MAC子層的修改是受到限制的。
物理層的作用是在不同節點之間根據所有的電氣屬性進行位的實際傳輸。同一網絡的物理層對于所有
的節點當然是相同的。盡管如此,在選擇物理層方面還是很自由的。
四、CAN的錯誤定義及處理
1.錯誤類型
位錯誤
站單元在發送位的同時也對總線進行監視。如果所發送的位值與所監視的位值不相符合,則在此位時間里檢測到一個位錯誤。但是在仲裁場的填充位流期間或 ACK間隙發送一“隱性”位的情況是例外的—— 此時,當監視到一“顯性”位時,不會發出位錯誤。當發送器發送一個被動錯誤標志但檢測到“顯性”位時,也不視為位錯誤。
填充錯誤
如果在使用位填充法進行編碼的信息中,出現了第 6 個連續相同的位電平時,將檢測到一個填充錯誤。
CRC 錯誤
CRC序列包括發送器的CRC計算結果。接收器計算CRC的方法與發送器相同。如果計算結果與接收到CRC序列的結果不相符,則檢測到一個CRC錯誤。
形式錯誤
當一個固定形式的位場含有1 個或多個非法位,則檢測到一個形式錯誤。
應答錯誤
只要在ACK間隙(ACK SLOT)期間所監視的位不為“顯性”,則發送器會檢測到一個應答錯誤。
2.錯誤等級劃分
主動錯誤 Error Counter < 127
錯誤警告 Error Counter = = Error
被動錯誤 Error Counter > 127
總線關閉 Error Counter = = 255
“錯誤主動”的單元可以正常地參與總線通訊并在錯誤被檢測到時發出主動錯誤標志。
“錯誤被動”的單元不允許發送主動錯誤標志。“錯誤被動”的單元參與總線通訊而且在錯誤被檢測到時只發出被動錯誤標志。而且,發送以后,“錯誤被動”單元將在預設下一個發送之前處于等待狀態。
“總線關閉”的單元不允許在總線上有任何的影響(比如,關閉輸出驅動器)。



關鍵詞: CAN總線簡

評論


技術專區

關閉