Circuitos digitales

Circuitos digitales

De los bits a las puertas lógicas: sistemas de numeración, álgebra de Boole, puertas lógicas universales y simplificación con mapas de Karnaugh, explicado paso a paso.

10
Bloques temáticos
5 h
Tiempo estimado
Principiante
Nivel

1Introducción

El control de sistemas automáticos supone el control de señales físicas (temperatura, humedad, posición, intensidad...etc.) captadas por transductores, que las convierten en señales eléctricas. Estas señales se procesan con circuitos electrónicos de 2 tipos:

Circuitos analógicos — Trabajan con señales analógicas que se caracterizan por:
  • Ser señales continuas
  • Existe un número infinito de valores
  • Cambian sin discontinuidades ni escalonamiento
Tiempo (s)Voltaje (V)VmáxVmín0
Circuitos digitales — Trabajan con señales digitales que se caracterizan por:
  • Ser señales discretas
  • Se limitan a un número finito de valores (discretas)
  • Cambian con discontinuidades o escalonamientos
Tiempo (s)Voltaje (V)VmáxVmín0

En la naturaleza no existen señales digitales, pero en la vida diaria sí: bien/mal, ON/OFF, blanco/negro...etc.

Sabiendo que las señales digitales son discretas y con un número finito de valores es lógico pensar que estamos perdiendo información y que las señales contínuas serían más adecuadas en términos de información completa. Pero entonces, ¿por qué han ganado la partida las señales digitales a las analógicas?
  • Mayor facilidad para ser transmitidas
  • Mayor facilidad para ser procesadas
  • Mayor facilidad para ser almacenadas
  • Mayor inmunidad al ruido electrónico

Las señales digitales no expresan cantidades, sino estados de las variables.

2Sistemas de numeración

Son conjuntos de dígitos que representan la información numérica. Cada sistema se define por su BASE, que representa la cantidad de dígitos que se usan para representar los números.

Principales sistemas de numeración

SistemaBaseNº de dígitosDígitos usados
Decimal1010 dígitos0 – 9
Binario22 dígitos0 y 1
Octal88 dígitos0 – 7
Hexadecimal1616 dígitos0 – 9 y A – F

Expresión polinómica

Para representar un número N en base b existe una expresión polinómica:

N = an·bn + an-1·bn-1 + ... + a1·b1 + a0·b0 + a-1·b-1 + a-2·b-2 ...

donde: N = número  ·  b = base del sistema de numeración  ·  ai = coeficientes (cifras del número N)

Consideramos que el número 423'52 está en base 10 (decimal). Determina su expresión polinómica.
posición   2   1   0   -1   -2     (b = 10)
4  2  3 , 5  2   = N
423'52 = 4·102 + 2·101 + 3·100 + 5·10-1 + 2·10-2

2.1Sistema binario

Solo 2 dígitos (0 y 1) que se llaman bits.
1 0 1 0 0 1 0 0

bit más significativo (izq.)  ·  bit menos significativo (dcha.)

8 bits = 1 byte ⇒ unidad de información

Binario → Decimal

Se aplica la expresión polinómica (potencias de 2).

10011010,1012 = ?10
1·27=128   0·26=0   0·25=0   1·24=16
1·23=8   0·22=0   1·21=2   0·20=0
1·2-1=0'5   0·2-2=0   1·2-3=0'125
10011010,1012 = 154'62510

Decimal → Binario

Se separa: parte entera y parte decimal. Hay que indicar con cuántos dígitos de precisión trabajamos (por si no da exacto).

25'3610 = ?2

Parte entera (25) — divisiones sucesivas entre 2, restos del más al menos significativo:
25│2 → 1 (resto)
12│2 → 0
6│2 → 0
3│2 → 1
1 → 1 (más signif.)
110012 = 2510
Parte decimal (0'36) — con 6 dígitos de precisión, multiplicaciones sucesivas ×2:
0'36·2=0,72   0'72·2=1,44   0'44·2=0,88
0'88·2=1,76   0'76·2=1,52   0'52·2=1,04
0'3610 = 0,0101112
25'3610 = 11001,0101112
Rango: n = 0 a 2n-1. ¿Cuántos bits necesito para representar un decimal N? → 2n = N   (n = nº de bits, N = cantidad de números representables)

2.2Sistema hexadecimal

Usa 16 dígitos: 0 – 9 y A – F

Equivalencia entre hexadecimal y decimal:

HEX0123456789ABCDEF
DEC0123456789101112131415

Hexadecimal → Decimal

Se usa la expresión polinómica (potencias de 16).

2EF16 = ?10
15·160=15   14·161=224   2·162=512
2EF16 = 75110

Decimal → Hexadecimal

Proceso similar al binario (parte entera y decimal), dividiendo/multiplicando por 16.

75110 = ?16
751│16 → resto 15 (F)   46│16 → resto 14 (E)   2 → 2
75110 = 2EF16

Binario ↔ Hexadecimal

Se hacen grupos de 4 bits, separando parte entera de parte decimal.

1101,1010112 = ?16
Entera: grupos de 4 bits de dcha. a izq. (rellenar con 0 a la izq. si falta).
Decimal: grupos de 4 bits de izq. a dcha. (rellenar con 0 a la dcha. si falta).
1101  ,  1010   1100
13       10     12
D        A     C
1101,1010M2 = D,AC16
4DF16 = ?2 (proceso inverso)
4    D    F   → hexadecimal
4   13   15   → eq. decimal
0100 1101 1111 → eq. binario
4DF16 = 0100110111112

3Álgebra de Boole

Es la base matemática de la electrónica digital. En lugar de operar con números tradicionales, se opera con 2 estados: "verdadero" o "falso".

George Boole (matemático inglés) la desarrolló en 1847 (mediados s. XIX). Pero no fue hasta 1948 que Claude Shannon (matemático e ingeniero de EE.UU.) la aplicó por 1ª vez en conmutación eléctrica biestable (2 estados).

Esos 2 estados se representan con 0 y 1, y se pueden distinguir 2 tipos de lógica:

Lógica positiva
  • 1 = valor de tensión alto = nivel lógico alto
  • 0 = valor de tensión bajo = nivel lógico bajo
+5V 0V
Lógica negativa (al revés de la positiva)
  • 1 = valor de tensión bajo = nivel lógico bajo
  • 0 = valor de tensión alto = nivel lógico alto
+5V 0V
En este tema usamos LÓGICA POSITIVA.

3.1 Función lógica

Es aquella función (f) cuyos valores son binarios (0 y 1) y dependen de una expresión algebraica formada por variables binarias relacionadas entre sí mediante diferentes operaciones.

f (A, B, C) = A·B + C

A partir de la función lógica (f) se puede obtener la tabla de verdad y a partir de la tabla de verdad se puede obtener la función lógica (f).

3.2 Tabla de verdad

Formada por:

  • columnas (cada variable de entrada + salida(s))
  • filas (2n, siendo n el nº de entradas)
  • ABCf
    0000
    0011
    0100
    0111
    1000
    1011
    1101
    1111

    4Operaciones básicas (Puertas AND / OR / NOT)

    Existen muchos estándares para la simbología de las puertas lógicas. Los más usados son:

    • ANSI (antiguo ASA) — American National Standards Institute. Simbología tradicional.
    • BS — British Standard.
    • IEC — International Electrotechnical Commission.
    Producto (Puerta AND) Producto lógico "y", intersección o puerta AND.
    La salida es 1 si TODAS las entradas son 1.
    Símbolo ANSI
    abS
    Símbolo británico
    ab&S
    Tabla de verdad

    2 entradas = 22 = 4
    combinaciones de las entradas

    abS
    000
    010
    100
    111
    Función
    S = a · b
    Circuito equivalente
    ab+
    Suma (Puerta OR) Suma lógica "o", unión o puerta OR.
    La salida es 1 si al menos UNA entrada es 1.
    Símbolo ANSI
    abS
    Símbolo británico
    ab≥1S
    Tabla de verdad

    2 entradas = 22 = 4
    combinaciones de las entradas

    abS
    000
    011
    101
    111
    Función
    S = a + b
    Circuito equivalente
    ab+
    Complemento (Puerta NOT) Inversión, negación o puerta NOT. Se aplica a 1 variable.
    La salida es lo contrario de la entrada (Ā se lee "A negada").
    Símbolo ANSI
    aS
    Símbolo británico
    a1S
    Tabla de verdad

    1 entrada = 21 = 2
    combinaciones de la entrada

    aS
    01
    10
    Función
    S = ā
    Circuito equivalente
    ā+

    5Propiedades del álgebra de Boole

    Propiedad / TeoremaRespecto a la sumaRespecto al producto
    PropiedadesConmutativaa + b = b + aa · b = b · a
    Elemento neutro0 + a = a1 · a = a
    Distributivaa · (b + c) = (a · b) + (a · c)a + (b · c) = (a + b)(a + c)
    Asociativaa + (b + c) = (a + b) + ca · (b · c) = (a · b) · c
    Complementarioa + a = 1a · a = 0
    TeoremasIdempotenciaa + a = aa · a = a
    Identidada + 1 = 1a · 0 = 0
    Absorcióna + a · b = aa · (a + b) = a
    Leyes de Morgana + b = a · ba · b = a + b

    6Puertas lógicas universales (Puertas NOR / NAND)

    Se las denomina así porque a partir de ellas podemos obtener las demás. Son 2:

    • NOR = OR + NOT — inversa a la puerta OR.
    • NAND = AND + NOT — inversa a la puerta AND.
    Puerta NOR Inversa de la OR. La salida es 1 si TODAS las variables valen 0.
    Símbolo ANSI
    abS
    Símbolo británico
    ≥1abS
    Tabla de verdad

    2 entradas = 22 = 4
    combinaciones de las entradas

    abS
    001
    010
    100
    110
    Función
    S = a + b = a · b
    Circuito equivalente
    ab+
    Puerta NAND Inversa de la AND. La salida es 0 si TODAS las entradas valen 1.
    Símbolo ANSI
    abS
    Símbolo británico
    &abS
    Tabla de verdad

    2 entradas = 22 = 4
    combinaciones de las entradas

    abS
    001
    011
    101
    110
    Función
    S = a · b = a + b
    Circuito equivalente
    ab+

    Representación de OR, AND y NOT con puertas universales (NOR / NAND)

    NOT con NOR / NAND
    aaaaaa
    OR con NOR → negando una puerta NOR
    aba+baba+ba+b
    OR con NAND → Aplicando la Ley de Morgan:
    a + b = a + b = a · b Se niega dos veces (la doble negación no cambia el valor) y se aplica la Ley de Morgan a la negación interior.
    ababa·b
    AND con NAND → negando una puerta NAND
    aba·baba·ba·b
    AND con NOR → Aplicando la Ley de Morgan:
    a · b = a · b = a + b Se niega dos veces (la doble negación no cambia el valor) y se aplica la Ley de Morgan a la negación interior.
    ababa+b

    7Otras puertas lógicas (XOR / XNOR)

    7.1 Puerta XOR (EXOR) OR exclusiva. Salida 1 solo si 1 (y solo 1) de las entradas vale 1.
    Símbolo ANSI
    abS
    Símbolo británico
    =1abS
    Tabla de verdad

    2 entradas = 22 = 4
    combinaciones de las entradas

    abS
    000
    011
    101
    110
    Función
    S = a ⊕ b = a · b + a · b
    Circuito equivalente
    abab+
    7.2 Puerta XNOR (EXNOR) NOR exclusiva. Negación de XOR. Salida 1 si las entradas tienen el mismo valor.
    Símbolo ANSI
    abS
    Símbolo británico
    =1abS
    Tabla de verdad

    2 entradas = 22 = 4
    combinaciones de las entradas

    abS
    001
    010
    100
    111
    Función
    S = a ⊕ b = a · b + a · b
    Circuito equivalente
    abab+

    8Formas canónicas (MINTERMS / MAXTERMS)

    En general, una misma función lógica puede representarse mediante varias formulaciones matemáticas equivalentes. En cambio, la tabla de verdad es la misma en todos los casos. Existen 2 representaciones denominadas formas canónicas.

    Las formas canónicas son expresiones algebraicas obtenidas a partir de la tabla de verdad, en las que cada término debe contener TODAS las variables de entrada (negadas o sin negar). Existen 2 formas canónicas:
    1ª FORMA CANÓNICA — Suma de productos (MINTERM)

    Ecuación estructurada como suma de términos en forma de producto de todas las variables.

    • Aparecen los términos de salida 1
    • No figuran los términos de salida 0
    • Variable directa = 1
    • Variable complementada =0
    S = ā·b̄·c + ā·b·c̄ + a·b·c̄
    2ª FORMA CANÓNICA — Producto de sumas (MAXTERM)

    Ecuación estructurada como producto de términos en forma de suma de todas las variables.

    • Aparecen los términos de salida 0
    • No figuran los términos de salida 1
    • Variable directa = 0
    • Variable complementada = 1
    S = (a+b+c) · (a+b̄+c) · (ā+b̄+c̄)

    9Simplificación de funciones lógicas: Mapa de Karnaugh

    Para las funciones lógicas se debe conseguir la máxima sencillez, utilizando el mínimo número de puertas lógicas, para facilitar las operaciones y que el coste de los circuitos sea el mínimo posible.

    Las propiedades del álgebra de Boole son muy laboriosas y no aseguran un resultado óptimo. Por ello se usa el método gráfico o mapa de Karnaugh, válido para funciones de 2 a 6 variables de entrada, basado en la ordenación de la tabla de verdad.

    1Dibujamos la tabla colocando las combinaciones de entrada de forma que, al pasar de una columna/fila a la contigua, solo cambie el valor de una variable.

    Plantillas del mapa

    CON 2 ENTRADAS
    A\B
    0
    1
    0
    1
    CON 3 ENTRADAS
    AB\C
    0
    1
    00
    01
    11
    10
    CON 4 ENTRADAS
    AB\CD
    00
    01
    11
    10
    00
    01
    11
    10
    2Completamos la tabla:
    • si es MINTERM escribimos 1 en las salidas que valen 1
    • si es MAXTERM escribimos 0 en las que valen 0
    • El resto, en blanco
    3Se hacen agrupaciones de términos adyacentes siguiendo estas reglas:
    • Las agrupaciones se hacen siendo potencias de 2 (1, 2, 4, 8...) siguiendo los ejes de coordenadas nunca en diagonal
    • Que las agrupaciones tengan el mayor número posible de términos
    • El número de agrupaciones debe ser mínimo
    • Un término canónico puede utilizarse en varias asociaciones
    • Los términos que no pueden agruparse se quedan solos
    4 Una vez agrupados, se aplica la siguiente ley del álgebra de Boole:
    a·b + a·b = a·(b+b) = a
    Al aplicarla, se simplifican las casillas contiguas que se diferencian en tener una variable sin negar y negada.

    10Implementación de circuitos con puertas universales (NOR / NAND)

    El proceso de diseño de un circuito digital sigue los siguientes pasos:

    aObtener la tabla de verdad
    bObtener la función canónica
    cSimplificar la función (Karnaugh)
    dImplementar el circuito
    Con NAND — Se realiza a partir de la expresión por MINTERMS:
    • Se aplica una doble negación
    • Si la expresión solo tiene productos lógicos → FIN
    • Si no, Ley de De Morgan a las sumas. Repetir hasta tener solo productos negados.
    Con NOR — Se realiza a partir de la expresión por MAXTERMS:
    • Se aplica una doble negación
    • Si la expresión solo tiene sumas lógicas → FIN
    • Si no, Ley de De Morgan a los productos. Repetir hasta tener solo sumas negadas.