嵌入式系統是"控制、監視或者輔助裝置、機器和設備運行的裝置"(devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。從中可以看出嵌入式系統是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。目前國內一個普遍被認同的定義是:以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。
ARM體系的處理器是目前嵌入式系統中使用最廣泛的處理器。其采用了RISC技術,具有體積小、低功耗、低成本、高性能的特點,并且其支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件。ARM使用大量的寄存器,使得指令執行速度更加快速,大多數數據操作都在寄存器中完成。它的尋址方式靈活簡單,并且指令長度固定,執行效率更高,處理能力大大超過單片機。
ARM7是馮諾依慢結構,ARM9、ARM11是哈佛結構,所以性能要高一點。ARM9和ARM11大多帶內存管理器,跑操作系統好一點,ARM7適合裸奔。不跑操作系統,價格低一點的:ARM7、cortex-M3等等。性價比高,可跑也可不跑操作系統的:ARM9、cortex-Rx等等。性能高的,通常要跑操作系統的:ARM10、ARM11、Cortex-A8等等。
Adhoc網絡的前身是分組無線網(PacketRadioNetwork)。對分組無線網的研究源于軍事通信的需要,并已經持續了近20年。早在1972年,美國DARPA(DefenseAdvancedResearchProjectAgency)就啟動了分組無線網(PRNET,PacketRadioNETwork)項目,研究分組無線網在戰場環境下數據通信中的應用。項目完成之后,DAPRA又在1993年啟動了高殘存性自適應網絡(SURAN,SURvivableAdaptiveNetwork)項目。研究如何將prnet的成果加以擴展,以支持更大規模的網絡,還要開發能夠適應戰場快速變化環境下的自適應網絡協議。1994年,DARPA又啟動了全球移動信息系統(GloMo,GlobleMobileInformationSystems)項目。在分組無線網已有成果的基礎上對能夠滿足軍事應用需要的、可快速展開、高抗毀性的移動信息系統進行全面深入的研究,并一直持續至今。1991年成立的IEEE802.11標準委員會采用了"Adhoc網絡"一詞來描述這種特殊的對等式無線移動網絡。
2 系統設計
2.1 系統的整體架構
此系統以嵌入式系統為核心,通過串行總線系統與Ad Hoc網絡中位于主站的節點相連接,以ARM處理器為核心對整個系統進行控制。如圖1所示,各個采集終端定時通過各自所對應的計量器具獲得所需數據。然后各個采集終端對獲得的數據進行一定的處理,再利用自身節點通過Ad Hoc網絡傳送給主站接收。必要的時候主站也可以通過Ad Hoc網絡對各個采集終端發出命令來主動得到計量數據和參數設置。在此系統中,并沒有采用傳統的有線的數據傳輸方式,而是采用Ad Hoc網絡進行數據傳輸,避免了在惡劣的工業現場環境下布線和線路一旦損壞所帶來的維護上的不便。并且使用了以ARM7體系結構的LPC2478作為主站處理器,使得整個系統移動性更加靈活,傳輸可靠性得到更好的保障,維護更加方便,成本也更低,操作起來也更加方便簡潔。
2.2 系統的硬件組成
該系統的硬件系統如圖2所示,主要包括ARMCPU控制模塊,電源管理模塊以及無線模塊。
這里所選用的處理器為NXP公司的ARM7系列芯片LPC2478,它的運行速率可高達72 MHz;具有98 KB的片內SRAM;512 KB片上FLASH程序存儲器;具有4個帶小數波特率發生功能的UART;多達160個通用I/O管腳;4個通用定時器/計數器;LPC2478通過UART與無線模塊相連接來讀取和發送數據。此系統所采用的無線通信模塊為APPCON公司的APC900M.該模塊運行在60 MHz,可支持復雜運算編碼為高校循環交織糾錯編碼。它可與個采集終端的節點組成一個無線自組網來進行數據的通信。
2.3 系統的軟件設計
該系統的軟件結構如圖3所示,整個系統包括了用戶應用程序,API,μC/OS-Ⅱ操作系統,文件系統,硬件驅動程序等。其中以μC/OS-Ⅱ操作系統為核心,因為此系統對實時性要求較高,所以本文選用了實時性較好的μC/OS-Ⅱ操作系統來作為應用程序和底層硬件之間的橋梁。
2.3.1 μC/OS-Ⅱ在LPC2478上的移植
μC/OS-Ⅱ是一個免費的源代碼公開的實時嵌入式內核,其提供了實時系統所需的基本功能。它包含全部功能的核心部分代碼只占8.3 KB,而且可剪裁。由于μC/OS-Ⅱ只包含了任務調度、任務管理、時間管理、內存管理和任務問的通信與同步等基本功能,所以這里使用YAFFS文件系統來對文件檔案進行存儲和管理。由于μC/OS-Ⅱ具有良好的可移植性,移植時只需提供OS_CPU.H(C語言頭文件)、OS_CPU_C.C(C程序源文件)和OS_CPU_A.ASM(匯編程序源文件)這三個文件,來將此系統移植到LPC2478處理器上。
2.3.2 系統工作流程
該系統的一次抄表過程如圖4所示,首先,系統啟動,操作系統對各個接口進行一系列初始化過程,并查看系統是否正常,如不正常,返回錯誤信息。如系統正常,則可以根據需要來設置所需的抄表參數,如時間,表號,數據類型等。關鍵程序如下:
接下來通過μC/OS-Ⅱ操作系統向UART寫數據并將數據送至無線傳輸模塊以向采集終端發出抄表命令。無線模塊接到命令后將抄表命令通過無限自組網發送出去并等待采集終端返回的數據。
接收到數據后再通過UART將數據傳回至處理器。處理器得到數據后進行解析,并驗證此數據是否有錯誤。它的關鍵程序如下:
此時如返回數據的格式有誤,則重新命令無線模塊向采集終端發送抄表命令,這一過程重復兩次,若依然有錯誤則返回錯誤信息。如沒有錯誤則將數據保存至文件系統,等待上位機的查收。
3 結語
利用ARM處理器和無線自組網的組合來建立一個遠程抄表系統,并完成了硬件和軟件的設計,與以往的抄表系統相比,此系統具有組網方便,性能穩定,實時性好,可靠性高,覆蓋范圍廣,易于維護等優點。可廣泛用于各種工業和生活等領域的水,電,氣,油等消耗量數據的監測。具有廣泛的應用前景。
-
處理器
+關注
關注
68文章
19485瀏覽量
231510 -
ARM
+關注
關注
134文章
9189瀏覽量
370079 -
操作系統
+關注
關注
37文章
6917瀏覽量
123925
發布評論請先 登錄
相關推薦
真正擴頻技術完全無線自組網抄表系統
基于無線傳感器網絡的遠程自動抄表系統設計
LPC2478設計案例:觸摸屏設計

評論