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:BissC - CLB 时钟设置为100/150Mhz

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1260409/tms320f28388d-bissc---clb-clock-setting-to-100-150mhz

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

您好!

 我们拥有28388D 处理器、其系统时钟和 PWM 运行频率为200MHz。 CLB 似乎也以200MHz 的频率运行、但根据文档、它应该只以100Mhz 或150Mhz 的频率运行。

 我们认为这会导致 BissC 误差。

可以将 CLB 时钟更改为更慢运行、而不依赖于系统时钟或 PWM 吗?

2.如果 CLB 时钟以200MHz 运行,我在寄存器中设置流水线值,但无效。 这是否会导致 BissC 错误。

我们提供了 bissc SysConfig 文件、我可以将该文件加载到我们的项目中并构建它。 这似乎有助于但没有完全阻止 BissC 错误

任何其他建议都会有所帮助。

多里昂

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

    大家好、Dorion:

    Unknown 说:
    1. 是否可以将 CLB 时钟更改为运行得更慢而不依赖于系统时钟或 PWM?

    您可以使用 SysCtl_setCLBClk 函数来更改 CLBCLKDIV 和 TILECLKDIV、如器件参考手册 CLB 一章的 CLB 时钟部分所示。 请注意、要使用特定于 CLB 的时钟分频器、需要针对异步模式配置 CLB (它将从 AUXPLL 而不是 SYSCLK 获取时钟)。 可以 在 sysctl.h 头文件中找到 SysCtl_setCLBClk 函数和关联的枚举器。

    Unknown 说:
    2. 如果 CLB 时钟以200MHz 运行、我在寄存器中设置了流水线值、但无效。 这是否会导致 bissC 错误。

    我假设您讨论的是管道模式、而不是输入管道滤波器。 流水线模式使 CLB 能够最高运行至150 MHz、但对于超出我理解的任何频率、不使用该模式。 我不知道这是否会导致您看到的错误、我会让 BissC 专家回答这一问题。

    此致、

    阿米尔·奥马尔

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

    Dorion

    一个选项是使用 AUXPLL 为 CLB 计时。  

    如果 CLB 时钟以200MHz 运行,我在寄存器中设置了流水线值,但无效。 这是否会导致 bissC 错误。

    CLB 并非设计为在此器件上以200MHz 运行。  

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

    感谢 Omer。 我们能够使用 AuxPLL

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

    Lori:

     如果我们以200MHz 运行、我们是否会遇到 BiSS C 错误? 我假设 CLB 的行为是不可预测的。

    多里昂

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

    正确-如果在200MHz 上运行,则未定义 CLB 行为。 因此、对 BiSS 的影响是不可预测的。

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

    好的。 下一个问题。

    如果我的时钟以200MHz 运行、那么我的 AuxPLL 现在将使 CLB 以100Mhz 运行。

    我的 BissC 频率时钟应该是多少? 请记住、我的 SysCtl_setLowSpeedClock 是 SYSCTL_LSPCLK_PRECAE_1、我的

    #define DEVICE_AUXCLK_FREQ         ((DEVICE_OSCSRC_FREQ * 100)/(5 * 1 * 1))

    并且我的

    //控制卡上的20MHz XTAL。 用于 sysctl_getClock()和
    // sysctl_getAuxClock ()。
    //
    #define DEVICE_OSCSRC_FREQ         25000000U

    我已将频率时钟设置为25、对吗?

    这些变化似乎已经帮助解决了 BissC CRC 的错误,但我们仍有一些问题。

    我们一直在使用发送给我们的 bissC 的例子。


    多里昂

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

    我已设置 PM_Bissc_setFreq (25)

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

    此外、对于 SPI 而言、由于它是从器件、为 SPI 接口生成时钟的是 CLB?

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

    是的、CLB 生成 SPI 时钟。  

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

    我刚意识到您正在尝试在 F28388x 上运行我们的 BiSS-C 库。 该库是为 F2837xD 开发的、我认为无需修改即可直接移植到 F28388x。  很遗憾、我们的配套资料中没有来源。  

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

    Lori:

     我可以将 SysConfig 加载到我们的项目中、然后生成了 CLB 代码。 为 F2837xD 专门开发了什么?

     我们如何获得适用于 F28388x 的结果? 我们需要它。

    多里昂