互补输出和死区插入
高级控制定时器(TIM1 和 TIM8)可以输出两路互补信号,并管理输出的关断与接通瞬间。
这段时间通常称为死区,用户必须根据与输出相连接的器件及其特性(电平转换器的固有延迟、开关器件产生的延迟...)来调整死区时间
每路输出可以独立选择输出极性(主输出 OCx③ 或互补输出 OCxN④)。可通过对 TIMx_CCER寄存器中的 CCxP② 和 CCxNP⑤ 位执行写操作来完成极性选择。
互补信号 OCx③ 和 OCxN④ 通过以下多个控制位的组合进行激活:TIMx_CCER 寄存器中的 CCxE⑦ 和 CCxNE⑦ 位以及 TIMx_BDTR 和 TIMx_CR2 寄存器中的 ①MOE、OISx、OISxN、OSSI 和 OSSR 位。更多详细信息,请参见第 382 页的表 73:具有断路功能的互补通道 OCx③ 和 OCxN④ 的输出控制位。应当注意,切换至 IDLE(MOE① 下降到 0)的时刻,死区仍然有效。
CCxE⑦ 和 CCxNE⑦ 位同时置 1 并且 MOE① 位置 1(如果存在断路)时,将使能死区插入。
TIMx_BDTR 寄存器中的 DTG[7:0]① 位用于控制所有通道的死区生成。将基于参考波形 OCxREF① 生成 2 个输出 OCx③ 和 OCxN④。如果 OCx③ 和 OCxN④ 为高电平有效:
● 输出信号 OCx③ 与参考信号相同,只是其上升沿相对参考上升沿存在延迟。
● 输出信号 OCxN④ 与参考信号相反,并且其上升沿相对参考下降沿存在延迟。
如果延迟时间大于有效输出(OCx③ 或 OCxN④)的宽度,则不会产生相应的脉冲。
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
下图所示为死区发生器的输出信号与参考信号 OCxREF① 之间的关系。(在这些示例中,假定 ②CCxP=0、⑤CCxNP=0、①MOE=1、⑦CCxE=1 并且 ⑦CCxNE=1)
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
死区延迟对于所有通道均相同,可通过 TIMx_BDTR 寄存器中的 DTG① 位进行编程。有关延迟时间计算的信息,请参见第 386 页的第 14.4.18 节:TIM1 和 TIM8 断路和死区寄存器(TIMx_BDTR)。
将 OCxREF① 重定向到 OCx③ 或 OCxN④
在输出模式(强制输出模式、输出比较模式或 PWM 模式)下,通过配置 TIMx_CCER 寄存器中的 CCxE⑦ 和 CCxNE⑦ 位,可将 OCxREF① 重定向到 OCx③ 输出或 OCxN④ 输出。
通过此功能,可以在一个输出上发送特定波形(如 PWM 或静态有效电平),而同时使互补输出保持其无效电平。或者,使两个输出同时保持无效电平,或者两个输出同时处于有效电平,两者互补并且带死区。
注意:
如果仅使能 OCxN④ (⑦CCxE=0, ⑦CCxNE=1),两者不互补,一旦 ①OCxREF 为高电平,①OCxN 即变为有效。例如,如果 ⑤CCxNP=0,则 ④OCxN=OCxRef①。另一方面,如果同时使能 OCx③ 和 OCxN④ (⑦CCxE=⑦CCxNE=1),OCx③ 在 OCxREF① 为高电平时变为有效,而 OCxN④ 则与之互补,在 OCxREF① 为低电平时变为有效。