英语原文共 43 页
-
电源
- 介绍
此设备需要2.0V至3.6V的工作电压(VDD)。嵌入式稳压器用于提供1.8V的内置数字电源。
当主VDD电源断电时,VBAT电压能给实时时钟(RTC)和备份寄存器供电。
1.1.1 独立的A/D转换器电源和参考电压
为了提高转换精度,ADC具有独立的电源,可以单独滤波,并屏蔽PCB上的噪声。
·ADC电源输入可在单独的VDDA引脚上使用
·VSSA引脚上提供隔离电源接地连接
若可用(取决于封装),VREF-必定与VSSA相关。
采用100引脚封装
为了确保低压输入的更高精度,用户可以在VREF 上连接单独的外部参考电压ADC输入。VREF 上的电压范围为2.0 V至VDDA。
在64针或更少的封装上
VREF 和VREF-引脚不可用,它们内部连接到ADC电源(VDDA)和地(VSSA)。
1.1.2 备用电池
要在VDD关闭时保留备份寄存器的内容,VBAT引脚可以连接到由电池或其他电源提供的可选备用电压。
VBAT引脚也为RTC单元供电,即使主数字电源(VDD)关闭,RTC也能工作。 切换到VBAT电源由嵌入在复位模块中的掉电复位(PDR)电路控制。
如果在应用中没有使用外部电池,VBAT必须从外部连接到VDD。
1.1.3 电压调节器
复位后,电压调节器始终处于使能状态。 它根据应用模式在三种不同模式下工作:
·在运行模式下,稳压器为1.8 V域(内核,存储器和数字外设)提供全功率
·在停止模式下,稳压器为1.8 V域提供低功耗 ,保留寄存器和SRAM的内容
·在待机模式下,稳压器断电。 除了与备用电路和备份域有关的内容外,寄存器和SRAM的内容都会丢失。
-
- 低功耗模式
默认情况下,系统或电源复位后,微控制器处于运行模式。 当CPU不需要保持运行时,例如在等待外部事件时,可以使用多种低功耗模式来节省电量。 用户可以选择在低功耗,短启动时间和可用唤醒源之间实现最佳折衷的模式。
STM32F10xxx器件具有三种低功耗模式:
·休眠模式(CPU时钟关闭,包括NVIC,SysTick等Cortex-M3核心外设在内的所有外设均保持运行)
·停止模式(所有时钟停止)
·待机模式(1.8V域断电)此外,运行模式下的功耗可通过以下方式之一降低:
·减慢系统时钟
·在未使用时将时钟连接到APB和AHB外设。
-
-
- 减慢系统时钟
-
在运行模式下,可以通过编程预分频器寄存器来降低系统时钟(SYSCLK,HCLK,PCLK1,PCLK2)的速度。 这些预分频器还可用于在进入休眠模式之前减慢外设。
-
-
- 外围时钟门控
-
在运行模式下,可以随时停止各个外设和存储器的HCLK和PCLKx,以降低功耗。
为了进一步降低休眠模式下的功耗,可以在执行WFI或WFE指令之前禁用外设时钟。
外设时钟门控由AHB外设时钟使能寄存器(RCC_AHBENR),APB1外设时钟使能寄存器(RCC_APB1ENR)和APB2外设时钟使能寄存器(RCC_APB2ENR)控制。
-
-
- 休眠模式
-
进入休眠模式
通过执行WFI(等待中断)或WFE(等待事件)指令进入休眠模式。 有两个选项可用于选择休眠模式进入机制,具体取决于Cortex-M3系统控制寄存器中的SLEEPONEXIT位:
·立即休眠:如果SLEEPONEXIT位清零,则只要执行WFI或WFE指令,MCU就会进入休眠模式。
·退出后再进入休眠:如果SLEEPONEXIT位置1,则MCU退出最低优先级ISR后立即进入休眠模式。
在休眠模式下,所有I / O引脚保持与运行模式下相同的状态。
退出休眠模式
如果使用WFI指令进入休眠模式,嵌套向量中断控制器(NVIC)确认的任何外设中断都可以将器件从休眠模式唤醒。
如果使用WFE指令进入休眠模式,则一旦发生事件,MCU就会退出休眠模式。唤醒事件可以通过以下方式生成:
·在外设控制寄存器中启用中断,但不在NVIC中启用中断,并启用Cortex-M3系统控制寄存器中的SEVONPEND位。当MCU从WFE恢复时,必须清除外设中断挂起位和外设NVIC IRQ通道挂起位(在NVIC中断清除挂起寄存器中)。
·或在事件模式下配置外部或内部EXTI线路。当CPU从WFE恢复时,没有必要清除外设中断挂起位或NVIC IRQ通道挂起位,因为未设置与事件线对应的挂起位。
此模式提供最低的唤醒时间,因为在中断进入或退出时不会浪费时间。
-
-
- 停止模式
-
停止模式基于Cortex-M3深度睡眠模式和外设时钟门控。 电压调节器可配置为正常或低功耗模式。 在停止模式下,1.8 V域中的所有时钟都停止,PLL,HSI和HSE RC振荡器被禁用。 保留SRAM和寄存器内容。
在停止模式下,所有I / O引脚保持与运行模式下相同的状态。
进入停止模式
为了进一步降低停止模式下的功耗,可以将内部稳压器置于低功耗模式。这由电源控制寄存器(PWR_CR)的LPDS位配置。
如果正在进行闪存编程,则停止模式条目将延迟,直到存储器访问完成。
如果正在进行对APB域的访问,则停止模式条目将延迟,直到APB访问完成为止。
在停止模式下,可以通过编程各个控制位来选择以下功能:
·独立看门狗(IWDG):通过写入其密钥寄存器或硬件选项来启动IWDG。一旦启动,除非重置,否则无法停止。
·实时时钟(RTC):由备份域控制寄存器(RCC_BDCR)中的RTCEN位配置
·内部RC振荡器(LSI RC):由控制/状态寄存器(RCC_CSR)中的LSION位配置。
·外部32.768 kHz振荡器(LSE OSC):由备份域控制寄存器(RCC_BDCR)中的LSEON位配置。
ADC或DAC也可以在停止模式期间消耗功率,除非它们在进入之前被禁用。要禁用它们,ADC_CR2寄存器中的ADON位和DAC_CR寄存器中的ENx位都必须写入0。
退出停止模式
通过发出中断或唤醒事件退出停止模式时,HSI RC振荡器被选为系统时钟。
当稳压器工作在低功耗模式时,从停止模式将其唤醒会产生额外的启动延迟。 通过在停止模式期间保持内部调节器开启,尽管启动时间减少,但消耗更高。
-
-
- 待机模式
-
待机模式允许实现最低功耗。 它基于Cortex-M3深度睡眠模式,禁用电压调节器。 因此,1.8 V域将断电。 PLL,HSI振荡器和HSE振荡器也被关闭。 除备份域和备用电路中的寄存器外,SRAM和寄存器内容都会丢失。
进入待机模式
在待机模式下,可以通过编程单个控制位来选择以下功能:
·独立看门狗(IWDG):通过写入其密钥寄存器或硬件选项来启动IWDG。 一旦启动,除非重置,否则无法停止。
·实时时钟(RTC):由备份域控制寄存器(RCC_BDCR)中的RTCEN位配置
·内部RC振荡器(LSI RC):由控制/状态寄存器(RCC_CSR)中的LSION位配置。
·外部32.768 kHz振荡器(LSE OSC):由备份域控制寄存器(RCC_BDCR)中的LSEON位配置
退出待机模式
当外部复位(NRST引脚),IWDG复位,WKUP引脚上升沿或RTC报警发生时,单片机退出待机模式。 从待机状态唤醒后,所有寄存器都会复位,但电源控制/状态寄存器(PWR_CSR)除外。
从待机模式唤醒后,程序执行将以与复位(引导引脚采样,获取向量复位等)相同的方式重新启动。 电源控制/状态寄存器(PWR_CSR)中的SBF状态标志表示MCU处于待机模式。
处于待机模式的I / O状态在待机模式下,所有I / O引脚都是高阻抗,除了:
·复位垫(仍然可用)
·AMPER引脚,如果配置为篡改或校准输出
·WKUP引脚(如果已启用)
-
-
- 调试模式
-
默认情况下,如果应用程序在使用调试功能时将MCU置于停止或待机模式,则调试连接将丢失。 这是因为Cortextrade;-M3内核不再计时。
但是,通过在DBGMCU_CR寄存器中设置一些配置位,即使广泛使用低功耗模式,也可以调试软件。
-
-
- 从低功耗模式自动唤醒(AWU)
-
RTC可用于从低功耗模式唤醒MCU,而不依赖于外部中断(自动唤醒模式)。 RTC提供可编程时基,可定期从停止或待机模式唤醒。为此,可以通过编程备份域控制寄存器(RCC_BDCR)中的RTCSEL [1:0]位来选择三个备用RTC时钟源中的两个:
·低功耗32.768 kHz外部晶体振荡器(LSE OSC)。该时钟源提供精确的时基,功耗极低(在典型条件下增加的功耗小于1mu;A)
·低功耗内部RC振荡器(LSI RC)该时钟源具有节省32.768 kHz晶振成本的优势。该内部RC振荡器旨在增加最低功耗。要使用RTC警报事件从停止模式唤醒,必须:
·将EXTI Line 17配置为对上升沿敏感
·配置RTC生成RTC告警
要从待机模式唤醒,无需配置EXTI Line 17。
- 时钟
可以使用三种不同的时钟源来驱动系统时钟(SYSCLK):
·HSI振荡器时钟
·HSE振荡器时钟
·PLL时钟器件具有以下列出的两个辅助时钟源:
·40 kHz低速内部RC(LSI RC),用于驱动独立看门狗和可选用于从停止/待机模式自动唤醒的RTC。
·32.768 kHz低速外部晶振(LSE晶振),可选择驱动实时时钟(RTCCLK)
每个时钟源可以在不使用时独立接通或断开,以优化功耗。
多个预分频器允许配置AHB频率,高速APB(APB2)和低速APB(APB1)域。 AHB和APB2域的最大频率为72 MHz。 APB1域的最大允许频率为36 MHz。 RCC通过AHB时钟(HCLK)除以8来提供Cortex系统定时器(SysTick)的外部时钟.SysTick可以使用此时钟或Cortex时钟(HCLK)工作,可在SysTick控制和状态寄存器中配置。 ADC由高速域(APB2)时钟除以2,4,6或8提供时钟。
定时器时钟频率是它们所连接的APB域的频率的两倍。 但是,如果APB预分频比为1,则定时器的时钟频率与其连接的APB域的频率相同。
FCLK充当Cortextrade;-M3自由运行时钟。 有关更多详细信息,请参阅“ARM Cortextrade;-M3技术参考手册”。
-
实时时钟(RTC)
- 介绍
实时时钟是一个独立的计时器。 RTC提供一组连续运行的计数器,可以使用合适的软件来提供时钟日历功能。 可以写入计数器值以设置系统的当前时间/日期。
-
- 主要特点
·可编程预分频器:分频系数高达220
·32位可编程计数器,用于长期测量
·两个独立的时钟:用于APB1接口的PCLK1和RTC时钟(必须至少比PCLK1时钟慢四倍)
·两种独立的复位类型: - APB1接口通过系统复位复位 - RTC核心(预分频器,报警,计数器和分频器)仅通过备份域复位复位(请参阅STM32F10xxx参考手册中的“备份域复位”部分)。
·三条专用可屏蔽中断线: - 报警中断,用于产生软件可编程报警中断。 - 秒中断,用于产生具有可编程周期长度(最长1秒)的周期性中断信号。 - 溢出中断,用于检测内部可编程计数器何时翻转为零。
-
-
功能说明
- 概述
-
功能说明
RTC由两个主要单元组成。第一个(APB1接口)用于与APB1总线连接。该单元还包含一组16位寄存器,可在读或写模式下从APB1总线访问。 APB1接口由APB1总线时钟提供时钟,以便与APB1总线连接。
另一个单元(RTC Core)由一系列由两个主要模块组成的可编程计数器组成。第一个模块是RTC预分频器模块,
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。