基于ARM和无线自组网的远程抄表系统
扫描二维码
随时随地手机看文章
摘要:为了提高远程抄表系统的效率和可靠性。提出一种基于ARM和无线自组网的远程智能抄表系统的设计,给出此系统的整体架构,工作流程;分析此系统的硬件组成,采用LPC2478作为主控制单元,APC900M作为无线通信模块;并分析了μC/OS-Ⅱ操作系统的移植方法,给出对于远程智能抄表系统应用程序的设计。此系统效率和可靠性高,成本低,抗损坏性强,具有很好的发展前景。
关键词:ARM;μC/OS-Ⅱ;远程智能抄表;无线自组网
嵌入式系统(Embedded System)是一种软硬件可扩充或裁剪的专用计算机系统,以面向应用为主,是将计算机技术,半导体技术和电子技术以及各个行业的具体应用相结合的产物。随着电子技术、通信技术、计算机技术的发展,全球日益信息化,嵌入式系统以其体积小、功耗低、使用方便等特点,广泛应用于各种工业、民用的计算机系统中。在此提出一种运用ARM和AdHoc技术组成的一个远程无线抄表的方式。该系统具有成本低,可靠性高,维护方便的优点,可以用于电、气、水、油等的远程抄表。
l ARM体系和Ad Hoc网络
ARM体系的处理器是目前嵌入式系统中使用最广泛的处理器。其采用了RISC技术,具有体积小、低功耗、低成本、高性能的特点,并且其支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件。ARM使用大量的寄存器,使得指令执行速度更加快速,大多数数据操作都在寄存器中完成。它的寻址方式灵活简单,并且指令长度固定,执行效率更高,处理能力大大超过单片机。
Ad Hoc网络是一种特殊的无线移动网络。网络中所有结点的地位平等,无需设置任何的中心控制结点。网络中的结点不仅具有普通移动终端所需的功能,而且具有报文转发能力。Ad Hoc网络没有严格的控制中心。所有节点的地位平等,即是一个对等式的网络。节点可以随时加入和离开网络。任何节点的故障不会影响整个网络的运行,具有很强的抗损性。网络的布局或展开无需依赖于任何预设的网络设施。节点通过分层协议和分布式算法协调个字的行为,节点开机后就可以快速、自动地组成一个独立的网络。当节点要与其覆盖范围外的节点进行通信时,需要中间节点的多条转发。与固定网络的多跳不同,Ad Hoc网络中的多跳路由是由普通的网络节点完成的,而不是由专用路由设备完成,每个节点包含了一个路由器和主机,而且往往是在同一台机器上。Ad Hoc网络是一个动态的网络。其节点可以随处移动,也可以随时开机和关机,这些都会使网络的拓扑结构随时发生变化。这些特点使得使用Ad Hoc网络作为无线抄表系统的网络与普通的无线通信网络和有线通信网络相比有着显著优势。
2 系统设计
2.1 系统的整体架构
此系统以嵌入式系统为核心,通过串行总线系统与Ad Hoc网络中位于主站的节点相连接,以ARM处理器为核心对整个系统进行控制。如图1所示,各个采集终端定时通过各自所对应的计量器具获得所需数据。然后各个采集终端对获得的数据进行一定的处理,再利用自身节点通过Ad Hoc网络传送给主站接收。必要的时候主站也可以通过Ad Hoc网络对各个采集终端发出命令来主动得到计量数据和参数设置。在此系统中,并没有采用传统的有线的数据传输方式,而是采用Ad Hoc网络进行数据传输,避免了在恶劣的工业现场环境下布线和线路一旦损坏所带来的维护上的不便。并且使用了以ARM7体系结构的LPC2478作为主站处理器,使得整个系统移动性更加灵活,传输可靠性得到更好的保障,维护更加方便,成本也更低,操作起来也更加方便简洁。
2.2 系统的硬件组成
该系统的硬件系统如图2所示,主要包括ARMCPU控制模块,电源管理模块以及无线模块。
[!--empirenews.page--]
这里所选用的处理器为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处理器和无线自组网的组合来建立一个远程抄表系统,并完成了硬件和软件的设计,与以往的抄表系统相比,此系统具有组网方便,性能稳定,实时性好,可靠性高,覆盖范围广,易于维护等优点。可广泛用于各种工业和生活等领域的水,电,气,油等消耗量数据的监测。具有广泛的应用前景。