本站小编为你精心准备了无线通信下ARM7的思考参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
本文作者:卢灵单位:暨南大学信息技术研究所广州
GPRS无线通信已经广泛地应用于现实生活中,一般手机手机上都会带有一个GPRS模块,在很多无线通信终端上也都带有一个GPRS模块,因此,GPRS无线通信是具有很大的市场应用前景的。本文采用arm7处理器为GPRS模块的控制器,深入地分析了GPRS模块的驱动和通信协议,给出了一个从硬件实现到软件驱动的整体方案,最终用Visu-alC++制作了一个上位机的GPRS测试界面,实现了GPRS无线通信的整个流程,整个方案切实可行。
1GPRS模块的介绍
1.1GPRS模块与ARM7的硬件连接如图1所示,GPRS模块主要是通过串口实现与CPU处理器进行数据通信和传输,GTM900实现了GPRS通信的模块化,只需要按照图1所示,把GPRS模块与ARM7(LPC2214)控制端口和UART串口进行连接,这样就可以通过ARM7处理器的串口UART控制驱动GPRS模块。在图1中,R22和C12实现GPRS复位电路控制,TXD和RXD分别是UART的发送数据线和接收数据线。
1.2GPRS模块的启动
GPRS模块启动主要由两个过程:GPRS模块的初始化和GPRS模块联网。整个GPRS模块的启动流程如图2所示。GTM900是一个字符型驱动控制的模块,所有的控制命令都是标准的AT命令控制,可以通过ARM的UART发送AT命令控制GPRS模块的启动。GPRS模块的初始化需要检查GPRS模块是否正常工作,关闭回显功能,检查SIM卡是否正常工作和配置APN参数。首先,检查GPRS模块是否能够正常工作,可以直接通过UART向GPRS模块发送“AT”字符串,如果正常,GPRS模块将通过UART返回“OK”字符串到ARM7,一般AT命令正常的返回字符串都是“OK”;然后在发送“ATEO”字符串关闭回显,发送“AT%TSIM”检查SIM卡是否正常工作,发送“AT+CGDCONT=1,”IP”,”CMNET””配置ARN参数,这里只能选用IP协议通信。这样,GPRS模块的初始化便完成了。
GPRS模块的联网需要完成GPRS模块信号强度的查询,注册移动网络,设置GPRS通信的用户名和密码和打开一条TCP/IP连接。首先,通信之前一定要查询GPRS信号强度,信号强度良好才能正常通信,只需要发送“AT+CSQ”就可以查询GPRS信号强度,然后再发送“AT+CGREG?”查询网络注册情况,发送“AT%ETCPIP=”USER”,”GPRS””设置USER用户名和GPRS密码,最后,发送“AT%IPOPEN=”TCP”,”DESTIP”,”DESTPORT””设置为TCP/IP通信方式和设置TCP/IP连接对象的IP地址和端口号。这样,GPRS模块网络连接也完成了,可以开始TCP/IP数据传输了。
2GPRS的TCP/IP数据包格式
GPRS的TCP/IP数据包有固定的格式,在GPRS启动之后,用户必须按照GPRS的TCP/IP数据包有固定的格式发送和解析数据包。GPRS在TCP/IP通信时发送数据帧格式为:“AT%IPSEND=”DATA””,其中,“AT%IPSEND=”是启动TCP/IP发送命令字符串,双引号里面的DATA是用户发送的数据,当ARM7向GPRS模块发送一个GPRS发送数据包之后,在GPRS指向的目的IP地址接收端便可以接收到这帧IP数据包,GPRS接收端接收IP数据包格式为:“%IPDATA:<LEN>,”DATA””,其中,“%IPDATA:”为接收数据帧包头,LEN为接收到用户发送过来的字节数,一共占用两个字节,DATA是用户发送过来的数据。
3系统设计及流程图
整个系统设计流程如图3所示。首先,初始化LPC2214处理器,一般需要初始化中断,定时器,UART存储器启动引导映射模式等;然后,完成GPRS启动,整个启动流程如图2所示。在ARM7处理器和GPRS模块初始化成功之后,便可以开始GPRSIP数据包的发送和接收。开启UART中断,准备GPRSIP数据包的发送和接收,同时,必须每隔一段时间查询GPRS信号强度,保证GPRS信号强度好的情况下通信,如果信号不好,需要重新启动GPRS模块。这里GPRS模块作为客户端,时刻准备连接服务器。当服务器向GPRS模块发送数据时,GPRS模块便会产生一个UART接收中断,这里将接收到的数据发送回服务器,所以,在接收到GPRSIP数据包之后,解析出用户数据,并打包成发送IP数据包,开启UART发送中断,将发送IP数据包发送到GPRS模块,由GPRS模块通过TCP/IP无线网络发送到服务器,最后,由服务器解析数据并显示通信结果。
4仿真结果与分析
GPRS通信仿真测试如图4所示。这是一个用VisualC++制作的上位机界面,可以用来侦听GPRS客户端连接,连接成功之后,可以传输IP数据包。首先,在服务器IP地址处填写本机IP地址,在端口处填写服务器IP地址绑定的端口号,点击“监听”,监听客户端连接,如果监听成功,显示“帧听GPRS客户端成功”信号,然后,服务器可以在发送区填写需要发送的数据字符串,GPRS客户端接收到该字符串之后,将该字符串发送返回至服务器,并在服务器端显示出来。需要指出的是,GPRS在发送和接收数据的时候,都会将字符数据转换成ASCII码,因此,上位机再接收到数据之后,首先需要将ASCII码转换成字符数组charbuffer[],然后再将字符数组charbuffer[]转换成字符串显示,而在GPRS客户端,同样需要将ASCII码转换成字符数组charbuffer[]处理。图4显示的仿真界面已经经过ASCII码和字符之间的处理,并最后用字符串类型显示出来,结果正确。
5结语
针对GPRS无线通信问题,提出了一个从硬件设计到软件控制的整体方案。该方案详细分析了GPRS通信协议和GPRS模块控制AT命令,实现了GPRS的启动和连接网络,并用VisualC++制作了GPRS通信的上位机界面。整个设计正确、可靠,具有很好的实用性和市场价值。