您好、TI
实现 SM [CRC on Register Map]时遇到问题。
我们通过设置 General_REG_1.REG_CRC_EN = 0b1来启用 SM、以检查 CRC。 但软件将被复位、我可以从日志中获取的唯一信息是"Reading on-board EEPROM at 0x51 failed 1"
那么、您是否有任何建议、为什么会出现该问题? 在设置寄存器之前、我是否要执行任何必要的步骤?
谢谢!
Zhihua
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.
您好、TI
实现 SM [CRC on Register Map]时遇到问题。
我们通过设置 General_REG_1.REG_CRC_EN = 0b1来启用 SM、以检查 CRC。 但软件将被复位、我可以从日志中获取的唯一信息是"Reading on-board EEPROM at 0x51 failed 1"
那么、您是否有任何建议、为什么会出现该问题? 在设置寄存器之前、我是否要执行任何必要的步骤?
谢谢!
Zhihua
尊敬的 Zhihua:
FYI、TPS659411F0RWERQ1和 TPS659413F0RWERQ1是过时的未发布器件。 更新发布的 PDN 为 TPS65941111RWERQ1、具有 TPS65941213RWERQ1。
我建议通过设置 RUN_CRC_UPDATE (将0x02写入寄存器0xEF)来更新 CRC。
然后、在2ms 延迟(最大 CRC 计算时间)后、设置 REG_CRC_EN 位。
谢谢、
Daniel W
你好、Daniel
我再次检查 OPN、很抱歉、出现错误信息。 下面是 OPN 编号: TPS65941212RWERQ1和 TPS65941111RWERQ1。
寄存器设置问题。 我将 RUN_CRC_UPDATE 设置为0x2、并等待2ms 以上。 执行"General_REG_1.REG_CRC_EN = 0b1"时、SW 复位。
然后、我检查 RUN_CRC_UPDATE 寄存器以确认我成功写入0x2、但根据数据表、该寄存器会自动清零。
那么、您有什么建议吗?
谢谢!
Zhihua
尊敬的 Zhihua:
感谢您的更新。 请在软件复位后读取中断。 这将有助于 PMIC 看到的内容。 下面的链接描述了中断读取。
谢谢、
Daniel w
你好、Daniel
根据您的重播中的建议。 复位后、我检查了寄存器 INT_TOP、INT_FSM_ERR 和 INT_ESM。
INT_TOP = 0x18、INT_FSM_ERR = 0、INT_ESM = 0;
针对 INT_TOP。 我检查寄存器 INT_MISC 和 INT_STARTUP。
INT_MISC。 BIST_PASS_INT 和 INT_STARTUP。 ENABLE_INT 置1。 我没有发现任何奇怪的东西。
有什么建议吗?
谢谢!
Zhihua
你好、Daniel
由于 INT_TOP.MODE_ERR_INT 未设置、因此我假设 REG_CRC_ERR_INT 也未设置。 但我检查 REG_CRC_ERR_INT 的复位状态是否为0。 那么、假设由于 CRC 错误而发生关闭序列、 我们能否在复位后获得 REG_CRC_ERR_INT 设置?
应检查哪个 PIMC 输出、nINIT 引脚?
谢谢!
Zhihua
你好、Daniel
很抱歉、上面有一些错误信息。 我在读取错误寄存器的测试步骤中发现了一些错误。 (INT_TOP、 INT_FSM_ERR..)、如果软件复位、测试环境也会关闭 PMIC。 因此、我调节测试环境以保持电源供电并再次执行测试。 那么、复位原因是 CRC 不匹配!
因此、如果默认启用了针对寄存器的 CRC、为什么在我设置 General_REG_1.REG_CRC_EN = 0b1时它会产生影响、 为什么不提前呢? 如果默认情况下未启用、我是否应在初始化阶段结束时计算 CRC、然后启用 CRC 校验?
可以给我一些建议吗?
谢谢!
Zhihua
尊敬的 Zhihua:
由于美国的感恩节假期、我们的 TPS6594x-Q1专家本周已不在办公室。 请预计下周初会有延迟的回复。 提前感谢您的耐心等待。
但如果可能、我会尝试帮助您解决这个问题。 在 TPS65941212RWERQ1和 TPS65941111RWERQ1器件中、默认情况下 REG_CRC_EN = 1、因此无需再次启用它。 此外、由于 REG_CRC_EN 位在配置寄存器中、并且在正常运行模式中禁用了写入访问位、因此无法禁用该位。
那么、我的问题是、如果已启用 REG_CRC_EN 位、访问该位的原因是什么?
此致、
Jari
你(们)好
感谢您提供相关信息。 让我解释一下背景。
首先、我不知道 默认设置了 REG_CRC_EN。 因此、我尝试通过设置 REG_CRC_EN = 1来启用此功能。 但在我设置寄存器后、SW 将立即复位。 因此、我提出这个 TT。 丹尼尔提出的建议(参看上文的讨论)。 我想确认这个特性被启用、所以我读出 REG_CRC_EN、但是它是0。 因此、我有点困惑、不确定它是否真正启用。 此外、我还与 Daniel 进行了核对、即使我 再次将 REG_CRC_EN 设置为1、也不会导致复位。
到目前为止、我仍感到困惑
由于 已启用 REG_CRC_EN、 为什么 REG_CRC_EN 回读为0?
谢谢!
Zhihua