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.

[参考译文] CCS/TMS320F28379D:TMS320F28379D 高分辨率周期和高分辨率死区示例代码

Guru**** 2609955 points
Other Parts Discussed in Thread: TMS320F28379D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/683309/ccs-tms320f28379d-tms320f28379d-high-resolution-period-and-high-resolution-deadband-sample-code

器件型号:TMS320F28379D

工具/软件:Code Composer Studio

是 可用于 Delfino TMS320F28379D 的高分辨率周期和高分辨率死区控制的示例代码。 我 已尝试修改示例代码 HRPWM_DEADBAD_SFO_V8.c、但运气不好。 我需要在13.56MHz 下运行全桥逆变器(H 桥、第二个电桥180度相移)、并具有50%占空比和死区控制。 频率和死区需要能够通过 Delfino 控制器的高分辨率进行精细调节。 谢谢你。

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

    基于此类似的 e2e 线程:
    e2e.ti.com/.../666648

    我认为这应该是可能的、但我们没有任何示例代码。

    您能否更具体地说明您能够如何开始工作? 您是否还能够实现高分辨率周期控制、但您无法同时使两者工作? 或者您根本无法获得 HR 周期控制?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Devin、

    是的、我无法使高分辨率周期控制工作。 我已放弃尝试修改示例代码。 而是使用 Simulink 来构建代码。 我能够生成平均频率为13.57MHz 的 PWM (在所附图像中以黑色显示)、 但是、可以看到5ns 的抖动会将瞬时频率和占空比更改为13.36MHz 和40.78%(在附加的图像中以蓝色显示)以及14.33MHz 和43.93%(在另一个附加的图像中以蓝色显示)。 我附加了 Simulink 模型和生成的 c 代码。 Simulink 中是否有一个选项或 c 代码中是否需要一行来缓解这种情况?

    e2e.ti.com/.../codegen.zip

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

    您好、Brandon、

    如果您生成同步输出脉冲、则可以获得抖动。  在代码中、SYNCOSEL = 3、这意味着 SYNC OUT 信号由 TBCTL2.SYNCOSELX 控制。  我在您所附的代码中没有看到该寄存器的配置、因此您可能需要检查代码是否设置为在 CMPC 或 CMPD 上生成同步输出。

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

    您好 Devin、

    非常感谢。 通过在"General"选项卡下的 ePWM7块中更改 Simulink 模型、将同步输出(SYNCO)设置为"Pass Through (EPWMxXYNCI 或 SWFSYNC)"、我使 SYNCOSEL = 0。 在 HRPWM 选项卡下执行该加设置 ePWMxA 上的高分辨率 PWM (HRPWM)负载模式:'计数器等于零(CTR=ZERO)'、ePWMxA 上的高分辨率 PWM (HRPWM)控制模式:' uty or period control mode'、和 ePWMxA 上的高分辨率 PWM (HRPWM)边沿控制模式: "上升沿"、修复抖动频率。 剩下的所有占空比都是从37%变为43%(如附图所示)、即使占空比设置为50%。 是否有任何关于如何解决此问题的建议、最好在 Simulink 中解决? 非常感谢!

    e2e.ti.com/.../6114.codegen.zip

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

    我从 MATLAB 中提出的一项建议回答

    这是 F28379D LaunchPad 特有的、但我想知道 controlCARD 是否会出现类似的振荡器频率不匹配问题。  我觉得值得快速检查一下。

    振荡器频率必须与 LaunchPad 的外部振荡器频率相匹配。 虽然 F28379D 具有一个振荡频率为20MHz 的内部晶体、但 LaunchPad 还具有一个运行频率为10MHz 的外部振荡器。 Simulink 的默认值为20MHz。 仅使用 F28379D 时、此设置适用。 但是、在 LaunchPad 上使用外部模式时、该频率值可能会导致问题。 请转至硬件实现->器件详细信息->计时并将"以 MHz 为单位的振荡器时钟(OSCCLK)频率"的值从20更改为10。

    如果这不起作用、但您仍然卡住、请 联系 MathWorks 技术支持 以获取帮助。

    谢谢、

    -Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    将 OSCCLK 时钟频率设置为10MHz (连同 SYSPLLMULT=20和 SYSDIVSEL=1)使得控制器完全不输出信号。 请提供建议。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brandon、

    我没有找到任何其他建议、我的开发人员本周就外出了。  请 联系 MathWorks 技术支持 以获取帮助。

    谢谢、

    -Brian

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

    您好、Brandon、

    13+ MHz 无疑推动了该模块的设计。  如果将频率降低10倍、这种运行是否正常?

    在 TRM 中、我们松散地说、对于100MHz ePWM 时钟、5MHz 大约是最大值。   

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

    您好 Devin、

    我以1.355MHz 的频率运行控制器、PWM 看起来更好。 我注意到 PWM 占空比仍然存在抖动、从48.82%到49.41%、如图所示。 这当然可以忽略不计。 不过、我放大了波形、它看起来就像13.56MHz 时观察到的抖动、如图所示。 这种抖动是否始终存在、但在较低的工作频率下可以忽略不计? 感谢您对此进行深入研究。

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

    我认为您不应该看到这样的抖动。 您是否经常调用 SFO 库? 频繁重新校准可能会导致一些抖动、因为由于运行到运行校准的变化、选择的 MEP 标度因数略有不同。

    您编写更新的 ePMW 周期/占空比值的频率如何? ePWM 模块的输入值是否可能发生变化?

    否则、您的系统时钟是否看起来很好? 如果您将 XCLOCKOUT 置于引脚上、它看起来是否稳定?