×
嵌入式 > 技术百科 > 详情

深入STM8L低功耗评测(一)

发布时间:2020-06-17 发布时间:
|

低功耗一直是各大MCU厂商争夺的焦点。最近,网上非常流行一个视频(意法半导体STM8L低能耗系列MCU技术演示),视频中ST的工程师分别用两个土豆,RFID线圈,一杯热水对STM8L MCU进行供电并使得系统正常运行。这不禁让我对STM8的运行功耗产生了兴趣,到底多低的电量STM8L就能工作呢?MCU内部哪个模块功耗最高?如何才能尽可能的降低STM8L的功耗?

首先让我们来看看厂商DS中提供的数据:
1. 工作电压1.8V到3.6V
2. 5个低功耗模式:

  • wait模式
  • Low power run模式 (约消耗5.1uA)
  • Low power wait模式(约消耗3uA)
  • Active-halt with full RTC模式(约消耗1.3uA)
  • Halt模式(约消耗350nA)

当然,这只是厂商提供的理想功耗,在实际使用过程中,不同的应用场合不同的外设甚至于不同的PCB 设计和不同的软件编写都会对系统的功耗产生重大的影响。在下面的评测中,我们就以最基本的STM8 discovery开发板为平台进行STM8 RUN模式下功耗实测。当然由于测试仪器的精度以及测试方法的影响,测试值仅供大家参考,如需要准确的测试结果还需联系厂商

在测试之前,我们有必要讨论一下STM8 discovery中集成有IDD电流测试电路,通过这个板载测试电路,STM8 discovery开发板能够测试其自身在正常工作模式与低功耗模式的消耗电流。测试的方法和电路也比较简单,如下图所示:

短接JP1的2,3脚后,系统进入IDD测试环境,此时如果在正常工作模式下(RUN模式),电流通过采样电阻转化为电压信号,再通过检流放大器MAX9938对微小的信号进行放大,最终通过STM8自带的AD转换模块采样并最终计算得到此时的电流值。另一种情况是如果系统工作在低功耗模式下,则AD不能够开启,所以此时采用的是另外一种变通的方法:在低功耗时对电容C11进行充电,当稳定后C11的电压值即为此时采样电阻电压经过MAX9938放大后的电压。通过外部的计数器4060唤醒STM8并开启AD模块快速完成对C11电压的采样并最终计算得到此时的电流值。当然,如果我们怀疑IDD测试的准确性则可以通过JP1的2,3脚串接一个外部电流表进行测试。

OK,背景知识讲了这么多,估计很多人都开始迫不及待了,下面我们就开始进行实战测试。

首先让我们来看看 STM8-DISCOVERY 工作电压到底多低?

测试电路很简单,一个外置稳压电源,一个万用表串联用来测当前电流,一个万用表并联用来测试当前电压。如果系统能够正常工作,则屏幕上显示当前电流,否则屏幕上无任何显示。同时,通过这个测试也可以对DISCOVERY开发板上的IDD测量电路进行校准,便于下一步测试。图1为测得的系统不工作时的电压,图2为系统工作时的电压。由于稳压电源的精度不够,所以我们外接万用表测试当前电压。

图1为系统不工作时的电压

在电源电压为1.8056V时系统不工作,STM8板上液晶不亮

图2为系统工作时的电压

在电源电压为1.8135V时系统工作,片内程序执行,IDD测试当前电流为1.12mA ,按照STM8L用户手册(CD00278045文档)的介绍,我们把电流表串入JP1的2,3号引脚。此时电流表中显示为1.08mA。基本与IDD测量一致。通过此次测量,可以认为STM8的工作电压介于1.80V到1.81V之间,基本满足数据手册上所述的1.8V供电电压。

有心的同学会留意到STM8的DS中有提到:Consumption: 195 μA/MHz,这是什么意思呢?难道系统的时钟频率还和功耗有关系?无图无真相,下面就让我们来验证一下频率和功耗的关系。

根据用户手册的图17(上图)可以看到,STM8 MCU所用的时钟信号主要来自于4个地方HSE(外部高速晶振)、HIS(内部16M RC振荡器)、LSE(外部低速晶振)以及LSI(内部38KHz低速振荡器)。这四个时钟通过选择器进行选择,并通过系统的分频器进行(1,2,4,8,16,32,64,128)分频。由于板子上没有外接高速晶振,所以只能使用芯片内部提供的16MHZ RC振荡器进行测试。为了更好的展现测试效果,我们对每种分频分别进行了测试。STM8的最高频率为16MHz,最低频率为16/128=125KHZ。下面各图分别为在各种分频系数下用板载IDD所测得得RUN模式下的消耗电流。(测试程序关闭了除ADC模块和液晶显示屏模块外的所有模块,并且电源为3.3V)。

分频因子为1时IDD值

分频因子为2时IDD值

分频因子为4时IDD值

分频因子为8时IDD值

分频因子为16时IDD值

分频因子为32时IDD值

分频因子为64时IDD值

分频因子为128时IDD值

通过测试,我们可以知道,在同一电压下,不同的工作频率器件所消耗的电流是不一样的,总体来看呈下降趋势。当这个下降却不是完全线性的,当系统分频因子从1变为2时效果比较明显,从8变为16和32时,系统消耗电流只有微小的改变,如果系统的分频因子从64变为128基本上可以说没有变化。如果还能够有256分频的话,按照前面的规律估计所消耗的电流变化也不会很大。难道这就是STM8L的极限了?当然不是,前面我们说过,STM8 MCU有4个时钟源,除去外部高速时钟板子上没有焊接外,其余三个我们都可以使用。上面我们测试的结果就是用内部16Mhz的RC时钟源作为主时钟得出的,为了使得STM8工作在更低的频率之下,我们可以选择内部38k低速时钟(即LSI)作为主时钟。以LSI为主时钟,并且分频因子为1时系统消耗电流如下图所示:

这个结果比用128分频的HSI作为主时钟还要低了许多,有的同学就会问了,如果用LSI的128分频作为主时钟的话是不是消耗电流更少呢?理论上来说当然是这样,但是我实在没有耐心等待LSI的128分频运行结束得到测量结果,要知道38000/128=296.875Hz。如果以这个频率让STM8工作的话并得到测试结果的话那将会是一个漫长的过程。:(
总结一下,上面我们讨论了STM8的最低工作电压与在此工作电压下所测得的消耗电流。同时我们介绍了STM8内置的IDD测试模块,并利用该模块完成了对STM8在不同的工作频率下的消耗电流测试。那么,所有的低功耗测试就结束了吗?当然不是,在下一集中我们将讨论STM8内部各个功能模块的功耗。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
激光跟踪仪市场2023年有望达5.216亿美元