需求分析
通常的电池电压检测电路如图 1 和图 2 所示,但使用这两种设计都会导致系统漏电。在一些使用锂电池供电、功耗要求较高的系统中,一个既能采集电池电压又不耗电的电路是非常必要的。我设计的电路如图 4 所示。通过一个 NMOS 管,当 GPIO 输出高电平时,NMOS 导通,ADC 模块可以采样。当 GPIO 输出低电平时,NMOS 截止。
电池在正常情况下的放电曲线如下:
不同电路的分析
2.1 传统分压器电阻测试
图 1:分压电路
Vadc:ADC 采样电压
Vbat:实际电池供电电压
Ic:持续电流消耗
=4.2v/(150k+300k)=9.3uA
这意味着系统始终会有 9.3uA 的泄漏电流。与保留 64-KB SRAM 的深度渗漏模式电流 7uA 相比,9.3uA 漏电流是一个需要处理的大问题。
图 2:带 GPIO 的分压器电路
图 3:数字输出驱动器
PSoC6 的第二种解决方案是使用第二个引脚作为接地开关。但 MCU 的 VDD 为 3.6V,即使 GPIO 输出高电平,系统中也会存在电压差
Vadc:ADC 采样电压
Vbat:实际电池供电电压
Ic:持续电流消耗
Vdcdc:DC-DC 转换输出到 MCU 的电压
如果 GPIO 切换到地,ADC 将开始转换。
=4.2v/(150k+300k)=9.3uA
如果 GPIO 切换到 vdd,ADC 将停止工作。
=(4.2v-3.6v)/(150k+300k)=1.3uA
可节省 85.7%。
当 ADC 不需要运行时,它可以为系统节省 8uA 的漏电流
2.3 使用 GPIO 和 NMOS 进行分压器电阻测试
图 4 带有 NMOS 和 GPIO 的分压电路带有 NMOS 和 GPIO 的分压电路
使用 NMOS 管时,当 GPIO 输出高电平时,NMOS 导通,ADC 模块可以采样。当 GPIO 输出低电平时,NMOS 截止。与方案 1 和 2 相比,它可以延长设备的待机时间:
如果系统每秒唤醒一次 (t1),每毫秒唤醒一次 (t2),则活动模式电流 (I1 ) 为 20mA,深度睡眠模式电流 (I2) 为 7uA,设计 1 漏电流为 I3=9.3uA,设计 2 漏电流为 I4=8.3uA。
改进后的待机时间是第一个设计的 N 倍.
=36.3/27=1.35.
改进后的待机时间是第二个设计的 M 倍.
=28.3/27=1.05。
|