傳感器設(shè)備是工業(yè)自動(dòng)化、儀器儀表及其他很多生產(chǎn)活動(dòng)中使用最廣泛的設(shè)備之一。傳感器設(shè)備在早期都是直接與控制器相連接,并且傳感器設(shè)備之間無法進(jìn)行通信。在一個(gè)龐大的控制系統(tǒng)中擁有各種各樣的傳感器設(shè)備,從而導(dǎo)致整個(gè)系統(tǒng)布線復(fù)雜、系統(tǒng)調(diào)試效率低、維護(hù)成本高等缺點(diǎn)。CAN總線的推出使系統(tǒng)布線得到最大程度的改善,基于CAN總線應(yīng)用層的CANopen協(xié)議更是改變了設(shè)備與控制系統(tǒng)之間的通信方式。
本期文章將介紹如何利用XGate-COP10模塊設(shè)計(jì)一款基于CANopen從站協(xié)議的多功能傳感器模塊。
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è)備中。其硬件設(shè)計(jì)也非常簡(jiǎn)單,設(shè)計(jì)簡(jiǎn)圖如圖1所示。
圖1 XGate-COP10設(shè)計(jì)簡(jiǎn)圖
通過本文的介紹,讀者可以清楚地了解怎樣利用XGate-COP10設(shè)計(jì)一款具有CANopen從站通信能力的傳感器設(shè)備。
本文所設(shè)計(jì)的傳感器系統(tǒng)包含了4路溫度和8路霍爾傳感器信號(hào)。溫度傳感器使用線性度較好的模擬溫度傳感器,并采用12 bit的模擬數(shù)字轉(zhuǎn)換芯片(A/D)對(duì)信號(hào)進(jìn)行采集。霍爾傳感器可用于檢測(cè)磁性物質(zhì)的位置狀態(tài),當(dāng)具有磁性的物體靠近霍爾傳感器時(shí),霍爾傳感器會(huì)輸出一個(gè)低電平(0),否則就輸出高電平(1)。
硬件設(shè)計(jì)分為傳感器采集部分和XGate-COP10連接部分,傳感器設(shè)計(jì)框圖如圖2所示。
圖2 傳感器設(shè)計(jì)框圖
本設(shè)計(jì)中使用了 ARM7處理器(LPC2132),其運(yùn)行速度快,最高可達(dá) 72 MHz,并且擁有 64 KB的 Flash程序存儲(chǔ)空間以及16 KB的RAM空間,可滿足大部分場(chǎng)合的應(yīng)用需求。模擬數(shù)字轉(zhuǎn)換選用12 bit精度的轉(zhuǎn)換芯片,完成對(duì)溫度傳感器輸出信號(hào)的采集,并以數(shù)字信號(hào)的方式提供給處理器?;魻杺鞲衅鞯妮敵鲂盘?hào)為邏輯電平(0,1),由于其驅(qū)動(dòng)能力較弱,因此在其輸出端增加一個(gè)I/O驅(qū)動(dòng)器來增強(qiáng)其驅(qū)動(dòng)能力,通常使用總線驅(qū)動(dòng)芯片74HC245或74HC244。
XGate-COP10與CPU連接框圖如圖3所示。XGate-COP10提供一路串口與CPU進(jìn)行連接,該串口負(fù)責(zé)CPU與XGate-COP10全部的數(shù)據(jù)交換和傳輸控制命令,同時(shí)LPC2132的I/O端口連接XGate-COP10的復(fù)位引腳,可靈活地對(duì)XGate-COP10進(jìn)行復(fù)位操作。XGate-COP10提供了節(jié)點(diǎn)地址和波特率設(shè)置輸入I/O,因此使用DIP撥碼開關(guān)來設(shè)置XGate-OCP10的節(jié)點(diǎn)地址和波特率。XGate-COP10同時(shí)還提供了Run和Err指示燈接口,用以指示當(dāng)前XGate-COP10(CANopen從站)的工作狀態(tài),并遵循 DS303-3指示燈標(biāo)準(zhǔn)。
圖3 XGate-COP10與CPU連接
XGate-COP10的數(shù)據(jù)交換區(qū)和PDO映射可根據(jù)實(shí)際應(yīng)用進(jìn)行重新分配。
XGate-COP10擁有96 B的輸入和96 B的輸出數(shù)據(jù)緩存區(qū),使用者可以使用這些數(shù)據(jù)作為實(shí)時(shí)數(shù)據(jù)或配置參數(shù)的緩存。對(duì)于本應(yīng)用系統(tǒng)來說主要有溫度、霍爾感器數(shù)據(jù)以及溫度報(bào)警上下限值需要進(jìn)行交換,其資源分配如表1所示。
表1 資源分配表
本系統(tǒng)設(shè)計(jì)的溫度范圍為0~100℃,溫度數(shù)據(jù)的采集采用12 bit的A/D轉(zhuǎn)換器,因此每一路的溫度需要使用2 B來存放;配置溫度的上限及下限報(bào)警參數(shù)需要占用XGate-COP10的輸出數(shù)據(jù)緩存區(qū) #0(0x2100 01)~#7(0x2100 08),每個(gè)通道占用 2 B,分別存儲(chǔ)上限(1 B)和下限(1 B)溫度報(bào)警值;霍爾傳感器的輸出為開關(guān)狀態(tài),因此每一路霍爾傳感器占用1 bit,8路的霍爾傳感器占用 XGate-COP10輸入緩沖區(qū)#8(0x2000 09)。
XGate-COP10最多可提供12路的TPDO和12路的RPDO,最多可映射96 B的 TPDO和96 B的 RPDO實(shí)時(shí)數(shù)據(jù)。本系統(tǒng)的溫度及霍爾傳感器數(shù)據(jù)需要實(shí)時(shí)傳輸,因此需要占用兩個(gè)TPDO傳輸通道,溫度的報(bào)警配置信息占用一個(gè)RPDO通道進(jìn)行傳輸,該配置信息也可以通過SDO進(jìn)行配置,其映射關(guān)系如表2所示。
表2 PDO映射分配表
圖4所示為該系統(tǒng)的軟件操作流程圖,處理器與XGate-COP10進(jìn)行的主要操作就是與XGate-COP10的數(shù)據(jù)交換區(qū)(Input或 Output)進(jìn)行數(shù)據(jù)交換,這些數(shù)據(jù)交換區(qū)(數(shù)據(jù)緩存)的數(shù)據(jù)會(huì)以標(biāo)準(zhǔn)的CANopen協(xié)議與其他CANopen設(shè)備進(jìn)行數(shù)據(jù)交換。因此對(duì)于其他CANopen設(shè)備來說本系統(tǒng)是一個(gè)標(biāo)準(zhǔn)的CANopen從站設(shè)備,并能向CANopen主站或其他CANopen從站設(shè)備提供溫度及霍爾傳感器數(shù)據(jù)。
圖4 軟件操作流程圖
本文實(shí)現(xiàn)了一款具有CANopen通信能力的溫度及霍爾傳感器系統(tǒng),并能與標(biāo)準(zhǔn)的CANopen主站或CANopen從站進(jìn)行通信。XGate-COP10的出現(xiàn),使開發(fā)者不用再為開發(fā)CANopen協(xié)議棧而苦惱,CANopen產(chǎn)品短期上市也不再是夢(mèng)想。
廣州致遠(yuǎn)電子有限公司提供各種接口的CANopen接口卡、CANopen終端設(shè)備(包括數(shù)據(jù)采集、電機(jī)控制等)、CAN-open分析儀、網(wǎng)關(guān)及網(wǎng)橋、OPC服務(wù)器以及基于CANopen協(xié)議的整套組網(wǎng)方案及應(yīng)用開發(fā)。
地址:廣州市天河區(qū)車陂路黃洲工業(yè)區(qū)3棟2樓
技術(shù)支持:(020)22644381
銷售電話:(020)28872342 28872450
電子郵箱:CANopen@embedcontrol.com