嵌入式系統(tǒng)是"控制、監(jiān)視或者輔助裝置、機器和設備運行的裝置"(devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。從中可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。目前國內一個普遍被認同的定義是:以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。
ARM體系的處理器是目前嵌入式系統(tǒng)中使用最廣泛的處理器。其采用了RISC技術,具有體積小、低功耗、低成本、高性能的特點,并且其支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件。ARM使用大量的寄存器,使得指令執(zhí)行速度更加快速,大多數數據操作都在寄存器中完成。它的尋址方式靈活簡單,并且指令長度固定,執(zhí)行效率更高,處理能力大大超過單片機。
ARM7是馮諾依慢結構,ARM9、ARM11是哈佛結構,所以性能要高一點。ARM9和ARM11大多帶內存管理器,跑操作系統(tǒng)好一點,ARM7適合裸奔。不跑操作系統(tǒng),價格低一點的:ARM7、cortex-M3等等。性價比高,可跑也可不跑操作系統(tǒng)的:ARM9、cortex-Rx等等。性能高的,通常要跑操作系統(tǒng)的:ARM10、ARM11、Cortex-A8等等。
Adhoc網絡的前身是分組無線網(PacketRadioNetwork)。對分組無線網的研究源于軍事通信的需要,并已經持續(xù)了近20年。早在1972年,美國DARPA(DefenseAdvancedResearchProjectAgency)就啟動了分組無線網(PRNET,PacketRadioNETwork)項目,研究分組無線網在戰(zhàn)場環(huán)境下數據通信中的應用。項目完成之后,DAPRA又在1993年啟動了高殘存性自適應網絡(SURAN,SURvivableAdaptiveNetwork)項目。研究如何將prnet的成果加以擴展,以支持更大規(guī)模的網絡,還要開發(fā)能夠適應戰(zhàn)場快速變化環(huán)境下的自適應網絡協(xié)議。1994年,DARPA又啟動了全球移動信息系統(tǒng)(GloMo,GlobleMobileInformationSystems)項目。在分組無線網已有成果的基礎上對能夠滿足軍事應用需要的、可快速展開、高抗毀性的移動信息系統(tǒng)進行全面深入的研究,并一直持續(xù)至今。1991年成立的IEEE802.11標準委員會采用了"Adhoc網絡"一詞來描述這種特殊的對等式無線移動網絡。
2 系統(tǒng)設計
2.1 系統(tǒng)的整體架構
此系統(tǒng)以嵌入式系統(tǒng)為核心,通過串行總線系統(tǒng)與Ad Hoc網絡中位于主站的節(jié)點相連接,以ARM處理器為核心對整個系統(tǒng)進行控制。如圖1所示,各個采集終端定時通過各自所對應的計量器具獲得所需數據。然后各個采集終端對獲得的數據進行一定的處理,再利用自身節(jié)點通過Ad Hoc網絡傳送給主站接收。必要的時候主站也可以通過Ad Hoc網絡對各個采集終端發(fā)出命令來主動得到計量數據和參數設置。在此系統(tǒng)中,并沒有采用傳統(tǒng)的有線的數據傳輸方式,而是采用Ad Hoc網絡進行數據傳輸,避免了在惡劣的工業(yè)現場環(huán)境下布線和線路一旦損壞所帶來的維護上的不便。并且使用了以ARM7體系結構的LPC2478作為主站處理器,使得整個系統(tǒng)移動性更加靈活,傳輸可靠性得到更好的保障,維護更加方便,成本也更低,操作起來也更加方便簡潔。
2.2 系統(tǒng)的硬件組成
該系統(tǒng)的硬件系統(tǒng)如圖2所示,主要包括ARMCPU控制模塊,電源管理模塊以及無線模塊。
這里所選用的處理器為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)來作為應用程序和底層硬件之間的橋梁。
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)測。具有廣泛的應用前景。
-
處理器
+關注
關注
68文章
19852瀏覽量
234166 -
ARM
+關注
關注
134文章
9340瀏覽量
376136 -
操作系統(tǒng)
+關注
關注
37文章
7122瀏覽量
125270
發(fā)布評論請先 登錄
[原創(chuàng)]無線自組網系統(tǒng)與電力載波在抄表應用中的比較
無線抄表自組網系統(tǒng)
真正擴頻技術完全無線自組網抄表系統(tǒng)
水氣表無線自組網抄表
擴頻自組網抄表系統(tǒng)
擴頻自組網抄表系統(tǒng)
基于無線傳感器網絡的遠程自動抄表系統(tǒng)設計
LPC2478設計案例:觸摸屏設計

評論