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