1 引言
在上期文章中我們了解了CANopen從站設備的開發(fā)步驟,本期文章中我們將介紹一款嵌入式CANopen協(xié)議轉換模塊,。
CANopen協(xié)議作為CAN總線的應用層協(xié)議,,擁有復雜的網(wǎng)絡管理(Network Management),、實時過程數(shù)據(jù)對象(Process Data Object)、服務數(shù)據(jù)對象(Service Data Object),、預定義連接和特殊功能對象等基本功能,,另外CANopen協(xié)議還定義了指示燈規(guī)范、通信安全架構,、在線配置,、EDS文件規(guī)范、標準設備規(guī)范等一系列協(xié)議規(guī)范,。因此開發(fā)基于CANopen協(xié)議的設備有著非常高的難度以及較長的開發(fā)周期,。
2 XGate-COP10簡介
XGate-COP10是廣州致遠電子有限公司開發(fā)的一款嵌入式CANopen協(xié)議轉換模塊,轉換為UART接口,,支持CANopen標準協(xié)議DS301,、DS302、DS303,、DS305,。XGate-COP10為CANopen從站協(xié)議轉換模塊,其內部已經(jīng)集成了CANopen從站協(xié)議棧代碼,,不需要二次開發(fā),,可快速方便地使現(xiàn)有設備具有CANopen通信能力,。該模塊具有如下所示的功能特點:
(1)網(wǎng)絡管理服務對象(NMT:Boot up, Node Guarding/Life guarding,,Heartbeat Producer),;
(2)過程數(shù)據(jù)對象(TPDO與RPDO);
(3)服務數(shù)據(jù)對象(SDO服務器),;
(4)緊急報文對象(Emergency),;
(5)同步報文對象(Sync);
(6)網(wǎng)絡配置對象(LSS從站),;
(7)串口通信能力(UART),;
(8)96 B的輸入輸出數(shù)據(jù)緩沖(I/O);
(9)CAN總線支持5 kb/s~1 Mb/s的波特率,;
(10)體積小,,18 mm×31 mm(DIP24封裝)。
XGate-COP10從站具有高實時性,,并可以支持多達12個RPDO和TPDO過程數(shù)據(jù)傳輸,,適用于各種干擾強、實時性要求高的場合,,小巧的體積適用于嵌入到各種電路板中,,在用戶系統(tǒng)中的結構如圖1所示。
3 硬件設計
XGate-COP10采用標準的DIP24封裝,,其外觀如圖2所示,。在設計中需要注意的是該模塊沒有集成CAN收發(fā)器,所以需要外加一個CAN收發(fā)器,,這里推薦使用由致遠電子有限公司研發(fā)的隔離CAN收發(fā)模塊CTM8251T,,可使設計更加簡單、可靠,。
XGate-COP10模塊可使用DIP開關來設置設備的節(jié)點號(Node_ID)和波特率,,在特殊情況下也可以不使用DIP開關來設置,可通過用戶UART接口或CANopen層設置功能(LSS)來設置該模塊的節(jié)點號和波特率,。
圖3所示為XGate-COP10在用戶系統(tǒng)中的典型應用,,其中用戶CPU通過UART(TTL電平)與XGate-COP10進行通信,通過UART用戶可以方便地獲取或設置XGate-COP10的輸入輸出數(shù)據(jù),,實現(xiàn)應用數(shù)據(jù)與CANopen主站設備的交換,。
由于XGate-COP10模塊中未集成有CAN收發(fā)器,因此該原理圖采用了CTM8251T隔離收發(fā)器,,這樣可保證CAN通信的穩(wěn)定可靠,,也實現(xiàn)了整個系統(tǒng)與CAN總線的電氣隔離。
4 軟件設計
XGate-COP10的軟件設計,,重點在于用戶CPU與XGate-COP10的UART通信的建立(即完成XGate-COP10所規(guī)定的串口通信協(xié)議),,在XGate-COP10中,,串口數(shù)據(jù)進行了簡單的協(xié)議封裝,實現(xiàn)了對XGate-COP10的既定操作,。
(1)串口參數(shù)
XGate-COP10使用標準的UART與用戶的CPU進行通信,,UART參數(shù)為1 個啟始位、8 個數(shù)據(jù)位,、無奇偶校驗位,、1 個停止位,波特率57 600 b/s,。
(2)通信方式
用戶設備主動詢問,,XGate-COP10被動回答。
主/從應答幀結構實現(xiàn)數(shù)據(jù)通信,,數(shù)據(jù)的通信由主機發(fā)起,,稱為命令幀。從機接收到后進行應答,,稱為響應幀,。用戶對XGate-COP10進行的操作功能如表1所示,其中用戶系統(tǒng)設備信息可通過串口寫入到XGate-COP10中,。
圖4所示為操作XGate-COP10軟件流程圖。首先,,用戶需要對XGate-COP10模塊進行相應的初始化操作,,例如寫入用戶設備信息(必需)、節(jié)點地址(可選)和波特率(可選)等操作,。其次,,只有在XGate-COP10處于操作狀態(tài)時,與XGate-COP10進行的數(shù)據(jù)交換才有效,。為了方便用戶快速地使用XGate-COP10,,致遠電子提供了UART通信協(xié)議源代碼,用戶可直接在常用的單片機上使用,,也可以稍作修改在特殊的單片機上使用,。
5 XGate-COP10與CANopen主站連接
為了使XGate-COP10與主站很方便地建立CANopen通信,致遠電子提供了XGate-COP10的EDS文件,,該EDS文件通過了由CiA提供的測試軟件的測試,,可無縫地加載到任何標準的CANopen主站設備中。圖5是由致遠電子提供的PCI-5010P CANopen主站卡建立的主站與XGate-COP10的通信截圖,。
6 結束語
XGate-COP10以其緊湊的結構,、強大而穩(wěn)定的功能、簡單而可靠的UART通信能力使其很方便地嵌入到各種類型的電路中,。XGate-COP10的出現(xiàn),,使開發(fā)者不用再為開發(fā)CANopen協(xié)議棧而苦惱,。CANopen產品短期上市也不再是夢想。
廣州致遠電子有限公司提供各種接口的CANopen接口卡,、CANopen終端設備(包括數(shù)據(jù)采集,,電機控制等)、CANopen分析儀,、網(wǎng)關及網(wǎng)橋,、OPC服務器以及基于CANopen協(xié)議的整套組網(wǎng)方案及應用開發(fā)。