SLASF44A May 2023 – June 2024 AFE78201 , AFE88201
PRODUCTION DATA
Refer to the PDF data sheet for device specific package drawings
The AFEx8201 feature a register built-in self-test (RBIST) that runs on all the registers listed in Table 7-11 through a CRC calculation in the order the registers are listed in Table 7-11. 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.Set the GEN_STATUS.RBIST_MODE bit to 1 to enable the RBIST. This bit is sticky until the GEN_STATUS register is read.
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-11. 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 | RESERVED | 0040h |
0Fh | RESERVED | 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 | RESERVED | FFFFh |
3Fh | RBIST_CRC | 0000h |