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.

[参考译文] LMK5C33216:EEPROM 实时编程

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1297396/lmk5c33216-eeprom-live-programming

器件型号:LMK5C33216

团队、  

我的客户有以下问题。   

我们有一个关于 LMK5C33216 EEPROM 的问题。  它工作正常、我们可以对其进行读取/写入。  

我们要做的是对其进行清除、这意味着进行一些已知的读取和写入来验证所有 NVM/EEPROM 寄存器的状态。  

 

现在的困境是、如果我们写入一个特定的时钟输出并将其所有寄存器设置为0x00或0xFF、FGA 会关闭控制/写入 LMK 的时钟。  

 

团队是否知道一种直接写入 NVM 的方法、而不会中断时钟、从而使时钟保持运行、并进而使 FPGA 保持运行?

此致、

亚伦

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

    大家好、Aaron

    您可以使用 SRAM 直接写入方法。 因此、您可以直接对 SRAM 进行写入、而不会干扰当前寄存器设置。 然后 SRAM 转换为 EEPROM。 有关更多指导、请参阅此 PDF。

    e2e.ti.com/.../5707.Programming-LMK5Cxxxxx_2C00_-LMK5Bxxxxx_5F00_Nov32023.pdf

    此致、

    珍妮弗

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

    感谢您推荐 SRAM 直接写入方法。 为了快速地将0xFF 写入所有 EEPROM 寄存器、 NVMERASE 是否起作用?  

    例如、以下寄存器写入是否会导致 EEPROM 存储器全部写入0xFF?


    写入0x00B4EA # NVM 程序解锁

    写入0x00AB02 # NVM 擦除开始

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

    尊敬的 Chase:

    让我本周回顾一下。 请注意、如果客户计划从 EEPROM 启动(已启用 EEPROM 覆盖)、则不建议将 EEPROM 设置为全部0xFF。

    此致、

    珍妮弗

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

    Jennifer、您好!

    感谢您查看擦除方法、但现在我想我可以向几乎所有非保留寄存器写入0xFF。 我似乎无法设置的一个寄存器是 R21的位6。  

    我当前正在运行以下

    写入 R25 0x001901 #同步启用

    写入 R21 0x001540 #软件同步断言

    在回读 R21时、我只看到它返回值0x00。 在 SYNC 生效后、R21是否会立即恢复到0x00、或者我是否可以执行其他操作来将 R21的第6位设置为1并读回它?

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

    尊敬的 Chase:

    使用 SRAM 方法进行写入时、需要通过下电上电来更新寄存器值、然后再读回。

    您是否先循环通电、然后读回 R21?

    -Riley

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

    Riley、您好!

    我已经在完成下面两次写入后尝试下电上电、但即使在下电上电后、0x0015也回读了值0x00。

    写入 R25 0x001901 # SYNC_EN=1

    写入 R21 0x001540 # SYNC_SW=1

    但是、我的印象是这两个写入操作将通过 REGCOMMIT 方法完成、因为我将分别写入0x0019和0x0015。

    如果我要通过 SRAM 方法将值0x40写入0x0015、以下方法是否应该解决问题? (我也尝试该 SRAM 方法失败)

    R20  0x001480
    R40  0x00AB40
    R173 0x00AD00
    R174 0x00AE0F #SYNC_SW  
    R176 0x00B040 #SYNC_SW=1
    R180 0x00B4EA
    R171 0x00AB03
    R180 0x00B400

    下电上电并读取0x0015、但它返回0x00、而不是0x40。

    在我的 REGCOMMIT 或 SRAM 方法尝试将值0x40写入0x0015时、是否缺少某些内容?

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

    尊敬的 Chase:

    是否使用 TICS Pro 软件来写入这些寄存器?

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

    如果是这样、您可以直接将1/0写入寄存器位:

    -Riley

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

    Riley、您好!

    我能够在 LMK5C33216EVM 开发板上使用 TICS Pro 软件设置 R21。 但是、当我尝试在目标电路板上执行等效的寄存器写入操作时、我无法将0x40写入 R21。  

    是否有任何其他寄存器或硬件配置会阻止我将0x40写入 R21?

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

    尊敬的 Chase:

    可以通过2种方法对器件进行编程:

    -对 LMK 寄存器的直接写入(或 REGCOMMIT 方法)。 此项使用 LMK 寄存器映射 如编程手册中所示。

    - SRAM 方法使用 SRAM/EEPROM 寄存器映射  这与 LMK 寄存器映射不同。

    SYNC_SW 上的地址 ON:

    - LMK 寄存器映射:R21 (偏移量0x15)位6

    - SRAM/EEPROM 寄存器映射:地址15 (0xF) 位7

    因此、若要通过 SRAM WRITE 访问 SYNC_SW、您需要通过以下步骤访问地址0xF:

    R20  0x001480
    R40  0x00AB40
    R173 0x00AD00
    R174 0x00AE0F #SYNC_SW  
    R176 0x00B080 #SYNC_SW=1
    R180 0x00B4EA
    R171 0x00AB03
    R180 0x00B400

    请告诉我这是否起作用。

    -Riley

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

    Riley、您好!

    谢谢详细介绍了 SRAM 编程的替代寄存器映射、但在这些 寄存器写入之后 、仍然没有将 R21的位6设为高电平。

    R20  0x001480
    R40  0x00AB40
    R173 0x00AD00
    R174 0x00AE0F #SYNC_SW  
    R176 0x00B080 #SYNC_SW=1
    R180 0x00B4EA
    R171 0x00AB03
    R180 0x00B400

    (然后在读取 R21之前进行下电上电)

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

    尊敬的 Chase:

    看起来两种编程方法都能在 EVM 上工作、但不能在目标板上工作。

    我需要内部讨论并与您联系。

    这种情况是否只会随 SYNC_SW 或其他情况发生? 例如、如果您可以对 EEREV 进行编程并确认与电路板的通信是 SRAM 会正确更新此 EEREV?

    -Riley

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

    Riley、您好!

    我只是在 SYNC_SW 上看到此问题。 所有其他 EEPROM 位我已经能够通过 SRAM 方法或 REGCOMMIT 方法在1和0之间切换。 感谢您帮助我调试此问题并将其带回您的团队。

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

    当然可以。 一旦我发现该位的问题、我将会更新。

    -Riley

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

    作为后续行动、我在目标上看到 TIC 上出现了类似的行为。  

    仅当我打开 USB 通信>接口并将协议设置为 SPI_CLKLOW 时,才会发生这种情况。

    然后、当我 写入寄存器 0x001540然后读取寄存器时、它返回0x001500。

    在 使用 SPI_CLKLOW 接口时是否需要设置任何其他寄存器来启用0x0015以保持值0x40、或者您是否知道这种行为为什么会发生?

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

    尊敬的 Chase:

    谢谢您将范围缩小至 SPI。 我已经通过 I2C 进行了检查、没有问题。 我将在 SPI 中复制该问题并返回我的观察结果。

    -Riley