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

RESET Properly Biased

In an I2C circuit, every component in the system is exposed to some level of electrical noise. Sometimes electrical noise can become large enough to unintentionally influence the voltage levels on floating pins of I2C devices. This high noise level can have a negative impact on the operation of a device, especially if the pin that is left floating is the device reset pin. If the reset pin of an I2C device is left floating, electrical noise can cause the device to unintentionally enter a reset state. To avoid unintentionally entering a reset state, bias the reset pin of all I2C target devices to a defined logic level with either a pullup or pulldown resistor. Biasing the reset pin keeps the reset pin in a defined state until the pin is intentionally changed by a controller. If high level of noise is expected in the circuit, a capacitor can be added onto the reset pin to further help reduce the effect of noise. Generally, 1-μF and 0.1-μF capacitors are both used for this type of application.

If the reset pin of an I2C target device is active low, use a pullup resistor to bias the reset pin to VCC. In this configuration, the device is only reset if the device is intentionally driven low by a controller. If the reset pin of an I2C target device is active high, use a pulldown resistor to bias the target device to GND. In this configuration, the device is only reset if the device is intentionally driven high by a controller.