STM32F1xx、STM32F2xx、STM32F4xx、STM32L1xx、STM32F30/31/37/38x 定时器概览
前言
本文档:
● 概述了 STM32F1xx、STM32F2xx、STM32F4xx、STM32L1xx 和 STM32F30/31/37/38x微控制器系列的定时器外设;
● 介绍了定时器的多种模式和特殊功能,如时钟源;
● 介绍了如何使用各种可用模式与功能;
● 介绍了如何计算各种配置下的时基;
● 除基本定时器模式外,还介绍了定时器同步序列以及用于电机控制应用的高级功能。
本文档针对各模式提供了典型配置以及使用方法的示例。除非另外说明,本文档余下部分中的术语 STM32xx 均用于指代 STM32F1xx、STM32F2xx、STM32F4xx、 STM32L1xx 和 STM32F30/31/37/38x 微控制器系列。
1 概述
STM 32 器件使用多种类型的定时器,各种定时器特点如下:
● 通用定时器:可用于输出比较(时序和延迟生成)、单脉冲模式、输入捕捉(用于测量外部信号频率)、传感器接口(编码器和霍尔传感器)等各种场合。
● 高级定时器:此类定时器的功能最多。除通用功能外,它们还包含一些与电机控制和数字能量转换应用相关的功能:三个带死区控制的互补信号以及紧急关断输入。
● 单通道或双通道定时器:用作通用定时器,通道数有限。
● 带互补输出的单通道或双通道定时器:与上一类型相同,只是其中一个通道上具有死区发生器。这样可得到时基与高级定时器无关的互补信号。
● 基本定时器:没有任何输入/输出,既可用作时基定时器,也可用于触发 DAC 外设。
表 2 汇总了 STM32 系列定时器。
表 3 给出了定时器特性的总览。
注: STM32F30x 和 STM32F31x 定时器还具有一些新模式:不对称模式、混合模式、单脉冲可重复触发模式、混合 3 相 PWM 模式以及次级断路输入,这些模式仅适用于这两种系列。 2 基本定时器模式
基本定时器经过编程可在以下其中一种配置下工作。
2.1 时钟输入源
定时器可同时与多个时钟同步:
● 内部时钟
● 外部时钟
— 外部时钟模式 1(TI1 或 TI2 引脚)
— 外部时钟模式 2(ETR 引脚)
— 内部触发时钟 (ITRx)
2.1.1 内部时钟
默认情况下,定时器由 RCC 提供的内部时钟驱动。要选择该时钟源,应该将 SMCR_SMS(如果存在)位复位。
2.1.2 外部时钟
外部时钟定时器分为两类:
● 连接到 TI1 或 TI2 引脚的外部时钟
● 连接到 ETR 引脚的外部时钟在上述情况下,通过与 TIx 引脚或 ETR 引脚连接的外部信号提供时钟。并且应该验证最大外部时钟频率。
注: 1 除以上所有时钟源外,定时器还应该通过 APBx 时钟驱动。2 外部时钟并非直接馈送预分频器,而是首先通过专用逻辑块与 APBx 时钟同步。
外部时钟模式 1(TI1 或 TI2 引脚)
在此模式下,外部时钟将施加到定时器的输入引脚 TI1 或 TI2 上。为此:
1. 配置定时器将 TIx 引脚用作输入:
a) 通过对 TIMx_CCMR1 寄存器中的 CCxS 位执行写操作,选择要使用的引脚。
b) 选择输入的极性:对于 STM32F10x 系列:通过对 TIMx_CCER 寄存器中的 CCxP 位执行写操作,选择上升沿触发或下降沿触发;对于其它系列:通过对 TIMx_CCER 寄存器中的 CCxP 和 CCxNP 位执行写操作,选择上升/下降沿触发,或者边沿触发(a)。
|