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