基于ARM和無線自組網(wǎng)的遠(yuǎn)程抄表系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了提高遠(yuǎn)程抄表系統(tǒng)的效率和可靠性。提出一種基于ARM和無線自組網(wǎng)的遠(yuǎn)程智能抄表系統(tǒng)的設(shè)計(jì),給出此系統(tǒng)的整體架構(gòu),工作流程;分析此系統(tǒng)的硬件組成,采用LPC2478作為主控制單元,APC900M作為無線通信模塊;并分析了μC/OS-Ⅱ操作系統(tǒng)的移植方法,給出對(duì)于遠(yuǎn)程智能抄表系統(tǒng)應(yīng)用程序的設(shè)計(jì)。此系統(tǒng)效率和可靠性高,成本低,抗損壞性強(qiáng),具有很好的發(fā)展前景。
關(guān)鍵詞:ARM;μC/OS-Ⅱ;遠(yuǎn)程智能抄表;無線自組網(wǎng)
嵌入式系統(tǒng)(Embedded System)是一種軟硬件可擴(kuò)充或裁剪的專用計(jì)算機(jī)系統(tǒng),以面向應(yīng)用為主,是將計(jì)算機(jī)技術(shù),半導(dǎo)體技術(shù)和電子技術(shù)以及各個(gè)行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物。隨著電子技術(shù)、通信技術(shù)、計(jì)算機(jī)技術(shù)的發(fā)展,全球日益信息化,嵌入式系統(tǒng)以其體積小、功耗低、使用方便等特點(diǎn),廣泛應(yīng)用于各種工業(yè)、民用的計(jì)算機(jī)系統(tǒng)中。在此提出一種運(yùn)用ARM和AdHoc技術(shù)組成的一個(gè)遠(yuǎn)程無線抄表的方式。該系統(tǒng)具有成本低,可靠性高,維護(hù)方便的優(yōu)點(diǎn),可以用于電、氣、水、油等的遠(yuǎn)程抄表。
l ARM體系和Ad Hoc網(wǎng)絡(luò)
ARM體系的處理器是目前嵌入式系統(tǒng)中使用最廣泛的處理器。其采用了RISC技術(shù),具有體積小、低功耗、低成本、高性能的特點(diǎn),并且其支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件。ARM使用大量的寄存器,使得指令執(zhí)行速度更加快速,大多數(shù)數(shù)據(jù)操作都在寄存器中完成。它的尋址方式靈活簡(jiǎn)單,并且指令長度固定,執(zhí)行效率更高,處理能力大大超過單片機(jī)。
Ad Hoc網(wǎng)絡(luò)是一種特殊的無線移動(dòng)網(wǎng)絡(luò)。網(wǎng)絡(luò)中所有結(jié)點(diǎn)的地位平等,無需設(shè)置任何的中心控制結(jié)點(diǎn)。網(wǎng)絡(luò)中的結(jié)點(diǎn)不僅具有普通移動(dòng)終端所需的功能,而且具有報(bào)文轉(zhuǎn)發(fā)能力。Ad Hoc網(wǎng)絡(luò)沒有嚴(yán)格的控制中心。所有節(jié)點(diǎn)的地位平等,即是一個(gè)對(duì)等式的網(wǎng)絡(luò)。節(jié)點(diǎn)可以隨時(shí)加入和離開網(wǎng)絡(luò)。任何節(jié)點(diǎn)的故障不會(huì)影響整個(gè)網(wǎng)絡(luò)的運(yùn)行,具有很強(qiáng)的抗損性。網(wǎng)絡(luò)的布局或展開無需依賴于任何預(yù)設(shè)的網(wǎng)絡(luò)設(shè)施。節(jié)點(diǎn)通過分層協(xié)議和分布式算法協(xié)調(diào)個(gè)字的行為,節(jié)點(diǎn)開機(jī)后就可以快速、自動(dòng)地組成一個(gè)獨(dú)立的網(wǎng)絡(luò)。當(dāng)節(jié)點(diǎn)要與其覆蓋范圍外的節(jié)點(diǎn)進(jìn)行通信時(shí),需要中間節(jié)點(diǎn)的多條轉(zhuǎn)發(fā)。與固定網(wǎng)絡(luò)的多跳不同,Ad Hoc網(wǎng)絡(luò)中的多跳路由是由普通的網(wǎng)絡(luò)節(jié)點(diǎn)完成的,而不是由專用路由設(shè)備完成,每個(gè)節(jié)點(diǎn)包含了一個(gè)路由器和主機(jī),而且往往是在同一臺(tái)機(jī)器上。Ad Hoc網(wǎng)絡(luò)是一個(gè)動(dòng)態(tài)的網(wǎng)絡(luò)。其節(jié)點(diǎn)可以隨處移動(dòng),也可以隨時(shí)開機(jī)和關(guān)機(jī),這些都會(huì)使網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)隨時(shí)發(fā)生變化。這些特點(diǎn)使得使用Ad Hoc網(wǎng)絡(luò)作為無線抄表系統(tǒng)的網(wǎng)絡(luò)與普通的無線通信網(wǎng)絡(luò)和有線通信網(wǎng)絡(luò)相比有著顯著優(yōu)勢(shì)。
2 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)的整體架構(gòu)
此系統(tǒng)以嵌入式系統(tǒng)為核心,通過串行總線系統(tǒng)與Ad Hoc網(wǎng)絡(luò)中位于主站的節(jié)點(diǎn)相連接,以ARM處理器為核心對(duì)整個(gè)系統(tǒng)進(jìn)行控制。如圖1所示,各個(gè)采集終端定時(shí)通過各自所對(duì)應(yīng)的計(jì)量器具獲得所需數(shù)據(jù)。然后各個(gè)采集終端對(duì)獲得的數(shù)據(jù)進(jìn)行一定的處理,再利用自身節(jié)點(diǎn)通過Ad Hoc網(wǎng)絡(luò)傳送給主站接收。必要的時(shí)候主站也可以通過Ad Hoc網(wǎng)絡(luò)對(duì)各個(gè)采集終端發(fā)出命令來主動(dòng)得到計(jì)量數(shù)據(jù)和參數(shù)設(shè)置。在此系統(tǒng)中,并沒有采用傳統(tǒng)的有線的數(shù)據(jù)傳輸方式,而是采用Ad Hoc網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,避免了在惡劣的工業(yè)現(xiàn)場(chǎng)環(huán)境下布線和線路一旦損壞所帶來的維護(hù)上的不便。并且使用了以ARM7體系結(jié)構(gòu)的LPC2478作為主站處理器,使得整個(gè)系統(tǒng)移動(dòng)性更加靈活,傳輸可靠性得到更好的保障,維護(hù)更加方便,成本也更低,操作起來也更加方便簡(jiǎn)潔。
2.2 系統(tǒng)的硬件組成
該系統(tǒng)的硬件系統(tǒng)如圖2所示,主要包括ARMCPU控制模塊,電源管理模塊以及無線模塊。
[!--empirenews.page--]
這里所選用的處理器為NXP公司的ARM7系列芯片LPC2478,它的運(yùn)行速率可高達(dá)72 MHz;具有98 KB的片內(nèi)SRAM;512 KB片上FLASH程序存儲(chǔ)器;具有4個(gè)帶小數(shù)波特率發(fā)生功能的UART;多達(dá)160個(gè)通用I/O管腳;4個(gè)通用定時(shí)器/計(jì)數(shù)器;LPC2478通過UART與無線模塊相連接來讀取和發(fā)送數(shù)據(jù)。此系統(tǒng)所采用的無線通信模塊為APPCON公司的APC900M。該模塊運(yùn)行在60 MHz,可支持復(fù)雜運(yùn)算編碼為高校循環(huán)交織糾錯(cuò)編碼。它可與個(gè)采集終端的節(jié)點(diǎn)組成一個(gè)無線自組網(wǎng)來進(jìn)行數(shù)據(jù)的通信。
2.3 系統(tǒng)的軟件設(shè)計(jì)
該系統(tǒng)的軟件結(jié)構(gòu)如圖3所示,整個(gè)系統(tǒng)包括了用戶應(yīng)用程序,API,μC/OS-Ⅱ操作系統(tǒng),文件系統(tǒng),硬件驅(qū)動(dòng)程序等。其中以μC/OS-Ⅱ操作系統(tǒng)為核心,因?yàn)榇讼到y(tǒng)對(duì)實(shí)時(shí)性要求較高,所以本文選用了實(shí)時(shí)性較好的μC/OS-Ⅱ操作系統(tǒng)來作為應(yīng)用程序和底層硬件之間的橋梁。
2.3.1 μC/OS-Ⅱ在LPC2478上的移植
μC/OS-Ⅱ是一個(gè)免費(fèi)的源代碼公開的實(shí)時(shí)嵌入式內(nèi)核,其提供了實(shí)時(shí)系統(tǒng)所需的基本功能。它包含全部功能的核心部分代碼只占8.3 KB,而且可剪裁。由于μC/OS-Ⅱ只包含了任務(wù)調(diào)度、任務(wù)管理、時(shí)間管理、內(nèi)存管理和任務(wù)問的通信與同步等基本功能,所以這里使用YAFFS文件系統(tǒng)來對(duì)文件檔案進(jìn)行存儲(chǔ)和管理。由于μC/OS-Ⅱ具有良好的可移植性,移植時(shí)只需提供OS_CPU.H(C語言頭文件)、OS_CPU_C.C(C程序源文件)和OS_CPU_A.ASM(匯編程序源文件)這三個(gè)文件,來將此系統(tǒng)移植到LPC2478處理器上。
2.3.2 系統(tǒng)工作流程
該系統(tǒng)的一次抄表過程如圖4所示,首先,系統(tǒng)啟動(dòng),操作系統(tǒng)對(duì)各個(gè)接口進(jìn)行一系列初始化過程,并查看系統(tǒng)是否正常,如不正常,返回錯(cuò)誤信息。如系統(tǒng)正常,則可以根據(jù)需要來設(shè)置所需的抄表參數(shù),如時(shí)間,表號(hào),數(shù)據(jù)類型等。關(guān)鍵程序如下:
接下來通過μC/OS-Ⅱ操作系統(tǒng)向UART寫數(shù)據(jù)并將數(shù)據(jù)送至無線傳輸模塊以向采集終端發(fā)出抄表命令。無線模塊接到命令后將抄表命令通過無限自組網(wǎng)發(fā)送出去并等待采集終端返回的數(shù)據(jù)。
接收到數(shù)據(jù)后再通過UART將數(shù)據(jù)傳回至處理器。處理器得到數(shù)據(jù)后進(jìn)行解析,并驗(yàn)證此數(shù)據(jù)是否有錯(cuò)誤。它的關(guān)鍵程序如下:
此時(shí)如返回?cái)?shù)據(jù)的格式有誤,則重新命令無線模塊向采集終端發(fā)送抄表命令,這一過程重復(fù)兩次,若依然有錯(cuò)誤則返回錯(cuò)誤信息。如沒有錯(cuò)誤則將數(shù)據(jù)保存至文件系統(tǒng),等待上位機(jī)的查收。
3 結(jié)語
利用ARM處理器和無線自組網(wǎng)的組合來建立一個(gè)遠(yuǎn)程抄表系統(tǒng),并完成了硬件和軟件的設(shè)計(jì),與以往的抄表系統(tǒng)相比,此系統(tǒng)具有組網(wǎng)方便,性能穩(wěn)定,實(shí)時(shí)性好,可靠性高,覆蓋范圍廣,易于維護(hù)等優(yōu)點(diǎn)??蓮V泛用于各種工業(yè)和生活等領(lǐng)域的水,電,氣,油等消耗量數(shù)據(jù)的監(jiān)測(cè)。具有廣泛的應(yīng)用前景。