无线路灯项目——STM32L低功耗相关

本文介绍了STM32L系列微控制器的低功耗特性及其应用。主要内容包括影响功耗的因素、高效处理能力、多种低功耗模式、低功耗外设以及时钟系统。特别关注了ADC在低功耗模式下的工作方式,以及如何通过不同模式和配置实现更低的功耗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.STM32L主要特性
  影响功耗的两大要素,一个是电压,一个是频率
  
2.高效的处理
  如果仅考虑处理功耗的话,用mA/DMIPS来表达,M3的核会比其他16位架构的MCU要好(这里感觉指的主要就是其竞争对手的MSP430)
  NOTE中提到一种典型的应用:便携式健康医疗设备,设备可运行在4MHZ的时钟下,这时的核电压只需最低的1.2V,外部电压最低可至1.65V
这里写图片描述

3.多种低功耗模式
这里写图片描述
相对于STM32F系列,L系列多了low power run和low power sleep两种模式
为了降低功耗,可以使用最低的主时钟,MSI

4.低功耗外设
  其中有一些外设是为低功耗定制的,比如STM32L1xx中有一个12bit,1MSps的ADC,如果这个ADC一直工作的话,会严重降低设备的续航,这个ADC典型的电流是1.45mA。ADC的启动时间是3.5us,转换一次的时间是1us,那么一次开机且转换6次的时间不超过10us,ADC的关闭是立即的。像这样一次开机转换6次的动作,我们执行的频率是1KHZ,那么平均下来,ADC的电流功耗是10.5uA(以上的ADC参数仅是大概地举个例子,具体的还是要看芯片的Datasheet)
  在高速时钟的系统中,外设的开启和关闭的时间是可以忽略的,但是在低速的低功耗系统中,这个时间是不能忽略的。例如在一个1MHZ的系统中,一个指令的执行时间就相当于1MSps ADC的采样时间了。如果ADC在这种低速的情况下工作,要达到高采样速率,是达不到的,对后续的DSP造成影响。为此,ST对ADC设计成这样:不管Core的频率是多少,ADC的时钟都是内部16MHZ的时钟,是它最高的时钟。即使在一个32KHZ的系统中,一个指令的长度是30us,那么ADC在30us内也可以完成多次转换,得到多个采样值,后续可完成DSP,若只需采样一次的话,只需花费30us内的4.5us。
  以下三个外设在STOP模式依然可以工作:
  1.两个比较器,可以组成一个窗口电压比较,3uA
  2.RTC,可以做成闹钟,1uA
  3.LCD控制器,5uA(不包括LCD功耗)

5.时钟系统
STM32L1提供了5种时钟。
两个外部时钟(高精度,高功耗,额外成本):
●HSE(high-speed external crystal),4-24MHZ
●LSE(low-speed external crystal),32.768KHZ
三个内部时钟(低精度,低功耗,不需额外成本):
●HSI(high-speed internal RC oscillator),16MHZ
●MSI(high-speed external RC oscillator),64KHZ-4MHZ
●LSI(high-speed external RC),37KHZ

下表是5种时钟的特性总结:
这里写图片描述
其中MSI可由LSE来校正精度,最终可至0.5%
主时钟可由HSE、HSI、MSI这三种时钟提供

下面以进入Low power sleep mode为例子

    // RCC 时钟系统重启
    RCC_DeInit();

    /* Flash 0 wait state */
    FLASH_SetLatency(FLASH_Latency_0);

    /* Disable Prefetch Buffer */
    FLASH_PrefetchBufferCmd(DISABLE);    

    /* Disable 64-bit access */
    FLASH_ReadAccess64Cmd(DISABLE);

    /* Enable the PWR APB1 Clock */
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);

    /* Select the Voltage Range 2 (1.5V) */
    PWR_VoltageScalingConfig(PWR_VoltageScaling_Range2);

    /* Wait Until the Voltage Regulator is ready */
    while(PWR_GetFlagStatus(PWR_FLAG_VOS) != RESET)
    {}

    /* HCLK = SYSCLK = 262.144KHz */
    RCC_HCLKConfig(RCC_SYSCLK_Div1);

    /* PCLK2 = HCLK */
    RCC_PCLK2Config(RCC_HCLK_Div1);

    /* PCLK1 = HCLK */
    RCC_PCLK1Config(RCC_HCLK_Div1);

    /* Set MSI clock range to 262.144KHz */
    RCC_MSIRangeConfig(RCC_MSIRange_2);

    /* Select MSI as system clock source */
    RCC_SYSCLKConfig(RCC_SYSCLKSource_MSI);

    /* Wait till PLL is used as system clock source */
    while (RCC_GetSYSCLKSource() != 0x00)
    {} 

    /* Enable The ultra Low Power Mode */
    PWR_UltraLowPowerCmd(ENABLE);

    /* Enable the power down mode during Sleep mode */
    FLASH_SLEEPPowerDownCmd(ENABLE);

    /* Request to enter SLEEP mode with regulator in low power mode */
    PWR_EnterSleepMode(PWR_Regulator_LowPower, PWR_SLEEPEntry_WFI);

【Reference】
RM0038:Reference manual
AN3193:STM32L1xx ultralow power features overview
http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1295/LN962/PF251642?s_searchtype=partnumber#

转载于:https://www.cnblogs.com/season-peng/p/6713504.html

第二章 系统总体设计 2.1系统架构 本智能路灯控制系统采用三层架构设计。感知层作为系统前端,由BH1750光敏模块与HC-SR501红外传感器组成。BH1750通过I²C总线将环境光照强度转换为数字信号,检测精度可达1lx,覆盖0-65535lx量程;红外传感器利用热释电原理,实时监测5-7米范围内的人车活动信号。控制层以STM32F103单片机为核心,接收感知层数据后,依据预设算法进行逻辑判断,生成控制指令。执行层由LED驱动电路构成,通过PWM信号调节LED灯组的驱动电流,实现0-100%亮度无级调节。各层间通过标准化接口通信:I²C总线连接感知层与控制层,确保数据精准传输;PWM接口驱动执行层实现调光;UART/SPI接口适配NBIoT或WiFi模块,完成与管理平台的数据交互,形成完整的闭环控制系统。 2.2功能需求 系统核心功能为环境光自适应调光,通过实时监测光照强度,动态调节路灯亮度。当光照强度低于100lx时,路灯自动开启并全功率照明;在100-500lx区间,亮度降至50%;高于500lx则自动关闭。人车流量检测功能基于红外传感器[13],在无人员车辆经过时,进一步降低路灯亮度至30%,当检测到活动信号后,2秒内恢复正常亮度,实现节能与照明需求的平衡。故障报警功能通过实时监测LED电流、电压及通信状态[6],当出现短路、过压或通信中断等异常时,立即通过NBIoT/WiFi模块向管理平台发送故障代码与定位信息,便于维护人员快速响应。 2.3技术选型 主控芯片选用STM32F103,其ARMCortex-M3内核具备72MHz主频与丰富外设,包含3个12位ADC、11个定时器及多种通信接口,可高效处理传感器数据与PWM调光控制。通信模块根据场景灵活选择:NBIoT模块[1]适用于远程广域监控,支持低功耗长距离传输;WiFi模块[4]则在局域网络内提供高速数据交互,满足商业区、校园等区域的实时监控需求。BH1750光敏模块[14]以其数字式输出、高精度特性,直接输出与光照强度线性相关的16位数据,简化信号处理流程。HC-SR501红外传感器[13]凭借高灵敏度与低功耗设计,可稳定检测人体与车辆活动,为节能控制提供可靠依据。 有没有类似的文件
04-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值