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.

[参考译文] LMK5B12204:是否可以通过寄存器或写入 EEPROM 来"bick"器件?

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1523439/lmk5b12204-is-it-possible-to-brick-a-device-via-registers-or-writing-to-eeprom

器件型号:LMK5B12204

工具/软件:

如果是、是否有办法将其拆散?

我自己陷入了一种情况、现在我有3个器件(非 EVM)、无论寄存器设置如何、只输出随机突发的噪声。  我可以读回寄存器、除状态寄存器外、它们与写入的内容相匹配、但器件仍然只是输出噪声、状态寄存器基本上会丢失所有内容。  在 ROM 模式下、只需在每次下电上电后从主机写入寄存器即可。

   LOS_FDET_XO 错误       LOL_PLL2 TRUE       LOL_PLL1正确       LOS_XO 正确
    LOPL_DPLL 正确       LOFL_DPLL 正确         Hist False       HLDOVR true
    REFSWITCH 错误     LOR_MISSCLK 错误      LOR_FREQ 错误      LOR_AMP 错误
LOS_FDET_XO_INTR FALSE LOL_PLL2_INTR   TRUE LOL_PLL1_INTR TRUE   LOS_XO_INTR TRUE     
 LOPL_DPLL_INTR true LOFL_DPLL_INTR   true      HST_INTR FALSE   HLDOVR_INTR TRUE
 REFSWTCH_INTR 错误  LOR_MISSCLK_INTR 错误 LOR_FREQ_INTR      错误 LOR_AMP_INTR 错误
 MUTE_APLL2_LOCK  FALSE MUTE_DPLL_PHLOCK FALSE MUTE_DPLL_FLLOCK FALSE。 MUTE_APLL1_LOCK FALSE
 PLL1_VM_INDE 为真
 SECREF_VALSTAT FALSE   PRIREF_VALSTAT FALSE

我偶尔会发现一些可恢复操作的未知设置组合、但当我使用这些相同的寄存器对 EEPROM 进行编程(写入寄存器、SRAM 提交)并在 EEPROM 模式下重新启动时、我会返回到不良状态、甚至返回到 ROM 模式、再次写入完全相同的寄存器无法再次恢复操作。

在 TICS Pro 升级到 v1.7.9.0之前和之后、该接口上星期都可以正常工作、但本周早些时候我尝试写入用于使输出静音的寄存器、直到 DPLL 锁定到 EEPROM。  请参阅 LMK5B12204:在锁定前似乎无法将输出静音

我是个失败者。  任何见解都将不胜感激。

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

    您好、George、

    由于重要的校准寄存器受写保护、因此不可能使 EEPROM 砖化。

    您是否可以尝试在禁用静音的情况下对 EEPROM 进行编程? 如以下 TCS 文件:

    e2e.ti.com/.../LMK5B12204_5F00_XO_3D00_12.8M_5F00_REF_3D00_dontcare_5F00_MUTE_3D00_disabled.tcs

    请注意、上述 TCS 文件中的 REF 与您的原始设置不匹配、因为我们现在只想看到稳定的输出。

    此致、

    Jennifer

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

    没有帮助...  下面是我遵循的流程...

    • 在 TICSPro 1.7.9.0中、我打开了 TCS 文件、然后立即导出十六进制寄存器值
    • 对器件下电上电至 ROM 模式(HW_SW_CTRL 拉至高电平)
    • 使用我的 python 程序通过 I2C 写入该文件
      • 使用0xA7屏蔽掉寄存器12 (val 且=~0xA7)
      • 为寄存器 157,164写入0x00
      • 跳过寄存器353-435
      • 将0x80写入寄存器12
      • 将0x00写入寄存器12

    我在 OUT3上仍然会出现随机噪声

                RESET_SW false              SYNC_SW false       SYNC_AUTO_DPLL false       SYNC_AUTO_APLL false
               SYNC_MUTE false
             LOS_FDET_XO false             LOL_PLL2 true              LOL_PLL1 true                LOS_XO false
               LOPL_DPLL true             LOFL_DPLL true                  HIST false               HLDOVR true
               REFSWITCH false          LOR_MISSCLK false             LOR_FREQ false              LOR_AMP false
        LOS_FDET_XO_INTR false        LOL_PLL2_INTR true         LOL_PLL1_INTR true           LOS_XO_INTR true
          LOPL_DPLL_INTR true        LOFL_DPLL_INTR true             HIST_INTR false          HLDOVR_INTR true
          REFSWITCH_INTR false     LOR_MISSCLK_INTR false        LOR_FREQ_INTR false         LOR_AMP_INTR false
         MUTE_APLL2_LOCK true      MUTE_DPLL_PHLOCK false     MUTE_DPLL_FLLOCK false      MUTE_APLL1_LOCK true
          PLL1_VM_INSIDE true
          SECREF_VALSTAT false       PRIREF_VALSTAT false
      PRIREF_MISSCLK_DET 29
     PRIREF_EARLYCLK_DET 21
           PLL1_NUM_STAT 0
           

    接下来我将尝试对 EEPROM 进行编程。

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

    仍然没有帮助...  下面是我遵循的流程...

    • 在 TICSPro 1.7.9.0中、我打开 TCS 文件、然后立即返回到 EEPROM 页面并导出 EEPROM 指令
    • 对器件下电上电至 ROM 模式(HW_SW_CTRL 拉至高电平)
    • 使用我的 python 程序通过 I2C 写入该文件
      • 用0xA7屏蔽了寄存器12 (val 且=~0xA7)
      • 写入文件中的所有其他寄存器。
      • 写入了0x40至157
      • 将0xEA 写入164
      • 将0x03写入157
      • 等待157以清除为0x00 (几乎立即发生)
      • 将0x00写入164
      • 已断电
      • 下拉 HW_SW_CTRL
      • 已上电。

    我在 OUT3上仍然会出现随机噪声

    接下来我将尝试通过 SRAM 对 EEPROM 进行编程。

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

    通过 SRAM 写入 EEPROM 已正常工作!

    • 在 TICSPro 1.7.9.0中、我打开 TCS 文件、然后立即进入 EEPROM 页面并导出 EEPROM 映射
    • 对器件下电上电至 ROM 模式(HW_SW_CTRL 拉至高电平)
    • 使用我的 python 程序通过 I2C 写入该文件
      • 将所有 EEPROM_IMG_IDX 值读取到文件的数组中
      • 写入0至157和160
      • 块将所有249值写入寄存器162
      • 将0xEA 写入164
      • 将0x03写入157
      • 等待157以清除为0x00 (几乎立即发生)
      • 将0x00写入164
      • 已断电
      • 下拉 HW_SW_CTRL
      • 已上电。

    得到了预期的正常但未同步的10MHz。

    作为测试、我使用上面的方法1再次对 EEPROM 进行编程并获得噪声输出。  通过 SRAM 再次编程会使其恢复正常。

    认为方法1序列没有任何问题。  我完全按照第9.5.5节和第9.5.6.1节中的说明进行了操作。  在任何情况下,我已经恢复了我的设备,并可以成功地通过 SRAM 编程。

    谢谢 所有信息 珍妮弗!!