Microchip Technology MCP4728EV Data Sheet

Page of 68
MCP4728
DS22187E-page 30
© 2010 Microchip Technology Inc.
5.2.5
ACKNOWLEDGE
Each receiving device, when addressed, is obliged to
generate an acknowledge after the reception of each
byte. The master device must generate an extra clock
pulse, which is associated with this acknowledge bit.
The device that acknowledges has to pull down the
SDA line during the acknowledge clock pulse in such a
way that the SDA line is stable LOW during the HIGH
period of the acknowledge related clock pulse. Of
course, setup and hold times must be taken into
account. During reads, a master must send an end of
data to the slave by not generating an acknowledge bit
on the last byte that has been clocked out of the slave.
In this case, the slave (MCP4728) will leave the data
line HIGH to enable the master to generate the STOP
condition.
FIGURE 5-1:
Data Transfer Sequence On The Serial Bus.
5.3
MCP4728 Device Addressing
The address byte is the first byte received following the
START condition from the master device. The first part
of the address byte consists of a 4-bit device code,
which is set to 1100 for the MCP4728 device. The
device code is followed by three I
2
C address bits (A2,
A1, A0) which are programmable by the users.
Although the three address bits are programmable at
the user’s application PCB, the user can also specify
the address bits during the product ordering process. If
there is no user’s request, the factory default setting of
the three address bits is “000”, programmed into the
EEPROM. The three address bits allow eight unique
addresses.
FIGURE 5-2:
Device Addressing.
5.3.1
PROGRAMMING OF I
2
C ADDRESS 
BITS
When the customer first receives any new MCP4728
device, its default address bit setting is “000” if the
address bit programming was not requested. The
customer can reprogram the I
2
C address bits into the
EEPROM by using “Write Address Bit” command. This
write command needs current address bits. If the
address bits are unknown, the user can find them by
sending “General Call Read Address” Command. The
LDAC pin is also used to select the device of interest to
be programmed or to read the current address.
The following steps are needed for the I
2
C address
programming.
(a) Read the address bits using “General Call Read
Address” Command. 
(This is the case when the
address is unknown.)
(b) Write I
2
C address bits using “Write I
2
C Address
Bits” Command. 
The Write Address command will replace the current
address with a new address in both input registers and
EEPROM. 
Se
for the details of reading the address bits, and
 for writing the address bits.
SCL
SDA
(A)
(B)
(D)
(D)
(A)
(C)
START
CONDITION
ADDRESS OR
ACKNOWLEDGE
VALID
DATA
ALLOWED
TO CHANGE
STOP
CONDITION
Start bit
Read/Write bit
Address Byte
R/W ACK
Acknowledge bit
Slave Address
1
1
0
0
Slave Address for MCP4728
A2
A1
A0
Device Code: Programmed (hard-wired) at the
factory.
Address Bits: Reprogrammable into EEPROM by
the user.
Device Code
Address Bits