JAJSNU3 December 2023 AFE782H1 , AFE882H1
PRODUCTION DATA
The AFEx82H1 feature a register built-in self-test (RBIST) that runs on all the registers listed in Table 7-14 through a CRC calculation in the order the registers are listed in Table 7-14. If a register is reserved, the reset value is used in the calculation of the RBIST. If the final CRC value is zero, then no error is present in the configuration of the registers. If a non-zero value is present at the end of the calculation, then there is a configuration error. The polynomial used has a Hamming distance (HD) of 4 for data packets up to 2048 bits. With HD = 4, the CRC detects any combination of 4-bit errors within the stored data. Independently calculate the expected CRC polynomial and store the output in the RBIST_CRC register at 3Fh.
The final value of the CRC is read in the CRC_RD register at address 3Eh. This value is updated while either an RBIST or shadow load is running. Both the RBIST and OTP memory use the same CRC calculation engine and polynomial. The value in the CRC_RD register remains constant until another RBIST or SHADOWLOAD in TRIGGER register (0Ah) is triggered.
Set TRIGGER.RBIST to 1 to initiate an RBIST. The TRIGGER.RBIST bit stays high as long as the RBIST is running and clears when the self-test is complete. While the RBIST is running, the registers cannot be written to or read. Send NOP commands and monitor the RBIST SDO status bit to determine if the RBIST has completed.
In UBM, the RBIST does not interfere with register communication. UBM communication is slow enough that the RBIST completes before any following read or write command.The GEN_STATUS.BIST_DONE and GEN_STATUS.BIST_FAIL bits have the same functionality for both MBIST and RBIST. GEN_STATUS.BIST_MODE is used to select between two tests (1 = RBIST and 0 = MBIST). This bit is sticky until the GEN_STATUS register is read.
The FIFO_CFG.FIFO_H2U_FLUSH and FIFO_CFG.FIFO_U2H_FLUSH bits are write-self-clear (WSC) and considered 0 by the CRC module.
The 16-bit CRC used to generate the RBIST is compliant to the openSAFETY (0x755B) standard with the following polynomial:
x16 + x14 + x13 + x12 + x10 + x8 + x6 + x4 + x3 + x1 + 1.
The list of registers covered by the RBIST is listed in Table 7-14. Not all registers feature the RBIST.
ADDR (HEX) | REGISTER | RESET (HEX) |
---|---|---|
01h | DAC_DATA | 0000h |
02h | CONFIG | 0036h |
03h | DAC_CFG | 0B00h |
04h | DAC_GAIN | 8000h |
05h | DAC_OFFSET | 0000h |
06h | DAC_CLR_CODE | 0000h |
08h | ADC_CFG | 8810h |
09h | ADC_INDEX_CFG | 0080h |
0Bh | SPECIAL_CFG | 0000h |
0Dh | RESERVED | 0100h |
0Eh | MODEM_CFG | 0040h |
0Fh | FIFO_CFG | 00F0h |
10h | ALARM_ACT | 8020h |
11h | WDT | 0018h |
12h | AIN0_THRESHOLD | FF00h |
13h | AIN1_THRESHOLD | FF00h |
14h | TEMP_THRESHOLD | FF00h |
1Bh | GPIO_CFG | 00FFh |
1Dh | ALARM_STATUS_MASK | EFDFh |
1Eh | GEN_STATUS_MASK | FFFFh |
1Fh | MODEM_STATUS_MASK | FFFFh |
3Fh | RBIST_CRC | 0000h |