CAN總線百科
CAN是控制器局域網(wǎng)絡(Controller Area Network)的簡稱,是由研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國BOSCH公司開發(fā)了的,并最終成為國際標準(ISO118?8)。是國際上應用最廣泛的現(xiàn)場總線之一。 在北美和西歐,CAN總線協(xié)議已經(jīng)成為汽車計算機控制系統(tǒng)和嵌入式工業(yè)控制局域網(wǎng)的標準總線,并且擁有以CAN為底層協(xié)議專為大型貨車和重工機械車輛設計的J1939協(xié)議。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車計算機控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強和振動大的工業(yè)環(huán)境
本文引用地址:http://m.butianyuan.cn/article/201612/331065.htmCAN總線基本概念
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ù)通信提供了強有力的技術支持。
CAN總線優(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)先權(取決于報文標識符)采用無損結(jié)構的逐位仲裁的方式競爭向總線發(fā)送數(shù)據(jù),且CAN協(xié)議廢除了站地址編碼,而代之以對通信數(shù)據(jù)進行編碼,這可使不同的節(jié)點同時接收到相同的數(shù)據(jù),這些特點使得CAN總線構成的網(wǎng)絡各節(jié)點之間的數(shù)據(jù)通信實時性強,并且容易構成冗余結(jié)構,提高系統(tǒng)的可靠性和系統(tǒng)的靈活性。而利用RS-485只能構成主從式結(jié)構系統(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總線越來越受到人們的重視。它在汽車領域上的應用是最廣泛的,世界上一些著名的汽車制造廠商,如BENZ(奔馳)、BMW(寶馬)、PORSCHE(保時捷)、ROLLS-ROYCE(勞斯萊斯)和JAGUAR(美洲豹)等都采用了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等。
CAN總線的發(fā)展
控制器局部網(wǎng)(CAN-CONTROLLER AREA NETWORK)是BOSCH公司為現(xiàn)代汽車應用領先推出的一種多主機局部網(wǎng),由于其高性能、高可靠性、實時性等優(yōu)點現(xiàn)已廣泛應用于工業(yè)自動化、多種控制設備、交通工具、醫(yī)療儀器以及建筑、環(huán)境控制等眾多部門??刂破骶植烤W(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(轉(zhuǎn)換技術)緊密結(jié)合的產(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總線的特點
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總線采用了多主競爭式總線結(jié)構,具有多主站運行和分散仲裁的串行總線以及廣播通信的特點。CAN總線上任意節(jié)點可在任意時刻主動地向網(wǎng)絡上其它節(jié)點發(fā)送信息而不分主次,因此可在各節(jié)點之間實現(xiàn)自由通信。CAN總線協(xié)議已被國際標準化組織認證,技術比較成熟,控制的芯片已經(jīng)商品化,性價比高,特別適用于分布式測控系統(tǒng)之間的數(shù)通訊。CAN總線插卡可以任意插在PC AT XT兼容機上,方便地構成分布式監(jiān)控系統(tǒng)。
結(jié)構簡單
只有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總線技術介紹
位仲裁
要對數(shù)據(jù)進行實時處理,就必須將數(shù)據(jù)快速傳送,這就要求數(shù)據(jù)的物理傳輸通路有較高的速度。在幾個站同時需要發(fā)送數(shù)據(jù)時,要求快速地進行總線分配。實時處理通過網(wǎng)絡交換的緊急數(shù)據(jù)有較大的不同。一個快速變化的物理量,如汽車引擎負載,將比類似汽車引擎溫度這樣相對變化較慢的物理量更頻繁地傳送數(shù)據(jù)并要求更短的延時。
CAN總線以報文為單位進行數(shù)據(jù)傳送,報文的優(yōu)先級結(jié)合在11位標識符中,具有最低二進制數(shù)的標識符有最高的優(yōu)先級。這種優(yōu)先級一旦在系統(tǒng)設計時被確立后就不能再被更改??偩€讀取中的沖突可通過位仲裁解決。如圖2所示,當幾個站同時發(fā)送報文時,站1的報文標識符為011111;站2的報文標識符為0100110;站3的報文標識符為0100111。所有標識符都有相同的兩位01,直到第3位進行比較時,站1的報文被丟掉,因為它的第3位為高,而其它兩個站的報文第3位為低。站2和站3報文的4、5、6位相同,直到第7位時,站3的報文才被丟失。注意,總線中的信號持續(xù)跟蹤最后獲得總線讀取權的站的報文。在此例中,站2的報文被跟蹤。這種非破壞性位仲裁方法的優(yōu)點在于,在網(wǎng)絡最終確定哪一個站的報文被傳送以前,報文的起始部分已經(jīng)在網(wǎng)絡上傳送了。所有未獲得總線讀取權的站都成為具有最高優(yōu)先權報文的接收站,并且不會在總線再次空閑前發(fā)送報文。
CAN具有較高的效率是因為總線僅僅被那些請求總線懸而未決的站利用,這些請求是根據(jù)報文在整個系統(tǒng)中的重要性按順序處理的。這種方法在網(wǎng)絡負載較重時有很多優(yōu)點,因為總線讀取的優(yōu)先級已被按順序放在每個報文中了,這可以保證在實時系統(tǒng)中較低的個體隱伏時間。
對于主站的可靠性,由于CAN協(xié)議執(zhí)行非集中化總線控制,所有主要通信,包括總線讀取 (許可)控制,在系統(tǒng)中分幾次完成。這是實現(xiàn)有較高可靠性的通信系統(tǒng)的唯一方法。
CAN與其它通信方案的比較
在實踐中,有兩種重要的總線分配方法:按時間表分配和按需要分配。在第一種方法中,不管每個節(jié)點是否申請總線,都對每個節(jié)點按最大期間分配。由此,總線可被分配給每個站并且是唯一的站,而不論其是立即進行總線存取或在一特定時間進行總線存取。這將保證在總線存取時有明確的總線分配。在第二種方法中,總線按傳送數(shù)據(jù)的基本要求分配給一個站,總線系統(tǒng)按站希望的傳送分配(如:EthernetCSMA/CD)。因此,當多個站同時請求總線存取時,總線將終止所有站的請求,這時將不會有任何一個站獲得總線分配。為了分配總線,多于一個總線存取是必要的。
評論