引言
近年来,无线通信技术得到广泛的应用,GPRS (General Packet RADIo System)通用无线分组网络就是一种比较流行的无线通信网络。
GPRS网络具有覆盖范围广、数据传输速度快、通信质量高、永远在线和可按流量计费等优点。
本传输方案采用的是西门子GPRS无线通信模块MC35i,该模块支持标准的AT指令集,但并没有嵌入TCP/IP协议,不过系统采用的linux操作系统里面带有完整的TCP/IP协议栈以及PPP协议,它不但减少了软件系统的复杂度,也增加了系统的稳定性。这样,本方案就可用于不同的场合,只要设计相应的上层软件处理系统即可。
1 系统总体设计
该系统主要由GPRS通讯模块和控制模块两部分组成,并采用嵌入式系统来设计GPRS终端。该嵌入式系统由硬件和应用软件组成,其架构可分为微处理器、内存、输入输出、操作系统和应用软件等五部分。系统的硬件由微处理器、GPRS模块、SIM卡座、外部接口和扩展数据存储器等部分组成。微处理器可控制GPRS模块的信息接收和发送,以通过标准RS232串口和外部控制器进行数据通讯,其系统原理结构如图1所示。
2 系统硬件设计
本系统硬件主要是以ARM为开发平台,以西门子公司的MC39i模块作为GPRS发送模块,从而使系统快速完成发送工作。
2.1 嵌入式微处理器单元
本硬件平台的CPU采用Samsung的基于ARM920T内核的S
2.2 GPRS模块MC35i
MC35i是西门子公司最近推出的新一代双频GSM/GPRS通讯模块的无铅产品,它简洁的封装是很多应用系统中无线高速数据传输的理想解决方案,可进行数据、语音、SMS和FAX各个方面的应用,且功耗低。它为用户提供了永远在线、高速度、更简单的移动数据通信接入手段。 MC35i具有丰富的AT指令,而且功能强大,操作灵活方便,是继GPRS手机的又一种非常重要的GPRS移动通信系统的终端设备。它的出现给GPRS的发展注入了新的活力。
MC35i具有体积小、重量轻、功耗低等特点。MC35i的工作电压为3.3~4.8 V,典型电压为4.2V,最大工作电流为
3 系统软件设计
根据系统需求,在操作系统Linux启动前,首先应该对微处理器和GPRS模块在内的系统内外部硬件进行初始化,在硬件初始化就绪后,可按系统要求划分并创建系统任务,最后启动Linux进行各任务的调度。应用程序共分为初始化任务、配置任务、数据发送任务、数据处理任务和用户串口中断服务等五个任务。本文主要完成系统的初始化以及拨号连入Internet等工作。
3.1 系统初始化
为了能利用TCP/PI协议进行数据传输。设计时必须对系统的硬件和软件进行初始化。图2所示为系统初始化部分的软件流程图。
本系统软件在开始时,首先需要通过检查0x90端口的输入电平是否为高来判断MC35i模块是否正常上电。若未能正常上电,那么,软件将通过0x90端口的输出使MC35i模块上电。
当MC35i模块上电后,软件将在内存中开辟一个缓存区做为包括PPP、IP、TCP、UDP等协议的数据缓存区。该缓存区内数据的存放方式采用双向链表的方式。
为了TCP协议实现中能够进行超时检测,在软件中应利用R8822CPU模块的内部定时器安装一个20ms的时钟中断。
ETR186可通过其串口COM2和MC35i模块相连接,用软件可通过安装串口中断来和MC35i模块进行数据传输。
在完成上述操作后,系统即可以利用AT命令登录GPRS网络。若不成功,即进行重试,超过重试次数后,即发送出错报告。最后就是进行PPP链路的连接,同时发送数据。