随着新能源的普及,身边越来越多电子产品都涉及降低功耗的问题,哪些刚毕业的大学生对于这方面可能比较小白。我借此机会给大家分享一下我对低功耗的认知和实现方式,希望能给有需要的人带来一点帮助。功耗的降低我们一般会采用两种方式:1、休眠(主要是针对MCU、显示器等);2、关闭电源。下面我以之前发布发一个贴为例,希望能对大家的工作带来一些帮助。 https://bbs.21ic.com/icview-3358422-1-1.html
16串100A BMS保护板方案采用极海M0 + AFE的架构,充放电同口设计。
主控芯片:APM32F072CBT6(极海带CAN通信M0)
AFE:SH3676016B
MOSFET:DHS026N10E(6+6)
产品需求如下:此产品用于新能源锂电池的充放电管理,因此设计时需要整个电池包的功耗,包括工作时的功耗和休眠、待机时的功耗,MCU进入休眠后可以通过充放电唤醒,产品能记录故障出现时间和类型。
明确产品需求后,我们就可以开始设计,这时我们需考虑两方面:1、器件选型;2、低功耗电路的实现。
1、器件选型。MCU、AFE、蓝牙等主动器件的低功耗(补充说明:主动器件一般指MCU或者带MCU的器件或模块);被动器件的低功耗实现(包含通信接口芯片、电源芯片等)。芯片的待机功耗和正常工作时功耗,选型时需关注这两方面的信息。MCU规格书,我们可以通过的极海官网下载。而AFE的规格书只能通过代理商获取(中颖对芯片规格书比较保密,只能通过代理商获取)。
通过规格书,我们可以获取到芯片的内部框架、时钟及低功耗特性等重要信息,从而评估这款芯片是否满足在这个项目的低功耗要求。如果芯片的低功耗能满足我们这个项目的需求,那接下来我们就可以开展第二步工作。
2、低功耗电路的实现。在这里,我们先确定进入低功耗之后还能做哪些事情,不能做哪些事情。关于这方面的信息,我们需通过了解各个元器件的特性和项目的需求,从而确定哪个可以关闭?哪个不能关闭?
根据之前的产品需求,我们设计时需考虑MCU进入低功耗之后,主时钟可以关闭,但是RTC的时钟需一直处于正常供电。同时需要把外部被动器件电源关闭,我们可以考虑把电源供电切断,实现低功耗,如通过MOS或三极管。
如果工作时功耗比较临界时,可以考虑以下方式降低功耗:1、加大上拉或下拉电阻;2、降低MCU的工作主频。根据欧姆定律,电压不会的情况下,加大电阻可以降低电流。当然我们也可以考虑把芯片的工作电压降低,但是这里会有一些风险,降低工作电压之后,我们电压参考基准也会发生变化,AD、DA的采集会有影响(一般不建议这么操作)。
各个模块低功耗设计完成之后,那么这个项目低功耗硬件设计已经完成了80%,剩余的20%的低功耗工作量是唤醒,即让处于低功耗、休眠模式下的板子进入正常工作。这个我们可以理解成由谁唤醒谁?是内部信号唤醒,还是外部信号唤醒?
如果是内部信号唤醒,我们可以理解成打嗝,即隔一段时间让主控芯片醒来工作一会,然后再进入休眠。这种情况,我们需考虑平均功耗,即整个周期下的功耗(工作时的功耗和休眠时的功耗)。
外部唤醒这个需由实际需求来确定实现的电路。如果外部唤醒是由开关信号提供,那这个电路实现起来就很简单。只需把开关信号接入到WKUPx即可,至于需要高电平还是低电平需参考芯片规格书。
新能源有个比较特殊的唤醒方式,充放电唤醒。这个我们也需考虑两种情况,当电池的剩余电量能满足AFE正常工作时,此时AFE芯片处于正常工作(新能源的特殊要求)在,这时AEF检测到有充放电电流,我们可以让AFE唤醒MCU,如果是充电唤醒,这个实现起来也比较简单,我们可以通过检测放电口的电平状态来唤醒MCU。当电池的剩余电量不足以维持AFE正常工作电压时,此时AFE芯片也进入休眠模式,这时我们只能通过外部信号重新激活板子。
以上是我对休眠的一些理解,希望能给有需要的带来一点帮助,由于个人能力有限,可能存在一些描述不详细或者错误的地方,如发现,希望能指出。