4 votos

Cómo encadenar puertas lógicas de transistores

He estado intentando construir algunos circuitos que utilicen puertas lógicas, sin utilizar chips prefabricados. Mi objetivo principal es avanzar en mi comprensión del tema, pero sería bueno hacer algo útil en el proceso.

Después de muchos intentos fallidos y de buscar en Google, llegué a esta pregunta que funciona muy bien. Pero creo que el consumo de corriente será muy alto (ya que los inversores básicamente enviarán una carga de corriente a tierra cuando estén bajos ). Esto es especialmente cierto si quieres usar muchas compuertas.

Me parece que hay que hacer "caja negra" con las puertas lógicas para poder encadenarlas todo lo que se quiera sin preocuparse mucho. Los inversores lo hacen, pero a costa de la corriente. ¿Existe una forma mejor? ¿Es el aprendizaje de la física dura detrás de todo esto la única manera de hacer realmente los circuitos lógicos complejos, por lo que sólo estoy moviendo fuera de mi profundidad? Tengo una fuerte comprensión de las puertas en sí, y diseñé mis circuitos como puertas puras ya, pero la implementación física real es muy diferente.

Así que mi pregunta sería: ¿Existe una forma sencilla y eficaz de hacer caja negra a las puertas lógicas RTL para que se puedan encadenar?

Edición: Acabo de recordar que la NOR puede utilizarse para construir otras puertas, así que supongo que la solución sería un diseño para una puerta NOR que pueda tratarse como modular.

12voto

AitorTheRed Puntos 241

RTL no es demasiado difícil. Si quieres, echa un vistazo a dos de mis respuestas: (1) construir un sumador completo y, (2) nand con led . Pero en esos casos decidí mantener las cosas realmente simples y no hacer un diseño serio. Usted ha mencionado RTL. Así que vamos a intentar un diseño RTL aquí.

Empecemos por ver el siguiente ejemplo extraído de uno de mis anteriores posts:

schematic

simular este circuito - Esquema creado con CircuitLab

Tendremos que decidir un rango de tensiones de entrada que se consideren un "0" lógico y otro rango de tensiones de entrada que se consideren un "1" lógico. Evidentemente, estos rangos no deberían solaparse y probablemente deberían tener un espacio entre ellos.

Sin embargo, antes de ir allí, el circuito anterior presenta un problema de diseño. Si asumimos que ambas entradas (A y B) están en el mayor voltaje de entrada permitido que todavía se considera un "0" lógico, entonces es bastante claro que también habrá algunos pequeña corriente de base presente y que esta corriente será amplificada por el β de Q1 para convertirse en una posible corriente de colector tirando de la tensión de colector. Esto hace que el circuito sea mucho menos diseñable, especialmente porque el valor de β varía según las partes, incluso dentro de la misma familia. Necesitamos algo presente para que el circuito sea menos dependiente del valor de β . (También necesitaremos algo para que el circuito sea menos dependiente de las variaciones de la corriente de saturación [que afecta a VBE también. Pero eso se irá resolviendo en el proceso).

Una forma de conseguirlo es añadir una resistencia de la base a tierra (o algún voltaje aún más bajo.) Algo así:

schematic

simular este circuito

(He mostrado este circuito con RD que va a tierra. Un diseño también podría considerar la idea de atarlo a un carril negativo. Pero no es necesario, por ahora).

El circuito anterior, con la adición de RD resistencia de base, mejora mucho las cosas ya que nos permite desviar las pequeñas corrientes de base fuera del BJT. Proporciona un grado adicional de libertad de diseño que nos resultará útil tener.


Así que. ¡Vamos a diseñar RTL!

Empezaremos asumiendo un único raíl de tensión de VCC=5V . Digamos también que un LOW se considera cualquier tensión de 01V y que un HIGH se considera cualquier tensión de 35V . Así que, VLOMAX=1V (obviamente, más bajo es mejor) y VHIMIN=3V . Digamos también que quieres que la salida sea capaz de manejar hasta seis entradas a la vez. (Es muy importante establecer algunas reglas como ésta si vas a diseñar algo).

Para un diseño, tenemos que averiguar las peores situaciones y diseñar para esos casos. (Si hacemos eso, el resto sólo será mejor). Los dos peores casos posibles son:

  1. Cuando las dos entradas están en VLOMAX y no se puede permitir que la salida se hunda por debajo de VHIMIN cuando se enfrenta a una carga completa de seis entradas. (Estas entradas adicionales tratarán de arrastrar la salida y tenemos que asegurarnos de que la salida no pueda ser arrastrada por debajo de VHIMIN (incluso entonces).
  2. Cuando una de las entradas está en 0V y el otro está en VHIMIN y donde la salida debe ser forzada por debajo de VLOMAX sin añadir ninguna otra carga de salida. (Sin entradas añadidas, el transistor debe por sí mismo ser capaz de bajar la salida de abajo VLOMAX . Añadir la carga sólo ayudaría y queremos que en el peor de los casos no haya ninguna ayuda añadida).

Para abordar estos detalles, voy a aportar algunas cosas que sé sobre los BJT de señal pequeña. A grandes rasgos, sus corrientes de colector aumentarán en un factor de 10 por cada 60mV cambio en VBE . (Teniendo en cuenta algunas variaciones térmicas razonables, cada factor de 10 podría ser para cualquier lugar de 5070mV cambio en VBE .)

Quiero Q1 para estar muy cerca de OFF en el caso (1) anterior, fijando RC lo suficientemente bajo como para que pueda tirar de seis cargas de entrada sin dejar que el colector se hunda por debajo de VHIMIN . Esto significa que el voltaje de la base debe ser lo suficientemente bajo para lograr que OFF estado. También quiero Q1 para estar muy cerca de EN en el caso (2) anterior. Esto significa que un ligero cambio en una de las entradas, simplemente pasando de VLOMAX a VHIMIN (sólo 2V cambio), mientras que al mismo tiempo la otra entrada intenta oponerse a este cambio pasando ella misma de VLOMAX a 0V y arrastrando hacia abajo contra esa escasa subida, debería ser suficiente para causar Q1 para pasar de OFF a EN .

Me he mantenido completamente alejado de decidir los valores de las resistencias hasta este punto. Pero ahora voy a elegir un valor para R y basar todo lo demás en esa elección. Voy a establecer R=39kΩ . Puedes elegir otra cosa, si quieres. Sólo lo elijo para mantener la corriente de alimentación semiabajo .

Para un BJT de pequeña señal, es más o menos el caso de que las corrientes de colector estarán en las decenas de nanoamperios si puedo mantener VBE<400mV . Y ese tipo de corrientes de colector son lo suficientemente bajas como para considerar que el BJT es OFF . Del mismo modo, si permito VBE sea el doble de grande, entonces la corriente de colector será 10[800mV400mV60mV] veces más, ¡o cerca de 4 millones de veces! O, bien en las decenas de miliamperios. Creo que puedo considerar que EN . (Incluso teniendo en cuenta las cuestiones térmicas, debería ser un factor de 500k y seguir en el rango de miliamperios, a pesar de todo).

Entonces, digamos que quiero que el voltaje de Thevenin sea menor que VTHOFF=400mV para OFF y ser aproximadamente el doble, o alrededor de VTHON=800mV para EN . La ecuación es:

VTH=VARD+VBRDR+2RD

Esto resuelve el caso (1) anterior como:

RDVTHOFFR2(VLOMAXVTHOFF)=13kΩ

Sin embargo, para el caso (2) anterior, es:

RDVTHONRVHIMIN2VTHOFF=22kΩ

Utilizaré el valor estándar de RD=18kΩ .

Lo único que queda por hacer es preocuparse por RC . En este caso, tiene que ser lo suficientemente fuerte (el valor más bajo es más fuerte) para que pueda levantar seis cargas cuando Q1 es OFF y lo suficientemente débil como para que cuando Q1 es EN que baja la tensión lo suficiente como para que el colector caiga por debajo de VLOMAX .

Cuando Q1 es OFF y cargado como se indica en el caso (1) anterior, entonces:

RCR(VCCVHIMIN)6(VHIMINVTHON)5.9kΩ

Voy a poner RC=4.7kΩ como valor estándar. Resulta que esto también es lo suficientemente bueno como para que si tanto como IC1mA que también cumpliremos los requisitos del caso (2). Así que hemos terminado.


Este es el diseño del circuito resultante:

schematic

simular este circuito

Teniendo en cuenta lo anterior, me imagino que VTHOFF480mV cuando ambas entradas están en VLOMAX y que VTHON720mV cuando una de las entradas está en VHIMIN y el otro está en tierra. Esto debería proporcionar un margen suficiente para un funcionamiento razonable.

Creo que encontrarás que esto funciona bien con hasta seis cargas en la salida y funciona en los rangos que he comentado.

La siguiente imagen muestra cuatro trazos que cubren el caso (1) y el caso (2) anterior, con la salida cargada y sin carga. El eje x es la tensión en la entrada A, o VA . El eje y es la tensión de salida. Las curvas sin carga se etiquetan empezando por "U" y las curvas con carga se etiquetan empezando por "L". Los trazos con VB=0V están etiquetados con "0V" y las trazas con VB=1V están etiquetados con "1V" en sus nombres.

enter image description here


Aquí hay un sumador más completo:

enter image description here

1voto

Bernd Puntos 61

Hay que mirar bien los circuitos funcionales equivalentes dentro de los chips de las puertas lógicas bipolares básicas. Esto le mostrará que para lograr un accionamiento de salida de baja impedancia para una puerta es necesario diseñar con una etapa de salida push pull. Esto es necesario para poder manejar las entradas de más de una o dos puertas en cascada. Además, cuando se hace esto, los valores de las resistencias internas necesarias para producir la lógica funcional de la puerta pueden hacerse más grandes para reducir mucho el consumo de corriente.

Hay que tener en cuenta que el uso de chips lógicos bipolares para construir ordenadores y aparatos electrónicos de antaño consumía grandes cantidades de corriente. No era raro ver sistemas con fuentes de alimentación de 60 o 100 amperios. A medida que los sistemas se hacían más complejos y exigían más compuertas, apareció una tecnología mejor para salvar el día. Los primeros transistores NMOS permitieron construir puertas que prácticamente no requerían corriente de polarización de entrada. A esto le siguió rápidamente el CMOS, que mezclaba dispositivos PMOS y NMOS para fabricar puertas lógicas que tenían pocas resistencias que desperdiciaran energía en su interior y que reducían la potencia en reposo en órdenes de magnitud.

Después de que experimente un poco más con sus puertas de transistores bipolares, puede considerar la posibilidad de hacer sus puertas discretas de bloques de construcción utilizando componentes de tipo alternativo en un intento de duplicar algo de la tecnología que rápidamente desplazó los viejos conceptos lógicos utilizados en DTL y RTL.

1voto

Matt McMinn Puntos 6067

El miniordenador PDP-8, lanzado en 1965, utilizaba DTL ( lógica de diodo-transistor ) contenidos en docenas de módulos Flip Chip de la serie R de DEC. Por ejemplo, la tarjeta R121 era un conjunto de puertas NAND. Una lista de las tarjetas de la serie R se muestra en esta página . A continuación se muestra el esquema de la tarjeta R121 con los circuitos DTL:

enter image description here

Obsérvese que utilizaba tanto los raíles de alimentación positivos (10v) como los negativos (-15v), y que casi toda la energía procedía del suministro negativo. Esta tarjeta en particular consumía 0,4 mA a 10v, y 20 mA a -15v. Los 0v se consideraban un "1" lógico, y los -3v un "0" lógico, y funcionaban a velocidades de hasta 2 MHz.

Los esquemas de las otras tarjetas (inversores, flip-flops, etc.) se pueden encontrar buscando en Google el número de tarjeta de la serie R.

1voto

Uwe Puntos 43

Aquí hay un buen artículo sobre la lógica RTL: https://en.wikipedia.org/wiki/Resistor%E2%80%93transistor_logic

Te recomiendo que leas la sección Limitaciones sobre fan-in y fan-out así como la inmunidad al ruido. Si tus puertas son modulares, el nivel bajo de una salida debe ser menor que el umbral de una entrada para dejar cierto margen de inmunidad al ruido y para que una salida conduzca una, dos o tres entradas de otras puertas. El nivel alto de una salida debe ser más alto que el umbral de una entrada para dejar margen a la inmunidad al ruido y a la conexión de varias compuertas. Si se conectan varias puertas en una cadena de inversores, los niveles lógicos no deben degradarse a lo largo de la cadena. Un oscilador en anillo de tres, cinco o siete inversores es una buena prueba, compare las salidas utilizando un osciloscopio de dos canales.

Aquí hay algunos cálculos y valores de las resistencias: http://www.play-hookey.com/digital_electronics/rtl_gates.html

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