【嵌入式学习笔记】---- 定时器

1 定时器核心原理

定时器的核心就是一个计数器模块,每出现一个计数信号,计数器的值可以自动加一减一。根据计数信号的来源,定时器分为两种工作模式:
①计数模式:计数信号为外界非周期信号,可以对引脚输入的脉冲信号进行计数
②定时模式:计数信号为内部周期性时钟信号,对内部周期性时钟信号进行计数
image

2 定时器分类

image

2.1 systick定时器

在STM32系列微控制器中,SysTick定时器是一个特殊的定时器,它是一个24位倒计时器,通常用于实现系统级别的定时和调度。SysTick定时器是一个内置的硬件定时器,用于提供操作系统或其他软件组件所需的基本定时功能

  • SysTick定时器可以通过特定的寄存器进行配置和控制。在STM32中,SysTick控制寄存器(STK_CTRL)用于启用或禁用SysTick定时器

2.2 基本定时器

在STM32系列微控制器中,基本定时器(Basic Timer)是一个简单而功能有限的定时器,用于生成基本的定时中断或PWM信号。基本定时器通常用于简单的定时功能和PWM输出,适用于一些较为简单的应用场景,例如LED控制、舵机控制、蜂鸣器控制等

2.3 通用定时器

在STM32系列微控制器中,通用定时器(General Purpose Timer)是一种功能强大、灵活多样的定时器,用于实现复杂的定时、PWM输出、输入捕获和输出比较等功能。具有广泛的应用场景和丰富的功能,包括电机控制、音频处理、通信系统、定时触发事件等

2.4 高级定时器

在STM32系列微控制器中,高级定时器(Advanced Timer)是一种功能更为强大和复杂的定时器,相比于基本定时器和通用定时器,高级定时器提供了更多的功能和灵活性,适用于一些对定时精度和功能要求更高的应用场景,如定时器同步、自动输出触发、高级PWM控制等,适用于电机控制、音频处理、通信系统等

  • 定时器同步:高级定时器支持多个定时器之间的同步,可以通过硬件触发信号实现定时器的同步运行,提高了定时器的精度和稳定性

  • 自动输出触发:高级定时器可以配置为在特定条件下自动触发输出事件,例如在定时器计数到特定值时自动触发PWM输出或产生外部触发信号

  • 高级PWM控制:高级定时器提供了更多的PWM控制功能,可以实现高级的PWM调制技术,例如相位差调制(Phase Shift Modulation)和互补输出模式等

2.5 看门狗定时器

在STM32系列微控制器中,看门狗定时器(Watchdog Timer,简称WWDG)是一种特殊类型的定时器,用于监视系统是否正常工作。WWDG定时器是一种硬件保护机制,旨在确保系统在发生故障或崩溃时能够进行自我恢复。如果系统由于某种原因停止响应,例如由于死锁、无限循环或其他故障,看门狗定时器将在预定的时间内未收到系统的“喂狗”信号时触发,从而触发系统的复位或其他故障处理机制

  • 计时功能:WWDG定时器通常配置为在预定的时间间隔内运行。通过设置看门狗定时器的预分频系数和计数器值,可以确定看门狗定时器的计时周期,即喂狗的时间间隔

  • 复位触发:当看门狗定时器超过设定的时间间隔未收到喂狗信号时,它将生成一个复位信号,从而触发系统的复位操作。这有助于在系统停止响应或发生故障时重新启动系统

  • 低功耗应用:在低功耗应用中,WWDG定时器可以被配置为在CPU进入低功耗模式时继续工作,以便在系统睡眠期间保持对系统的监视

2.6 实体时钟RTC

在 STM32 微控制器中,实体时钟定时器(Real-Time Clock,简称 RTC)是一种用于提供实时时钟和日期功能的特殊定时器。RTC 提供了一种可靠的方法来跟踪时间,并且在设备掉电后也能保持时间信息

  • 用途:RTC 主要用于提供实时时钟和日期功能,通常用于需要精确时间信息的应用,如数据记录、事件时间戳、日历功能等

  • 精度:RTC 提供了高精度的时钟,通常可以达到秒级甚至亚秒级的精度,这取决于 RTC 的时钟源和配置

  • 备份电源:RTC 具有备份电源输入,通常连接到电池或超级电容器,以便在主电源中断时保持 RTC 运行并保留时间信息

  • 计时功能:RTC 可以实现年、月、日、时、分、秒的计时功能,并支持闰年计算、12/24 小时制、日期和时间格式等功能

  • 中断功能:RTC 可以生成中断请求,用于在特定时间点触发中断服务程序,以执行任务调度、时间更新等操作

  • 自动校准:某些 RTC 可以支持自动校准功能,以确保时间的准确性,并在长期运行后校正 RTC 的时钟漂移

2.7 低功耗定时器

在 STM32 微控制器中,低功耗定时器(Low-Power Timer,简称LPTIM)是一种特殊的定时器,设计用于在低功耗模式下提供定时功能。LPTIM 提供了一种节能的方法来执行定时任务,并且在低功耗模式下仍能够正常工作

  • 低功耗模式支持:LPTIM 具有低功耗设计,可在微控制器进入低功耗模式(如停止模式、休眠模式)时继续运行。这使得 LPTIM 在需要定时功能但又需要最小功耗的应用中特别有用

  • 定时功能:LPTIM 具有基本的定时功能,可以生成定时中断或触发其他操作,例如唤醒微控制器或执行某些任务

  • 精度:LPTIM 的精度通常取决于其时钟源和配置,可以达到毫秒级甚至更高的精度

  • 时钟源:LPTIM 可以使用内部 RC 振荡器或外部时钟源作为时钟输入。选择不同的时钟源可以根据应用需求来平衡精度和功耗

  • 中断功能:LPTIM 可以生成中断请求,用于在特定时间点触发中断服务程序,以执行任务调度、唤醒微控制器等操作

3 定时器功能介绍

3.1 定时功能

定时器可以用于生成特定时间间隔的定时中断或触发其他操作。其原理是通过配置定时器的预分频系数和比较寄存器的值来确定定时的时间周期。当定时器的计数器达到或超过比较寄存器的值时,定时器会触发定时中断或执行其他操作

3.2 PWM输出功能

定时器可以用于生成脉冲宽度调制(PWM)信号,用于控制电机、LED调光等应用。其原理是通过配置定时器的计数周期(自动重装载值)和比较寄存器的值来确定 PWM 的周期和占空比。当计数器的值小于比较寄存器的值时,输出信号为高电平;当计数器的值大于比较寄存器的值时,输出信号为低电平

3.3 输入捕获功能

定时器可以用于捕获外部事件的时间戳,例如测量脉冲宽度、测量输入信号的频率等。其原理是通过配置定时器的捕获模式和触发条件,当外部事件发生时,定时器会记录下当前的计数器值作为时间戳

3.4 输出比较功能

定时器可以与输出比较功能结合使用,以产生输出触发信号,例如用于产生精确的脉冲信号或控制外部设备。其原理是通过配置比较寄存器的值和输出触发模式,当计数器的值与比较寄存器的值相等或满足特定条件时,定时器会触发输出比较事件

posted @ 2024-03-23 15:45  晚风也温柔  阅读(20)  评论(0编辑  收藏  举报