0
\$\begingroup\$

Rough idea I am designing a PCB board with an ESP32 and multiple I2C devices on the same I2C line.

One I2C device is an RTC (Real-Time Clock) chip, which is included in my board design. I will take the chip and design the circuit myself, so it's important to note that I am not using a pre-made module. Therefore, I will add pull-up resistors for this device as needed.

The second device is the ADS115 ADc chip, which I added myself to the board. This is also not a module, and I can add pull-up resistors on my own.

Two additional ports are open to connect external I2C supported sensor modules operating at 3.3V. These modules have built-in pull-up resistors ranging from 4.7k to 10k.

I want to achieve fast communication, and I found a Texas Instruments guide for determining the minimum and maximum resistance values. The rise time should be 300 ns for effective communication, which seems to be a critical factor. However, I’m unsure about the required capacitance (Cb). The sink current should be 3 mA.

I would appreciate your suggestion on using a 4.7kΩ pull-up resistor for both the SDA and SCL lines. Is this value seems suitable since we have the flexibility to design the PCB board to accommodate it.Or We should use separate pull-up resistors for all devices, which may result in decreasing total resistance because they will be in parallel.

enter image description here

\$\endgroup\$
4
  • \$\begingroup\$ So which speed you are targeting? The 101 .. 400 kHz FastMode range, with 300ns risetime? The sink current can be less than the max 3mA, but how long wiring you have? Also you cannot reach 400 kHz within risetime specs if the wiring, boards and chips add up too much capacitance. 400 kHz with 400pF is not possible only with 3mA passive pull-up resistors. \$\endgroup\$ Commented Jul 25 at 13:27
  • \$\begingroup\$ We are planning to use the SHT20 sensor, which has a wire length of 1 to 2 meters. The required frequency for Fastmode operation is 400 kHz, with a rise time of 300 ns. However, if we use the SHT20 sensor, we will need to reduce the frequency to 100 kHz. \$\endgroup\$ Commented Jul 25 at 13:47
  • \$\begingroup\$ This is incorrect. 400 kHz is not a requirement for Fast Mode. Also, SHT20 supports Fast Mode so you don't need to use 100 kHz. \$\endgroup\$ Commented Jul 25 at 15:14
  • \$\begingroup\$ I’d suggest using a separate I2C bus for the off-board sensors. I2C tends to lock up if you get glitches, thus implementing timeouts is essential. \$\endgroup\$ Commented Jul 26 at 3:24

0

Your Answer

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.