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.

[参考译文] TMS320F280049:当周期和 CMPA 是固定的时、PWM 引脚输出信号不稳定

Guru**** 2612645 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/690150/tms320f280049-pwm-pin-output-signal-is-not-stable-when-period-and-cmpa-are-fixed

器件型号:TMS320F280049
主题中讨论的其他器件:C2000WARE

您好!

客户将 F28004x 用于其数字电源应用。

现在、根据我们的 HRPWM 演示代码(来自 C2000ware)、我们遇到了一个问题。 如果我们调整这些点、PWM 输出占空比将不稳定、相差10ns、这是每个占空比之间的一个 PWM 时钟差。

1) 1)用一个值固定 TBPRDHR: (* ePWM[i])。TBPRDHR = 100<8;

2) 2)将 TBPRD 修复为值:1000;

3)上行模式;

4) 4) HR_CTR_ZERO 时的影子加载。

5) 5)将 CMPA 固定为值:200;

6) 6)将 CMPAHR 固定为值:100。

在这种情况下、一个 PWM 时钟的占空比会发生变化。 如果我们将加载模式从 HR_CTR_ZERO 更改为 HR_CTR_ZERO _PRD、则不存在此问题。  

在所有这些情况下、HRPWM 都可以成功输出。  

我们想知道、为什么在 HR_CTR_ZERO 模式下、占空比不能稳定、但每个占空比之间有一个 PWM 时钟差。  

非常感谢。

BR、Jordan

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

    客户是使用 AUTOCONV 还是定期计算换算系数?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用 AutoConv。
    换算系数是计算的、或者在加电初始化后、或者定期计算。 结果是相同的。
    BR、Jordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只需澄清一下、PWM 占空比在一个周期到下一个周期之间变化10ns? 您能否提供示波器图像?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我可以。
    如果您在我们的 EVM 上进行测试、您也会发现。
    非常感谢。
    BR、Jordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    EVM 是指 F280049控制卡?

    您还能告诉我您基于哪个示例代码吗?

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

    下面是代码:C:\ti\c2000\C2000Ware_1_00_04_00\device_support\f28004x\examples\HRPWM

    实际上只有一个 HRPWM 演示代码。

    这是示波器:

    BR、Jordan

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

    本节介绍了需要进行何种配置。 我强调了重要的部分。

    19.2.4.4.1高分辨率周期配置
    要使用高分辨率周期、ePWMx 模块必须按照提供的准确顺序进行初始化。
    以下步骤将 CMPA 与影子寄存器和相应的 HRCNFG 位配合使用以实现高分辨率
    EPWMxA 上的操作。 对于 EPWMxB 上的高分辨率操作、请使用进行适当的替代
    B 通道字段。
    1.启用 ePWMx 时钟
    2.启用 HRPWM 时钟
    3.禁用 TBCLKSYNC
    4.配置 ePWMx 寄存器- AQ、TBPRD、CC 等。
    •ePWMx 只能配置为向上计数或向下计数模式。 高分辨率周期是
    与倒计数模式不兼容。
    •必须为影子加载配置 TBPRD 和 CC 寄存器。
    •CMPCTL[LOADAMODE]
    –在向上计数模式下:CMPCTL[LOADAMODE]= 1 (CTR 上的负载= PRD)
    –在递增/递减计数模式中:CMPCTL[LOADAMODE]= 2 (CTR=0或 CTR=PRD 上的负载)
    5.配置 HRCNFG 寄存器,以便:
    •HRCNFG[HRLOAD]= 2 (CTR = 0或 CTR = PRD 上的负载)
    •HRCNFG[AUTOCONV]= 1 (启用自动转换)
    •HRCNFG[EDGMODE]= 3 (两个边沿上的 MEP 控制)
    6.对于 TBPHS:TBPHSHR 与高分辨率周期的同步、将两者都置位
    HRPCTL[TBPSHRLOADS]= 1且 TBCTL[PHSEN]= 1。 在向上/向下计数模式下、这些位必须为
    无论 TBPHSHR 的内容如何、都设置为1。
    7.启用高分辨率周期控制(HRPCTL[HRPE]= 1)
    8、使能 TBCLKSYNC
    9. TBCTL[SWFSYNC]= 1.
    10. HRMSTEP 必须包含一个准确的 MEP 比例因子(每个 EPWMCLK 粗略步进的 MEP 阶跃数)
    因为自动转换已启用。 MEP 换算系数可通过 SFO()函数获取
    第19.3节中进行了说明。
    11.要控制高分辨率周期、请写入 TBPRDHR (M)寄存器。

    需要在 ZRO 和 PRD 上进行负载。 您仔细检查一下这个问题、让我知道这是否解决了问题。 我认为这是必要的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    是的、你是对的。
    如果加载模式为 HR_CTR_zero_PRD、则不存在此问题。
    但是、如果加载模式为 HR_CTR_ZERO、则会出现问题。
    我们想知道原因。
    非常感谢。
    BR、Jordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    约旦

    正确-您需要为此模式使用 HR_CTR_zero_PRD。
    高分辨率值是在内部计算的、并加载到零和 prd 匹配实例上。
    要使新值在这两个实例上都生效、您需要使用此模式。
    请注意、这些值在内部发生变化以实现正确操作-尽管用户没有变化。

    Bharathi。