6 votos

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

Tengo un I2C sensor que tiene una cierta 89kΩ resistencias pull-up en el SDA y SCL líneas. El controlador que estoy usando tiene 2,2 kΩ interna resistencias en estas líneas. Estoy preocupado de que el sensor no ser capaz de manejar la enorme disminución de la resistencia pull-up inducida por la conexión del sensor al controlador.

¿Hay alguna manera de que yo pueda pareja los dos juntos para que la resistencia del bus es la intención de 89K?

12voto

reconbot Puntos 1670

En 5V un pull-up de 2.2 kΩ significaría una corriente de menos de 3mA, que está dentro de los límites de la I2C especificaciones.

Así que supongo que sólo el trabajo.

Edit: Los puertos de e/S de los LEGO Mindstorms NXT las piezas tienen un pull-up de 82KΩ y una resistencia en serie en la salida de 4.7 kΩ, que es diferente del estándar I2C. Junto con los diodos en contra de los rieles de potencia de la resistencia en serie protege el puerto de e/S contra sobretensión, para hacerlo más robusto como un juguete.

Debido a la resistencia en serie no va a ser capaz de tirar abajo una línea con un pull-up de 2,2 kΩ, así que creo que no va a funcionar sin algún componente adicional.

5voto

kender Puntos 18446

Usted puede utilizar un bus I2C extensor de que puede actuar como un amortiguador entre los dos dispositivos.

http://www.nxp.com/documents/data_sheet/P82B715.pdf

Estos dispositivos pueden tener otros nombres, como I2C bus de línea "buffer". Están hechos por una variedad de fabricantes (TI y NXP vienen a la mente). Elija uno que se adapte a sus necesidades.

3voto

sme Puntos 1992

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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X