基于STM32單片機(jī)和EM310的無(wú)線終端設(shè)計(jì)
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ā).
評(píng)論