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.

[参考译文] TMS320F28P650DK:当200 MHz 时最大 CLB 时钟

Guru**** 2535150 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1412357/tms320f28p650dk-max-clb-clock-when-sysclk-epwmclk-200-mhz

器件型号:TMS320F28P650DK
主题中讨论的其他器件:SysConfig

工具与软件:

尊敬的 Champs:

我是为我们的客户提出这个问题。

当用户使用 SYSCLK = EPWMCLK = 200 MHz 时、这是否意味着在 TRM 的8.2.1 CLB 时钟中 CLB 时钟不能超过150 MHz 时、CLB 时钟可以最大为100 MHz?

(请注意、SYSCLK = EPWMCLK = 200 MHz 是这里的硬性要求。)

问题1:

我们使用下面的 SysConfig Clocktree。  

您是否请确认下面的配置正确?

问题2:  

在下面的 TRM 表3-194中、对于 CLBCLKCTL、这些位被保留。 用户看不到 CLBCLKDIV、TILECLKDIV。

出什么问题了吗?

通过使用上面的 SysConfig 时钟树、可以正确设置 CLB 时钟吗?

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

    韦恩、您好!

    通过查看规格、TILECLKDIV 和 CLBCLKDIV 位仍然存在、但到目前为止对客户隐藏。 时钟树工具应该能够配置这些位。

    我将根据设计来验证为什么会隐藏这些位。

    谢谢!

    Luke

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

    尊敬的 Luke:

    还请确认时钟树工具可以"正确"地为100 MHz 处的 CLB 时钟设置 TILECLKDIV 和 CLBCLKDIV 位

    默认情况下、时钟树工具不会像我上面显示的那样设置100MHz、因此我不确定是否有任何问题。

    在 F28P65x 器件上默认使用200 MHz SYSCLK/EPWMCLK 和100 MHz CLB 更有意义。

    此外、F2838x TRM 确实显示 TILECLKDIV 和 CLBCLKDIV 位

    用户将其代码从 F2838x 迁移到 F28P65x 并发现了该问题、但用户未在 F2838x 上使用时钟树工具。

    SysCtl_setCLBClk 在 F2838x driverlib/SysCtl.h 中提供、但在 F28P65x 对应程序中不可用、这就是我们对 F28P65x 时钟树能否设置 CLB 时钟感到困惑的原因。

    因此、请确认所有这些(F28P65x 时钟树工具/TRM)、并告知我们接下来如何操作。

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

    韦恩、您好!

    我已经测试了对标记为设计的 CLBCLKCTL 位的修改、但它似乎没有更改 CLB 时钟频率。 这些时钟分频器可能使用一些值进行硬编码、并且在寄存器中编程的值会被忽略。 我将从设计团队那里获得有关这方面的确认。

    如果这些位在设计中经过硬编码、则时钟树工具将不会影响 CLB 时钟频率。 修改时钟树 GUI 中的 CLB 时钟分频器也不会对生成的代码产生任何影响。

    当我从设计团队那里获得更多信息时、我会给您回复。

    谢谢!

    Luke

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

    韦恩、您好!

    进一步测试后、我意识到 CLB 时钟分频器仅在 CLBCLKCTL 寄存器中选择了"异步"时钟时才会生效。 完成此操作后、我可以看到时钟分频器的影响。

    不过、时钟树工具似乎存在一个问题、那就是在修改 GUI 时不修改 CLBCLKCTL 分频器。 另外还缺少 driverlib 函数来配置这些位。

    我将确保 driverlib 和 SysConfig 已更正以包含这些内容、目前客户需要根据以下寄存器说明手动修改 CLBCLKCTL 的值:

    寄存器名称 CLBCLKCTL
    字段范围 Design Name 该设计的链接 硬件复位值 R/W 复位类型 详细说明
    2..0 CLBCLKDIV CLB 时钟分频器配置。 0x7 R/W SYSRSn 000:/1
    001:/2
    010:/3
    011:/4
    100:/5
    101:/6
    第110章:我是谁
    111:/8.
    3. 保留 保留 0 R=0 SYSRSn 保留
    4. TILECLKDIV CLB 逻辑块时钟分频器配置。 0 R/W SYSRSn 0:/1
    1:/2
    15..5 保留 保留 0 R=0 SYSRSn 保留
    16. CLKMODECLB1 CLB1的时钟模式 0 R/W SYSRSn 0:CLB1与 SYSCLK 同步
    1:CLB1异步时钟运行
    17. CLKMODECLB2 CLB2的时钟模式 0 R/W SYSRSn 0:CLB2与 SYSCLK 同步
    1:CLB2异步时钟运行
    18. CLKMODECLB3 CLB3的时钟模式 0 R/W SYSRSn 0:CLB3与 SYSCLK 同步
    1:CLB3异步时钟运行
    19. CLKMODECLLB4 CLB4的时钟模式 0 R/W SYSRSn 0:CLB4与 SYSCLK 同步
    1:CLB4异步时钟运行
    20. CLKMODECLB5 CLB5的时钟模式 0 R/W SYSRSn 0:CLB5与 SysClk 同步
    1:CLB5异步时钟运行
    21. CLKMODECLB6 CLB6的时钟模式 0 R/W SYSRSn 0:CLB6与 SYSCLK 同步
    1:CLB6异步时钟运行
    31..24. 保留 保留 0 R=0 SYSRSn 保留
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Luke:

    那么同步模式呢?

    这里的 SYNC 是否意味着 CLB 时钟与 SYSCLK 和 EPWMCLK 同步?  

    如果用户希望从 ePWM 获取信号、然后输出到 ePWM、这是否意味着需要同步模式?

    为什么这两位无法在同步模式下使用?

    在同步模式下、当 SYSCLK=EPWMCLK=CLB 时、200MHz 时钟在这里的运行频率是多少?

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

    韦恩、您好!

    根据我的测试、CLB 时钟将等于 SYSCLK 或 EPWMCLK。 更改 CLB 时钟分频器对 CLB 时钟频率没有影响。 我将在本周晚些时候确认在同步模式下 CLB 时钟匹配的时钟。

    谢谢!

    Luke

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

    尊敬的 Luke:

    您有更新吗?

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

    尊敬的 Luke:

    1.

    您能否确认 在 SYNC 模式下、当 SYSCLK=EPWMCLK=CLB 时、200MHz 时钟在这里的运行频率是多少?

    CLB 时钟是否默认以100 MHz 运行?

    2.

    在 SYNC 模式下、CLB 可以有1或2个周期 CLB 延迟来锁存外部信号。 我的理解是否正确?

    在异步模式下、用户可以修改 上面显示的 CLBCLKCTL 寄存器、以配置100 MHz 的 CLB 时钟、稍后将更新 F28P65x TRM。 是这样吗?

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

    韦恩、您好!

    对延迟响应深表歉意。 我已经在我这边进行了测试、并确认了以下几点。

    1.在 SYNC 模式下、CLB 时钟始终等于 EPWMCLK。 我通过使用 CLB 预分频时钟作为 CLB 的输入并使用 CLB 输出 XBAR 路由到 GPIO、对此进行了测试。 由于 EPWMCLKDIV 默认为01、因此 CLB 时钟默认为100MHz

    2.当在 CLB 的输入上使用输入同步时、只有延迟。 建议在某些输入上使用这种方法、但并非所有输入上都使用这种方法。 在 CLB 一章的 CLB 输入表中以及通过 SysConfig 中的警告消息指定了需要同步的输入。

    3、这是正确的。

    如果您还有其他问题、请告诉我。

    谢谢!

    Luke