Stm32高级定时器(三)

Stm32高级定时器(三)

 

1 互补输出和死区插入

1.1 死区:某个处于相对无效状态的时间或空间

clip_image002

原本OCX信号与OCXREF时序同相同步,OCXN信号与OCXREF时序反相同步。但为了安全考虑,以OCXREF为参考基准,OCXN和OCX通道将理论上本该导通的时间点日后延时一下,即作从截止切换到导通状态的延时。html

特色:安全

● OCx输出信号与参考信号相同,只是它的上升沿相对于参考信号的上升沿有一个延迟。spa

● OCxN输出信号与参考信号相反,只是它的上升沿相对于参考信号的降低沿有一个延迟。3d

1.2 STM32高级定时器中的死区的计算(请看底部参考文献)

计算时,先肯定Tdts,而后结合你须要的死区时间选择相应的计算档位,最后肯定DTG[7:0]。假设STM32f407的TIM1工做在168M,设置Tdts=1/168 us,死区设置为4us,通过估算该死区时间落在DTG[7:5]=111段。htm

先算得DTG[4:0]=01010B,再跟DTG[7:5]组合在一块儿,最后算得DTG[7:0]=11101010B,即0xEA.blog

须要注意的是,死区时间的计算是分段计算的,各段的时间步长和计算方式有差异,不可随便填写数据。事件

1.3 STM32高级定时器配置死区参数不合适时的问题

死区时间不能比嵌入死区前的互补通道的有效脉冲还宽,不然相应通道的输出呈无效状态。ip

当死区时间比有效电平还长时,就没有机会输出有效电平了。ci

clip_image004

死区波形延迟大于负脉冲get

clip_image006

死区波形延迟大于正脉冲

2 使用刹车功能:PWM急停

经过硬件紧急终止输出

当使用刹车功能时,依据相应的控制位(TIMx_BDTR寄存器中的MOE、OSSI和OSSR位,TIMx_CR2寄存器中的OISx和OISxN位),输出使能信号和无效电平都会被修改。

刹车源既能够是刹车输入引脚又能够是一个时钟失败事件。时钟失败事件由复位时钟控制器中的时钟安全系统产生。

clip_image008

上图说明,刹车信号(BREAK[MOE])触发时,输出OCx与OCxN在不一样的CCxE,CCxP,OISx,CCxNE, CCxNP, OISxN位控制下的输出组合

3 单脉冲模式(OPM)

这种模式容许计数器响应一个激励,并在一个程序可控的延时以后产生一个脉宽可程序控制的脉冲。

clip_image010

延时时间与脉冲宽度设置主要经过比较:定时器的计数值TIM_CNT、定时器的比较值TIM_CCRx与定时器的周期值TIM_ARR 这三个值来得出。具体以下:
比较

向上计数方式

向下计数方式

延时时间

TIM_CCRx - 0

TIM_ARR - TIM_CCRx

脉冲宽度

TIM_ARR - TIM_CCRx

TIM_CCRx - 0

4 参考文献

[1] ST MCU定时器应用中的死区控制话题

[2] stm32之通用定时器TIM

[3] STM32高级定时器死区时间设置探究

相关文章
相关标签/搜索