El dispositivo I2C no tiene suficiente corriente

5

Estoy trabajando en un proyecto de pantalla y me he encontrado con algunos problemas de I2C. La pantalla tiene un diseño de 3.3 V, así que pensé, no es gran cosa, usaré una palanca de cambios de nivel y estaré en mi camino alegre. Bueno, seguro que el cambio de nivel funcionó, al menos se veía bien, hasta que puse el alcance en él. Yo estaba corriendo con un voltaje bajo de aproximadamente 1.6V durante los esclavos ACK. Los dispositivos funcionaron, pero esto no está en las especificaciones y no puedo confiar en que esto funcione en múltiples dispositivos. Por lo tanto, me pregunto si alguien sabe de una manera de absorber la corriente adicional durante el ACK sin afectar la forma de onda de entrada del maestro.

La pantalla solo puede hundir 1 mA, pero para que la palanca de cambios de nivel funcione correctamente, necesito hundir la corriente de las flexiones del lado alto y del lado bajo, por lo que hay unos 2,5 mA en la configuración actual.

He intentado usar un transitor pnp con el dispositivo esclavo conectado a la base y el lado bajo del cambiador de nivel conectado al emisor con el colector a través de una resistencia limitadora de corriente a tierra. Entonces até el emisor al esclavo con una resistencia. Esto funcionó para llevar el ACK a aproximadamente .1 V, pero la resistencia de la serie en línea desde el emisor a la pantalla distorsiona la forma de onda del maestro demasiado para sentirse cómodo.

Entonces, si alguien tiene alguna otra idea, me sentiría agradecido. Tal vez hay una solución hecha a mi medida que no puedo buscar en Google.

    
pregunta Marcus

1 respuesta

1
Los desplazadores de nivel

para dispositivos I 2 C son fáciles de hacer si conoces la técnica correcta. Recuerde que la capa de interfaz física I 2 C utiliza controladores de tipo de drenaje abierto diseñados para tirar a GND. Se utiliza una resistencia pullup para colocar la línea de señal en el nivel alto cuando el conductor deja de bajar.

Su pregunta no proporcionó suficiente información para poder saber qué voltaje necesita en el lado opuesto del traductor desde la pantalla. A los efectos de un ejemplo, mostraré el circuito que se debe utilizar para traducir desde un swing de 5V I 2 C a un 3.3V I 2 en su pantalla. Necesitará hacer dos de estos circuitos, uno para la línea SDA y otro para la línea SCL.

El BSS138 es un MOSFET de canal N. En esta configuración de circuito, el drenaje (D) va hacia el lado de la interfaz con el voltaje más alto. Asimismo, la fuente (S) va hacia el lado de menor voltaje. Atamos la compuerta (G) al más bajo de los dos niveles de voltaje de la interfaz. Se agrega una resistencia para ayudar a proteger la puerta de los transitorios en el riel de voltaje. El condensador de 0.1uF es muy importante para que la compuerta del MOSFET no se vea afectada por el acoplamiento capacitivo de las transiciones en el drenaje o fuente.

Tenga en cuenta que el diodo del cuerpo del MOSFET desempeña un papel importante en el funcionamiento de este circuito. Si intenta utilizar este circuito con niveles de voltaje inferiores a 3.3V, puede ser necesario utilizar un N-FET con un V GSth más bajo que el umbral de 1.5V ofrecido por el BSS138.

    
respondido por el Michael Karas

Lea otras preguntas en las etiquetas