0
\$\begingroup\$

In low temperatures the functionality of I2C is being affected, but the slave is working properly, and the slave's temperature is also within limits. For that reason I suspect the drive strength.

Does temperature affect the drive strength of a GPIO pin?

\$\endgroup\$
7
  • 10
    \$\begingroup\$ You need to show a schematic of the circuit - your question is too vague. We don't know which controller, what slave device, what the I2C voltage level is, what the pull-up resistor values are, and because of this we cannot provide any substantive answers to you question. \$\endgroup\$ Commented Aug 22, 2019 at 14:02
  • 5
    \$\begingroup\$ Usually, circuits get stronger/faster at cold temperatures. I'm not sure why that would be breaking your I2C bus though unless it was already on the edge of failing from bad signal integrity. Are you sure you don't have a bad solder joint or something? Can you plot the signals with a scope? \$\endgroup\$
    – Justin
    Commented Aug 22, 2019 at 14:05
  • 2
    \$\begingroup\$ yes----temperature affects the conductivity of MOSFETS. At cold temperatures, the conductivity should increase. \$\endgroup\$ Commented Aug 22, 2019 at 14:06
  • 2
    \$\begingroup\$ If this is being an issue you are either at extreme temperature outside design limits, or far more likely you have a faulty design of your I2C bus. You should not be that close to failing. I've heard of people reading temperature sensors with firmware that broke on negative values... \$\endgroup\$ Commented Aug 22, 2019 at 16:43
  • 3
    \$\begingroup\$ Suggestion: capacitance of ceramic caps varies a lot with temperature, this can affect regulator stability. \$\endgroup\$
    – bobflux
    Commented Aug 22, 2019 at 21:07

1 Answer 1

1
\$\begingroup\$

Temperature will affect drive strength some, but it will also affect threshold voltage. How is the signal looking? Is your pull-up strong enough? These are basic things to check.

Also, is the slave ACK working correctly? This is a trouble spot sometimes as there is a handoff period after SCL low before the slave drives ACK. Check 100 kHz vs 400 kHz if possible.

\$\endgroup\$
1
  • \$\begingroup\$ actually the setup works perfect at higher temperatures (80 degree celcius ), but there are random failures while operating it under -25 deg celcius \$\endgroup\$
    – Vignesh C
    Commented Aug 23, 2019 at 7:55

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