APP下载

基于STM32的GPRS远程监测终端设计

2012-01-29兰州交通大学机电技术研究所马殷元

电子世界 2012年11期
关键词:SIM卡微控制器串口

兰州交通大学机电技术研究所 李 涛 马殷元

太原理工大学 杨 东

基于STM32的GPRS远程监测终端设计

兰州交通大学机电技术研究所 李 涛 马殷元

太原理工大学 杨 东

随着网络通信及嵌入式系统的发展,远程监测广泛应用到了各个领域。本文以32位STM32F103RBT6处理器为核心,利用SIM900模块设计出了基于采用GPRS的远程监测终端,并介绍了其硬件和软件的设计方案。

远程监测;STM32;SIM900模块

随着网络和通信技术的迅速发展,远程监测系统在工业控制领域中有着非常重要的意义。在工控领域,由于需要监控的区域广,监控的对象种类繁多,需要花费大量的人力和物力,再者,在许多条件恶劣或人们不易到达或不能长久的停留的地方采集数据,是很不方便的。所以,在这种情况下,采用基于GPRS的无线网络通信技术,具有相当大的优势。将嵌入式应用系统与无线通信技术结合在一起是未来嵌入式应用的必然趋势。

1.系统总体方案设计

远程数据监测终端以STM32为主控制器,实现现场数据采集和远程数据传输两大功能。传感器采集模拟信号转换成相应的数字量,通过串口发送给SIM900模块,SIM900自动将要发送的数据打包成TCP/IP数据包,并通过GPRS网络与Internet上的服务器建立连接,将采集到的数据发送给服务器。系统原理图如图1所示。

图1 系统原理图

图2 终端硬件结构框图

2.终端硬件设计

本监测终端是通过STM32控制传感器采集被监测对象数据并通过GPRS模块把数据传输给服务器,系统中所涉及的硬件电路主要包括以下几部分:微控制器模块,无线GPRS模块,数据采集模块,电源模块。数据采集模块由各种类型的传感器构成,主要负责采集监测对象的相关参数,并将采集来的模拟量转换成数字量,因此数据采集部分具有一定的通用性,只要接不同的传感器,就可以采集不同信号源的数据。微控制器模块通过串口实现数据采集模块与GPRS模块的数据传输,并实现对各个部分的控制。GPRS模块主要是把采集的数据转发并接入Internet网。电源模块主要是为整个系统提供可靠的电源。整体的硬件结构如图2。

2.1 微控制器模块

STM32F103RBT6是一款基于CORTEX-M3内核、高性能、低成本、低功耗的微控制器,在软件和引脚封装方面同其他STM32系列处理器是兼容的。它的时钟频率达到72MHz,能实现高端运算。内嵌128KBFLASH程序存储器。丰富的外设,UART、SPI等串行接口以及最大翻转率18MHz的GPIO。所以使用STM32作为核心控制器是一个非常不错的选择。

STM32F103RBT6采用LQFP64封装,GPIO中PA0,PA1,PA2,PA3分别接到SIM900GPRS模块的7,8,9,10引脚,作为与GPRS通讯引脚使用,串口1(PA8,PA9)与数据采集模块连接,STM32的PA5连接SIM900的引脚1,利用电平的高低变化控制SIM900模块的的开关

2.2 GPRS模块

SIM900是SIMCom推出一款新型无线模块,它属于四频GSM/GPRS模块,。完全采用SMT封装形式,同时采用了功能强大的ARM926EJ-S芯片处理器。SIM900性能稳定,外观小巧,性价比高,能满足使用者的多种需求。SIM900采用工业标准接口,工作频率为GSM/GPRS 850/900/1800/1900MHz,支持标准的AT命令,可以低功耗实现语音、SMS、数据和传真信息的传输。SIM900模块的电路设计如图3所示。

SIM900和STM32之间的数据通信主要是通过端口RXD与UART2_TXD,TXD与UART2_RXD之间的数据传输来完成。其中SIM900上的引脚10RXD口是用于接收STM32传来的数据,最终数据通过SIM900上的天线发送出去,引脚9TXD口是用于向STM32发送数据。

STM32通过AT指令和SIM900模块进行通信.整个通信的过程可分为:(1)初始化。STM32处理器发送AT指令,控制GPRS模块,完成系统的启动,初始化串口,包括波特率、数据位、停止位、数据流控制、奇偶校验等,如使用AT指令AT+IPR=“115200”,把波特率设为115200b/s;(2)配置参数.在GPRS通讯过程中,需要使用到一些重要的参数,主要的配置项有:设置接入网关、设置移动终端类别、激活GPRS、AT+CGACT=1.1;(3)建立连接.STM32利用AT指令控制GPRSModem连接服务器,连接成功后即可进行数据的透明传输。

图3 SIM900模块

2.3 SIM卡与GPRS模块的连接

本方案中采用的是6针连接器.主要包括SIM卡的电源线、数据线、SIM卡时钟、复位线和状态线.SIM卡的供电电压为3.0V或1.8V,由SIM900模块进行供电,根据通信公司提供的SIM卡模块自动进行选择.硬件连接图如图4所示,串在IO口线中的22Ω电阻用于匹配模块和SIM卡之间的阻抗,数据信号线SIM_DATA已在模块内部上拉。

2.4 电源模块

由于SIM900模块供电电压为3.2-4.8(典型值为4V),在突发传输时,峰值电流可达到2A,电流突增会引起SIM900电压突降,因此,系统电源模块采用MIC29302芯片,该芯片是一种高电流、高精确度、低回差电压、电压可调的电源芯片,最高可提供3A的电流,回差压降最大为350mV,能够满足SIM900峰值电流2A的要求,芯片的外围接口如图5所示,其中电压输出的计算公式为:V=1.235×[1+R3/R2]。而STM32的供电电压是2.0-3.6V(典型值为3.3V),所以这里至少存在两种电压的转换,如果采用5V供电的话,就要提供5V到4V,5V到3.3V的电压转换.在本监测终端中,一方面采用MICREL公司的MIC29302芯片,为SIM900模块提供4V的电压,同时其输出电流可以达到3A,完全可以满足需要;另一方面,采用REG1117-3.3芯片,为STM32提供3.3V的电压.如图6所示

3.终端软件设计

远程监测终端软件用C语言在Keil uVision3编译环境下编写,整体流程如下:

给监测终端上电,完成各模块的初始化以及开中断,STM32通过串口1接收传感器的数据,并对数据进行分析,判断采集的数据是否正确有效,有效则将接收的数据存入外部存储器,同时编程处理提取所需的信息发送至串口2,无效则返回中断入口;STM32同步控制GPRS模块连接到GPRS网络并登录服务器,登录成功后,程序进入主循环,监测终端实时发送数据到服务器。STM32还可以根据GPRS模块的反馈信息自动监测网络连接情况,并实现断线重连。由于程序比较复杂、庞大,下面只给出了软件流程图,如图7所示。

4.结论

本文设计的基于STM32的远程监测终端,具有成本低、体积小、布设方便、运行稳定等特点,克服了现场环境改造困难、布线成本高,条件恶劣等问题,为现场对象的监测提出了一种解决方案。

图4 SIM卡与GPRS模块的连接

图5 SIM900供电模块

图6 STM32供电模块

图7 终端软件流程图

[1]王永虹,徐伟,郝立平.STM32系列ARM Cortex-M3微控制器原理与实践[M].北京:北京航空航天大学出版社,2008.

[2]刘亮,王击,杨泽.基于ARM Cortex-M3和Internet的实时数据采集系统设计[J].2011(11).

[3]李美俊,李光明.基于嵌入式的数据采集系统设计[J].2012(2).

猜你喜欢

SIM卡微控制器串口
浅谈AB PLC串口跟RFID传感器的通讯应用
SIM卡防盗很关键 小喻教你如何给它“上保险”
铁路GSM-R SIM卡读写次数测试方法研究
SIM卡的“减肥史”
物联网技术在微控制器实验教学中的应用
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
Atmel针对新一代物联网应用发布全新32位微控制器
最新STM32设计工具增加对混合信号微控制器的支持