基于单片机的频率测量与显示系统外文翻译资料

 2021-11-14 22:11:11

英语原文共 43 页

  1. 电源
    1. 介绍

此设备需要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的内容都会丢失。

    1. 低功耗模式

默认情况下,系统或电源复位后,微控制器处于运行模式。 当CPU不需要保持运行时,例如在等待外部事件时,可以使用多种低功耗模式来节省电量。 用户可以选择在低功耗,短启动时间和可用唤醒源之间实现最佳折衷的模式。

STM32F10xxx器件具有三种低功耗模式:

·休眠模式(CPU时钟关闭,包括NVIC,SysTick等Cortex-M3核心外设在内的所有外设均保持运行)

·停止模式(所有时钟停止)

·待机模式(1.8V域断电)此外,运行模式下的功耗可通过以下方式之一降低:

·减慢系统时钟

·在未使用时将时钟连接到APB和AHB外设。

      1. 减慢系统时钟

在运行模式下,可以通过编程预分频器寄存器来降低系统时钟(SYSCLK,HCLK,PCLK1,PCLK2)的速度。 这些预分频器还可用于在进入休眠模式之前减慢外设。

      1. 外围时钟门控

在运行模式下,可以随时停止各个外设和存储器的HCLK和PCLKx,以降低功耗。

为了进一步降低休眠模式下的功耗,可以在执行WFI或WFE指令之前禁用外设时钟。

外设时钟门控由AHB外设时钟使能寄存器(RCC_AHBENR),APB1外设时钟使能寄存器(RCC_APB1ENR)和APB2外设时钟使能寄存器(RCC_APB2ENR)控制。

      1. 休眠模式

进入休眠模式

通过执行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通道挂起位,因为未设置与事件线对应的挂起位。

此模式提供最低的唤醒时间,因为在中断进入或退出时不会浪费时间。

      1. 停止模式

停止模式基于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振荡器被选为系统时钟。

当稳压器工作在低功耗模式时,从停止模式将其唤醒会产生额外的启动延迟。 通过在停止模式期间保持内部调节器开启,尽管启动时间减少,但消耗更高。

      1. 待机模式

待机模式允许实现最低功耗。 它基于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引脚(如果已启用)

      1. 调试模式

默认情况下,如果应用程序在使用调试功能时将MCU置于停止或待机模式,则调试连接将丢失。 这是因为Cortextrade;-M3内核不再计时。

但是,通过在DBGMCU_CR寄存器中设置一些配置位,即使广泛使用低功耗模式,也可以调试软件。

      1. 从低功耗模式自动唤醒(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。

  1. 时钟

可以使用三种不同的时钟源来驱动系统时钟(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技术参考手册”。

  1. 实时时钟(RTC)
    1. 介绍

实时时钟是一个独立的计时器。 RTC提供一组连续运行的计数器,可以使用合适的软件来提供时钟日历功能。 可以写入计数器值以设置系统的当前时间/日期。

    1. 主要特点

·可编程预分频器:分频系数高达220

·32位可编程计数器,用于长期测量

·两个独立的时钟:用于APB1接口的PCLK1和RTC时钟(必须至少比PCLK1时钟慢四倍)

·两种独立的复位类型: - APB1接口通过系统复位复位 - RTC核心(预分频器,报警,计数器和分频器)仅通过备份域复位复位(请参阅STM32F10xxx参考手册中的“备份域复位”部分)。

·三条专用可屏蔽中断线: - 报警中断,用于产生软件可编程报警中断。 - 秒中断,用于产生具有可编程周期长度(最长1秒)的周期性中断信号。 - 溢出中断,用于检测内部可编程计数器何时翻转为零。

    1. 功能说明
      1. 概述

RTC由两个主要单元组成。第一个(APB1接口)用于与APB1总线连接。该单元还包含一组16位寄存器,可在读或写模式下从APB1总线访问。 APB1接口由APB1总线时钟提供时钟,以便与APB1总线连接。

另一个单元(RTC Core)由一系列由两个主要模块组成的可编程计数器组成。第一个模块是RTC预分频器模块,

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。