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