ZHCAFI8 July   2025 TDA4VE-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2了解 TDA4x 上的 PWM 工作机制
    1. 2.1 PWM 架构概述
    2. 2.2 计数器比较寄存器和占空比控制
    3. 2.3 动作限定器与输出行为
    4. 2.4 同步与更新时序
  6. 3立即 CMPA 寄存器更新导致的 PWM 占空比异常
  7. 4向上/向下计数模式下的非预期 PWM 占空比
  8. 5适用于 LED 调光控制的无缝 PWM 更新最佳实践
    1. 5.1 使用影子寄存器进行占空比更新
    2. 5.2 选择相应的计数器模式
    3. 5.3 影子寄存器下向上计数模式的寄存器配置
  9. 6总结
  10. 7参考资料

影子寄存器下向上计数模式的寄存器配置

以下寄存器配置可用于在向上计数模式下生成 20% 的 PWM 占空比。

EPWM_TBPRD = 62500
EPWM_TBCTL.CTRMODE = 0 → Up count mode
EPWM_TBCTL.CLKDIV = 1
EPWM_CMPA = 12500 (= 62500 x 20%)
EPWM_CMPCTL.SHDWAMODE = 0 → Shadow mode
EPWM_CMPCTL.LOADAMODE = 0 → Load on TBCNT = 0 when shadow mode is enabled.
EPWM_AQCTLA.CAU = 0x3 → Toggle EPWM output
EPWM_AQCTLA.ZRO = 0x2 → Force EPWM output HIGH

采用这种配置后,无论何时向 CMPA 寄存器写入数值,都不会产生非预期的 PWM 占空比变化。图 5-1 是在将 PWM 占空比从 20% 更改为 80% 时探测到的 PWM 信号。

 在向上计数模式下探测 PWM 随影子模式的变化图 5-1 在向上计数模式下探测 PWM 随影子模式的变化
 在向上计数模式下使用影子模式分析 PWM 占空比变化图 5-2 在向上计数模式下使用影子模式分析 PWM 占空比变化

具体分析如下。

  • 当前占空比 = 20%。
    方程式 9. Duty = 100 × 1250012500 + 50000 = 20%
  • 软件会在 ① 至 ② 之间将 50000 写入 CMPA 寄存器
  • CMPA 寄存器处于影子模式,会在 TBCNT = 0 时更新。
  • 当 TBCNT = 0(即 ② 时刻)时,PWM 发生翻转,占空比变为 80%。
    方程式 10. Duty = 100 × 5000050000 + 12500 = 80% 
  • 在后续的 PWM 周期中,PWM 占空比保持在 80%。

这只是一个示例,用于说明如何控制 PWM 占空比,尤其针对 LED 调光,以避免非预期的亮度变化。