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.

UCD9240 - GPIO Control via the PMBus?

Other Parts Discussed in Thread: UCD9240

I just finished designing a board with two UCD9240 parts.  I did not thoroughly study the UCD9240 datasheet and falsely assumed that I could simply control unused pins, configured as GPIO, through the PMBus.  Unfortunately the board is finished and I'm looking for a workaround.

I have an FPGA that is the I2C master of the bus.  I would like the FPGA to be able to write some PMBus commands to the UCD9240 in order to actively drive the DPWM-1B, DPWM-2B, SRE-1B, and SRE-2B pins with an arbitrary state.  I understand it is not possible to simply write to a firmware register to change the state of the GPIO.  I was wondering  if it is theoretically possible to reprogram these GPIO on-the-fly?  Suppose I configure one of these pins to drive active-high as long as Rail #X is within it's programmed limits, and then reprogram it to drive active-low instead?

I was planning to try this, but since I don't have much experience with the PMBus, I was hoping an expert could give me some advice before I spend a lot of time designing I2C command sequences.

  • It is possible to change the configuration of a GPIO pin with a PMBus command but GPIO functionality is a very low level process in the controller and requires that the device be in a non-converting state (no rails converting power) to be processed.  I've never tried it but changing the active state of a pin defined as a GPO should force it to change its output assuming it will still function if not set to monitor a particular function.  So if you can disable rail operation between chanaging the GPO states than it may work.