The on-chip EEPROM is a non-volatile memory array
used to permanently store register data for one or more device start-up
configuration settings (pages), which can be selected to initialize registers upon
power-up or POR. There are a total of 6 independent EEPROM pages of which each page
is selected by the 3-level GPIO[3:2] pins, and each page is comprised of bits shown
in the EEPROM Map. The transfer must first happen to the corresponding SRAM page and then
to the EEPROM page. During “EEPROM write”, R137.2 is a 1 and the EEPROM contents can
not be accessed. The following details the programming sequence to transfer the
entire contents of SRAM to EEPROM:
- Verify that the "Write SRAM" procedure (Write SRAM) is performed to commit the register settings to the SRAM page or
pages with start-up configurations intended for programming to the EEPROM
array.
- Write 0xEA to R144. This provides basic protection from inadvertent programming of EEPROM.
- Write a 1 to R137.0. This programs the entire
SRAM contents to EEPROM. When complete, the contents in R136 increment by 1.
R136 contains the total number of EEPROM programming cycles that are
successfully completed.
- Write 0x00 to R144 to protect against inadvertent programming of EEPROM.
- If an EEPROM write is unsuccessful, a readback of
R137.5 results in a 1. In this case, the device does not function correctly and
locks up. To unlock the device for correct operation, a new EEPROM write
sequence must be initiated and successfully completed.