Other Parts Discussed in Thread: LMK03318, LMK05318B
器件型号: LMK03318
Thread 中讨论的其他器件: LMK05318B
使用 Lmk03318 I2C 通信写入块寄存器数据、但每次都需要在上电时编程、 尝试写入 EEPROM 写入函数但未发生写入、PLL 也不会锁定、PLL 也需要锁定、但所需的寄存器我正在设置、请告诉我问题的任何示例或可能的解决方案
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.
尊敬的 Swathi:
您能与我分享 hex.txt 或.tcs 文件吗? 我想查看您的配置、了解 PLL 锁定问题
要 根据数据表第 10.5.5 节写入 EEPROM、您首先需要确保写入 SRAM 过程已完成、以便将寄存器 设置提交到 SRAM。 接下来、您将向 R144 写入 0xEA、向 R137 位 0 写入 1。 完成这些步骤后、R136 将递增 1、 其中包含已成功完成的 EEPROM 编程周期总数。 然后将 R144 写入 0。
如果 R137 位 5 回读为 1、则意味着 EEPROM 写入未成功、器件将被锁定并无法正常运行、您必须执行 另一个 EEPROM 写入序列 、应 启动 并成功完成才能解锁 器件。

此致、
Sandra
尊敬的 Swathi 和 Sandra:
总体而言、EEPROM 写入例程看起来不错。
但“在 EEPROM 写入期间、R137.2 为 1 “意味着如果您读取 R137、位 2 的值将为 1。
因此、如果未设置其他位、读取 R137 将导致 00000100b = 0x04。
应该做
{
状态= readReg (137);
延迟 (20);
} while(状态& 0x04 );
另外、请注意不会覆盖 R137 中 NVMAUTOCRC 位的默认值。
否则必须手动计算 CRC。
如果存储的 CRC (R135 NVMSCRC) 等于计算出的实时 CRC (R138 NVMLCRC)、则 EEPROM 页面有效
加载页面后可以读取 NVMCRCERR 位、以验证加载是否正确。
此致、
Octo
如果您将此步骤更改为“writeReg (137、0x10 + 0x01);“、则同时 设置 NVMAUTOCRC 和 NVMPROG。
这将在 EEPROM 编程时自动计算 CRC。