AFEx32A3W 提供了一项功能,可在 FAULT-DUMP 位触发时或映射到故障转储的 GPIO 触发时(另请参阅表 6-9)将几个寄存器内容保存到 NVM 中。此功能在系统级故障管理中非常有用,可用于捕获就在故障触发之前的器件或系统状态,以便在故障发生后进行诊断。故障转储触发时保存的寄存器为:
- CMP-STATUS[7:0]
- DAC-0-DATA[15:8]
- DAC-1-DATA[15:8]
- DAC-2-DATA[15:8]
- ADC-DATA [15:0]
注: 在故障转储期间,数据中的任何更改都会破坏最终结果。确保比较器和 DAC 代码在 NVM 写入周期期间保持稳定。
表 6-4 展示了 NVM 中寄存器的存储格式。
表 6-4 故障转储 NVM 存储格式
NVM 行 |
B31-B24 |
B23-B16 |
B15-B8 |
B7-B0 |
行 1 |
CMP-STATUS[7:0] |
ADC-DATA[15:0] |
不用考虑 |
行 2 |
DAC-2-DATA[15:8] |
不用考虑 |
DAC-0-DATA[15:8] |
DAC-1-DATA[15:8] |
故障转储后在 NVM 中捕获的数据可按特定顺序读取:
- 将 COMMON-CONFIG 寄存器中的 EE-READ-ADDR 位设置为 0b,以选择 NVM 的行 1。
- 通过向 COMMON-TRIGGER 寄存器中的 READ-ONE-TRIG 写入 1 来触发所选 NVM 行的读取;该位会自动复位。此操作会将数据从选定的 NVM 行复制到 SRAM 地址 0x9D(LSB 16 位来自 NVM)和 0x9E(MSB 16 位来自 NVM)。
- 要读取 SRAM 数据,需按照以下步骤操作:
- 将 0x009D 写入 SRAM-CONFIG 寄存器。
- 从 SRAM-DATA 寄存器中读取数据以获得 LSB 16 位。
- 将 0x009E 写入 SRAM-CONFIG 寄存器。
- 再次从 SRAM-DATA 寄存器读取数据以获得 MSB 位。
- 将 COMMON-CONFIG 寄存器中的 EE-READ-ADDR 位设置为 1b,以选择 NVM 的行 2。重复步骤 2 和 3。