蘭州交通大學(xué)機(jī)電技術(shù)研究所 李 濤 馬殷元
太原理工大學(xué) 楊 東
基于STM32的GPRS遠(yuǎn)程監(jiān)測(cè)終端設(shè)計(jì)
蘭州交通大學(xué)機(jī)電技術(shù)研究所 李 濤 馬殷元
太原理工大學(xué) 楊 東
隨著網(wǎng)絡(luò)通信及嵌入式系統(tǒng)的發(fā)展,遠(yuǎn)程監(jiān)測(cè)廣泛應(yīng)用到了各個(gè)領(lǐng)域。本文以32位STM32F103RBT6處理器為核心,利用SIM900模塊設(shè)計(jì)出了基于采用GPRS的遠(yuǎn)程監(jiān)測(cè)終端,并介紹了其硬件和軟件的設(shè)計(jì)方案。
遠(yuǎn)程監(jiān)測(cè);STM32;SIM900模塊
隨著網(wǎng)絡(luò)和通信技術(shù)的迅速發(fā)展,遠(yuǎn)程監(jiān)測(cè)系統(tǒng)在工業(yè)控制領(lǐng)域中有著非常重要的意義。在工控領(lǐng)域,由于需要監(jiān)控的區(qū)域廣,監(jiān)控的對(duì)象種類繁多,需要花費(fèi)大量的人力和物力,再者,在許多條件惡劣或人們不易到達(dá)或不能長久的停留的地方采集數(shù)據(jù),是很不方便的。所以,在這種情況下,采用基于GPRS的無線網(wǎng)絡(luò)通信技術(shù),具有相當(dāng)大的優(yōu)勢(shì)。將嵌入式應(yīng)用系統(tǒng)與無線通信技術(shù)結(jié)合在一起是未來嵌入式應(yīng)用的必然趨勢(shì)。
遠(yuǎn)程數(shù)據(jù)監(jiān)測(cè)終端以STM32為主控制器,實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)采集和遠(yuǎn)程數(shù)據(jù)傳輸兩大功能。傳感器采集模擬信號(hào)轉(zhuǎn)換成相應(yīng)的數(shù)字量,通過串口發(fā)送給SIM900模塊,SIM900自動(dòng)將要發(fā)送的數(shù)據(jù)打包成TCP/IP數(shù)據(jù)包,并通過GPRS網(wǎng)絡(luò)與Internet上的服務(wù)器建立連接,將采集到的數(shù)據(jù)發(fā)送給服務(wù)器。系統(tǒng)原理圖如圖1所示。
圖1 系統(tǒng)原理圖
圖2 終端硬件結(jié)構(gòu)框圖
本監(jiān)測(cè)終端是通過STM32控制傳感器采集被監(jiān)測(cè)對(duì)象數(shù)據(jù)并通過GPRS模塊把數(shù)據(jù)傳輸給服務(wù)器,系統(tǒng)中所涉及的硬件電路主要包括以下幾部分:微控制器模塊,無線GPRS模塊,數(shù)據(jù)采集模塊,電源模塊。數(shù)據(jù)采集模塊由各種類型的傳感器構(gòu)成,主要負(fù)責(zé)采集監(jiān)測(cè)對(duì)象的相關(guān)參數(shù),并將采集來的模擬量轉(zhuǎn)換成數(shù)字量,因此數(shù)據(jù)采集部分具有一定的通用性,只要接不同的傳感器,就可以采集不同信號(hào)源的數(shù)據(jù)。微控制器模塊通過串口實(shí)現(xiàn)數(shù)據(jù)采集模塊與GPRS模塊的數(shù)據(jù)傳輸,并實(shí)現(xiàn)對(duì)各個(gè)部分的控制。GPRS模塊主要是把采集的數(shù)據(jù)轉(zhuǎn)發(fā)并接入Internet網(wǎng)。電源模塊主要是為整個(gè)系統(tǒng)提供可靠的電源。整體的硬件結(jié)構(gòu)如圖2。
STM32F103RBT6是一款基于CORTEX-M3內(nèi)核、高性能、低成本、低功耗的微控制器,在軟件和引腳封裝方面同其他STM32系列處理器是兼容的。它的時(shí)鐘頻率達(dá)到72MHz,能實(shí)現(xiàn)高端運(yùn)算。內(nèi)嵌128KBFLASH程序存儲(chǔ)器。豐富的外設(shè),UART、SPI等串行接口以及最大翻轉(zhuǎn)率18MHz的GPIO。所以使用STM32作為核心控制器是一個(gè)非常不錯(cuò)的選擇。
STM32F103RBT6采用LQFP64封裝,GPIO中PA0,PA1,PA2,PA3分別接到SIM900GPRS模塊的7,8,9,10引腳,作為與GPRS通訊引腳使用,串口1(PA8,PA9)與數(shù)據(jù)采集模塊連接,STM32的PA5連接SIM900的引腳1,利用電平的高低變化控制SIM900模塊的的開關(guān)
SIM900是SIMCom推出一款新型無線模塊,它屬于四頻GSM/GPRS模塊,。完全采用SMT封裝形式,同時(shí)采用了功能強(qiáng)大的ARM926EJ-S芯片處理器。SIM900性能穩(wěn)定,外觀小巧,性價(jià)比高,能滿足使用者的多種需求。SIM900采用工業(yè)標(biāo)準(zhǔn)接口,工作頻率為GSM/GPRS 850/900/1800/1900MHz,支持標(biāo)準(zhǔn)的AT命令,可以低功耗實(shí)現(xiàn)語音、SMS、數(shù)據(jù)和傳真信息的傳輸。SIM900模塊的電路設(shè)計(jì)如圖3所示。
SIM900和STM32之間的數(shù)據(jù)通信主要是通過端口RXD與UART2_TXD,TXD與UART2_RXD之間的數(shù)據(jù)傳輸來完成。其中SIM900上的引腳10RXD口是用于接收STM32傳來的數(shù)據(jù),最終數(shù)據(jù)通過SIM900上的天線發(fā)送出去,引腳9TXD口是用于向STM32發(fā)送數(shù)據(jù)。
STM32通過AT指令和SIM900模塊進(jìn)行通信.整個(gè)通信的過程可分為:(1)初始化。STM32處理器發(fā)送AT指令,控制GPRS模塊,完成系統(tǒng)的啟動(dòng),初始化串口,包括波特率、數(shù)據(jù)位、停止位、數(shù)據(jù)流控制、奇偶校驗(yàn)等,如使用AT指令A(yù)T+IPR=“115200”,把波特率設(shè)為115200b/s;(2)配置參數(shù).在GPRS通訊過程中,需要使用到一些重要的參數(shù),主要的配置項(xiàng)有:設(shè)置接入網(wǎng)關(guān)、設(shè)置移動(dòng)終端類別、激活GPRS、AT+CGACT=1.1;(3)建立連接.STM32利用AT指令控制GPRSModem連接服務(wù)器,連接成功后即可進(jìn)行數(shù)據(jù)的透明傳輸。
圖3 SIM900模塊
本方案中采用的是6針連接器.主要包括SIM卡的電源線、數(shù)據(jù)線、SIM卡時(shí)鐘、復(fù)位線和狀態(tài)線.SIM卡的供電電壓為3.0V或1.8V,由SIM900模塊進(jìn)行供電,根據(jù)通信公司提供的SIM卡模塊自動(dòng)進(jìn)行選擇.硬件連接圖如圖4所示,串在IO口線中的22Ω電阻用于匹配模塊和SIM卡之間的阻抗,數(shù)據(jù)信號(hào)線SIM_DATA已在模塊內(nèi)部上拉。
由于SIM900模塊供電電壓為3.2-4.8(典型值為4V),在突發(fā)傳輸時(shí),峰值電流可達(dá)到2A,電流突增會(huì)引起SIM900電壓突降,因此,系統(tǒng)電源模塊采用MIC29302芯片,該芯片是一種高電流、高精確度、低回差電壓、電壓可調(diào)的電源芯片,最高可提供3A的電流,回差壓降最大為350mV,能夠滿足SIM900峰值電流2A的要求,芯片的外圍接口如圖5所示,其中電壓輸出的計(jì)算公式為:V=1.235×[1+R3/R2]。而STM32的供電電壓是2.0-3.6V(典型值為3.3V),所以這里至少存在兩種電壓的轉(zhuǎn)換,如果采用5V供電的話,就要提供5V到4V,5V到3.3V的電壓轉(zhuǎn)換.在本監(jiān)測(cè)終端中,一方面采用MICREL公司的MIC29302芯片,為SIM900模塊提供4V的電壓,同時(shí)其輸出電流可以達(dá)到3A,完全可以滿足需要;另一方面,采用REG1117-3.3芯片,為STM32提供3.3V的電壓.如圖6所示
遠(yuǎn)程監(jiān)測(cè)終端軟件用C語言在Keil uVision3編譯環(huán)境下編寫,整體流程如下:
給監(jiān)測(cè)終端上電,完成各模塊的初始化以及開中斷,STM32通過串口1接收傳感器的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行分析,判斷采集的數(shù)據(jù)是否正確有效,有效則將接收的數(shù)據(jù)存入外部存儲(chǔ)器,同時(shí)編程處理提取所需的信息發(fā)送至串口2,無效則返回中斷入口;STM32同步控制GPRS模塊連接到GPRS網(wǎng)絡(luò)并登錄服務(wù)器,登錄成功后,程序進(jìn)入主循環(huán),監(jiān)測(cè)終端實(shí)時(shí)發(fā)送數(shù)據(jù)到服務(wù)器。STM32還可以根據(jù)GPRS模塊的反饋信息自動(dòng)監(jiān)測(cè)網(wǎng)絡(luò)連接情況,并實(shí)現(xiàn)斷線重連。由于程序比較復(fù)雜、龐大,下面只給出了軟件流程圖,如圖7所示。
本文設(shè)計(jì)的基于STM32的遠(yuǎn)程監(jiān)測(cè)終端,具有成本低、體積小、布設(shè)方便、運(yùn)行穩(wěn)定等特點(diǎn),克服了現(xiàn)場(chǎng)環(huán)境改造困難、布線成本高,條件惡劣等問題,為現(xiàn)場(chǎng)對(duì)象的監(jiān)測(cè)提出了一種解決方案。
圖4 SIM卡與GPRS模塊的連接
圖5 SIM900供電模塊
圖6 STM32供電模塊
圖7 終端軟件流程圖
[1]王永虹,徐偉,郝立平.STM32系列ARM Cortex-M3微控制器原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2008.
[2]劉亮,王擊,楊澤.基于ARM Cortex-M3和Internet的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].2011(11).
[3]李美俊,李光明.基于嵌入式的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].2012(2).