3
\$\begingroup\$

I am designing a PCB that uses I2C communication and was wondering how much length the SCL and SDA lines can differ by.

EDIT: Clock frequency can be anything from 95kHz to 400kHz. Is there a standard?

EDIT 2: Pull ups are 10kΩ. Is it an issue if the pull up is high? and what if there are multiple pull -ups on the SCL and SDA lines?

\$\endgroup\$
6
  • 1
    \$\begingroup\$ 100 kHz? The difference can probably be several meters (if that doesn't cause a failure due to excess capacitance). 4 MHz, maybe only a few 10's of cm (but same thing about the capacitance). \$\endgroup\$
    – The Photon
    Nov 27, 2019 at 3:12
  • \$\begingroup\$ What is your desired clock speed here and what is your pull-up? \$\endgroup\$
    – user103380
    Nov 27, 2019 at 3:30
  • \$\begingroup\$ 100 kHz and 400 kHz are two standard frequencies. But operating the system slower than what it's designed for is allowed. \$\endgroup\$
    – The Photon
    Nov 27, 2019 at 4:29
  • \$\begingroup\$ Desired clock speed is probably 100kHz (Arduino Standard) and pull ups are 10kΩ \$\endgroup\$
    – ALUW
    Nov 27, 2019 at 4:29
  • 2
    \$\begingroup\$ Maximum pull-up resistance depends on the load capacitance. 10 kohms is pretty high for I2C, but might work if you have minimal capacitance (only one master, one slave, and short traces). \$\endgroup\$
    – The Photon
    Nov 27, 2019 at 4:41

1 Answer 1

9
\$\begingroup\$

For any distance over which I2C is a viable means of communication, and certainly within a single PCB, there is no need for any trace length matching constraint between SCL and SDA. It won't have any noticeable effect on the signal integrity or timing margins.

\$\endgroup\$
2
  • \$\begingroup\$ Why is this the case? \$\endgroup\$
    – ALUW
    Nov 27, 2019 at 4:36
  • 3
    \$\begingroup\$ @ALUW Because I2C is very very slow and electricity travels very very fast, and distances on a PCB are very very short in comparison. By the time the next I2C clock edge is ready to transmit, the signal from the previous pulse would have had enough time to travel everywhere on the PCB and back again at at least several times. \$\endgroup\$
    – DKNguyen
    Nov 27, 2019 at 4:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.