目录
一.TIM中断
1.TIM简介
2.定时器类型
1)基本定时器
2)通用定时器
3)高级定时器
3.时基单元
二.TIM输出比较
1.输出比较简介OC
2.PWM
1.PWM简介
2.PWM结构
3.参数计算
3.输出比较通道(通用)
1)输出模式控制器
2)至主模式控制器
3)极性选择
4)输出使能电路
5)OCx———GPIO口
一.TIM中断
1.TIM简介
- 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断。
- 16位计数器(CNT),预分配器(PSC),自动重装寄存器(ARR)的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时。72M/65536/65536=1/59.65
- 不仅具备基本的定时中断功能,而且还包含了内外时钟选择,输入捕获,输出比较,编码器接口,主从触发模式等多种功能。
- 类型:高级定时器,通用定时器,基本定时器。
2.定时器类型
STM32F103CT6具有:TIM1,TIM2,TIM3,TIM4
类型 | 编号 | 总线 | 功能 |
高级定时器 |
TIM1,TIM8 | APB2 | 拥有通用定时器全部功能,并额外具有重复定时器,死区生成,互补输出,刹车输入等功能 |
通用定时器 | TIM2,TIM3,TIM4,TIM5 | APB1 | 拥有基本定时器全部功能,并额外具有内外时钟选择,输入捕获,输出比较,主从触发模式等功能 |
基本定时器 | TIM6,TIM7 | ABP1 | 拥有定时触发,主从式触发DAC的功能 |
*DAC:数模转换器,D数,A模,将数字信号转换为模拟信号的电子设备
1)基本定时器
*基本定时器只有DAC 而通用和高级定时器不仅有DAC 还有ADC
*UI触发DAC较U触发更加消耗CPU
基本定时器,时钟来源于内部时钟,即72MHz
预分频器:对输入的基准频率提前进行一个分频操作,且写入值与实际分频数相差1。寄存器写入0,实际不分频(1分频),输出=输入=72MHz;寄存器写1,实际2分频,输出=输入/2=36MHz;由于预分频器寄存器有16为,最大写入65535,即实际65536分频。
自动重装载寄存器:设置目标值,16位寄存器,目标值最大写入65535。
计数器:计数器发生自增,一个波形,计数器+1,当达到自动重装载寄存器的值后,清零重新自增并产生中断(如无重复寄存器)。
UI/U:UI更新中断,通向NVIC中断;U更新事件,触发其他设备。
2)通用定时器
CNT计数模式:
*基本定时器只有向上计数模式
TIMx_ETR(外部时钟) :外接电波作为外部时钟
ITRx:用来实现定时器的级联,类如TIM1的TRGO连接到TIM2的ITRO上,最大定时时间大幅度提高。
TI1F_ED:连接的是TIMx_CH1的捕获单元的CH1引脚
TI1FP1/TI2FP2:前者连接CH1的引脚,后者连接CH2的引脚,负责捕获输出电平作为外部时钟。
编码器接口:读取正交编码器的输出波形
输入捕获和输出比较:
3)高级定时器
*较前面两个定时器,增加重复计数器
3.时基单元
缓冲寄存器才是真正起作用的寄存器
计数器计数频率:CK_CNT=CK_PSC/(PSC+1)
计数器溢出频率:CK_CNT_OV=CK_CNT/(ARR+1)=CK_PSC/(PSC+1)/(ARR+1)
二.TIM输出比较
1.输出比较简介OC
- OC(Output Compare)输出比较
- 输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1,置0或翻转的操作,用于输出一定频率和占空比的PWM波形
- 每个高级的定时器和通用定时器都拥有4个输出比较通道(4个共用CCR)
- 高级定时器的前三个通道额外拥有死区生成和互补输出的功能
*IC:Input Capture 输入捕获
*CC:Capture/Company 表示输入捕获和输出比较的单元
上图为CCR
2.PWM
1.PWM简介
2.PWM结构
3.参数计算
PWM频率: Freq = CK_PSC/(PSC+1)/(ARR+1)
PWM占空比:Duty = CCR/(ARR+1)
PWM分辨率:Reso = 1/(ARR+1)
3.输出比较通道(通用)
1)输出模式控制器
可以改变它输出OC1REF(REF:参考信号)的高低电平
模式 | 描述 |
冻结 | CNT=CCR时,REF保持为原状态 |
匹配时置有效电平 | CNT=CCR时,REF置有效电平(一次性,不适合输出连续变化的波形) |
匹配时置无效电平 | CNT=CCR时,REF置无效电平(一次性,不适合输出连续变化的波形) |
匹配时电平翻转 | CNT=CCR时,REF电平翻转 |
强制为无效电平 | CNT与CCR无效,REF强制为无效电平 |
强制为有效电平 | CNT与CCR无效,REF强制为有效电平 |
PWM模式1 | 向上计数:CNT<CCR时,REF置有效电平,CNT>=CCR时,REF置无效电平 向下计数:CNT>CCR时,REF置无效电平,CNT<=CCR时,REF置有效电平 |
PWM模式2 | 向上计数:CNT<CCR时,REF置无效电平,CNT>=CCR时,REF置有效电平 向下计数:CNT>CCR时,REF置有效电平,CNT<=CCR时,REF置无效电平 |
2)至主模式控制器
可以把REF映射到主模式的TRGO输出
3)极性选择
写0,正常输出。写1,信号就会往下走,信号会通过一个非门取反,那么输出信号就是输出信号高低电平反转的信号。
4)输出使能电路
选择是否输出
5)OCx———GPIO口
文章来源:https://www.toymoban.com/news/detail-845842.html
文章来源地址https://www.toymoban.com/news/detail-845842.html
到了这里,关于STM32--TIM定时中断&TIM输出比较的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!