I2C bus capacitance and pull up resistors

Thread Starter

engr_david_ee

Joined Mar 10, 2023
358
We have an application board design which is under development stage and not produced yet. There are 10 to 12 chips on the board located at various locations on the 20 cm x 20 cm application board. All these chips are I2C slave chips. This application board will be attached to the microcontroller board with a board-to-board connector. The I2C master will be implemented on the microcontroller board. We need to run clock 400 kHz for all the I2C slave chips on the application board.

Question: how do I know the I2C bus competence and what should be the appropriate value for the pull up resistors ?
 

drjohsmith

Joined Dec 13, 2021
1,553
We have an application board design which is under development stage and not produced yet. There are 10 to 12 chips on the board located at various locations on the 20 cm x 20 cm application board. All these chips are I2C slave chips. This application board will be attached to the microcontroller board with a board-to-board connector. The I2C master will be implemented on the microcontroller board. We need to run clock 400 kHz for all the I2C slave chips on the application board.

Question: how do I know the I2C bus competence and what should be the appropriate value for the pull up resistors ?
https://www.nxp.com/docs/en/user-guide/UM10204.pdf

https://www.ti.com/lit/an/sbaa565/s...981&ref_url=https%3A%2F%2Fwww.google.co.th%2F

Pull up is highly dependent.....
Typically, you aim for around 3mA through the resistor
An osilloscope is highy desirable to determine what you need to meet the rising edge speeds of the specification
 

Rf300

Joined Apr 18, 2025
73
Question: how do I know the I2C bus competence and what should be the appropriate value for the pull up resistors ?
The bus capacitance is highly dependent on line width and distance of the line to the GND-layer, somewhere in the range of 0.5 - 5 pF/cm as a rule of thumb. You can measure it with an unpopulated PCB. Then you have to add the pin capacitance of each individual I2C chip. Look into their datasheets. Then you can calculate the desired pull-ups according to the I2C-spec from NXP which was mentioned by drjohnsmith.
 

schmitt trigger

Joined Jul 12, 2010
2,032
As Drjohnsmith mentioned, you do require to check with a scope the I2C signals, and ensure that the rise times comfortably meet the I2C requirements, to ensure it will work and remain working across many units throughout the service life and ambient temperatures.
If you find the signals to be borderline, you may require to use an extender/active terminator like the LTC4311. I know, it IS a little pricey, but both TI and NXP have similar devices which should be more affordable.
 

drjohsmith

Joined Dec 13, 2021
1,553
Bottom line @engr_david_ee
As you see.
You can either put a lot of effort into designing and simulating the system
Or you can just put i2c buffers around
Or you can try to make it low capacitance , measure and check .
 
Top