楊 璐, 劉寶棟, 王銀濤
(河北工業大學計算機科學與軟件學院,天津 300401)
近年來,由于IT產業的高速發展,網絡在人們工作生活中的大量普及以及單片機功能的拓展,使得無線通信、無線控制、無線定位、數字家庭等等先進的技術和設備逐漸的進入到人們的生活中。在城市,人口密度的迅速增加造成各種公共設施的擁堵,快捷的、方便的溝通、交流、傳遞方式成為人們的迫切需要。ZigBee技術的誕生,以其低速率無線傳輸、射頻成本低、節點能耗小、隨時接入等特點,將人們的生活帶入到智能化的遠程控制時代。進入21世紀,傳感器網絡成為是重要技術之一,智能家居系統是通過計算機技術、嵌入式系統和網絡通信技術等先進技術,將家庭中的各種電器設備(如照明設備、環境監控、安防系統、智能家電)通過互聯網絡連接到一起的多功能無線控制系統。一方面,智能家居使用戶有更方便的手段管理家庭設備;另一方面,可以使家庭中的不同設備之間實現互通,不需要人工控制也能根據不同的狀態互相運行,它對提高人們的生活質量,創造舒適、安全、便捷的生活空間有著非常重要的意義[1]。
隨著人們生活居住條件的不斷改善,在現代智能化居室環境的改造和建設中,家庭安防系統是很重要的組成部分。但目前多數的安防系統主要側重于監控和異狀報警功能,沒有起到切實的防范作用。本文利用ZigBee無線網絡技術,通過家庭無線路由網絡將門鎖控制與窗戶的開關控制連接在一起,使得人們在鎖門的同時自動地鎖死家中的每一扇窗戶,大大節省了人們出行前的安全檢查時間,提高了家庭安防指數。同時,整體的設計系統可以根據實際應用情況加以簡單修改后也可以應用到其他家庭智能控制領域中。
系統整體結構框圖如圖1所示。按照各部分功能不同可以將系統劃分為門鎖狀態信息采集模塊、中心控制模塊和鎖窗執行模塊。考慮ZigBee通信距離的限制,出于節約成本角度考慮,系統按照星形網絡結構設計。其中門鎖信息采集模塊通過傳感裝置采集上鎖和開鎖狀態,然后將信息發送給中心控制模塊;鎖窗執行模塊在收到中心控制模塊發送的控制信息后,驅動執行電機完成鎖窗動作。設計實驗實現系統為成都無線龍開發的C51RF-3-JX教學系統。該系統包括一塊實驗板、一塊CPU板和兩塊移動擴展板,移動擴展板上外掛ZigBee無線模塊;采用PIC18F4620單片機和CC2420無線ZigBee芯片。

圖1 系統總體設計結構
CC2420芯片是Chipcon As公司推出的第一款符合2.4GHZ IEEE 802.15.4標準的射頻收發器。它基于 Chipcon 公司的SmartRF 03 技術,以0.18 μm CMOS工藝制成只需極少外部元器件,性能穩定且功耗極低。CC2420的敏感性和選擇性指標均超過IEEE802.15.4標準的要求,可保障短距離通信中信號的有效性和可靠性[2]。利用此芯片開發的無線通信設備的數據傳輸率可達到250 kb/s,同時可以支持多點之間的快速組網?;贑C2420芯片所開發的短距離射頻傳輸系統所具備的成本低、功耗小的特點,滿足了電池長期供電的要求。同時還具有組網靈活、抗毀性強、硬件加密、安全可靠等特點,為工業流程監控、傳感網絡檢測、家居智能控制、電子消費、智能玩具等提供了理想的解決方案。
PIC18F4620系列芯片采用了那瓦技術,通過其備用運行模式、多空閑模式、動態模式切換和較低的關鍵模塊功耗等功能在芯片工作時顯著降低功耗;10種不同的振蕩器選項,使用戶在開發應用硬件時有了更大的選擇范圍[3]。
中心控制模塊設計結構如圖2所示。該模塊是整個系統的核心,用于監控門鎖信息采集模塊的狀態,并根據獲取的信息自動采取某些操作,或者根據用戶對主控系統的操作,向各執行模塊發出控制指令。因此,該節點在網絡中起到協調器的作用。

圖2 中心控制模塊結構圖
門鎖狀態采集模塊實現功能:通過置于鎖芯內傳感裝置采集鎖芯開、關門狀態,經PIC18F4620芯片做數據處理后發送給中心控制模塊;中心模塊收到信息后發送確認信息給本模塊,確認信息通過CC2420接收傳送至處理器,此時指示燈點閃爍,確認數據發送成功(見圖3)。鎖窗執行模塊結構如圖4所示,射頻芯片接收到中心控制模塊發送的控制信號后傳送到PIC芯片,由芯片控制執行電路電源導通,機械部件實現鎖窗動作;當安放在窗框上的傳感器感受到窗戶完全關閉后,將信號反饋給PIC芯片,再由芯片發出切斷執行電路電源的控制信號,鎖窗過程完成[4-5]。

圖3 門鎖狀態采集模塊結構

圖4 鎖窗執行模塊結構圖
在通過C51RF-3-JX開發系統模擬實現過程中,執行電路選擇電機控制電路,由PIC18F4620的RE0腳輸出高電平信號,觸發三極管導通,繼電器吸合,電機得電轉動,RE0腳輸出低電平時,三極管截止,繼電器斷開,電機停轉。傳感器部分通過點動按鈕模擬實現,按下按鈕,視為傳感器感受到壓力變化,電信號由RE1腳送入芯片。
ZigBee協議棧的設計主要從三部分進行規劃:任務調度、協議棧模塊和公共模塊配置。協議棧模塊的結構與ZigBee分層結構相同,每個模塊中存放各自的驅動程序,當系統上電初始化以后,系統處于低功耗工作狀態,等待任務調度根據當前任務來激活相應模塊,系統被喚醒,進入中斷處理事件,處理結束后繼續進入低功耗狀態;如果有多個任務同時發生,則根據優先級逐次處理事件。公共模塊中提供定時器、通用I/O口、通用異步收發器UART、數模轉換ADC的應用程序接口API等的驅動程序,可以被所有協議棧模塊根據需要調用[6]。
2.2.1 CC2420 初始化設置
芯片內部共有33個16位結構寄存器和15個命令脈沖寄存器及2個8 bit訪問獨立的發射和接收緩沖器的RXFIFO、TXFIFO寄存器。這些寄存器在芯片復位時已經設置了一些初始值,例如:BATTMON_E電池監控啟用;MDMCTRL0.AUTOCRC自動循環冗余校驗;IN0.XOSC16M_BYPASS啟用外部晶振;IOCFG0.FIFOP_THR設置RXFIFO緩沖器中字節門限值等。在實際應用時,還要根據具體情況進行初始化設置[7-8]。
初始化設置是根據重置寄存器參數定義信息包傳輸的基本格式、定義PIC18F4620與CC2420接口、打開電壓調節器、啟動晶振、復位芯片的過程。一般情況下將寄存器設置為如下狀態:SXOSCON—打開晶振;MDMCTRL0=0x0AF2,打開自動應答;MDMCTRL1=0x0500,關聯門限值 CORR_THR=20;IOCFG0=0x007F設置FIFOP_THR=127,當RXFIFO中的字節數超過此門限值時,FIFOP變為高電平;SECCTRL0=0x01C4,關閉安全使能。
寄存器初始化程序如下:

2.2.2 緩沖模式
首先使能信息包接收CC2420自動應答和FIFOP開中斷處理,并通過FIFOP終端服務程序接收信息,由于FIFOP接單片機的 RB3腳,可以用單片機的CCP2來捕捉FIFOP的上升沿,以判斷是否接受到完整的數據包;當RXFIFO緩沖器有溢出或信息包格式不合法時關中斷,停止信息包的接收。寄存器配置如下:DMCTRL1.RX_MODE=0;SRXON-啟用接收;SFLUSHRXRX-FIFO緩沖器溢出,復位解調器;RXCTRL0=0x12E5,低噪音放大器增益中等[9-10]。
信息包的發送選擇IEEE 802.15.4MAC層數據幀格式和8位網絡地址格式傳送。首先發起傳送,信道評估為空閑后,啟動幀校驗并發送;當無字節寫入,TXFIFO緩沖器跳低電平,發送自動停止。寄存器設置如下:STXON啟用發送;CTRL1.TX_MODE=0;FSCTRL=0x4165,選擇 2405 MHz,第 11 信道。TXCTRL=0XA0FF,輸出功率為0 dBm。
寄存器初始化程序如下:

中心控制模塊在整個網絡中相當于協調器的作用。因此,在系統初始化完畢后,需要通過它建立一個網絡,并自動地搜索周圍需要加入網絡的節點是否存在,如果存在,由協調器給這個節點配置一個網絡地址。系統中門鎖狀態采集模塊所發出的信號相當于一個控制信號,協調器需要檢測到這個信號后向其他若干個鎖窗模塊發出動作信號。同樣是半功能節點,但需要門鎖狀態采集模塊先加入網絡,然后再逐一的將鎖窗模塊加入到網絡中[11-15]。圖中控制信號轉發部分流程細節參見圖5。

圖5 協調器數據收發程序流程圖
系統中存在兩類功能不同的終端設備:一是采集控制信號的終端設備;另一個是執行控制信號的終端設備。前者主要是向協調器發送信號,而后者則是實時地監控有無通過協調器轉發的信號,并予以接受。雖然具體的執行功能不同,但由于是半功能節點,所以都需要有加入網絡的流程,如圖6(a)所示。只有在終端節點成功加入已有網絡以后,才能執行各自的功能。門鎖控制信號采集模塊數據發送流程如圖6(b)所示;鎖窗控制模塊數據接收流程如圖6(c)所示。

圖6 整體流程圖
系統的設計與開發基于C51RF-3-JX系統,執行電路與芯片外圍電路搭接完成后,將ZigBee協議棧軟件植入芯片,進行網絡搭建和通信調試,具體的步驟如下:
(1)中心控制模塊作為協調器首先上電初始化,初始化結束后協調器會自動生成網絡,等待節點加入網絡。
(2)將門鎖采集模塊上電,申請加入網絡,按下測試按鍵,如果指示燈閃爍,說明終端設備已經加入網絡;然后對鎖窗模塊進行相同操作。
(3)將中心模塊通過RS232接口與PC機相連,測試數據收發是否正常。通過門鎖采集模塊連續發送數據“0~9”,觀察協調器是否正確接收,然后將同樣的數據發送至接收模塊。
無線節點通信調試正常后,進行終端模塊控制調試,上電后按下測試按鈕,測試最小系統是否能通過串口下載程序;將PIC芯片與ZigBee射頻模塊相連,測試兩者間是否實現正常通信。按下門鎖狀態采集模塊中S1按鈕,協調器顯示接收到控制信號“1”。
本研究利用ZigBee這一先進的短距離、低速率無線網絡技術,通過家庭無線路由網絡將門鎖控制與窗
戶的開關控制連接在一起,使得人們在鎖門的同時自動地鎖死家中的每一扇窗戶,大大節省了人們出行前的安全檢查時間,提高了家庭安防指數。同時,整體的設計系統可以根據實際應用情況加以簡單修改后應用到其他家庭智能控制領域中,例如,通過檢測暖氣溫度控制加濕器的蒸汽排量的智能系統。
(References):
[1] 賈 偉.無線傳感器網絡在智能家居中的應用研究[D].杭州:浙江大學通信與信息系統專業,2009..
[2] 趙 靜.嵌入式智能家居控制系統的研究與設計[D].武漢:武漢理工大學,2008.
[3] 李文仲,段朝玉.ZigBee無線網絡技術入門與實戰[M].北京:航空航天大學出版社,2007:46-49.
[4] 黃 強.基于ARM的家庭信息化系統的研究[D].武漢:武漢理工大學,2007.
[5] Zheng JianLiang,Lee Myung.A comprehensive performance study of IEEE 802.15.4[M].IEEE Press Book,2004.
[6] Demirko Ilker,Erosy Cem,Alagoz Fatih.MAC protocols for wireless sensor networks:A survey[J].IEEE Communications Magazine,2006,44(4):115-121.
[7] 楊 誠,聶章龍.ZigBee網絡層協議的分析與設計[J].計算機英語與軟件2009(12):219-221.
[8] ZigBee聯盟.ZigBee技術引領無線數字新生活[J].電腦知識與技術,2006(27):29-34.
[9] 朱向慶,王建明.ZigBee網絡協議層的研究與實現[J].電子技術應用,2006(1):129-132.
[10] 李戰明,劉 寶,駱東松.Zigbee技術規范與協議淺分析[J].微型機與應用,2009,4(13):46-49.
[11] 李 黎.Zigbee技術研究[J].技術與市場,2009,52:58-67.
[12] 林元乖.ZigBee無線傳感器網絡及應用[J].科技信息,2009(12):25-28.
[13] 陳 杰.基于ZigBee的家居安防系統的設計[D].武漢:華中科技大學軟件工程專業,2010.
[14] 吳 線.DIY ZigBee無線傳感器網絡[J].無線電,2009(12):16-20.
[15] 劉市生,張賢華.ZigBee網絡層的設計與實現[J].無線電工程2008,38(11):7-9.