基于Linux和GPRS的数据通讯系统在输电线路运检导航系统中的应用
0 引 言
随着我国电网的不断扩大,输电线路越来越多、越来越复杂,给线路运检人员日常维护和检修造成了一定的困难。输电线路运检人员一般工作在野外,需要用导航系统来识别路径,当遇到危险情况下寻求救援时也需要将自己的位置信息传输给监控中心。而目前普遍使用的手持定位系统和车载定位系统只能实现市区和主干道上的导航,不能满足输电线路运检导航的需要。输电线路运检导航系统的设计有效地解决了目前导航系统的弊端。
本文重点是解决输电线路运检导航系统的数据传输问题,采用GPRS技术结合Linux操作系统实现。关于应用嵌入式技术和无线移动网络技术的融合,实现远程的数据传输已经出现了不同的研究方案,并充分展现了其广阔的应用领域和前景。
1 系统总体设计
整个系统由手持终端和远端服务器构成,系统整体结构如图1所示。手持终端设备通过GPRS无线网络实现与监控中心服务器之间的通信,使得当监控中心接入Internet网络时能够接收来自手持终端的数据,并在监控中心大屏幕上显示。
手持终端采用ARM-Linux系统。系统的核心部件ARM(AdvancedRISC Machines)处理器是专门针对嵌入式设备设计的,是目前构造嵌入式系统硬件平台的首选,采用RISC(精简指令集计算机)架构的ARM微处理器具有体积小、低功耗、低成本、高性能的特点。而Linux操作系统可公开获得的源代码已经在性能、功能、驱动开发和可移植性等方面经历了无数的改进、增强及扩充,其操作系统代码可裁减,所以采用嵌入式Linux操作系统可以大大提高系统的可靠性,充分发挥处理器的多任务潜力,提高开发效率和缩短开发周期。
2 系统硬件实现
手持终端硬件结构主要分为以下几个部分:ARM处理器及其扩展接口、触摸屏、电源、GPS模块、GPRS模块等。手持终端硬件平台以S3C2410控制器为核心,其他模块通过它的内部接口,辅助以设计的外部电路来完成相应的功能。
S3C2410自带3通道UART,这里使用的串口2与GPRS模块相连,如图2所示。由图中可以看出GPB6~8代替了串口2的CTS,DCD和DTR握手信号,因此要在串口驱动中将原来对于串口2"DCD,DTR,CTS"信号操作的地方,改成相应对"GPB6~8"的操作;此外,因为要给MC35i模块"IGT"引脚至少100 ms的低脉冲用于启动MC35i模块,而这个脉冲是通过由软件的方法对-GPB9脚写0和1来产生,因此要在驱动中串口初始化的部分添加这个脉冲产生的代码,用于启动GPRS模块。
系统使用的嵌入式Linux内核版本是2.6.14,其中串口驱动的部分位于ARM板内核的kernel/driv-ers/serial和/kernel/drivers/char/目录下。其中串口初始化部分位于/kernel/drivers/serial/serials3c2410.c文件中。对其进行如下修改:
对于握手信号的处理位于/home/guoguo/kernel/drivers/char/serial.c文件中。主要需要修改的函数有:check_modem_status(),get_modem_info(),block_til_ready(),line_info(),autoconfig()等函数。
上述的函数中都有涉及到读握手信号的状态进行判断操作,而读握手信号值主要是通过读modem状态寄存器的值来实现,在内核中modem状态寄存器被定义为UART_MSR,UART_MSR共8 b,从高到低每个bit依次代表的是DCD,RI,DSR,CTS,DDCD,TERI,DDSR,DCTS的值(高低电平),因此要将这些函数中对UART MSR的状态值status进行判断处理前,相应的位赋上正确的值,这个值从相应的GPIO脚来获取。
3 系统通信程序实现
在Linux下要完成与挂接在Internet上的通信服务器通信,首先需要经过GPRS模块初始化和GPRS网络连接,然后才能使用TCP/IP协议进行数据传输。
GPRS模块初始化程序功能:实现MC35i模块初始化并完成MC35i与S3C2410的逻辑连接。在该程序内部使STB选通信号变为高电平,并持续规定时间,然后恢复成低电平,完成对MC35i的初始化工作,紧接着通过有关控制信号实现S3(22410与MC35i的逻辑连接。初始化程序可直接在Linux命令行下执行命令In-smodigto即可完成。
GPRS网络连接程序功能:使Mc35i以某种通信协议连接到GPRS网络上。网络连接使用第三方提供的内置PPP通信协议的软件,其命令如下:
/connect
当连接成功后,由于GPRS网络通过中国移动网关连接到了Internet网,因此就可以利用TCP/IP协议与Internet上的任何IP地址进行通信了。
由于Linux操作系统已内置TCP/IP协议栈,因此可以直接使用套接字编程实现TCP/IP的数据传输。套接字的基本模式是C/S(客户/服务器),内置GPRS模块的设备工作在客户模式,而远程Internet网上的通信服务器工作在服务器模式。客户端程序基本流程是:创建套接字,绑定套接字到已知端口
- TD-SCDMA终端GMM实体一致性测试研究 (09-16)
- 基于GPS的车辆导航及GPRS网络监控(10-02)
- TI 单芯片手机多媒体电话解决方案(12-01)
- Comsys:集成移动WiMAX将是手机下一轮技术趋势之一(11-18)
- 基于GPRS网络的GPS图形导航仪 (01-05)
- GPRS无线DDN系统与应用(01-06)