微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > stm32低功耗设计经验

stm32低功耗设计经验

时间:11-27 来源:互联网 点击:

,该读卡芯片有个TESTIN/TESTOUT管脚,是用来测试用的,出厂后也就用不上了,我也一直以为这两个脚确实没什么用,就没接;可是我发现 厂家提供的样板居然接了这两个脚,但是厂商也没说这两个脚接或不接会影响功耗啊,抱着试一试的心态,我我把TESTIN/TESTOUT两个管脚接到单片 机上进行相应的配置,接下来是见证奇迹的时刻了,功耗居然真的、真的降到10uA了。。。。。。。。。。。 此处省略n个字
这时候真的很激动,真的很想骂人啊,坑爹的厂家,为什么不给提示说这两个脚不接单片机会消耗电流呢?(也许是文档里面提到了,但是几百页的文档,还是全英文的,一堆堆的文字,我再看一遍,确实没有提到这两个管脚会有漏电流。)
项目就这样完工了,中间最重要的是技术支持的强力支持,不然项目不能完工了,这个项目低功耗STM32方面难度不高,主要是读卡芯片上面的低功耗调试起来 问题很多,还是人家原厂的出马才解决了问题,因为众多原因,不能公布该芯片的资料,包括该芯片怎么进入低功耗也无法公开,所以抱歉~~。
关于STM32进入低功耗,我简单的总结了一下:
1.管脚设置,这个很关键,还是跟你电路有关系,外加上拉、下拉电阻切记不能随便加
2.STM32的systick clock、DMA、TIM什么的,能关就全都关掉,STM32低功耗很简单,关键是外围电路功耗是关键
3.选择一个低功耗的LDO,这个项目用到的LDO功耗就很不错,静态功耗10uA都不到。
4.确定STM32设置没问题,进入低功耗有好几种情况可以选择(睡眠、停机、待机),我还是推荐选择STOP模式,这个我觉的比较好是因为可以任意外部中断都可以唤醒,而且管脚可以保留之前的设置,进入停机模式的代码使用库函数自带的,就一句:

PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
意思是,在进入停机模式之前,也关掉电压调节器,进一步降低功耗,使用WFI指令(任意中断唤醒),但是经过测试,使用WFE(任事件唤醒)指令效果、功耗一模一样。
最后一步是从STOP模式怎么恢复了,恢复其实也很简单,外部中断来了会进入中断函数,然后STM32就被唤醒,唤醒还要做一些工作,需要开启外部晶振(当然你也可以选择使用内部自带振荡器)、开启你需要的外设等等。

总之,低功耗关键我觉得还是在于管脚配置,以及你对于外围电路的掌握。

关于低功耗,我也做过
STM32这端,建议:
1用STANDARD模式,用wkup唤醒要比STOP模式更省电不少。
2将外部所有设备的时钟关闭[除非有必要],并置所有IO为模拟输入状态(或者浮空输入)

那个电流表测整板的工作电流,没必要一一去测某一个模块。不同的IO设置会导致不同的漏电流,所以IO要设置正确,这个要注意额。TIM的时钟也建议都关掉吧,很耗电,采用外部中断唤醒或者RTC唤醒都可以的

给的代码就是在进入stop之前要把管脚这样设置的是么?

思路是不是这样:
1,进入stop之前将管脚重新设置,关闭不用的外设和时钟
2,进入stop指令
3,退出时进入中断,先重新配置管脚以及开启时钟和外设

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top