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/TMS320F28377S:关系 PWM 周期-系统时钟- TBCLK 时钟

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/569902/ccs-tms320f28377s-relation-pwm-period---system-clock---tbclk-clock

器件型号:TMS320F28377S
Thread 中讨论的其他器件: controlSUITE

工具/软件:Code Composer Studio

Hallo、我是新手。


我使用 TMS320F28377S LaunchPad 开发套件。


我从 controlSUITE 示例(controlSUITE->device_support->V210->hprwm_Duty_SFO_v8->cpu01->HRPWM_Duty_SFO_cpu01)加载了项目 HRPWM_Duty_SFO_cpu01。

我遇到的问题是、预期的 PWM 周期不是我测量的 PWM 周期。

技术参考手册第1442/2352页有一条说明:EPWMCLK = SYSCLKOUT/2。

因此 EPWMCLK 应以100MHz (10ns)运行。

HSPCLKDIV 和 CLKDIV 分频器被设定为系数1。 因此 TBCLK 时钟应以100MHz (10ns)运行、请参阅第1443/2352页 (技术参考手册)

因此、我希望调用值为10的 HRPWM_Config 函数会生成10*10ns= 100ns 的 PWM 周期。

实际 PWM 周期(测量值)为200ns。

我不知道为什么。 有人能解释为什么 PWM 周期是200ns 而不是100ns。

我在项目示例中没有做任何更改。 使用 Code Composer Studio 版本:6.2.0.00050

HRPWM_Config (10);// ePWMx 目标

空 HRPWM_Config (周期)
{
uint16 j;

//
具有 HRPWM 的// ePWM 通道寄存器配置
// ePWMxA/ePWMxB 在上升沿由 MEP 控制切换为低电平/高电平
//
对于(j=1;j <


非常感谢、

Jonas

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

    你好 Jonas、

    看起来 CPU 以100MHz 而不是200MHz 运行。

    PEASE 请参阅以下关于类似问题的帖子-

    此致、

    Vivek Singh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好 Jonas、这解决了这个问题吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Vivek Singh:

    我解决了这个问题。 你是对的。 我的 CPU 以100MHz 而非200MHz 运行。 该问题出现在函数中:
    InitSysCrtl();
    在此函数中、有一个用于调节 PLLSYSCLK 的函数、该函数与 SYSCLK 相同。
    InitSysPll (XTAL_OSC、IMULT_40、FULT_1、PLLCLK_By_2);// 10 MHz* 40 * 1 /2
    ->然后、据我所知、SYSCLK 以200MHz 的频率运行

    在我的示例中、IMULT 是 IMULT_20
    InitSysPll (XTAL_OSC、IMULT_20、FULT_1、PLLCLK_By_2);// 10 MHz*20*1/2
    ->然后,据我所知,SYSCLK 以100MHz 的频率运行


    如果这些注意事项正确、您能给我反馈吗?

    此致、

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

    是的、您的理解是正确的。

    此致、
    Vivek Singh