基于ARM和GPRS的数据采集传输仪系统设计
扫描二维码
随时随地手机看文章
摘要:文章设计了一种以ARM单片机为核心、采用GPRS作为无线传输方式的数据采集传输仪,此设备通过串口与传感器进行通信实现采集数据,然后通过GPRS模块把传感器数据发送到控制中心。文章首先介绍了ARM处理器的优点和GPRS无线传输的特点,然后重点介绍了数据采集传输仪的硬件系统,并对设计重点做了详细分析,最后对此数据采集仪的技术优势和潜在应用做了分析和展望。
关键词:ARM;单片机;GPRS;数据采集;串口通信
0 引言
随着物联网技术的发展,在分散的、环境恶劣的作业点,特别是存在突发、小数据量传输的场合,以有线传输作为通信媒介已不太合适。物联网技术的发展和应用迅速推动了无线通信技术在工业控制领域的发展,无线传感器终端逐渐成为主流。
GPRS是通用分组无线服务技术的简称,它是GSM移动电话用户可用的一种移动数据业务。它的出现,使低成本无线传感器网络的构建成为可能,具有资费低、覆盖区域大、实时在线、传输率高、呼叫建立时间短等优势,因此采用GPRS方式设计无线传感器终端的数据采集仪是当今比较好的解决方案。
ARM(Advaneed RISC Machines)微处理器是32位、高性能、廉价、耗能低的RISC处理器。现已广泛应用于多种领域,比如嵌入控制、消费/教育类多媒体和移动式应用等。
1 系统总体设计
本系统主要由GPRS通讯模块、MCU控制模块、数据采集模块和电源管理模块4部分组成,软件部分由单片机驱动、数据采集、GPRS无线通信、系统监控等部分组成,硬件部分由电源管理、微处理器、GPRS模块、SIM卡座、串行通信接口和数据存储器等部分组成。微处理器用于控制GPRS模块的信息接收和发送,通过串行通信口和外部传感器进行数据通讯,数据存储器用于存储通过GPRS传输的数据,以备GPRS数据传输丢失时可以补传。本数据采集传输系统原理结构如图1所示。
2 硬件设计
本系统硬件使用ARM处理器作为核心控制器,以西门子公司的MC52i模块作为GPRS无线通信模块,使系统具有低功耗、高效率、实时在线的特点。
2.1 嵌入式微处理器单元
本硬件平台的MCU采用ST公司的STM32F105RCT6,该单片机使用当前最流行的Cortex-M3内核,采用64脚封装,拥有独立的256 kBflash和
64k的RAM,最高允许频率可达72MHz,同时具有5路UART、12路DMA控制器、片内RTC、51个I/O口、片内16通道12位ADC、2个IIC接口、3个SPI接口和2个CAN总线接口。本系统通过合理利用片内集成的多种功能模块,大大降低了设计的复杂性,也降低了系统成本。该MCU在本设计中的设计管脚应用如图2所示。
如图1所示,系统具有两个晶振,其中8MHz晶振为主晶振,通过MCU内部倍频到72MHz为系统提供运行频率;32.768kHz为系统的RTC提供运行时钟。当单片机的1脚也就是VBAT脚接使用电池供电时,RTC在系统断电情况下可以由电池供电,从而可以保证RTC在断电情况下继续正常运行。
本设计针对工业应用场合设计,为确保系统在任何环境均能正常上电复位并启动,电源监视芯片采用了CATALYST公司的CATS09s芯片,该芯片门槛电压为2.93V,监视电压为3.3V。本设计将CAT809s的输出串联上一个阻值较小的电阻,这不仅减小了灌电流,还可以在电源电压下降的状况下对MCU进行有效的复位,通过实验证明,该方法是切实可行的。
电容C11、C12、C13、C14、C15和C54为MCU专用去耦电容,L5为磁珠,可以减少系统其它部分电源产生的高频干扰信号,从而保证EMCU在稳定的电源状态下工作,增强系统的抗干扰性。
JP1四芯接头为SW接口,可以通过JLINK或者其它支持SW调试接口的在线调试器对系统进行跟踪调试。使用SW调试接口查找系统软件方面的问题非常方便。
2.2 GPRS模块MC52i
MC52i是Cinterion公司(原西门子)生产的内部带有TCP/IP协议栈的模块,不仅支持SOCKET连接下的TCP/UDP数据传输,还支持HTTP、FTP、SMTP、POP3等上层应用协议。它支持标准ITU-T的AT命令集,可以通过串口对其进行控制。该模块是工业级别的模块,目前广泛运用于智能公交、无线数传(DTU)、远程无线抄表等系统应用中,可在-40℃和+80℃的环境下正常工作,功耗低、可靠性高、性价比高。MC52i的接口为50芯双排接口,由于系统采用串口方式与MC52i通信,并且仅仅GPRS功能,所以系统仅使用9针串口的RXD0和TXD0,本系统的应用接口如图3所示。
其中D16和D17为串口通信指示灯,当MCU和MC52i有数据通信时,通过该指示灯可以看到通信状态是否正常。
U10为SIM卡插座,SIM卡的电源、时钟、数据线均按照上面电路所示连接,其中CCIN为SIM卡插入检测管脚。
MC52i正常启动工作还需两个控制信号,分别是OFF和IGT,这两个控制信号的电平和MCU的3.3V不一致,所以需要通过MOS管进行电平转换。模块正常工作时有两个状态指示信号,具体电路图如图4所示。
IGT控制信号用于启动模块上电启动,该控制信号必须使用开漏或者集电极开路电路拉低至少100ms才能使用模块正常上电启动。
OFF控制信号也必须使用开口或者集电极开路电路驱动,用于断电情况紧急关断模块电源,该信号通常为高,使用时需要拉低至少10ms。当紧急关机信号使用后如果启动IGT信号可以使模块复位。
GPRS_ACTIVE信号通过MOS管驱动D14 LED指示灯,当MC52i模块正常上电时该信号为高,MOS管导通,驱动D14指示灯点亮。
GPRS_SYNC为无线数据通信状态指示信号,当数据链路正常通信时该信号指示灯闪烁显示。
3 软件设计
本系统的软件设计主要分为系统初始化、GPRS模块初始化、无线通信、数据采集和数据存储5个模块,其中无线模块初始化和无线通信的算法流程如图5所示。
如图5所示,系统上电后首先通过控制IGT信号控制GPRS模块正常上电启动,GPRS模块正常启动工作后,通过AT指令分别创建GPRS服务和连接,在创建连接时需要设定GPRS通信所需的终端IP地址和端口号,如果端口号设置不对或者不支持外部连接则创建连接会失败。连接创建成功后,系统的发送和接收状态变量状态,分别执行GPRS发送和接收功能,在GPRS发送过程中会由于网络系统的不稳定等原因导致发送失败,此时需要重新创建GPRS服务和连接。
本设计对GPRS模块的所有操作均通过AT命令实现,其中MC52i主要的AT命令如下:
·AT^SICS;……网络连接参数设置
·AT^SISS;……网络服务参数设置
·AT^SISO;……打开网络服务
·AT^SISC;……关闭网络服务
·AT^SISR;……从GPRS模块中读取服务器发来的数据
·AT^SISW;……把数据写入到GPRS模块,然后由GPRS模块发送到指定的IP端口
4 应用和发展前景
本设计将无线通信技术与当前主流ARM单片机嵌入式技术有机融合在一起,可使传感器终端通过低廉、快速、可靠的方式连入GPRS网络和互联网,并可使传感器终端的数据信息可靠、实时地进行无线传输,从而为无人值守传感器终端设备的安全稳定运行和数据采集提供了可靠的保证。实际使用效果证明,本系统能够长时间稳定地向上位机控制终端发送数据,在数据量较小和数据传输速度要求不高的场合,最能体现性价比,同时也可以满足实时性应用需求。