110 FX3 Programmers Manual, Doc. # 001-64707 Rev. *C
FX3 Serial Peripheral Register Access
9.1.2.8 I2C_PREAMBLE_DATAx register
This register contains the slave and device-specific address data that is sent to the slave during the
preamble phase. A maximum of eight bytes (two words) can be stored in these registers. The
I2C_COMMAND register should be used to specify the actual length of the preamble.
9.1.2.9 I2C_PREAMBLE_RPT register
This register is used to setup a I2C polling loop based on repeating preamble transfers until the
desired condition is satisfied by the I2C slave.
9.1.2.10 I2C_COMMAND register
This register specifies the parameters for individual I2C transfers and initiates them.
Bits Field Name
HW
Access
SW
Access
Default
Value
Description
31:0 DATA R RW 0
Command and initial data bytes.
The first four bytes of preamble will be taken
from the I2C_PREAMBLE_DATA0 register.
63:32 DATA R RW 0
Command and initial data bytes.
The remaining bytes of preamble are taken
from the I2C_PREAMBLE_DATA1 register.
Bits Field Name
HW
Access
SW
Access
Default
Value
Description
0 RPT_ENABLE R RW 0
1: Turns on preamble repeat feature.
The sequence from IDLE to
preamble_complete repeats in a program-
mable fashion. START_FIRST is honored.
All of the preamble bytes are repeated.
Data phase is not entered if the preamble
repeat feature is enabled.
1STOP_ON_ACKR RW1
1: Preamble stops repeating if the ACK is
received after any byte.
2 STOP_ON_NACK R RW 0
1: Preamble stops repeating if the NACK
is received after any byte.
31:8 COUNT RW RW FF_FFFF
The maximum number of times the pre-
amble phase is to be repeated. The maxi-
mum value possible is FF_FFFF.
Bits Field Name
HW
Access
SW
Access
Default
Value
Description
3:0 PREAMBLE_LEN R RW 0
Number of bytes in preamble. Should be a
value between 1 and 8.
4 PREAMBLE_VALID RW0C RW1S 0
SW sets this bit to indicate valid preamble.
HW resets it to indicate that it has finished
transmitting the preamble so that new pre-
amble, such as one for doing restarts, can
be populated.
5 NAK_LAST R RW 1
0: Send ACK on last byte of read
1: Send NAK on last byte of read
6 STOP_LAST R RW 0
0: Send (repeated) START on last byte of
data phase
1: Send STOP on last byte of data phase