低功耗是MCU的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大就会经常出现电量不足的情况。
平时我们在做产品的时候,基本的功能实现很简单,但只要涉及到关于低功耗的问题就比较棘手了,比如某些可以低到微安级的MCU微控制器,而自己设计的低功耗怎么测都是毫安级的,电流竟然能够高出标准几百到上千倍,遇到这种情况干万不要怕,只要认真你就赢了。接着仔细分析一下这其中的原因。
(1)掐断外设命脉,关闭外设时钟。
先说最直观的,也是工程师都比较注意的方面,就是关闭MCU微控制器的外设时钟,对于现在市面上出现的大多数的MCU微控制器,其外设模块都对应着一个时钟开关。只需要打开这个外设的时钟,就可以正常的使用这个外设了,当然此外设也就会产生相应的功耗;如果想要让这个外设不产生功耗的话,只需要关闭它的时钟就可以了。
( 2)让工作节奏慢下来,时钟不要倍频。除了外设模块功率消耗之外,还有一个功耗大户需要注意一下,这就是PLL和 FLL模块。PLL和FLL主要是用来对原始的时钟信号进行倍频操作,从而提高系统的整体时钟,其功耗也会被提上去。所以在进入低功耗之前,需要切换时种模式,旁路掉PLL和 FLL模块,从而尽可能的降低MCU的功耗,等到MCU唤醒之后再把时钟切换回去。
( 3)围堵涓涓细流,注意IO口的电平状态。如果认为只要关闭外设时钟就能够保证外设不再耗电,那么你就太天真了。如果 IO口没有做好处理的话,它就会在暗地里偷走功耗,而你却浑然不知。具体原因是这样的,一般的IO的内部或者外部都会有上下拉电阻,假如某个IO口有个10K 的上拉电阻,把引脚拉到3.3 V,然而当MCU进入低功耗模式的时候,此IO口被设置成输出低电平,根据欧姆定律,此引脚就会消耗3.3 V/10 K = 0.33 mA的电流,假如有四、五个这样的IO口,那么几个mA就贴进去了。所以在进入低功耗之前,请逐个检查IO口的状态。
如果此IO口带下拉,请设置为低电平输出或者高阻态输入。不要把上好的电流浪费在产生热量的功能上。
(4)睦邻友好的合作,要注意1O 与外设IC的统筹。
IO口的上下拉电阻消耗电流这一因素相对比较明显,下边咱来说一个不明显的因素:IO口与外部IC相连时的电流消耗。假如某个IO口自带上拉,而此与IO相连的IC引脚偏偏是自带下拉的,那么无论这个引脚处于什么样的电平输出,都不可避免的产生一定的电流消耗。所以凡是遇见这-类的情况,首先需要阅读外设IC的手册,确定好此引脚的的状态,做到心中有数;然后在控制单片机MCU睡眠之前,设置好MCU的IO口的上下拉模式及输入输出状态,要保证一丝儿电流都不要被它消耗掉。
( 5)断开调试器连接,不要被假象所迷惑。还有一类比较奇特,检测出来的电流消耗很大,可实际结果是自己杞人忧天,原因是因为在测试功耗的时候MCU还连接着调试器。这时候大部分电流就会被调试器给掳走,平白无故的让工程师产生极度郁闷的心情。所以在测低功耗的时候,一定不要连接调试器,更不能边调试边测电流。
MCU的低功耗设计是一个细致活,要养成良好的习惯,做到每添加一个功能都要重新验证一下低功耗是否符合要求,这样就可以随时随地减少损耗功率的因素。如果把所有功能都设计好了才去考虑低功耗的问题,一个不小心就可能要更改程序的架构,即便如此也不一定能把功耗给彻底降下去。
灵动低功耗MCU产品型号
Part Number | Speed (MHz) | Flsah | RAM | I/O | Advanced TM(16bit) | GPTM (16bit) | WDG | UART | I²C | SPI | ADC | Package |
---|---|---|---|---|---|---|---|---|---|---|---|---|
MM32L373NT | 96 | 128 | 20 | 22 | 1 | 3 | 2 | 2 | 1 | 1 | 10×12bit | QFP32 |
MM32L373PT | 96 | 128 | 20 | 22 | 1 | 3 | 2 | 2 | 1 | 1 | 10×12bit | LQFP32 |
MM32L373PS | 96 | 128 | 20 | 51 | 1 | 3 | 2 | 3 | 2 | 2 | 16×12bit | LQFP64 |
MM32L372PF | 96 | 128 | 20 | 36 | 1 | 3 | 2 | 3 | 2 | 2 | 10×12bit | LQFP48 |
MM32L372NT | 96 | 128 | 20 | 22 | 1 | 3 | 2 | 2 | 1 | 1 | 10×12bit | QFP32 |
MM32L373PF | 96 | 128 | 20 | 36 | 1 | 3 | 2 | 3 | 2 | 2 | 10×12bit | LQFP48 |
MM32L372PT | 96 | 128 | 20 | 22 | 1 | 3 | 2 | 2 | 1 | 1 | 10×12bit | LQFP32 |
MM32L361NT | 96 | 64 | 20 | 22 | 1 | 3 | 2 | 2 | 1 | 1 | 10×12bit | QFP32 |
MM32L361PT | 96 | 64 | 20 | 22 | 1 | 3 | 2 | 2 | 1 | 1 | 10×12bit | LQFP32 |
MM32L361PF | 96 | 64 | 20 | 36 | 1 | 3 | 2 | 3 | 2 | 2 | 10×12bit | LQFP48 |
MM32L361PS | 96 | 64 | 20 | 51 | 1 | 3 | 2 | 3 | 2 | 2 | 16×12bit | LQFP64 |
MM32L360TW | 96 | 64 | 20 | 16 | 1 | 3 | 2 | 2 | 1 | 1 | -- | TSSOP20 |
MM32L360NT | 96 | 64 | 20 | 22 | 1 | 3 | 2 | 2 | 1 | 1 | -- | QFP32 |
MM32L351NT | 96 | 32 | 10 | -- | 1 | 3 | 2 | 2 | 1 | 1 | 10×12bit | QFP32 |
MM32L352NT | 96 | 32 | 10 | 22 | 1 | 3 | 2 | 2 | 1 | 1 | 10×12bit | QFP32 |
MM32L353NT | 96 | 32 | 10 | 22 | 1 | 3 | 2 | 2 | 1 | 1 | 10×12bit | QFP32 |
MM32L361TW | 96 | 64 | 20 | 16 | 1 | 3 | 2 | 2 | 1 | 1 | 10×12bit | TSSOP20 |
MM32L362PS | 96 | 64 | 20 | 51 | 1 | 3 | 2 | 3 | 2 | 2 | 16×12bit | LQFP64 |
宇芯有限公司自成立以来,我们专注于代理国内外各大知名品牌的半导体元器件,代理品牌有NETSOL、JSC、everspin代理、来杨Lyontek、ISSI、CYPRESS,VTI等多个品牌总代理资质,主要产品线为sram、mram、psram等其他存储器芯片,致力于为客户提供具有竞争优势的产品,是一家专业提供存储方案解决商。