ADP1048 Analog Devices, ADP1048 Datasheet - Page 38

no-image

ADP1048

Manufacturer Part Number
ADP1048
Description
Digital Power Factor Correction Controller with accurate AC Power Metering
Manufacturer
Analog Devices
Datasheet
ADP1047/ADP1048
EEPROM
The
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, and the main block
contains 8K 8-bit bytes. The main block is further partitioned
into 16 pages, each page containing 512 bytes.
OVERVIEW
The EEPROM controller provides an interface between the
ADP1047/ADP1048
user can control data access to and from the EEPROM through
this controller interface. Separate PMBus commands are avail-
able for the read, write, and erase operations to the EEPROM.
Communication is initiated by the master device sending a
command to the PMBus slave device to access data from or
send data to the EEPROM. Read, write, and erase commands
are supported. 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.
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 to Page 0 or Page 1.
Main Block Page Erase (Page 2 to Page 15)
To erase any page from Page 2 to Page 15 of the main block, the
EEPROM must first be unlocked for access. For instructions on
how to unlock the EEPROM, see the Unlock EEPROM section.
Page 2 to Page 15 of the main block can be individually erased
using the EEPROM_PAGE_ERASE command (Register 0xD4).
For example, to perform a page erase of Page 10, execute the
following command:
In this example, Command Code = 0xD4 and Data Byte =
0x0A.
Note that it is important to wait at least 35 ms for the page
erase operation to complete before executing the next PMBus
command.
ADP1047/ADP1048
S
MASTER TO SLAVE
SLAVE TO MASTER
ADDRESS
SLAVE
Figure 43. Example Erase Command
W
core logic and the built-in Flash/EE. The
A
have a built-in EEPROM controller
COMMAND
CODE
A
DATA BYTE
A
P
Rev. 0 | Page 38 of 84
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 low previously.
READ OPERATION (BYTE READ AND BLOCK READ)
Read from 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 meant 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
EEPROM section). After they are unlocked, Page 0 and Page 1
are readable using the EEPROM_DATA_xx commands, as
described in the Read from Page 2 to Page 15 section. Note that
when the EEPROM is locked, a read from Page 0 and Page 1
returns invalid data.
Read from Page 2 to Page 15
Data in Page 2 to Page 15 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 (Command Code 0xB0
to Command Code 0xBF).
Before executing this command, the user must program the
number of bytes to read using the EEPROM_NUM_RD_BYTES
command (Register 0xD2). Also, the user can program the offset
from the page boundary where the first read byte is returned
using the EEPROM_ADDR_OFFSET command (Register 0xD3).
In the following example, three bytes from Page 4 are read from
EEPROM, starting from the fifth byte of that page.
1.
2.
3.
Note that the block read command can read a maximum of 256
bytes for any single transaction.
S
MASTER TO SLAVE
SLAVE TO MASTER
S
ADDRESS
Set number of return bytes = 3.
Set address offset = 5.
Read three bytes from Page 4.
MASTER TO SLAVE
SLAVE TO MASTER
S
SLAVE
ADDRESS
BYTE COUNT =
MASTER TO SLAVE
SLAVE TO MASTER
SLAVE
ADDRESS
SLAVE
0x03
W
W
A
W
A
A
A
0xD3
DATA BYTE
0xB4
1
0xD2
A
A
A
0x00
A
...
Sr
DATA BYTE
ADDRESS
0x03
A
SLAVE
3
Data Sheet
0x05
A
A
R
P
P
A
A
P

Related parts for ADP1048