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.

[参考译文] UCD90160A:多系统看门狗超时故障记录问题解决方案所需的 UCD90160A 存储器映射。

Guru**** 2815505 points

Other Parts Discussed in Thread: UCD90160, UCD90160A

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1598439/ucd90160a-ucd90160a-memory-map-needed-for-multiple-system-watchdog-timeout-fault-logging-issue-workaround

器件型号: UCD90160A
Thread 中讨论的其他器件: UCD90160

我们对 UCD 进行了编程、以使用系统 WD 复位功能。 (如果微控制器未选通 UCD、UCD 将在微处理器上生成系统复位)
我们使用 UCD90160 已有 10 多年的历史。
UCD90160 和 UCD90160A 存在一个问题、即在我们清除故障日志后、它无法正确报告“新“系统 WD 超时。

请在我们的控制器上考虑以下描述 UCD 问题的顺序。

原始问题:
1.打开插卡
2.微停止在 UCD 上抢 WD。
3.(UCD 重新启动微型计算机)
4、Micro 读取故障日志(读取寄存器 0xEA)并在第 0 页中找到显示发生系统 WD 超时的“热“位(位 1)
5.使用[0 0 0]清除故障日志写入寄存器 0xEA
6.微停止 strobing WD 对 UCD。
7.(UCD 重新启动微型计算机)
8. Micro 读取故障日志(读取寄存器 0xEA)、但故障日志第 0 页错误报告 0x00(即系统 WD 事件不会显示在故障日志中)。


UCD90160 上支持多个 SYS WD 超时
解决上述问题的工作是在多年前交给我们客户组织的某个人的。
解决方法是使用 parm_info/parm_value CMD 对 UCD RAM 空间进行存储器 peek/poke。
此步骤在读取/清除故障日志后完成:
解决方法:
1.在“RAM 空间“中读取 0x0908 处的值
2.如果值@ 0908 的位 1 =1、则清除位 1 并将该值写回 UCD“RAM 空间“

以下是一些执行上述操作的 C 代码片段:
uint8_t WATCHDOG_STATUS_PARAM_reg[5]={0x00、0x08、0x09、0x01、0x01};
UCD_writeReg_v (UCD_I2C_ADDR、parm_info、watchdog_status_param_reg、sizeof (watchdog_status_param_reg));
UCD_readReg (UCD_I2C_ADDR、parm_value、2、dataVec);//必须是长度为 2 的块读取。
WATCHDOG_STAT=dataVec[1]; //寄存器值在 dataVec[1]中返回。
IF (WATCHDOG_STAT&0x02)

 WATCHDOG_STAT = WATCHDOG_STAT&(0xFD);
 writeVecData[0]=watchdog_stat;
 UCD_writeReg_v (UCD_I2C_ADDR、parm_value、writeVecData、1);
}

如何在 UCD90160A 上解决?

显然、此存储器 peek/poke 操作在很大程度上取决于 UCD 固件存储器映射。
我们需要检查/调整的值不再是 0x0908。
我们需要知道此新芯片和固件版本上的新内存位置/地址:
以下是 UCD90160A 的器件 ID 结果:
UCD90160A|2.4.3.0809|160916

换句话说、UCD90160A 上的等效存储器位置是什么、我们需要对其进行 peek/poke 和 poke 才能在这个新器件上实现权变措施。

谢谢
Shawn

附件是一个日志文件、显示两次连续的 wd 系统重新引导、其中第二次 wd 重新引导上的故障日志报告 0x00 而不是预期的 0x02
UCDU_A_resetreason_log_cleaned.txt 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好  

    对于 UCD90160A、请使用 0x09C7 地址。  

    此致

    颐和  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的快速响应。  我会尝试一下、并告诉您结果。

    -肖恩

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    新地址 按预期工作。

    谢谢

    Shawn