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.

INA220 application Doubt

Other Parts Discussed in Thread: INA220, INA226

Hi All,

    I have the input voltage 0 - 2V supply and shunt voltage 5m to be monitored by INA220 for MPPT application.

Several doubts as below:

1: I want to sample the power information every 2ms(trigger mode). The conversion time for 12 bit is about 500us. It will be completed for Voltage and current together within 1.2ms. But one issue is the about 30ms timeout between start and stop. Should I insert a stop sign after one complete sample period? Or I just need to add another start sign for the second trigger period.

2. For communication with Spartan 3 FPGA, SDA and SCL should set as 3.3 for high voltage, which means that the supply voltage I should use 3.3V. Am I right?

3. Do I have to connect the VBUS to the IN- ? Considering the shunt voltage drop can I connect VBUS to IN+? 

The most important issue for me is that, whether I can update the power register every 2ms.
To achieve this, I want to make sure whether I need astop command before the next trigger cycle, which will introduce a 35ms timeout in the worst case.

The command flow I think is as below, Plz check for me:

1. START --- Slave address & WRITE & ACK--- Config. Register pointer & ACK --- MSByte Config data & ACK---- LSByte Config data & ACK --- stop ---- timeout for 30ms

2. First cycle ~~~~~START --- Slave address & READ & ACK--- Power Register pointer & ACK --- MSByte data & ACK ---- - LSByte data & ACK (no stop)

wait about 2ms

3.1 Second cycle ~~~~~Repeated START --- Slave address & WRITE & ACK--- Config. Register pointer & ACK --- MSByte Config data & ACK---- LSByte Config data & ACK (for trigger mode operation)

3.2 Second cycle ~~~~~Repeated START --- Slave address & Read & ACK--- Power Register pointer & ACK --- MSByte data & ACK ---- - LSByte Config data & ACK (no stop timeout)

wait about 2ms
4.1 Third cycle ~~~~~Repeated START --- Slave address & WRITE & ACK--- Config. Register pointer & ACK --- MSByte Config data & ACK---- LSByte Config data & ACK (for trigger mode operation) 

4.2
Third cycle ~~~~~Repeated START --- Slave address & READ & ACK--- Power Register pointer & ACK --- MSByte data & ACK ---- - LSByte Config data & ACK 

so on and so forth

Thank you for your time!

  • Hi Yu Geng,

    I will review your questions and get back to you.
  • Hi Yu Geng,

    Thanks for considering our devices on your research. See answer to your questions below:

    1. The stop-time out is not required. It is only for a fault condition. Means you can read the power register every 2ms if you like.

    2. Having all the lines at the same voltage potential is the optimal solution. So, yes, have it all at 3.3V.

    3. Yes, you can connect Vbus to IN+.

    4. For your sequence you only need to use Figure 18 sequence to set the Pointer address and then Read the Registers using Figure 16 sequence. Note which ACK are from the INA226 and which ones are required from the master.

    Hope this helps!
    Regards
  • Hi Mayrim,
    for the 1st question, Could you plz confirm it for me :
    By rewriting the config register, can I trigger the chip to refresh new power information every 2ms? Generally, I want to update the power information in power register and read it out every 2ms.

    Thank you for your time!
  • Hi Yu Geng,

    Yes correct. Sorry I missed this post.

    Regards