基于ARM和无线自组网的远程抄表系统
这里所选用的处理器为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-Ⅱ操作系统来作为应用程序和底层硬件之间的桥梁。本文引用地址://m.amcfsurvey.com/article/151986.htm
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处理器和无线自组网的组合来建立一个远程抄表系统,并完成了硬件和软件的设计,与以往的抄表系统相比,此系统具有组网方便,性能稳定,实时性好,可靠性高,覆盖范围广,易于维护等优点。可广泛用于各种工业和生活等领域的水,电,气,油等消耗量数据的监测。具有广泛的应用前景。
评论