丁 楊,王 凱,王亞剛
(1.上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海200093;2.上海出版印刷高等??茖W(xué)校,上海200093)
?
基于無線HART的多功能智能圓卡設(shè)計(jì)
丁 楊1,王 凱2,王亞剛1
(1.上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海200093;2.上海出版印刷高等??茖W(xué)校,上海200093)
為滿足企業(yè)用戶日益對工業(yè)現(xiàn)場無線通信的需求,提出了基于無線HART的多功能智能圓卡設(shè)計(jì)。設(shè)計(jì)中無線HART模塊采用RFM公司的XDM2510H;信號調(diào)理部分采用MAX1452芯片,負(fù)責(zé)對原始信號進(jìn)行放大、補(bǔ)償和校準(zhǔn);MCU則選取MSP430F5438A單片機(jī),對經(jīng)調(diào)理的信號進(jìn)行采集、分析和處理;數(shù)據(jù)分析結(jié)果通過XDM2510H經(jīng)無線網(wǎng)送達(dá)網(wǎng)關(guān)提供給上位機(jī)使用。圓卡可以接入不同的傳感器,并載入對應(yīng)的軟件即可快速開發(fā)出一款無線HART變送器,最終實(shí)現(xiàn)了無線HART儀表開發(fā)難度降低、節(jié)約了開發(fā)成本。
工業(yè)無線;無線 HART ;智能圓卡
隨著工業(yè)無線技術(shù)的應(yīng)用,工業(yè)現(xiàn)場設(shè)備逐步從有線過渡到無線。相比于有線設(shè)備,無線儀表擺脫了線纜架設(shè)的煩惱,減少了材料的開支,同時使得設(shè)備的安裝和調(diào)試過程更加簡單,但無線儀表的開發(fā)難度高于傳統(tǒng)儀表的開發(fā),對于一般中小型廠商缺乏技術(shù)實(shí)力開發(fā)無線儀表,因此,設(shè)計(jì)了一款基于無線HART的多功能圓卡,可供儀表廠商加快開發(fā)無線儀表。
無線HART是一種過程自動化的無線網(wǎng)狀網(wǎng)絡(luò)通信協(xié)議,是建立在已有的經(jīng)過現(xiàn)場測試的國際標(biāo)準(zhǔn)上的,其包括HART協(xié)議(IEC 61158)、 EDDL (IEC 61804-3)、IEEE 802.15.4無線電和跳頻、擴(kuò)頻和網(wǎng)狀網(wǎng)絡(luò)技術(shù)[1]。作為第一個開放式的可互操作無線通信標(biāo)準(zhǔn),無線HART能夠滿足工業(yè)自動化應(yīng)用領(lǐng)域?qū)τ趯?shí)時工廠應(yīng)用中的可靠、穩(wěn)定和安全的無線通信的關(guān)鍵需求[2],而且與原有的有線HART儀表和控制系統(tǒng)完全兼容。
系統(tǒng)整體框架如圖1所示。該圓卡由兩節(jié)鋰電池供電,電源管理模塊選用LM1117芯片,為系統(tǒng)內(nèi)各部分提合適供穩(wěn)定的工作電壓[3];電池監(jiān)測及平衡電路則選取BQ28400結(jié)合BQ29200兩塊電源管理芯片,負(fù)責(zé)電量的檢測和電路穩(wěn)定; Wireless HART模塊采用RFM公司的XDM2510H;信號調(diào)理部分采用MAX1452芯片,負(fù)責(zé)對原始信號進(jìn)行放大、補(bǔ)償和校準(zhǔn);MCU則選取MSP430F5438A單片機(jī),對經(jīng)調(diào)理的信號進(jìn)行采集、分析和處理;數(shù)據(jù)分析結(jié)果通過XDM2510H經(jīng)無線網(wǎng)送達(dá)網(wǎng)關(guān)提供給上位機(jī)使用[4];液晶顯示屏選取JLX12864G用來進(jìn)行參數(shù)設(shè)定。
圖1 系統(tǒng)整體框圖
3.1 主控電路
主控電路部分包含使MSP430F5438A單片機(jī)能夠正常工作的外接電路和按鍵電路。單片機(jī)外接晶振包括Y1和Y2兩塊晶振,Y1為8 MHz的高速晶振,Y2為32.768 kHz的低速晶振。上電復(fù)位電路保證芯片上電自動復(fù)位,同時也可以通過復(fù)位按鍵手動復(fù)位;按鍵電路占用7個IO口,主要通過監(jiān)測這些按鍵來配置系統(tǒng)的一些參數(shù),包括警戒值的設(shè)定、數(shù)據(jù)發(fā)送頻率的設(shè)定、網(wǎng)絡(luò)配置參數(shù)的設(shè)定等。主控電路的基本架構(gòu)如圖2所示。
圖2 主控電路原理圖
由于整個電路由多個模塊共同組成,所以電路中將所有的IO口通過插針引出來方便后續(xù)調(diào)試[5]。
3.2 供電與電源管理
整個電路需要3.3 V和5 V兩種供電電壓。供電電路首先通過LM1117-5.0穩(wěn)壓芯片產(chǎn)生5.0 V的電壓,再經(jīng)過LM1117-3.3芯片產(chǎn)生3.3 V的供電電壓。
電源管理電路的主體部分由BQ28400和BQ29200兩款芯片組成。BQ28400芯片負(fù)責(zé)測量電路電壓、電量以及溫度等信息[6],然后通過SMBC和SMBD兩個引腳實(shí)現(xiàn)主控芯片和BQ28400芯片的通信,通過傳送固定的命令字節(jié)來獲得電池的相關(guān)信息(例如0x08為讀取溫度值的命令、0x09為讀取電壓值的命令),而BQ29200主要負(fù)責(zé)二次過壓保護(hù),利用BQ29200就不需要額外搭建復(fù)雜的過壓保護(hù)電路,可以簡化電路[7]。
3.3 信號收發(fā)電路
設(shè)計(jì)使用XDM2510H模塊,其內(nèi)部已經(jīng)為用戶集成了Wireless HART協(xié)議棧,而用戶只需要通過簡單的UART通信即可實(shí)現(xiàn)整個入網(wǎng)以及數(shù)據(jù)收發(fā)的功能[8],節(jié)約了用戶的開發(fā)過程。
數(shù)據(jù)收發(fā)的電路原理圖如圖3所示。MSP430F5438A與XDM2510H模塊之間通過UART進(jìn)行數(shù)據(jù)交換,其波特率為9 600[9],本次設(shè)計(jì)中主要涉及以下幾個引腳:UART_RX:輸入引腳,是XDM2510H接收來自于MSP430F5438A的數(shù)據(jù);UART_TX:輸出引腳,用于XDM2510H向MSP430F5438A發(fā)送數(shù)據(jù);MT_RTS:輸出引腳,該引腳用來喚醒MSP430F5438A接收數(shù)據(jù),當(dāng)XDM2510H準(zhǔn)備好發(fā)送新數(shù)據(jù)時,該引腳復(fù)位提醒XDM2510H有新數(shù)據(jù)準(zhǔn)備發(fā)送[10]。當(dāng)XDM2510H有數(shù)據(jù)需要發(fā)送的時候,SP_CTS引腳為低電平(SP_CTS為低電平表示單片機(jī)已經(jīng)準(zhǔn)備好接收數(shù)據(jù))或者M(jìn)T_RTS保持復(fù)位狀態(tài)的時間超過某一上限值,MT_RTS會變?yōu)楦唠娖?,否則,MT_RTS會一直保持復(fù)位狀態(tài)。 SP_CTS:輸入引腳,當(dāng)MSP430F5438A準(zhǔn)備好接受來自于XDM2510H的數(shù)據(jù)時,該位被復(fù)位。如果單片機(jī)一直處于準(zhǔn)備接受串行數(shù)據(jù)的狀態(tài),那么可以通過外部電路將其拉低。MT_CTS:輸出引腳,在模塊真正加入網(wǎng)絡(luò)之前,該位是無效的。模塊加入網(wǎng)絡(luò)之后,在正式發(fā)送數(shù)據(jù)之前,節(jié)點(diǎn)模塊需要檢測該引腳狀態(tài),只有在確保該引腳為低電平的時候,才能執(zhí)行發(fā)送數(shù)據(jù)的過程[11]。TIME:輸入引腳,屬于可選信號,用來觸發(fā)時間戳數(shù)據(jù)報(bào)。
圖3 Wireless HART數(shù)據(jù)收發(fā)電路原理圖
3.4 信號調(diào)理
傳感器的測量精度一般會受外界溫度以及自身材料結(jié)構(gòu)等方面的影響,因此,除了將傳感器信號放大之外,還需要對傳感器的輸出進(jìn)行補(bǔ)償和校準(zhǔn)[12],MAX1452此款芯片能夠通過編程對各種傳感器信號進(jìn)行補(bǔ)償和校準(zhǔn),片內(nèi)集成的存儲器使得用戶可以根據(jù)需要自行設(shè)置補(bǔ)償參數(shù)[13],而且內(nèi)部還集成了可編程運(yùn)放,使得外圍電路更加簡潔。
4.1 軟件系統(tǒng)總體介紹
軟件部分使用IAR這款嵌入式系統(tǒng)開發(fā)工具,這是一款帶有C/C++ 編譯器和調(diào)試器集成開發(fā)環(huán)境(IDE)、 實(shí)時操作系統(tǒng)和中間件、開發(fā)套件、硬件仿真器以及狀態(tài)機(jī)建模工具的高性能開發(fā)工具[14]。
圖4 系統(tǒng)軟件工作流程
如圖4所示,整個系統(tǒng)的軟件部分包括系統(tǒng)初始化設(shè)置、節(jié)點(diǎn)入網(wǎng)、參數(shù)設(shè)置、壓力和溫度數(shù)據(jù)采集、信號調(diào)理、電量監(jiān)測。初始化設(shè)置中包含hal_board.c和hal_tlv.c兩個程序,其中hal_board.c主要是用來配置系統(tǒng)時鐘和功耗等級,hal_tlv.c設(shè)置單片機(jī)選型;節(jié)點(diǎn)入網(wǎng)部分包含XDM2510.c程序,該程序主要負(fù)責(zé)網(wǎng)絡(luò)參數(shù)的設(shè)置以及節(jié)點(diǎn)的入網(wǎng)、數(shù)據(jù)的收發(fā)和處理,是整個系統(tǒng)最核心的部分;參數(shù)設(shè)置是通過按鍵電路來實(shí)現(xiàn)的;壓力和溫度數(shù)據(jù)的采集部分包含有ADC12.c代碼,主要是對壓力和溫度數(shù)據(jù)進(jìn)行模數(shù)轉(zhuǎn)換;信號調(diào)理主要是針對壓力傳感器設(shè)計(jì)的代碼,以MAX1452.c命名,預(yù)先對MAX1452的內(nèi)部數(shù)據(jù)進(jìn)行設(shè)置,然后通過寫入的參數(shù)對壓力信號進(jìn)行補(bǔ)償處理,提高整個電路的精確度。電量監(jiān)測部分包含SMBus.c代碼,該代碼主要是通過發(fā)送命令讀取電池的相關(guān)參數(shù),并與報(bào)警值比較,以此來判斷和顯示電池目前的健康狀況;其他部分包DS18B20.c和JLX12864G-0088.c以及延時函數(shù)。整個軟件部分分工明確、功能豐富、結(jié)構(gòu)緊湊。
4.2 無線HART模塊軟件設(shè)計(jì)
默認(rèn)情況下,MSP430F5438A和XDM2510H之間的通信是四線制的[15],包括MT_RTS、MT_CTS、TX和RX,每個信號線的功能在上文已經(jīng)介紹過。每一個新的節(jié)點(diǎn)模塊都需要經(jīng)過圖5所示的幾個狀態(tài)轉(zhuǎn)換才能完成一次完整的生存周期。
圖5 XDM2510H模塊狀態(tài)轉(zhuǎn)換圖
XDM2510H主要有初始化(Init)、空閑(Idle)、搜索(Searching)、會話(Negotiating)、連接(Connected)、運(yùn)行(Operational)、斷開(Disconnected)這7個狀態(tài)[16],要使節(jié)點(diǎn)能夠加入特定的無線HART網(wǎng)絡(luò),微控制器需要嚴(yán)格按照以下步驟進(jìn)行設(shè)置和操作。
(1)XDM2510H與單片機(jī)是通過串口收發(fā)數(shù)據(jù)的,所以需要根據(jù)要求初始化單片機(jī)的UART模塊,將其波特率設(shè)置為9 600,8位數(shù)據(jù)位,一個停止位,無奇偶校驗(yàn)位;
(2)XDM2510H上電初始化之后會通過串口主動發(fā)送一個啟動包,此時的XDM2510的保持為Init狀態(tài),啟動包的數(shù)據(jù)格式如下7E 0F 09 00 00 00 00 01 00 00 00 00 FE 0E 7E
MSP430F5438A在接收到這樣的數(shù)據(jù)報(bào)之后,應(yīng)當(dāng)立刻回復(fù)如下的確認(rèn)數(shù)據(jù)報(bào):7E 0F 00 05 00 9F 30 7E,一旦XDM2510H接收到了此確認(rèn)報(bào),其就會停止發(fā)送啟動包,同時,XDM2510H的狀態(tài)會由之前的Init轉(zhuǎn)變?yōu)镮dle狀態(tài);
(3)在節(jié)點(diǎn)加入網(wǎng)絡(luò)之前,需要對模塊進(jìn)行一些重要參數(shù)的配置,這里主要涉及到的是一些網(wǎng)絡(luò)參數(shù):
(4)以上主要參數(shù)設(shè)置正確并且成功應(yīng)答之后,發(fā)送Join命令執(zhí)行加入網(wǎng)絡(luò)的過程,該命令的數(shù)據(jù)報(bào)格式為0x06,0x00,0x00,且XDM2510H在收到該指令之后,如果能夠成功加入,則會返回一個確認(rèn)報(bào),該確認(rèn)包的格式為06 00 01 00,這樣就完成了加入請求的過程;
(5)從網(wǎng)關(guān)收到節(jié)點(diǎn)的加入請求之后,網(wǎng)關(guān)會自動執(zhí)行一系列的操作,使得節(jié)點(diǎn)過度到Operational;
(6)通過發(fā)送GetMoteStatus命令,獲取當(dāng)前節(jié)點(diǎn)的狀態(tài),當(dāng)監(jiān)測到當(dāng)前節(jié)點(diǎn)已經(jīng)成功過度到了Operational狀態(tài)的時候,就可以發(fā)送請求服務(wù)命令了,該命令的數(shù)據(jù)報(bào)格式為0x01,0x0A,0x00,0x08,0x00,0x01,0x00,0xF9,0x81,0x00,0x00,0x13,0x88。
如果能夠成功實(shí)現(xiàn)請求服務(wù),則整個加入過程至此結(jié)束,此時便可以通過Send命令向網(wǎng)關(guān)發(fā)送數(shù)據(jù)了。
在完成整個原理圖的設(shè)計(jì)之后,根據(jù)原理圖生成PCB圖,并對整個PCB進(jìn)行合理的布局。如圖6所示,PCB電路板的面積不到10 cm×10 cm,主要包括穩(wěn)壓電路、外接電源電路、按鍵電路、充電電路、液晶顯示電路、電池監(jiān)測電路、XDM2510入網(wǎng)/數(shù)據(jù)收發(fā)電路、信號處理電路和MCU控制電路這9個部分。圖7為PCB板的實(shí)物圖。
圖6 PCB電路圖
圖7 PCB正反面實(shí)物圖
設(shè)計(jì)采用分模塊的方法進(jìn)行硬件和軟件的調(diào)試。硬件部分共分為5個部分進(jìn)行調(diào)試:主控電路部分(包括供電電路)、液晶顯示部分、電池監(jiān)測部分、信號處理部分、XDM2510H數(shù)據(jù)收發(fā)部分。軟件部分主要涉及到幾個主要的程序代碼的調(diào)試:ADC12.c模數(shù)轉(zhuǎn)換代碼、DS18B20.c溫度傳感器代碼、MAX1452.c信號調(diào)理代碼、JLX12864G-0088.c液晶顯示代碼、XDM2510.c無線數(shù)據(jù)收發(fā)代碼、SMBus.c電壓監(jiān)測代碼。利用簡單的測試程序?qū)⒂布娐犯鱾€部分調(diào)通之后再將整個電路焊接測試,整體運(yùn)行測試代碼,保證硬件電路的正確無誤;然后將調(diào)試好的軟件組合成一個工程,下載到MSP430F5438A中運(yùn)行,直到通過whconsole.exe網(wǎng)關(guān)監(jiān)測軟件能夠正確接收到期望的數(shù)據(jù)。
設(shè)計(jì)將整個電路分為不同的模塊,對每一個模塊進(jìn)行原理分析和芯片選型設(shè)計(jì)了基于無線Hart的智能圓卡實(shí)用電路,圓卡只要植入不同的傳感器,并載入對應(yīng)的傳感器軟件,在配上電池、天線、圓卡外殼就能快速開發(fā)出一款無線HART變送器,縮短了儀表廠商的開發(fā)時間,節(jié)約了開發(fā)時間和成本。
[1] 潘峰.工業(yè)無線國際標(biāo)準(zhǔn)及其應(yīng)用介紹[C].北京:中國石油化工重大工程儀表控制技術(shù)高峰論壇, 2012.
[2] 張?jiān)?傳統(tǒng)自動化系統(tǒng)的升級和智能無線技術(shù)運(yùn)用的設(shè)想[J].儀表技術(shù),2015(3):27-30.
[3] 繆學(xué)勤.WirelessHART無線傳感器網(wǎng)絡(luò)技術(shù)及其應(yīng)用[J].自動化博覽,2012(3):34-38.
[4] 胡彬彬,王凱.基于WirelessHart網(wǎng)絡(luò)的在線軸承故障研究[J].系統(tǒng)仿真技術(shù),2015,11(1):75-79.
[5] 李麒,王亞剛,王凱.WirelessHART智能壓力儀表的設(shè)計(jì)[J].通信技術(shù),2013(10):75-78.
[6] 童世華.基于HART協(xié)議的通信圓卡設(shè)計(jì)[J].工礦自動化,2012,38(9):112-115.
[7] 李超,安國臣,沙占友.基于HART協(xié)議的智能溫度變送器的硬件設(shè)計(jì)[J].儀表技術(shù)與傳感器, 2008(5):129-133.
[7] 文濤,左東廣.基于PC104總線的綜合測試系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2014,37(18):72-74.
[8] 謝麗賀.基于PCI-2501的高速數(shù)據(jù)采集與反饋系統(tǒng)[J].機(jī)械與電子,2014(2):67-69.
[9] 王晶晶,尚建華.激光多普勒測振計(jì)信號采集和處理系統(tǒng)設(shè)計(jì)[J].電子科技,2016,29(1):9-11.
[10] 梁勇.C++程序設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2008.
[11] 潘海亮,王小虎.基于嵌入式WinCE和LabVIEW的電力數(shù)據(jù)采集研究[J].機(jī)電工程技術(shù),2015(3):59-63.
[12] 李英偉.USB2.0原理與工程開發(fā)[M].北京:國防工業(yè)出版社,2007.
[13] 邊海龍,賈少華.USB2.0設(shè)備的設(shè)計(jì)與開發(fā)[M].北京:人民郵電出版社,2004.
[14] 李曉斌,趙浪濤.一種實(shí)現(xiàn)USB遠(yuǎn)距離傳輸?shù)姆桨阜治鯷J].電子技術(shù)與軟件工程,2015(6):119-121.
[15] 劉茜,田偉峰.機(jī)載VGA線纜設(shè)計(jì)與敷設(shè)[J].硅谷,2014(7):51-53.
Design of Multi-Function Smart Card Based on Wireless HART
DING Yang1,WANG Kai2,WANG Yagang1
(1. School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China; 2. Shanghai Publishing and Printing College, Shanghai 200093, China)
In order to meet the growing demand of industrial wireless communication enterprise users, we propose a multi-functional smart card design based on wireless HART. The XDM2510H is adopted for the wireless HART module, and MAX1452 for the signal conditioning module, which is responsible for the original signal amplification, compensation and calibration. The MCU adopts MSP430F5438A microcontroller for the modulation of signal acquisition, analysis, and processing. Data analysis results are sent by XDM2510H via the wireless network to the gateway for PC. The smart card can access different sensors and load corresponding different software, enabling quick development of a wireless HART transmitter, thereby reducing the difficulty of wireless Hart instrument research and saving the cost of development.
industrial wireless; wireless HART; smart card
2016- 08- 08
丁楊(1991-),男,碩士研究生。研究方向:無線傳感器網(wǎng)絡(luò)等。王凱(1973-),男,高級工程師。研究方向:無線傳感器網(wǎng)絡(luò)等。
10.16180/j.cnki.issn1007-7820.2017.06.020
TN92;TP368.1
A
1007-7820(2017)06-073-05