1. 高级控制定时器时钟源深度解析:外部时钟模式1与模式2的工程实现
在STM32高级控制定时器(如TIM1、TIM8)的实际工程应用中,时钟源的选择绝非简单的寄存器配置问题,而是直接影响系统精度、抗干扰能力与功能边界的底层设计决策。内部72MHz时钟虽稳定,但面对电机编码器信号采集、高频脉冲计数、多定时器同步等场景,必须引入外部时钟源。本节将基于STM32F103系列硬件架构,从寄存器级原理出发,系统性拆解外部时钟模式1(ETR通道复用)与外部时钟模式2(专用ETR引脚)的完整配置逻辑,并阐明每一处位设置背后的电气约束与时序考量。
1.1 外部时钟模式1:复用通道输入引脚作为时钟源
外部时钟模式1的核心思想是“借道行路”——将定时器某一个通用输入捕获通道(TI1~TI4)临时重映射为外部时钟输入端口。以TIM1通道2(TI2)为例,其物理引脚通常为PA.1(当AFIO_MAPR未重映射时)。该模式适用于已有硬件布线无法变更、需复用现有信号线的场景,但必须清醒认识其固有局限:TIx引脚本质是输入捕获路径,其前端电路链路长、延迟大,且与捕获功能共享同一组滤波与极性控制逻辑。
1.1.1 通道输入映射配置:CCMR1寄存器的关键作用
要使TI2引脚真正承载外部时钟信号,首要任务是切断其与通道2捕获功能的默认绑定关系。这通过配置捕获/比较模式寄存器1(CCMR1)的CC2S[1:0]位实现:
// 置位CCMR1_CC2S = 0x01,将通道2配置为输入模式,且TI2直接映射到IC2输入 TIM1->CCMR1 &= ~TIM_CCMR1_CC2S; // 清除原值 TI