En los circuitos digitales , un nivel lógico es uno de los estados finitos que puede tener una señal digital . Los niveles lógicos suelen estar representados por la diferencia de voltaje entre la señal y la tierra , aunque existen otros estándares. El rango de niveles de voltaje que representan cada estado depende de la familia lógica que se utilice. Se puede utilizar un desplazador de nivel lógico para permitir la compatibilidad entre diferentes circuitos.
En lógica binaria, los dos niveles son el nivel lógico alto y el nivel lógico bajo , que generalmente corresponden a los números binarios 1 y 0 respectivamente o a los valores de verdad verdadero y falso respectivamente. Las señales con uno de estos dos niveles se pueden utilizar en álgebra booleana para el diseño o análisis de circuitos digitales.
El uso de un nivel de voltaje más alto o más bajo para representar cualquier estado lógico es arbitrario. Las dos opciones son activo alto ( lógica positiva ) y activo bajo ( lógica negativa ). Los estados activo alto y activo bajo se pueden combinar a voluntad: por ejemplo, un circuito integrado de memoria de solo lectura puede tener una señal de selección de chip que sea activa baja, pero los bits de datos y dirección son convencionalmente activos altos. Ocasionalmente, un diseño lógico se simplifica invirtiendo la elección del nivel activo (consulte las leyes de De Morgan ).
El nombre de una señal activa baja se escribe históricamente con una barra encima para distinguirla de una señal activa alta. Por ejemplo, el nombre Q , que se lee Q barra o Q no , representa una señal activa baja. Las convenciones que se usan comúnmente son:
Muchas señales de control en electrónica son señales activas bajas [2] (normalmente líneas de reinicio, líneas de selección de chip, etc.). Las familias lógicas como TTL pueden absorber más corriente de la que pueden generar, por lo que aumentan la inmunidad al ruido y el abanico de salida . También permite la lógica OR cableada si las puertas lógicas son de colector abierto / drenaje abierto con una resistencia pull-up. Ejemplos de esto son el bus I²C , el bus CAN y el bus PCI .
Algunas señales tienen un significado en ambos estados y la notación puede indicarlo. Por ejemplo, es común tener una línea de lectura/escritura designada como R/ W , lo que indica que la señal es alta en caso de lectura y baja en caso de escritura.
Los dos estados lógicos suelen estar representados por dos voltajes diferentes, pero en algunas señales lógicas, como la interfaz de bucle de corriente digital y la lógica de modo de corriente , se utilizan dos corrientes diferentes . Se especifican umbrales alto y bajo para cada familia lógica. Cuando está por debajo del umbral bajo, la señal es baja . Cuando está por encima del umbral alto, la señal es alta . Los niveles intermedios no están definidos, lo que da como resultado un comportamiento del circuito altamente específico de la implementación.
Es habitual permitir cierta tolerancia en los niveles de voltaje utilizados; por ejemplo, de 0 a 2 voltios pueden representar un 0 lógico y de 3 a 5 voltios un 1 lógico. Un voltaje de 2 a 3 voltios no sería válido y solo se produciría en una condición de falla o durante una transición de nivel lógico. Sin embargo, pocos circuitos lógicos pueden detectar tal condición, y la mayoría de los dispositivos interpretarán la señal simplemente como alta o baja de una manera indefinida o específica del dispositivo. Algunos dispositivos lógicos incorporan entradas de disparador Schmitt , cuyo comportamiento está mucho mejor definido en la región del umbral y tienen una mayor resistencia a pequeñas variaciones en el voltaje de entrada. El problema del diseñador del circuito es evitar circunstancias que produzcan niveles intermedios, de modo que el circuito se comporte de manera predecible.
Casi todos los circuitos digitales utilizan un nivel lógico consistente para todas las señales internas. Sin embargo, ese nivel varía de un sistema a otro. La interconexión de dos familias lógicas a menudo requería técnicas especiales, como resistencias pull-up adicionales o circuitos de interfaz especialmente diseñados, conocidos como cambiadores de nivel. Un cambiador de nivel conecta un circuito digital que utiliza un nivel lógico a otro circuito digital que utiliza otro nivel lógico. A menudo se utilizan dos cambiadores de nivel, uno en cada sistema: un controlador de línea convierte de niveles lógicos internos a niveles de línea de interfaz estándar; un receptor de línea convierte de niveles de interfaz a niveles de voltaje interno.
Por ejemplo, los niveles TTL son diferentes a los de CMOS . Generalmente, una salida TTL no aumenta lo suficiente como para ser reconocida de manera confiable como un 1 lógico por una entrada CMOS, especialmente si solo está conectada a una entrada CMOS de alta impedancia de entrada que no genera una corriente significativa. Este problema se resolvió con la invención de la familia de dispositivos 74HCT que utiliza tecnología CMOS pero niveles lógicos de entrada TTL. Estos dispositivos solo funcionan con una fuente de alimentación de 5 V.
Aunque son poco comunes, las computadoras ternarias evalúan la lógica ternaria o de tres valores de base 3 utilizando 3 niveles de voltaje.
En la lógica de tres estados , un dispositivo de salida puede estar en uno de tres estados posibles: 0, 1 o Z, siendo este último el significado de alta impedancia . No se trata de un nivel de tensión o de lógica, sino que significa que la salida no controla el estado del circuito conectado.
La lógica de cuatro valores agrega un cuarto estado, X ( no importa ), lo que significa que el valor de la señal no es importante y no está definido. Esto significa que una entrada no está definida o que se puede elegir una señal de salida para facilitar la implementación (consulte el mapa de Karnaugh § No importa ).
La norma IEEE 1164 define 9 estados lógicos para su uso en la automatización del diseño electrónico . La norma incluye señales activadas de forma fuerte y débil, alta impedancia y estados desconocidos y no inicializados.
En los dispositivos de almacenamiento de estado sólido, una celda de varios niveles almacena datos utilizando múltiples voltajes. Para almacenar n bits en una celda, el dispositivo debe distinguir de manera confiable 2n niveles de voltaje distintos.
Los códigos de línea digitales pueden utilizar más de dos estados para codificar y transmitir datos de manera más eficiente. Algunos ejemplos incluyen la inversión de marca alternativa y 4B3T de las telecomunicaciones, y las variantes de modulación de amplitud de pulso utilizadas por Ethernet sobre par trenzado . Por ejemplo, 100BASE-TX utiliza codificación MLT-3 con tres niveles de voltaje diferencial (−1 V, 0 V, +1 V), mientras que 1000BASE-T codifica datos utilizando cinco niveles de voltaje diferencial (−1 V, −0,5 V, 0 V, +0,5 V, +1 V). [8] Una vez recibida, la codificación de línea se convierte nuevamente a binario.
Se garantizan límites paramétricos para VDD de 5 V, 10 V y 15 V.
Comparación técnica de las familias lógicas AHC/HC/AC (E/S CMOS) y AHCT/HCT/ACT (E/S TTL)
Gráfico de voltaje lógico (página 4)