一般地,Digi XBee模塊有空閑模式、接收模式、發送模式、睡眠模式和命令模式5種操作模式。下面以XBee3 Zigbee模塊來說明。
1、空閑模式
不接收或發送數據時,設備處于空閑模式。在空閑模式下,設備會在RF和串行端口上偵聽有效數據。
在以下情況下,設備將切換到其他操作模式:
(1)串行接收緩沖區中的串行數據已準備好打包,切換到發送模式。
(2)通過天線接收到的有效RF數據,切換到接收模式。
(3)命令模式序列(“+++”)發布,切換到命令模式。
(4)睡眠條件滿足,切換到睡眠模式。
2、接收模式
通過無線接收數據時,設備會將數據發送到串行端口。
您可以使用AP和AO參數來調整從串行端口發出的消息的格式和類型。根據需要,您可以調整收到的信息量。缺省情況下,設備工作在透明模式,在該模式下設備將僅輸出接收到的數據包的有效負載。在API模式下,將發射整個數據包,并且AO調整是否應發射原始ZDO消息。
2、發送模式
在傳輸數據之前,模塊確保已建立16位網絡地址和到目的節點的路由。
若未提供16位網絡地址,則會進行網絡地址發現。為了發送數據,進行路由發現以建立到目的節點的路由。若未找到具有匹配網絡地址的設備,它將丟棄該數據包。一旦建立路由,設備即會發送數據。若路由發現無法建立路由,則設備將丟棄該數據包。
當Zigbee數據從一個節點傳輸到另一個節點時,目標節點將通過已建立的路由將網絡級確認傳輸回源節點。該確認分組向源節點指示目的地節點接收到數據分組。若源節點未收到網絡確認,它將重新傳輸數據。
在極少數情況下,目標可能會收到數據包,而源可能不會收到網絡確認。在這種情況下,源將重新傳輸數據,這可能導致目的地多次接收相同的數據包。XBee模塊不會過濾掉重復的數據包。我們建議該應用程序包含解決此問題的條款。
3、睡眠模式
睡眠模式允許設備在不使用時進入低功耗狀態。該設備在睡眠期間幾乎完全處于關閉狀態,并且在喚醒之前無法發送或接收數據。XBee3 ZB RF模塊支持引腳睡眠(引腳切換時進入睡眠模式)和周期睡眠(設備休眠固定時間)。
4、命令模式
命令模式是固件將傳入字符解釋為命令的狀態。它允許您使用可以使用AT命令設置的參數來修改設備的配置。若要使用此模式讀取或設置XBee3 ZB RF模塊的任何參數,則必須發送AT命令。每個AT命令以字母AT開頭,后跟標識該命令的兩個字符,然后是一些可選的配置值。
(1)進入命令模式
要使設備切換到命令模式,必須發出以下順序:一秒鐘內+++。+++序列前后必須至少有一秒鐘。指令字符(CC)和序列之前和之后的靜音(GT)都是可配置的(即:您可以在設備的配置中自定義命令字符,保護時間和超時)。當符合進入標準時,設備在UART上以OK 響應,表明它已成功進入命令模式并準備開始處理AT命令。
若配置為在“透明”操作模式下運行,則在進入“命令”模式時,XBee3 ZB RF模塊知道停止發送數據并開始本地接受命令。
注意:鍵入+++后請勿按回車鍵或Enter鍵,因為它會中斷保護時間靜音并阻止您進入命令模式。
當設備處于命令模式時,它會監聽用戶輸入并能夠在UART上接收AT命令。若在沒有任何用戶輸入的情況下經過了CT時間(默認為10s),則設備將退出命令模式并返回到先前的操作模式。您可以通過發送CN來強制設備退出命令模式。
(2)故障排除
無法進入命令模式通常是由于波特率不匹配。確保連接的波特率與設備的波特率匹配。默認情況下,BD=3(9600b/s)。有兩種方法可以進入命令模式:①連續6s的中斷進入命令模式。您可以從串行控制臺發出“break”命令,它通常是按鈕或菜單項。②上電或復位時斷言DIN(串行中斷)進入命令模式。XCTU會指導您進行重置,并在需要時自動發出中斷。
注意:必須為這兩種方法都聲明RTS,否則設備將進入引導加載程序。
這兩種方法都將設備的波特率臨時設置為9600,并在UART上返回OK,以指示命令模式處于活動狀態。退出命令模式后,設備將以BD設置的波特率返回正常操作。
(3)發送AT命令
設備進入命令模式后,請使用下圖中的語法發送AT命令。每個AT命令都以字母AT開頭,AT代表“注意”。AT后跟兩個字符,指示要發出哪個命令,然后是一些可選的配置值。要讀取存儲在設備寄存器中的參數值,請省略參數字段。
前面的示例將NI(節點標識符)更改為My XBee。
a.多個AT命令
在命令模式下,您可以一次發送多個AT命令(用逗號隔開)。例如ATNIMy XBee,AC
前面的示例將NI(節點標識符)更改為My XBee,并通過AC(應用更改)激活設置。
b.參數格式
有關單個AT命令參數的格式,請參閱AT命令列表。十六進制值的有效格式包括帶或不帶前導0x的值,例如FFFF或0xFFFF。
c.對AT命令的響應
使用AT命令設置參數時,若成功,XBee3 ZB RF模塊將以OK
d.應用命令更改
在應用更改之前,使用AT命令對配置命令寄存器進行的任何更改都不會生效。例如,若您發送BD命令以更改波特率,則在應用更改之前,實際波特率不會更改。①發送AC(應用更改),退出命令模式。②發送WR(寫),退出命令模式。
e.使命令更改永久生效
發送WR(寫入)命令以保存更改。WR將參數值寫入非易失性存儲器,以便參數修改可通過后續的復位保持不變。
發送RE(恢復默認值),將使用WR保存的設置抹回到其出廠默認值,或者將自定義默認值(若已設置)恢復為出廠默認值。
注意:您仍然必須使用WR 保存使用RE進行的更改。
(4)退出命令模式
兩種方法:
①發送CN(退出命令模式),然后回車。
②若設備在CT(命令模式超時)指定的時間內未收到任何有效的AT命令,它將返回到透明或API模式。命令模式的默認超時為10s。
審核編輯:湯梓紅
-
模塊
+關注
關注
7文章
2674瀏覽量
47350 -
Digi
+關注
關注
0文章
16瀏覽量
9489 -
無線
+關注
關注
31文章
5437瀏覽量
173103 -
命令
+關注
關注
5文章
678瀏覽量
21987 -
串行端口
+關注
關注
0文章
31瀏覽量
11651
原文標題:淺談Digi XBee模塊的操作模式
文章出處:【微信號:雨飛工作室,微信公眾號:雨飛工作室】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論