datasheetbank_Logo
Integrated circuits, Transistor, Semiconductors Search and Datasheet PDF Download Site

ADP1046AACPZ-R7 View Datasheet(PDF) - Analog Devices

Part Name
Description
View to exact match
ADP1046AACPZ-R7 Datasheet PDF : 88 Pages
First Prev 41 42 43 44 45 46 47 48 49 50 Next Last
Data Sheet
ADP1046A
EEPROM
The ADP1046A has a built-in EEPROM controller that is used
to communicate with the embedded 8K × 8-byte EEPROM. The
EEPROM, also called Flash®/EE, is partitioned into two major
blocks: the INFO block and the main block. The INFO block
contains 128 8-bit bytes (for internal use only), and the main
block contains 8K 8-bit bytes. The main block is further parti-
tioned into 16 pages, each page containing 512 bytes.
EEPROM OVERVIEW
The EEPROM controller provides an interface between the
ADP1046A core logic and the built-in Flash/EE. The user can
control data access to and from the EEPROM through this
controller interface. Different I2C commands are available for
the different operations to the EEPROM.
Communication is initiated by the master device sending a
command to the I2C slave device to access data from or send
data to the EEPROM. Using read and write commands, data is
transferred between devices in a byte-wide format. Using a read
command, data is received from the EEPROM and transmitted
to the master device. Using a write command, data is received
from the master device and stored in the EEPROM through the
EEPROM controller. Send commands are also supported, in
which case the command is executed by the slave device upon
receiving the stop bit. The stop bit is the last bit in a complete
data transfer, as defined in the I2C communication protocol.
For a complete description of the I2C protocol, see the Philips
I2C Bus Specification, Version 2.1, dated January 2000.
PAGE ERASE OPERATION
The main block consists of 16 equivalent pages of 512 bytes each,
numbered Page 0 to Page 15. Page 0 and Page 1 of the main block
are reserved for storing the default settings and user settings,
respectively. The user cannot perform a page erase operation
on Page 0 or Page 1. Page 2 and Page 3 are reserved for internal
use; do not erase the contents of Page 2 or Page 3.
Only Page 4 to Page 15 of the main block should be used to store
data. To erase any page from Page 4 to Page 15, the EEPROM
must first be unlocked for access. For instructions on how to
unlock the EEPROM, see the Unlock the EEPROM section.
Page 4 to Page 15 of the main block can be individually erased
using the EEPROM_PAGE_ERASE command (Register 0x87).
For example, to perform a page erase of Page 10, execute the
following command:
S
7-BIT SLAVE
ADDRESS
W
A
COMMAND
CODE
A
DATA
BYTE
AP
= MASTER-TO-SLAVE
= SLAVE-TO-MASTER
Figure 55. Example Erase Command
In this example, command code = 0x87 and data byte = 0x0A.
Note that it is necessary to wait at least 35 ms for the page erase
operation to complete before executing the next I2C command.
The EEPROM allows erasing of whole pages only; therefore,
to change the data of any single byte in a page, the entire page
must first be erased (set high) for that byte to be writable.
Subsequent writes to any bytes in that page are allowed as long
as that byte has not been written to a logic low previously.
READ OPERATION (BYTE READ AND BLOCK READ)
Read from Main Block, Page 0 and Page 1
Page 0 and Page 1 of the main block are reserved for storing the
default settings and user settings, respectively, and are intended
to prevent third-party access to this data. To read from Page 0 or
Page 1, the user must first unlock the EEPROM (see the Unlock
the EEPROM section). After the EEPROM is unlocked, Page 0
and Page 1 are readable using the EEPROM_DATA_xx commands,
as described in the Read from Main Block, Page 2 to Page 15
section. Note that when the EEPROM is locked, a read from
Page 0 or Page 1 returns invalid data.
Read from Main Block, Page 2 to Page 15
Data in Page 2 to Page 15 of the main block is always readable,
even with the EEPROM locked. The data in the EEPROM main
block can be read one byte at a time or in multiple bytes in series
using the EEPROM_DATA_xx commands (Register 0x8B to
Register 0x9A).
Before executing this command, the user must program the
number of bytes to read using the EEPROM_NUM_RD_BYTES
command (Register 0x86). The user can also program the offset
from the page boundary where the first read byte is returned using
the EEPROM_ADDR_OFFSET command (Register 0x85).
In the following example, three bytes from Page 4 are read from
the EEPROM, starting from the fifth byte of that page.
1. Set the number of return bytes = 3.
S
7-BIT SLAVE
ADDRESS
W A 0x86
A 0x03 A P
= MASTER-TO-SLAVE
= SLAVE-TO-MASTER
2. Set address offset = 5.
7-BIT
S SLAVE W A 0x85 A
ADDRESS
0x05
= MASTER-TO-SLAVE
= SLAVE-TO-MASTER
3. Read three bytes from Page 4.
A 0x00 A P
7-BIT
S
SLAVE
ADDRESS
WA
0x8F
7-BIT
A Sr
SLAVE
ADDRESS
RA
BYTE
COUNT = 0x03
A
DATA
BYTE 1
A ...
DATA
BYTE 3
NA P
= MASTER-TO-SLAVE
= SLAVE-TO-MASTER
Note that the block read command can read a maximum of
256 bytes for any single transaction (set the number of return
bytes = 0).
Rev. 0 | Page 41 of 88
 

Share Link: 

datasheetbank.com [ Privacy Policy ] [ Request Datasheet ] [ Contact Us ]