文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)05-0082-04
隨著信息技術(shù)的快速發(fā)展,物聯(lián)網(wǎng)技術(shù)開(kāi)始受到人們的廣泛關(guān)注和重視,并被視為繼計(jì)算機(jī)、互聯(lián)網(wǎng)與移動(dòng)通信網(wǎng)之后的世界信息產(chǎn)業(yè)第三次浪潮 [1]。同時(shí),如何通過(guò)物聯(lián)網(wǎng)技術(shù)改善居家環(huán)境和辦公環(huán)境,從而實(shí)現(xiàn)對(duì)不同設(shè)備的集中控制、節(jié)能控制和智能化管理[2]也成為人們?nèi)找骊P(guān)注的熱點(diǎn)。但當(dāng)今我們所使用的家電大部分仍采用紅外協(xié)議進(jìn)行控制,如,空調(diào)、投影儀和DVD等,致使這些紅外家電不能快速、有效地融入物聯(lián)網(wǎng)中。而無(wú)論是對(duì)這些家電進(jìn)行改造或是重新設(shè)計(jì)都將延長(zhǎng)研發(fā)周期,增加研發(fā)成本,提高設(shè)備價(jià)格,這也正是物聯(lián)網(wǎng)技術(shù)推廣艱難的重要原因之一。因此,設(shè)計(jì)一套使現(xiàn)有紅外家電在不做任何改造的情況下即可順利融入物聯(lián)網(wǎng)環(huán)境中的系統(tǒng)是十分必要的。同時(shí)對(duì)物聯(lián)網(wǎng)的推廣具有重要現(xiàn)實(shí)意義。
1 系統(tǒng)方案
本文設(shè)計(jì)的ZigBee-紅外控制系統(tǒng)依次分為上位機(jī)控制中心、ZigBee網(wǎng)絡(luò)和終端設(shè)備三部分。其系統(tǒng)架構(gòu)如圖1所示。其中ZigBee網(wǎng)絡(luò)部分由ZigBee協(xié)調(diào)器和基于ZigBee無(wú)線(xiàn)網(wǎng)絡(luò)控制的ZigBee-紅外遙控組成??刂浦行耐ㄟ^(guò)串口向ZigBee協(xié)調(diào)器發(fā)送控制指令,協(xié)調(diào)器在接收到控制指令后通過(guò)ZigBee網(wǎng)絡(luò)將控制信息發(fā)送給對(duì)應(yīng)ZigBee-紅外遙控節(jié)點(diǎn),并由該節(jié)點(diǎn)發(fā)射對(duì)應(yīng)的紅外信號(hào),實(shí)現(xiàn)基于ZigBee無(wú)線(xiàn)通信技術(shù)的紅外家電控制。
系統(tǒng)ZigBee網(wǎng)絡(luò)部分采用TI公司的無(wú)線(xiàn)SoC集成芯片CC2530[3]以及TI2007版ZigBee協(xié)議棧。
2 硬件設(shè)計(jì)
硬件部分采用模塊化的設(shè)計(jì)方式,將電路分為CC2530核心板與各功能不同的擴(kuò)展板,實(shí)現(xiàn)同一核心板與不同擴(kuò)展板的配合使用。這樣的好處在于針對(duì)不同的應(yīng)用場(chǎng)景只需選取不同的擴(kuò)展板,而不必對(duì)核心板進(jìn)行修改。CC2530核心板包含CC2530芯片和RF收發(fā)電路,并引出芯片的主要I/O口與擴(kuò)展板結(jié)合。根據(jù)功能的不同,擴(kuò)展版分為ZigBee協(xié)調(diào)器和ZigBee-紅外遙控兩種。
2.1 ZigBee-紅外遙控電路
ZigBee-紅外遙控由CC2530核心板和ZigBee-紅外遙控?cái)U(kuò)展板兩部分組成。其擴(kuò)展版主要包括嵌入式微處理器、紅外收/發(fā)模塊和電源模塊等。其結(jié)構(gòu)框圖如圖2所示。
為實(shí)現(xiàn)低成本、高實(shí)時(shí)性的遙控,遙控的嵌入式微處理器選用由NXP半導(dǎo)體公司生產(chǎn)的基于Cortex-M0內(nèi)核的LPC1114。該微處理器的CPU頻率可到50 MHz,同時(shí)包含高達(dá)32 KB片內(nèi)Flash存儲(chǔ)器和8 KB數(shù)據(jù)存儲(chǔ)器, 4個(gè)通用計(jì)時(shí)器以及多達(dá)42個(gè)通用I/O引腳[5]。同時(shí)為進(jìn)一步提高遙控的實(shí)時(shí)性,減小軟件負(fù)載,遙控不采用任何嵌入式操作系統(tǒng)。
2.2 ZigBee協(xié)調(diào)器電路
ZigBee協(xié)調(diào)器由CC2530核心板和協(xié)調(diào)器擴(kuò)展板兩部分組成。其擴(kuò)展版主要包括電源和開(kāi)關(guān)模塊、UART串口模塊以及編程下載模塊。其框圖如圖3所示。
由于ZigBee協(xié)調(diào)器是一個(gè)ZigBee無(wú)線(xiàn)網(wǎng)絡(luò)的創(chuàng)建者和協(xié)調(diào)者,同時(shí)還是網(wǎng)絡(luò)內(nèi)部與外部通信的樞紐[4],因此協(xié)調(diào)器必須一直處于活躍狀態(tài)。本次設(shè)計(jì)選用220 V AC/DC穩(wěn)壓電源轉(zhuǎn)換模塊為協(xié)調(diào)器提供持續(xù)穩(wěn)定的電源電壓,并設(shè)有電源開(kāi)關(guān)。
2.3 協(xié)調(diào)器電源電路
由于CC2530由3.3 V電壓供電,因此協(xié)調(diào)器電源電路需設(shè)計(jì)為3.3 V電壓輸出,如圖4所示。
首先由JP1電源接口輸入220 V交流電,經(jīng)過(guò)AC/DC電源模塊輸出5 V直流電源。再經(jīng)過(guò)SPX1117-3.3 V LDO芯片產(chǎn)生穩(wěn)定的3.3 V輸出電壓。SPX1117-3.3 V芯片的輸出電流可達(dá)800 mA,輸出電壓的精度在±1%以?xún)?nèi)。
3 軟件設(shè)計(jì)
本系統(tǒng)的軟件設(shè)計(jì)包含基于TI Z-Stack軟件構(gòu)架的ZigBee程序設(shè)計(jì)、嵌入式微處理器程序設(shè)計(jì)和上位機(jī)控制中心軟件設(shè)計(jì)三部分。
3.1 ZigBee程序設(shè)計(jì)
基于Z-Stack軟件構(gòu)架的ZigBee程序設(shè)計(jì)分為協(xié)調(diào)器程序設(shè)計(jì)和ZigBee-紅外遙控程序設(shè)計(jì)兩部分。它們同樣采用TI 2007版ZigBee協(xié)議棧,該協(xié)議棧的特點(diǎn)在于很好地支持了網(wǎng)絡(luò)的自組織和自愈合。同時(shí),相對(duì)于2006版的ZigBee協(xié)議棧, 2007版協(xié)議棧還增加了支持多密鑰高安全性、支持大型網(wǎng)絡(luò)、支持分割傳輸?shù)刃绿匦浴?br/>
ZigBee協(xié)議棧通過(guò)輪詢(xún)的方式依次查詢(xún)來(lái)自MAC層、網(wǎng)絡(luò)層、硬件抽象層、應(yīng)用支持子層(APS)、ZigBee設(shè)備對(duì)象(ZDO)層和應(yīng)用層的任務(wù),并按優(yōu)先級(jí)由高至低的順序依次處理[6]。
本設(shè)計(jì)的重點(diǎn)在于建立穩(wěn)定可靠的、能自組織的ZigBee網(wǎng)絡(luò),同時(shí)實(shí)現(xiàn)基于ZigBee網(wǎng)絡(luò)的紅外家電控制。ZigBee協(xié)調(diào)器和ZigBee-紅外遙控主要實(shí)現(xiàn)的功能有:
(1)協(xié)調(diào)器依據(jù)ZigBee協(xié)議棧,在Z_Stack架構(gòu)下,組建了一個(gè)低功耗、自組織、可多跳和可靠健壯的樹(shù)形無(wú)線(xiàn)網(wǎng)絡(luò)。
(2)協(xié)調(diào)器將來(lái)自上位機(jī)控制中心的控制信息按照預(yù)定義的幀格式構(gòu)造成發(fā)射數(shù)據(jù),再通過(guò)ZigBee網(wǎng)絡(luò)發(fā)送給相應(yīng)的遙控節(jié)點(diǎn)。
(3)遙控節(jié)點(diǎn)在接收到數(shù)據(jù)后按照預(yù)定義的幀格式解析數(shù)據(jù),并執(zhí)行相應(yīng)操作,實(shí)現(xiàn)基于ZigBee網(wǎng)絡(luò)的紅外家電控制。
(4)通過(guò)遙控節(jié)點(diǎn)上的不同傳感器對(duì)室內(nèi)溫度、濕度等信息進(jìn)行采集,并將采集到的信息通過(guò)上位機(jī)顯示,實(shí)現(xiàn)對(duì)室內(nèi)溫度、濕度的監(jiān)控。
如圖5所示,根據(jù)ZigBee節(jié)點(diǎn)的類(lèi)型、編號(hào)、功能指令和操作類(lèi)型等參數(shù)定義數(shù)據(jù)幀格式。
3.2 嵌入式微處理器程序設(shè)計(jì)
為實(shí)現(xiàn)集中控制,同一遙控節(jié)點(diǎn)需對(duì)不同紅外家電進(jìn)行控制[7],因此遙控節(jié)點(diǎn)需具有一定紅外學(xué)習(xí)能力。由于當(dāng)前家電所采用的紅外協(xié)議紛繁復(fù)雜,要實(shí)現(xiàn)紅外協(xié)議的統(tǒng)一并不現(xiàn)實(shí)。因此,為了避開(kāi)紛繁復(fù)雜的碼型,本系統(tǒng)中的遙控采用記錄紅外信號(hào)高低電平脈沖寬度的方式實(shí)現(xiàn)紅外信號(hào)的學(xué)習(xí)[8]。
設(shè)計(jì)思路為,通過(guò)嵌入式微處理器實(shí)現(xiàn)紅外信號(hào)的學(xué)習(xí)、存儲(chǔ)以及發(fā)射。當(dāng)進(jìn)入紅外學(xué)習(xí)狀態(tài)后,首先使能LPC1114 GPIO 2的雙邊沿觸發(fā)中斷,并等待紅外信號(hào)。當(dāng)檢測(cè)到紅外信號(hào)下降沿時(shí),進(jìn)入中斷處理函數(shù),開(kāi)啟計(jì)數(shù)器,直到紅外信號(hào)出現(xiàn)邊沿跳變時(shí)再次進(jìn)入中斷處理函數(shù),關(guān)閉計(jì)數(shù)器,記錄低電平脈沖寬度。同時(shí)再次啟動(dòng)計(jì)數(shù)器,開(kāi)始記錄高電平脈沖寬度。直至檢測(cè)到脈沖寬度大于60 ms時(shí),判斷為紅外信號(hào)發(fā)送完畢,結(jié)束學(xué)習(xí)過(guò)程。最后將學(xué)習(xí)到的數(shù)據(jù)存入存儲(chǔ)器中。
以下為紅外學(xué)習(xí)中斷處理函數(shù)代碼[5]:
LPC_GPIO2->IC|=Signal_In;
LPC_TMR16B0->TCR=0x00;
IR_Data[Ram_Point]= LPC_TMR16B0->TC;
LPC_TMR16B0->TC=0;
LPC_TMR16B0->TCR=0x01;
Ram_Point ++;
判斷紅外信號(hào)發(fā)射完畢程序代碼:
if (LPC_TMR16B0->TC>=60000){
NVIC_DisableIRQ(EINT2_IRQn);
LPC_TMR16B0->TCR= 0x00;}
紅外信號(hào)的發(fā)射過(guò)程采用匹配中斷的方式實(shí)現(xiàn)。首先將學(xué)習(xí)到的脈寬數(shù)據(jù)加載到LPC1114的32位計(jì)數(shù)器中,并啟動(dòng)計(jì)數(shù)器。當(dāng)計(jì)數(shù)值與計(jì)數(shù)器中預(yù)裝載的值相匹配時(shí),產(chǎn)生匹配中斷。以下為紅外發(fā)射中斷處理函數(shù)代碼:
LPC_TMR32B0->IR=0x01;
Ram_Point ++;
LPC_TMR32B0->MR0=
IR_Data[Ram_Point];
if (Ram_Point%2==0)
Signal_OFF(); else
Signal_ON();
嵌入式微處理器的程序流程圖如圖6所示。
遙控的載波由16位計(jì)數(shù)器通過(guò)匹配反轉(zhuǎn)輸出的方式產(chǎn)生。該方法極大地提高了載波的穩(wěn)定性[9],同時(shí)減少額外器件,降低成本。圖7為通過(guò)邏輯分析儀獲取的某一紅外信號(hào)與本遙控所學(xué)信號(hào)間的對(duì)比圖。由于紅外接收頭會(huì)將接收到的紅外信號(hào)反向,因此,原信號(hào)與學(xué)習(xí)信號(hào)剛好高低電平相反。通過(guò)圖7的波形對(duì)比可看出該遙控已成功實(shí)現(xiàn)學(xué)習(xí)功能。
3.3 上位機(jī)控制中心軟件設(shè)計(jì)
上位機(jī)控制中心的軟件設(shè)計(jì)選用Visual Studio 2010集成開(kāi)發(fā)環(huán)境,并采用面向?qū)ο蟮木幊陶Z(yǔ)言C#[10]。主要實(shí)現(xiàn)對(duì)各遙控節(jié)點(diǎn)的可視化控制,并實(shí)時(shí)顯示由各節(jié)點(diǎn)采集到的數(shù)據(jù)??刂浦行脑O(shè)計(jì)有串口調(diào)試窗口以便于對(duì)PC和協(xié)調(diào)器節(jié)點(diǎn)間的串口通信進(jìn)行調(diào)試。
4 系統(tǒng)測(cè)試
系統(tǒng)的測(cè)試借助于上位機(jī)控制中心、ZigBee協(xié)調(diào)器和ZigBee-紅外遙控。選用一間配備有空調(diào)和投影儀的普通房間作為實(shí)驗(yàn)環(huán)境,并將房間內(nèi)的空調(diào)和投影儀作為實(shí)驗(yàn)對(duì)象。
首先,用ZigBee協(xié)調(diào)器創(chuàng)建一個(gè)ZigBee網(wǎng)絡(luò);其次,各ZigBee-紅外遙控節(jié)點(diǎn)依次加入網(wǎng)絡(luò)中;然后,通過(guò)上位機(jī)控制中心對(duì)相應(yīng)遙控節(jié)點(diǎn)發(fā)送控制指令;最后,觀察房間內(nèi)空調(diào)與投影的工作狀況。
測(cè)試過(guò)程中控制中心能實(shí)現(xiàn)對(duì)房間內(nèi)空調(diào)和投影的有效控制,達(dá)到設(shè)計(jì)要求,表明該系統(tǒng)效果良好。
本文所設(shè)計(jì)的面向物聯(lián)網(wǎng)家電的ZigBee-紅外控制系統(tǒng)主要包括上位機(jī)控制中心、ZigBee協(xié)調(diào)器和ZigBee-紅外遙控。它實(shí)現(xiàn)在不對(duì)現(xiàn)有紅外家電做任何改造的情況下使其快速、有效地融入到物聯(lián)網(wǎng)環(huán)境中,達(dá)到對(duì)紅外家電的集中控制、節(jié)能控制和智能化管理。本系統(tǒng)成本低、功耗低、性能優(yōu)越,并具有良好的可擴(kuò)展性。不僅能滿(mǎn)足普通家庭需求,同時(shí)還可應(yīng)用在如政府機(jī)關(guān)、學(xué)校、醫(yī)院等場(chǎng)合。因此本系統(tǒng)具有使用和推廣價(jià)值。
參考文獻(xiàn)
[1] ITU Internet Reports 2005: The Internet of Things[R].Geneva: International Telecommunication Union, 2005.
[2] HAN I, PARK H S, JEONG Y K,et al. An integrated home server for communication, broadcast reception, and home automation[J]. IEEE Transactions on Consumer Electronics, 2006,52(1):104-109.
[3] CC2530 data sheet[M]. April 2009.
[4] 鐘永鋒,劉永俊. ZigBee無(wú)線(xiàn)傳感器網(wǎng)絡(luò)[M]. 北京:北京郵電大學(xué)出版社, 2011.
[5] LPC111x/LPC11Cxx User Manual Rev. 7[M]. 19 September 2011.
[6] 高守瑋,吳燦陽(yáng). ZigBee技術(shù)實(shí)踐教程 [M]. 北京:北京航空航天大學(xué)出版社,2009.
[7] PARK W K, HAN I, PARK K R. ZigBee based dynamic control scheme for multiple legacy IR controllable digital consumer Devices[J]. IEEE Trans. On Consumer Electronics, 2007,53(1):172-177.
[8] 陳祖爵,王建毅. 智能型紅外遙控器的設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2008,24(1-2):305-307.
[9] 徐志,何明華,林武,等. 一類(lèi)基于軟件載波的學(xué)習(xí)型遙控器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù),2009(2):36-38.
[10] WATSON K, NAGEL C. C#入門(mén)經(jīng)典(第5版)[M].北京:清華大學(xué)出版社, 2010.