Traducir a niveles lógicos "bajo tierra"

Tengo un chip interruptor de RF controlado por una señal lógica con niveles de 0 V y -3 V. Quiero controlar esto desde un CPLD que produce niveles CMOS normales de +3,3 V.

El área de la placa es primordial en este diseño porque estoy tratando de encajar esto en un diseño existente.

El consumo de energía de unos pocos mA o el tiempo de conmutación de hasta 100 us no sería un problema para este circuito. La entrada de control del chip de RF proporciona solo alrededor de 10 uA de carga. Los niveles lógicos aceptables están dentro de +/- 0,5 V de los valores nominales. Puedo tratar con una solución inversora o no inversora. Tengo suministros de +3.3 y -3.3 V disponibles.

Tengo una solución "bastante buena" para el problema de traducción de niveles, pero me gustaría saber si hay una "mejor" solución canónica para este problema.

Editar

Para aclarar los requisitos de salida, la lógica de salida alta debe estar entre -0,4 y +0,6 V. La lógica de salida baja debe estar entre -3,5 y -2,5 V.

1er bocado muy travieso: 3V3 zener de Vout_CPLD a Vin_RF. Resistencia de Vin_RF a -3V. Tal vez 2V7 zener o 3V0. Juega un poco.
Te he mostrado el mío, entonces, ¿cuál es tu solución "bastante buena"?
@OlinLathrop, estúpidamente demasiado complicado en comparación con el tuyo. Lo mostraré después de 24 horas.
@OlinLathrop, publicado ahora.

Respuestas (2)

Esto debería estar bien ya que solo necesita una respuesta de 100 µs. Con una impedancia de salida de 10 kΩ, la carga de 10 µA solo provocará una desviación de 100 mV, lo que está dentro de sus especificaciones.

Tenga en cuenta que esto se invierte, por lo que la polaridad de salida del CPLD debe ajustarse en consecuencia.

Agregado:

Acabo de darme cuenta de que tal vez solo desee una salida de 0 a -3,3 V, no de +3,3 a -3,3 V. Primero menciona 0 a -3,3, pero luego habla de que ±500 mV es aceptable, por lo que estoy un poco confundido. En cualquier caso, aquí está la versión de salida de 0 a -3,3 V. Este no se invierte.

Lo siento, eso no estaba claro. La lógica de salida alta en realidad debe ser de -0,4 a +0,6 V. La lógica de salida baja debe ser de -3,5 a -2,5 V.
@TheP: El circuito inferior cumple muy bien con esas especificaciones. El nivel alto estará alrededor de +300 mV y el nivel bajo no más de 100 mV por encima del suministro negativo.
Si su lógica alta no puede ser más de 0.0V máx. (por lo tanto, de -0.4V a 0.0V usando su ejemplo), ¿podría simplemente aumentar el valor de la resistencia del emisor y funcionaría?
Pensé más en esto y me di cuenta de que mi comentario anterior estaba equivocado. Usar algo similar a lo que The Photon publicó a continuación sería más apropiado.

Bien, como prometí, aquí está el mío:

esquemático

simular este circuito : esquema creado con CircuitLab

Como mencioné en los comentarios, es excesivamente complicado, en comparación con el de Olin. La única ventaja que tiene es que el voltaje de salida no sale a la superficie en el estado alto, lo que ni siquiera es necesario para mi circuito (pero podría ser útil en otra situación).

Lo que hace que funcione es usar un par complementario con resistencias de polarización integradas, como MUN5311DW1 . Esto pone R1, R2, R3, R6 y ambos BJT en un solo paquete SC-70 (2 x 2 mm), con un precio de menos de $ 0.05 en volumen (en el ruido para mis propósitos). Con el número de pieza NSBC114EPDP6T5G, el chip se puede obtener en un SOT-963 de 1 x 1 mm.

Creo que este circuito en realidad se ajusta a una huella un poco más pequeña que la de Olin, debido a los discretos externos reducidos. A menos que pueda encontrar un BJT con resistencia de emisor integrada.

La idea de Russell de simplemente usar un zener y una resistencia probablemente gane el premio de la huella, pero desafortunadamente no tengo tiempo para "jugar un poco" para encontrar el valor zener correcto en este proyecto en particular.