吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

應用筆記|如何讓STM32WB在沒有LSE時運行BLE應用程序

STM32單片機 ? 來源:未知 ? 2023-04-12 23:10 ? 次閱讀

本文檔描述如何讓STM32WB在沒有LSE時運行BLE應用程序所需的流程和步驟。LSE 可作為 STM32WB RF Wakeup 和 RTC 的時鐘源。STM32WB RF Wakeup 和 RTC 的時鐘源可配置為 LSE,LSE 時鐘相對比較穩(wěn)定且準確,不需要校準,而且 LSE 可在所有的低功耗模式下保持工作。

目錄預覽

1 為什么 STM32WB BLE 應用需要 LSE ?2 在需要 BLE 使能時,什么情況下可考慮不使用 LSE?3 如何配置 HSE 作為 RF Wakeup 和 RTC 的時鐘源?

為什么 STM32WB BLE 應用需要 LSE ?

首先LSE 可作為 STM32WB RF Wakeup 和 RTC 的時鐘源。

STM32WB RF Wakeup 和 RTC 的時鐘源可配置為 LSE,LSE 時鐘相對比較穩(wěn)定且準確,不需要校準,而且 LSE 可在所有的低功耗模式下保持工作。

STM32WB RF Wakeup 和 RTC 的時鐘源也可配置為 HSE,由于 HSE 只能在RUN/LP RUN/SLEEP/LP SLEEP 模式保持,進入 STOP/STANDBY/STUTDOWN 模式后,HSE 會被關掉,這樣系統(tǒng)就無法進入 STOP/STANDBY/STUTDOWN 模式,導致系統(tǒng)功耗會更高。另外 HSE 可能沒那么穩(wěn)定,可能需要校準,從而可能導致 STM32WB RF Wakeup 時鐘不穩(wěn),也影響 BLE stack 運行,導致 BLE 工作不穩(wěn)。

56e880b6-d943-11ed-bfe3-dac502259ad0.png

在需要 BLE 使能時,什么情況下可考慮不使用 LSE?

在以下情況下,還需要使能 BLE 并進行開發(fā),調(diào)試時可配置 STM32WB 使用 HSE 做RF Wakeup 和 RTC 的時鐘源。

1.設計時,遺漏 LSE,但是樣機已做好

2.生產(chǎn)了樣機,忘記貼 LSE 了

3. 生產(chǎn)了樣機,LSE 不匹配,暫時可去掉

4.環(huán)境或應用使用某些 GPIO(PC13) 影響 LSE,導致 LSE 時鐘異常或不穩(wěn)

5. 不關心功耗,系統(tǒng)不需要進入低功耗

3. 如何配置 HSE 作為 RF Wakeup 和 RTC 的時鐘源?

本 LAT 基于CubeMX v6.6.1 和 CubeWB v1.14.1 介紹。

3.1 打開 BLE_p2pServer.ioc

用CubeMXv6.6.1打開 STM32Cube_FW_WB_V1.14.1Projects P-NUCLEOWB55.NucleoApplicationsBLEBLE_p2pServerBL E_p2pServer.ioc,以此為例。

3.2失能 LSE

Pinout& Configuration => System Core => RCC=>Low Speed Clock (LSE)=>Disable,失能 LSE。

5711f5c2-d943-11ed-bfe3-dac502259ad0.png

3.3 失能 LPM & 配置 RTC 預分頻

在 Pinout& Configuration => Middleware => STM32_WPAN =>Configuration=>

Generic parameters=>CFG_LPM_SUPPORT=>Disabled,失能低功耗 LPM,系統(tǒng)會 保持在 RUN 模式

Applicationparameters=>CFG_RTC_ASYNCH_PRESCALER=>127

Applicationparameters=>CFG_RTC_SYNCH_PRESCALER =>7812

57381928-d943-11ed-bfe3-dac502259ad0.png

其實,生成代碼后在 CoreIncapp_conf.h 中,如果使能了 CFG_DEBUG_BLE_TRACE 或 CFG_DEBUG_APP_TRACE,會自動的失能 CFG_LPM_SUPPORTED。

576b7ac0-d943-11ed-bfe3-dac502259ad0.png

3.4配置 RTC 和 LSE 的時鐘源為 HSE

在 Clock Configuration 中,修改 RTC/LCD Source Mux 的時鐘源為 HSE_RTC;修改 RFWKP Source Mux 的時鐘源為 HSE。

57969ae8-d943-11ed-bfe3-dac502259ad0.png

57bd562e-d943-11ed-bfe3-dac502259ad0.png

3.5重生代碼

點擊【GENERATE CODE】重新生成代碼,用相應的 IDE 打開工程。

3.6使能 BLE_LSE 校準

打開 CoreIncapp_conf.h,修改 CFG_BLE_LSE_SOURCE,使能 SHCI_C2_BLE_INIT_CFG_BLE_LSE_CALIB,如下

57d89790-d943-11ed-bfe3-dac502259ad0.png

3.7修改 CFG_TS_TICK_VAL 和 CFG_TS_TICK_VAL_PS

打開 CoreIncapp_conf.h,修改 CFG_TS_TICK_VAL 和 CFG_TS_TICK_VAL_PS, 如下

57f4df4a-d943-11ed-bfe3-dac502259ad0.png

3.8檢查 RF 喚醒時鐘源為 HSE

在 CoreSrcmain.c 的 PeriphCommonClock_Config 函數(shù)中檢查確認RFWakeUpClockSelection配置為RCC_RFWKPCLKSOURCE_HSE_DIV1024 。

58158d58-d943-11ed-bfe3-dac502259ad0.png

3.9檢查 RTC 時鐘源為 HSE

在 CoreSrc stm32wbxx_hal_msp.c 的 HAL_RTC_MspInit 函數(shù)中檢查確認 RTCClockSelection 配置為 RCC_RTCCLKSOURCE_HSE_DIV32。

5844e9cc-d943-11ed-bfe3-dac502259ad0.png

3.10驗證

重新編譯工程,并下載到 STM32WB 中,此時 STM32WB 不再使用 LSE 了。使用 ST BLE Sensor 手機 app,搜索 STM32WB,并連接進行測試。

由于文章篇幅有限僅展示部分信息,完整內(nèi)容請點擊“閱讀原文”下載原文檔。

586837d8-d943-11ed-bfe3-dac502259ad0.png

長按掃碼關注公眾號

更多資訊,盡在STM32

點擊“閱讀原文”,可下載原文檔


原文標題:應用筆記|如何讓STM32WB在沒有LSE時運行BLE應用程序

文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44621

    瀏覽量

    638575
  • STM32
    +關注

    關注

    2272

    文章

    10924

    瀏覽量

    357584

原文標題:應用筆記|如何讓STM32WB在沒有LSE時運行BLE應用程序

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32WB55RG開發(fā)(5)----監(jiān)測STM32WB連接狀態(tài)

    STM32WB系列微控制器代表了STMicroelectronics無線技術領域的新一代創(chuàng)新,集成了Bluetooth 5.0、Zigbee和Thread等多種無線通信協(xié)議。而在這些無線應用中
    的頭像 發(fā)表于 12-16 16:22 ?402次閱讀
    <b class='flag-5'>STM32WB</b>55RG開發(fā)(5)----監(jiān)測<b class='flag-5'>STM32WB</b>連接狀態(tài)

    STM32WB55RG開發(fā)(3)----生成 BLE 程序連接手機APP

    本項目旨在利用 STM32WB55 微控制器的藍牙低功耗(BLE)功能,實現(xiàn)與手機 APP 的無線連接。通過配置時鐘源、啟動關鍵模塊(如 RCC、RTC、RF、IPCC 和 HSEM),以及啟用藍牙功能,用戶可以創(chuàng)建一個穩(wěn)定的 BLE
    的頭像 發(fā)表于 12-16 16:06 ?395次閱讀
    <b class='flag-5'>STM32WB</b>55RG開發(fā)(3)----生成 <b class='flag-5'>BLE</b> <b class='flag-5'>程序</b>連接手機APP

    STM32WB5MMG只有第一次下載程序才能正常運行,為什么?

    我使用 STM32WB5MMG 制作了一個 Demo,用于與 USB 加密狗或手機通信(BLE NOTIFICATION),并通過觸發(fā)下降沿中斷從 MAX30001(兩個中斷引腳 PC10
    發(fā)表于 05-28 07:16

    stm32wb55使用Ble協(xié)議棧,進入stop模式后,運行一段時間后出現(xiàn)死機,為什么?

    stm32wb55使用Ble協(xié)議棧, 進入stop模式后,電流由7ma降低到50ua, 50ua的stop模式運行一段時間(幾天的時間),出現(xiàn)死機。死機時發(fā)現(xiàn)電流變?yōu)?.8ma。如果
    發(fā)表于 05-24 07:56

    STM32WBSTM32L4/L4+的區(qū)別和優(yōu)劣勢是什么?

    STM32WBSTM32L4 / L4+的區(qū)別,和優(yōu)劣勢
    發(fā)表于 04-26 08:07

    STM32WB thread啟動錯誤是什么原因導致的?

    STM32Cube_FW_WB_V1.3.0ProjectsP-NUCLEO-WB55.NucleoApplicationsBLE_ThreadBle_Thread_Static 硬件環(huán)境:STM32WB nucleo 使用SW2切換協(xié)議為thread , 顯示失敗
    發(fā)表于 04-16 08:01

    STM32WB測試板上面焊接了最小系統(tǒng),程序無法燒寫且單片機也無法識別怎么解決?

    自己的STM32WB測試板上面焊接了最小系統(tǒng)發(fā)現(xiàn)程序無法燒寫且單片機也無法識別,經(jīng)過一系列測試發(fā)現(xiàn)與RF引腳連接的濾波網(wǎng)絡焊接上之后程序就可以正常燒寫,為此我把官方的NUCLEO開發(fā)
    發(fā)表于 03-28 06:32

    STM32WB能否連接藍牙耳機?如果可以支持什么格式?

    STM32WB能否連接藍牙耳機?如果可以支持什么格式?如果能得到回答將非常感謝!
    發(fā)表于 03-27 07:11

    項目開發(fā)時能不能同時用兩塊芯片,比如一塊stm32WB一塊stm32F4?

    請問項目開發(fā)時能不能同時用兩塊芯片,比如一塊stm32WB,一塊stm32F4?
    發(fā)表于 03-20 08:22

    STM32WB配置SMPS模塊具體步驟是什么?

    想要降低STM32WB的功耗,查找手冊發(fā)現(xiàn)開啟SMPS模塊可以降低功耗。配置SMPS模塊具體步驟是什么有大佬知道嗎?是開啟SMPS宏定義,然后寫PWR的寄存器就可以了嗎?怎么證明自己的SMPS模塊-配置正確了呢?
    發(fā)表于 03-20 08:18

    STM32U5,STM32WBSTM32L4開發(fā)板,哪個開發(fā)板擁有較多數(shù)量的ADC?

    請問,我現(xiàn)在需要開發(fā)一個項目,在這個項目中需要使用較多數(shù)量的傳感器(至少8個),這些傳感器需要進行信號采集,現(xiàn)在在使用STM32U5,STM32WBSTM32L4芯片的開發(fā)板中,哪些開發(fā)板擁有較多數(shù)量的ADC?
    發(fā)表于 03-20 08:01

    STM32WB55進入Stop2模式死機的原因?怎么解決?

    使用STM32WB55VGY開發(fā)應用,使用Ble協(xié)議棧,每4ms由外置ADC產(chǎn)生一次中斷,中斷處理函數(shù)中通過SPI讀取ADC數(shù)值,每250次,
    發(fā)表于 03-15 06:28

    STM32WB的Zigbee終端調(diào)用ZbStartupWait加入網(wǎng)絡時,選擇rejoin入網(wǎng)后終端會在15s后自動退網(wǎng)的原因?

    STM32WB系列的Zigbee終端調(diào)用ZbStartupWait加入網(wǎng)絡時,選擇rejoin入網(wǎng)后,終端會在15s后,自動退網(wǎng),這個是什么原因造成的。
    發(fā)表于 03-15 06:25

    為什么無法BLE和RTC AlarmASTM32WB上協(xié)同工作?

    鬧鐘始終不能能進中斷,BLE和Alarm不能同時用嗎? RTC的Wake UP定時器已經(jīng)被BLE占用,還有其他可以實現(xiàn)8個小時左右從Stop2喚醒的低功耗定時器沒有
    發(fā)表于 03-14 07:13

    stm32wb55使用Ble協(xié)議棧進入stop模式后,長時間運行死機如何解決?

    stm32wb55 使用Ble協(xié)議棧, 進入stop模式后,電流由7ma降低到50ua, 50ua的stop模式運行一段時間(幾天的時間),出現(xiàn)死機。死機時發(fā)現(xiàn)電流變?yōu)?.8ma。如
    發(fā)表于 03-07 06:08
    大发888真人网址的微博| 百家乐官网赌场网| 大发百家乐现金| 淘金盈赌场有假吗| 金道百家乐游戏| 娱乐城开户送白菜| 百家乐赌博机吧| 易发棋牌官网| 杨筠松 24山| 娱乐网百家乐补丁| 百家乐官网揽子打法| 百家乐开户导航| 百家乐官网一代龙虎机| 玩百家乐的高手| 百家乐官网投注方法投资法| 百家乐辅助器| 百家乐官网现金游戏注册送彩金| 百家乐必胜法技巧| 百家乐官网网络游戏平台| 百家乐单注打| 百家乐官网正规站| 大发888中文版下载| 贝博百家乐官网的玩法技巧和规则| 莆田棋牌游戏| 阴宅24水口| 葡京百家乐官网注码| 百家乐棋牌官网| 真人百家乐官网ea平台| 新塘太阳城巧克力| 康莱德百家乐官网的玩法技巧和规则 | 网上澳门| 百家乐投注方向| 网上百家乐官网赢钱公式| 永利高娱乐城| 粤港澳百家乐官网娱乐平台| 博彩通3333| 百家乐八卦投注法| 赌博百家乐官网的乐趣| 大发888娱乐真钱游戏 官方| 百家乐游戏策略| 百家乐官网投注窍门|