CAN總線和基于CAN總線的高層協(xié)議
1 引言
從1982年2月 RobertBosch公司在SAE(汽車工程協(xié)會)大會上宣布CAN控制器局部網(wǎng)的那一刻開始, CAN已經(jīng)走過20多年的歷史。1992年,Mercedes(奔馳)在他們的高級客車中使用CAN技術(shù),相繼Volvo、Volkswagen、BMW 等幾十家公司都在各自的汽車上應(yīng)用CAN技術(shù)。今天,在歐洲幾乎每一輛新客車均裝有CAN控制器局部網(wǎng)。CAN技術(shù)近年在我國發(fā)展也比較迅猛,國內(nèi)的高級客車也都開始應(yīng)用CAN技術(shù)。
CAN的協(xié)議在應(yīng)用過程中,用戶層直接訪問數(shù)據(jù)鏈接層,每個(gè)廠商提供的數(shù)據(jù)調(diào)用方式各不相同,而CAN的標(biāo)準(zhǔn)沒有規(guī)定應(yīng)用層的相關(guān)信息,因此,CAN設(shè)備的兼容性和互換性不是很規(guī)范。而且,隨著應(yīng)用領(lǐng)域的擴(kuò)展,CAN協(xié)議在實(shí)際工業(yè)控制應(yīng)用過程中,即使執(zhí)行一些簡單的分布式網(wǎng)絡(luò),除了標(biāo)準(zhǔn)中的物理層和數(shù)據(jù)鏈接層外,客戶還要求有更多的功能,如發(fā)送長于8字節(jié)的數(shù)據(jù)塊、響應(yīng)和確定數(shù)據(jù)傳送、標(biāo)識符分配、網(wǎng)絡(luò)節(jié)點(diǎn)的狀態(tài)等。如果這些功能正確執(zhí)行,通信和應(yīng)用過程的界線就十分清晰,將明顯提高各個(gè)廠商之間的設(shè)備互換性和兼容性。鑒于這些原因,產(chǎn)生了一些針對不同的目的和要求的基于CAN協(xié)議的較高層協(xié)議標(biāo)準(zhǔn)。下面就對CAN 協(xié)議及其較高層協(xié)議DeviceNet和CANopen進(jìn)行一些比較。
2 三種協(xié)議的比較項(xiàng)目
CAN(Controller Area Network)1993年形成了CAN總線國際標(biāo)準(zhǔn),2003年又進(jìn)行了修訂,是BOSCH公司為改進(jìn)汽車內(nèi)部電器線路開發(fā)的一種總線。CAN協(xié)議的實(shí)現(xiàn)簡單,成本低,可靠性高,抗干擾能力強(qiáng)。
DeviceNet在美國市場占有率比較高,它是由美國Rockwell公司在CAN的基礎(chǔ)上推出的一種低成本的通信鏈接,它使用抽象的對象模型,其協(xié)議和規(guī)范都是開放的,用戶將設(shè)備連接到系統(tǒng)時(shí)無需購買硬件、軟件和許可權(quán)。
CANopen 是由CiA(CAN in Aoutmation)成員編制,主要盛行于歐洲,它在通訊和系統(tǒng)服務(wù)以及網(wǎng)絡(luò)管理方面使用了CAL(CAN Application Layer)子集,設(shè)備建模是借助于對象目錄而基于設(shè)備功能性的描述,標(biāo)準(zhǔn)設(shè)備以設(shè)備子協(xié)議的形式規(guī)定。CANopen標(biāo)準(zhǔn)由CiA同行機(jī)構(gòu)集團(tuán)支持,設(shè)備子協(xié)議由CiA中專門的同行機(jī)構(gòu)制定。
本文就以下項(xiàng)目對三種協(xié)議進(jìn)行比較。
(1) 信息標(biāo)識符的分配;
(2) 數(shù)據(jù)交換的方法;
(3) 建立信息連接的方法;
(4) 網(wǎng)絡(luò)管理;
(5) 設(shè)備建模和子協(xié)議。
2.1 信息標(biāo)識符的分配
由于CAN采用非破壞性的仲裁方法,因此,標(biāo)識符決定了塊信息傳送的優(yōu)先權(quán)和信息等待時(shí)間,信息標(biāo)識符的分配的方法被認(rèn)為是 CAN系統(tǒng)的主要結(jié)構(gòu)元素,它同時(shí)也影響了信息濾波和標(biāo)識符的使用效率問題。
由于標(biāo)識符分配的方法不同,不同的協(xié)議在解決方案已把不同的原則考慮進(jìn)去。CAN基本協(xié)議和DeviceNet的標(biāo)識符采用預(yù)定義的方式,不同的是在 CAN 協(xié)議中節(jié)點(diǎn)標(biāo)識符在設(shè)計(jì)時(shí)被確定后就不能動態(tài)更改,而DeviceNet每個(gè)節(jié)點(diǎn)預(yù)定義多個(gè)標(biāo)識符,不同的功能標(biāo)識符優(yōu)先級不同。在CANopen協(xié)議中,除了預(yù)定義了一些用于管理的標(biāo)識符外,其它標(biāo)識符統(tǒng)一組成一個(gè)通用的標(biāo)識符庫,用戶可根據(jù)設(shè)備的需要進(jìn)行手動或者自動分配所有的設(shè)備標(biāo)識符。這樣的分配方案用戶就可以完全自由決定標(biāo)識符的使用及系統(tǒng)實(shí)時(shí)通訊的過程。
表1 DeviceNet關(guān)于CAN標(biāo)識符的使用分配
評論