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.

[参考译文] LMX2491:数据表中关于编程顺序的指南不明确

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1322286/lmx2491-unclear-guideline-in-datasheet-regarding-programming-order

器件型号:LMX2491
主题中讨论的其他器件: LMX2492LMX2595

尊敬的 TI 支持团队:

"最终结果"问题描述:

我们编写了一个微控制器程序来将寄存器写入 LMX2491。 我们是在从寄存器0开始向上的循环中执行此操作的。 我们以这种方式编写的确切值已导出并解析为 C 代码(供我们的微控制器通过 TICS Pro 进行处理)。

我们(从外部)观察到、多次写入相同寄存器映射时、写入 PLL 的斜坡曲线会产生不同的输出(即不同的开始/结束频率)。 有时、斜坡向下移动了几(十分之一) MHz、有时上升、只有在(完全相同的寄存器映射的)第三个写入周期后、图像才"稳定"。

我们还使用回读功能(在每次单独的寄存器写入后!) 以确认此寄存器已正确写入 PLL。

我们所进行的调试操作:

我们没有逐一写入寄存器、而是尝试使用数据表中所述的"连续写入"方法、并发现这样做是 PLL"做它应该做的事情"、并且按顺序重复写入相同的寄存器映射不会导致观察到的"奇数"行为。

然后,我们试图使用我们的初始"写一一,检查后每个寄存器"方案,但从 R141(即最高)开始,事实上:执行写入"反向顺序"实际上解决了我们的问题,如上面所述。

请您:

LMX2491和 LMX2492数据表指出:

寄存器按从最高到最低的相反顺序进行编程。

我们首先了解到、该句子仅适用于"加载寄存器"中所述的写入"option"的单个块。

用户具有 选项 要拉 LE 端子、
高电平、或者继续发送数据、然后它会将该数据应用到下一个低位寄存器。 我们不需要发送
三个寄存器、每个寄存器24位、其中一个寄存器可以发送一个包含16位地址和24位
数据。 因此、如果需要、可以将整个器件编程为单个寄存器。

请考虑以下建议:

a)将句子更改为"必须以从最高到最低的相反顺序对寄存器进行编程"。

b)通常通过添加与 LMX2595数据表完全相同的"建议上电序列"来改进数据表:

7.5.1建议的初始上电序列
为实现最可靠的编程、TI 建议执行以下过程:
1.给设备加电。
2.编程 RESET = 1可复位寄存器。
3.编程 RESET = 0可删除复位。
4.按从高到低的相反顺序对寄存器进行编程、如寄存器映射中所示。
5.等待10毫秒。
6.在 FCAL_EN = 1的情况下、对寄存器 R0额外编程一次、以确保从一个
稳定状态。 (最后一步可能不适用于 LMX2491 / LMX2492系列?

您还能解释一下

c)为什么要用这种方式书写 反向 秩序有如此重要,为什么事情行为如此"奇怪",而不遵循这个规则?

d)是否存在配置为高电平有效的 可单独写入 是吗? 总是 写入所有142个寄存器?

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

    尊敬的 Andreas:  
    感谢您的建议、我们下次更新数据表时将考虑这一点。  
    但是是的、需要按降序进行编程。  

    出现这种情况的原因是在 R0中进行 VCO 校准、这将是最后一个寄存器。 任何修改 VCO 频率的寄存器更改都将需要重新校准、即切换 R0、因此按降序编程是合理的。  

    无法单独对某些寄存器进行编程? 答案是肯定的、但只能  之后 对所有寄存器进行编程。 例如、您初始化器件并加载某个配置、以及要更改分频器值的配置-例如、您只需要更改该分频器值所在的寄存器。 如前所述、如果您修改了可更改 VCO 频率的寄存器、则还需要切换 R0来重新校准 VCO、但您无需对所有142个寄存器重新编程。  

    此致、  

    维森特  

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

    您好、Vicente:
    感谢您的回答、并清楚地指出:"需要按降序编程"

    但是、我不理解该解释、因为 LMX2491上没有 VCO。 或者、您对 VCO 的"校准"究竟是什么意思?

    此外、我还不清楚在对其余寄存器进行编程之前是否可以、应该或必须写入一次复位寄存器(以相反顺序)。

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

    尊敬的 Andreas:  
    抱歉、LMX2491只是一个 PLL、不涉及校准。  
    然而是的、需要按降序对寄存器进行编程以确保 PLL 设置正确- DS 在编程部分对此进行了说明。  

    在编程之前对器件进行复位是一种好的做法、但不是一项要求。  

    此致、  

    维森特