Drenaje abierto a través del gatillo Schmitt

0

Estoy intentando usar una pizarra que realiza el cambio de nivel de un pin GPIO de 5V a un pin RSTn de 3.3V a Decawave DWM1000 Module a través de a SN74LVC2G17DBVR .

El problema es que, como se explicó en la Sección 5.6.3 de la hoja de datos, la fuente externa del pin RSTn debe estar abierta, tan pronto como se reinicie el chip. Si estuviera directamente conectado al pin GPIO, entonces simplemente requeriría que el pin esté configurado como una entrada de alta impedancia después de que haya bajado el nivel. Sin embargo, sospecho que el desencadenante está complicando las cosas.

Para iniciar un reinicio, el pin GPIO se configura como una salida con un valor bajo. Luego mantiene este valor durante 2 milisegundos y luego se configura para una entrada de alta impedancia. Creo que el desencadenador no puede permitir que una salida flote, por lo que el restablecimiento solo se puede activar en alto o bajo.

Entonces, supongo que mi pregunta es la siguiente: ¿Hay alguna modificación que pueda hacer en la placa existente que pueda abordar este problema? Si no, ¿qué componente debo usar en su lugar?

    
pregunta Mephistopheles

1 respuesta

3

Todavía no he visto las respuestas a ninguna de mis preguntas, pero creo que podría haber resuelto (al menos uno de) el (los) problema (s) sobre los que estaba preguntando:

Usar un GPIO de 5V correctamente como una salida de drenaje abierto , no será un problema para una entrada limitada a 3.3V, que se espera que sea impulsada por una salida de drenaje abierto. Esto se debe a que la salida de drenaje abierto proporciona una ruta de baja resistencia a 0 V, o bien no está efectivamente allí (aparte de la corriente de fuga pequeña). Como salida de drenaje abierto, no genera 5V (a diferencia de una salida push-pull), lo que parece ser parte de su preocupación.

Está claro en la hoja de datos del transceptor Decawave DW1000 que su señal RSTn espera ser activada por una salida de drenaje abierto:

  

Una fuente externa debe abrir-drenar el pin RSTn una vez que se haya reiniciado el DW1000.

O podría ser impulsado por una salida GPIO de 3.3V (o 5V) en modo push-pull, pero solo para controlar la señal RSTn baja, y luego ese pin MCU debe cambiarse para convertirse una entrada (en otras palabras, no debe no elevar la señal) como se explica aquí:

  

Si RSTn es controlado por un GPIO de un microcontrolador externo, se debe tener cuidado para garantizar que el GPIO esté configurado como de alta impedancia tan pronto como se libere del estado BAJO.

Sin embargo, el IC que mencionó estaba utilizando como convertidor de nivel ( TI SN74LVC2G17 Dual Schmitt-Trigger Trigger Buffer ) es no un dispositivo de salida de drenaje abierto

Como RSTn low de activación restablece el Decawave IC, cuando deja de transmitir esa señal al búfer (para finalizar el restablecimiento), está activando esa señal a un nivel alto (dado que el disparador TI Schmitt no es un dispositivo de salida de drenaje abierto ). Sin embargo, la hoja de datos de Decawave IC dice:

  

RSTn nunca debe ser elevado a una fuente externa.

Por lo tanto, no debe conducir la señal RSTn de Decawave IC utilizando ese IC de búfer de activación de Schmitt de TI.

Las opciones incluyen:

  • conduzca la entrada de señal Decawave 3.3V RSTn directamente desde el 5V GPIO que mencionó, en modo de drenaje abierto, si puede estar seguro de que nunca nunca aumentará la salida al presionar -pulso modo , por ejemplo, debido a un error de programación u otras causas fuera de su control;

o

  • use un IC adecuado para el búfer de apertura-drenaje entre el 5V GPIO (esta vez configurado en modo push-pull) y la entrada de señal de 3.3V RSTn.

Actualización: es difícil recomendar un IC de búfer de drenaje abierto adecuado, sin conocer las limitaciones de diseño y las razones por las que se eligió originalmente el 74LVC2G17 actual.

El 74LVC2G17 tiene dos compuertas de protección (no de drenaje abierto) por paquete. Encontré que NXP produce un 74LVC2G06 que tiene dos open-drain , Schmitt -controlador, inversores. Parecen que tienen el mismo pinout que su 74LVC2G17 actual (pero hacen una doble verificación).

Como las puertas 74LVC2G06 son inversores, deberá invertir la lógica de los pines GPIO que los impulsan, para tener un comportamiento equivalente al 74LVC2G17 (y, por supuesto, las puertas 74LVC2G06 no elevan sus salidas) , como se muestra aquí en la hoja de datos de NXP.

Hoja de datos de Source NXP

Al menos ese es un punto de partida en su búsqueda de un dispositivo alternativo más adecuado.

Si necesita más compuertas de drenaje abierto, vale la pena investigar los dispositivos (relativamente comunes) 74LVC06.

    
respondido por el SamGibson

Lea otras preguntas en las etiquetas