1. NBM5100A评估板的核心功能解析
NBM5100A/B评估板是安世半导体(Nexperia)专为纽扣电池供电场景设计的开发工具套件。这套方案最核心的价值在于解决了物联网设备中常见的两大痛点:一是CR2032等纽扣电池在脉冲负载下的电压骤降问题,二是电池在间歇性大电流负载下的快速耗尽问题。
评估板搭载的NBM5100ABQ芯片采用自适应电源优化技术,其工作原理类似于"电力缓存"机制。当系统处于低功耗状态时,芯片会控制板载的ELDC超级电容缓慢充电;当设备需要短时大电流(如无线模块发射信号)时,超级电容会与电池并联供电。实测数据显示,这种架构可使CR2032电池在BLE信标应用中的寿命延长3-8倍。
提示:ELDC(Electrical Double Layer Capacitor)超级电容与传统电解电容不同,其容量可达法拉级且充放电循环寿命超过10万次,特别适合作为能量缓冲介质。
2. 硬件架构与关键元件选型
2.1 主控芯片PIC18F87J50的接口设计
Microchip的PIC18F87J50作为评估板的协处理器,承担着三大关键职能:
- 通过SPI/I2C接口与NBM5100ABQ通信,实时监控电池电压、超级电容SOC状态
- 管理USB转串口桥接芯片,实现PC端GUI的数据交互
- 提供GPIO用于模拟负载切换,支持最大150mA的脉冲电流测试
该MCU的选型考量值得注意:
- 内置全速USB 2.0控制器,免除外接PHY芯片
- 工作电压范围2.0-3.6V,与纽扣电池电压完美匹配
- 休眠电流低至100nA,不影响待机功耗
2.2 电源路径管理设计
评估板的精妙之处在于其动态电源路径切换逻辑:
电池 -> 3.3V LDO -> MCU常电 ↘ NBM5100 -> 超级电容 -> 负载开关 -> 脉冲负载当检测到负载电流超过阈值(默认20mA)时,NBM5100会:
- 断开电池直供路径
- 启用超级电容放电模式
- 通过内部同步降压转换器调节输出电压
这种设计使得CR2032电池始终工作在最佳放电区间,避免了因脉冲负载导致的电压骤降引发的系统复位。
3. 软件开发环境搭建
3.1 GUI控制软件配置
安世提供的Bert GUI(v1.9)基于.NET框架开发,包含三大功能模块:
- 实时监控仪表盘:显示电池电压、电容电压、负载电流等参数
- 参数配置界面:可调整的阈值包括:
- 电容充电截止电压(默认2.7V)
- 负载电流触发阈值(20-150mA可调)
- 低电压报警阈值(2.0-2.5V)
- 数据记录功能:支持CSV格式导出
安装时需注意:
- 先安装FTDI的USB转串口驱动
- 运行时需要以管理员权限执行
- 不支持Windows XP系统
3.2 固件开发要点
对于需要二次开发的用户,评估板预留了ICSP编程接口。建议开发时关注以下寄存器配置:
// PIC18F87J50关键配置 #pragma config FOSC = INTOSCIO // 使用内部振荡器 #pragma config PWRT = ON // 上电延时启用 #pragma config BOR = SBORDIS // 欠压复位控制 #pragma config MCLRE = OFF // 禁用MCLR引脚 void SuperCap_Init() { TRISAbits.TRISA0 = 0; // 设置超级电容控制引脚为输出 ANSELbits.ANS0 = 0; // 禁用模拟功能 }4. 实测性能优化案例
4.1 BLE信标应用测试
使用Nordic nRF52832模块进行对比测试:
- 传统方案:CR2032直接供电,平均寿命42天
- NBM5100方案:相同电池寿命延长至197天
优化关键点:
- 将发射功率从0dBm提升至4dBm时,脉冲电流从8mA增至22mA
- 设置电容充电阈值为2.5V,避免深度放电
- 调整负载检测阈值为15mA
4.2 温湿度传感器网络
在SHT31+LoRa组网应用中,发现两个典型问题及解决方案:
问题1:电容充电时间过长
- 原因:默认1kΩ限流电阻过大
- 解决:更换为470Ω电阻,充电时间从8s缩短至3.2s
问题2:低温环境下启动失败
- 原因:-20℃时电容ESR增大
- 解决:在超级电容两端并联100μF MLCC电容
5. 进阶设计技巧
5.1 PCB布局注意事项
- 功率路径走线宽度应≥0.5mm
- 超级电容尽量靠近NBM5100的VBAT引脚
- 在电池输入端放置10μF+100nF去耦电容
- 避免将敏感模拟走线与数字信号线平行布置
5.2 低功耗模式优化
通过优化PIC18F87J50的工作模式可进一步降低系统功耗:
void Enter_SleepMode() { WDTCONbits.SWDTEN = 0; // 关闭看门狗 OSCCONbits.IDLEN = 1; // 进入空闲模式 asm("SLEEP"); // 执行休眠指令 }实测数据显示,优化后的待机电流从12μA降至3.8μA。对于使用NBM5100+CR2032的方案,这意味着电池自放电将成为寿命限制因素而非系统功耗。