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

VoL versus ViLc of the Buffer

Many I2C buffers use an internal static voltage offset to determine the side of an I2C bus that is generating a low signal. While this feature is very effective at avoiding a bus lock condition, the feature can also create additional problems for the user if the buffer is connected incorrectly. If a buffer is being connected to a target device at the location of the static voltage offset (this is commonly known as the side of the device), the VoL value at that location must be lower than the ViLc value of the device. ViLc is an internal voltage value (generally specified in the device data sheet) that is used by the internal logic circuit of the buffer to propagate a signal through the device. For the internal logic of the buffer to correctly propagate a low signal from the buffer side, VoL of the target must be lower than the provided ViLc value of the buffer. If the value is exceeded, the buffer enters a state where the output is constantly alternating between a low and a high value. To avoid this error from taking place, always verify that the VoL value of the device connected to the buffered side is lower than the ViLc value provided by the data sheet of the buffer.