一枝笔写作事务所 2012-06-16 字数3161字 点击: 次
基于GPRS技术实现的远程交通信息通信
前言
GPRS(GeneralPacketRadioService)是通用分组无线业务的简称[1],GPRS技术可实现RS-232接口数据和远端数据服务中心进行数据的无线透明传输,本文利用GPRS的特点及资料参考[2-5],将其应用到远程交通信息的通信中,见图1。
1GPRS通信硬件设计
GPRS通信部分是选择嵌入式网络模块ETR232i作为系统的核心硬件平台,无线通讯模块MC35i作为系统数据传输的物理通道,见图2。
1)嵌入式网络模块ETR232i。ETR232i外观见图3所示,ETR232i的外接管脚是36芯双排插针CN1和CN2组成[6]。CN1信号电平为LVTTL(3.3V)电平,CN2信号为标准TTL(5V)电平。
2)通信模块MC35i。GPRS通信模块MC35i是进行无线数据传输的物理通道,通过异步串口与嵌入式网络模块ETR232i相连,以ZIF40插座与评估底板相连接。通信模块MC35i在系统中充当调制解调器(modem)功能,保证GPRS系统接入互联网实现串行通信。
2GPRS应用程序设计
GPRS主要用于无线发送串口(本文转载自 www.yzbxz.com 一枝笔写作网)数据,因此GPRS系统需要稳定的操作系统和完善的API接口函数,有效地实现PPP-TCP/IP协议,支持多个连接。它的应用程序可以直接操作各个API函数来实现基于PPP-TCP/IP的数据通讯,对GPRS应用,在PPP层支持串口多路转换协议处理不同网络情况。系统选用DOS作为基本操作系统,BorlandC/C++3.1作为软件开发工具[7]。
2.1定义工程文件的主循环
开发应用主程序用于实现所要实现串口数据透明传输的功能,开发的应用主程序GPRS232.CPP是定义工程文件的主循环,具有以下要求:1)第一步进行初始化操作(ComIdx、BaudIdx、Timeout),从配置文件中读取配置参数(GetIniPara,服务器参数),以及对串口初始化操作(intPortNum,char*pDat,intlen,设置串口中断);2)进入程序主循环,首先调用PPP_Running(),自动进行GPRS拨号上网操作,直到该函数返回PPP的状态值为PPPLINKUP,表明GPRS拨号上网已经成功。循环再进入到下一步操作,要求和远端服务中心建立TCP连接。此时需要直接调用TCPManager->Running(),直到该函数返回连接的状态为OPEN,表示TCP连接已经建立[8]。程序的主循环不断地查询PPP的连接状态和TCP是否打开。在应用程序设计中,需要实现心跳包(响应等待的最长时间)的处理,如果在设置的心跳时间内一直没有数据的通讯传输,程序将主动发送一个心跳测试包到远端服务中心。在程序中心跳测试时间设置为400个Tick值,约为20秒,也可以设置短一点。应用程序中需要有三个调用子程序:一是获取远端服务器参数(包括远端服务器基本参数设置:Ipstr、ID.port、ComIdx、BaudIdx,即远端IP址、端口号、串口号以及波特率);二是串口接收数据时参数设置(包括串口号、字符串长度、响应时间等);三是串口发送数据时参数设置(包括串口号、字符串长度、响应时间等)。
实现串口与远程中心数据无线传输的应用主程序流程图设计见图4。
2.2建立工程文件GPRS232.PRJ
进入BC环境,按Alt+P打开Project菜单,选择“OpenProject”,在弹出对话框“OpenProjectFile”栏输入新建工程文件名称“GPRS232.PRJ”。键确认后,BC自动打开“Project:GPRS232”的Project窗口,在此基础上添加所需的CPP文件:ETR232i.CPP、READINI.CPP、GPRS.CPP、TCPCLNT.CPP、RS232X3.CPP,修改Name栏的文件扩展名成“*.LIB”,确认后,向工程文件中添加LIB文件:ETR_PPP.LIB。
PRJ文件中项目添加完毕,选择菜单Compile下的“Buildall”l进行编译链接,编译链接成功将生成可运行GPRS232.exe文件。按键关闭编译链接弹出窗口,Project窗口将显示各个CPP模块的编译信息,即每个模块中程序代码的行数“Lines”,每个模块中程序代码(本文转载自 www.yzbxz.com 一枝笔写作网)的大小“Code”,每个模块中定义的静态数据大小“Data”。运用远程文件管理TDRF指令,将编译生成可执行文件(EXE文件)“拷贝”到GPRS网络模块ETR232i的Flash中,嵌入式网络模块ETR232i转化为运行模式,完成设计。
本文源自一枝笔写作,地址:https://www.sdyizhibi.com/wm/lw/jsjlw/091Q21252013.html 复制链接