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.

[参考译文] LMX2594EVM:数字接口问题/设置频率

Guru**** 2589275 points
Other Parts Discussed in Thread: LMX2594, USB2ANY

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/775179/lmx2594evm-problems-with-digital-interface-set-a-frequency

器件型号:LMX2594EVM
Thread 中讨论的其他器件:LMX2594USB2ANY

您好!

我尝试通过 Raspberry Pi 上的 phyton 脚本控制 LMX。 为此、我使用 LMX 的数字接口连接了 Raspberry Pi GPIO 引脚。 要进行激励、请将线路连接到 CSB_TP、SDI_TP、SCK_TP (LMX2594 EVM 说明–具有集成 VCO 的15GHz 宽带低噪声 PLL、站点13、原理图)。 在检查 phyton 脚本中考虑的时序特性并在使用示波器进行传输期间检查所有线路的电压电平后、我没有其他错误的想法。 注意:我之前使用过相同的脚本来控制来自具有相同传输特性的模拟器件的信号发生器、它运行良好。 您是否有任何想法、为什么 LMX 没有反应?

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

    您是否首先使用了 Ticspro 来确保电路板正常工作?

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

    您好 Hao、

    感谢您的快速响应、它易于修复。 我只是没有发送左边的零、这是错误的。 现在、我正在解决 LMX 有时无法正确设置频率(初始化序列)的问题、尽管我遵循了数据表中的步骤。 我想我可以通过使用回读检查寄存器值来解决它。 但我想知道为什么 TCI 软件发送的速度相对慢、而不是限制值(时序要求、大约低400倍)。 这是有特殊原因吗?

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

    您好、Marcus、

    Ticspro/USB2ANY 是一款适用于我们所有 LMX/LMK 产品的通用工具。 其目的是正确配置部件、因此不关注数据传输速度。 SPI 传输速度单独测试。

    此致、

    Hao

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

    您好!

    我仍然无法进行通信。 对于初始化序列和频率更新序列、同样的问题是 LMX 有时不会做出反应或做了错误的事情。 我没有用回读来检查寄存器、因为我认为它不能解决我的问题。 我只检查了我提交的寄存器值。 我想执行50MHz 至15GHz 的频率扫描。 如果频率更新序列一次未成功更新、则无法成功重复更新。 在再次使用更新序列之前,我必须发送初始化序列。 假设我可以通过检查寄存器值来识别未成功的更新序列、这意味着我必须从存储所有寄存器值的频率重新开始。 由于这不是解决方案、我将选择我必须查明通信有什么问题。 您是否还会有一些想法? 该板可与 Tcispro 正常配合使用。

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

    您好、Marcus、

    我仍在尝试理解这个问题。 您是否意味着您完全无法与器件通信(SPI 问题)? 还是在遵循数据表中的"7.5.2更改频率的建议序列"后无法更改频率?

    您能否使用自己的微控制器至少成功加载 TI 默认寄存器?

    此致、

    Hao

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

    您好 Hao、

    通信正常、我可以首先使用 tcispro 存储的寄存器值(所有寄存器)设置频率、然后可以按照数据表中的"7.5.2更改频率的建议序列"更改频率。 但频率变化并不总是有效的。 如果不成功、我必须先使用存储的寄存器值设置频率、然后可以再次更改频率。 此外、使用 tcispro 中存储的寄存器设置频率(初始化)并不总是成功的。 因此、我假设通信仍然有问题、因为我检查了我发送到 LMX 的值。

    "TI 默认寄存器"是什么意思?

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

    您好、Marcus、  

    您如何知道频率变化不成功? 您是否查看频谱分析仪、观察电路板上的绿灯或使用锁定检测回读功能?  

    您说它有时不起作用。 您是否在不起作用时找到了图案? 例如、从频率 A 变为频率 B 时、它永远不会锁定。 如果您可以每次重现故障、您是否尝试使用 Ticspro 来执行相同的操作? 这是为了确保它仅是由于通信不良而不是任何其他原因。

    您可以在 Ticspro 左下角找到一个控制台窗口。 它告诉您根据您在 GUI 上执行的操作写入了哪些寄存器。 例如、在更改 GUI 上的频率后、会向器件写入几个寄存器。 确保您自己的代码与 Ticspro 所说的代码一致。

    默认情况下、我指的是 Ticspro 中的默认模式。

    此致、

    Hao

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

    您好 Hao、

    我可以在频谱分析仪上看到信号。 是的、我可以存储来自 Ticspro 的默认寄存器并成功执行建议的初始加电序列。 我还可以在 Ticspro GUI 中针对任何频率更改频率后执行该操作(再次导出十六进制寄存器值、向我的控制器发送所有寄存器)。 但它并不总是起作用。 它是完全随机的、因此有时使用 Ticspro 中存储的寄存器值进行完整扫描(将频率更改为多个不同的上升值)是成功的、有时在某些频率下也不成功。 但它始终是另一个不起作用的变化(例如、在第一个扫描频率 A 到 B 起作用、 频率 B 到 C 不起作用。 下一次扫描尝试频率 A 到 B 不起作用、 频率 B 到 C 起作用)。

    如果我执行建议的初始加电序列、而不是使用建议的序列更改频率、则行为相同(频率扫描与我刚才编写的示例类似)。 在这种情况下、我不使用 Ticspro 中存储的寄存器值来更改频率、而是我的控制器计算 N 分频器、PLL 分子和分母的值、并选择 OUT_A_MUX (输出:通道分频器或 VCO)和 CHDIV (选择通道分频器)的值。 按照此顺序发送以下值、以将频率从任何频率更改为7000MHz:

    0x2dc0df (R45、设置 OUT_A_MUX)

    04b0800 (R75、设置 CHDIV)

    0x240046 (R36、设置 PLL_N)

    0x2b0000 (R43、设置 PLL_NUM)

    0x270001 (R39、设置 PLL_DEN)

    0x00251c (R0、FCAL_EN = 1)

    这些值与默认寄存器值相同(也是 RFoutA = 7000MHz)、但 R39为0x2703E8、这不应相关、因为分子为零。 (0/1 = 0/1000)

    如何使用 Ticspro GUI 更改频率? 如果我编辑 RFoutA 字段中的值并按 Enter、频率将变为错误的频率。 它仅在我按下"Write All Registers"时设置正确的频率。

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

    您好、Marcus、

    要更改射频输出 A 的频率、您需要首先键入频率、按 Enter、然后切换 FCAL_EN、这是启用频率校准的简称。 如果您不切换该位、VCO 校准将不会运行。

    在继续使用您自己的控制器之前、请尝试此方法、并查看您是否至少可以在 Ticspro 中使用其他器件。

    此致、

    Hao

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

    您好 Hao、

    我可以使用 Ticspro GUI 更改频率、就像您多次告诉我的那样、没有任何问题。  

    要更改频率、我的控制器写入的值与 Ticspro do 相同、执行以下操作:

    - Ticspro 不会写入等于现有值的值,除了0x220000。 该寄存器我的控制器在任何时候都不会写入更改频率、因为它在建议的初始加电序列期间加载了0000、并且保持为零

    -当 R43或 R39写入新值时、Ticspro 会在 R42或 R38中写入零。 我的控制器不会在 R42或 R38中写入值、因为我只需要 PLL_NUM/PLL_DEN = 0/1和 PLL_NUM/PLL_DEN = 1/2

    -正如之前所述、我的控制器使用值 PLL_NUM/PLL_DEN = 0/1、 PLL_NUM/PLL_DEN = 1/2、而不是  Ticspro GUI 使用的 PLL_NUM/PLL_DEN = 0/1000和 PLL_NUM/PLL_DEN = 500/1000

    请记住、如果我使用"建议的初始加电序列"多次更改频率或写入默认寄存器、我会有相同的行为。 在本例中、我只需将 RESET 位更改为1、然后更改为0、然后写入 R112...R0、然后再次写入 R0 (0x00251C)。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Marcus、
    您似乎没有做错任何事情。 如果 R34 (0x22)始终为0、并且您至少在初始化期间对其进行了一次编程、则无需对其进行编程。 我认为还有其他东西没有了。 您是否在脚本中切换了 FCAL_EN 位?
    此致、
    Hao
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Hao、

    是的、我编辑了我的脚本、它在  0x251C (FCAL_EN=1)之前发送0x2514 (FCAL_EN=0)、但这没什么区别。

    是否可以将此帖子从"已解决"更改为"未解决"?

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

    我不能想到任何其他原因、因为您似乎做的一切都很好。 您是否曾尝试在寄存器未锁定/未锁定时读回寄存器、并比较这两者?

    此外、您使用的时钟频率是多少? 您能否降低时钟速度和/或在命令之间添加延迟以查看速度是否重要?

    此致、
    Hao
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不确定如何将帖子更改为"未解决"。 我在最后没有找到方法来实现它 也许您可以"提出相关问题"。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Hao、

    是的、我通过各种方式降低了速度:在寄存器之间、位之间设置一个大延迟(5ms)。

    我还没有回读例程。 是否可以使用 Ticspro 读回寄存器? 我会使用控制器设置频率、然后使用 Ticspro 回读。 我认为这不是因为以下步骤:

    1.我用 Ticspro 设置频率

    2.断开 USB2ANY 与电路板的连接

    3.在 Ticspro 中设置另一个频率

    4.再次将 USB2ANY 连接到电路板

    5.读回在步骤3中更改的寄存器 I

    6. Ticspro 控制台窗口始终显示"无差异"和"读取为值"。 该值当前在程序中(可以在"原始寄存器"中看到、在步骤3中设置)、但 实际上它不能在 LMX 的寄存器中?

    此外、如果点击"Read"或"Read Register"、甚至 USB2ANY 也未连接到电路板、则 Ticspro 控制台窗口会告知我相同的情况。

    此外、我还体验到、即使是 Ticspro 也没有成功地"写入所有寄存器"、或者只是在我更改频率并按 Enter 后通过切换 FCAL 来更改频率。 但这种情况非常罕见,这就是我以前没有这样做的原因。 我无法将频率从2000更改为2050 MHz、为3/10次。 之后、我无法复制它。 成功超过50倍。

    对于我的控制器、它大约是成功的2/10倍。

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

    您好、Marcus、

    是的、我同意让人困惑的是、Ticspro 即使在未连接时也会读回内容。 但是、如果它连接到有效的器件、它会读回有用的信息。

    例如、我完全按照您所说的内容进行了操作。 我使 PLL 锁定在7GHz、从 LMX2594上拔下带状接头、将频率更改为8G、重新连接带状线和回读。 有不同的值:  

    请确保回读时连接良好、否则回读相同的内容。

    读回时、请注意这些寄存器、因为它们会提供器件是否锁定以及如何锁定的信息。 有关这些寄存器的详细信息、请参阅数据表。

    在您能够读回寄存器后、请尝试在频率切换成功和失败时比较读回寄存器、并查看您是否可以找到任何线索。

    此致、

    Hao

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

    您好 Hao、

    我设法使用 Ticspro 和云进行回读、发现一些寄存器的值错误。 但我似乎最终可以通过使用控制器的电压电源(Raspi)而不是外部电压电源来解决这个问题! 现在它成功地设置了许多频率、而不成功设置了零。 非常感谢您的帮助!


    此致、

    Marcus

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

    此致、
    Hao