Slave Address Manual Ack For Write; Writes With Less Than 3 Bytes Auto-Acknowledged - Texas Instruments UCD3138 Technical Reference Manual

Digital power supply controller
Hide thumbs Also See for UCD3138:
Table of Contents

Advertisement

PMBus Slave Mode Command Examples
3. ACK bit cleared by occurrence of ACK on bus.
4. Here the EOM and DATA_RDY bit are set, and the RD_BYTE_COUNT and PEC_VALID bits are
loaded with appropriate values. RD_BYTE_COUNT will be loaded with a 1, showing that there is one
byte in the RXBUF. After this, the sequence is the same as described in
Writing 6 and 7 total bytes will have the same effect, except that there will be a different number in the
RD_BYTE_COUNT register. At 8 bytes, the sequence at the end of the message will be the same as at 4
bytes, because RXBUF will be full again. At 9 bytes, the end of the message will be the same as at 5. And
it will continue the same after that. If the RXBUF is not full when the STOP occurs, all 4 bitfields will be
loaded simultaneously. If the last byte fills up RXBUF, the data must be acknowledged by writing to ACK
before the clock stretch will be released.

10.3.5 Writes with Less than 3 Bytes Auto-Acknowledged

All the timing above assumes that RX_BYTE_ACK_CNT is set to the maximum value of 3, meaning that 3
bytes will be ACKed automatically. If it is set to 2, for example, the sequence will repeat every 3 bytes,
instead of every 4.
If it is set to 0, every byte will need to be ACKed the same way as shown above for every 4 bytes.
Using less than 4 bytes in the RX_BYTE_ACK_CNT is only recommended if the requirement is for NACK
of invalid data. Otherwise it leads to unnecessary overhead for the CPU and the bus.
10.3.6 Manual Slave Address ACK for Write.
If the MAN_SLAVE_ACK bit is set, then the firmware must manually ACK the slave address. Normally this
is used if there are multiple addresses which must be decoded, and where the mask register will not cover
them all. Here is the sequence when a write occurs:
SLAVE_ADDR_READY
The steps are:
1. At delay t
after the falling edge of the clock for the 8th bit in the address, the
SAR
SLAVE_ADDR_READY bit is set.
2. The firmware reads PMBST, clearing the SLAVE_ADDR_READY bit. The firmware then reads the
slave address from the RXBUF. The slave address is in the first 7 bits, the most significant bit is
random, and should be masked out.
3. The firmware writes a 1 (if the address matches) or a 0 (if the address doesn't match) to the ACK bit.
Clock stretch will be cleared t
clock stretch will occur.
360
PMBus Interface/I2C Interface
Write to ACK
Figure 10-8. Slave Address Manual ACK for Write
after the ACK bit is written to. If the firmware is fast enough, no
ACKWRITE
Copyright © 2016, Texas Instruments Incorporated
1
7
S
Address Wr
SNIU028A – February 2016 – Revised April 2016
www.ti.com
Section
10.3.1.
1
1
A
1
3
2
4
Submit Documentation Feedback

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents