基于2.4G的智能家居控制系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:無(wú)線通信技術(shù)不僅廣泛應(yīng)用于工業(yè)控制中,在人們的日常生活中也得到大力的推廣和應(yīng)用。本文介紹了基于2.4G無(wú)線通信技術(shù)的智能家居控制系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)方法,對(duì)系統(tǒng)主要硬件電路進(jìn)行了設(shè)計(jì),并系統(tǒng)地分析了無(wú)線通信中的載波監(jiān)聽(tīng)技術(shù)及載荷的數(shù)據(jù)結(jié)構(gòu)。
關(guān)鍵詞:2.4G;智能家居控制系統(tǒng);無(wú)線通信協(xié)議
引言
近年來(lái),無(wú)線通信技術(shù)快速發(fā)展,涌現(xiàn)出藍(lán)牙、ZigBee、WiFi和RFID等無(wú)線通信技術(shù)。無(wú)線通信產(chǎn)品因?yàn)槠浔憬菪浴踩院鸵撞倏匦缘葍?yōu)點(diǎn),已經(jīng)被大多數(shù)人接受、采納和使用。本文設(shè)計(jì)的基于2.4G智能家居控制系統(tǒng)采用2.405~2.485 GHz無(wú)線頻段,該頻段是國(guó)際規(guī)定
的免費(fèi)頻段,不需要向國(guó)際相關(guān)組織繳納任何費(fèi)用,為2.4G無(wú)線技術(shù)可持續(xù)發(fā)展提供了必要的有利條件。由于2.4G采用全雙工模式傳輸,在抗干擾性能上比之前的27MHz有絕對(duì)的優(yōu)勢(shì);傳送速率高達(dá)2 Mbps,是藍(lán)牙傳送速率的兩倍,對(duì)于較大容量的數(shù)據(jù)傳輸更具吸引力。
無(wú)線智能家居控制系統(tǒng)在國(guó)外一些高檔公寓得到廣泛的應(yīng)用,但在國(guó)內(nèi)由于價(jià)格昂貴,沒(méi)有得到普及。本文設(shè)計(jì)的無(wú)線控制系統(tǒng)采用nRF 24LE1無(wú)線模塊,同時(shí)該芯片的開(kāi)發(fā)體系比較成熟。系統(tǒng)中還加入光學(xué)手指(OFN)模塊,能夠遠(yuǎn)距離對(duì)主節(jié)點(diǎn)進(jìn)行操作,實(shí)現(xiàn)空中鼠標(biāo)功能,通過(guò)PC界面進(jìn)行遠(yuǎn)程操作,真正實(shí)現(xiàn)了無(wú)線控制。
1 原理分析
1.1 無(wú)線模塊簡(jiǎn)介
目前,2.4G無(wú)線通信技術(shù)中常用的芯片有挪威Nordic公司nRF24LE1無(wú)線芯片模組、以色列RFWave公司的RFW102無(wú)線芯片模組等。根據(jù)設(shè)計(jì)需求、性能及成本估算,采用nRF24LE1和nRF24LU1+作為處理主芯片進(jìn)行數(shù)據(jù)傳輸。
nRF24LE1用作每個(gè)節(jié)點(diǎn)的收發(fā)主控芯片,其內(nèi)部有增強(qiáng)型的8051 MCU和內(nèi)嵌2.4G低功耗無(wú)線收發(fā)內(nèi)核nRF24L01P兩個(gè)部分,空中速率最高達(dá)到2 Mbps,保證大容量數(shù)據(jù)的無(wú)線快速傳輸。MCU和無(wú)線收發(fā)內(nèi)核之間通過(guò)SPI接口進(jìn)行通信。該芯片還內(nèi)嵌很多豐富的模塊,尤其是內(nèi)置128位AES硬件加密器,可對(duì)主節(jié)點(diǎn)到從節(jié)點(diǎn)的無(wú)線傳輸過(guò)程進(jìn)行高強(qiáng)度的加密,確保數(shù)據(jù)傳輸?shù)陌踩?,特別滿(mǎn)足RFID對(duì)高安全性的要求。射頻收發(fā)器可配置為4種工作模式:掉電模式、待機(jī)模式、接收模式和發(fā)射模式。通過(guò)配置CONFIG寄存的PWR_UP、PRIM_RC、RFCE和RFCSN實(shí)現(xiàn)4種模式之間的切換,實(shí)現(xiàn)低功耗設(shè)計(jì)的思想。
nRF24LU1+作為主節(jié)點(diǎn)的主控芯片,與PC相連接,通過(guò)其內(nèi)嵌的USB2.0接口,實(shí)現(xiàn)與PC之間的通信,確保其時(shí)效性和快速性。該芯片內(nèi)部與nRF24LE1相似,同樣包含8051 MCU和無(wú)線收發(fā)內(nèi)核nRF24L01P。
1.2 光學(xué)手指模塊簡(jiǎn)介
光學(xué)手指模塊(即光學(xué)手指導(dǎo)航模組)依附于nRF24LE1芯片,構(gòu)成一個(gè)節(jié)點(diǎn),實(shí)現(xiàn)遠(yuǎn)程控制終端設(shè)備功能。其作用是遠(yuǎn)程對(duì)與PC相連接的主節(jié)點(diǎn)端發(fā)送數(shù)據(jù)。根據(jù)應(yīng)用程序響應(yīng),通過(guò)主節(jié)點(diǎn)端發(fā)送數(shù)據(jù)包到需要控制的從節(jié)點(diǎn),控制從節(jié)點(diǎn)連接的電器設(shè)備。
本系統(tǒng)采用創(chuàng)訊達(dá)CD-001型光學(xué)手指導(dǎo)航模組,在移動(dòng)設(shè)備的屏幕上實(shí)現(xiàn)類(lèi)似鼠標(biāo)操作功能。其供電電源電壓為2.6~3.3 V,低功耗特性使其可以做成一個(gè)由蓄電池供電的手持終端設(shè)備。其原理大致為:通過(guò)安裝在感應(yīng)區(qū)周?chē)腖ED發(fā)出紅外線(波長(zhǎng)為870 nm)照射手指,部分紅外線將會(huì)被反射到感應(yīng)區(qū),感應(yīng)區(qū)根據(jù)這些反射的紅外線轉(zhuǎn)化成數(shù)據(jù),計(jì)算出手指移動(dòng)的方向和速度,然后以相對(duì)坐標(biāo)的形式輸出,通過(guò)I2C總線接口與nRF24LE1主芯片進(jìn)行數(shù)據(jù)通信。光學(xué)手指導(dǎo)航模組如圖1所示。
1.3 系統(tǒng)架構(gòu)及工作原理
2.4G智能家居控制系統(tǒng)是基于2.4G無(wú)線收發(fā)芯片和光學(xué)手指導(dǎo)航模組為基礎(chǔ)所設(shè)計(jì)。系統(tǒng)架構(gòu)如圖2所示。
nRF24LE1與nRF24LU1+均采用nRF24L01P無(wú)線收發(fā)內(nèi)核。nRF24L01P在對(duì)數(shù)據(jù)包處理過(guò)程中采用增強(qiáng)型ShockBurst模式。增強(qiáng)型ShockBurst模式下nRF24L01處于接收模式時(shí)可以接收6路不同通道的數(shù)據(jù),如圖2所示,每一個(gè)數(shù)據(jù)通道使用不同的地址,但是共用相同的RF頻道。當(dāng)6個(gè)nRF24LE1設(shè)置為發(fā)送模式后,可以與同一個(gè)設(shè)置為接收模式的nRF24LU1+進(jìn)行通信,而設(shè)置為接收模式的nRF24LU1+對(duì)6個(gè)發(fā)射端進(jìn)行識(shí)別。數(shù)據(jù)通道0是唯一一個(gè)可以配置為40位自身地址的數(shù)據(jù)通道,因此把數(shù)據(jù)通道0作為空中鼠標(biāo)的數(shù)據(jù)傳輸通道。
數(shù)據(jù)通道1~5均為8位自身地址和32位公用的高地址。因此,這5個(gè)數(shù)據(jù)通道可以配置為需要控制的家用電器,如數(shù)字機(jī)頂盒、空調(diào)和微波爐等等。只需要在每個(gè)家用電器上安裝以nRF24LE1為主控芯片的無(wú)線模塊,就可實(shí)現(xiàn);利用空中鼠標(biāo)對(duì)PC遠(yuǎn)距離操作,再由PC端主節(jié)點(diǎn)發(fā)射控制信號(hào),按照用戶(hù)的需要實(shí)現(xiàn)控制電器的功能。
2 硬件電路
硬件電路包含3個(gè)部分:nRF24LE1為主控芯片的從節(jié)點(diǎn)端,nRF24LE1和OFN模組的空中鼠標(biāo),以及nRF24LU1+為主控芯片連接PC的主節(jié)點(diǎn)端。下面具體闡述后兩者的電路設(shè)計(jì)。
2.1 PC主節(jié)點(diǎn)端
主節(jié)點(diǎn)端采用的芯片nRF24LU1+,內(nèi)嵌USB功能模塊,只需在外圍提供4個(gè)接口即可實(shí)現(xiàn)其功能。接收端天線由電容和電感匹配,功能包括對(duì)信號(hào)的選頻和諧振;對(duì)不需要的信號(hào)頻率濾波,使接收到的數(shù)據(jù)信號(hào)和發(fā)射端的數(shù)據(jù)信號(hào)達(dá)到完全相同。電容和電感的參數(shù)配置根據(jù)運(yùn)算得出。該部分由于體積較小,沒(méi)有設(shè)置復(fù)位按鍵,如果需要復(fù)位,只需要重新插拔接收端至PC的USB接口。主節(jié)點(diǎn)電路如圖3所示。
2.2 OFN模塊
OFN模塊和nRF24LE1共同組合實(shí)現(xiàn)空中鼠標(biāo)功能。兩者之間的連接是通過(guò)I2C總線進(jìn)行通信,因此需要將CD-001的IO_MISO_SDA、IO_CLK兩引腳與nRF24LE1芯片的兩個(gè)GPIO口相連,完成I2C總線數(shù)據(jù)通信。采用片狀DOME按鍵,貼在模組的背面。DOME-引腳與地相連,DOME+引腳給后端MCU,MCU判斷是否已經(jīng)按下,這個(gè)鍵一般作為確定鍵使用,類(lèi)似鼠標(biāo)左鍵。在該系統(tǒng)中,光學(xué)手指模塊就是發(fā)揮鼠標(biāo)的功能。因此這個(gè)節(jié)點(diǎn)設(shè)備同樣可以適用于所有PC,其兼容性確定了該設(shè)備可以得到普及。OFN模塊電路如圖4所示。
3 無(wú)線通信協(xié)議
3.1 載波監(jiān)聽(tīng)技術(shù)
為了實(shí)現(xiàn)在同一個(gè)范圍內(nèi)多點(diǎn)間通信,需要考慮數(shù)據(jù)在大氣中傳輸時(shí)的相互碰撞問(wèn)題。目前,為了建立可靠的無(wú)線傳輸通路,避免多節(jié)點(diǎn)無(wú)線通信沖突的常用方法有頻分多址(FDMA)、時(shí)分多址(TDMA)、調(diào)頻(FHSS)、載波監(jiān)聽(tīng)(CSMA)等技術(shù)。本系統(tǒng)根據(jù)芯片硬件技術(shù),采用了CSMA技術(shù)。
nRF24LE1集成了載波檢測(cè)功能,可以準(zhǔn)確地檢測(cè)當(dāng)前工作是否有干擾,保證在W-LAN環(huán)境下可靠地工作。其SPI接口與外接微控制器的通信速率高達(dá)10 Mbps,具有切換高速、獨(dú)特的特點(diǎn),減少了與跳頻系統(tǒng)出現(xiàn)碰撞的可能。
采用nRF24LE1的Enhanced ShockBurst模式進(jìn)行通信。對(duì)于主機(jī)節(jié)點(diǎn),主節(jié)點(diǎn)跳頻流程如圖5所示。主節(jié)點(diǎn)始終處于載波檢測(cè)狀態(tài),當(dāng)僅收到一次亂碼干擾的時(shí)候,可能是與藍(lán)牙系統(tǒng)發(fā)送沖突,主機(jī)不必改變信道;當(dāng)持續(xù)收到當(dāng)前頻率的亂碼干擾時(shí),說(shuō)明收到的不是脈沖干擾,而是穩(wěn)定的干擾。這時(shí)nRF24LE1需要按照已設(shè)定的信道列表跳轉(zhuǎn)到另一個(gè)信道。
對(duì)于從節(jié)點(diǎn),發(fā)送完數(shù)據(jù)后等待主機(jī)的ACK,如果沒(méi)有收到ACK,表示發(fā)送失敗,則在相同信道上重發(fā)3次。由于藍(lán)牙系統(tǒng)在每個(gè)信道上停留時(shí)間大約為650μs,而nRF24LE1發(fā)送數(shù)據(jù)并等待接收對(duì)方ACK的時(shí)間大約為1 ms。因此,如果第一次發(fā)送失敗是由于與藍(lán)牙系統(tǒng)發(fā)生沖突,那么第二次發(fā)送一般可以順利到達(dá)接收方。如果3次發(fā)送均失敗,說(shuō)明受到的不是脈沖干擾,而是穩(wěn)定的干擾。因此,需要nRF24LE1按照已設(shè)定的信道列表跳轉(zhuǎn)到另一個(gè)信道。軟件編程時(shí)可以設(shè)置需要跳頻時(shí)查表即可,這也決定了一次只能對(duì)一個(gè)節(jié)點(diǎn)設(shè)備發(fā)出控制信號(hào)。從節(jié)點(diǎn)跳頻流程如圖6所示。
3.2 載荷的數(shù)據(jù)結(jié)構(gòu)
載荷的數(shù)據(jù)結(jié)構(gòu)如下:
幀頭:通過(guò)幀頭判斷數(shù)據(jù)類(lèi)型,如主機(jī)申請(qǐng)數(shù)據(jù)、加入網(wǎng)絡(luò)、退出網(wǎng)絡(luò)、廣播信號(hào)等,根據(jù)幀頭的不同,對(duì)載荷采取不同處理方式。
類(lèi)ID:通過(guò)類(lèi)ID劃分不同類(lèi)型設(shè)備。根據(jù)這個(gè)值的不同可以識(shí)別每個(gè)節(jié)點(diǎn)設(shè)備名稱(chēng)。
設(shè)備ID:劃分同類(lèi)型的設(shè)備。
數(shù)據(jù)長(zhǎng)度:定義所要發(fā)送的數(shù)據(jù)長(zhǎng)度。
數(shù)據(jù):要發(fā)送的數(shù)據(jù)。
總幀數(shù);一個(gè)數(shù)據(jù)包總幀的個(gè)數(shù)。
幀號(hào):標(biāo)記此刻傳輸?shù)牡趲讕瑪?shù)據(jù)。
幀頭、ID、數(shù)據(jù)長(zhǎng)度和數(shù)據(jù)都是由PC通過(guò)USB接口傳輸?shù)?051.MCU部分,再通過(guò)SPI傳給RF部分,RF部分再自動(dòng)把這些數(shù)據(jù)包組裝成無(wú)線傳輸?shù)母袷?。該方式的?yōu)點(diǎn)是用總幀數(shù)和幀號(hào)保證斷點(diǎn)續(xù)傳。
結(jié)語(yǔ)
本文介紹了基于2.4G無(wú)線通信技術(shù)實(shí)現(xiàn)智能家居控制系統(tǒng)的設(shè)計(jì)方法,詳細(xì)闡述了創(chuàng)新部分的電路設(shè)計(jì);同時(shí)系統(tǒng)地分析了無(wú)線傳輸協(xié)議的制定和載波監(jiān)聽(tīng)技術(shù)在該系統(tǒng)的應(yīng)用。該系統(tǒng)基于PC平臺(tái),在以后的研究中,可以考慮使用基于ARM平臺(tái)的手持終端,實(shí)現(xiàn)更完善的智能家居一體化控制系統(tǒng)。