本文主要是關于CAN總線的相關介紹,并著重對CAN總線終端電阻阻值的檢測進行了詳盡的闡述。
CAN總線
CAN是控制器局域網絡(Controller Area Network, CAN)的簡稱,是由以研發和生產汽車電子產品著稱的德國BOSCH公司開發的,并最終成為國際標準(ISO 11898),是國際上應用最廣泛的現場總線之一。 在北美和西歐,CAN總線協議已經成為汽車計算機控制系統和嵌入式工業控制局域網的標準總線,并且擁有以CAN為底層協議專為大型貨車和重工機械車輛設計的J1939協議。
CAN 是Controller Area Network 的縮寫(以下稱為CAN),是ISO國際標準化的串行通信協議。在汽車產業中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統被開發了出來。由于這些系統之間通信所用的數據類型及對可靠性的要求不盡相同,由多條總線構成的情況很多,線束的數量也隨之增加。為適應“減少線束的數量”、“通過多個LAN,進行大量數據的高速通信”的需要,1986 年德國電氣商博世公司開發出面向汽車的CAN 通信協議。此后,CAN 通過ISO11898 及ISO11519 進行了標準化,在歐洲已是汽車網絡的標準協議。
CAN 的高性能和可靠性已被認同,并被廣泛地應用于工業自動化、船舶、醫療設備、工業設備等方面。現場總線是當今自動化領域技術發展的熱點之一,被譽為自動化領域的計算機局域網。它的出現為分布式控制系統實現各節點之間實時、可靠的數據通信提供了強有力的技術支持。
優勢
CAN屬于現場總線的范疇,它是一種有效支持分布式控制或實時控制的串行通信網絡。較之許多RS-485基于R線構建的分布式控制系統而言,基于CAN總線的分布式控制系統在以下方面具有明顯的優越性:
網絡各節點之間的數據通信實時性強
首先,CAN控制器工作于多種方式,網絡中的各節點都可根據總線訪問優先權(取決于報文標識符)采用無損結構的逐位仲裁的方式競爭向總線發送數據,且CAN協議廢除了站地址編碼,而代之以對通信數據進行編碼,這可使不同的節點同時接收到相同的數據,這些特點使得CAN總線構成的網絡各節點之間的數據通信實時性強,并且容易構成冗余結構,提高系統的可靠性和系統的靈活性。而利用RS-485只能構成主從式結構系統,通信方式也只能以主站輪詢的方式進行,系統的實時性、可靠性較差;
開發周期短
CAN總線通過CAN收發器接口芯片82C250的兩個輸出端CANH和CANL與物理總線相連,而CANH端的狀態只能是高電平或懸浮狀態,CANL端只能是低電平或懸浮狀態。這就保證不會在出現在RS-485網絡中的現象,即當系統有錯誤,出現多節點同時向總線發送數據時,導致總線呈現短路,從而損壞某些節點的現象。而且CAN節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節點的操作不受影響,從而保證不會出現像在網絡中,因個別節點出現問題,使得總線處于“死鎖”狀態。而且,CAN具有的完善的通信協議可由CAN控制器芯片及其接口芯片來實現,從而大大降低系統開發難度,縮短了開發周期,這些是僅有電氣協議的RS-485所無法比擬的。
已形成國際標準的現場總線
另外,與其它現場總線比較而言,CAN總線是具有通信速率高、容易實現、且性價比高等諸多特點的一種已形成國際標準的現場總線。這些也是CAN總線應用于眾多領域,具有強勁的市場競爭力的重要原因。
最有前途的現場總線之一
CAN 即控制器局域網絡,屬于工業現場總線的范疇。與一般的通信總線相比,CAN總線的數據通信具有突出的可靠性、實時性和靈活性。由于其良好的性能及獨特的設計,CAN總線越來越受到人們的重視。它在汽車領域上的應用是最廣泛的,世界上一些著名的汽車制造廠商都采用了CAN總線來實現汽車內部控制系統與各檢測和執行機構間的數據通信。同時,由于CAN總線本身的特點,其應用范圍已不再局限于汽車行業,而向自動控制、航空航天、航海、過程工業、機械工業、紡織機械、農用機械、機器人、數控機床、醫療器械及傳感器等領域發展。CAN已經形成國際標準,并已被公認為幾種最有前途的現場總線之一。其典型的應用協議有:SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。
發展
控制器局部網(CAN-CONTROLLER AREA NETWORK)是BOSCH公司為現代汽車應用領域推出的一種多主機局部網,由于其高性能、高可靠性、實時性等優點現已廣泛應用于工業自動化、多種控制設備、交通工具、醫療儀器以及建筑、環境控制等眾多部門。控制器局部網將在中國迅速普及推廣。
隨著計算機硬件、軟件技術及集成電路技術的迅速發展,工業控制系統已成為計算機技術應用領域中最具活力的一個分支,并取得了巨大進步。由于對系統可靠性和靈活性的高要求,工業控制系統的發展主要表現為:控制面向多元化,系統面向分散化,即負載分散、功能分散、危險分散和地域分散。
分散式工業控制系統就是為適應這種需要而發展起來的。這類系統是以微型機為核心,將 5C技術--COMPUTER(計算機技術)、CONTROL(自動控制技術)、COMMUNICATION(通信技術)、CRT(顯示技術)和 CHANGE(轉換技術)緊密結合的產物。它在適應范圍、可擴展性、可維護性以及抗故障能力等方面,較之分散型儀表控制系統和集中型計算機控制系統都具有明顯的優越性。
典型的分散式控制系統由現場設備、接口與計算設備以及通信設備組成。現場總線(FIELDBUS)能同時滿足過程控制和制造業自動化的需要,因而現場總線已成為工業數據總線領域中最為活躍的一個領域。現場總線的研究與應用已成為工業數據總線領域的熱點。盡管對現場總線的研究尚未能提出一個完善的標準,但現場總線的高性能價格必將吸引眾多工業控制系統采用。同時,正由于現場總線的標準尚未統一,也使得現場總線的應用得以不拘一格地發揮,并將為現場總線的完善提供更加豐富的依據。控制器局部網 CAN(CONTROLLER AERANETWORK)正是在這種背景下應運而生的。
由于CAN為愈來愈多不同領域采用和推廣,導致要求各種應用領域通信報文的標準化。為此,1991年 9月 PHILIPS SEMICONDUCTORS制訂并發布了 CAN技術規范(VERSION 2.0)。該技術規范包括A和B兩部分。2.0A給出了曾在CAN技術規范版本1.2中定義的CAN報文格式,能提供11位地址;而2.0B給出了標準的和擴展的兩種報文格式,提供29位地址。此后,1993年11月ISO正式頒布了道路交通運載工具--數字信息交換--高速通信控制器局部網(CAN)國際標準(ISO11898),為控制器局部網標準化、規范化推廣鋪平了道路。
特點
CAN總線是德國BOSCH公司從80年代初為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開發的一種串行數據通信協議,它是一種多主總線,通信介質可以是雙絞線、同軸電纜或光導纖維。通信速率最高可達1Mbps。
完成對通信數據的成幀處理
CAN總線通信接口中集成了CAN協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗余檢驗、優先級判別等項工作。
使網絡內的節點個數在理論上不受限制
CAN協議的一個最大特點是廢除了傳統的站地址編碼,而代之以對通信數據塊進行編碼。采用這種方法的優點可使網絡內的節點個數在理論上不受限制,數據塊的標識符可由11位或29位二進制數組成,因此可以定義2或2個以上不同的數據塊,這種按數據塊編碼的方式,還可使不同的節點同時接收到相同的數據,這一點在分布式控制系統中非常有用。數據段長度最多為8個字節,可滿足通常工業領域中控制命令、工作狀態及測試數據的一般要求。同時,8個字節不會占用總線時間過長,從而保證了通信的實時性。CAN協議采用CRC檢驗并可提供相應的錯誤處理功能,保證了數據通信的可靠性。CAN卓越的特性、極高的可靠性和獨特的設計,特別適合工業過程監控設備的互連,因此,越來越受到工業界的重視,并已公認為最有前途的現場總線之一。
可在各節點之間實現自由通信
CAN總線采用了多主競爭式總線結構,具有多主站運行和分散仲裁的串行總線以及廣播通信的特點。CAN總線上任意節點可在任意時刻主動地向網絡上其它節點發送信息而不分主次,因此可在各節點之間實現自由通信。CAN總線協議已被國際標準化組織認證,技術比較成熟,控制的芯片已經商品化,性價比高,特別適用于分布式測控系統之間的數據通訊。CAN總線插卡可以任意插在PC AT XT兼容機上,方便地構成分布式監控系統。
結構簡單
只有2根線與外部相連,并且內部集成了錯誤探測和管理模塊。
傳輸距離和速率
CAN總線特點:(1) 數據通信沒有主從之分,任意一個節點可以向任何其他(一個或多個)節點發起數據通信,靠各個節點信息優先級先后順序來決定通信次序,高優先級節點信息在134μs通信; (2) 多個節點同時發起通信時,優先級低的避讓優先級高的,不會對通信線路造成擁塞; (3) 通信距離最遠可達10KM(速率低于5Kbps)速率可達到1Mbps(通信距離小于40M);(4) CAN總線傳輸介質可以是雙絞線,同軸電纜。CAN總線適用于大數據量短距離通信或者長距離小數據量,實時性要求比較高,多主多從或者各個節點平等的現場中使用。
怎樣檢測CAN總線上的終端電阻阻值
終端電阻是為了消除在通信電纜中的信號反射,在通信過程中,有兩種原因導致信號反射:阻抗不連續和阻抗不匹配。 阻抗不連續,信號在傳輸線末端突然遇到電纜阻抗很小甚至沒有,信號在這個地方就會引起反射。這種信號反射的原理,與光從一種媒質進入另一種媒質要引起反射是相似的。
消除這種反射的方法,就必須在電纜的末端跨接一個與電纜的特性阻抗同樣大小的終端電阻,使電纜的阻抗連續。由于信號在電纜上的傳輸是雙向的,因此,在通訊電纜的另一端可跨接一個同樣大小的終端電阻。
引起信號反射的另外一個原因是數據收發器與傳輸電纜之間的阻抗不匹配。這種原因引起的反射,主要表現在通訊線路處在空閑方式時,整個網絡數據混亂。
為了提高網絡節點的拓撲能力,CAN總線兩端需要接有120Ω的抑制反射的終端電阻, 它對匹配總線阻抗起著非常重要的作用,如果忽略此電阻,會使數字通信的抗干擾性和可靠性大大降低,甚至無法通信。
不合適的CAN總線終端電阻導致的錯誤
CAN總線ISO 11898協議規定,CAN總線必須在網絡的兩端,通常是網絡主控制器和網絡最遠端的節點之間安裝合適的總線終端電阻(在位于DB-9接口的第2和第7引 腳的CAN_H和 CAN_L信號線之間安裝一個120歐姆的電阻)。詳細請參考相關鏈接部分“為NI-CAN硬件安裝合適的終端電阻”,更為詳細地了解如何為NI-CAN 網絡安裝終端電阻。 在沒有安裝合適的終端電阻的情況下,通信可能會出現下面非預期的行為:
在低波特率的情況下能夠正確通信,但是在波特率較高時會出錯(具體出錯的波特率的值取決于一系列因素,包括CAN網絡長度、數據幀上攜帶的數據----它能夠改變具體傳輸的最高頻率以及網絡附近的電磁干擾等等)。
值得注意的是,在安裝了合適的終端電阻的情況下,通信總是正常的。但是在40K較低的波特率下,通信仍然是正常的,因此這點是不符合CAN ISO 11898規范的地方。
CAN錯誤 - Form錯誤、CRC錯誤、Bit錯誤、Stuff錯誤和其他由于不合適終端電阻所導致的錯誤。如果出現這些錯誤,則請按照附件中的知識庫文章來檢驗是否 安裝了合適的終端電阻。更多短語CAN錯誤的信息,請參考相關鏈接一欄中的NI-CAN硬件和軟件用戶手冊(附錄B包含了一個CAN標準的總結,并包含一 個叫“CAN錯誤檢測與約束”,該章節詳細描述了CAN錯誤)。
Stuff錯誤就是一個可以用沒有合適的終端電阻來解釋的CAN錯誤(這個錯誤在CAN ISO 11898規范中進行了定義)。 當總線上連續出現6位相同的數據時,就會發生Stuff錯誤。當發送器件檢測到連續5位相同的數據時,就會自動在數據流后面插入一個完成停止位,這個位會 被所有的接收器件檢測到并自動去除掉。這個填充位的策略能夠保證數據流中有足夠的信號沿,從而保證同一個數據幀中的數據同步。如果接收器件檢測到連續6位 相同的數據位,那么一定是由于同步丟失,導致接收到的數據與發送的數據不相同。而在沒有合適的終端電阻的情況下,就會發生這樣的事情,數據幀中的某些數據 能夠正確地接收和發送,而在接收的CAN接口處,整個幀(或者數據幀的完整性)沒有正確的保持和被接收。 出現這種情況的原因是,一般來說CAN網絡定義傳輸線,根據傳輸線理論,如果在接收端沒有合適的終端電阻,那么足夠高頻率的信號在執行長度的傳輸線上是不 能正確被傳輸的。這里的終端電阻一般指網絡匹配,該負載一般選擇使傳輸功率最大,并且其值等于網絡端口阻抗共軛值(這里指的是接收端的CAN接口,實際 上,考慮到噪聲和其他影響,許多應用中常使用不一樣的終端電阻)。
值得慶幸的是,在CAN ISO 11898規范中,已經將整個CAN網絡的終端電阻簡化為在網絡兩端安裝兩個120歐姆的電阻(就如同第一部分描述的一樣,這完全符合CAN標準)。
如何用萬用表測量CAN總線
檢測提示
● 電壓檢測 (示波器):電壓檢測的前提條件是,蓄電池已連接并且點火開關已接通。
● 電阻測量:在電阻測量時,在測量前必須把待測部件斷電。為此應斷開車輛蓄電池的接線。等待約3 分鐘,直到系統中的所有電容器放完電。
CAN總線
CAN (控制器區域網絡) 總線系統是一種線形總線系統并具有以下特征:
● 信號雙向傳播。
● 所有總線用戶都接收同一個信息。每個總線用戶決定,它是否利用該信息。
● 通過簡單并聯即可添加附加的總線用戶。
● 此總線系統構成一個多主控單元系統。每個總線用戶可以是主控單元也可以是副控制單元,根據其作為發射器還是接收器被連接而定。
● 傳輸媒介是雙線連接。導線的名稱為:CAN Low (低速) 和 CAN High (高速)
● 原則上每個總線用戶可以通過總線同所有其它總用戶通信。通過干預法,控制總線上的數據交換。
數據總線 K-CAN (車身 CAN)、PT-CAN (傳動系 CAN) 和 F-CAN (底盤 CAN) 之間的主要區別是:
● K-CAN:數據傳輸率約 100 kBit/s。可以進行單線運行。
● PT-CAN:數據傳輸率約 500 kBit/s。不能進行單線運行。
● F-CAN:數據傳輸率約 500 kBits/s。不能單線運行
主控單元
主控單元是主動式通信方,通信的主動權由它發出。主控制單元掌控總線,并控制通信。主控制單元能夠在總線系統中向被動式總線用戶 (副控制單元) 發送信息,并根據被動式用戶的要求接收信息。
副控單元
副控制單元是一個被動式通信用戶。副控制單元被要求接收和發送數據。
多主控單元系統
在一個多主控單元系統中所有的通信用戶在某個時間都能夠擔當主控單元或副控制單元的角色。
示波器測量
為了弄清 CAN 總線是否完好工作,必須觀察總線上的通信情況。在這種情況下不需要分析單個位,而只需要觀察 CAN 總線是否工作。示波器測量說明:‘CAN 總線很可能無故障工作’。
如果用示波器測量 CAN 低 (或 CAN 高) 導線和接地之間的電壓,則獲得一個處于下列電壓極限范圍內的類矩形波信號:
K-CAN:
CAN Low (低速) 對地:U 最小 = 1 V,U 最大 = 5 V
CAN High (高速) 對地:U 最小 = 0 V,U 最大 = 4 V
這些值都是近似值,根據總線上的負載可能有幾個 100 mV 的偏差
測量 K-CAN:CH1 CAN 低,CH2 CAN 高
如果用示波器測量 CAN 低 (或 CAN 高) 導線和接地之間的電壓,則獲得一個處于下列電壓極限范圍內的類矩形波信號:
PT-CAN 和 F-CAN:
CAN Low (低速) 對地:U 最小 = 1.5 V,U 最大 = 2.5 V
CAN High (高速) 對地:U 最小 = 2.5 V,U 最大 = 3.5 V
測量 PT-CAN:CH1 CAN 低,CH2 CAN 高
總線端測量
測量前提 :
● CAN 總線必須斷電。
● 不允許使用其它測量儀 (并聯測量儀)。
● 測量在 CAN-Low 導線和 CAN-High 導線之間進行。
● 實際值允許與標準值有幾歐姆的偏差。
K-CAN :
因為電阻根據控制單元內部的開關邏輯而變化,所以在 K-CAN 總線上不能進行規定的電阻測量!
PT-CAN、F-CAN :
為了避免信號反射,在 2 個 CAN 總線用戶上 (在 PT-CAN 網絡中的距離最遠) 分別連接一個 120 Ω 的終端電阻。這兩個終端電阻并聯,并構成一個 60 Ω 的等效電阻。關閉供電電壓后可以在數據線之間測量這個等效電阻。此外,單個電阻可以各自分開測量。
通過 60 Ω 等效電阻進行測量的提示:把一個便于拆裝的控制單元從總線上脫開。然后在插頭上測量 CAN-Low導線和 CAN-High 導線之間的電阻。
提示!
并非所有車輛都在 CAN 總線上有終端電阻。可以根據相應的電路圖檢查,在連接的車輛上是否安裝有終端電阻。
CAN 總線失效
當 K-CAN 或 PT-CAN 數據總線失效時,在 CAN-Low 或 CAN-High 導線上可能存在短路或斷路。或者某個控制單元已損壞。
為了查找故障原因,建議進行下列工作步驟:
● 將總線用戶從 CAN 總線上依次拔下,直至找到故障原因 (= 控制單元 X)。
● 檢查通往控制單元 X 的導線是否短路或斷路。
● 如有可能,檢測控制單元 X。
● 如果某個控制單元至 CAN 總線的分支線短路,僅執行該工作步驟就成功了。如果 CAN 總線中的一條導線自身短路,則必須檢查電線束。
結語
關于CAN總線的相關介紹就到這了,如有不足之處歡迎指正。
評論
查看更多