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.

[参考译文] LMX2582EVM:计算公式

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1394542/lmx2582evm-formula-for-calculations

器件型号:LMX2582EVM
Thread 中讨论的其他器件:LMX2582LMX2592

工具与软件:

我们将使用 LMX2582评估板、我们可以使用 GUI 进行编程、并且输出也是根据需要。

但当我们与控制器(STM32)集成时、python 脚本中不提供需要进行编程的计算。

数据表或 GUI 脚本中未提供用于计算 Fnum、FDEN 的公式。

如能提供任何帮助、将会有所帮助。  以及示例。

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

    尊敬的 Mihir:

    是否已安装 TICSpro?  
    此致、

    Vicente

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

    抱歉、Mihir、
    我误读了您的问题、您已经说明您使用了 GUI。

    无论您在哪里安装了 TICSpro、您都应该能够导航到相应的器件并找到.py 文件

    例如:  
    ../TiCS PRO/Configurations/Devices/PLL + VCO/LMX2582/LMX2582_PLL.py  

    此致、  

    Vicente  

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

    我曾尝试根据 python 文件中给出的公式进行计算、但 这似乎是 GUI 中显示的一些不同值。

    我无法关联 GUI 中给出的公式和我的计算。  

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

    尊敬的 Mihir:  
    您是否知道需要哪些频率?  
    如果是、您可以使用控制台找出所需的所有写入命令。  

    在更改寄存器时、您将看到必要的寄存器写入。  

    此致、  

    Vicente  

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

    是的、我知道项目将使用哪些频率。

    频率将处于用户会根据要求更改的特定范围内、因此必须根据频率输入计算寄存器值。 我无法预先确定所有寄存器值。 它还将与我们带控制器的定制板集成。

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

    您是否有用于计算 PLL_NUM、PLL_DEN、PreScalar 值的合适公式?

    如果是,您能分享吗?

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

    尊敬的 Mihir:

    您决定 PLL_DEN 和 FPD、然后可以根据 VCO 频率计算其他值。

    例如、

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

    好的、谢谢。 我将检查并更新。

    您现在能分享一下如何从 GUI 中找到 VCO_2X 值吗?

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

    尊敬的 Mihir:

    LMX2582中没有 VCO_2x、该寄存器仅在 LMX2592中可用。

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

    由于 VCO_2X 不存在、因此根据 Python 计算结果、PLL_N_PRE 的值将始终为零。 寄存器37的值将是固定的。

    我是对吗?  

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

    尊敬的 Mihir:  
    不是 PLL_N_PRE 的值为2或4:  

    此致、  

    Vicente  

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

    但根据该 python 代码、PLL_N_PRE 的值始终为零。

    或者我是不是误会了什么东西?!

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

    尊敬的 Mihir:  
    如前所述、LMX2582没有 VCO 倍频器、而这个功能可在 LMX2592中找到。  

    此致、  

    Vicente

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

    在研究了 Python 代码后,我们能够生成广义公式。 此公式可以通用形式与其他控制器一起使用、其中:

    FREQ 为 Fouta_FREQ、PLL_DEN 固定为1000、F_OSC 为100Mhz、OSC_2X 根据寄存器9计算得出、分频器值来自 CHDIV_SEG1、CHDIV_SEG2、CHDIV_SEG3

    Fvco =(freq *分频器);

    PLL_N_PRE = VCO_2X;

    fin =(Fvco *(VCO_2X + 1));

    PREN = 2*(PLL_N_PRE+1);

    Fpd =(MULT *(F_OSC/R)*(1+OSC_2X));

    FracN =(Fin/(FPD*prEN));

    N = floor (FracN);

    PLL_NUM = round (PLL_DEN*(分数 N - N));

    然后、根据数据表对寄存器进行编程:

    寄存器38.

    寄存器45.

    3.寄存器44.

    4.寄存器41.

    5.寄存器40.

    寄存器0