1.电机控制与STM32定时器的关系
本质:实现脉冲的控制
2.基本定时器
基本 | TIM6 | TIM7 |
- 主要特性
16位自动重载递增计数器,
16位可编程预分频器,预分频系数1~65536,用于对计数器时钟频率进行分频,还可以触发DAC同步电路,以及形成中断/dma请求
(2)基本定时器框图
-
时钟源倍频器
APB1总线 |
预分频器系数>=2,倍频器系数为2,定时器时钟频率为APB1频率2倍
- 控制器
复位,使能,计数,触发DAC转换
- 时基单元
16位有效数字
计数器寄存器(TIMx_CNT) | 预分频器寄存器(TIMx_PSC) | 自动重载寄存器(TIMx_ARR) |
PSC | 输入CK_PSC | 内部时钟 |
输出CK_CNT | 计数时钟 |
fCK_CNT= fCK_PSC / (PSC[15:0]+1)
影子寄存器:
实际起作用的寄存器,不可直接访问
自动重载寄存器:
是否有缓冲作用:ARPE
0:ARR不缓冲,值直接进入影子寄存器生效
1:更新时写入影子寄存器
更新事件:
更新事件 |
软件产生 |
硬件产生 |
硬件产生:计数器的值等于自动重装载寄存器影子寄存器的值
定时器溢出伴随着更新事件。
(3)TIM6/TIM7寄存器
控制寄存器(TIMx_CR1)
位0(CEN):计数器使能
位7(ARPE):自动重载预装载使能
DMA/中断使能寄存器(TIMx——DIER)
位0(UIE):使能或禁止更新中断
位8(UDE):使能或禁止更新DMA请求
状态寄存器(TIMx_SR)
位0(UIF):中断更新标志位
计数器寄存器(TIMx_CNT)
位【15:0】计数器实时计数值
预分频寄存器(TIMx_PSC)
位[15:0]预分频器值
自动重载寄存器(TIMx_ARR)
位【15:0】自动重载值
(4)基本定时器中断应用
CNT计数器从 0开始计数,当 CNT的值和 ARR相等时( t1),产生一个更新中断,然后 CNT复位(清零),然后继续递增计数,依次循环。图中的 t1、 t2、 t3就
是定时器更新中断产生的时刻。
通过修改ARR的值,可以改变定时时间。另外,通过修改 PSC的值,使用不同的计数频率(改变图中 CNT的斜率),也可以改变定时时间。