【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 模式下会被周期唤醒

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

相关推荐
jianqiang.xue24 分钟前
ESP-IDF保姆级入门41|产品级故障排查与稳定性优化全解:死机复位排查/内存泄漏定位/性能瓶颈分析/长期稳定性测试,掌握量产运维问题定位方法论
单片机·mcu·物联网·esp32
笨笨饿3 小时前
#138_解决Codex要五次回复的问题
linux·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
星源~10 小时前
zephyr-Linux环境下搭建步骤
linux·mcu·嵌入式开发·zephyr
secondyoung19 小时前
I2C通信协议详解
arm开发·驱动开发·stm32·单片机·嵌入式硬件·mcu·51单片机
三块石头1011 天前
车载ADC避坑:为什么ADC采集值偏低?
经验分享·stm32·单片机·嵌入式硬件·mcu·硬件架构·硬件工程
国科安芯2 天前
基于ECC加固的抗辐射MCU在卫星载荷数据管理中的应用分析
单片机·嵌入式硬件·mcu·抗辐射·ecc加固·卫星数据管理
晊晌_h3 天前
嵌入式硬件——51单片机
单片机·mcu·51单片机·位运算·硬件基础
ysu_03143 天前
基于 STM32 与 TinyML 的端侧手势识别系统
stm32·单片机·嵌入式硬件·mcu
国科安芯5 天前
面向卫星测控应答机的抗辐射MCU信号采集与定时控制研究
单片机·嵌入式硬件·mcu·架构·卫星·商业航天·抗辐射
花 满 楼5 天前
5777M的eMIOS 封波(ODIS)功能实现:一个通道输入沿触发,冻结另一个通道 PWM 输出
mcu·嵌入式软件·emios