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