SLYS023A December   2020  – May 2022 INA229


  1. Features
  2. Applications
  3. Description
  4. Revision History
  5. Pin Configuration and Functions
  6. Specifications
    1. 6.1 Absolute Maximum Ratings
    2. 6.2 ESD Ratings
    3. 6.3 Recommended Operating Conditions
    4. 6.4 Thermal Information
    5. 6.5 Electrical Characteristics
    6. 6.6 Timing Requirements (SPI)
    7. 6.7 Timing Diagram
    8. 6.8 Typical Characteristics
  7. Detailed Description
    1. 7.1 Overview
    2. 7.2 Functional Block Diagram
    3. 7.3 Feature Description
      1. 7.3.1 Versatile High Voltage Measurement Capability
      2. 7.3.2 Internal Measurement and Calculation Engine
      3. 7.3.3 Low Bias Current
      4. 7.3.4 High-Precision Delta-Sigma ADC
        1. Low Latency Digital Filter
        2. Flexible Conversion Times and Averaging
      5. 7.3.5 Shunt Resistor Drift Compensation
      6. 7.3.6 Integrated Precision Oscillator
      7. 7.3.7 Multi-Alert Monitoring and Fault Detection
    4. 7.4 Device Functional Modes
      1. 7.4.1 Shutdown Mode
      2. 7.4.2 Power-On Reset
    5. 7.5 Programming
      1. 7.5.1 Serial Interface
        1. SPI Frame
    6. 7.6 Register Maps
      1. 7.6.1 INA229 Registers
  8. Application and Implementation
    1. 8.1 Application Information
      1. 8.1.1 Device Measurement Range and Resolution
      2. 8.1.2 Current , Power, Energy, and Charge Calculations
      3. 8.1.3 ADC Output Data Rate and Noise Performance
      4. 8.1.4 Input Filtering Considerations
    2. 8.2 Typical Application
      1. 8.2.1 Design Requirements
      2. 8.2.2 Detailed Design Procedure
        1. Select the Shunt Resistor
        2. Configure the Device
        3. Program the Shunt Calibration Register
        4. Set Desired Fault Thresholds
        5. Calculate Returned Values
      3. 8.2.3 Application Curves
  9. Power Supply Recommendations
  10. 10Layout
    1. 10.1 Layout Guidelines
    2. 10.2 Layout Example
  11. 11Device and Documentation Support
    1. 11.1 Receiving Notification of Documentation Updates
    2. 11.2 Support Resources
    3. 11.3 Trademarks
    4. 11.4 Electrostatic Discharge Caution
    5. 11.5 Glossary
  12. 12Mechanical, Packaging, and Orderable Information



Current , Power, Energy, and Charge Calculations

For the INA229 device to report current values in Ampere units, a constant conversion value must be written in the SHUNT_CAL register that is dependent on the maximum measured current and the shunt resistance used in the application. The SHUNT_CAL register is calculated based on Equation 2. The term CURRENT_LSB is the LSB step size for the CURRENT register where the current in Amperes is stored. The value of CURRENT_LSB is based on the maximum expected current as shown in Equation 3, and it directly defines the resolution of the CURRENT register. While the smallest CURRENT_LSB value yields highest resolution, it is common to select a higher round-number (no higher than 8x) value for the CURRENT_LSB in order to simplify the conversion of the CURRENT.

The RSHUNT term is the resistance value of the external shunt used to develop the differential voltage across the IN+ and IN– pins. Use Equation 2 for ADCRANGE = 0. For ADCRANGE = 1, the value of SHUNT_CAL must be multiplied by 4.

Equation 2. GUID-20201111-CA0I-3S3K-PVF0-ZKQT1G5JGBT2-low.gif


  • 13107.2 x 106 is an internal fixed value used to ensure scaling is maintained properly.
  • the value of SHUNT_CAL must be multiplied by 4 for ADCRANGE = 1.


Equation 3. GUID-A381DBEE-8FDA-4E0A-A3F2-90E73FD80FD3-low.gif

Note that the current is calculated following a shunt voltage measurement based on the value set in the SHUNT_CAL register. If the value loaded into the SHUNT_CAL register is zero, the current value reported through the CURRENT register is also zero.

After programming the SHUNT_CAL register with the calculated value, the measured current in Amperes can be read from the CURRENT register. The final value is scaled by CURRENT_LSB and calculated in Equation 4:

Equation 4. GUID-DF56AF98-F57E-41EB-89A1-F6723F758787-low.gif


  • CURRENT is the value read from the CURRENT register

The power value can be read from the POWER register as a 24-bit value and converted to Watts by using Equation 5:


Equation 5. GUID-3FBE4673-114F-4934-8463-12A6A0AE8096-low.gif


  • POWER is the value read from the POWER register.
  • CURRENT_LSB is the lsb size of the current calculation as defined by Equation 3.


The energy value can be read from the ENERGY register as a 40-bit unsigned value in Joules units. The energy value in Joules is converted by using Equation 6:


Equation 6. GUID-EF221C25-DCB6-4A0F-8A35-3EC9943251C7-low.gif

The charge value can be read from the CHARGE register as a 40-bit, two's complement value in Coulombs. The charge value in Coulomb is converted by using Equation 7:

Equation 7. GUID-B580E75E-B1BF-456F-8F85-7FF09E881809-low.gif


  • CHARGE is the value read from the CHARGE register.
  • CURRENT_LSB is the lsb size of the current calculation as described in Equation 3.

Upon overflow, the ENERGY and CHARGE registers will roll over and start from zero. The register values can also be reset at any time by setting the RSTACC bit in the CONFIG register.

For a design example using these equations refer to Section 8.2.2.