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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

如何讓STM32WB在沒有LSE時運行BLE應(yīng)用程序

jf_pJlTbmA9 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2023-10-24 16:41 ? 次閱讀

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

目錄預(yù)覽

1為什么 STM32WB BLE 應(yīng)用需要 LSE ?

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

為什么 STM32WB BLE 應(yīng)用需要 LSE ?

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

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

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

wKgaomUDyTKAc5-IAAK0YhXI2sM634.png

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

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

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

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

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

4.環(huán)境或應(yīng)用使用某些 GPIO(PC13) 影響 LSE,導(dǎo)致 LSE 時鐘異?;虿环€(wěn)

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

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。

wKgaomUDyTSAMm43AAGlTTtC4V0328.png

3.3 失能 LPM 配置 RTC 預(yù)分頻

在 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

wKgZomUDyTWAWtLNAAKXkSbivtM782.png

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

wKgaomUDyTaAOv2PAAFUHFvq2dc898.png

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

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

wKgZomUDyTiAeQKUAAJRK7xp50k033.pngwKgZomUDyTmAPHNWAABbYi0YgAQ827.png

3.5重生代碼

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

3.6使能 BLE_LSE 校準(zhǔn)

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

wKgaomUDyTqAReP3AADA29HyzrU100.png

3.7修改 CFG_TS_TICK_VAL 和 CFG_TS_TICK_VAL_PS

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

wKgaomUDyTyAbnYwAACIznI6Bl4162.png

3.8檢查 RF 喚醒時鐘源為 HSE

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

wKgZomUDyT6AF9O5AAG3VBOq0eM452.png

3.9檢查 RTC 時鐘源為 HSE

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

wKgaomUDyT-ACAyeAAJUiUJ65c4770.png

3.10驗證

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

來源:STM32單片機

免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理

審核編輯 黃宇

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

    關(guān)注

    0

    文章

    10

    瀏覽量

    10224
  • BLE
    BLE
    +關(guān)注

    關(guān)注

    12

    文章

    643

    瀏覽量

    59249
收藏 人收藏

    評論

    相關(guān)推薦

    STM32WB thread啟動錯誤是什么原因?qū)е碌模?/a>

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

    具有BLE連接的STM32WB設(shè)備上進(jìn)行無線固件更新的過程

    本應(yīng)用筆記描述了具有BLE連接的STM32WB設(shè)備上進(jìn)行無線固件更新的過程,解釋了如何使用STM32Cube固件包中提供的OTA應(yīng)用程序。
    發(fā)表于 12-02 06:09

    請問是否可以通過BLE喚醒STM32WB MCU的待機模式?

    我們正在啟動一個使用 STM32WB MCU 的項目。我們希望睡眠時將功耗降至最低,但能夠通過 BLE 命令將其喚醒。從文檔 AN5071(STM32WB 超低功耗特性概述)中可以看
    發(fā)表于 12-06 06:59

    STM32WB是否可以與Windows BLE應(yīng)用程序形成2M PHY連接呢?

    我只是想知道是否可以與 Windows BLE 應(yīng)用程序形成 2M PHY 連接?我已經(jīng)為我的 STM32WB 核板開發(fā)了固件,以及一個 C#.NET Windows 應(yīng)用程序來連接它
    發(fā)表于 12-21 06:30

    BLE是如何與STM32WB配對的

    PKA Hw 信號量)并正常運行,BLE 正在完美通信。 直到幾天前,我們發(fā)現(xiàn)了一個錯誤,即在新設(shè)備與STM32WB配對后,隨后的PKA操作中,ISR根本
    發(fā)表于 12-23 08:22

    STM32WB生成代碼中的LPM調(diào)用問題求解

    CubeMX 為 STM32WB 上的 BLE 應(yīng)用程序生成的代碼中發(fā)現(xiàn)了一些奇怪的東西。 APP_
    發(fā)表于 02-07 08:54

    STM32WB BLE協(xié)議棧編程指南

    本文檔的主要目的是為開發(fā)人員提供有關(guān)如何使用 STM32WB BLE 協(xié)議棧 API 和相關(guān)事件回調(diào)開發(fā)低功耗藍(lán)牙(BLE)應(yīng)用的一些參考編程指南。本文檔介紹了允許訪問 STM32WB
    發(fā)表于 08-14 10:13

    STM32WB55_NUCLEO開發(fā)(7)----手機與STM32WB進(jìn)行綁定

    本篇文章主要介紹如何使用STM32CubeMX對生成STM32WB工程,并通過與STM32WB配對,將其綁定。
    的頭像 發(fā)表于 11-18 10:08 ?1192次閱讀
    <b class='flag-5'>STM32WB</b>55_NUCLEO開發(fā)(7)----手機與<b class='flag-5'>STM32WB</b>進(jìn)行綁定

    STM32WB藍(lán)牙?低功耗(BLE)無線接口

    STM32WB藍(lán)牙?低功耗(BLE)無線接口
    發(fā)表于 11-21 08:11 ?1次下載
    <b class='flag-5'>STM32WB</b>藍(lán)牙?低功耗(<b class='flag-5'>BLE</b>)無線接口

    STM32WB BLE 堆棧編程指南

    STM32WB BLE 堆棧編程指南
    發(fā)表于 11-24 08:29 ?3次下載
    <b class='flag-5'>STM32WB</b> <b class='flag-5'>BLE</b> 堆棧編程指南

    應(yīng)用筆記|如何STM32WB沒有LSE時運行BLE應(yīng)用程序

    本文檔描述如何STM32WB沒有LSE時運行BLE
    的頭像 發(fā)表于 04-12 23:10 ?1195次閱讀

    STM32WB BLE應(yīng)用低功耗設(shè)計

    電子發(fā)燒友網(wǎng)站提供《STM32WB BLE應(yīng)用低功耗設(shè)計.pdf》資料免費下載
    發(fā)表于 09-20 14:58 ?5次下載
    <b class='flag-5'>STM32WB</b> <b class='flag-5'>BLE</b>應(yīng)用低功耗設(shè)計

    STM32WB硬件、軟件、BLE低功耗設(shè)計及速率優(yōu)化

    電子發(fā)燒友網(wǎng)站提供《STM32WB硬件、軟件、BLE低功耗設(shè)計及速率優(yōu)化.pdf》資料免費下載
    發(fā)表于 09-20 11:47 ?5次下載
    <b class='flag-5'>STM32WB</b>硬件、軟件、<b class='flag-5'>BLE</b>低功耗設(shè)計及速率優(yōu)化

    STM32WB系列上開始使用Zigbee

    本應(yīng)用筆記將指導(dǎo)設(shè)計者完成基于 STM32WB 系列微控制器構(gòu)建特定 Zigbee?應(yīng)用程序所需的所有步驟。闡明了如何與STM32WB 系列微控制器連接,同時還整合了與 Zigbee?相關(guān)的最重
    發(fā)表于 10-09 17:30 ?0次下載

    應(yīng)用筆記 | STM32WB基于Custom Template實現(xiàn)客戶定制BLE私有協(xié)議

    的例程,目前支持的標(biāo)準(zhǔn)GAP服務(wù)例程STM32CubeMX中已有列出,或可以固件包STM32Cube_FW_WB_V1.xx.xx MiddlewareST
    的頭像 發(fā)表于 10-08 17:40 ?1373次閱讀