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