本文介紹了億佰特低功耗BLE藍(lán)牙模塊系列的數(shù)據(jù) “有效指示功能”及相關(guān)用法。
數(shù)據(jù)有效指示是通過藍(lán)牙模塊一個引腳DATA(數(shù)據(jù)有效指示引腳,不同型號可能名稱不同)的電平變化來實(shí)現(xiàn)的,在實(shí)際應(yīng)用中,模塊與外部MCU協(xié)同工作,外部MCU的一個引腳與模塊的DATA相連接即可實(shí)現(xiàn)數(shù)據(jù)有效指示等功能。
BLE藍(lán)牙模塊數(shù)據(jù)有效指示是指在透傳模式下,藍(lán)牙從機(jī)接收到數(shù)據(jù)后通過串口向外輸出透傳數(shù)據(jù)時,從串口開始發(fā)送時,數(shù)據(jù)指示引腳以低電平或者高電平來指示。發(fā)送完畢之后,數(shù)據(jù)指示引腳電平翻轉(zhuǎn)。如以低電平來作為數(shù)據(jù)有效指示,無輸出延時時,如圖表 21所示。
圖表21 無輸出延時時數(shù)據(jù)有效指示
上圖中,DATA引腳作為數(shù)據(jù)有效指示引腳,在藍(lán)牙接收完一幀數(shù)據(jù)并串口的TXD發(fā)送該數(shù)據(jù)時,DATA引腳拉低為低電平并保持,指示當(dāng)前正在發(fā)送數(shù)據(jù),直到該幀數(shù)據(jù)發(fā)送完畢,DATA引腳翻轉(zhuǎn)為高電平,表示此時串口空閑。
數(shù)據(jù)輸出延時是指,模塊藍(lán)牙接收到數(shù)據(jù)后,先拉低DATA引腳,10ms后通過串口發(fā)送數(shù)據(jù)。如圖表 22所示。
圖表22 開啟輸出延時時數(shù)據(jù)有效指示
上圖中,在開啟數(shù)據(jù)輸出延時時,藍(lán)牙接收完一幀數(shù)據(jù)后,先拉低DATA引腳并保持10ms,然后串口才開始發(fā)送數(shù)據(jù),白色柱形為串口正在輸出數(shù)據(jù)。
各個藍(lán)牙模塊輸出延時指令可能不一致,詳細(xì)描述如下(以下指令參考自最新的用戶手冊)。
開啟數(shù)據(jù)輸出延時指令如表格 21所示。
指令 | 說明 |
<<>APPON> | 打開串口10ms的延遲 |
成功,返回<<>OK> |
關(guān)閉數(shù)據(jù)輸出延時指令如表格 22所示。
指令 | 說明 |
<<>APPOFF> | 關(guān)閉串口延遲 |
成功,返回<<>OK> |
E104-BT51和E104-BT51A輸出延時指令可查看相關(guān)產(chǎn)品手冊AT指令表。
E104-BT5011A和E104-5032A輸出延時指令如表格 25所示。
表格25 E104-BT5011A和E104-5032A輸出延時指令
藍(lán)牙系列部分模塊的數(shù)據(jù)有效指示功能如表格 26所示。
模塊名稱 | 數(shù)據(jù)延時電平 | 延時時間 | 數(shù)據(jù)有效指示電平 | 可通過指令開啟/關(guān)閉數(shù)據(jù)指示 |
E104-BT02 | 低電平 | 固定10ms | 低電平 | 是 |
低電平 | 固定10ms | 高電平 | 是 | |
低電平 | 固定10ms | 低電平 | 是 | |
低電平 | 固定10ms | 低電平 | 是 | |
低電平 | 固定10ms | 低電平 | 是 | |
無 | 無 | 高電平 | 否 |
表格26 藍(lán)牙系列模塊數(shù)據(jù)有效指示功能匯總
從上述表格可以看出,開啟數(shù)據(jù)輸出延時功能時,延時時,DATA(數(shù)據(jù)有效指示引腳)為低電平保持且保持時間均為10ms;在串口發(fā)送數(shù)據(jù)過程中,僅E104-BT51(A)為高電平保持;其他型號為低電平保持,數(shù)據(jù)發(fā)送完畢后電平翻轉(zhuǎn)。E104-BT52無輸出延時且數(shù)據(jù)有效指示為高電平。
數(shù)據(jù)有效指示用法由具體應(yīng)用決定,即外部MCU是否在串口空閑時進(jìn)入休眠狀態(tài)以降低功耗。
如果為低功耗應(yīng)用,DATA(數(shù)據(jù)有效指示引腳)可用于喚醒外部MCU,串口準(zhǔn)備發(fā)送數(shù)據(jù)并啟動延時時,DATA引腳從高電平切換為低電平產(chǎn)生一個下降沿,外部MCU引腳可設(shè)置為下降中斷,在休眠和正常狀態(tài)之間切換;在輸出延時10ms內(nèi),外部MCU可從休眠中醒來并初始化相關(guān)外設(shè)。
如果為非低功耗應(yīng)用,模塊將要發(fā)送數(shù)據(jù)時,DATA引腳產(chǎn)生的下降沿也可以提醒外部MCU,可以開啟串口接收透傳數(shù)據(jù)了。 即外部MCU連接至DATA的引腳可設(shè)置為下降沿中斷,這樣當(dāng)模塊每當(dāng)要發(fā)送數(shù)據(jù)時,外部MCU可及時整理本地內(nèi)存,存放即將接收的數(shù)據(jù)。
在開啟輸出延時后,有以下注意事項(xiàng):
不支持流傳輸,因?yàn)樵谘訒r期間,串口處于空閑狀態(tài),串口數(shù)據(jù)流會出現(xiàn)分幀;
若空中數(shù)據(jù)包接收得過快,會導(dǎo)致數(shù)據(jù)整包丟失;
因此,輸出延時較適用于數(shù)據(jù)量不大且外部MCU不斷地進(jìn)入休眠狀態(tài)的應(yīng)用。
億佰特大部分藍(lán)牙模塊均支持數(shù)據(jù)有效指示功能,可根據(jù)實(shí)際情況啟用該功能,但需要注意的是,在開發(fā)硬件時,已將DATA引腳引出且連接至外部MCU。數(shù)據(jù)有效指示功能為實(shí)現(xiàn)更低功耗提供了可能,也便于二次開發(fā)省時省力。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多BLE藍(lán)牙模塊和藍(lán)牙技術(shù)資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!
相關(guān)閱讀:
1、USB轉(zhuǎn)藍(lán)牙模塊藍(lán)牙適配器設(shè)備透傳功能測試教程
2、藍(lán)牙Auracast?廣播音頻技術(shù)詳解