基于A(yíng)RM和無(wú)線(xiàn)自組網(wǎng)的遠程抄表系統
這里所選用的處理器為NXP公司的ARM7系列芯片LPC2478,它的運行速率可高達72 MHz;具有98 KB的片內SRAM;512 KB片上FLASH程序存儲器;具有4個(gè)帶小數波特率發(fā)生功能的UART;多達160個(gè)通用I/O管腳;4個(gè)通用定時(shí)器/計數器;LPC2478通過(guò)UART與無(wú)線(xiàn)模塊相連接來(lái)讀取和發(fā)送數據。此系統所采用的無(wú)線(xiàn)通信模塊為APPCON公司的APC900M。該模塊運行在60 MHz,可支持復雜運算編碼為高校循環(huán)交織糾錯編碼。它可與個(gè)采集終端的節點(diǎn)組成一個(gè)無(wú)線(xiàn)自組網(wǎng)來(lái)進(jìn)行數據的通信。
2.3 系統的軟件設計
該系統的軟件結構如圖3所示,整個(gè)系統包括了用戶(hù)應用程序,API,μC/OS-Ⅱ操作系統,文件系統,硬件驅動(dòng)程序等。其中以μC/OS-Ⅱ操作系統為核心,因為此系統對實(shí)時(shí)性要求較高,所以本文選用了實(shí)時(shí)性較好的μC/OS-Ⅱ操作系統來(lái)作為應用程序和底層硬件之間的橋梁。本文引用地址:http://dyxdggzs.com/article/151986.htm
2.3.1 μC/OS-Ⅱ在LPC2478上的移植
μC/OS-Ⅱ是一個(gè)免費的源代碼公開(kāi)的實(shí)時(shí)嵌入式內核,其提供了實(shí)時(shí)系統所需的基本功能。它包含全部功能的核心部分代碼只占8.3 KB,而且可剪裁。由于μC/OS-Ⅱ只包含了任務(wù)調度、任務(wù)管理、時(shí)間管理、內存管理和任務(wù)問(wèn)的通信與同步等基本功能,所以這里使用YAFFS文件系統來(lái)對文件檔案進(jìn)行存儲和管理。由于μC/OS-Ⅱ具有良好的可移植性,移植時(shí)只需提供OS_CPU.H(C語(yǔ)言頭文件)、OS_CPU_C.C(C程序源文件)和OS_CPU_A.ASM(匯編程序源文件)這三個(gè)文件,來(lái)將此系統移植到LPC2478處理器上。
2.3.2 系統工作流程
該系統的一次抄表過(guò)程如圖4所示,首先,系統啟動(dòng),操作系統對各個(gè)接口進(jìn)行一系列初始化過(guò)程,并查看系統是否正常,如不正常,返回錯誤信息。如系統正常,則可以根據需要來(lái)設置所需的抄表參數,如時(shí)間,表號,數據類(lèi)型等。關(guān)鍵程序如下:
接下來(lái)通過(guò)μC/OS-Ⅱ操作系統向UART寫(xiě)數據并將數據送至無(wú)線(xiàn)傳輸模塊以向采集終端發(fā)出抄表命令。無(wú)線(xiàn)模塊接到命令后將抄表命令通過(guò)無(wú)限自組網(wǎng)發(fā)送出去并等待采集終端返回的數據。
接收到數據后再通過(guò)UART將數據傳回至處理器。處理器得到數據后進(jìn)行解析,并驗證此數據是否有錯誤。它的關(guān)鍵程序如下:
此時(shí)如返回數據的格式有誤,則重新命令無(wú)線(xiàn)模塊向采集終端發(fā)送抄表命令,這一過(guò)程重復兩次,若依然有錯誤則返回錯誤信息。如沒(méi)有錯誤則將數據保存至文件系統,等待上位機的查收。
3 結語(yǔ)
利用ARM處理器和無(wú)線(xiàn)自組網(wǎng)的組合來(lái)建立一個(gè)遠程抄表系統,并完成了硬件和軟件的設計,與以往的抄表系統相比,此系統具有組網(wǎng)方便,性能穩定,實(shí)時(shí)性好,可靠性高,覆蓋范圍廣,易于維護等優(yōu)點(diǎn)??蓮V泛用于各種工業(yè)和生活等領(lǐng)域的水,電,氣,油等消耗量數據的監測。具有廣泛的應用前景。
評論