0
\$\begingroup\$

I have an I2C sensor circuit, 3.3V applied to SDA and SCL pin through 10k resistor.

I2C communication is not working so I have measured the voltage drop across the 10k resistors. It drops 2.86V and approximately to 10kohm values getting.

Is that resistor problem or is something else wrong?

I have used two sensors, DPS310 and MPU9250 - SDA, SCL of both sensors pulled up with a 10K resistor.

Schematic:

MPIN 14-SDA
MPIN 15-SCL

enter image description here

\$\endgroup\$
19
  • 1
    \$\begingroup\$ How do you measure it? If there is communication on bus you won't measure 3.3V on bus or 0V over resistor. \$\endgroup\$
    – Justme
    Nov 24, 2021 at 10:19
  • 2
    \$\begingroup\$ Welcome to EE.SE! Please draw a schematic of what you have and how it's connected. Click on edit and the schematic symbol. \$\endgroup\$
    – winny
    Nov 24, 2021 at 10:19
  • 1
    \$\begingroup\$ There are probably other pull-up resistors. We need the complete schematic. \$\endgroup\$
    – CL.
    Nov 24, 2021 at 10:22
  • 1
    \$\begingroup\$ Thanks you guys for fast reply, i have attached schematic, \$\endgroup\$
    – VIVEK A
    Nov 24, 2021 at 10:24
  • 3
    \$\begingroup\$ Are you sure those signals are not changing while you are measuring their voltage? Is it possible that your DMM is showing you some average value of a fluctuating voltage? \$\endgroup\$ Nov 24, 2021 at 12:23

1 Answer 1

1
\$\begingroup\$

The datasheet for DPS310 suggests a supply voltage (VDDIO) of 1.8V with a 10Kohm pull-up. If you're using a greater VDDIO, perhaps you need to increase the value of the pull-up resister proportionally so that when SDI is in use it can drive the line low as well as high.

\$\endgroup\$
4
  • 1
    \$\begingroup\$ That doesn't mske much sense: (a) VDDIO is well within the specified range. (b) greater pullups would make things even worse (OP has 10k already). (c) in open drain logic pull-up resistors drive the lines high, pins drive the lines low. \$\endgroup\$
    – Sim Son
    Nov 24, 2021 at 21:42
  • \$\begingroup\$ My initial thinking is that SDI is not getting low when a logic zero is to be sent because of the greater VDDIO. A greater valued pullup resistor will cause a greater voltage drop between VDDIO and SDI, thus allowing SDI to go low when it needs to. \$\endgroup\$
    – pedro
    Nov 29, 2021 at 18:01
  • \$\begingroup\$ A lpgic lpw pulls SDI tp ground, it doesn't matter what VDDIO is. And the voltage drop accross the resistor is independent of its value. \$\endgroup\$
    – Sim Son
    Nov 29, 2021 at 19:33
  • \$\begingroup\$ For your understanding: a strong pullup is a low-value pullup. \$\endgroup\$
    – Sim Son
    Nov 29, 2021 at 19:34

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.