English
Language : 

C8051F70X_0910 Datasheet, PDF (140/290 Pages) Silicon Laboratories – Mixed Signal ISP Flash MCU Family
C8051F70x/71x
21. EEPROM
C8051F700/1/4/5/8/9 and C8051F712/3 devices have hardware which emulates 32 bytes of non-volatile,
byte-programmable EEPROM data space. The module mirrors each non-volatile byte through 32 bytes of
volatile data space. This data space can be accessed indirectly through EEADDR and EEDATA. Users can
copy the complete 32-byte image between EEPROM space and volatile space using controls in the
EECNTL SFR.
EECNTL
EEKEY
EEADDR EEDATA
32 Bytes RAM
32 Bytes
EEPROM
EEPROM Control
Logic
Figure 21.1. EEPROM Block Diagram
21.1. RAM Reads and Writes
In order to perform EEPROM reads and writes, the EEPROM control logic must be enabled by setting
EEEN (EECNTL.7).
32 bytes of RAM can be accessed indirectly through EEADDR and EEDATA. To write to a byte of RAM,
write address of byte to EEADDR and then write the value to be written to EEDATA. To read a byte from
RAM, write address of byte to be read to EEADDR. The value stored at that address can then be read from
EEDATA.
21.2. Auto Increment
When AUTOINC (EECNTL.0) is set, EEADDR will increment by one after each write to EEDATA and each
read from EEDATA. When Auto Increment is enabled and EEADDR reaches the top address of dedicated
RAM space, the next write to or read from EEDATA will cause EEADDR to wrap along the address bound-
ary, which will set the address to 0.
21.3. Interfacing with the EEPROM
The EEPROM is accessed through the dedicated 32 bytes of RAM. Writes to EEPROM are allowed only
after writes have been enabled (see “21.4. EEPROM Security” ). The contents of the EEPROM can be
uploaded to the RAM by setting EEREAD (EECNTL.2). Contents of RAM can be downloaded to EEPROM
by setting EEWRT (EENTL.1).
140
Rev. 0.3