EOM
PEC_VALID
DATA_RDY
RD_BYTE_COUNT
1
2
Write to ACK
A
Byte
1
8
Byte
8
A
1
S
Address Wr
A
1
7
Cmd
8
A
1
1
1
P
1
4
A
1
Byte
8
A
1
Byte
8
3
Data Byte
8
A
P
1
1
EOM
PEC_VALID
DATA_RDY
RD_BYTE_COUNT
1
S
Address Wr
A
1
7
Command
8
A
Data Byte
8
A
1
1
1
1
A
Data Byte
1
8
3
2
Write to ACK
PMBus Slave Mode Command Examples
359
SNIU028A – February 2016 – Revised April 2016
Copyright © 2016, Texas Instruments Incorporated
PMBus Interface/I2C Interface
Figure 10-6. Timing Diagram
1. RXBUF is full, number of bytes received is equivalent to RX_BYTE_ACK_CNT. DATA_RDY is set and
RD_BYTE_COUNT is loaded with a 4. The interface is prepared to stretch the clock. This occurs t
DRDY
after the falling edge of the clock for bit 8.
2. The firmware reads the data from RXBUF and writes a 1 to the ACK bit. This turns off the clock
stretch. The delay between write to ACK and disable of clock stretch is t
ACKWRITE
. Reading from PMBST
clears the DATA_RDY bit and the RD_BYTE_COUNT bits.
3. On the falling edge of PMBUS_CLK indicating the STOP signal, the EOM bit is set, and the
PEC_VALID bit is set or cleared to indicate if the last byte was a valid PEC. The timing after the falling
edge is tEOM.
If step 3 is delayed, clock stretching of the next valid address will occur in the same way as described in
.
The exact same sequence will occur if the 3rd data byte is replaced with a valid PEC, except that the
PEC_VALID bit will be always set.
For messages with 5 through 7 bytes, the sequence will be as described below:
Figure 10-7. Write 4 Bytes + Command
There are 4 items here:
1. DATA_RDY and RD_BYTE_COUNT set as described above
2. DATA_RDY and RD_BYTE_COUNT cleared by read from PMBST, data read from RXBUF, 1 written
to ACK bit. Clock stretch released.