首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
数据通讯系统在输电线路运检导航中的应用
来源:本站整理  作者:佚名  2009-10-10 09:39:38



0 引 言
   
近年来,嵌入式技术发展迅速。嵌入式系统是指以应用为中心,以计算机技术为基础,软硬件可裁减,适合应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。在数据传输领域,嵌入式系统具有传统的微机系统无法比拟的优势。首先,硬件集成度高,程序可固化在FLASH/ROM等芯片中,不易破坏,因此系统可靠性大大提高;其次,随着集成电路技术的飞速发展,高端微型处理器和SoC广泛应用,嵌入式系统的体积不断减小,携带和使用非常方便;再次,嵌入式系统易扩展出输入/输出(I/O)接口来实现各种功能;最后,嵌入式系统具有成本低、开发周期短的特点。
    远程数据通信可以采用多种形式,但主要的有两大类:专用网络和公用网络。公用网络由商业网络运营公司建设和经营,向用户提供各种网络接入服务,特别适合构建低成本、高性能数据通信系统。公用网络又分为有线网络和无线网络,而无线网络具有接入方便等独特的优势,因而可以非常方便地构建移动数据通信系统。
    随着我国电网的不断扩大,输电线路越来越多、越来越复杂,给线路运检人员日常维护和检修造成了一定的困难。输电线路运检人员一般工作在野外,需要用导航系统来识别路径,当遇到危险情况下寻求救援时也需要将自己的位置信息传输给监控中心。而目前普遍使用的手持定位系统和车载定位系统只能实现市区和主干道上的导航,不能满足输电线路运检导航的需要。输电线路运检导航系统的设计有效地解决了目前导航系统的弊端。
    本文重点是解决输电线路运检导航系统的数据传输问题,采用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脚来获取。

[1] [2]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:316,285.20000 毫秒