stm32库函数开发--tim定时器原理(七)

定时器基本内容

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为死区生成电路(防止开关切换瞬间直通)刹车输入(自动切断电机,防止意外):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值