Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I...

16
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 0 Circuitos Digitales I EL-3213 Prof: Luis Tarazona Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 1 Introducción Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 2 Representaciones numéricas analógicas y digitales ! Representación analógica Una cantidad se representa con el valor de una variable física proporcional al valor de la cantidad. Estas pueden variar gradualmente sobre un intervalo continuo de valores ! Representación digital Las cantidades no se representan por valores proporcionales sino por símbolos denominados dígitos Las cantidades varían en pasos o etapas discretas ¿Puede Ud. dar ejemplos de c/u? Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 3 Sistemas digitales y sistemas analógicos ! Sistema digital Combinación de dispositivos diseñados para manipular cantidades físicas o información en forma digital. Pueden ser electrónicos, mecánicos, magnéticos o neumáticos ! Sistema analógico Combinación de dispositivos diseñados para manipular cantidades físicas representadas en forma analógica.

Transcript of Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I...

Page 1: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 0

Circuitos Digitales I EL-3213

Prof: Luis Tarazona

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 1

Introducción

Circuitos Digitales I

Sistemas Digitales y Sistemas Analógicos

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 2

Representaciones numéricas analógicas y digitales

! Representación analógica– Una cantidad se representa con el valor de una

variable física proporcional al valor de la cantidad.– Estas pueden variar gradualmente sobre un intervalo

continuo de valores

! Representación digital– Las cantidades no se representan por valores

proporcionales sino por símbolos denominados dígitos

– Las cantidades varían en pasos o etapas discretas

¿Puede Ud. dar ejemplos de c/u?

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 3

Sistemas digitales y sistemas analógicos

! Sistema digital– Combinación de dispositivos diseñados para

manipular cantidades físicas o información en forma digital.

– Pueden ser electrónicos, mecánicos, magnéticos o neumáticos

! Sistema analógico– Combinación de dispositivos diseñados para

manipular cantidades físicas representadas en forma analógica.

Page 2: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 4

Ventajas de los sistemas digitales

! Generalmente son más fáciles de diseñar! Facilidad para almacenar la información! Mayor exactitud y precisión! Pueden ser programables! Mayor inmunidad al ruido! Mayor densidad de circuitería en las pastillas

de circuitos integrados

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 5

Limitaciones de los sistemas digitales

El mundo real es fundamentalmente analógico, así que es necesario:

1. Convertir las entradas analógicas del sistema a digital.

2. Procesar la información digital.3. Convertir las salidas digitales a analógicas.

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 6

Ej: Diagrama de bloques de un controlador digital

Dispositivo de medición

Cantidad a medir

(analógica)Convertidor

analógico digitalProcesamiento

digital

Convertidor digital analógico Controlador

Señal de control

(analógica)

Señal analógica

Señal digital

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 7

Representación de dígitos binarios

C. decargadoC. CargadoMemoria dinámica

Flujo invertidoSin flujo inv.Cinta o disco magnétcio

Con luzSin luzFibras ópticas

3.0 – 5.0 V0 – 2.0 VLógica CMOS

2.0 – 5.0 V 0 – 0.8 VLógica TTL

Cto. cerradoCto. abiertoLógica de relevadores

1 lógico0 lógicoTecnología

Page 3: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 8

Compuertas lógicas (1)

! Compuertas básicas:– Son los circuitos que implementan las funciones lógicas

básicas. Permiten construir cualquier función lógica como combinación de éstos

! Compuerta AND ( • )– La salida es 1 lógico si todas las entradas son 1 lógico

! Compuerta OR ( + )– La salida es 1 lógico si una o más entradas son 1 lógico

! Compuerta NOT ( ‘ ó ¯ )– La salida es el inverso o complemento de la entrada

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 9

Compuertas lógicas (2)

111001010000

A.BBA

Compuerta AND

Tabla de verdad

0110A’A

Compuerta NOT

Tabla de verdad

111101110000

A+BBA

Compuerta OR

Tabla de verdad

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 10

Compuertas lógicas (3)

111101110000

(A+B)’BA

111001010000

(A.B)’BA

Compuerta NAND

Tabla de verdad

Compuerta XOR

Tabla de verdad

Compuerta NOR

Tabla de verdad

011101110000

A⊕⊕⊕⊕ BBA

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 11

Circuitos Integrados digitales (1)

Los circuitos integrados se clasifican de acuerdo al número de compuertas que poseen:

! Integración a pequeña escala (SSI – small scale integration)– 1 a 20 compuertas/chip– Compuertas y flipflops– Conocidos también como glue logic (lógica de unión)

Page 4: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 12

Circuitos Integrados Digitales (2)

! Integración a mediana escala (MSI – medium scale integration)– 20 a 200 compuertas– Decodificadores, multiplexores, contadores, etc.

! Integración a larga escala (LSI – large scale integration)– 200 a 20000 compuertas– Memorias, microprocesadores de 8 bits, dispositivos

de lógica programable.

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 13

Circuitos Integrados Digitales (3)

! Integración a muy grande escala (VLSI –very large scale integration)– Se define un VLSI de acuerdo a la cantidad de

transistores, no de compuertas– Cualquier IC con máas de 500K transistores es un

VLSI– Memorias > 1 Mb, microprocesadores de 32 bits,

ASICs (aplication specific integrated circuit), DSPs (digital signal processors)

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 14

Tipos de circuitos integrados digitales

! Los dispositivos lógicos mas comúnmente utilizados se dividen en dos categorías:

! Bipolar– TTL (series 74, 74LS, 74AS, 74ALS, 74F)– RTL, DTL, ECL, I2L

! MOS– CMOS (series 4000xx, 74C, 74HC, 74HCT)– pMOS, nMOS

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 15

Tipos de circuitos integrados digitales

! Además se tienen diferentes categorías de dispositivos:– Chips discretos de pequeña y mediana escala de

integración (SSI y MSI)• Compuertas, flipflops, contadores y otras funciones

– Dispositivos lógicos programables (PLDs)• Memorias no volátiles.• Memorias de lectura/escritura• PLA, PAL, GAL

Page 5: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 16

Definiciones (1)

! Nivel lógico:– Es un rango de valores de voltaje, corriente o

culaquier otra cantidad física, que representa el valor de dígito binario (1 ó 0).

– En CMOS, TTL y ECL los niveles lógicos se representan mediante rangos de voltaje

– El nivel ALTO (H) es el rango más positivo– El nivel BAJO (L) es el rango más negativo

! Inmunidad al ruido:– Capacidad de un circuito lógico para soportar señales

de ruido superpuestas al nivel lógico en su entrada

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 17

Definiciones (2)

! Voltaje de entrada mínimo de nivel alto (VIHmin)– Mínimo valor de entrada garantizado para ser reconocido como

un ALTO

! Voltaje de salida mínimo de nivel alto (VOHmin)– Mínimo valor de salida garantizado en el estado ALTO

! Voltaje de entrada máximo de nivel bajo (VILmax)– Máximo valor de entrada garantizado para ser reconocido como

un BAJO

! Voltaje de salida máximo de nivel bajo (VOLmax)– Máximo valor de salida garantizado en el estado BAJO

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 18

Definiciones (3)

! Niveles lógicos y márgenes de ruido

VOLmax

VLmin

VOHmin

VIHmin

VILmix

VHmax

SALIDA ENTRADA

Margen de ruidoCD

Estado alto

Margen de ruido CD

Estado bajo

NivelALTO

NivelBAJO

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 19

Tema I

Circuitos Digitales I

Sistemas Numéricos y Códigos

Page 6: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 20

Sistemas numéricos digitales

! Los más utilizados son:– Sistema decimal (base 10)– Sistema binario (base 2)– Sistema octal (base 8)– Sistema hexadecimal (base 16)

! Estos sistemas son posicionales– El número se representa como una cadena de dígitos

donde cada posición tiene un peso asociado (una potencia de la base del sistema, correspondiente a la posición)

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 21

Sistema decimal (1)

! Consiste de 10 símbolos : 0,1,2,...9! Utilizado en el día a día por las personas! Ejemplo:

3

105

5

104

2

103

0

102

7

101

. 9

10-1

8

10-2

4

10-3

Dígito Más Significativo

(MSD)

Punto decimal Dígito Menos Significativo

(LSD)

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 22

Sistema decimal (2)

! En general, un número en decimal con pdígitos a la izquierda del punto decimal y ndígitos a la derecha del punto decimal se representa como:

dp-1 dp-2 …d1d0 .d-1 d-2 … d-n

! El valor del número viene dado por:

∑∑∑∑−−−−

−−−−====

⋅⋅⋅⋅====1

10p

ni

iidD

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 23

Sistema binario (1)

! Consiste de 2 símbolos : 0,1– A c/u de estos símbolos se le denomina dígitos

binario (binary digit = bit)

! Utilizado en los sistemas digitales! Ejemplo:

1

25

1

24

0

23

0

22

1

21

. 1

2-1

0

2-2

1

2-3

Bit Más Significativo

(MSB)

Punto binario Bit Menos Significativo

(LSB)

Page 7: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 24

Sistema binario (2)

! En general, un número en binario con pdígitos a la izquierda del punto binario y ndígitos a la derecha del punto binario se representa como:

dp-1 dp-2 …d1d0 .d-1 d-2 … d-n

! El valor del número viene dado por:

∑∑∑∑−−−−

−−−−====

⋅⋅⋅⋅====1

2p

ni

iidB

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 25

Sistema octal y hexadecimal

! Utilizados como representaciones breves para números con múltiples dígitos binarios (bits), dado que sus bases (8 y 16) son potencias de 2– La conversión de binario a octal se realiza agrupando

bits de 3 en tres a partir del punto binario (hacia la derecha o izquierda) agregando ceros para obtener múltiplos de 3 bits.

– La conversión de binario a hexadecimal es similar, pero agrupando bits de 4 en 4.

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 26

Sistema octal y hexadecimal

! Ejemplos:

110112 = 0110112 = 338

111010.011012 = 111010.0110102 = 72.328

110112 = 000110112 = 1B16

111010.011012 = 00111010.011010002 = 3A.6816

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 27

Conversión de decimal a base r (1)

! Conversión de la parte entera:Si expandimos la fórmula:

Y la escribimos de manera anidada, obtenemos:01

22

11

1

010

drdrdrd

dD

pp

pp

p

i

ii

+⋅++⋅+⋅=

⋅=

−−

−−

=∑

L

0121 ))))((( drdrrdrdD pp +⋅++⋅+⋅= −− LLL

Page 8: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 28

Conversión de decimal a baser r (2)

Nota que si dividimos la expresión anterior por robtenemos como residuo a d0 y como cociente la expresión:

Esta última expresión tiene la misma forma que la obtenida inicialmente. Sucesivas divisiones por r a cada nuevo cociente obtenido nos darán como residuo los dígitos d1, d2, . . . dp-1

0121 ))))((( drdrrdrdD pp +⋅++⋅+⋅= −− LLL

121 )))((( drrdrdQ pp ++⋅+⋅= −− LLL

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 29

Suma y resta de números binarios

! Se efectúan del mismo modo que en decimal, usando acarreos y préstamos

! Cuando se necesiten números negativos, es necesario buscar una representación adecuada:– Representación de magnitud y signo:

• Utilizada en la vida diaria– Sistemas numéricos en complemento

• Utilizada en sistemas digitales

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 30

Tabla de suma y resta en binario

cent o bent x y csal s bsal d0 0 0 0 0 0 00 0 1 0 1 1 10 1 0 0 1 0 10 1 1 1 0 0 01 0 0 0 1 1 11 0 1 1 0 1 01 1 0 1 0 0 01 1 1 1 1 1 1

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 31

! Suma:Acarreo

X 104 01101000Y +235 + 11101011

X+Y 339! Resta:Préstamo

X 150 10010110Y - 67 - 01000011

X-Y 83

Ejemplo de sumas y restas en binario

0

1

0

1

0

0

0

0

1

1

0

0

1

1

1

0

1

1

0

1

1

1

1

0

0

0

0

1

0

0

0

1

1

0

0

0

Page 9: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 32

Representación de números negativos

! Representación de magnitud y signo! Representación de complemento

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 33

Representación de magnitud y signo

! Un número consiste de una magnitud y un símbolo que indica si la magnitud es positiva o negativa.

! En el sistema binario, se utiliza un bit extra (bit de signo) – Generalmente es el MSB– MSB=0: positivo, MSB=1: negativo– Un entero de n bits en esta representación está en el

rango :-(2n – 1 – 1) hasta +(2n – 1 – 1)

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 34

Representación de complemento

! En este caso, el número se hace negativo al tomar su complemento (definido por el sistema)

! Dos formas:– Complemento de base– Complemento de base disminuida (base – 1)

! Se trabaja con un número fijo de dígitos n! Es posible incrementar el número de dígitos

mediante la extensión del signo

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 35

Complemento de base

! El complemento de base de un número D de ndígitos es:

D’ = rn – D! Si el complemento de un dígito d se define como:

d’ = (r – 1) – d , entonces D’ puede obtenerse más fácilmente al complementar los dígitos individuales y sumarle 1 al resultado ya que:

D’ = (rn – 1) – D + 1! Nota que (rn – 1) tiene la forma: mmmm...m, donde

m = (r – 1).

Page 10: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 36

Complemento de base - Ejemplos

D = 347610 (n = 4)D’ = 104 – 3476 = 652410

! O también :3’ = 9 – 3 = 6; 4’ = 5; 7’ = 2; 6’ = 3 D’ = 6523 + 1 = 6524

D = 1010102

D’ = 010101 + 1 = 0101102

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 37

Complemento de base disminuida

! El complemento de base disminuida de un número D de n dígitos es:

! D’ = rn – 1 – D! Puede obtenerse más fácilmente al complementar

los dígitos individuales.

Existe una sola representación del cero usando complementos de base y de base disminuida.

Existe un número negativo extra en la representación de complemento de base.

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 38

Complemento de base disminuida -Ejemplos

D = 347610 (n = 4)D’ = 104 – 1 – 3476 = 652310

! O también :3’ = 9 – 3 = 6; 4’ = 5; 7’ = 2; 6’ = 3 D’ = 652310

D = 1010102

D’ = 0101012

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 39

Complemento a dos

! Este es el complemento de base para números binarios

! En este caso, el MSB sirve como bit de signo! (MSB = 1 implica que el número es negativo)! En el sistema posicional, el peso del MSB es

ahora –2n – 1 (para un número de n bits)! Rango de números representables:

-(2n – 1) hasta +(2n – 1 – 1)

Page 11: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 40

Complemento a dos – ejemplos (8 bits)

! 2310 = 000101112Complementando los bits:

11101000+1

111010012 = - 2310

! 11810 = 011101102Complementando los bits:

10001001+1

100010102 = - 11810

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 41

Sumas y restas en complemento a dos

! Note que los números negativos y positivos en complemento a dos están ordenados de modo que al sumar 1 a cualquier número, ignorando el acarreo final, se obtiene el siguiente número.

! Esta una ventaja del sistema de complemento a dos sobre otras representaciones para números negativos.

000

001

010

011

100

101

110

111 +0+1

+2

+3-4

-3

-2

-1

Resta de números positivos

Suma de números positivos

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 42

Desbordamiento (overflow)

! Ocurre cuando el resultado excede el intervalo del sistema numérico.– Sólo la suma de dos números del mismo signo puede producir

desbordamiento.

! Una suma produce desbordamiento si ambos sumandos tienen el mismo signo y la suma tiene signo diferente al de los sumandos.– La regla anterior es equivalente a decir que ocurre

desbordamiento si los acarreos de entrada y salida de la posición del bit de signo son diferentes (ver tabla de sumas). Esta es la forma común de verificación de desbordamiento en sistemas digitales.

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 43

Resta de números en complemento a dos

! Note que la suma de números en complemento a dos se realiza como si éstos fueran númerosbinarios sin signo, pero interpretando el resultado en complemento a dos y tomando en cuenta que puede ocurrir desborde.

! Para realizar la resta del mismo modo, lo que se hace es sumar al minuendo el complemento a dos (el negativo) del sustraendo. Debe igualmente interpretarse el resultado en complemento a dos y tomar en cuenta la posibilidad de desborde.

Page 12: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 44

Códigos binarios

! Un código es un conjunto de cadenas de nbits donde las diferentes cadenas representan números, letras, palabras, etc.– A una combinación particular de valores de n bits se

le denomina palabra de código

! Código decimal codificado en binario (BCD): Se obtiene al representar cada dígito decimal con su equivalente binario – Se necesitan 4 bits por cada dígito decimal

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 45

Código BCD

! Es común emplear un byte (8 bits) para representar un número decimal de dos dígitos (de 00 a 99). A esto se le denomina representación BCD empacada

! Ejemplos:65410 = 0110 0101 0100 (BCD)

8710 = 10000111 (BCD empacado)

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 46

El Código Gray

! Es un código perteneciente a la clase de códigos de cambio mínimo

! Sólo cambia un bit entre cada par de palabras de código sucesivas

! Utilizado en situaciones en las cuales otros códigos producirían resultados erróneos

! Ej: Codificación de posición mecánica ! El código Gray es un código reflejado

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 47

Construcción recursiva de un código Gray

1. Un código Gray de un bit tiene dos palabras: 0 y 1.2. Las primeras 2n palabras de un código Gray de

(n+1) bits son iguales a las palabras de un código Gray de n bits escritas en orden y agregándolesun “0” en el MSB.

3. Las últimas 2n palabras de un código Gray de (n+1) bits son iguales a las palabras de un código Gray de n bits escritas en orden inverso y agregándoles un “1” en el MSB.

Page 13: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 48

Código Gray de 3 bits

10011171011106111101511010040100113011010200100110000000

GrayBinarioDecimal

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 49

Codificación de posición mecánica

000

001

011

110

111

101

010

100

0 0 1

000

001

010

100

101

110

011

111

0 0 1

Disco mecánico de codificación mediante un código binario de 3 bits

Disco mecánico de codificación mediante un

código Gray de 3 bits

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 50

Conversión binario ↔ Gray

bn-1 bn-2 b0b1 gn-1 gn-2 g0g1

0,1,1,2 para 1 para

:binario aGray 1 para

22,1,0 para :Gray a Binario

1

,

,

1

L

L

−−=⊕=−==

−==−=⊕=

+

+

nnibgbnigb

nibgnibbg

iii

ii

ii

iii

011101110000

a⊕⊕⊕⊕ bba

Suma módulo-2

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 51

Código ASCII

! ASCII = American Standard Code for Information Interchange.

! Es el código utilizado más ampliamente para representar caracteres (letras, símbolos, números...)

! Cada palabra de código consiste en una cadena de 7 bits, para un total de 128 caracteres diferentes

! El código ASCII extendido utiliza un byte (8 bits) por cada palabra de código para un total de 256 caracteres

Tabla ASCII

Page 14: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 52

Otros códigos

! Códigos para acciones, condiciones o estados– Utilizados por ejemplo en controles de máquinas, en

semáforos (por ejemplo para codificar las luces o estados).

! Código 1 de n! Código 1 de n invertido! Código m de n! Códigos de detección y corrección de errores

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 53

Detección y Corrección de Errores! Error: alteración de datos desde su valor

correcto a algún otro valor.! Los errores ocurren debido a las limitaciones

del medio físico, interferencias y ruido.! Existen dos estrategias principales para la

detección y corrección de errores en sistemas digitales:! Control de errores hacia adelante (Forward Error

Correction, FEC)! Control de errores por retroalimentación o

retrospectivo

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 54

Control de Errores hacia adelante (FEC)

! Cada cadena transmitida contiene información adicional (redundancia) que permite detectar y determinar la posición del error.

! La cadena se corrige invirtiendo los símbolos en las posiciones erróneas.

! El número de bits requerido para lograr un control de errores confiable aumenta conforme al número de bits de información.

! La complejidad del sistema aumenta con la capacidad de corrección del sistema.

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 55

Control de Errores hacia adelante (FEC)

Métodos típicos de FEC:!Códigos de bloque (Ej. Hamming, BCH, Reed-Solomon)

•El procesamiento de datos se realiza por bloques, uno a la vez•Usado principalmente en la corrección de errores en ráfagas

! Códigos convolucionales (Ej. Viterbi)•Usado para corregir errores aleatorios

Información codificador

decodificador

Errores o ruido durante la transmisión

Información redundancia

Información

Page 15: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 56

Control de Errores por realimentación

! Cada cadena transmitida contiene sólo la información adicional que permite detectar la presencia de errores.

! Se emplea un esquema de control de retransmisiones para solicitar el envio de otra copia de la información.

! Consiste de dos partes:1. Las técnicas uitlizadas para lograr una detección

confiable.! Paridad, suma de chequeo, verificación de redundancia

cíclica (CRC)

2. Los algoritmos de control para los esquemas de retransmisión asociados.

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 57

Distancia de Hamming y capacidad de detección y corrección de errores

! Distancia de Hamming: Número de posiciones de bits en las cuales dos palabras del mismo código difieren.

! Distancia de Hamming mínima: La mínima de todas las distancias Hamming entre palabras de un mismo código.

! Para detectar e errores se requiere un código de distancia mínima d = e +1

! Para corregir c errores se necesita de un código de distancia mínima de d = 2c + 1

! Para corregir c errores y además detectar d errores adicionales, se necesita de un código de distancia mínima d = 2c + d + 1

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 58

Detección de errores por paridad

! Se agrega un bit a cada palabra para que el número de unos en la palabra sea par (o impar)

! Esto hace que la distancia mínima sea 2

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 59

Códigos de Hamming

! Códigos con d = 3 y una estructura tal que permite detectar y corregir un error, o bien detectar dos errores.

! Para codificar k bits de información se requieren ibits de paridad, tal que k ≤ 2i – i – 1.

! Longitud máxima de la palabra n = 2i – 1.! Los bits de paridad se generan combinando los bits

de información en posiciones tales que sea posible localizar el bit erróneo.

Page 16: Sistemas Digitales y Sistemas Analógicosltarazona/digitales/tema1_4.pdf · Circuitos Digitales I Sistemas Digitales y Sistemas Analógicos Luis Tarazona, UNEXPO Barquisimeto EL-3213

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 60

Construcción de un código de Hamming

! Numerar las posiciones de bit desde 1 hasta 2i – 1.! Reservar las posiciones que son potencia de 2 (1,2,4,8,16

…) para los bits de paridad (pj).! El resto de las posiciones se usa para los bits de

información (bk).! Cada bit de paridad pj se elige de modo que complete la

paridad par con todas las posiciones bk cuyo número equivalente en binario tenga un 1 en la posición de peso j.

! Por ejemplo el bit de paridad 1 (001) se debe agrupar con las posiciones 3(001), 5(101), 7(111) ya que todas tienen un 1 en la posición de peso 1 (primer bit).

Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 61

Ejemplo

! Código de Hamming para codificar palabras de 4 bits.! En este caso, i = 3. Se numeran las posiciones del 1 al

7. Se reservan las posiciones 1,2 y 4 para los bits de paridad.

! Los bits de paridad se calculan así:

! Palabra ordenada en Forma No Sistemática:

! Palabra ordenada en Forma Sistemática:

765476327531 bbbpbbbpbbbp ⊕⊕=⊕⊕=⊕⊕=

1234567 ppb pbbb

1243567 pppbbbb