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