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.

[参考译文] CDCE913:在不带 ClockPro 的情况下计算 PLL 寄存器设置

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1466462/cdce913-calculating-pll-register-settings-without-clockpro

器件型号:CDCE913
Thread 中讨论的其他器件: CLOCKPRO

工具与软件:

大家好!

我们计划 在重新设计时使用 CDCE913来代替已经停产的器件。
它用作 C2000微控制器的主时钟源。

要求提供19.0至20.0 MHz 之间的任何频率、步长为5kHz、并以高达50Hz 的速率在该范围内的2个任意频率之间切换、而不出现干扰或频率过冲。
PLL 时钟源为20 MHz XTAL。 CDCE913似乎 适合于此种应用。

但是、我们并不事先知道所需的频率、即我们必须"即时"计算微控制器中的 PLL 寄存器设置。 因此、我们无法使用 TI ClockPro 来预先计算寄存器数据。

根据数据表中的信息、我们可以计算给定 Pdiv、N 和 M 的 N、P、Q、R 和 Pdiv 寄存器数据

但对于大多数 频率、 Pdiv、N、M 的多个组合可产生所需输出。 选择哪一个?
问题1. :是否有一份文件描述如何为给定的 fin 和 fout 选择 Pdiv, N, M ?

问题2. : Pdiv、N、M 的所有可能的组合只要符合以下限制,都能正常工作:


我们的做法如下:
使用固定值 Pdiv1 = 8和 M = 500并将 N 在3800 至4000范围内变化、以获得19.0至20.0 MHz 输出(即使以5kHz 为步长)。
fVCO 以40kHz 的增量在152至160 MHz 下运行。
问题3. :这能起作用吗?

我在一些频率下试用了 TI ClockPro、以便将结果与我们的方法进行比较。
ClockPro 似乎试图最大程度地 提高 Pdiv、或许是为了改善抖动性能、与我们的简单方法相比、产生不同的结果。

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

    沃尔夫冈

    1. 有关选择 N、M 和 PDIV 值的说明、请参阅  8.2.2.2 PLL 频率规划 拥有的东西。 P、Q 和 R 确定如下


      通常、应尽可能增大 N 和 M 的值以获得最佳性能。 例如、如果您要从20MHz 输入生成10MHz 和15MHz、那么建议不要选择 M = 1和 N = 21、而是使用 M = 390和 N = 4095。
    2. Pdiv、N 和 M 值范围内没有间隙。 任何有效的组合都将在器件上有效。
    3. 我认为您使用的方法没有问题。 同步将更简单、并且需要更少的寄存器写入、尽管与最大化 M/N 相比、某些输出频率的性能可能更差 根据您的要求、这对您的系统来说可能不是个问题、并将极大地简化计算过程。

    谢谢!
    Kadeem

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

    尊敬的 Kadeem:

    感谢您的快速响应、这证实了我们的方法。

    2注意:

    CONSTRINT 0 <= R <= 51 (请参阅上述代码段)似乎不正确、它应该是 r <= 511;我已在发布的约束代码段中修复了此问题、它来自同一个源代码。 同样此器件系列的另外两个产品说明书、只有一个产品说明书拥有511 (但我不记得哪个产品说明书)。

    您提到最大程度地提高 M 和 N 以获得更好的性能- ClockPro 似乎没有遵循这一策略。
    fin 20 MHz、fout 19.020000 MHz 的示例
    ClockPro:Pdiv=12、N=2853、M=250、228.24 MHz
    我们:Pdiv=8、N=3804、M=500、152.16 MHz
    因此、我们实际上具有更大的 M 和 N 值、但 Pdiv 比 ClockPro 更小
    也许 ClockPro 会尝试将 Pdiv (因此也包括 fVCO)最大化以 减少抖动。
    不管怎样、我们不在乎:-)

    此致、
    沃尔夫冈

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

    沃尔夫冈

    这是数据表中的一个拼写错误、最大 R 值为  511. (9位字段)。  

    为了使价值最大化,这是明确的关于 M 和 N。我对缺乏明确性的道歉。

    谢谢!

    Kadeem