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.

[参考译文] TMS320F280025C:更改了 HRPWM CMPAHR 但未生效

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/997072/tms320f280025c-hrpwm-cmpahr-changed-did-not-have-effect

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

大家好、

我的客户遇到 HRPWM 无法按预期工作的问题。

测试结果如下:

案例1:Boostdutycycle_pu = 0.4、   

          CMPA = 80、CMPAHR = 0、

      测得的实际 PWM 占空比= 35.3%。

 情况  boostdutycycle_pu = 0.404、   

CMPA = 80、CMPAHR = 52224、

 测得的实际 PWM 占空比= 35.3%。

寄存器 CMPAHR 已更改、但波形相同。

案例3:Boostdutycycle_pu = 0.405、   

CMPA = 81、CMPAHR = 0、

实际 PWM 占空比= 34.81%。

由于 CMPA 从80变为81、波形从35.3%更改为34.81%。

下面是配置。

 

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SysCtl_enablePeripheral(SYSCTL_PERIPH_CLK_HRPWM);
SysCtl_enablePeripheral(SYSCTL_PERIPH_CLK_TBCLKSYNC);
SysCtl_enablePeripheral(SYSCTL_PERIPH_CLK_EPWM1);
SysCtl_enablePeripheral(SYSCTL_PERIPH_CLK_EPWM2);
EPWM_setPeriodLoadMode(base, EPWM_PERIOD_SHADOW_LOAD);
EPWM_setTimeBasePeriod(base, Period);
EPWM_setPhaseShift(base, 0);
EPWM_setTimeBaseCounter(base, 0);
EPWM_setEmulationMode(base, EMULATION_MODE);
EPWM_setTimeBaseCounterMode(base, EPWM_COUNTER_MODE_UP);
EPWM_setClockPrescaler(base, EPWM_CLOCK_DIVIDER_1, EPWM_HSCLOCK_DIVIDER_1);
//
// Configure linking between PWM modules
//
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

 

 

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

    您好!

    是否启用了 HRPWM? 是否设置了 EPWM_HR_ENABLED 参数?

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

    是,ePWM_HR_ENABLED 为真

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

    您好!

    这是 c2000ware 中的一个示例吗? 如果没有、您能否尝试一个示例并分享您的观察结果?

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

    使用示例时会出现编译器错误、如下所示:

    C:\ti\c2000Ware_3_04_00_00\driverlib\f28002x\examples\HRPWM

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

    您好!

    我会得到类似的误差。 我将与团队进行核实、然后再联系您。

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

    您好!

    我似乎已经解决了这个问题、不允许使用以下配置、否则在设置 CMPAHR 时不会产生任何结果、

    // ePWM_setActionQualifierAction (BOOST_PWM2_base、ePWM_AQ_output_A、

    // ePWM_AQ_output_low、

    // ePWM_AQ_output_on_timebase_zero);

     但我不知道原因、TI 参考设计2PH_IL_LLC_F28002x 项目似乎也具有类似的设置:

    对于以下示例、SFO_V8_FPU_lib_build_c28.lib 将编译器问题修复为 新问题。

    C:\ti\c2000Ware_3_04_00_00\driverlib\f28002x\examples\HRPWM

    但我又遇到了另一个问题、我通过以下链接发布了新问题:

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1002506/tms320f280025c-hrpwm-seem-not-accuracy-when-cmpahr-is-0

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

    您好!

    [引用 userid="180630" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/997072/tms320f280025c-hrpwm-cmpahr-changed-did-not-have-effect/3703690 #3703690"]

    我似乎已经解决了这个问题、不允许使用以下配置、否则在设置 CMPAHR 时不会产生任何结果、

    // ePWM_setActionQualifierAction (BOOST_PWM2_base、ePWM_AQ_output_A、

    // ePWM_AQ_output_low、

    // ePWM_AQ_output_on_timebase_zero);

     但我不知道原因、TI 参考设计2PH_IL_LLC_F28002x 项目似乎也具有类似的设置:

    [/报价]

    您是否参考了此处的示例代码 C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f28002x\examples\HRPWM  或其他代码?

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

    C:\ti\c2000\C2000Ware_DigitalPower_SDK_3_01_00_00\solutions\TIDM_1001\f28002x

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

    您好!

    对于此示例 C:\ti\c2000Ware_3_04_00_00\driverlib\f28002x\examples\HRPWM

    您可以尝试使用最新的 CCS 版本(10.x)吗?

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

    大家好、我刚刚尝试了 CCS 的最新版本10.3.1.00003、它没有编译错误。 请更新 CCS。

x 出现错误。请重试或与管理员联系。