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.

UCD90120A: Question about GPIO control via I2C

Part Number: UCD90120A

Hello,

We're now using one Micro-Control Unit ( STM32 series ) to control two UCD90120A chips via I2C and I have some questions:

1. What's the step for controlling ( Enable or Disable ) the GPIOs in UCD90120A via I2C ?

We have tried the following steps:

(1) Generate a Start signal

(2) Send the PMBus Address ( We use the default address 0x7E for testing,which should be 0xFC including the W/R bit.)

(3) Wait for the slave ACK ( At this point, we can capture an ACK signal by using Oscilloscope.)

(4) Send the Command Address ( We choose the GPIO_SELECT command,which is FAh as shown in the  《UCD90XXX Sequencer and System Health Controller PMBus Command Reference》.)

(5) Wait for ACK ( At this point,we cannot get any ACK signal !)

(6) Send the pins' configuration bytes ( We pick GPIO17 for testing and according to the datasheet,this value should be 0xC6.)

(7) Wait for ACK ( Still cannot get ACK signal.)

(8) Generate a Stop signal

Do I misuderstand any details? What should I do to achieve the correct result ?

2.By reading the <PMBus Specifications>,I figured that to send data, the first byte should be " 7 bits of address + 1 bit of W/R ". But by reading the <UCD90XXX Sequencer and System Health Controller PMBus Command Reference> - Chapter 6 and Chapter 10, almost all of the Command Address are already 8 bits.This really makes me confused! What format should I use when send the commands?

Looking forward to your reply,

Thanks & Best regards,

Xiaoting Zhang