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处理器和无线自组网的组合来建立一个远程抄表系统,并完成了硬件和软件的设计,与以往的抄表系统相比,此系统具有组网方便,性能稳定,实时性好,可靠性高,覆盖范围广,易于维护等优点。可广泛用于各种工业和生活等领域的水,电,气,油等消耗量数据的监测。具有广泛的应用前景。