電子發(fā)燒友網(wǎng)報(bào)道(文/吳子鵬)CANopen是一種架構(gòu)在控制局域網(wǎng)絡(luò)CAN上的高層通信協(xié)議,包括通信子協(xié)議及設(shè)備子協(xié)議,常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一種現(xiàn)場(chǎng)總線。
在CAN的基礎(chǔ)上,CANopen定義了應(yīng)用層的通信規(guī)則,因此特別適用于需要標(biāo)準(zhǔn)化設(shè)備配置和網(wǎng)絡(luò)管理的嵌入式網(wǎng)絡(luò)。
CANopen協(xié)議簡(jiǎn)介
1994年發(fā)布的國(guó)際標(biāo)準(zhǔn)ISO 11898-2定義了CAN總線的物理層和數(shù)據(jù)鏈路層,CANopen在此基礎(chǔ)上構(gòu)建了更上層的協(xié)議,隨后在工業(yè)自動(dòng)化、汽車電子等領(lǐng)域得到了廣泛應(yīng)用。
CANopen實(shí)現(xiàn)了OSI模型中的網(wǎng)絡(luò)層以上(包括網(wǎng)絡(luò)層)的協(xié)定,包括尋址方案、數(shù)個(gè)小的通訊子協(xié)定及由設(shè)備子協(xié)定所定義的應(yīng)用層。因此,CANopen和CAN屬于兩種不同的通信協(xié)議,CAN是底層通信協(xié)議,CANopen則屬于CANBUS,也就是CAN總線的一種高層協(xié)議,提供了設(shè)備配置、網(wǎng)絡(luò)管理、數(shù)據(jù)傳輸協(xié)議等更高層次的功能。
CAN和CANopen功能層的差異感受是最直觀的,CANopen提供的高級(jí)通信功能包括網(wǎng)絡(luò)管理(NMT)、服務(wù)數(shù)據(jù)對(duì)象(SDO)傳輸、過(guò)程數(shù)據(jù)對(duì)象(PDO)傳輸?shù)?,適用于工業(yè)自動(dòng)化、醫(yī)療設(shè)備、船舶等復(fù)雜系統(tǒng)中需要多設(shè)備協(xié)調(diào)的應(yīng)用。
發(fā)展至今,CANopen已經(jīng)定了非常多的高級(jí)協(xié)議,最重要的是CiA DS(Device Specification)和DS301/DS302標(biāo)準(zhǔn)。其中,DS301定義了CANopen協(xié)議的基本特性,而DS302定義了CANopen設(shè)備的特定要求。
另外,CANopen也引入了一些關(guān)鍵的技術(shù)細(xì)節(jié)。比如,對(duì)象字典(Object Dictionary)是CANopen里面的關(guān)鍵組件,CANopen、設(shè)備都需要具備對(duì)象字典,用來(lái)設(shè)定設(shè)備組態(tài)及進(jìn)行非即時(shí)的通訊。對(duì)象字典中每一個(gè)對(duì)象對(duì)應(yīng)于一個(gè)16bit索引和8bit子索引(部分對(duì)象沒(méi)有子索引,或者認(rèn)為子索引為0),其屬性包括是否可讀以及是否可寫,對(duì)象字典的長(zhǎng)度可以是8bit、16bit和32bit。另外,對(duì)象字典不僅包含了設(shè)備的配置參數(shù),還包含了設(shè)備的實(shí)時(shí)數(shù)據(jù)和錯(cuò)誤歷史記錄等。
再比如過(guò)程數(shù)據(jù)對(duì)象(PDO),用于快速訪問(wèn)對(duì)象字典,其作用和SDO類似,只是實(shí)現(xiàn)方法不同。SDO在每次發(fā)送報(bào)文時(shí),都需要指定需要讀寫的對(duì)象字典的索引和子索引,以靈活地對(duì)任意對(duì)象字典進(jìn)行訪問(wèn),同時(shí)SDO應(yīng)答報(bào)文保證了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
另外,CANopen的技術(shù)細(xì)節(jié)還包括SDO報(bào)文需要應(yīng)答、NMT網(wǎng)絡(luò)服務(wù)、SDO通信等。
CANopen解決方案
在工業(yè)自動(dòng)化領(lǐng)域,CANopen主要用于工業(yè)機(jī)器人和自動(dòng)化生產(chǎn)線的設(shè)備通信和控制。目前,CANopen的軟硬件方案可選項(xiàng)非常多。
首先看一下虹科HK的SYS TEC CANopen Chip F40 - CANopen芯片,是一款即插即用,高性價(jià)比的單板計(jì)算機(jī)內(nèi)含最新預(yù)先編程的CANopen固件。CANopen Chip F40提供簡(jiǎn)單和高性價(jià)比的DIP40連接器形成接口,可接入目標(biāo)外設(shè)并且能把CANopen芯片轉(zhuǎn)換成通用的通訊接口。工程師可以基于CANopen芯片F(xiàn)40實(shí)現(xiàn)CANopen從站設(shè)備,依據(jù)CANopen設(shè)備子協(xié)議401和CANopen通訊子協(xié)議301 V4.02。兩個(gè)LED指示設(shè)備狀態(tài),依據(jù)303-3 V1.0。
再看一下西威迪的CANopen絕對(duì)值工業(yè)編碼器SAS/M58。采用了高精確的磁式感應(yīng)技術(shù),支持單圈或多圈編碼器,通過(guò)CANopen總線進(jìn)行通信,最高傳輸速率可達(dá)1MHz。此外,該編碼器還支持額外增加增量信號(hào)TTL或HTL輸出,使得信號(hào)輸出更加豐富。在分辨率方面,單圈分辨率最高可達(dá)21位,多圈圈數(shù)高達(dá)14位,具有超強(qiáng)的抗沖擊和抗振動(dòng)能力,防護(hù)等級(jí)高達(dá)IP68。同時(shí),該編碼器還具備反短接和短路保護(hù)功能,有效降低了安裝錯(cuò)誤對(duì)編碼器的影響。特別需要指出的是,SAS/M58是百分百國(guó)產(chǎn)化的。
然后看一下廣成科技CANOPEN定制網(wǎng)關(guān)GCAN-IO 系列產(chǎn)品是工業(yè)現(xiàn)場(chǎng)總線 IO 模塊,該模塊是標(biāo)準(zhǔn)的從站設(shè)備,其使用CANopen或Modbus協(xié)議與主站設(shè)備通信,用戶可使用CANopen或Modbus主站設(shè)備控制GCAN-IO模塊的數(shù)字/模擬量輸出狀態(tài),還可以使用主站實(shí)時(shí)讀取該模塊的數(shù)字/模擬量輸入狀態(tài)。
當(dāng)然,只有硬件還不夠,要想用好CANopen,還需要軟件的配合。在實(shí)踐中,將使用適當(dāng)?shù)能浖ぞ吲渲?管理復(fù)雜的CANopen網(wǎng)絡(luò)。目前,網(wǎng)絡(luò)上有非常多的免費(fèi)的CANopen軟件工具,同時(shí)虹科HK等公司也會(huì)專門提供開發(fā)工具和軟件包。
結(jié)語(yǔ)
CANopen在CAN的基礎(chǔ)上定義了更高級(jí)的功能,包括網(wǎng)絡(luò)管理(NMT)、服務(wù)數(shù)據(jù)對(duì)象(SDO)傳輸、過(guò)程數(shù)據(jù)對(duì)象(PDO)傳輸?shù)?,也引入了SDO報(bào)文需要應(yīng)答、NMT網(wǎng)絡(luò)服務(wù)、SDO通信等技術(shù)細(xì)節(jié),因而非常適用于標(biāo)準(zhǔn)化嵌入式網(wǎng)絡(luò)。
-
CAN
+關(guān)注
關(guān)注
57文章
2674瀏覽量
462596 -
CANopen
+關(guān)注
關(guān)注
8文章
238瀏覽量
43444
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論