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.

[参考译文] TMS320F28P659DK-Q1:HRPWM — 示例运行疑难解答

Guru**** 2955720 points

Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1649006/tms320f28p659dk-q1-hrpwm---trouble-understanding-operation-of-example

器件型号: TMS320F28P659DK-Q1
主题: C2000WARE 中讨论的其他器件

您好、

我在了解 F28P65x 的 HRPWM_ex4_DUTY_UPDOWN_SFO 示例 (SDK 版本 5.01) 的操作时遇到问题。

该示例似乎应该在 4%到 96%之间递增、增量为 0.01%。

我认为这通常是有效的、尽管我看到 HR 8 位寄存器从 0xFF 翻转到 0x01 时、占空比跳过 0.5%。

该示例以 505kHz 的频率和 TBPRD = 99 运行 PWM、因此我预计 PWM 的占空比分辨率为~1%。 这里可能是错的、但 HRPWM 应该能够达到 1%/255(8 位寄存器)、等于 0.0000396%?

 

下表显示了我使用示波器收集的一些测量值、时基周期等于 100。 我正在使用调试器操作 CMPA 寄存器。

CMPA

HR(8 位)

占空比

 

CMPA

HR  

(8 位)

占空比

71. 1. 28.53%   70 1. 29.54%
71. 128 28.28%   70 128 29.29%
71. 255 28%   70 255 29%

如上所示、当 CMPA = 71 且 HR reg = 1 时、占空比等于 28.54%。 当 CMPA=70 且 HR reg = 255 时、占空比= 29%、因此 HRPWM 无法实现 0.5%的间隙?

我还使用 HRPWM_ex1_DUTY_SFO 对此进行了测试、尽管时基周期和占空比不同、但我看到的结果相同。

 

让我困惑的另一点是、PWM 的频率为 505kHz、它使用 TBPRD=99、但计数器比较是使用 TBPRD=100 计算得出的。 这是为什么? 为什么对于非 HRPWM 向上/向下计数 PWM、我似乎不需要这样做?

 

非常感谢、

 

Andrew

 

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

    您好、

    我能够通过将 PWM 时钟从 100MHz(默认示例)增加到 200MHz 来纠正行为。 这看起来是正确的吗?

    关于最后一个问题 — 我已经能够在我创建的演示应用程序中复制所需的行为,但我只是想检查以下内容是否正确:-

    配置

    • 10MHz PWM 频率
    • 向上/向下双向计数模式
    • 200MHz EPWM 时钟

    因此、我将 TBPRD 配置为 10-1 — 提供 11MHz 频率(不是我想要的频率)-所以将 TBPRDHR 增加到 0xFF — 这将创建我想要的 10MHz 频率。

    使用 10 的 TBPRD 值计算 CMPAHR 寄存器。

    如果 TBPRD 为 10(而不是 10-1),我就看不到预期的占空比控制 — 这看起来是正确的吗?或者这听起来像我的器件配置错误?

    总而言之、如果您希望 HRPWM 控制占空比,这是否会影响频率 — 您需要使用 TBPRDHR 寄存器考虑该频率?

    非常感谢、

    Andrew

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

    您好、Andrew、

    对延迟的回复表示歉意。

    是的、使用 200m 时钟时、您的配置看起来很好。 使用 HRPWM 占空比控制时、频率会受到轻微影响、您必须使用 TBPRDHR 来补偿和保持目标频率。 HR 周期延长 (TBPRDHR) 和 HR 比较扩展 (CMPAHR) 一起工作—TBPRDHR 校正频率,而 CMPAHR 提供精细的负荷控制。


    几个问题需要纠正。

    MEP 将单个 10ns 时钟周期(在 100MHz 处)细分为~150ps 步长、从而每个时钟周期产生大约 66 个可用的 MEP 步长。 SFO 库会校准此计数并将其存储在 HRMSTEP 中。 之所以会发生 0.5%跳跃、是因为占空比分辨率受 MEP 比例因子(~66 步长)的限制、而不是整个 255 计数寄存器范围


    我强烈建议您使用最新的 C2000ware (V6.01)、其中包含 SFO 更正、可以 缓解这些问题。

    此致、

    Prajwal