STM32低功耗控制心得体会

发布时间:2022-12-05  

1.说明

本文主要叙述在stm32进入stop时如何保持最低功耗的问题,并对部分细节问题进行分析整理。STM32L提供5种低功耗模式:低功耗运行模式、睡眠模式、低功耗睡眠模式、停止模式、待机模式。


待机模式电流最低,但是待机模式时的MCU处于不受控制的状态,所有的IO口都工作在高阻抗的状态的下,只有专门的几个引脚能够将MCU唤醒,而每次唤醒后相当于系统复位,RAM中的数据全部丢失,在外部器件连接的情况下,器件的引脚可能会吸收大量的电流,反而达不到低功耗的要求。


停止模式的功耗仅次于待机模式,在STOP模式下,PLL,HSL,HSE都被停止,RAM和寄存器的值保留。


2.引脚配置


在stop模式下,由于所有的引脚的状态都可以保留,所以需要进行适当的引脚配置才能达到效果。在实际的配置过程中,如果在stm32最小系统中,要在stop模式下保持最低功耗,可将所有的GPIO设置成模拟输入,如果不进行配置,将是默认是浮空输入,此时stop模式的电流很大。在设置的过程中,有几个特殊的引脚需要注意。




对于stm32来说,除了PA,PB,PC每个组有16个GPIO之外,还有PD2,PH0, PH1这三个GPIO。不能错过任何一个引脚的配置,否则功耗会很大。


在所有的引脚配置成GPIO模式后,在stm32最小系统中采用3.3V电压供电,实测电流为0.75uA。但是如果将全部的引脚都配置成模拟输入的GPIO后,将不能正常的使用,根据实际使用的情况,预留9个中断口作为唤醒源。当配置完成之后,可以将电流控制在3.5uA。


降低功耗的控制,主要需要注意的是引脚的上下拉,在有中断引脚上有外设时,可以将引脚配置成浮空输入的模式,不需要配置上下拉。而当该引脚上未接任何外设时,一定需要设置内部的上拉或者下拉,这是比较关键和重要的。


3.通讯类外设的控制


对于stm32内部的通信类的外设,除了设置GPIO的引脚之外,还需要将内部的uart或者i2c或者spi等通信类设备关闭。由于目前只使用了uart,所以在关闭uart可以通过HAL的HAL_UART_MspDeInit(&huart1);函数进行deinit。该函数会关闭中断,清空内部寄存器,并且设置引脚为GPIO模式。所以可以达到降低功耗的目的。


在测试过程中,也遇到了一个问题,就是唤醒后,串口将无法接收和发送数据。刚开始认为休眠时DeInit,唤醒后Init即可,但是还有一个重要的步骤没有做,就是开启串口的中断。

HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);HAL_NVIC_EnableIRQ(USART1_IRQn);HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);HAL_NVIC_EnableIRQ(USART2_IRQn);HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);HAL_NVIC_EnableIRQ(USART3_IRQn);


目前三路串口采用的是DMA+空闲中断的方式进行的,所以这里需要重新开启中断才行。


第二个问题就是ADC,当时测试,一采用ADC进行采样后,下次休眠后电流就很大,实测可达到1.8mA,而不采用ADC进行采样的情况下只有38uA。所以ADC也在耗电,ADC不属于通信类的外设,但是采用了DMA,所以需要关闭掉ADC的中断即可HAL_ADC_Stop_IT(&hadc);,一般来说,如果不是采用DMA的方式,非通讯类的外设只需要关掉时钟即可。__HAL_RCC_ADC1_CLK_DISABLE();


4.特殊引脚的控制


有一个引脚也是需要注意,PH0,该引脚以前是作为外部的32k晶振使用,可用作独立看门狗的时钟源,由于该引脚目前作为了GPIO,所以在使用时作为普通的GPIO使用。作为普通的GPIO使用的必要条件是HSE时钟关闭。但是在测试过程中还是遇到一个问题,该引脚配置成模拟输入后,stop模式下的电流仍有800uA,后来经过测试,发现是Debug调试器未关,也就是HAL_DBGMCU_DisableDBGSleepMode();函数没有有调用。所以在测试时电流才有800多uA。


5. 总结


对于降低功耗来说,standy模式功耗最低,但是唤醒源比较少,可以选择stop模式。由于stop模式的引脚状态和断电前保持一致,所以在进入stop之前需要将不需要控制的引脚设置成模拟输入。同时中断引脚设置相应的浮空或者上拉,这时,如果在中断引脚上未接任何的东西,内部需要上拉或者下拉,这样才能保证最低功耗。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    STM32低功耗控制心得体会;1.说明 本文主要叙述在stm32进入stop时如何保持最低功耗的问题,并对部分细节问题进行分析整理。STM32L提供5种低功耗模式:低功耗运行模式、睡眠模式、低功......
    后的结果如图此时电梯初始位置在0层 4.2 电梯上升到2楼的切换仿真 4.3 电梯下降到1楼的切换仿真 第五章 心得体会 经过调试之后,使用单片机来模拟电梯的运行过程的是可行的,但是......
    如何利用MATLAB语言编程控制实时频谱分析仪;目前,信号分析主要从时域、频域、调制域三个方面进行。 时域分析是观察并分析信号随时间的变化情况。例如,信号的幅度、周期、频率等。时域......
    VBW可以平滑迹线”这样的结论即可。但是本着“知其然,知其所以然”的原则,作者还是深入思考了这个问题,有些心得体会。俗话说,好记性不如烂笔头,这里还是写下来,以便日后翻阅。 什么是VBW?什么......
    上述问题,本文提出了一种新型的工业互联网教学实训系统。 2系统设计原理及层级关系 如图1所示,基于工业互联网架构原理搭建了一套典型的工业互联网架构,自下而上分别是执行单元、控制单元、工业网关单元、云基......
    。 万魔声学董事长兼 CTO 谢冠宏先生一直致力于推动万物互联时代的到来。近年来他多次出席音频产业峰会,与业内同行交流心得体会,分享智能声学的 AI 趋势与应用,并坚信 AI......
    确定性函数关系来补偿q轴电流在速度和q轴电流之间。此外,对于速度和d轴电流之间的联系,本文使用dq轴CME的相互确定性连接d轴电流补偿。 六、心得体会 由于传感器的工作环境的变化,电流......
    ”三大功能。此次调整意味着向日葵远程控制为用户又增加了更多的远程体验,让远程更具人性化。 新增功能一:“屏幕录像”——随时记录多主机的远程操作 远程控制被控端需要记录远程过程时,在主......
    士正积极与包括重庆理工大学等院校合作,通过校园宣讲会帮助学生快速了解公司基础情况和招聘信息;组织行业资深人才和在公司工作的毕业生前往学校举行交流会,介绍行业发展前景、分享工作的心得体会;组织企业参观活动,提前......
    这些系统稳定运行所需投入的运维资源也是巨大的,而且势必涉及数量众多的第三方供应商。出于成本和执行难度考量,大量的第三方供应商不可能全部采用驻场服务,通过远程控制实施运维成为了一个“必选项”。 实施方面,由于安全合规需要,医院......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>