SBOS790A April   2017  – March 2025 INA233

PRODUCTION DATA  

  1.   1
  2. Features
  3. Applications
  4. Description
  5. Pin Configuration and Functions
  6. Specifications
    1. 5.1 Absolute Maximum Ratings
    2. 5.2 ESD Ratings
    3. 5.3 Recommended Operating Conditions
    4. 5.4 Thermal Information
    5. 5.5 Electrical Characteristics
    6. 5.6 Typical Characteristics
  7. Detailed Description
    1. 6.1 Overview
    2. 6.2 Functional Block Diagram
    3. 6.3 Feature Description
      1. 6.3.1 High-Accuracy Analog-to-Digital Convertor (ADC)
      2. 6.3.2 Interleaved Power Calculation
      3. 6.3.3 Power Accumulator and Energy Measurement
      4. 6.3.4 I2C-, SMBus-, and PMBus-Compatible Digital Interface
      5. 6.3.5 Multiple Fault Event Reporting
    4. 6.4 Device Functional Modes
      1. 6.4.1 Continuous Verses Triggered Operation
      2. 6.4.2 Device Shutdown
      3. 6.4.3 Averaging and Conversion Time Considerations
      4. 6.4.4 Filtering and Input Considerations
    5. 6.5 Programming
      1. 6.5.1 Default Settings
      2. 6.5.2 Calibration Register and Scaling
      3. 6.5.3 Reading and Writing Telemetry Data and Warning Thresholds
      4. 6.5.4 Reading Telemetry Data and Warning Thresholds
        1. 6.5.4.1 Writing Telemetry Data and Warning Thresholds
      5. 6.5.5 System-Level Calibration With MFR_CALIRATION Command
      6. 6.5.6 Bus Overview
        1. 6.5.6.1 Serial Bus Address
        2. 6.5.6.2 Serial Interface
        3. 6.5.6.3 Writing to and Reading From the INA233
          1. 6.5.6.3.1 Packet Error Checking
          2. 6.5.6.3.2 Bus Timing Requirements
        4. 6.5.6.4 SMBus Alert Response
    6. 6.6 Register Maps
      1. 6.6.1 PMBus Command Support
      2. 6.6.2 Standard PMBus Commands
        1. 6.6.2.1  CLEAR_FAULTS (03h)
        2. 6.6.2.2  RESTORE_DEFAULT_ALL (12h)
        3. 6.6.2.3  CAPABILITY (19h)
        4. 6.6.2.4  IOUT_OC_WARN_LIMIT (4Ah) [default = 01111111 11111000]
        5. 6.6.2.5  VIN_OV_WARN_LIMIT (57h) [default = 01111111 11111000]
        6. 6.6.2.6  VIN_UV_WARN_LIMIT (58h) [default = 00000000 00000000]
        7. 6.6.2.7  PIN_OP_WARN_LIMIT (6Bh) [default = 11111111 11110000]
        8. 6.6.2.8  STATUS_BYTE (78h)
        9. 6.6.2.9  STATUS_WORD (79h)
        10. 6.6.2.10 STATUS_IOUT (7Bh)
        11. 6.6.2.11 STATUS_INPUT (7Ch)
        12. 6.6.2.12 STATUS_CML (7Eh)
        13. 6.6.2.13 STATUS_MFR_SPECIFIC (80h)
        14. 6.6.2.14 READ_EIN (86h)
        15. 6.6.2.15 READ_VIN (88h)
        16. 6.6.2.16 READ_IIN (89h)
        17. 6.6.2.17 READ_VOUT (8Bh)
        18. 6.6.2.18 READ_IOUT (8Ch, R)
        19. 6.6.2.19 READ_POUT (96h, R)
        20. 6.6.2.20 READ_PIN (97h, R)
        21. 6.6.2.21 MFR_ID (99h)
        22. 6.6.2.22 MFR_MODEL (9Ah)
        23. 6.6.2.23 MFR_REVISION (9Bh)
      3. 6.6.3 Manufacturer-Specific PMBus Commands
        1. 6.6.3.1 MFR_ADC_CONFIG (D0h) [default = 01000001 00100111]
        2. 6.6.3.2 MFR_READ_VSHUNT (D1h) [default = 00000000 00000000]
        3. 6.6.3.3 MFR_ALERT_MASK (D2h) [default = XXXXXXXX 11110000]
        4. 6.6.3.4 MFR_CALIBRATION (D4h) [default = 00000000 00000001]
        5. 6.6.3.5 MFR_DEVICE_CONFIG (D5h) [default = 00000010]
        6. 6.6.3.6 5.1.1 CLEAR_EIN (D6h)
        7. 6.6.3.7 TI_MFR_ID (E0h) [value = 01010100 01001001]
        8. 6.6.3.8 TI_MFR_MODEL (E1h) [value = 00110011 00110011]
        9. 6.6.3.9 TI_MFR_REVISION (E2h) [value = 01000001 00110000]
  8. Application and Implementation
    1. 7.1 Application Information
    2. 7.2 Typical Application
      1. 7.2.1 Design Requirements
      2. 7.2.2 Detailed Design Procedure
        1. 7.2.2.1 Programming the Calibration Register
        2. 7.2.2.2 Calculating PMBus Coefficients
        3. 7.2.2.3 Programming Warning Thresholds
        4. 7.2.2.4 Calculating Returned Telemetry Values
      3. 7.2.3 Application Curves
    3. 7.3 Power Supply Recommendations
    4. 7.4 Layout
      1. 7.4.1 Layout Guidelines
      2. 7.4.2 Layout Example
  9. Device and Documentation Support
    1. 8.1 Device Support
      1. 8.1.1 Development Support
    2. 8.2 Documentation Support
      1. 8.2.1 Related Documentation
    3. 8.3 Receiving Notification of Documentation Updates
    4. 8.4 Support Resources
    5. 8.5 Trademarks
    6. 8.6 Electrostatic Discharge Caution
    7. 8.7 Glossary
  10. Revision History
  11. 10Mechanical, Packaging, and Orderable Information

READ_EIN (86h)

READ_EIN is a command that returns information that the host can use to calculate energy or to average input power consumption. Use the PMBus block read protocol to access this command. Six bytes of data are returned by this command. The first two bytes are the 16-bit, unsigned output of an accumulator that continuously sums samples of the instantaneous input power. These two data bytes are formatted such that returned values can be converted to watts using the power m, b, and R coefficients. The third data byte is a count of the rollover events for the accumulator. This byte is an unsigned integer indicating the number of times that the accumulator has rolled over from the maximum positive value (FFFFh) to zero. The last three data bytes are a 24-bit unsigned integer that counts the number of samples of the instantaneous input power that are applied to the accumulator.

The combination of the accumulator and the rollover count can overflow within a few seconds depending on the ADC conversion time. The host software must detect and appropriately handle this overflow. Similarly, the sample count value overflows, but this event only occurs one time every few hours using 1ms ADC conversion times.

To convert the data obtained with the READ_EIN command to average power, first convert the accumulator and rollover count to an unsigned integer.

Total Accumulated Unscaled Power (Accumulator_24) = (rollover_count × 216) + Accumulator

Overflow detection and handling are done on the 24 bits of accumulator data and the sample count now. As shown in Equation 6, data from the previous calculation must be saved and used in this calculation to obtain the unscaled average power. Table 6-16 lists the definitions for this command.

Equation 6. INA233

where

  • accumulator_24 [n] = Overflow corrected, 24-bit accumulator data from this read
  • Sample_count [n] = Sample count data from this read
  • accumulator_24[n-1] = Overflow corrected 24-bit accumulator data from the previous read Sample_count [n-1] = Sample count data from the previous read
  • Unscaled average power is now in the same units as the data from the READ_PIN command
  • PMBus coefficients are used to convert the unscaled average power to watts
Table 6-16 READ_EIN Definitions
BYTE MEANING DEFAULT
6 Sample count high byte 0
5 Sample count mid byte 0
4 Sample count low byte 0
3 Power accumulator rollover count 0
2 Power accumulator high byte 0
1 Power accumulator low byte 0
0 Number of bytes 6

When the average power is calculated over a known number of samples, energy can be calculated by taking the product of the average power and the time interval for that average. The time interval can be externally measured or calculated by multiplying the number of samples reported by the ADC conversion time inclusive of any device averaging modes. However, calculating the energy consumption using the ADC conversion time results in a 10% error in the energy reading because of variations in the internal sampling oscillator. For increased precision in the energy measurement, using a higher accuracy external time measurement method is recommended.

The energy accumulator can be configured by the MFR_DEVICE_CONFIG command to automatically clear with each READ_EIN command. The ability to clear the accumulator on a read permits the device to be easily synchronised to an external timer and allows the accumulator to always start at 0, thus eliminating the need to subtract the initial accumulated values and sample counts.

The READ_EIN power accumulator can also be cleared by issuing a CLEAR_EIN command or RESTORE_DEFAULTS_ALL command. Clearing the power accumulator with the RESTORE_DEFAULTS_ALL command is not recommended because this command also clears the calibration register used to scale the accumulated power.