STM32系列:定时/计数器——通用,高级定时器

目录

一,通用定时器

[1.1 通用定时器简介](#1.1 通用定时器简介)

[1.2 通用定时器框图](#1.2 通用定时器框图)

[1.3 计数器时钟源](#1.3 计数器时钟源)

二,高级定时器

[2.1 高级定时器简介](#2.1 高级定时器简介)

[2.2 高级定时器框图](#2.2 高级定时器框图)


一,通用定时器

[1.1 通用定时器简介](#1.1 通用定时器简介)

通用定时器:TIM2/TIM3/TIM4/TIM5在STM32F1系列中具有广泛的应用。

  • 通用定时器是一个通过可编程预分频器驱动的16位自动装载计数器构成。
  • 适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)。
  • 使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个 毫秒间调整
  • 且 每个定时器都是完全独立的,没有互相共享任何资源。它们可以一起同步操作

TIMx的主要功能:

通用TIMx (TIM2、TIM3、TIM4和TIM5)定时器功能包括:

  • 16位向上、向下、向上/向下自动装载计数器
  • 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65536之间的任意 数值
  • 4个独立通道: ─ 输入捕获 ─ 输出比较 ─ PWM生成(边缘或中间对齐模式) ─ 单脉冲模式输出
  • 使用外部信号控制定时器和定时器互连的同步电路

如下事件发生时产生中断/DMA: ─ 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发) ─ 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数) ─ 输入捕获 ─ 输出比较

  • 支持针对定位的增量(正交)编码器和霍尔传感器电路
  • 触发输入作为外部时钟或者按周期的电流管理

[1.2 通用定时器框图](#1.2 通用定时器框图)

1,时钟源(CLK):

  • 时钟源是定时器的输入时钟,它可以是来自内部时钟源(系统时钟)或外部时钟源(外部触发输入或其它定时器)
  • 定时器的工作频率由时钟源决定

2,控制器(Contor):

  • 控制器模块用于配置和控制定时器的各种功能,包括分频器,自动重载寄存器,其它控制寄存器
  • 预分频器用于将时钟源的频率分频
  • 自动重在寄存器确定定时器溢出时间即定时计数器从0开始重新计数

3,时基单元

  • 时基单元是定时器的核心部分,它实现了定时器的计数功能
  • 计数器可以递增或递减,可以选择不同的计数方式和不同的计数方向

4,输入捕获

  • 输入捕获模块用于捕获外部信号的时间戳
  • 可以用于测量外部信号的脉冲宽度,周期或频率等特性

5,捕获/比较

  • 捕获/比较模块可以用于捕获外部信号或执行比较操作
  • 配置该模块以实现输入捕获,输出比较或PWM输出等功能

6,输出比较

  • 输出比较用于产生PWM输出信号,控制外部设备的电平或速度

[1.3 计数器时钟源](#1.3 计数器时钟源)

计数器的时钟由内部时钟(CK_INT)提供

计数器时钟源寄存器设置方法

|---------------------|---------------------|
| 计数器时钟选择类型 | 设置方法 |
| 内部时钟(CK_INT) | 设置TIMx_SMCR的SMS=000 |
| 外部时钟模式1:外部输入引脚(TIx) | 设置TIMx_SMCR的SMS=111 |
| 外部时钟模式2:外部触发输入(ETR) | 设置TIMx_SMCR的ECE=1 |
| 内部触发输入(ITRx) | 参考stm32F10xxx参考手册 |

二,高级定时器

[2.1 高级定时器简介](#2.1 高级定时器简介)

|-------|
| 高级定时器 |

:TIM1/TIM8

TIM1和TIM8主要特性:

  • 16位向上、向下、向上/下自动装载计数器
  • 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意 数值
  • 多达4个独立通道: ─ 输入捕获 ─ 输出比较 ─ PWM生成(边缘或中间对齐模式) ─ 单脉冲模式输出
  • 死区时间可编程的互补输出
  • 使用外部信号控制定时器和定时器互联的同步电路
  • 允许在指定数目的计数器周期之后更新定时器寄存器的重复计数器
  • 刹车输入信号可以将定时器输出信号置于复位状态或者一个已知状态
  • 如下事件发生时产生中断/DMA: ─ 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发) ─ 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数) ─ 输入捕获 ─ 输出比较 ─ 刹车信号输入
  • 支持针对定位的增量(正交)编码器和霍尔传感器电路
  • 触发输入作为外部时钟或者按周期的电流管理

[2.2 高级定时器框图](#2.2 高级定时器框图)

1,重复计数器:

  • 重复计数器是自动加载的,重复速率是由TIMx_RCR寄存器的值定义
  • 当更新事件由 软件产生(通过设置TIMx_EGR 中的UG位)或者通过硬件的从模式控制器产生溢出,则无论重复计数 器的值是多少,立即发生更新事件,并且TIMx_RCR寄存器中的内容被重载入到重复计数器,从新计数。

2,输出比较:

  • 输入部分对相应的TIx输入信号采样,并产生一个滤波后的信号TIxF。然后,一个带极性选择的 边缘监测器产生一个信号(TIxFPx),它可以作为从模式控制器的输入触发或者作为捕获控制。该 信号通过预分频进入捕获寄存器(ICxPS)。

3,断路功能:

  • 断路功能提供保护机制,用于将定时器的输出信号与外部设备断开
  • 触发某种特定事件时,断路功能会自动将定时器的输出信号断开
  • 断路功能可以通过特定的配置来实现。
相关推荐
杰克逊的日记9 天前
MCU编程
单片机·嵌入式硬件
Python小老六9 天前
单片机测ntc热敏电阻的几种方法(软件)
数据库·单片机·嵌入式硬件
懒惰的bit9 天前
STM32F103C8T6 学习笔记摘要(四)
笔记·stm32·学习
HX科技9 天前
STM32给FPGA的外挂FLASH进行升级
stm32·嵌入式硬件·fpga开发·flash·fpga升级
Suagrhaha9 天前
驱动入门的进一步深入
linux·嵌入式硬件·驱动
国科安芯9 天前
基于ASP4644多通道降压技术在电力监测系统中集成应用与发展前景
嵌入式硬件·硬件架构·硬件工程
Li Zi9 天前
STM32 ADC(DMA)双缓冲采集+串口USART(DMA)直接传输12位原始数据到上位机显示并保存WAV格式音频文件 收藏住绝对实用!!!
经验分享·stm32·单片机·嵌入式硬件
进击的程序汪9 天前
触摸屏(典型 I2C + Input 子系统设备)从设备树解析到触摸事件上报
linux·网络·嵌入式硬件
damo王10 天前
Zephyr 系统深入解析:SoC 支持包结构与中断调度器调优实践
单片机·嵌入式硬件·zephyr
逼子格10 天前
硬件工程师笔试面试高频考点汇总——(2025版)
单片机·嵌入式硬件·面试·硬件工程·硬件工程师·硬件工程师真题·硬件工程师面试