TI论坛
直播中

gvxiaot

14年用户 1221经验值
私信 关注
[问答]

TPL0102执行的配置数据, Non-volatile保存不成功的原因?


  • 通过 I2C 向 TPL0102 的 addr-00 寄存器 写入 0x55, 电阻 调整正常; 此时, 读取 addr-00 的信息, 也能 读取得到 0x55.
    但是, TPL0102 掉电重启以后, 从 addr-00 寄存器 读取的 信息, 是 芯片的 默认值, 不是 配置的 0x55。
    我 也做过 下面这些 调试操作:
    * 默认情况下, addr-10 的默认值 是 0x40; 这个状态下, 向 addr-00 写入 0x55, 读取值 是 0x55;
    * 然后, 我将 addr-10 修改为 0xC0, 读取 addr-00 是 0x55; 然后 我向 addr-00 写入 0x33, 然后 读取 addr-00 得到 0x33;
    * 我再将 addr-10 修改为 0x40; 此时, 读取 addr-00, 得到的 数值是 0x55
    (上面的理解:addr-10 分别为 0x40 和 0xC0, 对应于 Non-volatile 和 Volatile)
    * 将 TPL0102 关电再上电, 此时 读取 addr-00, 读取值 是 默认值, 不是 我 曾经写入的 0x55 或者 0x33
    请问, 是否 还需要 先做 哪些配置, 才能 使得 写入到 addr-00 寄存器的 信息, 能够 被 顺利 保存, 不会 因为掉电 而 失去?

回帖(1)

丁冬芹

2024-12-12 17:56:44
TPL0102是一款非易失性存储器,用于存储配置数据。根据您的描述,您在向TPL0102的addr-00寄存器写入0x55后,读取值也是0x55,但在掉电重启后,读取的值变成了芯片的默认值。这可能是由以下几个原因导致的:

1. 写入操作未完成:在写入数据到TPL0102时,需要确保写入操作已经完成。您可以尝试在写入数据后添加一个延时,以确保写入操作已经完成。

2. 写入保护:TPL0102可能具有写入保护功能,以防止意外写入。您需要检查TPL0102的数据手册,了解如何正确地禁用写入保护。

3. 电源问题:如果TPL0102的电源不稳定或电压不足,可能导致写入操作失败。请检查电源供应是否稳定且电压符合TPL0102的要求。

4. I2C通信问题:I2C通信可能存在问题,导致写入操作未能正确执行。请检查I2C总线的连接和通信是否正常。

5. TPL0102硬件问题:如果以上原因都排除了,那么可能是TPL0102本身存在硬件问题。您可以尝试更换一个TPL0102芯片,看是否能解决问题。

针对您提到的调试操作,您可以尝试以下步骤:

1. 确保写入操作完成后再进行读取操作,可以添加延时。

2. 检查TPL0102的数据手册,了解如何正确地禁用写入保护。

3. 检查电源供应是否稳定且电压符合TPL0102的要求。

4. 检查I2C总线的连接和通信是否正常。

5. 如果以上步骤都无法解决问题,尝试更换一个TPL0102芯片。

希望以上建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们进一步分析。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分