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.

[参考译文] LMK61E2:在我的器件上提供不同的时钟速率

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/733142/lmk61e2-to-provision-different-clock-rates-on-my-device

器件型号:LMK61E2

您好!

我们已使用 数据表中的 eq1、eq2在我的器件上提供各种时钟速率(156-170MHz)。 (1) FVCO = FREF x D x [(INT + NUM/DEN)]、(2) OUTDIV = Fvco / Fout。  

为了实现特定频率、我们每次都使用 FVCO 的硬编码值并对器件进行编程。您可以在下面找到我用于156.25MHz 频率的示例代码(此处为 fout)

void enable_clock_modes (float freq、index i、bool 状态)


/*切换大小写以处理各种频率,在结束时返回成功*/
开关(I)

情况0:
float FVCO = 5000.000;
unsigned int outDIV =(int)(FVCO/freq);
浮点分频器= FVCO/REF;
unsigned int INT =(int)分频器;
浮点 REST =分频器- INT;
unsigned int NUM =(int)(REST * 100000);//理想情况下乘法器应为10^5,以获得精确的输出频率/时钟速率*/
unsigned int den = 100000;

// 9位输出分频器、8位来自 R23 (十六进制17)寄存器和1位(Bit0)来自 R22 (十六进制16)寄存器
REG[0x16]=(OUTDIV & 0x100)>> 8;
REG[0x17]=(OUTDIV & 0x0FF);

我们正在消除代码中的硬编码值(FVCO), 这样、客户就可以选择外壳中的任何可用频率来启用特定的时钟频率。为此、我们需要一种替代方法或方法来找到 OUTDIV 值或 FVCO 值、以便能够轻松找到另一个值。 我的假设是在提供输出频率时找到 OUTDIV 值的方法、以便可以计算 FVCO、程序的其余部分将处理时钟速率的提供。 我希望您满足我的要求。

谢谢、Harish

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们将通过电子邮件向您发送 python 文件、以便您可以获得用于 TICS PRO 的计算结果。

    Alan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的更新、我已向'clock_support@list.ti.com '发送了一封电子邮件、请求提供 python 文件