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.

[参考译文] TMS320F28388D:为什么 EPWMCLKDIV 会影响 F28388的 CLB 时钟

Guru**** 2616675 points

Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/970867/tms320f28388d-why-epwmclkdiv-will-impact-the-clb-clock-of-f28388

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

您好、专家、

在下面的 e2e 中、CLB 时钟 可 由 时钟分频器 CLBCLKCTL 设置、与 ePWM 时钟无关。

https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/963432?tisearch=e2e-quicksearch&keymatch=clb

但我们进行了测试、以表明 EPWMCLKDIV 设置将影响 CLB 时钟的频率。

测试方法:

F28388D 控制卡。

示例代码:clb_ex3_auxiliary_pwm

C:\ti\c2000Ware_3_03_00_00\driverlib\f2838x\examples\C28x\CLB

如果从以下函数中更改 EPWMCLKDIV、或 直接在 CCS 寄存器列表中更改 EPWMCLKDIV 的值。 然后将 更改 CLB 的输出频率。(只需监控引脚53 (OutputXBAR1))。

SYSCTL_setEPWMClockDivider (SYSCTL_EPWMCLK_DIV_1);

这有什么问题吗?  另一个问题是、通过以下函数更改 CLBCLKCTL 的值将对 CLB 时钟没有影响、我们可以看到 CLBCLKCTL 值确实在 CCS 窗口中更改。

SYSCTL_setCLBClk (SYSCTL_CLBCLKOUT_DIV_3、SYSCTL_CLKOUT_DIV_2、SYSCTL_CLB2、SYSCTL_CLBCLK_SYNC);

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

    强、

    我们将在本季度的一个月内不久发布 CLB 时钟控制支持。

    EPWM 时钟门不控制 CLB 时钟的门、但 EPWMCLKDIV 仍会影响 CLB 时钟。

    这将在 TRM 的下一个版本中进行。

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

    NIMA、

    很抱歉、我确信下面的意思是、F28388器件已经是 MP、以及如何释放对 CLB 时钟的支持。

    我们将在本季度的一个月内不久发布 CLB 时钟控制支持。

    客户想要将200MHz 时钟用于 PWM、将100MHz 时钟用于 CLB、这是什么? 如何进行此配置?

    也可以对 CLB 使用200MHz 时钟、但我们讨论的 CLB 时钟不应 太高、高达200MHz、如果 CLB 使用200MHz 时钟、可能会有任何风险?

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

    我们有一个内部测试版! 计时示例+ TRM 的 PDF。 您只需将测试版发送给他们。

    没有 CLB 以150MHz 的最大频率运行、并且当频率高于100MHz 时、必须使用管道模式。 以及 Beta 版本中可用的管线模式的描述。

    要以不同的速度运行它们、请将 SYSCLK 配置为200MHz、作为通常情况。 然后将 EPWMCLKDIV 设定为/1。 因此、ePWM 现在可以以200MHz 的频率运行。

    然后、要在不同的时钟上运行 CLB、CLBCLKCTL 将是异步的、所以现在 CLB 时钟为:AUXPLL ->除以 CLBCLKDIV ->除以 TILECLKDIV。

    因此、根据寄存器说明中 CLBCLKDIV 和 TILECLKDIV 中的分频器值、您必须选择 AUXPLL 和分频器需要的值才能实现100MHz。

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

    你好、Nima、

    感谢您的澄清、为什么 ePWM 不能以200MHz 运行? 客户想要的是200MHz 的 PWM 频率。

    要以不同的速度运行它们、请将 SYSCLK 配置为200MHz、作为通常情况。 然后将 EPWMCLKDIV 设定为/1。 因此、ePWM 现在可以在150MHz 下运行。

    我们必须等待测试版发布、以便客户可以使用 CLBCLKCTL 执行设置?

    目前客户只能将 ePWM 和 CLB 配置为100MHz? 正确吗?

     

     

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

    [引用 USER="Strong Zhang ]要以不同的速度运行它们、请将 SYSCLK 配置为200MHz、作为通常情况。 然后将 EPWMCLKDIV 设定为/1。 因此、ePWM 现在可以在150MHz 下运行。[/quot]

    更正了拼写错误。 ePWM 显然是200MHz。

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

    无需"等待"β。 它已经可用、您只需申请即可。

    是的、根据控制卡设置、客户肯定可以在 ePWM 200MHz 下运行、在125MHz 下运行 CLB。

    device_init();
    DEVICE_initGPIO();
    
    interrupt_initModule();
    interrupt_initVectorTable();
    
    //
    // AUXPLL 为125MHz
    // CLB 时钟异步模式
    // CLB 寄存器时钟125MHz
    // CLB 逻辑块时钟125MHz/2
    //
    SYSCTL_setCLBClk (SYSCTL_CLBCLKOUT_DIV_1、SYSCTL_CLBTCLKOUT_DIV_2、
    SYSCTL_CLB1、SYSCTL_CLBCLK_异 步);
    
    SYSCTL_setCLBClk (SYSCTL_CLBCLKOUT_DIV_1、SYSCTL_CLBTCLKOUT_DIV_2、
    SYSCTL_CLB2、SYSCTL_CLBCLK_异 步); 

    如需获取测试版、请向我发送电子邮件。

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

    以上代码位于测试版中的 CLB 示例26中、并将 CLB 配置为125MHz/2 = 75MHz。 无需流水线。 如果您使用 TCLKOUT_DIV_1、则 CLB 逻辑块将获得125MHz、并且必须启用流水线模式。