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.

[参考译文] LMK04832:TICSPro v1.7.7.10导出文件中存在错误的十六进制寄存器值

Guru**** 2391395 points
Other Parts Discussed in Thread: LMK04832, LMK04832-SEP, LMK04832-SP

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1483633/lmk04832-wrong-hex-register-values-in-the-exported-file-with-ticspro-v1-7-7-10

器件型号:LMK04832
主题中讨论的其他器件: LMK04368-LMK04714-Q1、、、EP

工具与软件:

我要使用 TICS POR v1.7.7.10导出十六进制转储文件。

File->Export hex 寄存器值

此处复制输出文件的摘录(随附):

R388 0x016600
R389 0x016700
R392 0x016804
R360 0x016801

如您所见、第一列十进制寄存器索引与第二列中的十六进制值不同。

例如、R388应该是 R358、因为0x166 = 358。 该寄存器部分与 PLL2_N 寄存器相关。

同样、最后一行是上一行的副本、十进制值右、但寄存器内容不同。

 我还测试了 v17.7.6、但生成了相同的文件。

e2e.ti.com/.../lmk04832_5F00_default_5F00_config.txt

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

    尊敬的 Luca:

    我可以看到您的问题、但我无法在我自己的 TICS Pro 版本中复制。 您可以尝试重新下载 TICS Pro 吗?

    https://www.ti.com/tool/PLLATINUMSIM-SW#downloads

    谢谢!

    Michael

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

    您好、Michael:

      我再次进行了全新版本1.7.7.10的测试。

      相同的结果。

      我附上我的项目、以便您可以对其进行实验。

    e2e.ti.com/.../lmk04832_2D00_a40.tcs

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

    这是一个令人恼火的细微错误、当较新版本的配置文件更改原始寄存器页面中的寄存器顺序时会出现、再加上多年前做出的另一个令人恼火的决定、即将协议作为一个串联数字混合到导出的数据中。

    旧版本的 LMK04832配置文件具有不同的寄存器顺序、会将整个 N 分频器(R358、R359、R360)放置在寄存器映射的背面。 这样做的原因有几个:

    • 寄存器映射中的顺序还决定了 WRITE ALL 和 READ ALL 寄存器操作所使用的顺序。
    • 写入时、PLL2_N 分频器 LSB 会触发 VCO 校准。
    • 控制 PLL2元件电源的位、如电荷泵、VCO 和后分频器、都在后续寄存器(R371)中。
    • 这些位的几个默认 POR 状态会阻止校准成功完成

    当寄存器在校准事件和后续可能干扰校准的字段之间写入时、这会产生竞争条件。 对 VCO 校准的干扰会降低相位噪声和温度稳定性。 快速权变措施是将所有包含 PLL2_N 的寄存器放在寄存器映射的背面。

    但是、只有 PLL2_N (R360)的 LSB 在写入时触发校准。 因此、无需错序 R358或 R359、它们在 LMK04832系列中的其他器件(LMK04832-SP、LMK04832-SEP、LMK04368-LMK04714-Q1 EP)发布时移回。

    在更好的环境中、我们会单独存储地址和数据组成部分。 相反、TICS Pro 可以导出.TCS 文件和十六进制寄存器导出、其中地址和数据组件打包在一起、就像组件被串行化以进行协议写入一样。 由于从来没有人考虑过如果旧配置和寄存器导出中的寄存器顺序与新配置中的寄存器顺序不匹配会发生什么情况、因此 TICS Pro 会在几次迭代中错误地假设寄存器的名称(例如 R388)始终正确。 因此、在加载配置或导入十六进制寄存器时、如果寄存器名称与值不匹配(例如0x16600)、我们会将整个值加载到原始寄存器页面、包括不正确的地址分量。 随后可能会将其与不匹配的寄存器名称一起导出、并传播到其他 TICS Pro 实例、通常会造成混乱、直到发现并修复导致混乱的原因。

    在 TICS Pro 的现代版本中、预计有以下行为:

    • TCS 文件中的名称/值不匹配:名称被忽略、地址组件从该值反序列化、如果存在匹配的地址、则将寄存器加载到匹配的地址、或在结束时跳过、并在活动日志中显示通知。
      • 我通过将您的 TCS 文件加载到 TICS Pro 1.7.7.10中、确认此行为符合预期。 我在您的 TCS 文件中观察到、数据包括几个错误标记的寄存器(R358、R359、R360);但是、活动日志在加载过程中正确记录了这些寄存器的正确值。 同时跳过目前缺少的寄存器 R364和 R365、这些寄存器在上述配置文件更新过程中可能被移除。
      • ...
        [MODES]
        NAME00=R0 (INIT)
        VALUE00=144
        NAME01=R0
        VALUE01=0
        ...
        NAME119=R386
        VALUE119=98816
        NAME120=R387
        VALUE120=99073
        NAME121=R358
        VALUE121=91648
        NAME122=R359
        VALUE122=91904
        NAME123=R360
        VALUE123=92161
        NAME124=R1365
        VALUE124=349440
    • 十六进制文件中的名称/值不匹配:类似的行为、但记录了错误标记的寄存器。
      • 同样、我通过将不匹配的十六进制导出文件加载到 TICS Pro 1.7.7.10中、确认了此行为符合预期。

    TICS Pro 1.7.7.10的行为符合预期、我没有看到通过保存或导出来传播出1.7.7.10名称和值之间是否存在任何错误的不匹配。

    那么、为什么现代版本的 TICS Pro 会产生不正确的行为呢?

    • 您是否确定您使用的是您认为您正在使用的 TICS Pro 版本? 您可以在 Help -> About TICS Pro 菜单中检查版本。
    • 您是否使用自定义的"用户设备"配置文件而不是正常配置文件? 用户设备配置文件显示在 Select Device (选择设备)-> User Devices (用户设备)子菜单下;如果该子菜单显示为灰色、则您使用的是内置设备配置文件、从而消除了这种可能性。
    • TICS Pro 在会话之间保存状态文件。 这个保存的状态应该被视为与 TCS 文件相同、但我不知道该文件是否与之相关。 您可以尝试删除这个文件、它位于"C:\ProgramData\Texas Instruments\TICS Pro\Configurations\Devices\Clock Generator-Jitter Cleaner (Dual Loop)\LMK04832\LMK04832.tCB"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Derek:

      感谢您的解释。

      -我正在使用 TICS Pro v1.7.7.10 :已选中关于 TICS Pro 菜单和启动时的窗口窗格。

      -"用户设备"显示为灰色,因此使用内置设备。

      -我已经删除了.tcl 文件,重新启动 TICS Pro 和加载项目 TCS ,导出到 hex =>相同的输出文件。

       我注意到.tcl 已经被重新创建、它与被删除的那个相同。

      

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

    非常有趣。 您能否滚动到 Raw Registers 页面的底部并截屏?