This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F280039C-Q1:使用 SDFM 时的控制环路延迟

Guru**** 2805225 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1607528/tms320f280039c-q1-control-loop-delay-when-utilizing-sdfm

器件型号: TMS320F280039C-Q1

您好:  

对于主题行中的场景、请考虑以下事项...

  • EPWM_CLKFREQ = 120MHz
  • 100kHz 的 PWM 频率(向上/向下双向计数模式、1200 个周期)
  • 控制循环 ISR 在 CMPC 向上计数事件时触发 (CMPC = 600-ISR 延迟= 586、4.88us)
    • 控制循环执行并将新的相移值写入 PWM 影子寄存器
  • 当计数器=零时、会发生影子到活动写入
  • 受控参数是由 SDFM 使用以下参数测量的输出电压:
    • SINC3 滤波器
    • OSR 为 64
    • 调制器时钟:20MHz
    • 数据速率= 3.2µs
    • 延迟= 9.6µs

当控制环路与 PWM 同步运行、并且 SINC3 滤波器的延迟大约为开关周期时、控制环路似乎始终会根据旧数据计算新的相移、采样到输出的延迟时间现在将变为开关周期的两倍、而不仅仅是开关周期。 因此、相位裕度将减小、为了确保稳定性、必须降低控制器的带宽。 最终、使用 SDFM 时、转换器的瞬态响应将受到影响。

我对控制理论的理解是否正确? 这只是使用具有如此高 OSR 的 SDFM 的成本吗? 为了减少延迟时间并提高控制环路的相位裕度、为了使延迟小于 4.88us、我是否必须将 OSR 降低到最多 32?

非常感谢、

Neal Malackowski

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Neal:

    是的、与 SAR ADC 相比、SDFM 数据滤波器延迟会有相当大的延迟、可以降低相位裕度/可实现的带宽。

    对于 SINC3 数据滤波器、OSR = 64、Fmod = 20MHz、数据速率为 64 / 20e6 = 3.2us、延迟等于 3 * 3.2us = 9.6us、这与您的数学运算相匹配。 但这不会自动出现“2 个开关周期“的延迟、具体取决于您何时采样/读取滤波结果以及 PWM 更新何时实际生效。 总延迟等于 SDFM 滤波器延迟(例如 9.6us)+ PWM 更新效果延迟(下一个加载事件之前的时间)。 在 100 kHz 的频率下使用上行 PWM 时、PWM 更新延迟约为 5uS、因此您位于 15uS 的棒球场 (1.5*Ts、不一定是 2*Ts)。

    为了获得最佳结果、我建议将控制 ISR 与 SDFM 新数据时刻保持一致。 您可以从 SDFM 数据滤波器就绪模式触发控制循环、然后选择最早的安全 PWM 加载事件(ZERO 与 PRD,具体取决于方案)以更大限度地减少计算到驱动延迟。

    此外、您还可以考虑根据噪声预算、通过较低 OSR 或较低阶滤波器来降低 SDFM 延迟。

    此致、

    Masoud