1. 高级控制定时器比较输出模式原理与工程实现
在STM32高级控制定时器(如TIM1、TIM8)的实际工程应用中,比较输出(Output Compare, OC)模式是构建精确波形生成、PWM信号驱动、电机控制及事件触发机制的核心功能。它并非简单的“计数到某值就翻转引脚”的黑盒操作,而是一套由硬件比较器、影子寄存器、极性控制、输出使能逻辑与中断/DMA协同构成的精密时序控制系统。本节将从硬件架构本质出发,系统性地解析其工作机理,并给出可直接复用于工业级项目的配置范式。
1.1 比较输出的本质:硬件比较器驱动的状态机
比较输出功能的物理基础是一个高速、低延迟的硬件比较器。该比较器的两个输入端分别连接:
- 计数器当前值(CNT):由定时器主计数器实时提供,其值随计数方向(向上/向下/中央对齐)动态变化;
- 捕获/比较寄存器值(CCRx):用户可编程写入的16位(或32位)目标值,代表期望的匹配点。
当CNT与CCRx的数值相等时(严格来说,是CNT ≥ CCRx且发生溢出/下溢/更新事件时的匹配判定),比较器输出有效电平,此信号即为比较输出参考信号(OCxREF)。OCxREF并非最终引脚输出,而是后续所有输出逻辑的原始触发源。
必须明确:OCxREF是内部信号,不可直接观测,其存在仅服务于定时器内部状态机。它的产生完全由硬件自主完成,不依赖CPU干预,这是实现微秒级精确时序响应的根本保障。任何将OCxREF等同于PA8或PB13等物理引脚的说法都是概念性错误——二者之间隔着