Digi XBee-Pro 900HP模塊(硬件版本:S3B)可以支持三種不同的固件:XBP9B-DM、XBP9B-DP和XBP9B-XC,而XBP9B-XC算是比較舊的固件了,比較常用的就是XBP9B-DM和XBP9B-DP這兩個固件。
顧名思義,XBP9B-DM固件支持的是DigiMesh協議,可以實現星狀網絡,也可以實現網狀網絡,也就是自組網。XBP9B-DP固件支持的是點對點/點對多點(P2MP)協議;在P2MP中,發送設備始終將所有消息直接發送到目標節點。其他節點不轉發該數據包。發送設備僅將P2MP單播直接傳送到目標設備,該目的設備必須在發送設備的范圍內。
那么,XBP9B-DM和XBP9B-DP這兩個固件的主要區別在哪里呢?下面通過比較AT指令,認識這兩者的區別:
1、XBP9B-DM固件支持MR指令,而XBP9B-DP固件不支持
分析:MR參數的含義是“mesh單播重試”,實現功能是設置或讀取網絡數據包傳遞試圖的最大次數;就是針對DigiMesh協議的。若MR不為零,則設備發送的數據包將請求網絡確認,若設備未收到確認,則最多可重新發送MR+1次。更改此值會極大地改變路由請求所花費的時間。建議將此值設置為1。若將此參數設置為0,它將禁用網絡ACK;最初,設備可以找到路由,但是若路由失敗,它將永遠無法修復。
此外,注意CE參數是:CE=0(默認值),設置為“標準路由器”。
2、XBP9B-DM固件,TO=0xC0;XBP9B-DP固件,TO=0x40
3、XBP9B-DM固件,SO=2;XBP9B-DP固件,SO=0
分析:SO表示“睡眠選型”,其含義如下:
同步睡眠功能是DigiMesh協議里支持的,所以,XBP9B-DM固件:SO=2,這是默認值;XBP9B-DP固件:SO=0,即不起作用;這樣一來,也就沒有SS、OS、OW、MS和SQ這些動態只讀指令了。
4、固件版本號和CK值不同
分析:XBP9B-DM固件的版本號是80xx,XBP9B-DP固件的版本號是10xx。
5、還有一個AG命令,僅在XBP9B-DM固件里支持
AG(聚合器支持)命令通過具有對接收廣播節點以下的效果網絡發送的廣播:①若路由表中有空間,則接收節點會建立一條DigiMesh路由回到原始節點。②若AG參數與接收節點的當前DH/DL相匹配,則接收節點的DH和DL更新為始發節點的地址。③具有DH和DL更新的,啟用API的設備從串行端口發送聚合尋址更新幀(0x8E)。
綜上所述,要想用XBP9B-DM固件實現點對多點傳輸,可以做如下參數配置和優化:
1、TO=0x40,設置為點對多點傳輸方式。
2、CE=2,設置為“非路由模塊”,可以減小模塊上MCU和帶寬浪費。
3、NH=1,由于不做路由,可以把網絡跳點設置為1(默認NH=7),以增大帶寬。一些固件內部像timeout的算法會用到這個參數。
4、MR默認為1,SO默認為2,可以不用修改,實際上是不起什么作用的。
審核編輯:陳陳
-
固件
+關注
關注
10文章
550瀏覽量
22974 -
DM
+關注
關注
0文章
31瀏覽量
21388 -
DP
+關注
關注
1文章
195瀏覽量
39767 -
AT指令
+關注
關注
1文章
41瀏覽量
12115
原文標題:比較AT指令,認識Digi 900HP模塊DM和DP固件的區別
文章出處:【微信號:雨飛工作室,微信公眾號:雨飛工作室】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論