This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TPS546C23EVM1-746: Not receiving response for Read command code through PMBUS from either of the devices

Part Number: TPS546C23EVM1-746
Other Parts Discussed in Thread: TPS546C23,

I was able to receive ACK for slave address (d27). I had further problems when I was trying to read a byte.

I chose to read PMBUS_REVISION byte - Command Code (1001 1000) Slave Address as (0011011). I am following the PMBUS format and I am also receiving all the ACK after every byte is sent, but in the cycle where response is expected, I am getting a weird response. PFA of the response (DSO image attached).

Please let me know if I am missing something.

  •  

    There appears to be a significant difference in the pull-up edge rate when the TPS546C23 is responding compared to when your master is writing to the bus.  Do you have termination (pull-up) resistors on the bus or is the Master in this case driving the bus with a push-pull driver and then setting the bus to high-impedance when it is expecting a response from the TPS546C23?

    In accordance with the SMBus specification, the TPS546C23 device uses open-drain output drivers that have active pull-down but require external passive pull-ups.  The TPS546C23EVM1-746 does not include on-board pull-ups in order to provide compatibility with 1.8V, 2.5V, 3.3V and 5V bus communication.  If your Master is not providing passive termination during the TPS546C23's response periods of the transaction, the TPS546C23 can not pull-up on the bus.

    As a second possible point, I do not see the repeated start in the above waveforms.  An SMBus Read Byte transaction is formatted:

    Start Bit - Slave Address + Wr - Command Code - Repeated Start to change direction of transaction - Slave Address + Rd - Slave device starts sending data. After Data is sent, if Master continues clocking, Slave Device will send PEC byte for data integrity check.

    The PMBus revision response for the TPS546C23 should be 0011 0011b

  • Thanks a lot for your response. I was using a 1 K ohm resistor to pullup 3.3 V. When I changed the resistance to 3.3 K, the slave started working fine.

    Thanks again

    Rahul