- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于ARM和GPRS的无线传输与接收
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链路的连接,同时发送数据。
3.2 拨号原理
所谓初始化模块,主要就是设定APN:CMNET,
at+cgdcont=1,ip,cmnet,
然后利用chat程序拨号*99***1,#
待拨号连接成功后,再由pppd建立通信链路即可。其脚本改动如下:在ppp-on里改了电话号码为*99***1#,将账号与密码清除,再修改DIALER_SCRIPT的路径,同时把下面的设备改成/dev/ttyS0,速率改为115200,再将crtscts参数去掉。同时在ppp-on-dialer里把帐号密码去掉。其改动后的脚本如下:
作者:朱建光 余红英 来源:国外电子元器件
上一篇:基于FPGA原型的GPS基带验证系统设计与实现
下一篇:无线网络能效的优化与评估