Community
cancel
Showing results for 
Search instead for 
Did you mean: 
jlats2
Novice
383 Views

EMP213 PMBus communication issues

Jump to solution

Hello,

 

We are having issues communicating with the EM2130L01QI and EM2130H01QI over the PMBus. Both of these chips are installed on a board and they are producing the expected output voltages. Both of these chips share SMBALERT (pin 13) SDA (pin 14) and SCL (pin 15). SMBALERT, SDA and SCL are all pulled up to 3.3v with a 4.7k resistor. We are not using VDD33 (pin 16) as the pull up voltage.

 

Whenever we connect the programming pod to these 3 pins and power on the board, the GUI interface initially detects the two chips. However, after about 1 to 5 seconds, the GUI PMBus check mark will turn into a red 'x' and then both chip instances will disappear. Throughout this whole experiment, we have a MAX10 FPGA sending a logic high to the control pin. The control pin is pulled to GND with a 1k resistor. Note, we have the same issue if we send a logic low on the control line with the MAX10.

 

Using an O-scope, I can see the SDA and SCL lines exchanging information. Both lines are left floating (pulled to 3.3v) once the GUI PMBus has a red x.

 

Do you know what might be causing the the PMBus to crash on the GUI? We are able to use one of the evalboards without any problems, so I feel that we are using the software correctly. However, the evalboard only has one EMP213 chip installed, whereas our PCB has two chips. Both chips share the same Control pin, SDA, SCL and SMBALERT (the POKs have separate lines).

 

Thank you,

James 😃

0 Kudos
1 Solution
Mostafa_Intel_AE
Employee
146 Views

Hello James,

 

We are sorry for facing that issue.

First Please check if you already connect the GND from your board with the USB dongle GND too not only the SDA and SCL pins.

 

Second check if your board has any other I2C master device sharing the same PMBUS traces with EM2130, if so this will be the issue, where probably the I2C/PMBUS bus is busy.

and also the USB dongle is not support multi master.

 

So in that case, if you would like to use Enpirion USB dongle to check on board EM2130 devices, you will need to separate the SDA/SCL from the on board Master controller.

 

 

Based on your inputs that you have MAX10 on board, and if MAX10 sharing the same SDA/SCL, so this will be the issue where once MAX10 starts to communicate with the devices on the i2c bus the eternal dongle will lose the communication with EM2130.

 

Regards,

Mostafa

View solution in original post

6 Replies
Mostafa_Intel_AE
Employee
147 Views

Hello James,

 

We are sorry for facing that issue.

First Please check if you already connect the GND from your board with the USB dongle GND too not only the SDA and SCL pins.

 

Second check if your board has any other I2C master device sharing the same PMBUS traces with EM2130, if so this will be the issue, where probably the I2C/PMBUS bus is busy.

and also the USB dongle is not support multi master.

 

So in that case, if you would like to use Enpirion USB dongle to check on board EM2130 devices, you will need to separate the SDA/SCL from the on board Master controller.

 

 

Based on your inputs that you have MAX10 on board, and if MAX10 sharing the same SDA/SCL, so this will be the issue where once MAX10 starts to communicate with the devices on the i2c bus the eternal dongle will lose the communication with EM2130.

 

Regards,

Mostafa

View solution in original post

jlats2
Novice
146 Views

Hello Mostafa,

 

Thank you for your response.

No worries, I love a good problem to solve 😃 .

 

We have been careful to ensure that there is a common ground between the the USB dongle and the prototype board. We have also set the MAX10 SDA/SCL pins as inputs (no PMBus/I2C data is transmitted from the MAX10 at this point in time). Thus I don't believe those are our issue.

 

Both of the EM2130 devices share a common SDA/SCL. That must be the source of our communication problem. When we re-spin our prototype PCB, we'll be sure to include separate traces for SDA/SCL to enable us to use the dongle for better troubleshooting.

 

Next question (for communicating to EM213 devices with the MAX10 and not the USB dongle), can multiple EM213 devices share common SDA/SCL lines for standard PMBus communications (I believe that the answer to this is yes)? Or does each device need dedicated SDA/SCL traces?

 

Why can't the dongle be used to communicate with multiple EM213 devices on the same SDA/SCL traces? Is it because the dongle sends some 'SDA command' which causes all devices to respond (regardless of pin-strapped address values)?

If so, can the dongle's firmware be manipulated or 'hacked' such that it engages devices with a specific address (in this way, we could communicate with each respective EM213 device on common SDA/SCL lines).

 

Short of 'lifiting a pin' on one of the EM213 devices, we don't have any reasonable way to isolate the SDA/SCL traces from each EM213 device (thus the motivation to manipulate the USB Dongle).

 

Thank you for your time,

James 🙂

 

Mostafa_Intel_AE
Employee
146 Views

Hello James,

 

Just to clarify: EM2130 devices are slave devices and not master so they all can share the PMBUS traces together and with any other PMBUS slave devices on the system since each device has its own address.

Enpirion USB dongle can detect all the EM2130 devices that share the same PMBUS traces.

 

Any Other Master PMBUS controller (Host controller) can communicate with any device sharing the same SDA/SCL traces in your case MAX10(host controller).

 

The issue comes from the Host controller (could be Max10, USB dongle, or others), that don't have the page feature (to allow multi Master operation ) where if that Master controller doesn't support multi Master connection so this will make the connection harder and you will need to separate the buses between the two Master to allow smooth operation.

 

Enpirion USB dongle is a Master controller that not support Multi Master operation so if any other dongle or PMBUS Master controller on the board (Max10 in this case) so the USB will lost the communication with EM2130 devices on the board once MAX10 start to use the PMBUS buses.

 

So to make your board design easy for futur debugging , you need to make a switch or jumpers to disconnect EM2130 devices PMBUS traces (all EM2130 devices will share the SDA/SCL until that switch) from the on board controller when there is a debug required you to connect the USB dongle.

 

Regards,

Mostafa

 

 

jlats2
Novice
146 Views

Sorry, I think that I was confusing in my last post.

 

Assuming that the MAX10 device was removed from the board, and there are only two EM2130 devices and the USB dongle sharing the SDA/SCL pins, should communication be possible?

 

Thank you,

James 😀

Mostafa_Intel_AE
Employee
146 Views

Hi James,

 

Since MAX10 is not on the board and there is no any other host controller, so the USB dongle should be able to communicate with all EM2130 devices.

 

Regards,

Mostafa

jlats2
Novice
146 Views

Cool, I am going to attemtp to isolate the SDA/SCL pins from the MAX10. I feel that there must be a way to set the pins in a high impedance state.

I'll get back to you on my findings.

 

Thanks again for all of your help.

James

Reply