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.

[参考译文] TMS320F280049:将系统时钟配置为精确的100MHz

Guru**** 2611705 points
Other Parts Discussed in Thread: C2000WARE, TMS320F280049

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/690794/tms320f280049-configure-system-clock-at-exact-100mhz

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

尊敬的 C2000专家:

F28004x 器件可以在100Mhz 频率下运行、但我找不到一种配置器件以精确100Mhz 频率运行的方法。

TRM 显示、 fPLLRAWCLK =(fOSCCLK)* NF/Ovid、其中 NF = IMULT + FULT/4、而 fPLLSYSCLK = fPLLRAWCLK/PLLSYSCLKDIV。  

 fPLLRAWCLK 有一个限制,范围是120MHz 到200MHz,所以 PLLSYSCLKDIV 应该将最小值设置为2,这样我们就可以得到精确的100MHz,对吧?

2.如果我想使用 INTOSC2作为时钟源、并使器件以100MHz 运行、我能否按如下方式配置 C2000ware 中的功能?

InitSysPll (INT_OSC2、IMULT_19、FULT_0pt75、PLLCLK_By_2); //fPLLRAWCLK = 19.75*10 = 197.5MHZ、 fPLLSYSCLK = fPLLRAWCLK /2 = 98.75Mhz

InitSysPll 函数的源代码非常复杂、是否有文档可以解释该函数?  

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

    是的、您突出显示的配置将起作用。 您可以通过多种不同的方法进行配置、另一种方法是:

    InitSysPll (INT_OSC2、IMULT_40、FULT_0pt0、PLLCLK_By_4);//fPLLRAWCLK = 40*10 = 400MHz、fPLLSYSCLK = fPLLRAWCLK /4 = 100Mhz

    让我与我们的软件团队联系、了解他们是否有 InitSYSPLL 函数的参考指南。

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

    Nirav、您好!

    TRM 说 fPLLRAWCLK 应该在120MHz 到200MHz 的范围内、如果使用您建议的配置、这意味 着 fPLLRAWCLK 超出了规格。您能帮助确认吗?

    INTOSC2存在差异、如果配置器件的运行频率正好为100MHz、这意味着某些器件的 CPU 频率将超过100MHz、我是否必须考虑这一点?  

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

    Nirav、您好!

    以下是从数据表复制的信息:

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

    尊敬的 Jack:

    您有一个要点、我建议的配置将超出 TMS320F280049器件的规格。 您在之前的帖子中建议的配置是有效的、您可以使用它。 此外、如果你观察 TRM、SYSPLLMULT 寄存器内有一个 ODIV 域、所以如果你想使用更高的乘法器、你需要配置 ODIV 寄存器来将其分频、这样 f (PLLRAWCLK)不会超过200MHz。 但是、这将需要修改 InitSysPLL 函数。

    INTOSC2变化可在器件规格频率中调节、因此对于您的配置、您可以考虑 INTOSC2为10MHz、即使它略高、导致器件频率超过100Mhz、器件也将完全正常工作。

    此致、

    Nirav

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

    谢谢。 确认后、我可以放心地将器件配置为以100Mhz 运行。

    InitSysPll (INT_OSC2、IMULT_20、FMULT_0pt0、PLLCLK_By_2);//fPLLRAWCLK = 20*10 = 200MHz、fPLLSYSCLK = fPLLRAWCLK /2 = 100Mhz
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Jack:

    下面的配置看起来不错。 如果您有任何其他问题、请告诉我、如果没有、请继续并关闭帖子。

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

    感谢你的帮助。 当然、我将关闭此帖子。