主题中讨论的其他器件: CODELOADER
您好,
我们在自己的主板上使用 CPU 通过 IIC 控制 LMK03318、
使用 GUI 生成的十六进制配置可以获得所需的时钟、
但不能写入 EEPROM、断电后再上电时没有时钟输出。
我们遵循 数据表中的'10.5.4 Write SRAM'和'10.5.5 Write EEPROM'。
但 R136寄存器始终为0x1。
HW_SW_CTRL 为 H
GPIO[3:2] 是 HH
调试有什么好主意吗?
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.
您好,
我们在自己的主板上使用 CPU 通过 IIC 控制 LMK03318、
使用 GUI 生成的十六进制配置可以获得所需的时钟、
但不能写入 EEPROM、断电后再上电时没有时钟输出。
我们遵循 数据表中的'10.5.4 Write SRAM'和'10.5.5 Write EEPROM'。
但 R136寄存器始终为0x1。
HW_SW_CTRL 为 H
GPIO[3:2] 是 HH
调试有什么好主意吗?
您好!
感谢您的回复。
1)。 我设置 HW_SW_CTRL = L、但问题未得到解决。
2)。 是的,我 按照 第一个步骤操作
'1. 对器件寄存器进行编程、以匹配所需的设置。
2.向 R145[3:0]写入一个有效的 SRAM 页(0至5)以提交当前寄存器数据。
3.向 R137.6写入1。 这可确保器件寄存器被复制到所需的 SRAM 页。
4.如果需要将另一个器件设置写入不同的 SRAM 页、请重复步骤1-3并选择
未使用的 SRAM 页。''
写入 SRAM
(R145) 0x91写入0x5
(R137) 0x89 写入0x40
3).确保 写入 R145[3:0]= 0x5。
4). EEPROM 写入后读取寄存器 R137、R137=0x11、因此 R137.5=0
5).使用生成的十六进制文件、通常可以通过 IIC 生成所需的时钟信号。
因此、I2C 数据传输 应该没有问题。
您是否有更多解决此问题的建议??
此致
川杰
你好,
此编程过程看起来正常。
EEPROM 编程后、寄存器回读的 R137.0 = 1、这可能意味着 EEPROM 数据传输在锁定 EEPROM 之前未完成。 将0xEA 写入 R144、然后将0x11写入 R89 (解锁 EEPROM、然后对 EEPROM 进行编程)、在将0x00写入 R144 (锁定 EEPROM)之前、请等待至少230ms 以完成 EEPROM 编程周期。
随附的是一个电子表格、可用于为 LMK03318生成寄存器编程序列。 请注意、电子表格不使用 REGCOMMIT 方法、而是直接写入 RAMDAT 寄存器(数据表第10.4.4节中的过程#2)。
此致、
通道
e2e.ti.com/.../3857.LMK033x8_5F00_EEPROM_5F00_programming_5F00_v1.xlsx
您好、Lane、
1、μ s " 将0xEA 写入 R137然后将0x11写入 R89 (解锁 EEPROM 然后对 EEPROM 进行编程)后、至少等待230ms 以完成 EEPROM 编程周期、然后再将0x00写入 R137 (锁定 EEPROM)。" ,在您的 mai 中,内容与数据表不同。 数据表是"将0xEA 写入 R144。 这为 EEPROM 的意外编程提供了基本保护。 (10.5.5)",为什么?
2、我们 根据 您的建议直接写入 RAMDAT 寄存 器、等待几分钟、但 R137始终为0x11、R137.0 NVMPROG 位不会自动清零。 为什么?
[0] | NVMPROG | RWS C | 0 | N | EEPROM 程序启动。 NVMPROG 位用于启动片上 EEPROM 擦除/编程周期。 只有当前面的 I2C 事务是用适当的代码写入 NVMUNLK 寄存器时、擦除/编程周期才会启动。 NVMPROG 位自动清零。 EEPROM 擦除/编程操作大约需要230ms。 |
你好,
这是一个拼写错误、我是说将它写入 R144 (0x90)。 我刚刚编辑了我的最后一个帖子以更正此问题。
2. R137.0位(NVMPROG)在~230ms 后自动清零。 如果此位从未清除、则可能是问题的原因。 问题可能是部件损坏。 您是否尝试对另一个器件的 EEPROM 进行过编程?
另一种可能是中断 EEPROM 编程序列:NVM 解锁和 NVM 程序写入命令必须是原子写入。 这两个 NVM 解锁/编程命令之间不能存在任何其他 I2C 命令(读取或写入、即使是对 I2C 总线上的其他器件的读取或写入)。
按照此顺序操作时、无法在之间插入其他读取/写入命令、或者 EEPROM 可能无法成功编程。 将0xEA 写入 R144后,下一个 I2C 传输必须写入0x11到 R89,下一个 I2C 传输必须写入0x00到 R144。
除此之外、编程前和编程后读回 EEPROM 可能会有所帮助、以查看是否有任何更改。
此致、
通道