Relationship betwen sink current and ability to pull the line low

Click For Summary
SUMMARY

The discussion centers on the relationship between sink current and the ability of an I2C slave device to pull the data line low. The master device is a TI Cortex M3 processor, and the slave is an ST Compass. The issue arises from the slave not pulling the data line to ground, violating I2C specifications. The maximum sink current specified for the slave is 3 mA, which, with a 1.1K pull-up resistor, results in a voltage drop that prevents the line from reaching ground level. Adjusting the pull-up resistor values is recommended to resolve this issue.

PREREQUISITES
  • Understanding of I2C protocol and specifications
  • Knowledge of open-drain configurations in digital circuits
  • Familiarity with TI Cortex M3 and ST Compass specifications
  • Basic electronics principles, including Ohm's Law and voltage drop calculations
NEXT STEPS
  • Research I2C pull-up resistor sizing and its impact on signal integrity
  • Learn about the electrical characteristics of the ST Compass slave device
  • Explore methods to measure sink current in I2C devices
  • Investigate alternative pull-up resistor values for improved performance
USEFUL FOR

Electronics engineers, embedded systems developers, and anyone troubleshooting I2C communication issues, particularly those working with TI and ST components.

maverick202
Messages
2
Reaction score
0
Hi,
I am trying to program an I2C interface and it's not working. The master is TI Cortex M3 processor and slave is ST Compass. I have captured the scope pictures and found that slave is not bringing the data line all the way to ground and this is violating I2C spec. I have sent the scope picture to TI. The reply I got was to verify the sink current on the slave as it may effect the slave's ability to bring the line low. Both ends have open-drain with 1.1K pullup.

Can someone please explain the relationship between sink current and the ability to pull the line low.

Thanks.
 
Engineering news on Phys.org
maverick202 said:
Hi,
I am trying to program an I2C interface and it's not working. The master is TI Cortex M3 processor and slave is ST Compass. I have captured the scope pictures and found that slave is not bringing the data line all the way to ground and this is violating I2C spec. I have sent the scope picture to TI. The reply I got was to verify the sink current on the slave as it may effect the slave's ability to bring the line low. Both ends have open-drain with 1.1K pullup.

Can someone please explain the relationship between sink current and the ability to pull the line low.

Thanks.

The max sink current capability will determine how big the voltage drop can be across the pullup resistor. So if you can only sink 1mA and have a 1.1kOhm pullup, you will get a 1.1V drop across the pullup resistor (so the low output voltage value will only be Vcc - 1.1V).

What is the max sink current specified in the datasheet for your slave?
 
Thanks Berkeman that's a great explanation. According to slave spec, max sink current is 3 mA. Wit 1.1K it should be 3.3mA. This explains the reason for not reaching ground. I should play with pullup resistors.