基于STM32單片機(jī)和EM310的無(wú)線終端設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0引言
在監(jiān)測(cè)監(jiān)控及數(shù)據(jù)采集系統(tǒng)(SCADA)系統(tǒng)中,采集數(shù)據(jù)的實(shí)時(shí)性和準(zhǔn)確性對(duì)系統(tǒng)有很大的影響,合適的通信網(wǎng)絡(luò)可以有效提高SCADA系統(tǒng)的效益,本文設(shè)計(jì)的GPRS無(wú)線終端在SCADA系統(tǒng)中的應(yīng)用解決了上述問(wèn)題,除滿足數(shù)據(jù)實(shí)時(shí)性和準(zhǔn)確性外,還具有建設(shè)成本低.結(jié)構(gòu)簡(jiǎn)單.傳輸容量大.可遠(yuǎn)程控制等優(yōu)勢(shì).
1 終端簡(jiǎn)介
1.1終端結(jié)構(gòu)
無(wú)線終端由EM310GSM模塊和STM32F103單片機(jī)構(gòu)成,以STM32F103單片機(jī)為核心,STM32F103單片機(jī)有豐富的通信接口,用于連接EM310和現(xiàn)場(chǎng)儀表;還有豐富的I/O資源,可以擴(kuò)展較大容量的RAM,一方面存儲(chǔ)指令集,用于解讀指令并作出相應(yīng)的動(dòng)作;另一方面用于暫時(shí)存儲(chǔ)監(jiān)測(cè)點(diǎn)采集到的數(shù)據(jù).終端利用GPRS技術(shù)與控制中心進(jìn)行通信,GPRS的通訊網(wǎng)絡(luò)具有建設(shè)成本低.聯(lián)網(wǎng)快速.傳輸容量大.傳輸高速等優(yōu)點(diǎn).如圖1為該無(wú)線終端和監(jiān)測(cè)點(diǎn)儀表的結(jié)構(gòu)圖.
1.2終端在SCADA系統(tǒng)中的應(yīng)用
在SCADA系統(tǒng)中無(wú)線終端的主要任務(wù)是通過(guò)GPRS網(wǎng)絡(luò)
和Intemet網(wǎng)絡(luò)實(shí)現(xiàn)監(jiān)測(cè)點(diǎn)與控制中心之間的數(shù)據(jù)收發(fā),其結(jié)構(gòu)如圖2所示.
1.2硬件設(shè)計(jì)
終端主要實(shí)現(xiàn)的功能有:數(shù)據(jù)收發(fā).指令解讀和控制監(jiān)測(cè)點(diǎn)儀表.滿足以上功能,電路主要分成幾個(gè)部分:EM310模塊電路.外擴(kuò)RAM電路.儀表串口電路.
(1)EM310 模塊在SCADA系統(tǒng)對(duì)無(wú)線模塊傳輸數(shù)據(jù)的速度和容量有一定 的要求,另外,在某些系統(tǒng)對(duì)終端的工作溫度要求較高.EM310 與西門(mén)子MC55相比具有髙低溫范圍大,可以應(yīng)用到一些溫度 要求比較高的場(chǎng)合;與GTM900B相比,體積較小,功能較強(qiáng), EM310內(nèi)置協(xié)議找,一次可以發(fā)2K字節(jié),能夠滿足大多SCA- DA系統(tǒng)的要求;有MUX功能,能實(shí)現(xiàn)大數(shù)據(jù)量的傳輸.
EM310模塊的作角是從STM32單片機(jī)的串口上接收數(shù)據(jù) 并發(fā)送和接收無(wú)線數(shù)據(jù)通過(guò)串口傳輸給STM32單片機(jī),在連接 GPRS網(wǎng)絡(luò)時(shí)需要SIM卡的驗(yàn)證,同時(shí)通過(guò)LPG引腳顯示當(dāng)前 的狀態(tài).因此,EM310模塊電路主要包括串口部分.SIM卡連接 部分和LPG指示燈連接部分,另外還有啟動(dòng)和復(fù)位部分.
如圖 3 所示 SIM_CLK.SIM_VCC.SIMJO.SIM_RST 分別 為SIM卡的時(shí)鐘.電源.數(shù)據(jù)以及復(fù)位線;LPG用于連接網(wǎng)絡(luò)狀 態(tài)指示燈;RST為復(fù)位管腳,低電平有效,此管腳在靠近50PINB2B連接器處并聯(lián)100nF的電容到GND,用于靜電釋放防護(hù); TERM-ON為開(kāi)關(guān)機(jī)管腳,將TERM-ON管腳拉低50ms,即可 開(kāi)機(jī),再將TERMJ3N管腳拉低50ms,即可關(guān)機(jī).VDD-IO為 I/O 口電源管腳,VDD-IO人電壓U與/DTR./RTS./TXD外加 串聯(lián)電阻R的關(guān)系計(jì)算公式:R=3.5 * U-11.3K.
(2)外擴(kuò)RAM
外擴(kuò)RAM用于存儲(chǔ)指令集和暫時(shí)存儲(chǔ)儀表檢測(cè)數(shù)據(jù).當(dāng)終端收到數(shù)據(jù)包時(shí),單片機(jī)會(huì)根據(jù)收到的數(shù)據(jù)包,在RAM中找到與該數(shù)據(jù)包相應(yīng)程序段,并運(yùn)行該程序段,即做出控制中心要求的動(dòng)作,如讀取儀表的參數(shù).設(shè)置儀表參數(shù).讀取監(jiān)測(cè)數(shù)據(jù)等.
RAM的讀寫(xiě)速度很大程度上決定了終端收到數(shù)據(jù)包后的響應(yīng)速度,因此終端選用高速靜態(tài)RAM IS61LV25616,采用ISSI的高性能CMOS技術(shù),利用高度可靠的工藝和創(chuàng)新的電路設(shè)計(jì)技術(shù),具有高性能和低功耗的特點(diǎn).
IS61LV25616有待機(jī)模式,該模式在CMOS輸入電平下的功率耗散減少,在終端沒(méi)有收到指令也無(wú)需發(fā)送數(shù)據(jù)時(shí)RAM可以處于待機(jī)模式;該芯片還可以通過(guò)使能接口的連接很好地實(shí)現(xiàn)內(nèi)存的擴(kuò)展;數(shù)據(jù)訪問(wèn)包括高字節(jié)訪問(wèn)和低字節(jié)訪問(wèn)兩種.
(3)儀表串口
儀表串口用于監(jiān)測(cè)點(diǎn)儀表與單片機(jī)之間的連接,儀表串口電路選擇RS232轉(zhuǎn)TTL電平的形式,如圖4,DB9的1.4.6短接,RS232電平通過(guò)收發(fā)器SP3223EA進(jìn)行數(shù)據(jù)的收發(fā).在SP3223EA中C1+和C1一之間接極性電容作為電壓倍增器的泵電容,C2+和C2一之間接極性電容作為反向電荷泵電容,TXfN為T(mén)TL/CMOS驅(qū)動(dòng)器輸入,TxOUT為RS一232驅(qū)動(dòng)器輸出,RxlN為RS一232接收器輸入,RxOUT為T(mén)TL/CMOS接收器輸出.[!--empirenews.page--]
SP3223EA通過(guò)倍增和反向?qū)崿F(xiàn)TTL電平到RS232電平的轉(zhuǎn)換.
2軟件設(shè)計(jì)與調(diào)試
軟件設(shè)計(jì)需要通過(guò)串口通信實(shí)現(xiàn)EM310的初始化.參數(shù)的設(shè)置.數(shù)據(jù)的發(fā)送和接收.
2.1程序流程圖
單片機(jī)與EM310連接的串口是串口1,與儀表串口是串口2,在主程序中首先定義一些全局變量,然后進(jìn)行初始化,包括系統(tǒng)及外設(shè)時(shí)鐘的初始化.外設(shè)及通用lP端口的初始化.串口初始化.定時(shí)器初始化,最后進(jìn)入循環(huán)一直檢測(cè)是否有收到數(shù)據(jù)或者儀表串口是否需要發(fā)送數(shù)據(jù).若收到數(shù)據(jù)則進(jìn)入接收數(shù)據(jù)的子程序,若需要發(fā)送數(shù)據(jù)則進(jìn)入發(fā)送數(shù)據(jù)的子程序.程序流程圖如圖5所示.
2.2調(diào)試過(guò)程與結(jié)果
這里采用了串口調(diào)試工具模擬監(jiān)測(cè)點(diǎn)儀表,可以給GPRS無(wú)線數(shù)據(jù)終端傳數(shù)據(jù),再由EM310發(fā)送到控制中心,也可以從EM310讀取其收到的數(shù)據(jù);用TestGPRS軟件模擬控制中心軟件.可以顯示從串口調(diào)試工具發(fā)送來(lái)的數(shù)據(jù),也可以通過(guò)網(wǎng)絡(luò)向串口調(diào)試工具發(fā)送數(shù)據(jù).
(1)EM310初始化
EM310的初始化包括信號(hào)檢測(cè).SIM卡檢測(cè).模式選擇.注冊(cè)網(wǎng)關(guān).用戶名和密碼.在信號(hào)強(qiáng)度足夠.SlM卡正確連接的情況下就可以進(jìn)行注冊(cè)了,首先進(jìn)行模式選擇,確定是否讓模塊對(duì)輸入輸出數(shù)據(jù)進(jìn)行壓縮轉(zhuǎn)換;然后注冊(cè)網(wǎng)關(guān).用戶名和密碼;最后等待分配lP.初始化順序?yàn)椋孩贆z測(cè)信號(hào)強(qiáng)度;②檢測(cè)SIM卡是否正確連接;③選擇模式;④注冊(cè)網(wǎng)關(guān);⑤注冊(cè)用戶名和密碼.
(2)設(shè)置命令及收發(fā)測(cè)試
設(shè)置命令主要是協(xié)議類型.IP和端口號(hào)的設(shè)置,IP和端口號(hào)必須與數(shù)據(jù)中心的lP.端口號(hào)一致,之后才能通過(guò)AT命令進(jìn)行數(shù)據(jù)的收發(fā).設(shè)置和收發(fā)數(shù)據(jù)的方法如下:
發(fā)送:AT%IPOPEN=“TCP”“210.32.34.65″,8001
返回:CONNECT
發(fā)送:AT%IPSEND=”31323334354142″發(fā)送數(shù)據(jù) 12345AB
返回:%IPSEND:1,15
OK
利用TestGPRS軟件向8001端口發(fā)送AB1234,然后在串 口測(cè)試工具里會(huì)顯示:%IPDATA:1,1,6
發(fā)送:AT%IPDR
返回:%IPDR: 1,1,6, “414231323334″
OK
3結(jié)束語(yǔ)
本方案可以應(yīng)用于一般的SCADA系統(tǒng),具有結(jié)構(gòu)簡(jiǎn)單,擴(kuò)展性強(qiáng).建設(shè)成本低.傳輸速度快.連接快速的特點(diǎn),能夠有效解決偏僻監(jiān)測(cè)點(diǎn)通信網(wǎng)絡(luò)構(gòu)建成本高.難度大的問(wèn)題,調(diào)試結(jié)果證明方案的可行性.STM32單片機(jī)豐富的I/O資源和通信接口資源等,可以滿足各種SCADA系統(tǒng)終端的需求,便于用戶二次開(kāi)發(fā).