張 毅,張靈至,盧 威
(重慶郵電大學(xué) 通信學(xué)院,重慶 400065)
隨著信息技術(shù)的快速發(fā)展,物聯(lián)網(wǎng)技術(shù)開始受到人們的廣泛關(guān)注和重視,并被視為繼計(jì)算機(jī)、互聯(lián)網(wǎng)與移動(dòng)通信網(wǎng)之后的世界信息產(chǎn)業(yè)第三次浪潮[1]。同時(shí),如何通過物聯(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)中。而無論是對(duì)這些家電進(jìn)行改造或是重新設(shè)計(jì)都將延長研發(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í)意義。
本文設(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ǎng)絡(luò)控制的ZigBee-紅外遙控組成??刂浦行耐ㄟ^串口向ZigBee協(xié)調(diào)器發(fā)送控制指令,協(xié)調(diào)器在接收到控制指令后通過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無線通信技術(shù)的紅外家電控制。
系統(tǒng)ZigBee網(wǎng)絡(luò)部分采用TI公司的無線SoC集成芯片CC2530[3]以及TI2007版ZigBee協(xié)議棧。
硬件部分采用模塊化的設(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-紅外遙控兩種。
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)。
ZigBee協(xié)調(diào)器由CC2530核心板和協(xié)調(diào)器擴(kuò)展板兩部分組成。其擴(kuò)展版主要包括電源和開關(guān)模塊、UART串口模塊以及編程下載模塊。其框圖如圖3所示。
由于ZigBee協(xié)調(diào)器是一個(gè)ZigBee無線網(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è)有電源開關(guān)。
由于CC2530由3.3 V電壓供電,因此協(xié)調(diào)器電源電路需設(shè)計(jì)為3.3 V電壓輸出,如圖4所示。
首先由JP1電源接口輸入220 V交流電,經(jīng)過AC/DC電源模塊輸出5 V直流電源。再經(jīng)過SPX1117-3.3 V LDO芯片產(chǎn)生穩(wěn)定的3.3 V輸出電壓。SPX1117-3.3 V芯片的輸出電流可達(dá)800 mA,輸出電壓的精度在±1%以內(nèi)。
本系統(tǒng)的軟件設(shè)計(jì)包含基于TI Z-Stack軟件構(gòu)架的ZigBee程序設(shè)計(jì)、嵌入式微處理器程序設(shè)計(jì)和上位機(jī)控制中心軟件設(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ù)刃绿匦浴?/p>
ZigBee協(xié)議棧通過輪詢的方式依次查詢來自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è)低功耗、自組織、可多跳和可靠健壯的樹形無線網(wǎng)絡(luò)。
(2)協(xié)調(diào)器將來自上位機(jī)控制中心的控制信息按照預(yù)定義的幀格式構(gòu)造成發(fā)射數(shù)據(jù),再通過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)通過遙控節(jié)點(diǎn)上的不同傳感器對(duì)室內(nèi)溫度、濕度等信息進(jìn)行采集,并將采集到的信息通過上位機(jī)顯示,實(shí)現(xiàn)對(duì)室內(nèi)溫度、濕度的監(jiān)控。
如圖5所示,根據(jù)ZigBee節(jié)點(diǎn)的類型、編號(hào)、功能指令和操作類型等參數(shù)定義數(shù)據(jù)幀格式。
圖5 通信協(xié)議幀格式
為實(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í)。因此,為了避開紛繁復(fù)雜的碼型,本系統(tǒng)中的遙控采用記錄紅外信號(hào)高低電平脈沖寬度的方式實(shí)現(xiàn)紅外信號(hào)的學(xué)習(xí)[8]。
設(shè)計(jì)思路為,通過嵌入式微處理器實(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ù),開啟計(jì)數(shù)器,直到紅外信號(hào)出現(xiàn)邊沿跳變時(shí)再次進(jìn)入中斷處理函數(shù),關(guān)閉計(jì)數(shù)器,記錄低電平脈沖寬度。同時(shí)再次啟動(dòng)計(jì)數(shù)器,開始記錄高電平脈沖寬度。直至檢測(cè)到脈沖寬度大于60 ms時(shí),判斷為紅外信號(hào)發(fā)送完畢,結(jié)束學(xué)習(xí)過程。最后將學(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);
隨著當(dāng)前國內(nèi)居民用電量的增大,生產(chǎn)力的發(fā)展和人民生活質(zhì)量水平的不斷增強(qiáng),也為我國電力行業(yè)的未來發(fā)展提供便利的條件。當(dāng)前國內(nèi)對(duì)用電需求量的提升也使得電力系統(tǒng)擴(kuò)大電網(wǎng)的覆蓋面積。處于這種時(shí)代背景下的電力系統(tǒng),相關(guān)從業(yè)人員就要不斷增強(qiáng)其運(yùn)行的安全性、穩(wěn)定性和有效性,進(jìn)而才可以不斷滿足當(dāng)前電力系統(tǒng)的信息化發(fā)展要求。在本質(zhì)上來看我國經(jīng)濟(jì)體系發(fā)展,人民日常生活和電力能源產(chǎn)生直接聯(lián)系,因此相關(guān)領(lǐng)域人員要有效掌控電力系統(tǒng)運(yùn)行的穩(wěn)定性和安全性,滿足人民對(duì)于電能日益增長的使用需求。除此之外,電氣自動(dòng)化系統(tǒng)中對(duì)于信息化技術(shù)的大力應(yīng)用也可以對(duì)電力系統(tǒng)運(yùn)行期間的故障問題進(jìn)行有效判斷。
LPC_TMR16B0->TCR=0x00;}
紅外信號(hào)的發(fā)射過程采用匹配中斷的方式實(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_ON();
嵌入式微處理器的程序流程圖如圖6所示。
圖6 嵌入式微處理器程序流程圖
遙控的載波由16位計(jì)數(shù)器通過匹配反轉(zhuǎn)輸出的方式產(chǎn)生。該方法極大地提高了載波的穩(wěn)定性[9],同時(shí)減少額外器件,降低成本。圖7為通過邏輯分析儀獲取的某一紅外信號(hào)與本遙控所學(xué)信號(hào)間的對(duì)比圖。由于紅外接收頭會(huì)將接收到的紅外信號(hào)反向,因此,原信號(hào)與學(xué)習(xí)信號(hào)剛好高低電平相反。通過圖7的波形對(duì)比可看出該遙控已成功實(shí)現(xiàn)學(xué)習(xí)功能。
上位機(jī)控制中心的軟件設(shè)計(jì)選用Visual Studio 2010集成開發(fā)環(huán)境,并采用面向?qū)ο蟮木幊陶Z言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)試。
系統(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ò)中;然后,通過上位機(jī)控制中心對(duì)相應(yīng)遙控節(jié)點(diǎn)發(fā)送控制指令;最后,觀察房間內(nèi)空調(diào)與投影的工作狀況。
測(cè)試過程中控制中心能實(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)器和Zig-Bee-紅外遙控。它實(shí)現(xiàn)在不對(duì)現(xiàn)有紅外家電做任何改造的情況下使其快速、有效地融入到物聯(lián)網(wǎng)環(huán)境中,達(dá)到對(duì)紅外家電的集中控制、節(jié)能控制和智能化管理。本系統(tǒng)成本低、功耗低、性能優(yōu)越,并具有良好的可擴(kuò)展性。不僅能滿足普通家庭需求,同時(shí)還可應(yīng)用在如政府機(jī)關(guān)、學(xué)校、醫(yī)院等場(chǎng)合。因此本系統(tǒng)具有使用和推廣價(jià)值。
[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ǎng)絡(luò)[M].北京:北京郵電大學(xué)出版社,2011.
[5]LPC111x/LPC11Cxx User Manual Rev.7[M].19 September 2011.
[6]高守瑋,吳燦陽.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]徐志,何明華,林武,等.一類基于軟件載波的學(xué)習(xí)型遙控器的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2009(2)∶36-38.
[10]WATSON K,NAGEL C.C#入門經(jīng)典(第5版)[M].北京:清華大學(xué)出版社,2010.