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.

INA229-Q1: Issue setting Shunt Calibration

Part Number: INA229-Q1


I can write to and read most of the registers.  But, no matter what I write into the Shunt Calibration register (CURRLSBCAL_3) it read back as 4096 (decimal).  It also looks like this number is not used to calculate the current because both the VSHUNT and the CURRENT read as identical numbers.   VBUS which is also a 24 bit number reads correctly and corresponds to the measured input voltage.  So I don't think my program has a problem reading 24 bit registers.

  • Hello Frederic,

    I just tested this on my setup, and I am able to change the CURRLSBCAL_3 register.  When I change this register, I also get a different value for the CURRENT result. 

    Can you confirm for me that wen you read register 0x3F you see 0x2290 and when you read register 0x3E you see 0x5449?

    One other item to double check is that you are using SPI MODE 1 (polarity 0, phase 1) in your programming.

  • Mitch

    I can confirm that I am using SPI MODE 1.  My earlier question indicated I can read other registers.  Also, when I apply a voltage to VBUS and IN- and IN+ I can read the correct values as confirmed by a voltmeter on the input leads.  So I am confident I am correctly reading the registers using Mode 1.

    Register 0x3E does read 5449.  However register 0x3F reads 2291.  The documentation indicates the lower byte of 0x3F is the revision number.  So it seems I have Rev 1 and you have Rev 0.

    I purchased 10 units and have mounted 2 of them.  These 2 react the same way.  Rev 1 may have a problem.

    Fred

  • Hello Fred,

    I am checking with the design/validation teams to see if they can replicate your problem with a rev 1 device.  Did you order these from TI.com?  Or were they given to you as samples directly? (Or did you get them somewhere else?)

  • I purchased directly them from the TI.com/store.  The order number was T00955085 placed on 9/28/2020.  The cost was $66.17 so I sure hope they are the real deal.

  • Ok, thank you for this information. Since you got them from the TI store, I'm sure they are the real deal. I will let you know what the design/validation teams have to say after they've had a chance to look into it, hopefully by the end of the day tomorrow.

  • Fred,

    Just to keep you updated, we are still working on getting some rev 1 devices to test.  It looks like we should be able to run the tests tomorrow.

  • Mitch,

    Thank you for keep the conversation going.  You guys are great.

    fred

  • Fred,

    You're welcome. Unfortunately with the COVID situation and so many people working from home, it has been a little hard to track down the right version of the device to test.  I did order some the other day from ti.com as a backup, but it looks like they won't arrive until Monday. I still hope to get the correct device to test before then. I'll keep you posted tomorrow on any updates I have.

  • Fred,

    I was able to get and test a device with DEVICE_ID 0x2291, and I was able to write successfully to the CURRLSBCALC_3 register.  For further evaluation, can you please send us some scope shots of a write and read to the CURRLSBCALC_3 register?

  • Mitch,

    I am not sure what happened to the post I made yesterday indicating that I had found the problem.  I was resetting the registers by writing 0x8000 to CONFIG_1 and then immediately writing  a value to ADCCONFIG_2.  If done without a delay between the writes, the write to ADCCONFIG_2 did not take.   I found that a short delay between those two writes resolved my issue.  I found that at least a 3 microsecond delay was required to allow the write to take.  I have now programed in a 1 millisecond delay between the writes 

    I had made a post to this chain yesterday indicating this.  But, I do not see it now.  I am not sure what happened.

  • Hello Fred,

    I am glad you were able to figure it, let us know if you need anything else.