技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > CAN總線的淺析CANopen協(xié)議

CAN總線的淺析CANopen協(xié)議

時(shí)間:2007-05-28 13:39:00來源:lihan

導(dǎo)語:?本文分析了CAN總線的一些特點(diǎn)以及在國(guó)內(nèi)的的應(yīng)用狀況,并簡(jiǎn)要介紹了一種CAN的高層協(xié)議—CANopen協(xié)議。
摘 要: 本文分析了CAN總線的一些特點(diǎn)以及在國(guó)內(nèi)的的應(yīng)用狀況,提出了引入國(guó)際上通用的CAN總線高層應(yīng)用協(xié)議,以提高國(guó)內(nèi)CAN系統(tǒng)應(yīng)用水平的建議,并簡(jiǎn)要介紹了一種CAN的高層協(xié)議—CANopen協(xié)議。文章最后部分介紹了國(guó)際上一些較先進(jìn)的CAN產(chǎn)品和開發(fā)方法。 關(guān)鍵詞: CAN-bus協(xié)議;CANopen協(xié)議;嵌入式軟件中間件 在設(shè)計(jì)嵌入式系統(tǒng),尤其是分布式嵌入式系統(tǒng)時(shí),解決好系統(tǒng)各單元間可靠、有效的通信是系統(tǒng)設(shè)計(jì)成敗的關(guān)鍵,對(duì)實(shí)時(shí)性和安全可靠性要求高的網(wǎng)絡(luò)而言就更是如此。解決這一問題有多種方案,如RS232/485串行總線、CAN、ProfitBus、FF、WorldFIP、LonWorks等各類型的現(xiàn)場(chǎng)總線,還有嵌入式以太網(wǎng)等。其中,盡管RS485串行總線協(xié)議的性能不高,但由于其在硬件成本以及開發(fā)簡(jiǎn)便性上的巨大優(yōu)勢(shì),目前仍然是國(guó)內(nèi)廣泛的總線應(yīng)用。 隨著嵌入式系統(tǒng)應(yīng)用的發(fā)展,RS485性能上的不足逐漸顯露出來,已經(jīng)不能滿足設(shè)計(jì)一個(gè)高性能、高實(shí)時(shí)性系統(tǒng)的要求。盡管還需要實(shí)踐的證明,但筆者經(jīng)過多年的觀察和實(shí)踐,感覺到CAN總線是其中最有希望成功的。 選擇CAN總線實(shí)現(xiàn)通信的原因 選擇CAN總線作為最佳候選者,主要是基于以下幾方面原因: CAN串行總線具有高性能 CAN的傳輸距離可以達(dá)到10公里;通信速率最高可達(dá)1Mbps;具有完善的錯(cuò)誤檢測(cè)機(jī)制;采用“多重訪問沖突仲裁”機(jī)制的幀傳輸方式,可保證不丟失信息;每一幀中最多可以傳輸8個(gè)字節(jié)數(shù)據(jù),可提供很高的實(shí)時(shí)性等等。性能上的優(yōu)勢(shì)保證了CAN可以應(yīng)用在很多的領(lǐng)域,在汽車工業(yè)、船舶運(yùn)輸、機(jī)械控制、工廠自動(dòng)化、樓宇自動(dòng)化等都可以看到CAN的應(yīng)用。 CAN在硬件成本上很具優(yōu)勢(shì) 除了性能外,和其它現(xiàn)場(chǎng)總線相比,CAN總線在硬件成本上也有很大優(yōu)勢(shì)。從硬件芯片上來說,智能節(jié)點(diǎn)要收發(fā)信息需要一個(gè)CAN控制器和一個(gè)CAN收發(fā)器。經(jīng)過20多年的發(fā)展,CAN已經(jīng)獲得了國(guó)際上各大半導(dǎo)體制造商的大力支持,據(jù)CAN最主要的推廣組織CIA(自動(dòng)化CAN)統(tǒng)計(jì),目前已經(jīng)有20余種CAN控制器和收發(fā)器可供選擇,片內(nèi)集成CAN控制器的單片機(jī)更多達(dá)100余種。CAN在開發(fā)成本上的優(yōu)勢(shì)也很明顯. 目前,從廣泛應(yīng)用的8位/16位單片機(jī),到DSP和32位的PowerPC、ARM等嵌入式處理器,均在芯片內(nèi)部含有CAN總線硬件接口單元。因此,從硬件角度看,CAN具備其它現(xiàn)場(chǎng)總線無法比擬的高集成化優(yōu)勢(shì)和廣泛的市場(chǎng)支持基礎(chǔ)。 CAN的開發(fā)平臺(tái)也比較簡(jiǎn)單,用戶如果選擇普通單片機(jī)加上CAN控制器進(jìn)行開發(fā),則CAN的開發(fā)平臺(tái)和普通單片機(jī)的開發(fā)平臺(tái)完全相同;如果選擇帶有片內(nèi)CAN控制器的單片機(jī)進(jìn)行開發(fā),則只要換用支持該單片機(jī)的仿真器就可以了,其他開發(fā)設(shè)備完全相同。開發(fā)CAN也需要相應(yīng)的驅(qū)動(dòng)程序。用戶可以自行根據(jù)選擇的CAN控制器開發(fā)驅(qū)動(dòng)程序。 [ALIGN=CENTER] 圖1 CANopen協(xié)議通信模型[/ALIGN] 通過采用高層協(xié)議將CAN的應(yīng)用推向深化 和其他的現(xiàn)場(chǎng)總線相比,CAN只定義了物理層和數(shù)據(jù)鏈路層的規(guī)范(遵循OSI標(biāo)準(zhǔn)),這種設(shè)計(jì)和CAN規(guī)范定義時(shí)的歷史條件有關(guān),也可以使CAN能夠更廣泛地適應(yīng)不同的應(yīng)用條件,但必然給用戶應(yīng)用帶來一些不便。用戶在應(yīng)用CAN協(xié)議時(shí),必須自行定義高層協(xié)議。 如何將CAN協(xié)議的應(yīng)用推向更深的層次,同時(shí)滿足產(chǎn)品的兼容和互操作性?國(guó)際上通行的辦法是發(fā)展基于CAN的高層應(yīng)用協(xié)議,只用在應(yīng)用層上,不同公司的產(chǎn)品才可能實(shí)現(xiàn)互操作,好的應(yīng)用層協(xié)議更可以為用戶帶來系統(tǒng)性能的飛躍。 在CAN總線協(xié)議飛速發(fā)展的20年中,很多領(lǐng)域都制定了CAN在該領(lǐng)域應(yīng)用時(shí)所采用的高層協(xié)議規(guī)范。其中,比較著名的有美國(guó)汽車工程師協(xié)會(huì)(SAE)制定的車內(nèi)通信規(guī)范J1939等。這些協(xié)議和規(guī)范對(duì)CAN的推廣起了很大的作用,但總體來說,協(xié)議的模塊化特性都不太好,一般只能應(yīng)用于特定的領(lǐng)域。為了能夠把CAN推廣到更多的領(lǐng)域,歐洲一些公司推出了CAL(應(yīng)用層CAN)協(xié)議,盡管CAL在理論上正確,并在工業(yè)上可以投入應(yīng)用,但每個(gè)用戶都必須設(shè)計(jì)一個(gè)新的子協(xié)議,因?yàn)镃AL 是一個(gè)真正的應(yīng)用層協(xié)議。CAL 可以被看作一個(gè)應(yīng)用CAN 方案的必要理論步驟,但在這一領(lǐng)域它不會(huì)被推廣。從1993 年起,由Bosch公司領(lǐng)導(dǎo)的一個(gè)歐洲機(jī)構(gòu)研究出一個(gè)協(xié)議原型,由此發(fā)展成為CANopen規(guī)范。 CANopen是一個(gè)基于CAL的子協(xié)議,采用面向?qū)ο蟮乃枷朐O(shè)計(jì),具有很好的模塊化特性和很高的適應(yīng)性,通過擴(kuò)展可以適用于大量的應(yīng)用領(lǐng)域。在CANopen規(guī)范基本完成之后,Bosch將其移交給CIA組織,由其進(jìn)行維護(hù)與發(fā)展。在1995年,CIA發(fā)表了完整版的CANopen通信子協(xié)議;僅僅用了5年的時(shí)間,它已成為全歐洲最重要的嵌入式網(wǎng)絡(luò)標(biāo)準(zhǔn)。 CANopen 不僅定義了應(yīng)用層和通信子協(xié)議,而且為可編程系統(tǒng)、不同器件、接口、應(yīng)用子協(xié)議定義了大量的行規(guī),遵循這些行規(guī)開發(fā)出的CANopen設(shè)備將能夠?qū)崿F(xiàn)不同公司產(chǎn)品間的互操作。另外,CANopen協(xié)議是免許可證的,任何組織和個(gè)人都可以開發(fā)支持CANopen協(xié)議的設(shè)備而不用支付版稅,這也是CANopen得到迅猛發(fā)展的重要原因之一。CANopen目前已在汽車工業(yè)控制系統(tǒng),公共交通運(yùn)輸系統(tǒng),醫(yī)療設(shè)備,海運(yùn)電子設(shè)備和建筑自動(dòng)化系統(tǒng)中取得了廣泛的應(yīng)用,是將CAN應(yīng)用推向深化的理想選擇。 采用CANopen協(xié)議實(shí)現(xiàn)通信 CANopen協(xié)議中包含了標(biāo)準(zhǔn)的應(yīng)用層規(guī)范和通信規(guī)范,其通信模型如圖1所示。在CANopen的應(yīng)用層,設(shè)備間通過相互交換通信對(duì)象進(jìn)行通信。良好的分層和面向?qū)ο蟮脑O(shè)計(jì)思想將帶給用戶一個(gè)清晰的通信模型。 CANopen設(shè)備模型 一個(gè)CANopen設(shè)備模塊可以被分為3部分,如圖2所示。 通信接口和協(xié)議軟件提供在總線上收發(fā)通信對(duì)象的服務(wù)。不同CANopen設(shè)備間的通信都是通過交換通信對(duì)象完成的。這一部分直接面向CAN控制器進(jìn)行操作。 對(duì)象字典描述了設(shè)備使用的所有的數(shù)據(jù)類型,通信對(duì)象和應(yīng)用對(duì)象。是一個(gè)CANopen設(shè)備的核心部分。對(duì)象字典位于通信程序和應(yīng)用程序之間,向應(yīng)用程序提供接口,應(yīng)用程序?qū)?duì)象字典進(jìn)行操作就可以實(shí)現(xiàn)CANopen通信。理解對(duì)象字典的概念是理解CANopen模型的關(guān)鍵。 應(yīng)用程序由用戶編寫,包括功能部分和通信部分。通信部分通過對(duì)對(duì)象字典進(jìn)行操作實(shí)現(xiàn)CANopen通信,而功能部分由用戶根據(jù)應(yīng)用要求實(shí)現(xiàn)。 CANopen網(wǎng)絡(luò)的通信和管理都是通過不同的通信對(duì)象來完成的,為了能夠?qū)崿F(xiàn)通信,網(wǎng)絡(luò)管理,緊急情況處理等功能,CANopen規(guī)范定義了四類標(biāo)準(zhǔn)的通信對(duì)象: ·進(jìn)程數(shù)據(jù)對(duì)象(PDO) 第一類通信對(duì)象為進(jìn)程數(shù)據(jù)對(duì)象。PDO被映射到單一的CAN幀中,使用所有的8個(gè)字節(jié)的數(shù)據(jù)域來傳輸應(yīng)用對(duì)象。每個(gè)PDO有一個(gè)獨(dú)立的標(biāo)識(shí)符并且可能只被一個(gè)節(jié)點(diǎn)發(fā)送,但它可以被多于一個(gè)節(jié)點(diǎn)接收,這種模式被稱之為生產(chǎn)者/消費(fèi)者通信模式。PDO可以通過多種模式傳送,內(nèi)部事件,外部時(shí)鐘,遠(yuǎn)程幀請(qǐng)求以及從特定節(jié)點(diǎn)接收到同步報(bào)文都可以啟動(dòng)PDO發(fā)送。 ·服務(wù)數(shù)據(jù)對(duì)象(SDO) 第二類通信對(duì)象為服務(wù)數(shù)據(jù)對(duì)象,該對(duì)象可以傳輸大于8個(gè)字節(jié)的配置信息。也就是說,SDO傳送協(xié)議允許傳送任意長(zhǎng)度的對(duì)象。接收者將確認(rèn)收到的每個(gè)段信息,發(fā)送和接收者間將建立點(diǎn)對(duì)點(diǎn)的通信,稱之為客戶機(jī)/服務(wù)器模式。未來,CANopen將允許快速傳輸SDO,不必對(duì)傳送的每個(gè)段都進(jìn)行確認(rèn),只要在整個(gè)對(duì)象傳送完畢后進(jìn)行確認(rèn)即可。 ·網(wǎng)絡(luò)管理對(duì)象(NMT) 第三類通信對(duì)象是網(wǎng)絡(luò)管理對(duì)象,包括節(jié)點(diǎn)警戒對(duì)象以及NMT對(duì)象。節(jié)點(diǎn)警戒對(duì)象是由NMT主節(jié)點(diǎn)遠(yuǎn)程請(qǐng)求發(fā)送的帶有1字節(jié)數(shù)據(jù)的CAN幀,一個(gè)字節(jié)的數(shù)據(jù)中包含1個(gè)觸發(fā)位以及7個(gè)用于表示節(jié)點(diǎn)狀態(tài)的數(shù)據(jù)位。NMT主節(jié)點(diǎn)將周期性地發(fā)送節(jié)點(diǎn)警戒對(duì)象。發(fā)送周期(警戒時(shí)間)的長(zhǎng)度在對(duì)象字典中規(guī)定并且可以通過SDO進(jìn)行配置。另外,系統(tǒng)還定義了生命警戒時(shí)間,NMT主節(jié)點(diǎn)要在生命警戒時(shí)間過后向NMT從節(jié)點(diǎn)發(fā)送遠(yuǎn)程請(qǐng)求。這種機(jī)制保證了即使NMT主節(jié)點(diǎn)不在了,系統(tǒng)中的其他節(jié)點(diǎn)也可以通過用戶定義的方式進(jìn)行回應(yīng)。 ·特殊功能對(duì)象 CANopen還為同步,緊急狀態(tài)表示以及時(shí)間標(biāo)記傳送定義了三個(gè)特定的對(duì)象。同步對(duì)象由同步制造者向網(wǎng)絡(luò)進(jìn)行周期性廣播,該對(duì)象將提供基本的網(wǎng)絡(luò)時(shí)鐘。當(dāng)設(shè)備發(fā)生嚴(yán)重的內(nèi)部錯(cuò)誤時(shí),相關(guān)的一個(gè)緊急狀態(tài)客戶機(jī)將發(fā)送一個(gè)緊急狀態(tài)對(duì)象。時(shí)間標(biāo)記對(duì)象將為應(yīng)用設(shè)備提供公共的時(shí)間幀參考。 要理解CANopen規(guī)范,核心是要理解CANopen的設(shè)備模型和各類型的通信對(duì)象。掌握了這兩者后,通過利用各類標(biāo)準(zhǔn)的設(shè)備描述就可以開發(fā)出符合國(guó)際標(biāo)準(zhǔn)的CANopen設(shè)備了。 展望 最近一段時(shí)期,國(guó)內(nèi)開發(fā)、應(yīng)用CAN系統(tǒng)的人員正在逐漸增多,對(duì)CAN協(xié)議的研究也在不斷加深。在很多領(lǐng)域,如研制電動(dòng)汽車和混合動(dòng)力汽車的863重大課題,已經(jīng)將CAN作為標(biāo)準(zhǔn)的車內(nèi)通信協(xié)議確定下來。電力,航天等部門也在CAN方面取得了不小的應(yīng)用成績(jī)。 在CAN應(yīng)用蓬勃發(fā)展的時(shí)候,我們也應(yīng)當(dāng)清醒地看到,盡管CAN協(xié)議在歐美已經(jīng)發(fā)展了20年,應(yīng)用層協(xié)議的發(fā)展也差不多有10年時(shí)間,但目前國(guó)內(nèi)大多數(shù)的應(yīng)用系統(tǒng)仍然基于CAN2.0B規(guī)范開發(fā),還不能在應(yīng)用層的水平上進(jìn)一步深入,這不能不說是很遺憾的事情。另外,國(guó)內(nèi)研究、開發(fā)CAN協(xié)議,尤其是CAN高層協(xié)議的組織和人員還太少,這對(duì)CAN在中國(guó)的推廣是十分不利的,筆者誠(chéng)切希望更多的有識(shí)之士能夠加入這一行列。 參考文獻(xiàn) 1 ’CiA Draft Standard 301 (Version 4.02).’ 2 Prof. Dr.-Ing. K. Etschberger, ’CAN-based Higher Layer Protocols and Profiles.’

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:通過警報(bào)管理改善工廠的運(yùn)轉(zhuǎn)質(zhì)量

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)