基于2.4G的智能家居控制系統(tǒng)設(shè)計(jì)
3 無線通信協(xié)議
3.1 載波監(jiān)聽技術(shù)
為了實(shí)現(xiàn)在同一個范圍內(nèi)多點(diǎn)間通信,需要考慮數(shù)據(jù)在大氣中傳輸時的相互碰撞問題。目前,為了建立可靠的無線傳輸通路,避免多節(jié)點(diǎn)無線通信沖突的常用方法有頻分多址(FDMA)、時分多址(TDMA)、調(diào)頻(FHSS)、載波監(jiān)聽(CSMA)等技術(shù)。本系統(tǒng)根據(jù)芯片硬件技術(shù),采用了CSMA技術(shù)。
nRF24LE1集成了載波檢測功能,可以準(zhǔn)確地檢測當(dāng)前工作是否有干擾,保證在W-LAN環(huán)境下可靠地工作。其SPI接口與外接微控制器的通信速率高達(dá)10 Mbps,具有切換高速、獨(dú)特的特點(diǎn),減少了與跳頻系統(tǒng)出現(xiàn)碰撞的可能。
采用nRF24LE1的Enhanced ShockBurst模式進(jìn)行通信。對于主機(jī)節(jié)點(diǎn),主節(jié)點(diǎn)跳頻流程如圖5所示。主節(jié)點(diǎn)始終處于載波檢測狀態(tài),當(dāng)僅收到一次亂碼干擾的時候,可能是與藍(lán)牙系統(tǒng)發(fā)送沖突,主機(jī)不必改變信道;當(dāng)持續(xù)收到當(dāng)前頻率的亂碼干擾時,說明收到的不是脈沖干擾,而是穩(wěn)定的干擾。這時nRF24LE1需要按照已設(shè)定的信道列表跳轉(zhuǎn)到另一個信道。本文引用地址:http://www.ex-cimer.com/article/159659.htm
對于從節(jié)點(diǎn),發(fā)送完數(shù)據(jù)后等待主機(jī)的ACK,如果沒有收到ACK,表示發(fā)送失敗,則在相同信道上重發(fā)3次。由于藍(lán)牙系統(tǒng)在每個信道上停留時間大約為650μs,而nRF24LE1發(fā)送數(shù)據(jù)并等待接收對方ACK的時間大約為1 ms。因此,如果第一次發(fā)送失敗是由于與藍(lán)牙系統(tǒng)發(fā)生沖突,那么第二次發(fā)送一般可以順利到達(dá)接收方。如果3次發(fā)送均失敗,說明受到的不是脈沖干擾,而是穩(wěn)定的干擾。因此,需要nRF24LE1按照已設(shè)定的信道列表跳轉(zhuǎn)到另一個信道。軟件編程時可以設(shè)置需要跳頻時查表即可,這也決定了一次只能對一個節(jié)點(diǎn)設(shè)備發(fā)出控制信號。從節(jié)點(diǎn)跳頻流程如圖6所示。
3.2 載荷的數(shù)據(jù)結(jié)構(gòu)
載荷的數(shù)據(jù)結(jié)構(gòu)如下:
幀頭:通過幀頭判斷數(shù)據(jù)類型,如主機(jī)申請數(shù)據(jù)、加入網(wǎng)絡(luò)、退出網(wǎng)絡(luò)、廣播信號等,根據(jù)幀頭的不同,對載荷采取不同處理方式。
類ID:通過類ID劃分不同類型設(shè)備。根據(jù)這個值的不同可以識別每個節(jié)點(diǎn)設(shè)備名稱。
設(shè)備ID:劃分同類型的設(shè)備。
數(shù)據(jù)長度:定義所要發(fā)送的數(shù)據(jù)長度。
數(shù)據(jù):要發(fā)送的數(shù)據(jù)。
總幀數(shù);一個數(shù)據(jù)包總幀的個數(shù)。
幀號:標(biāo)記此刻傳輸?shù)牡趲讕瑪?shù)據(jù)。
幀頭、ID、數(shù)據(jù)長度和數(shù)據(jù)都是由PC通過USB接口傳輸?shù)?051.MCU部分,再通過SPI傳給RF部分,RF部分再自動把這些數(shù)據(jù)包組裝成無線傳輸?shù)母袷?。該方式的?yōu)點(diǎn)是用總幀數(shù)和幀號保證斷點(diǎn)續(xù)傳。
結(jié)語
本文介紹了基于2.4G無線通信技術(shù)實(shí)現(xiàn)智能家居控制系統(tǒng)的設(shè)計(jì)方法,詳細(xì)闡述了創(chuàng)新部分的電路設(shè)計(jì);同時系統(tǒng)地分析了無線傳輸協(xié)議的制定和載波監(jiān)聽技術(shù)在該系統(tǒng)的應(yīng)用。該系統(tǒng)基于PC平臺,在以后的研究中,可以考慮使用基于ARM平臺的手持終端,實(shí)現(xiàn)更完善的智能家居一體化控制系統(tǒng)。
評論