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