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