基于CANopen協(xié)議的從站設(shè)備快速響應(yīng)方法
CANopen協(xié)議作為CAN總線的應(yīng)用層協(xié)議,擁有復(fù)雜的網(wǎng)絡(luò)管理、實(shí)時(shí)過程數(shù)據(jù)對象、服務(wù)數(shù)據(jù)對象、預(yù)定義連接和特殊功能對象等基本功能,另外CANopen協(xié)議還定義了指示燈規(guī)范、通信安全架構(gòu)、在線配置、以及EDS文件規(guī)范、標(biāo)準(zhǔn)設(shè)備規(guī)范等一系列的協(xié)議規(guī)范。因此開發(fā)基于CANopen協(xié)議的設(shè)備有著非常高的難度以及較長的開發(fā)周期。
本文引用地址:http://m.butianyuan.cn/article/155249.htm為了解決CANopen產(chǎn)品開發(fā)難的問題,廣州致遠(yuǎn)電子有限公司開發(fā)的一款嵌入式CANopen從站協(xié)議轉(zhuǎn)換模塊XGate-COP10,轉(zhuǎn)換為UART接口,支持CANopen標(biāo)準(zhǔn)協(xié)議DS301、DS302、DS303、DS305。XGate-COP10為CANopen從站協(xié)議轉(zhuǎn)換模塊,其內(nèi)部已經(jīng)集成了CANopen從站協(xié)議棧代碼,不需要二次開發(fā),可快速方便的使現(xiàn)有設(shè)備具有CANopen通信能力。該模塊具有如下所示的功能特點(diǎn):
- 網(wǎng)絡(luò)管理服務(wù)對象(NMT:Boot up, Node Guarding /Life guarding,Heartbeat Producer);
- 過程數(shù)據(jù)對象(TPDO與RPDO);
- 服務(wù)數(shù)據(jù)對象(SDO服務(wù)器);
- 緊急報(bào)文對象(Emergency );
- 同步報(bào)文對象(Sync);
- 網(wǎng)絡(luò)配置對象(LSS從站);
- 串口通信能力(UART);
- 96字節(jié)的輸入輸出數(shù)據(jù)緩沖(I/O);
- CAN總線支持5k~1Mbit/s的波特率;
- 體積小,18mm×31mm(DIP24封裝)。
硬件設(shè)計(jì)
圖1 所示為XGate-COP10在用戶系統(tǒng)中的典型應(yīng)用,其中用戶CPU通過UART(TTL電平)與XGate-COP10進(jìn)行通信,通過UART用戶可以方便的讀取或?qū)懭隭Gate-COP10的輸入輸出數(shù)據(jù)區(qū),實(shí)現(xiàn)應(yīng)用數(shù)據(jù)與CANopen主站設(shè)備的交換。
由于XGate-COP10模塊中未集成有CAN收發(fā)器,因此該原理圖采用了CTM8251T隔離收發(fā)器,這樣可保證CAN通信的穩(wěn)定可靠,也實(shí)現(xiàn)了整個(gè)系統(tǒng)與CAN總線的電氣隔離。
軟件設(shè)計(jì)
XGate-COP10的軟件設(shè)計(jì),重點(diǎn)在于用戶CPU與XGate-COP10的UART通信的建立(即完成XGate-COP10所規(guī)定的串口通信協(xié)議),在XGate-COP10中,對串口數(shù)據(jù)進(jìn)行了簡單的協(xié)議封裝,實(shí)現(xiàn)了對XGate-COP10的既定操作。
如圖2所示為操作XGate-COP10軟件流程圖。首先,用戶需要對XGate-COP10模塊進(jìn)行相應(yīng)的初始化操作,例如寫入用戶設(shè)備信息(必需)、節(jié)點(diǎn)地址(可選)和波特率(可選)等操作。其次,只有在XGate-COP10處于操作狀態(tài)時(shí),與XGate-COP10進(jìn)行的數(shù)據(jù)交換才有效。為了方便用戶快速的使用XGate-COP10,致遠(yuǎn)電子提供了UART通信協(xié)議源代碼,用戶可直接在常用的單片機(jī)上使用,也可以稍作修改在特殊的單片機(jī)上使用。
評論