历史上的今天
今天是:2024年11月26日(星期二)
2020年11月26日 | STM8L pk MSP430 低功耗优势对比
2020-11-26 来源:elecfans
我的测试环境如下:
1、外部晶振分频得1M
2、一个16位定时器
3、一个按键中断
4、一个串口 波特率:115200
5、一个LED灯
6、电源3.3V
7、主程序运行:按键中断从串口打印“STM8L PK MSP430”,定时器500MS中断将LED取反。
以上硬件条件分别在STM8L和MSP430上全速进行。实测电流进行比较而得结果,有兴趣的朋友可以试试看看。

讨论说明:
低功耗一直是各大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 工作电压到底多低?
测试电路很简单,一个外置稳压电源,一个万用表串联用来测当前电流,一个万用表并联用来测试当前电压。
在电源电压为1.8056V时系统不工作,STM8板上液晶不亮。
在电源电压为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、2、4、8、16、32、64、128。
通过测试,我们可以知道,在同一电压下,不同的工作频率器件所消耗的电流是不一样的,总体来看呈下降趋势。当这个下降却不是完全线性的,当系统分频因子从1变为2时效果比较明显,从8变为16和32时,系统消耗电流只有微小的改变,如果系统的分频因子从64变为128基本上可以说没有变化。如果还能够有256分频的话,按照前面的规律估计所消耗的电流变化也不会很大。难道这就是STM8L的极限了?当然不是,前面我们说过,STM8 MCU有4个时钟源,除去外部高速时钟板子上没有焊接外,其余三个我们都可以使用。上面我们测试的结果就是用内部16Mhz的RC时钟源作为主时钟得出的,为了使得STM8工作在更低的频率之下,我们可以选择内部38k低速时钟(即LSI)作为主时钟。以LSI为主时钟,并且分频因子为1时系统消耗电流各不相同。
史海拾趣
|
高手们,怎么能知道PIC单片机的输入模拟量,对应的输出结果? 比如供电电压为5V,参考电压是单片机自己内部电压(5V),10位AD,输入模拟量1V对应多少?1.5V对应多少?2V对应多少?… 查看全部问答> |
|
使用mini2440板的wince5 接通无线网卡后,重启发现无线网卡没有启动,需要拔下usb插头再插上才可以继续使用无线网卡。 如何使重启后直接就可以使用无线网卡,不需要重新拔插接头,谢谢! 或者有没有程序使得无线网卡驱动在开机时自动运行? … 查看全部问答> |
|
我是通信工程专业的学生,我有数电,模电等电路基础,有基本C/C++基础,懂点单片机。我打算考研,发现报考的学校(现在定在北航)许多老师,都搞嵌入方向,我也想想学习下,为考研增加筹码。也许以后就定在嵌入方向了,但是我对嵌入方向没有什么方 ...… 查看全部问答> |
|
刚学vhdl,问个关于quartus仿真的菜鸟问题。 照书上写了个分频器的程序,然后想用quartus5.0看看波形。 在新建工程的时候让选择所用芯片,选哪个啊?不选不行吗?(貌似新建工程的时候好像必过这一步。---family and device settings) 程序编译 ...… 查看全部问答> |
|
我刚学C好多语法不懂~~ 我自己写了个一次全读完24C08的程序: 我作了如下定义: #define uint unsigned int #define uchar unsigned char uchar read(uchar page,uchar address); uchar p[4],i,c,ii; uint ...… 查看全部问答> |
|
需要把AT89S51中计数器中的值输出,采用直通方式连接DAC0832,然后电流电压转换,结果电压根本没变化,请问是什么原因? 把计数器中的值进行了BCD编码处理,原来是通过P0和P2端口输出给LED显示的,显示正确。现在通过P0直接输出给DAC0832是否可以 ...… 查看全部问答> |
|
因为手头正好有一块TI LM3S6965的开发板,最近想学习有关串口转以太网,所以拿着板子,根据 TI 的S2E源码在调试,在看telnet.c程序时有点不解,没找到把以太网数据存到ringbuf的相关代码,研究一短时间有点费解,有研究过S2E源码的大虾能帮忙解答下 ...… 查看全部问答> |




