定时器基本内容
tim定时中断:定个时间,到时间产生中断。
tim输出比较:产生pwm波形,驱动电机。
tim输入捕获:测量方波频率。
tim编码器接口:方便读取正交编码器波形。
tips:高级定时器的功能为三相无刷电机驱动设计。
一、基本定时器(tim6 tim7)
功能:定时中断,主模式触发dac。
时基单元:
直接连到内部时钟,stm32一般为72mhz。
预分频器:对72mhz的计数时钟进行预分频.寄存器写0:不分频,输出频率=输入频率=72mhz;寄存器写1:2分频,输出频率=输入频率/2=36mhz;同理写2:3分频...寄存器为16位,可以写65535,实现65536分频。
计数器:对分频器进行计数自增,可以计0-65535,与自动重装寄存器目标进行比较,相同归零。
自动重装寄存器:中断目标,计数器达到目标归0,重新计数,产生更新中断与更新事件。
:ui中断,到达nvic,执行中断;u:更新事件。
拉满可以实现59.65s的定时。
主模式触发dac
功能:内部硬件不受程序控制自动运行,可以减轻cpu负担。
正常逻辑:设置定时器dac输出,但会影响主程序
ui\u映射到trgo,不用中断触发,硬件自动化:
二、通用定时器(tim2 tim3 tim4 tim5)
不止向上计数,也有向下计数(到达目标值自减到0,申请中断)、中央对齐模式(到达目标值申请中断,自减到0,再申请中断),一般使用向上。
基本计数器只能选择内部时钟(72mhz),通用还可以选择外部时钟timx_etr(pa0)波形整流一下,去时基单元(外部时钟模式2):
trgi(外部时钟模式1):
itr0....定时器关系(定时器级联):
主模式tim3映射到trgo 初始化tim2选择itr2对应tim3的trgo(tim3的时钟事件可以驱动tim2的时基单元),实现定时器级联。
其它:
省流:内部时钟最常用,外部时钟可以是etr、其它定时器、ch1引脚的边沿(ed为边沿)、ch1\ch2引脚,编码器后期补。
输入捕获、输出比较:左边测量频率,右边输出pwm(后续补)。
三、高级定时器(tim1 tim8)
输出信号再次分频:
前3个互补pwm波形(三相无刷电机)dtg为死区生成电路(防止开关切换瞬间直通)刹车输入(自动切断电机,防止意外):