《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > 測(cè)量設(shè)備CANopen通信的快速實(shí)現(xiàn)

測(cè)量設(shè)備CANopen通信的快速實(shí)現(xiàn)

——基于CANopen協(xié)議的XGate-COP10應(yīng)用
2012-02-03
作者:致遠(yuǎn)電子
來源:來源:電子技術(shù)應(yīng)用2011年第12期

1 引言
    測(cè)量設(shè)備在日常生活生產(chǎn)中應(yīng)用非常廣泛,例如常見的溫度濕度計(jì)、電表、汽車儀表等。工業(yè)生產(chǎn)現(xiàn)場(chǎng)的控制系統(tǒng)中,控制終端根據(jù)各種自動(dòng)化測(cè)量設(shè)備測(cè)量出的數(shù)據(jù)對(duì)各種現(xiàn)場(chǎng)設(shè)備進(jìn)行相應(yīng)的控制,這就需要測(cè)量設(shè)備具有總線通信接口,以連接到控制網(wǎng)絡(luò)中。CAN總線是測(cè)量設(shè)備行業(yè)中流行且應(yīng)用成熟的通信方式,基于CAN總線應(yīng)用層的CANopen協(xié)議對(duì)測(cè)量設(shè)備做出了“設(shè)備級(jí)”的規(guī)范(CiA DS404)。
    本期文章將以壓力測(cè)量?jī)x為例介紹如何利用XGate-COP10模塊設(shè)計(jì)測(cè)量設(shè)備的CANopen從站接口。
2 XGate-COP10簡(jiǎn)介
    XGate-COP10是一款CANopen從站協(xié)議轉(zhuǎn)換模塊,內(nèi)部集成了CANopen從站協(xié)議棧,遵循CiA DS301 V4.02進(jìn)行設(shè)計(jì),其內(nèi)部集成了網(wǎng)絡(luò)管理(NMT)、服務(wù)數(shù)據(jù)(SDO)、過程數(shù)據(jù)(PDO)、錯(cuò)誤管理等功能。同時(shí)也遵循了DS303-3指示燈以及DS305層設(shè)置(LSS)等相關(guān)協(xié)議,使模塊功能更強(qiáng)大。所有的功能均通過CiA提供的一致性測(cè)試軟件的測(cè)試,保證了與其他CANopen設(shè)備良好的兼容性。
    XGate-COP10為DIP24封裝,擁有較小的占位面積(6 cm2),非常容易集成到用戶設(shè)備中,其外觀如圖1所示。

3 壓力測(cè)量?jī)xCANopen接口硬件設(shè)計(jì)
    XGate-COP10硬件設(shè)計(jì)框圖如圖2所示。

    壓力測(cè)量?jī)x控制板MCU與XGate-COP10通過串口(TTL電平)進(jìn)行連接。用戶可以使用MCU的一個(gè)I/O口連接到XGate-COP10的復(fù)位引腳(/RST)實(shí)現(xiàn)對(duì)模塊的復(fù)位控制。MCU只需預(yù)留1路串口,1個(gè)I/O口即可。由于XGate-COP10內(nèi)部未集成CAN收發(fā)器,推薦使用帶隔離的CAN收發(fā)器模塊CTM8251T。XGate-COP10采用的是標(biāo)準(zhǔn)的CANopen協(xié)議,可以通過外接DIP開關(guān)來設(shè)置設(shè)備的節(jié)點(diǎn)地址和波特率,并通過外接LED指示燈來指示當(dāng)前模塊的CANopen狀態(tài)。
4 壓力測(cè)量?jī)x參數(shù)資源分配
    對(duì)于實(shí)時(shí)數(shù)據(jù),XGate-COP10有96 B輸入和96 B輸出存儲(chǔ)區(qū)供用戶使用,這些存儲(chǔ)區(qū)可以用于壓力測(cè)量?jī)x與其他CANopen設(shè)備之間交換各項(xiàng)實(shí)時(shí)參數(shù)。
    對(duì)于非實(shí)時(shí)數(shù)據(jù),XGate-COP10提供了直接訪問對(duì)象字典的串口命令,用戶可以通過該命令對(duì)模塊的對(duì)象字典進(jìn)行讀寫,實(shí)現(xiàn)壓力測(cè)量?jī)x控制板MCU對(duì)CANopen網(wǎng)絡(luò)非實(shí)時(shí)參數(shù)的訪問。
    這樣,CANopen主站設(shè)備或其他從站設(shè)備與壓力測(cè)量?jī)x之間的通信就變得十分方便。
    (1)資源分配
    壓力測(cè)量?jī)x相關(guān)參數(shù)在XGate-COP10存儲(chǔ)區(qū)的分配情況如表1所示,用戶只需要把壓力傳感器測(cè)量出的壓力值、超壓或欠壓告警信息寫入到XGate-COP10對(duì)應(yīng)的數(shù)據(jù)輸入存儲(chǔ)區(qū),XGate-COP10就會(huì)按照CANopen協(xié)議的定義對(duì)數(shù)據(jù)進(jìn)行解析處理并通過TPDO發(fā)送到CAN總線上。

 

 

    (2)實(shí)時(shí)數(shù)據(jù)傳輸配置
    XGate-COP10中PDO數(shù)據(jù)可映射到數(shù)據(jù)存儲(chǔ)區(qū)的任意輸入輸出數(shù)據(jù)存儲(chǔ)區(qū),其數(shù)據(jù)映射示例如表2所示。


5 壓力測(cè)量?jī)x控制板MCU對(duì)XGate-COP10的操作
    XGate-COP10提供了一個(gè)串口與壓力測(cè)量?jī)x控制板MCU進(jìn)行連接。為了方便用戶快速可靠地實(shí)現(xiàn)模塊與MCU通信,廣州致遠(yuǎn)電子有限公司提供了XGate-COP10串口協(xié)議的驅(qū)動(dòng)源碼。用戶可將實(shí)時(shí)更新的數(shù)據(jù)寫入輸入緩沖區(qū),XGate-COP10自動(dòng)發(fā)送至主站或者是其他從站設(shè)備。用戶程序軟件操作流程示例如圖3所示。

6 結(jié)語
  經(jīng)過以上步驟,快速地實(shí)現(xiàn)了壓力測(cè)量?jī)x的CANopen接口,并能與其他CANopen設(shè)備進(jìn)行通信。XGate-COP10的出現(xiàn),使開發(fā)者不再為開發(fā)CANopen協(xié)議棧而苦惱,大大縮短了開發(fā)周期。相信在XGate-COP10的幫助下,用戶能獲得更大的成功。
    廣州致遠(yuǎn)電子有限公司提供各種接口的CANopen接口卡、CANopen終端設(shè)備(包括數(shù)據(jù)采集,電機(jī)控制等)、CANopen分析儀、網(wǎng)關(guān)及網(wǎng)橋、OPC服務(wù)器以及基于CANopen協(xié)議的整套組網(wǎng)方案及應(yīng)用開發(fā)。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。