¿Cómo puedo lidiar con las pequeñas resistencias de pull-up internas en un bus I2C?

6

Tengo un sensor I2C que tiene unas resistencias de pull-up de 89kΩ en las líneas SDA y SCL. El controlador que estoy usando también tiene resistencias internas de 2.2kΩ en estas líneas. Me preocupa que el sensor no pueda manejar la resistencia a la tracción enormemente reducida inducida al unir el sensor al controlador.

¿Hay alguna manera de poder unir los dos juntos para que la resistencia del bus sea la 89K prevista?

    
pregunta Eric

3 respuestas

5

Puede usar un extensor de bus I2C que puede actuar como un búfer entre los dos dispositivos.

enlace

Estos dispositivos también pueden tener otros nombres, como el "buffer de línea" del bus I2C. Están hechos por una variedad de fabricantes (TI y NXP vienen a la mente). Elige uno que se ajuste a tus necesidades.

    
respondido por el Jon L
5

A 5V, un pull-up de 2.2kΩ significaría una corriente de menos de 3mA, que está dentro de los límites de Especificación I²C .

Supongo que simplemente funcionaría.

Editar: Los puertos de E / S de las partes de LEGO Mindstorms NXT tienen un pull-up de 82KΩ y una resistencia en serie en la salida de 4.7kΩ, que es diferente de la I²C estándar. Junto con los diodos contra los rieles de alimentación, la resistencia en serie protege el puerto de E / S contra sobretensiones, para que sea más robusto como un juguete.

Debido a la resistencia de la serie, no podrá bajar una línea con un pull-up de 2.2kΩ, así que creo que no funcionará sin algún componente adicional.

    
respondido por el starblue
2

No sé qué tipo de µC está utilizando. Pero algunos te dan la opción de activar o desactivar las resistencias de pull-up.

    
respondido por el Hendrik

Lea otras preguntas en las etiquetas