ARM和无线自组网在远程抄表系统中的应用
扫描二维码
随时随地手机看文章
嵌入式系统是"控制、监视或者辅助装置、机器和设备运行的装置"(devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
l ARM体系和Ad Hoc网络
ARM体系的处理器是目前嵌入式系统中使用最广泛的处理器。其采用了RISC技术,具有体积小、低功耗、低成本、高性能的特点,并且其支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件。ARM使用大量的寄存器,使得指令执行速度更加快速,大多数数据操作都在寄存器中完成。它的寻址方式灵活简单,并且指令长度固定,执行效率更高,处理能力大大超过单片机。
ARM7是冯诺依慢结构,ARM9、ARM11是哈佛结构,所以性能要高一点。ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。不跑操作系统,价格低一点的:ARM7、cortex-M3等等。性价比高,可跑也可不跑操作系统的:ARM9、cortex-Rx等等。性能高的,通常要跑操作系统的:ARM10、ARM11、Cortex-A8等等。
Adhoc网络的前身是分组无线网(PacketRadioNetwork)。对分组无线网的研究源于军事通信的需要,并已经持续了近20年。早在1972年,美国DARPA(DefenseAdvancedResearchProjectAgency)就启动了分组无线网(PRNET,PacketRadioNETwork)项目,研究分组无线网在战场环境下数据通信中的应用。项目完成之后,DAPRA又在1993年启动了高残存性自适应网络(SURAN,SURvivableAdaptiveNetwork)项目。研究如何将prnet的成果加以扩展,以支持更大规模的网络,还要开发能够适应战场快速变化环境下的自适应网络协议。1994年,DARPA又启动了全球移动信息系统(GloMo,GlobleMobileInformationSystems)项目。在分组无线网已有成果的基础上对能够满足军事应用需要的、可快速展开、高抗毁性的移动信息系统进行全面深入的研究,并一直持续至今。1991年成立的IEEE802.11标准委员会采用了"Adhoc网络"一词来描述这种特殊的对等式无线移动网络。
2 系统设计
2.1 系统的整体架构
此系统以嵌入式系统为核心,通过串行总线系统与Ad Hoc网络中位于主站的节点相连接,以ARM处理器为核心对整个系统进行控制。如图1所示,各个采集终端定时通过各自所对应的计量器具获得所需数据。然后各个采集终端对获得的数据进行一定的处理,再利用自身节点通过Ad Hoc网络传送给主站接收。必要的时候主站也可以通过Ad Hoc网络对各个采集终端发出命令来主动得到计量数据和参数设置。在此系统中,并没有采用传统的有线的数据传输方式,而是采用Ad Hoc网络进行数据传输,避免了在恶劣的工业现场环境下布线和线路一旦损坏所带来的维护上的不便。并且使用了以ARM7体系结构的LPC2478作为主站处理器,使得整个系统移动性更加灵活,传输可靠性得到更好的保障,维护更加方便,成本也更低,操作起来也更加方便简洁。
2.2 系统的硬件组成
该系统的硬件系统如图2所示,主要包括ARMCPU控制模块,电源管理模块以及无线模块。
这里所选用的处理器为NXP公司的ARM7系列芯片LPC2478,它的运行速率可高达72 MHz;具有98 KB的片内SRAM;512 KB片上FLASH程序存储器;具有4个带小数波特率发生功能的UART;多达160个通用I/O管脚;4个通用定时器/计数器;LPC2478通过UART与无线模块相连接来读取和发送数据。此系统所采用的无线通信模块为APPCON公司的APC900M.该模块运行在60 MHz,可支持复杂运算编码为高校循环交织纠错编码。它可与个采集终端的节点组成一个无线自组网来进行数据的通信。
2.3 系统的软件设计
该系统的软件结构如图3所示,整个系统包括了用户应用程序,API,μC/OS-Ⅱ操作系统,文件系统,硬件驱动程序等。其中以μC/OS-Ⅱ操作系统为核心,因为此系统对实时性要求较高,所以本文选用了实时性较好的μC/OS-Ⅱ操作系统来作为应用程序和底层硬件之间的桥梁。
2.3.1 μC/OS-Ⅱ在LPC2478上的移植
μC/OS-Ⅱ是一个免费的源代码公开的实时嵌入式内核,其提供了实时系统所需的基本功能。它包含全部功能的核心部分代码只占8.3 KB,而且可剪裁。由于μC/OS-Ⅱ只包含了任务调度、任务管理、时间管理、内存管理和任务问的通信与同步等基本功能,所以这里使用YAFFS文件系统来对文件档案进行存储和管理。由于μC/OS-Ⅱ具有良好的可移植性,移植时只需提供OS_CPU.H(C语言头文件)、OS_CPU_C.C(C程序源文件)和OS_CPU_A.ASM(汇编程序源文件)这三个文件,来将此系统移植到LPC2478处理器上。
2.3.2 系统工作流程
该系统的一次抄表过程如图4所示,首先,系统启动,操作系统对各个接口进行一系列初始化过程,并查看系统是否正常,如不正常,返回错误信息。如系统正常,则可以根据需要来设置所需的抄表参数,如时间,表号,数据类型等。关键程序如下:
接下来通过μC/OS-Ⅱ操作系统向UART写数据并将数据送至无线传输模块以向采集终端发出抄表命令。无线模块接到命令后将抄表命令通过无限自组网发送出去并等待采集终端返回的数据。
接收到数据后再通过UART将数据传回至处理器。处理器得到数据后进行解析,并验证此数据是否有错误。它的关键程序如下:
此时如返回数据的格式有误,则重新命令无线模块向采集终端发送抄表命令,这一过程重复两次,若依然有错误则返回错误信息。如没有错误则将数据保存至文件系统,等待上位机的查收。
3 结语
利用ARM处理器和无线自组网的组合来建立一个远程抄表系统,并完成了硬件和软件的设计,与以往的抄表系统相比,此系统具有组网方便,性能稳定,实时性好,可靠性高,覆盖范围广,易于维护等优点。可广泛用于各种工业和生活等领域的水,电,气,油等消耗量数据的监测。具有广泛的应用前景。
QICK