基于ARM及GPRS的智能家居系統的實現
4.系統軟件設計
4.1終端軟件
傳統的單片機程序設計基本上都采用順序結構,實時性低且CPU對資源的利用率不高。這里,我們采用了嵌入式實時操作系統VxWorks,它是美國風河(WindRiver)公司于1983年設計開發的一種嵌入式實時操作系統(RTOS)。終端軟件設計包括針對系統硬件平臺進行的操作系統的移植和在VxWorks平臺上應用程序的設計兩部分。操作系統的移植的重點也即難點是BSP(Board Support Package)的設計。VxWorks本身提供了針對許多處理器的BSP,但針對S3C44B0的BSP并未提供。在設計系統BSP時,我們首先仔細研究了其中一種BSP代碼范例,了解并掌握了BSP的結構,然后在風河公司針對ARM處理器提供給用戶的BSP模板的基礎上設計了本系統的BSP,限于篇幅,對操作系統的移植部分本文將不作闡述。
監控終端的應用程序采用模塊化的設計思想。由于VxWorks支持多任務,我們將每個功能模塊以一個任務來實現。從時間上看,各個任務處于并行運行的狀態,極大地提高了系統對事件響應的速度,有效地提高了CPU對資源的利用率。終端應用程序包含五個任務,分別是:消息處理任務、傳感器檢測任務、GPRS通信任務、RS485總線設備通信任務、按鍵檢測及處理任務。除消息處理任務以外,其它五個任務優先級相同。VxWorks中任務優先級從0到255,0為最高優先級,255為最低優先級。我們將消息處理任務優先級設定為90,其它四個任務優先級都設定為100。這樣可使消息處理任務盡快的處理其它任務發送來的消息,提高系統對外部事件的響應速度。下面分別對各個任務所實現的功能進行簡要的介紹。
(1)消息處理任務
該任務循環檢測自己的消息隊列,當有其它任務發送來的消息時,讀取消息,對消息進行解析,確定事件類型,然后調用事件相應的處理函數進行處理。本系統定義了多種事件類型,主要有如下幾種事件:傳感器告警事件、設置終端參數事件、傳感器狀態請求事件、刷卡開門事件、水表數據查詢事件、電表數據查詢事件、煤氣表數據查詢事件和按鍵設置事件。
(2)傳感器檢測任務
在任務運行的時間片內,首先判斷系統當前所的處狀態,如果系統處于設防狀態,那么CPU將對室內所有已安裝傳感器進行循環檢測。如果系統工作在撤防狀態下,那么只對煙霧、煤氣傳感器進行檢測。當任務檢測到某一傳感器的輸出達到系統設定的告警閾值時,將向消息處理任務的消息隊列發送一條傳感器告警消息,消息中包含傳感器通道編號。
(3)GPRS通信任務
此任務完成GPRS模塊的初始化、終端與監控中心建立連接以及數據通信功能。
(4)RS485總線設備通信任務
任務完成“三表”數據的讀取以及用戶刷卡檢測功能。
(5)按鍵檢測及處理任務
該任務完成對終端上三個功能鍵的掃描。當其中某個按鍵被按下時,CPU檢測到鍵值,向消息處理任務發送消息,消息任務將調用相應的處理函數進行處理。
4.3監控中心軟件
監控中心軟件采用Borland C++ Builder 6.0開發。它使用WinSock控件接收和發送數據。中心軟件采用模塊化的設計思想,分別實現系統參數設置、操作員權限管理、用戶管理、告警事件處理、數據庫的維護以及數據打印和系統幫助等功能。
5.結束語
本系統實現了對住宅小區內多用戶室內安全狀況的集中監控與管理,還實現了對用戶家中的水表、電表、煤氣表的遠程無線抄送。該系統在實用性、可靠性以及成本等方面取得了較為滿意的效果。目前,本系統已經完成最后調試,即將進入現場試運行。由于系統在硬件設計上充分考慮到了不同的應用場合,留有較大的擴展空間,因此相信該系統將會有較為廣闊的應用前景。
參考文獻
[1]鐘章隊、蔣文怡、李紅君等.GPRS通用分組無線業務,人民郵電出版社。2001.12.
[2]王慶剛,楊佃福. GPRS技術在嵌入式系統中的應用[J]. 微計算機信息,2005,21-5:69-70.
[3]Samsung Electronics. Samsung S3C44B0 RISC microprocessor Reference.
[4] BenQ Corporate. M22 GSM/GPRS module datesheet.2005.6.
評論