新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM及GPRS的智能家居系統(tǒng)的實(shí)現(xiàn)

基于ARM及GPRS的智能家居系統(tǒng)的實(shí)現(xiàn)

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

上一頁 1 2 下一頁

關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉