劉瀟瀟
(中國電子科技集團第四十九研究所,黑龍江 哈爾濱 150028)
在信息技術(shù)飛速發(fā)展下,智能家居逐漸進入千家萬戶,傳感器作為家居系統(tǒng)中的重要內(nèi)容,也是智能化的基礎(chǔ)所在。當(dāng)前,部分系統(tǒng)仍采用傳統(tǒng)有線傳感器,一旦增加一個節(jié)點,便需要重新設(shè)計線路,為人們帶來極大不便。對此,無線傳感器應(yīng)運而生,不但具有自組織能力,還低耗節(jié)能,在智能家居中得到高效利用。
智能家居系統(tǒng)較為龐大,對設(shè)備功耗要求較高,無線傳感器作為其中的重要內(nèi)容,主要作用在于檢測和調(diào)節(jié)家居環(huán)境,包括節(jié)點、協(xié)調(diào)器和家庭網(wǎng)關(guān)三項內(nèi)容。在家庭內(nèi)部網(wǎng)絡(luò)中,以星形結(jié)構(gòu)為主,協(xié)調(diào)器的主要功能為傳感器網(wǎng)絡(luò)構(gòu)建,通過多個節(jié)點對溫度、亮度、濕度等因素進行檢測處理后,由無線網(wǎng)發(fā)送到協(xié)調(diào)器中,并傳遞給主控制器,由主控器根據(jù)無線網(wǎng)進行信號傳輸,使其被傳遞到被控端。此外,主控器還有一個功能,便是在家庭網(wǎng)絡(luò)與外界互聯(lián)網(wǎng)之間充當(dāng)橋梁作用,實現(xiàn)遠程查詢,對家居中的家電進行智能控制。由于系統(tǒng)對設(shè)備功耗提出較高要求,可采用Zigbee協(xié)議。該協(xié)議具有低功耗、低成本、低速率的特點,有助于延長網(wǎng)絡(luò)壽命,增強系統(tǒng)運行穩(wěn)定性。
對于不同的應(yīng)用,無線傳感器節(jié)點的構(gòu)成有所區(qū)別,通常包括數(shù)據(jù)采集、收發(fā)、處理與電源四項內(nèi)容,具體如下。
(1)數(shù)據(jù)采集。對于不同節(jié)點,數(shù)字傳感器不盡相同,主要體現(xiàn)在溫濕度、亮度等方面,如若該節(jié)點被應(yīng)用到被控端或者協(xié)調(diào)器中,則無需該模塊。
(2)數(shù)據(jù)收發(fā)。主要由CC2420 射頻模塊構(gòu)成,在節(jié)點中還需求串口通信與家庭網(wǎng)關(guān)之間進行數(shù)據(jù)交換。
(3)數(shù)據(jù)處理。采用MSP430 系列的單片機,具有低功耗特點,可滿足多樣化節(jié)點需求,合理選擇與之相對應(yīng)的單片機。
(4)電源。主要作用是為射頻模塊、單片機與傳感器等設(shè)備提供電能。
在CC2420 應(yīng)用過程中,對外部原件的需求較少,外圍電路包括射頻傳輸、晶振時鐘、微控制器接口等內(nèi)容。芯片信號不但可從有源晶振中獲取,還可從內(nèi)部電路中獲得;射頻電路的作用在于配合芯片傳輸阻抗。在CC2420 運行中,可通過4 線SPI 總線確定芯片的運行模式,并完成存儲數(shù)據(jù)、讀寫狀態(tài)等工作。在SPI 總線接口中,可完成地址與數(shù)據(jù)傳輸?shù)墓ぷ?,且?shù)據(jù)傳輸時CSn 務(wù)必要保持低電平。此外,還可通過CCA 管腳狀態(tài),對通道數(shù)據(jù)進行控制,對時鐘和定時信息進行傳輸,上述接口需要與對應(yīng)管腳連接后,才可對射頻功能進行管控[1]。
在該系統(tǒng)中,軟件是在μC/os-Ⅱ的基礎(chǔ)上設(shè)計,μC/os-Ⅱ是一個可移植、源碼公開、可裁剪的實時多任務(wù)操作系統(tǒng),該系統(tǒng)中大多數(shù)源碼由ANSIC 編制,對系統(tǒng)資源的占用較少,最小化內(nèi)核可編譯到2k,在傳感器節(jié)點中充分適用。該系統(tǒng)的軟件設(shè)計包括嵌入式系統(tǒng)移植,在μC/os-Ⅱ的基礎(chǔ)上進行程序編寫,除了采用與μC/os-Ⅱ配置相關(guān)的內(nèi)容外,還可將C語言應(yīng)用到程序設(shè)計中。
(1)μC/os-Ⅱ的移植??煽偨Y(jié)為兩點,即定義基本配置和系統(tǒng)相關(guān)函數(shù)。前者主要包括編譯器相關(guān)數(shù)據(jù)、CPU 狀態(tài)寄存器、宏定義等,可完成中斷線與任務(wù)棧之間的分離。后者主要包括任務(wù)初始階段構(gòu)建的任務(wù)棧函數(shù)、鉤子函數(shù)與其他函數(shù)等。
(2)應(yīng)用程序編寫。當(dāng)μC/os-Ⅱ移植完畢后,可在此基礎(chǔ)上編寫程序,主函數(shù)的作用在于創(chuàng)建任務(wù)、開始多任務(wù)調(diào)度、啟動CC2420 等,根據(jù)節(jié)點應(yīng)用環(huán)境還可創(chuàng)建更多新任務(wù);協(xié)調(diào)器的作用在于構(gòu)建網(wǎng)絡(luò),對節(jié)點的增減情況進行查詢;終端節(jié)點的作用是查詢并連入網(wǎng)絡(luò),軟件體系如圖1 所示[2]。
圖1 軟件體系框圖
在MSP430 單片機中,主要優(yōu)勢在于超低功耗,當(dāng)電流低于1 μA 時,I/O 傳輸漏電流最高可達到50 nA。在電壓為3 V 的工作模式下,電流大多在300 μA 左右。在低功耗模式下,電流值在55μA 左右。CC2480無線收發(fā)器可在電壓為3 V 的狀態(tài)下,使數(shù)據(jù)電流處于26.7 mA,在休眠狀態(tài)下,電流數(shù)值低于1 μA;在節(jié)電模式下,電流值在27.1 mA 左右。
如若采用低功耗器件設(shè)計節(jié)點,系統(tǒng)始終處于運行模式,則2 000 mAh 的3.3 V 電池的壽命僅為73.8 h,可見軟件低功耗設(shè)計的重要性。在軟件部分的低功耗措施主要在于任務(wù)調(diào)度管理,可采用如下方式來實現(xiàn)。
(1)當(dāng)系統(tǒng)中有多個任務(wù)同時進行時,μC/os-Ⅱ規(guī)定一個程序必須有對應(yīng)的空閑任務(wù),且該任務(wù)無法刪除。對此,可對鉤子函數(shù)進行優(yōu)化,使系統(tǒng)在處于空閑狀態(tài)之前,以低功耗模式運行。
(2)當(dāng)系統(tǒng)處于空閑狀態(tài)下,如若接收空閑任務(wù)的時間超出設(shè)定值,則應(yīng)先將傳感器、CC2420 等芯片進入到休眠狀態(tài),此時系統(tǒng)自動休眠,處于低功耗模式下,如若在此過程中無待處理事件發(fā)生,可進入睡眠狀態(tài),如若有事件發(fā)生,可進入休眠狀態(tài),如若該事件為有效事件,則系統(tǒng)可恢復(fù)到正常的運行模式。
(3)在家居環(huán)境監(jiān)測中,無需監(jiān)測系統(tǒng)長期處于工作狀態(tài),一般每小時只需監(jiān)測6 次即可;在任務(wù)調(diào)度過程中,在執(zhí)行任務(wù)后,可在短期內(nèi)無需再次執(zhí)行,如光亮、溫濕度等,此時系統(tǒng)將進入到睡眠狀態(tài);當(dāng)系統(tǒng)中全部任務(wù)均處于睡眠狀態(tài)后,如若睡眠時間已到,則CPU 開始工作,調(diào)度功能恢復(fù)。通過家居環(huán)境中溫濕度的檢測,通過Zigbee 節(jié)點可對數(shù)據(jù)收發(fā)與簡單組網(wǎng)功能進行測試,使系統(tǒng)能夠穩(wěn)定高效的運行[3]。
本文設(shè)計的無線傳感器網(wǎng)絡(luò)在智能家居系統(tǒng)中應(yīng)用后,為設(shè)備布線、增減等工作帶來極大便利,使系統(tǒng)運行狀態(tài)更加穩(wěn)定。將設(shè)計嵌入操作系統(tǒng)后,使設(shè)計效率得到提升,達到節(jié)能高效的目標,為日后功能拓展提供更多便利,在延長系統(tǒng)壽命、增強穩(wěn)定性等方面,也具有重要作用。