主题中讨论的其他器件:CDCE6214
我尝试了用 C 手动编程、并按照数据表中的标准编程顺序使用 I2C 对 CDCE6214进行编程、但看到 CRC 未成功更新为"R10":nvmscrc。
我尝试使用 TICS Pro v1.7.5.7通过两种方法进行编程:"直接 EEPROM 访问"和"寄存器内容传输"、但我看到 CRC 也没有成功更新到"R10"。
这是我要发送至 burne2e.ti.com/.../HexRegisterValues_5F00_dp_5F00_good.txt 的寄存器映射
以下是刻录过程:
- 在"原始寄存器"工具页面中:
- 点击"Import Register Map"以加载上述文件、确认所有寄存器与上述文件相同。
- 点击"Write All Registers"
- 在"EEPROM"工具页面中:
- 选择"page1"(I 已确认 HW_SW_SEL 引脚= 1、REF_SEL 引脚= 1)
- 勾选"update_crc"
- 点击"Register to EEPROM"按钮
最后、我查看了"原始寄存器"工具页面:R14 = R9 = 0xA95B,但 R10 = 0xE20F。 我预计 R10应与 R9相同。 因此、我检查了 R7 = 0xC2D、Bit5 (CRC 错误)= 1、这意味着发生 CRC 错误!
我再次从2.a 尝试上述序列到2.c、然后检查 R10=0xA95B、它更新了!
我的问题是:
- 为什么 R10在我的第一次刻录时未更新为0xA95B?
- 为什么 R10在我的第二次燃烧时正确更新,特别是我应该重复表2.a 至2.c,而不是1.a 至2.c(我尝试从1.a 至2.c,但它再次失败! 当我尝试2.a 时、它碰巧是成功的)?
- 如果我用 C 语言编写自己的程序序列、我应该使用以下序列吗?
- 加载文件和写入寄存器
- 解锁
- 触发更新 CRC
- 触发提交到 EEPROM
- 将0x3F 写入 wr_addr、将 CRC 从 R9写入 wr_data
- 比较器 R9=R10
- 如果不是:从 c.到 f 重复该过程,直至 R9=10。