基于实时操作系统μC/OS-II远程终端硬件和软件的设计与实现
扫描二维码
随时随地手机看文章
引言
进入21 世纪,信息的地位日益重要,对信息的获取和处理能力成为现代信息处理中的关键问题。在人类社会信息化的过程中,借助各种通信手段是实现信息交流的主要方式。各种需求使得移动通信(寻呼、GSM/GPRS、CDMA)和Internet 迅速发展起来。当信息化达到一定程度后,遇到一个迫切的问题是:如何将众多分散的生产单元、信息单元纳入统一信息化进程,比如大型油田的油井控制、大型煤矿的矿井控制、水文监测点的控制等。
传统的无线监控系统多采用电台。但电台的抗干扰性差、保密性差,不适合在城市使用。能利用无线移动网络的无线监控系统势必具有无可比拟的优势。目前,移动无线传输数据的方式主要有3 种:GSM 短消息、GPRS 和CDMA。
GSM 网络用短消息来传输数据,由于短消息传输用的是信令信道,采用存储转发的方式,其缺点是数据传输速率低、具有延迟性且时间不定。GPRS 采用分组交换技术,按流量计费,能高效的传输数据和信令;GPRS 理论传输速率可达171.2 kb/s,实际传输速率大约在40 kb/s。CDMA 1X 网络提供分组形式的数据业务,CDMA 1X 理论传输速率可达300 kb/s,目前的实际传输速率大约为100 kb/s,可以用于Internet 连接、数据传输等应用。CDMA 1X 无线数据网络以其覆盖范围广、费用低、技术完善、安全可靠性高等优点,当之无愧地成为上述业务信息化中的重要资源。
本文将分别介绍远程监控系统的系统组成以及基于MG815+无线模块和ARM LPC2210 微控制器的远程终端。
重点是远程终端硬件和软件的设计与实现。
1 系统组成
本系统利用CDMA 1X 移动通信网络完成数据的无线传输,免去了现场组网的初期建设费用以及日后的网络维护费用。通过远程终端,将采集到的现场数据以IP 包的形式发送到监控中心,在监控中心进行数据处理、存储,并提供相应的查询、统计及报表功能。监控中心也可以通过向远程终端发送IP 包,设定监控终端配置信息或控制命令,获取远程终端的实时数据。
本系统的突出特点是“按流量计费”,CDMA 1X 网络支持用户的“一直在线”工作方式,在终端空闲时间采用休眠状态,若需要传送数据,则将终端唤醒开始工作,这大大节省了费用;另外由于CDMA 采用了伪随机序列 PN 进行扩频/解扩的扩频通信技术,具有天然的保密性,其信息在空中信道上被截获的概率几乎为零,可以保证数据传输的安全性;另外由于移动通信网络较全面的覆盖范围,使系统的组网非常灵活,能够满足复杂、易变的条件。
系统组成包括远程终端设备、CDMA 网络和监控中心,原理框图如图1 所示。
图1 系统原理
2 远程监控终端硬件设计
远程监控终端硬件结构原理如图2 所示。图2 主要由嵌入式微控制器LPC2210,采集单元,显示单元,存储单元,通信模块和电源单元构成。
图2 远程终端硬件结构
2.1 CDMA模块
CDMA模块采用中兴公司的MG815+模块[3],MG815+ 是基于高通公司的6025 平台的工业级CDMA 模块,支持语音、数据、短信等功能。可用在基于CDMA 技术的车船载、无线终端、数据卡、数据传输、实时监控、实时图像等领域。该模块集射频电路和基带于一体,具有高通信质量、高效频谱利用率、高抗干扰、高保密性、低辐射等特点,并且向用户提供标准的AT 指令接口,因此用户可以很方便的通过ARM嵌入式处理器的串口与MG815+模块连接,并直接使用AT 指令就可方便地实现数据的传输以及模块的设置。MG815+模块通过一个40PIN,一个10 PIN 连接器提供外部连接。
2.2 主控芯片
主控芯片采用飞利浦公司的 LPC2210,这是一片支持实时仿真和嵌入式跟踪的16/32 位ARM 7TDMI-S CPU的微控制器。工作电压为3.3 V,内核工作电压仅为1.8 V;内置PLL锁相环可以设置CPU 工作频率达60 MHz;双UART接口模块,提供数据的异步串行发送和接收;由于LPC 22l0 的144脚封装、极低的功耗、多个32 位定时器、8 路10 位ADC、PWM输出以及多达9 个外部中断,使它们特别适用于工业控制、医疗系统、访问控制和POS 机;通过配置总线LPC 2210最多可提供76 个GP10;可以外扩SRAM 和Flash,很方便移植嵌入式μC/OS-II 操作系统。
本系统中,上电复位后首先要对 LPC 2210 的工作频率和串口进行设置,然后通过AT 指令初始化MG 815+无线模块,使之附着在CDMA 网络上,通过拨号过程建立PPP 连接,获得网络运营商ISP 动态分配给无线模块的IP 地址,并与服务器固定IP 之间建立Socket 链接。一旦该链接成功,就可以进行数据的传输了。
3 远程终端软件设计
首先在LPC 2210 中移植嵌入式操作系统μC/OS-II,通过它提供的应用接口函数。可以使人们不去关心硬件的一些工作细节,也使应用程序的开发在一个友好的平台上进行,从而能更有效地组织作业及其工作,提高了应用程序的开发效率,也使系统高效地运行;μC/OS-II 下的软件设计以及与硬件的关系示意图如图3所示。
图3 软件设计与硬件关系
3.1 程序设计
主程序主要包括:操作系统初始化、建立两个任务、开始多任务,第一个任务是数据的发送,第二个任务是数据的接收和处理,并且设定第一个任务的优先级高于第二个任务,但第一个任务运行就挂起,让第二个任务运行,用定时器控制什么时候发送,这个时候才运行发送任务。6025 模块内置TCP/IP 协议栈,用户只需按照MG815+ 模块AT指令说明书中数据传输相关的AT 指令建立同CDMA网络的连接,获得网络运营商ISP 动态分配给无线模块的IP 地址,并与服务器固定IP 之间建立Socket 链接。链接成功后,就可以进行数据的发送、接收和处理了。主程序、发送数据程序和数据接收、处理程序的流程图如图4 所示。
图4 程序流程图
4 监控中心设计
监控中心配置一台高性能微机,同时申请一个真实IP地址。监控中心从ISP 运营商申请专线接入,监控中心分配有真实IP,远程终端将现场设备的数据信息采集并以IP 包的形式直接发给监控中心,监控中心将远程终端传来的IP包处理后,获得相应数据存入数据库。数据库主要负责存储、管理并维护发送来的数据,提供对数据的查询、添加、删除等多项服务,并在必要时可将数据进行报表打印。
5 结语
本系统用ADS1.2 开发环境进行监控终端程序的设计和调试,通过串口控制MG815+模块,实现了远程监控数据的计算机通信,经多次现场测试表明,本系统通信数据稳定可靠,效果良好。可以用于有大量数据传输而有线传输又不能满足需求的场合,如油井监测、水文监测,等等。由于LPC2210 硬件可扩展资源丰富,且远程终端软件基于嵌入式实时操作系统μC/OS-II 之上,本设计具有很大的灵活性,能够快速适应各种具体场合。