關(guān)鍵字:BlueNRG-LP, 傳統(tǒng)廣播,擴(kuò)展廣播
目錄預(yù)覽
1 引言2 問題描述3 問題分析與定位4 問題解決5 小結(jié)
1. 引言
BlueNRG-LP 是意法半導(dǎo)體第三代低功耗藍(lán)牙單芯片解決方案,兼容低功耗藍(lán)牙 5.2版本。相較于之前的 BlueNRG-1/2 版本,意法半導(dǎo)體對(duì)其低功耗藍(lán)牙協(xié)議棧進(jìn)行了升級(jí)和優(yōu)化,引入了 Radio Task 的概念,客戶在研發(fā)過程中,應(yīng)切實(shí)關(guān)注其應(yīng)用中使用到的Radio Task 數(shù)量并在程序中做相應(yīng)的配置,才能避免相關(guān)問題的發(fā)生。
2. 問題描述
客戶使用兩塊 BlueNRG-LP 評(píng)估板,搭建一主一從測試平臺(tái),從設(shè)備同時(shí)發(fā)送傳統(tǒng)廣播包和擴(kuò)展廣播包,主設(shè)備能通過事件 “hci_le_meta_event ”下的子事件“hci_le_extended_advertising_report_event”獲取到傳統(tǒng)廣播數(shù)據(jù)包,但是始終無法同時(shí)掃描到擴(kuò)展廣播包。
3. 問題分析與定位
第一步測試:
使用相同的 BlueNRG-LP 評(píng)估板(STEVAL-IDB011V1)搭建一主一從測試平臺(tái),單從驗(yàn)證上述客戶問題的角度,本測試無需動(dòng)用 IDE 工具,可直接燒錄 SDK 中預(yù)編譯好的可執(zhí)行示例文件。
從設(shè)備端燒錄 SDK 程序:STBlueNRG-LP DK
1.x.yFirmwareBLE_ExamplesBLE_BeaconSTEVAL-IDB011V1BLE_Beacon_ExtendedAdv.hex, 該程序能同時(shí)支持傳統(tǒng)廣播和擴(kuò)展廣播的發(fā)送。
主設(shè)備端燒錄 SDK 程序:STBlueNRG-LP DK 1.x.yFirmwareBLE_ExamplesDTMSTEVAL-IDB011V1 DTM_UART.hex,該程序可以和意法半導(dǎo)體提供的 PC 端測試工具 BlueNRG GUI 配合使用,通過該 GUI 工具將該評(píng)估板配置成主設(shè)備并掃描從設(shè)備發(fā)出的廣播包。可從 GUI 工具界面直接掃描到廣播包數(shù)據(jù)和廣播包類型。
第一步測試結(jié)果,如圖 1 所示,可以同時(shí)掃描到傳統(tǒng)廣播和擴(kuò)展廣播。說明 BlueNRGLP 同時(shí)支持掃描傳統(tǒng)廣播和擴(kuò)展廣播是沒有問題的。
比較分析與客戶平臺(tái)的區(qū)別,從設(shè)備燒錄的一樣的程序,主設(shè)備端客戶使用的基于 SDK 中BLE_SerialPort 參考示例更改的代碼,可初步斷定該問題處在客戶平臺(tái)主設(shè)備端程序上。
第二步測試:
主設(shè)備端重新燒錄 SDK 程序:BlueNRG-LP DK
1.x.yFirmwareBLE_ExamplesBLE_SerialPortSTEVAL-IDB011V1BLE_SerialPort_Client.hex, 經(jīng)過調(diào)試,發(fā)現(xiàn)也無法同時(shí)掃描到擴(kuò)展廣播和傳統(tǒng)廣播,問題現(xiàn)象和客戶描述一致。
通過 BlueNRG-LP 編程手冊(PM0269) 章節(jié) 4 中所述,發(fā)現(xiàn)客戶問題應(yīng)該和代碼中配置的 Radio Task 數(shù)量太小有關(guān),即下圖 2 中的宏 NUM_LINKS,當(dāng)前配置值為 1,即只支持一個(gè) Radio Task。所以無法同時(shí)支持掃描傳統(tǒng)廣播和擴(kuò)展廣播。
4. 問題解決
建議客戶將 BLE Serialport_Client 項(xiàng)目的配置頭文件 “Serialport_config.h ”中的宏NUM_LINKS 中做如下圖 3 中所示的更改,加大 NUM_LINKS 配置值,該宏配置的是BlueNRG LP 在該項(xiàng)目中能支持的最大 Radio Task 的數(shù)量??蛻粜枰瑫r(shí)掃描到擴(kuò)展廣播和傳統(tǒng)廣播,還要求建立連接,所以至少需要支持 3 個(gè) Radio Task。該配置值按要求更改后,重新編譯主設(shè)備端程序并下載測試,問題解決。
4.小結(jié)
從 BlueNRG-LP 開始,意法半導(dǎo)體 BlueNRG 系列芯片的協(xié)議棧升級(jí)到 v3.x 版本,在BLE 不同的應(yīng)用場景中,如多鏈接,連接并掃描,連接并廣播,連接并掃描和廣播等,都需要考慮所在應(yīng)用中需要支持的 Radio Task 的數(shù)量,即宏 NUM_LINKS 的配置值。該值的計(jì)算方法在 BlueNRG-LP/LPS 的編程手冊中有描述,遇到類似問題時(shí),可建議客戶參考相關(guān)文檔的對(duì)應(yīng)章節(jié)。下圖 4 中表格為對(duì)應(yīng) BLE 功能所需的支持的 Radio Task 數(shù)量對(duì)照表,截取自文檔 PM0269。
完整內(nèi)容請(qǐng)點(diǎn)擊“閱讀原文”下載原文檔。
長按掃碼關(guān)注公眾號(hào)
更多資訊,盡在STM32
▽點(diǎn)擊“閱讀原文”,可下載原文檔
原文標(biāo)題:應(yīng)用筆記|使用 BlueNRG-LP SoC 方案無法掃描到擴(kuò)展廣播包
文章出處:【微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
單片機(jī)
+關(guān)注
關(guān)注
6030文章
44498瀏覽量
632156 -
STM32
+關(guān)注
關(guān)注
2264文章
10857瀏覽量
354381
原文標(biāo)題:應(yīng)用筆記|使用 BlueNRG-LP SoC 方案無法掃描到擴(kuò)展廣播包
文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論