enCoRe™ V CY7C643xx, enCoRe™ V LV CY7C604xx TRM, Document No. 001-32519 Rev *H
106
I
2
C Slave
15.3
Register Definitions
The registers shown here are associated with I
2
C slave and are listed in address order. Each register description has an
associated register table showing the bit structure for that register. The grayed out bits in the tables are reserved bits and are
not detailed in the register descriptions that follow. Always write reserved bits with a value of ‘0’. For a complete table of I
2
C
“Summary Table of the System Resource Registers” on page 93
.
15.3.1
I2C_XCFG Register
The I2C Extended Control Register (I2C_XCFG) is used to
enable hardware I2C address detection block. The Enable
bit (bit 0) of the I2C_CFG (0,D6h) register should be set to 1
for the I
2
C enhanced features to work.
Bit 0: HW Addr En.
When this bit is set to a ‘1’, hardware
address compare is enabled. Upon a compare, the address
is automatically ACKed, and upon a mismatch, the address
is automatically NAKed and the hardware reverts to an idle
state waiting for the next Start detection. You must configure
the compare address in the I2C_ADDR register. When this
bit is a ‘0’, bit 3 of the I2C_SCR register is set and the bus
stalls, and the received address is available in the I2C_DR
register to enable the CPU to do a firmware address com-
pare. The functionality of this bit is independent of the data
buffering mode.
For additional information, refer to the
15.3.2
I2C_ADDR Register
The I
2
C Slave Address Register (I2C_ADDR) holds the
slave’s 7-bit address. All bits are RW.
Note
When hardware address compare mode is not
enabled in the I2C_XCFG register, this register is not in use.
Bits 6 to 0: Slave Address[6:0]
. These 7 bits hold the
slave’s own device address.
For additional information, refer to the
Address
Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Access
0,C8h
HW Addr EN
RW : 0
Address
Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Access
0,CAh
Slave Address[6:0]
RW : 00