![Infineon XDPP1100 Technical Reference Manual Download Page 529](http://html1.mh-extra.com/html/infineon/xdpp1100/xdpp1100_technical-reference-manual_2055193529.webp)
User Manual 529 of 562 V 1.0
2021-08-25
XDPP1100 technical reference manual
Digital power controller
Central processing unit subsystem
15.11.1.2
Master transmit
In master transmit mode, the I
2
C will transmit a number of bytes to a slave receiver.
The master transmit mode is entered by setting the STA in the CNTR register bit to
“
1
”
. The I
2
C will then test the
I
2
C bus and will transmit a START condition when the bus is free. When a START condition has been
transmitted, the IFLG bit will be set and the status code in the STAT register will be 08h. Before this interrupt is
serviced, the DATA register must be loaded with either a 7-bit slave address or the first part of a 10-bit slave
address, with the LSB cleared to
“
0
”
(i.e., with an added write bit) to specify transmit mode. The IFLG bit should
now be cleared to
“
0
”
to prompt the transfer to continue.
After the 7-bit slave address (or the first part of a 10-bit address) and the write bit have been transmitted, IFLG
will be set again. The possible status register combinations are shown in
Table 111
Master transmit status after transmitting the 7-bit address
Code
MI2CV State
Microprocessor Response
Mext MI2CV Action
18h
Addr + Write bit transmitted,
ACK received
7-bit address:
Write byte to DATA, clear IFLG
Or set STA, clear IFLG
Or set STP, clear IFLG
Or set STA and STP, clear
IFLG
10-bit address:
Write extended address byte
to DATA, clearIFLG
Transmit data byte, receive
ACK
Transmit repeated START
Transmit STOP
Transmit STOP then START
Transmit extended address
byte
20h
A Write bit
transmitted, ACK not
received
Same as for code 18h
Same as for code 18h
38h
Arbitration lost
Clear IFLG
Or set STA, clear IFLG
Return to idle
Transmit START when bus
free
68h
Arbitration lost, SLA + Write
bit received, ACK transmitted
Clear IFLG, AAK=0
Or clean IFLG, AAK=1
Receive data byte, transmit
not ACK
Received data byte, transmit
ACK
78h
Arbitration lost, general call
addr received, ACK
transmitted
Same as for code 68h
Same as for code 68h
B0h
Arbitration lost, SLA + Read
bit received, ACK transmitted
Write byte to DATA, clear
IFLG, AAK=0
Transmit last byte, receive
ACK