一 前言
隨著計(jì)算機(jī)技術(shù)、通訊技術(shù)、集成電路技術(shù)的飛速發(fā)展,以全數(shù)字式現(xiàn)場總線技術(shù)為代表現(xiàn)場控制儀表、設(shè)備大量應(yīng)用,使得傳統(tǒng)的現(xiàn)場控制技術(shù)及現(xiàn)場控制設(shè)備發(fā)生了巨大的變化。繁瑣的現(xiàn)場連線被單一、簡潔的現(xiàn)場總線網(wǎng)絡(luò)所替代,系統(tǒng)設(shè)計(jì)靈活、設(shè)備維護(hù)簡單,信號(hào)傳輸質(zhì)量也大幅提高。
電子技術(shù)的飛速發(fā)展及在工程機(jī)械上的廣泛應(yīng)用,使得工程機(jī)械的智能化程度越來越高,特別是在控制器技術(shù)被引入工程機(jī)械控制領(lǐng)域后,給工程機(jī)械的發(fā)展帶來了劃時(shí)代的變化,工程機(jī)械的操作便利性、安全性、燃油經(jīng)濟(jì)性都得到了大幅提高。
然而,電子設(shè)備的大量使用,必然導(dǎo)致車身布線越來越長愈來愈復(fù)雜,運(yùn)行可靠性降低、故障維修難度增大,特別是電子控制單元的大量引入,為了提高信號(hào)的利用率,要求人批的數(shù)據(jù)信息能在不同的控制單元中共享,大量的控制信號(hào)也需要實(shí)時(shí)交換,傳統(tǒng)線束已遠(yuǎn)遠(yuǎn)不能滿足這種需求。在這種情況下,將串行通訊總線系統(tǒng)引入可以有效解決上述問題。基于上述原因,博世公司開發(fā)了控制器局域網(wǎng)(CAN),并獲得了國際標(biāo)準(zhǔn)化組織的認(rèn)可及許多半導(dǎo)體器件制造商、網(wǎng)絡(luò)系統(tǒng)開發(fā)商的支持。現(xiàn)在它已經(jīng)被廣泛地應(yīng)用于汽車、工程機(jī)械和工業(yè)現(xiàn)場控制,實(shí)踐證明CAN網(wǎng)絡(luò)是一種性能優(yōu)異的現(xiàn)場網(wǎng)絡(luò)。
CAN總線技術(shù)的引入徹底改變了工程機(jī)械控制領(lǐng)域的面貌,分布式控制系統(tǒng)完全取代了集中式控制系統(tǒng),在眾多具有CAN功能的控制器、傳感器和執(zhí)行器的支持下,繁瑣的現(xiàn)場連線被單一、簡潔的現(xiàn)場總線網(wǎng)絡(luò)所替代,系統(tǒng)設(shè)計(jì)更加靈活、信號(hào)傳輸質(zhì)量也大幅提高。
眾多的國際知名公司早在80年代初就積極致力于工程機(jī)械及汽車局域網(wǎng)的應(yīng)用及研究。進(jìn)入90年代,這些曰趨成熟的技術(shù)在國外已廣泛地應(yīng)用于工程機(jī)械領(lǐng)域。為縮短與國際先進(jìn)水平的差距,研究和開發(fā)自己的工程機(jī)械局域網(wǎng)系統(tǒng)勢在必行。
二 CAN的技術(shù)特征
1 CAN的物理特性
1.1拓?fù)浣Y(jié)構(gòu) CAN在物理結(jié)構(gòu)上屬于總線式通信網(wǎng)絡(luò)。
1.2機(jī)械參數(shù)及傳輸介質(zhì) 模塊通過一個(gè)9針的D型插頭連接到CAN總線上。總線采用屏蔽的或非屏蔽的雙絞線,用光纖更佳。
1.3電氣參數(shù)及信號(hào)表示 總線上的數(shù)據(jù)采用不歸零編碼方式(NRZ),可具有兩種互補(bǔ)的邏輯值之一:顯性及隱性。CAN總線中各節(jié)點(diǎn)使用相同的位速率。它的每位時(shí)間由同步段、傳播段、相位緩沖段1及相位緩沖段2組成。發(fā)送器在同步段前改變輸出的位數(shù)值,接受器在兩個(gè)相位緩沖段間采樣輸入位值,而兩個(gè)相位緩沖段長度可自由調(diào)節(jié),以保證采樣的可靠性。另外,CAN總線采用時(shí)鐘同步技術(shù)來保證通訊的同步。
2 CAN協(xié)議
CAN總線以報(bào)文為單位進(jìn)行信息交換,報(bào)文中含有標(biāo)示符(ID),它既描述了數(shù)據(jù)的含義又表明了報(bào)文的優(yōu)先權(quán)。CAN總線上的各個(gè)協(xié)點(diǎn)都可主動(dòng)發(fā)送數(shù)據(jù)。當(dāng)同時(shí)有兩個(gè)或兩個(gè)以上的節(jié)點(diǎn)發(fā)送報(bào)文時(shí),CAN控制器采用ID進(jìn)行仲裁。ID控制節(jié)點(diǎn)對總線的訪問。發(fā)送具有最高優(yōu)先權(quán)報(bào)文的節(jié)點(diǎn)獲得總線的使用權(quán),其他節(jié)點(diǎn)自動(dòng)停止發(fā)送,總線空閑后,這些節(jié)點(diǎn)將自動(dòng)重發(fā)報(bào)文。
2.1 CAN協(xié)議 分層結(jié)構(gòu)CAN總線規(guī)范規(guī)定了任意兩個(gè)節(jié)點(diǎn)之間的兼容性。包括電氣特件利數(shù)據(jù)解釋協(xié)議。
CAN協(xié)議可分為:目標(biāo)層、傳送層、物理層。其中目標(biāo)層和傳送層包括了ISO/OSI定義的數(shù)據(jù)鏈路的所有功能。目標(biāo)層的功能包括:確認(rèn)要發(fā)送的信息;位應(yīng)用層提供接口。傳送層功能包括:數(shù)據(jù)幀組織:總線仲裁:檢錯(cuò)、錯(cuò)誤報(bào)告、錯(cuò)誤處理。
2.2 CAN通信協(xié)議 CAN支持四類信息幀類型。
(1)數(shù)據(jù)幀 CAN協(xié)議有兩種數(shù)據(jù)幀類型標(biāo)準(zhǔn)2.0A和標(biāo)準(zhǔn)2.0B。兩者本質(zhì)的不同在于ID的長度不同。在2.0A類型中,ID的長度為l l位;在2.0B類型中ID為29位。一個(gè)信息震中包括7個(gè)主要的域:
幀起始域――標(biāo)志數(shù)據(jù)幀的開始,由一個(gè)顯性位組成。
仲裁域――內(nèi)容由標(biāo)示符和遠(yuǎn)程傳輸請求位(RTR)組成,RTR用以表明此信息幀是數(shù)據(jù)幀還是不包含任何數(shù)據(jù)的遠(yuǎn)地請求幀。當(dāng)2.0A的數(shù)據(jù)幀和2.0B的數(shù)據(jù)幀必須在同一條總線上傳輸時(shí),首先判斷其優(yōu)先權(quán),如果ID相同,則非擴(kuò)展數(shù)據(jù)幀的優(yōu)先權(quán)高于擴(kuò)展數(shù)據(jù)幀。
控制域――r0、r1是保留位,作為擴(kuò)展位,DLC表示一幀中數(shù)據(jù)字節(jié)的數(shù)目。
數(shù)據(jù)域――包含0~8字節(jié)的數(shù)據(jù)。
校驗(yàn)域――檢驗(yàn)位錯(cuò)用的循環(huán)冗余校驗(yàn)域,共15位。
應(yīng)答域――包括應(yīng)答位和應(yīng)答分隔符。正確接收到有效報(bào)文的接收站在應(yīng)答期間將總線值為顯性電平。
幀結(jié)束――由七位隱性電平組成。
(2)遠(yuǎn)程幀 接受數(shù)據(jù)的節(jié)點(diǎn)可通過發(fā)遠(yuǎn)程幀請求源節(jié)點(diǎn)發(fā)送數(shù)據(jù)。它由6個(gè)域組成:幀起始、仲裁域、控制域、校驗(yàn)域、應(yīng)答域、幀結(jié)束。
(3)錯(cuò)誤指示幀 由錯(cuò)誤標(biāo)志和錯(cuò)誤分界兩個(gè)域組成。接收節(jié)點(diǎn)發(fā)現(xiàn)總線上的報(bào)文有誤時(shí),將自動(dòng)發(fā)出“活動(dòng)錯(cuò)誤標(biāo)志”其他節(jié)點(diǎn)檢測到活動(dòng)錯(cuò)誤標(biāo)志后發(fā)送“錯(cuò)誤認(rèn)可標(biāo)志”。
(4)超載幀 由超載標(biāo)志和超載分隔符組成。超載幀只能在一個(gè)幀結(jié)束后開始。當(dāng)接收方接收下一幀之前,需要過多的時(shí)間處理當(dāng)前的數(shù)據(jù),或在幀問空隙域檢測到顯性電平時(shí),則導(dǎo)致發(fā)送超載幀。
(5)幀間空隙 位于數(shù)據(jù)幀和遠(yuǎn)地幀與前面的信息幀之間,由幀間空隙和總線空閑狀態(tài)組成。幀間空隙是必要的,在此期間,CAN不進(jìn)行新的幀發(fā)送,為的是CAN控制器在下次信息傳遞前有時(shí)間進(jìn)行內(nèi)部處理操作。當(dāng)總線空閑時(shí)CAN控制器方可發(fā)送數(shù)據(jù)。
2.3 錯(cuò)誤檢驗(yàn) 為了提高抗干擾能力和數(shù)據(jù)的可靠性,采取了多種錯(cuò)誤檢測手段:發(fā)送監(jiān)視、填充監(jiān)視、CRC錯(cuò)、格式錯(cuò)、應(yīng)答錯(cuò)誤等。
2.4 總線訪問控制要做到數(shù)據(jù)的實(shí)時(shí)處理,數(shù)據(jù)的高速傳輸是關(guān)鍵。對于工程機(jī)械中的具體節(jié)點(diǎn)而言,不僅需要高達(dá)1Mbit/s的通信速率,更需要在幾個(gè)節(jié)點(diǎn)要競爭訪問總線時(shí)正確定位哪個(gè)節(jié)點(diǎn)獲得使用權(quán)。總線上的各種數(shù)據(jù)的延遲要求是不一樣的,快速變化的物理量(如發(fā)送機(jī)的轉(zhuǎn)速、路面的隨機(jī)波動(dòng)信號(hào)等)比慢時(shí)變的物理量(如溫度、壓力等信號(hào))要求訪問總線的頻率大的多。當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)需要訪問總線時(shí),CAN控制器通過各種報(bào)文被賦予的優(yōu)先權(quán)標(biāo)示符及ID數(shù)的大小來仲裁誰先發(fā)送。
3 CAN總線技術(shù)的應(yīng)用特點(diǎn)及支持器件
(一)CAN總線技術(shù)的應(yīng)用特點(diǎn)
1.CAN網(wǎng)絡(luò)上任何一節(jié)點(diǎn)均可作為主結(jié)點(diǎn)主動(dòng)地與其他節(jié)點(diǎn)交換數(shù)據(jù),大大提高系統(tǒng)的性能。
2