智能家居無線網絡通訊協議設計方案
1.3 射頻通訊單元
接收部分采用無線射頻模塊nRF24l01,該模塊在2.4GHz 全球開放ISM 頻段使用;最高工作速率2Mbps,高效GFSK 調制,抗干擾能力強;共有126個頻道,滿足多點通信和跳頻通信的需要;內置硬件CRC 校錯和點對多點通信地址控制[9].其中至少兩個模塊組成了通信系統,圖3 中,一個作為主控制器數據發送端;其它作為節點設備數據接收端。接收端完成命令數據接收,依據命令內容聯動對應設備;完成命令后節點射頻模塊進入發送狀態,返回當前節點設備狀態。
圖3 無線通信系統。
2 軟件設計
2.1 射頻工作模式選擇
nRF24l01 射頻模塊的收發模式有三種:EnhancedShockBurst TM 收發模式、ShockBurst TM 收發模式和直接收發模式三種。Enhanced ShockBurst TM 收發模式由器件EN_AA 寄存器配置內容決定。
在Enhanced ShockBurst TM 收發模式下,使用片內先入先出堆棧區,數據從微控制器低速送入,高速發射,速率為1Mbps,通過這種節能方式即使使用低速的微控制器也能得到很高的射頻發射速率。并且與射頻協議相關的所有高速信號處理都在片內進行,這樣有三大優點:節能;系統費用低;數據空中停留時間短,抗干擾性高。同時也減小了整個系統的平均工作電流。
2.2 數據發送接收流程
2.2.1 主控制器射流程
本文設計的無線通信系統是在同一信道下,初始狀態下只有一個發射節點,多個接收節點,主控制器射頻流程如圖4.
(1) 等待網絡數據包的到來,nRF24l01 射頻模塊啟動發送模式,在配置信道上通過廣播方式發送,延時50ms,保證每個從控制器都能接收數據包。
(2) 數據發送完成后射頻模塊立即配置為接收模式,接收從控制器設備的狀態數據幀,并定時2 秒,超時或成功接收從控制器設備應答數據則重新自動配置成發送模式并返回第1 步,防止射頻模塊全部進入接收模式出現互鎖"假死"狀態。
(3) 如果成功接收從控制器設備應答數據,射頻模塊進入等待狀態。
2.2.2 從控制器射頻流程
所有接收節點接收該數據包,并對該數據包的驅動接口數據進行解析校對,比如接收地址匹配,命令碼,操作文件?有匹配節點則進入驅動應用程序并執行操作。該射頻模塊多數情況下處于接收模式,具體流程如圖4:
圖4 主控射頻流程
(1) 從控制器節點nRF24l01 射頻模塊配置成接收模式,直到接收數據包。
(2) 對數據包的驅動接口部分進行解析,接收地址是否匹配,如不匹配則返回步驟(1),再判斷命令操作碼及文件標志,如出現非法操作碼或文件標志,則返回步驟(1),有對應驅動接口則進入驅動應用程序。
(3) 根據輸入的應用數據(記錄控制數據和記錄數據),操作設備將設備狀態寫入發送數據幀。完成后,射頻模塊配置進入發送模式,將發送數據幀返回主控制器,并延時1 秒。
(4) 判斷是還發送成功,失敗則重新進入步驟(1),成功則結束,同樣進入初始化狀態。
圖5 從機節點射頻流程圖。
評論