2 votos

establecer el estado de salida definido al inicio

Estoy controlando un sistema de disparo a través de enlaces de fibra. El transceptor óptico para disparar el pulso que activa el canal está comandado por un IC expansor de puertos al que envío comandos a través de I2C para escribir sus registros.

El problema es que una vez conecto el sistema y alimento la placa donde están el expansor de puertos y el transceptor, los estados indeterminados de los pines IO del expansor de puertos dan 1.6V hasta que escribo los registros con 0.

Estos 1,6V son suficientes para activar el LED del transmisor, teniendo un estado lógico alto en el otro lado, aunque el sistema sea 0V-5V.

No quiero escribir específicamente 0 en los registros para tener 0V en la salida, y una resistencia pull-down no tiene sentido porque tengo 1.6V en la salida del expansor de puertos.

¿Qué podría hacer para asegurarme de que tengo 0V en las salidas IO aunque la placa esté alimentada y no haya escrito los registros todavía para tener 0V en la salida?

https://www.ti.com/lit/ds/symlink/tca9535.pdf?ts=1635761395944&ref_url=https%3A%2F%2Fwww.google.com%2F

Por otro lado en el receptor donde uso este esquema:

1635763092980.png

Obtengo RXVCC (5V) en RXD cuando no hay luz en la fibra, y 0,325V cuando hay luz. Quiero obtener lo contrario, 0V o 0,325V (estado bajo) cuando no hay luz y 5V cuando hay luz en la fibra.

Basé mi diseño en esto:

https://docs.broadcom.com/doc/AV02-2656EN

https://docs.broadcom.com/doc/AV02-0176EN

Gracias de antemano

Jesús

3voto

Jeff Loughridge Puntos 682

El problema es que una vez conecto el sistema y alimento la placa donde están el expansor de puertos y el transceptor, los estados indeterminados de los pines IO del expansor de puertos dan 1.6V hasta que escribo los registros con 0.

Bueno, la hoja de datos dice que todos los puertos P están configurados como entradas lógicas en el encendido (tabla de funciones de los pines en la p.3). Mirando la estructura interna de un pin que se muestra en la p.16, es posible decir que el FET superior (Q1) y el FET inferior (Q2) están probablemente apagados al encenderse, por lo que el pin está flotando al encenderse y permanece flotando hasta que se configura. Y es posible medir un voltaje distinto de cero aquí ya que las corrientes de fuga (por ejemplo, a través de Q1 y Q2 mientras están apagados) encuentran un camino cuando colocas tu DMM. Y lo que es peor, estas fugas pueden ser suficientes para encender el LED.

... y una resistencia pull-down no tiene sentido porque tengo 1,6V a la salida del expansor de puertos.

Deberías tirar de la patilla hacia abajo a través de una resistencia relativamente baja (1k-ish) porque la patilla está flotando. Y eso es lo que sugiere la hoja de datos en la nota a pie de página (1) al final de la p.3.

Obtengo RXVCC (5 V) en RXD cuando no hay luz en la fibra y 0,325 V cuando hay luz. Quiero obtener lo contrario, 0V o 0,325V (estado bajo) cuando no hay luz y 5V cuando hay luz en la fibra.

Normalmente se trata de una pregunta diferente, así que prefiero responderla por separado. En fin... Lo que necesitas es un inversor transistorizado . Un transistor de alta velocidad con una resistencia de carga relativamente baja podría hacer el trabajo.

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