Two MPM54304 on the same I2C bus

Hi, I plan to use two MPM54304 modules and to put both to the same I2C bus. The problem is that I can not change slave addresses (GPIO default state is PG).
Do you know any workaround?

Hello,

With MPM54304, page 30 and 31 in its datasheet explains how to set the slave addresses. You can have 2 options, set the GPIO pin as an ADD pin and have your resistor divider or set the I2C slave address directly to register [0D] via I2C (2nd option would be easier in your case). We have a I2C communication device dongle here to communicate between your computer to the part if you do not already have one: EVKT-USBI2C-02 | Communication Interface Device USB to I2C/PMBus, included with product evaluation kit or can be purchased separately.  | MPS.

Since you are most likely using a default part (-0000), you might need a MCU to configure the settings upon start up every time since this is all saved in the volatile memory if you do not want to do it by hand every time (each power cycle will refresh the memory and delete the volatile memory).

Hello Cecilia.
Thank you for promt reply.
I have a MPS I2C dongle and evaluation kit EVM54304-MN-00A.
As I understand programming process, at the beginning slave address of both MPM54304 in my design will be the same, 0x68.
Suggested option 2 (set the I2C slave address directly to register [0D] via I2C) will not work as both devices will change slave address at the same time and it return me to the beginning (where both MPM have same address).
Option 1 (set the GPIO pin as an ADD pin and have your resistor divider) may be a solution. But I have some doubts wheter it possible to succesfully write in register [D6] of both devices simultaneously. I this case I can try to make different voltage dividers at GPIO. Can you confirm or reject this option?

you might need a MCU to configure the settings upon start up every time since this is all saved in the volatile memory

I was sure I could program the MPM54304 MTP memory and I wouldn’t need the MCU for configuration, would I?

Yes, the default should be the 0x68 address.

Let me check with my team on writing for option 1. Is your input for both MPM54304s from the same input voltage rail? 12Vin?

And yes, you do not need a MCU for configuration. It was a suggestion if you wanted to automate your system later in your project, so no action necessary if you are just programming with directly with the I2C dongle.

Thank you for reply,

Main power input according to project specification is 5-12V , but I plan to extend it to 4-16V. Both power modules are connected to the same input.

Thank you for the information!

There is another method that is simple to try out. You can leave the enable turned on for one MPM54304 and the other module’s enable off. Then you can change the address of the one that is enabled. Once that is finished, you can enabled the other module and change its address. Can you try this out?

I have tested your proposal at evaluation board. While EN is low I2C communication still running (power outputs turned off) . So, both devices will be active regardless of EN signal value

Hi Vadim,
Let me look more into this case for you. Are you able to try the option 1 we discussed earlier?

I have tested both options with single MPM54304, address was changed successfully (EN = 0 and EN = 1 with same affect).
Today I have tried to get the second evaluation module from your web page, but it is not available for order.

Hi Vadim,
Please send an email to mpsnow@monolithicpower.com or send a request through here (MPS NOW Technical Support - Contact) to request further assistance on getting you the material you need and for further technical/sales assistance.

Thank you for support, I will contact MPS.

Hi Cecilia, can you confirm, I can have 2 or more MPM54304 on one IIC bus and it is possible to turn on by each EN individually for programming? Is this proper solution?

And another question: can be IIC bus pulled-up to VCC pin (25)?

If it is set up as a dual phase, one will be the master and the other is the slave. In this configuration, it is best to turn both on and off at the same time. You can enable through IIC or manually with the CTRL pin.

The IIC bus can be pulled up to VCC pin so long as there is a pull up resistor on each of the SDA, SCL, and ALT pins.

No, I want to have two MPM54304 (01) on same IIC bus ONLY for programming. So I need to clarify that I can connect bot ICs IIC buses together and activate each IC only with EN pin -> device with EN[0] is not active and there wont be any communication problem (due to same addres).

Hi, if that is the case where you are just activating each IC with the CTRL pin then programming the parts with the same values in their registers, then it should work. However, this is not advised since readback may not work since they are on the same address. The 2 devices would fight to have their data on the same bus and the data may be corrupted.