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.

[参考译文] F29H850TU:如何使用 SysConfig 设置 EPWM 实例以保持同步和对齐

Guru**** 2609955 points
Other Parts Discussed in Thread: F29H850TU, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1579064/f29h850tu-how-to-setup-epwm-instances-using-sysconfig-to-be-in-sync-and-aligned

器件型号:F29H850TU
主题: SysConfig 中讨论的其他器件

您好:

Im 在电机控制应用中用户定义的 PCB 上与 F29H850TU 配合使用。 在此基础上、我将在 MotorControl SDK1.0.0.0 中使用 servo_drive_QEP_LMG2100。

如 MotorCorntrol SDKW 手册中所述、起点是 DMC_BUILDLEVEL DMC_LEVEL_1 。 为了运行代码并对硬件执行有意义的操作、我使用 SysConfig 为我的应用设置引脚映射。

使用 DMC_LEVEL_1 在目标上运行代码时、我可以观察到 3 个 ePWMa 输出(通道[2、3、4];为了获得更好的可见性,在进行范围界定时有不同的偏移量):  
DS1Z_QuickPrint1.png

我的问题

  1. PWM 相移的来源是什么?
  2. 如何在 SysConfig 中设置 ePWM 通道、使其保持同步/对齐状态?
    2.1 在哪里/如何找到要设置的寄存器、如 SysConfig 中 f29h85x - TechnicalReferenceManual (TBCLK、TBCLKSYNC、PCLKCRx) 的“30.4.3.2 时基时钟同步“中所述? 它们在 SysConfig 中是如何更新的?

谢谢您、
基督教

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

    尊敬的 Christian:

    我可以帮助解答有关 PWM 寄存器配置的疑问。

    [引述 userid=“668323" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1579064/f29h850tu-how-to-setup-epwm-instances-using-sysconfig-to-be-in-sync-and-aligned
    • PWM 相移的来源是什么?
    [/报价]

    查看 ePWM 寄存器、以下寄存器将告诉您导致潜在相移的原因。  

    1. 是否已启用相移?  
      1. 如果 TBCTL.PHSEN = 1、则为是
      2. 如果  TBCTL.PHSEN = 0、则否。 如果 PHSEN 设置为 0、则假设动作限定符寄存器和计数器比较寄存器相同、您不应看到任何相移。
    2. TBPHS 是否写入?
      1. 如果 TBPHS > 2、则会出现相移。 例如、如果 TBPHS = 300、则每当同步事件发生时、TBCTR 将设置为 300。
      2. 如果 TBPHS = 0、EPWM 将不会完全同步、请参阅下面的屏幕截图。
      3. 如果 TBPHS = 1 或 TBPHS = 2、ePWM 完全同步请参阅以下屏幕截图、具体取决于 EPWMCLK。
    3. 什么是同步输入?
      1. EPWMSYNCINSEL 将确定 EPWMxSYNCI 信号源
    ]如何在 SysConfig 中设置 ePWM 通道、使其保持同步/对齐状态?
    [/报价]

    为了设置 SysConfig 以使其同步/对齐、我们有一个同步示例、展示了使用 TBPHS 时需要配置为同步的内容。

    C:\ti\f29h85x-sdk_1_02_00_00\examples\driverlib\single_core\epwm\ePWM_ex3_synchronization

    本应用手册还介绍了在 SysConfig 中进行设置的基本知识。

    https://www.ti.com/lit/an/sprad12a/sprad12a.pdf

    [引述 userid=“668323" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1579064/f29h850tu-how-to-setup-epwm-instances-using-sysconfig-to-be-in-sync-and-aligned
    1. 2.1 在哪里/如何找到要设置的寄存器、如 SysConfig 中 f29h85x - TechnicalReferenceManual (TBCLK、TBCLKSYNC、PCLKCRx) 的“30.4.3.2 时基时钟同步“中所述? 它们在 SysConfig 中是如何更新的?

    [/报价]

    在 SysConfig 中、所有外设均默认启用。 您还可以检查 device.c 以查看启用每个外设的代码。

    此致、

    Ryan Ma

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

    您好:  

    感谢您的回答!

    使用链接的应用手册和您的提示、至少我得到了以某种方式使用 SysConfig 的配置、我的三个 ePWM 现在同步运行。

    我当时正在进行设置

    在全部三个 ePWM 上、输出现在同步:


    您的提示 2.c. 让我实际启用一个 phseshift 使同步发生 — 我永远不会来到这个想法没有你的暗示。 (甚至更重要的是,因为我缺少了数据表说明/参考手册/应用手册之间的链接、其中使用了所有寄存器名称、并且在 SysConfig...中找不到这些寄存器名称。)