1. STM32高级定时器深度解析与应用实战
作为STM32定时器家族中的"重型武器",高级定时器(TIM1/TIM8)在电机控制、数字电源等工业领域扮演着关键角色。相比基础定时器,它增加了互补输出、死区控制、刹车保护等专业功能,本文将带您深入理解其工作原理,并通过两个典型实验掌握实际应用技巧。
1.1 高级定时器核心架构
高级控制定时器本质上是一个带外部IO的复杂计数器系统,其功能框图包含三大核心模块:
-
时钟系统:支持4种时钟源选择
- 内部时钟CK_INT(168MHz for F4系列)
- 外部时钟模式1(TIx引脚输入)
- 外部时钟模式2(ETR引脚输入)
- 内部触发输入(定时器级联)
-
时基单元:包含关键寄存器
c复制typedef struct { uint16_t TIM_Prescaler; // 预分频器(PSC) uint16_t TIM_CounterMode; // 计数模式 uint32_t TIM_Period; // 自动重载值(ARR) uint16_t TIM_ClockDivision; // 时钟分频 uint8_t TIM_RepetitionCounter; // 重复计数器(RCR) } TIM_TimeBaseInitTypeDef; -
捕获/比较通道:每个通道可独立配置为:
- 输入捕获模式(测量脉宽/频率)
- 输出比较模式(生成PWM等波形)
- PWM输入模式(同时测量周期和占空比)
2. 互补PWM输出实验详解
2.1 硬件设计要点
使用TIM8通道1(PC6)和其互补通道PA5输出PWM,关键配置参数:
| 参数 | 计算公式 | 实验取值 | 说明 |
|---|---|---|---|
| PWM频率 | f = TIMxCLK/((ARR+1)*(PSC+1)) | 100kHz | TIMxCLK=168MHz |
| 死区时间 | t = DTG * tDTS | 65ns | tDTS=1/168MHz |
