微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于SIM800C的GPRS数据传输系统设计*

基于SIM800C的GPRS数据传输系统设计*

时间:10-27 来源:电子产品世界 点击:

作者/ 韩进 马双 山东科技大学 信息科学与工程学院(山东 青岛 266590)

摘要:本文设计了一种以GPRS为传输方式的无线数据传输系统。该系统以STM32F207VC为主控芯片,采用最新的SIM800C模块,以串口通讯方式实现与主控芯片的通讯,将采集到的数据传输至服务器端,软件方面包括异常处理、心跳包机制的设计,大幅提高了GPRS的传输稳定性。经过长时间测试发现,客户端以TCP/IP协议与服务端保持良好连接状态。该设计可广泛应用于各类单片机控制系统中,为无线数据传输提供了一种新的稳定的解决方案。

引言

GPRS作为目前广泛应用的2G网络,稳定性高,网络覆盖范围广,将其与物联网结合起来,可作为一种通讯方式,用于远程查看设备状态,控制设备运行,开发出无线传输的物联网产品。

本文设计的数据传输系统以STM32F207VCT6为主控芯片,通过串口通讯方式与AT指令集控制支持TCP/IP协议的GPRS模块SIM800C,该模块支持域名解析与IP地址直接连接两种方式连接服务器,并结合通讯异常处理与心跳包机制,大幅提高GPRS与服务器端的传输稳定性。作为测试,模拟已经采集到设备周围环境温度及其他传感器状态作为传输数据,不间断地传输至远程服务器端。

1 硬件系统设计

本系统的硬件设计框图如图1所示。

本设计以STM32F207VCT6为主控芯片,采用5V变压器供电方式,可以通过JTAG接口对芯片进行开发调试。主控芯片通过串口方式与SIM800C进行通讯,SIM800C则提供TCP/IP协议,与远程服务器进行数据交互,上位机软件通过DMZ转发将本地计算机暴露于互联网下,结合动态DNS域名与端口号,用于对该系统的查看与控制,同时,STM32驱动LED发光二极管以告知用户系统连接与运行状态。

1.1 相关芯片及SIM800C介绍

STM32F207VCT6为 ST (意法半导体)公司研发的一款入门级低功耗32位ARM芯片,拥有64Kb片内Flash,以及包括UART、USB、CAN、SPI、I2C等在内的丰富的硬件接口,结合Keil或IAR开发环境及其标准固件库可方便地进行产品开发。

本设计采用GPRS无线通信方式,采用SIMCom公司2015年下旬最新生产的SIM800C模块,该模块用于替代之前的SIM800E模块,价格低廉,主要工作在850/900/1800/1900MHz频率,满足GSM 2/2+标准,支持GSM/GPRS与AT指令控制,其性能稳定,外观小巧,性价比高,多样化的硬件接口可方便地与单片机或PLC进行通讯,支持双SIM卡,可低功耗实现SMS和数据信息的传输。SIM800C尺寸为17.6mm×15.7mm×2.3mm,能适用于各种紧凑型产品设计需求。

1.2 原理图设计

考虑到各芯片电源供电电压与系统设备的使用场景,设置系统的输入电压为5V直流,经过F110贴片式自恢复保险丝以及L1117-3.3稳压芯片输出3.3V直流电压供电,为使直流电源波形噪声减小,可在5V输入端和3.3V输出端并联2个100μF钽电容进行滤波,如图2所示。同样的,可在每个电源管脚附近布一个100nF电容用作退耦电容,从而稳定输入电源,主芯片JTAG接口加10K上拉电阻进行连接,方便使用Ulink等调试器进行在线调试及仿真。将主控芯片与SIM800C模块按照串口接口连接。

根据SIM800C模块硬件设计手册,模块供电电压范围为3.4V~4.4V,本设计采用AOZ1016稳压芯片,参照AOZ1016芯片数据手册搭建降压稳压电路,将5V直流输入稳压为4V供给SIM800C使用,后端两个100μF电容作为直流电压的滤波电容。如图3所示。

SIM800C模块与单片机直接为串口接口,根据硬件设计手册需进行3.3V电平匹配,将模块与单片机串口之间接1KΩ电阻,模块RX脚接5.6KΩ电阻到地,以实现简单的电平匹配,以符合串口传输要求。

1.3 GPRS模块与SIM卡接口设计

GPRS的使用需要依托手机SIM卡作为物理介质进行信号传输,目前SIM卡接口底座型号较多,本系统采用塑料材质的贴片封装的底座,在节约成本的条件下,可保证信号的稳定性。为保证SIM卡不受静电损坏,在DATA与CLK端接入ESD防护芯片。模块与SIM卡接口如图4所示。

2 软件设计与实现

通过STM32F207VCT6的串口输出AT指令来控制SIM800C模块的相应动作,将模块设置为透传模式,这样经过单片机串口发送的数据在模块连接TCP成功之后可发送至模块的串口上,模块自动将这些数据发送至服务端,极大地方便了软件设计,更有利于控制软件流程。软件设计流程图如图5所示,在模块进行TCP连接后,若连接不成功则重新进行连接;若连接成功,则发送采集到的数据传输至服务器端,同时开启串口中断接收模块的返回值,并判断返回值是数据还是命令。若为数据则启用接收;若为命令则根据命令号结合相应结构体处理命令。

2.1 模块AT命令

SIM800系列通讯模块的主要AT指令同SIM

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top