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

Checklists

Table 6-1 through Table 6-3 show schematic checklists for the I2C IO expander, I2C switch, I2C MUX, and I2C buffer.

Table 6-1 I2C IO Expander Schematic Checklist
CheckComments (if Needed)
Local decoupling capacitorsGenerally, a 0.1-μF capacitor is placed on VCC, as close to device as possible.
Verify the schematic pinout matches the data sheet pinout.
Verify that the SDA, and SCL net names match SDA and SCL pinout.
Check that the pullup resistors are present on the SDA and SCL net within the schematic.
Unused GPIO pins are biased to either VCC or GND via resistor.Most of TI's IO expander portfolio do not include internal pullup resistors on the p-port pins; the exceptions are PCF8575, PCF8574, PCF8574A, TCA9555|PCA9555, PCA9554|TCA9554, and TCA9554A|PCA9554A and therefore can be left floating.
An alternative approach is after powering up the device, any unused p-port pins can be set as an output (does not matter if set high or low).
Device address is unique on the bus unless using an I2C switch or I2C MUX to resolve conflicts.
If the device has a #RESET pin, bias the pin high (preferably with a pullup resistor) after powering up.
If the device has a #INT pin and the #INT pin is used, tie this pin to a pullup resistor. If unused, the #INT pin can be left floating since this pin is an open drain output.
Table 6-2 I2C switch or I2C MUX Schematic Checklist
CheckComments (if Needed)
Local decoupling capacitorsGenerally a 0.1-μF capacitor is placed on VCC as close to device as possible.
Verify that the schematic pinout matches the data sheet pinout.
Check that the SDA and SCL net names match SDA and SCL pinout.
Check that the pullup resistors are present on the SDA and SCL net within the schematic.
Device address is unique on the bus unless the device sits downstream of an I2C switch or I2C MUX to resolve conflicts.
If the device has a #RESET pin, bias the pin high (preferably with a pullup resistor) after powering up.
If the device has an #INT input pin, the pin needs to be biased (usually with a resistor to VCC or GND).Even if unused, bias this pin to GND or VCC, preferably with a resistor.
If the device has an #INT output pin and the pin is used, tie the pin to a pullup resistor.If unused, the #INT pin can be left floating since the pin is an open drain output.
Table 6-3 I2C Buffer Schematic Checklist
CheckComments (if Needed)
Local decoupling capacitorsGenerally a 0.1-μF capacitor is placed on VCC as close to device as possible.
Verify that the schematic pinout matches the data sheet pinout.
Check that the SDA and SCL net names match SDA and SCL pinout.
Verify that pullup resistors are present on the SDA and SCL net within the schematic.
Check that VCC rules are followed.
Verify the static voltage offset is not connected to any other I2C buffer on the offset side.For TCA9517, TCA9517A, TCA9617A, and TCA9617B, the offset is on the B side.
P82B96 has the offset on the Sx or Sy side.
TCA9509 has the offset on the A side.
TCA980x has a current offset on the B side and cannot connect to any offset on the B side either.
TCA9515A and TCA9515B have their offset on both sides and cannot connect to any static voltage offset device on either side.
If device has an enable pin, make sure the pin is biased properly after powering up.

Some devices include an internal pullup resistor.
An external pullup resistor is recommended when external noise can couple onto the enable pin from a noisy environment.