SCPA063 March   2023 PCA9306

 

  1.   Abstract
  2.   Trademarks
  3. 1Introduction
  4. 2General Checks for Dealing With NACKs
    1. 2.1 NACKs
    2. 2.2 Check the Schematic
    3. 2.3 Double Check SDA and SCL Between the Controller and Target
    4. 2.4 RESET Properly Biased
    5. 2.5 Device is Soldered Properly
  5. 3Scopeshots
    1. 3.1 Why use Oscilloscopes for Debugging?
    2. 3.2 Setting up the Oscilloscope
    3. 3.3 Verify the I2C Address When a NACK is Received
    4. 3.4 Validate Start and Stop Conditions
    5. 3.5 Check the Byte Format
    6. 3.6 Are Rise Times Within I2C Standard?
    7. 3.7 Are the Sent Command Bytes Valid?
  6. 4I2C Switches
    1. 4.1 Stop Conditions for TI I2C Switches
  7. 5I2C Buffers
    1. 5.1 VoL versus ViLc of the Buffer
    2. 5.2 VoL of the Buffer Exceeds the ViL of the I2C Target
    3. 5.3 Static Offset of Buffers Cannot Connect to Other Static Offsets
  8. 6Checklists
  9. 7Conclusion

Conclusion

To effectively debug I2C systems and devices, a sound understanding of the different ways communication errors can occur is necessary. Knowing all the possible ways that NACKs occur can help expedite the process of identifying and correcting errors in a system. Using correct tools and analysis techniques is also an essential component of the debugging process. Communication errors are easier to recognize if the correct tools and analysis techniques are used when capturing and inspecting I2C data transfer frames. With sound background knowledge and correct analysis techniques, errors in I2C systems and devices can be efficiently debugged in a manner that is both quick and effective. For additional I2C debugging assistance, see TI’s E2E™ forums.