【BLE】STM32WB55低功耗实测(十)

1. 官方的理论数据

2. 使用官方工程验证

  1. 官方工程的路径是

\stm32cubewb-v1-20-0\STM32Cube_FW_WB_V1.20.0\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_p2pServer

  1. 编译后无错误
  2. 注意BLE参数配置
  • 广播间隔
c 复制代码
#define CFG_FAST_CONN_ADV_INTERVAL_MIN    (0x80)      /**< 80ms */
#define CFG_FAST_CONN_ADV_INTERVAL_MAX    (0xa0)      /**< 100ms */
#define CFG_LP_CONN_ADV_INTERVAL_MIN      (0x640)     /**< 1s */
#define CFG_LP_CONN_ADV_INTERVAL_MAX      (0xfa0)     /**< 2.5s */

static void Adv_Request(APP_BLE_ConnStatus_t NewStatus)
{
  tBleStatus ret = BLE_STATUS_INVALID_PARAMS;
  uint16_t Min_Inter, Max_Inter;

  //此处强制修改为 低速广播
  NewStatus = APP_BLE_LP_ADV;
    
  if (NewStatus == APP_BLE_FAST_ADV)
  {
    Min_Inter = AdvIntervalMin;
    Max_Inter = AdvIntervalMax;
  }
  else
  {
    Min_Inter = CFG_LP_CONN_ADV_INTERVAL_MIN;
    Max_Inter = CFG_LP_CONN_ADV_INTERVAL_MAX;
  }
  • 使用SMPS
c 复制代码
/**
 * SMPS supply
 * SMPS not used when Set to 0
 * SMPS used when Set to 1
 */
#define CFG_USE_SMPS    1
  • 配置低功耗模式打开
c 复制代码
/******************************************************************************
 * Low Power
 ******************************************************************************/
/**
 *  When set to 1, the low power mode is enable
 *  When set to 0, the device stays in RUN mode
 */
#define CFG_LPM_SUPPORTED    1
  • 调试配置 全部关闭
c 复制代码
/******************************************************************************
 * Debug
 ******************************************************************************/
/**
 * When set, this resets some hw resources to put the device in the same state as at power up.
 * It resets only register that may prevent the FW to run properly.
 *
 * This shall be set to 0 in a final product
 *
 */
#define CFG_HW_RESET_BY_FW         0

/**
 * keep debugger enabled while in any low power mode when set to 1
 * should be set to 0 in production
 */
#define CFG_DEBUGGER_SUPPORTED    0

/**
 * When set to 1, the traces are enabled in the BLE services
 */
#define CFG_DEBUG_BLE_TRACE     0

/**
 * Enable or Disable traces in application
 */
#define CFG_DEBUG_APP_TRACE     0

3. 测试数据

  • 可以看到3.3V供电,平均功耗为 13uA左右

  • 广播的间隔实测 1.7秒左右

  • 在低功耗期间-停止模式-测试功耗为 2.6uA,与理论数据相近

  • 使用调度器自带的软件定时器,创建一个2秒周期的软件定时器,可以看到芯片在STOP2 模式下会被周期唤醒

  • 此时唤醒源为:广播+定时器

相关推荐
EMTime1 天前
玲珑GUI-工程设置
单片机·mcu·ui·用户界面
agathakuan2 天前
從零開始在家開發 IoT: Flash & Run 腳本解析(STM32 + WiFi HaLow)
stm32·mcu·iot
sramdram4 天前
基于国民32位MCU的无磁智能水表方案
mcu·32位mcu
十年编程老舅5 天前
读懂 MCU 启动:从上电到程序运行全链路
单片机·嵌入式硬件·mcu·嵌入式·cpu·嵌入式开发·ram
小麦嵌入式5 天前
PCB设计笔记(一):51核心板原理图(电源、晶振、复位)
stm32·单片机·嵌入式硬件·mcu·51单片机·硬件工程·pcb设计
李永奉6 天前
杰理SDK开发-【BUG】软件开启音量同步连接华为、荣耀手机没有自动开启音量同步
单片机·嵌入式硬件·mcu·物联网·智能手机·bug·语音识别
国产芯片设计14 天前
小家电单段码屏项目实战|YL1621 LCD驱动开发与调试心得
驱动开发·stm32·单片机·mcu·51单片机
嵌入式Q14 天前
FreeRTOS源码解析(10)软件定时器
单片机·mcu·freertos
徐怀江17 天前
ModusToolbox for vscode使用小记
ide·vscode·单片机·mcu·infineon
电子科技圈17 天前
XMOS推出适配VS Code编辑器的XTC工具插件
人工智能·mcu·编辑器·视觉检测·音视频·语音识别·视频编解码