1
\$\begingroup\$

I use 2 MCUs as 2 I2C Masters connect with 1 Slave F-Ram to Read/Write data frequency. One MCU has internal 12k Ohm pull up resistors on SDA & SCL. So do I need external pull up resistors?

\$\endgroup\$
  • \$\begingroup\$ are you allowed to have 2 sets of pullup resistors? \$\endgroup\$ – jsotola Aug 2 at 2:34
  • \$\begingroup\$ @jstola when one of them is 12k, yes you can have others. But the internal ones can probably be disabled. Or just ignored, maybe make the external ones slightly larger to compensate. Unless absurdly squeezed for space, I'd keep the external ones however, as it enables things like working with a version of the board only having one of the MCUs installed (new products are often prototyped as a modification of incumbent ones) \$\endgroup\$ – Chris Stratton Aug 2 at 3:08
  • \$\begingroup\$ @jsotola yes, my current design already external, but I think reduce bom and pcb space is better if it could \$\endgroup\$ – Ngô Hữu Nam Aug 2 at 3:26
  • \$\begingroup\$ @ChrisStratton thanks, may I ask some suggests for external resistors's resistance? \$\endgroup\$ – Ngô Hữu Nam Aug 2 at 3:26
1
\$\begingroup\$

I2C pullups are a system level consideration. You only need one pair of pullups per segment, but they should be sized with consideration for your bus load capacitance to ensure your digital signaling is sufficiently digital and your edge rates are within specifications. I always start around 2.2kOhms and adjust as necessary. 12 kOhm sounds way to high for my taste. In general an oscilloscope is handy when it comes to evaluation of I2C signal in integrity.

\$\endgroup\$
  • \$\begingroup\$ I see, Thanks. If I add external resistor, it will reduce or increase total resistance? \$\endgroup\$ – Ngô Hữu Nam Aug 2 at 3:23
  • \$\begingroup\$ it will reduce it, because they will be in parallel. \$\endgroup\$ – vicatcu Aug 2 at 12:23
0
\$\begingroup\$

Yes you can have multiple sets, if your bus is long or has a high capacitance it often makes sense to have more then one set.

Ideally if this is not a low power application, a decent rule of thumb is to aim for 1mA of drive current. For example, if it is a 3.3V bus, a 3.3k resistor would work well. It is a good balance between power usage and generally good results.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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