1. 前言
BlueNRG 系列存在开机瞬间会出现很大的峰值电流的现象,预计有 20ma 左右。针对此现象,经常有客户询问该峰值电流会不会导致设备工作异常?会不会导致电池使用寿命缩短(考虑到一般纽扣电池能承受的峰值电流大概在 15ma 左右)?有没有软件或者硬件的方法限制其峰值电流?目前 BlueNRG-LPS 系列芯片引入了可以通过修改软件寄存器达到限制开机峰值电流的方法,在这里我整理了该文档以备解惑供客户参考。注意:目前只有BlueNRG-LPS 系列芯片有该功能,BlueNRG-1/2, BlueNRG-LP 系列还不支持该功能。
2. 开机峰值电流的测量及限值方法
2.1. 开机峰值电流的测量
2.1.1. 开机峰值电流的测试方法
- PC 上安装工具 “STM32CubeMonitor-Power”;
- 按图所示连接待测板到 LPM01A 板;
- 确保 J9/J10 正确配置;
- 用 USB 线连接 LPM01A 板到 PC ;
- PC 运行 STM32CubeMonitor-Power;
- 选择相关串口,点击连接;
- 设置相关参数,然后点击“START ACQUISITION”按钮。
测试连接如下图所示:
图1. 硬件测试连接图
2.1.2. 开机峰值电流的测试截图
图2. 开机峰值电流-20ma(默认)
2.2. 开机峰值电流的限制方法
2.2.1. 开机峰值电流的限制方法
- • 与 division 确认,针对 BlueNRG-LP 来说,受限硬件,无法限制开机峰值电流。
- • 针对 BlueNRG-LPS 来说,硬件上加了特殊字段,即通过修改寄存器 PWR->CR5 的SMPS_PRECH_CUR_SEL 字段来选择 SMPS PRECHARGE 的限制电流,该限制电流的范围为 2.5mA 到 20mA 之间。下面是两个 API 函数供用户获取和设置该 SMPS PRECHARGE 的限制电流(see file rf_driver_ll_pwr.h):
-LL_PWR_SetSMPSPrechargeLimitCurrent()
-LL_PWR_GetSMPSPrechargeLimitCurrent()
• 软件修改截图如下:
图3. 软件修改截图
2.2.2. 开机峰值电流-10ma
修改代码:
LL_PWR_SetSMPSPrechargeLimitCurrent(LL_PWR_SMPS_PRECH_LIMIT_CUR_10)
图4.开机峰值电流-10ma
2.2.3. 开机峰值电流-5ma
修改代码:
LL_PWR_SetSMPSPrechargeLimitCurrent(LL_PWR_SMPS_PRECH_LIMIT_CUR_5)
图5.开机峰值电流-5ma
2.2.4. 开机峰值电流-2.5ma
修改代码:
LL_PWR_SetSMPSPrechargeLimitCurrent(LL_PWR_SMPS_PRECH_LIMIT_CUR_2_5)
图6. 开机峰值电流-2.5ma
3. 小结
本篇从如何测试开机峰值电流,以及如何从软件角度通过修改寄存器限制峰值电流着手提供有用的指导方法,以使客户在实际设计中少走弯路。
参考文献
本文档参考ST官方的《【应用笔记】LAT1356+如何降低BlueNRG-LPS的开机峰值电流》文档。
参考下载地址:https://download.csdn.net/download/u014319604/89045101