Traducción lógica con diferente referencia de tierra

Tengo dos chips que se comunican entre sí mediante E/S CMOS de 1,8 v (UART de 1 Mbs). Un chip está en el plano de tierra normal de 0v, pero la tierra del segundo chip está en 0,7v (por lo que su E/S funciona a 2,5v para alta y 0,7v para baja con referencia a la tierra de 0v del primer chip).

Estoy tratando de encontrar la mejor manera de traducir estos niveles lógicos para que la E/S funcione correctamente entre ellos. Una opción es simplemente conectarlos sin cambio de nivel, en cuyo caso el primer chip vería 2.5v en lugar de 1.8v para alto (debería ser capaz de tolerar) y .7v para bajo en lugar de 0v (que sería probablemente no sea confiable para una lógica baja de 1.8v que es alrededor de .45v para estar seguro).

Otra opción es usar algo como TXS0102, con su tierra referenciada a 0v. Dos preguntas con esto, la señal baja de .7v del Chip 2 se alimentará a la entrada del TXS0102, pero ¿será lo suficientemente baja como para activar una salida de 0v para el chip 1? En segundo lugar, cuando el chip 1 envía una señal baja al chip 2, ya que se reducirá a 0v, el chip 2 lo verá como -.7v. ¿Esto causará problemas con la puerta lógica con el tiempo si su puerta lógica sigue viendo un voltaje negativo bajo?

¿Estoy complicando demasiado esto y hay una manera más simple de hacerlo con divisores de voltaje para una lógica lenta de 1Mbs?

Parece como si hubiera un diodo en las líneas de tierra. Intentaría deshacerme de eso primero. Rara vez es una buena idea y puede afectarlo de otras maneras más adelante.
¿Diodo en las líneas de tierra? Se supone que la diferencia de voltaje entre los planos de tierra está ahí y es por diseño...

Respuestas (3)

Esto cambiará los voltajes con 0.7V

También funcionará con señales bidireccionales como ves.

Las resistencias se eligen para 1,8 mA, pero puede cambiarlas a 470 ohmios (3,8 mA) si tiene señales más rápidas.

esquemático

simular este circuito : esquema creado con CircuitLab

interesante... no pensé en diodos. Esto tiene sentido al pasar del lado alto (señal de 2.5v) al lado bajo, ya que el diodo lo reducirá a 1.8v para un solo alto y el bajo .7v irá a 0v, pero sin entender realmente cómo funcionaría esto para traducir 0v baja -> .7v y alta de 1.8v a 2.5v.
@electronuts El diodo siempre conduce hacia adelante, el voltaje del lado bajo siempre será 0.7 más bajo que el voltaje del lado alto. Para señales unidireccionales, puede omitir la resistencia en el lado del controlador.
@electronuts No es original, es del documento de consejos y trucos de microchip pic, solo se adaptó de dos maneras porque no se especificó si usa señales bidireccionales o unidireccionales.
Correcto, tiene sentido TX de lado alto a RX de lado bajo, pero no veo cómo funcionaría esto para TX de lado bajo a RX de lado alto... Es UART, por lo que cada chip tiene dos líneas RX/TX unidireccionales. Aquí hay una visualización de lo que estoy tratando de preguntar imgur.com/JdKCgmS
@electronuts Sí, funcionará, el ánodo siempre será 0,7 más alto que el cátodo, sin importar el lado del controlador. La corriente fluye desde el voltaje del lado alto, R, diodo, salida del controlador a la tierra del lado bajo. El diodo siempre está polarizado hacia adelante. Funcionará para el controlador de lado bajo. En este caso, no use R en el lado del conductor (para señales unidireccionales).
bueno, acabo de hacer una maqueta rápida de la placa de prueba y parece funcionar bien, ¿se necesitan resistencias tanto de subida como de bajada que van de mayor a menor? Sin la R en el controlador del lado bajo, ¿no fluiría corriente hacia el controlador, así que es mejor dejarlo?
@electronuts No es necesario porque de todos modos está en cortocircuito por la salida del controlador.

"... ¿será esto lo suficientemente bajo como para activar una salida de 0v para el chip 1?"

Posiblemente no. Está muy por encima del VIL del TXS0102.

"¿Esto causará problemas con la puerta lógica con el tiempo si su puerta lógica sigue viendo un voltaje negativo bajo?"

Probablemente. Está por debajo de la clasificación mínima absoluta para la entrada del TXS0102.

Podría hacer algunas soluciones con divisores de voltaje si no le importa consumir mucha corriente adicional, ralentizar el tráfico, etc. Pero realmente, debe considerar por qué necesita una compensación en los terrenos y eliminarla con alguna otra solución. Hay una razón por la que esto no es algo estándar.

desafortunadamente es parte del diseño y no algo que pueda ser "eliminado"

Tengo el mismo problema con un amplificador OPA564, que tiene bits de control referenciados a la fuente de alimentación negativa (-12V en mi caso), y necesito cambiarlos a los niveles del procesador referenciados a tierra a 0V.

Encontré 2 soluciones, pero no pude encontrar un IC de cambio de nivel simple.

  1. lujoso y simple con aislador digital (ISO7021DR por ejemplo)
  2. Traductor basado en transistores, barato pero usa muchos componentes, y debe lidiar con pull-up (no es necesario para mí)

traductor basado en transistores