Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

34
Universidad Nacional de la Patagonia San Juan Bosco Facultad de Ingeniería Sistemas Digitales I Comodoro Rivadavia, 16 de marzo de 2015 INGENIERÍA ELECTRÓNICA Sistemas de numeración y códigos Unidad 1

Transcript of Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Page 1: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Universidad Nacional de la Patagonia San Juan Bosco

Facultad de Ingeniería

Sistemas Digitales I

Comodoro Rivadavia, 16 de marzo de 2015

INGENIERÍA ELECTRÓNICA

Sistemas de numeración y códigos Unidad 1

Page 2: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 2 16 de marzo de 2015

Contenido

• Sistemas de numeración posicional.

• Aritmética binaria, sin signo y con signo.

• Códigos binarios.

• Detección y corrección de errores.

Page 3: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 3 16 de marzo de 2015

Sistemas de numeración posicional

Los números se representan mediante una cadena de símbolos o

dígitos ordenados, donde cada posición tiene un peso determinado.

148,3710 2 1 0 -1 -2 → Posición

peso 10-2 = 0,01; valor absoluto = 7; valor relativo = 7.10-2 = 0,07

peso 101 = 10; valor absoluto = 4; valor relativo = 4.101 = 40

N = (an-1 an-2... a1 a0, a-1 a-2... a-m)b : número con n dígitos enteros y

m fraccionarios, en base b.

El valor del número es una suma ponderada de los dígitos

148,3710 = (1 . 102 + 4 . 101 + 8 . 100 + 3 . 10-1 + 7 . 10-2)10

1-n

N general,En mi

i

i ba

Base (b) : cantidad de símbolos o dígitos distintos permitidos

Page 4: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 4 16 de marzo de 2015

Sistemas decimal, binario, octal y hexadecimal

Bit: binary digit (dígito binario).

Byte: conjunto de 8 bits.

Nibble: conjunto de 4 bits = 1/2 byte.

1K = 210 = 1024; 1M = 220 = ..........................

1G = 230 = .....................................................

Conversión binario-octal

23 = 8 3 dígitos binarios equivalen a 1 dígito octal

24 = 16 4 dígitos binarios equivalen a 1 dígito hexa

Los sistemas octal y hexadecimal se usan

para representar cadenas de bits en forma

más compacta para nuestra interpretación.

Conversión binario-hexadecimal

Page 5: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 5 16 de marzo de 2015

Sistemas decimal, binario, octal y hexadecimal

Ejercicio: convertir

• 101110,111010110012 = .................8 = ............16

• 3F816 = ...........................2 = ..............8

1’101’011’1012 = 15358 11’0101’11012 = 35D16

11’010,100’010’12 = 32,4248 1’1010,1000’1012 = 1A,8A16

56,726 2E,EB

0011 1111 1000 1770

Ejercicio:

•Investigar sobre el error de truncamiento

•Calcular y memorizar las primeras 10 potencias de 2.

Page 6: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 6 16 de marzo de 2015

Conversiones de base

• Método de evaluación del polinomio: Dado N en base b1, se evalúa el polinomio en base b2.

Ejemplo 1: convertir 110102 a decimal.

110102 =

Ejemplo 2: convertir 3F,C16 a decimal.

3F,C16 =

• Método de división o multiplicación por la base: dividendo = divisor * cociente + resto

Nb1 = an-1 b2n-1 + ... + a2 b2

2 + a1 b21 + a0 + a-1 b2

-1 + a-2 b2-2 + ... + a-m b2

-m

Nb1 = (b2 (an-1 b2n-2 + ... + a2 b2

1 + a1) + a0) + (b2-1 (a-1 + a-2 b2

-1 + ... + a-m b2-m+1))

Parte entera: / b2 →el resto es a0 y el cociente se / b2 → el resto es a1, ... el último cociente es an-1

Parte fraccionaria: * b2 → la parte entera es a-1 y la parte fraccionaria * b2 → la parte entera. es a-2, ...

hasta que sea 0 (es una fracción entera), hallemos el período o logramos la precisión deseada.

(Se opera en la base de origen b1)

(1 . 24 + 1 . 23 + 0 . 22 + 1 . 21 + 0 . 20)10 = (16 + 8 + 0 + 2 + 0)10 = 2610

(3 . 161 + 15 . 160 + 12 . 16-1)10 = (48 + 15 + 0,75)10 = 63,7510

Page 7: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 7 16 de marzo de 2015

41 |2

40 20 |2

1/ 20 10 |2

0/ 10 5 |2

0/ 4 2 |2

1/ 2 1

0/

Conversiones de base

Resumen de algoritmos para convertir de base b1 a base b2:

1) Sustitución de grupos de dígitos si b1 = b2n o b1

n = b2 (recomendado si es posible).

2) Evaluación del polinomio con aritmética de base b2 (recomendado si b2 = 10).

3) División o multiplicación por b2 con aritmética de base b1 (recomendado si b1 = 10).

4) Si b1 y b2 ≠ 10, convertir a decimal y luego a b2 para evitar aritméticas complicadas.

Ejercicios: convertir

• 83,710 a binario, hexadecimal y b = 7.

• 10111,012 a decimal, hexadecimal y b = 5.

Ejemplo 1: convertir 41,110 a binario

0,1 * 2 = 0,2

0,2 * 2 = 0,4

0,4 * 2 = 0,8 período

0,8 * 2 = 1,6

0,6 * 2 = 1,2

0,2 * 2 = 0,4

41,110 = 101001,00011...

Page 8: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 8 16 de marzo de 2015

Conversiones de base

Page 9: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 9 16 de marzo de 2015

Conversiones de base

Page 10: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 10 16 de marzo de 2015

Resolución Ejercicios TP1, Parte A

15 minutos

Page 11: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 11 16 de marzo de 2015

Aritmética decimal y binaria

Tablas de suma y multiplicación decimal Tablas de suma y multiplicación binaria

1 1 1 1

1101101

+ 11110

10001011

acarreos

parciales

acarreo final

10

0 10 0 0 10 0 10

1011010

- 101101

101101

préstamos

10111

x 1010

101110

101110

11100110

1110111 |1001

1001 1101

01011

1001

001011

1001

0010/

•Solo se

intenta con

dos valores

Page 12: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 12 16 de marzo de 2015

Aritmética hexadecimal

Tablas de suma y multiplicación hexadecimal (¡imposibles de memorizar!):

4FE3

-1FFE

Ejemplo:

Calcular la distancia entre las posiciones de memoria cuyas direcciones son 4FE316 y 1FFE16.

Dadas las tablas de la suma y el producto en cualquier base

b, se pueden hacer las 4 operaciones básicas con los

mismos algoritmos que en decimal. 2FE5

Page 13: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 13 16 de marzo de 2015

Resolución Ejercicios TP1, Parte B

15 minutos

Page 14: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 14 16 de marzo de 2015

Complemento a la base

• Reglas prácticas para hallar el complemento a dos (Ca2):

1) Dado (N)2, copiar los dígitos de N desde la derecha (LSB, Least

Significant Bit) hasta el primer uno inclusive, y complementar (b-1-d en

b=2 invertir) los bits que quedan.

2) Complementar cada bit y sumarle 1 al resultado.

Def.: [N]b = bn - (N)b en binario: [N]2 = 2n - (N)2

Ejemplo: [01110110]2 = 28 - (01110110)2 = (100000000)2 - (01110110)2 = (10001010)2

• De la definición: [N]b + (N)b = bn = 1000...0 (un 1 y n ceros) → en el

registro queda 0. Entonces, [N]b sirve para representar -(N)b

• [[N]b] = bn - (bn - (N)b) = (N)b

Page 15: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 15 16 de marzo de 2015

Complemento a la base

Ejercicios: determinar

• [11011010]2 = ................................

• [10111]2 (en 8 bits) = .............................

Complemento a la base menos 1

• [11011010]2 = ................................

• [10111]2 (en 8 bits) = .............................

Complemento a la base menos 1

• Que se entiende por Ca1?

• Como se obtiene?

Page 16: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 16 16 de marzo de 2015

Números enteros con signo y magnitud

Ejemplo: +2710 =

-2710 =

En binario: Rango entre - 2n-1+1 y + 2n-1-1

Capacidad de representación, con n dígitos enteros en total, ya que todo

sistema digital tiene registros de tamaño finito y fijo para almacenar los

datos con los cuales opera: • el número más negativo tiene n dígitos (b-1) → es -(bn-1-1).

• el cero tiene dos representaciones: +0 = (000...0)bsm y -0 = (b-1 00...0).

• el número más positivo tiene un 0 y n-1 dígitos (b-1) → es +(bn-1-1)

N = ±(an-1 an-2... a1 a0, a-1 a-2... a-m)b → N = (s an-1 an-2... a1 a0, a-1 a-2... a-m)bsm

→ s = 0 si N ≥ 0 y s = b-1 si N ≤ 0

(027)10sm = (00011011)2sm

(927)10sm = (10011011)2sm

La implementación de este circuito requiere de circuitos y algoritmos con un costo

mayor en términos de componentes y de tiempo de cálculo

Page 17: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 17 16 de marzo de 2015

Sistema numérico de complemento a la base

• Los números positivos se representan con dígito de signo (0) y magnitud.

• Los números negativos se representan con el complemento a la base del número

positivo correspondiente: -(N)b = [N]b → quedan con dígito de signo = b-1

Ejemplo: representar +1310 y -1310 en Ca2 con 8 bits.

1310 = 11012 → +1310 = 00001101Ca2

-1310 = [00001101]2 = 11110011Ca2

la suma da: 1 00000000Ca2 = 0 (el acarreo se desprecia)

Capacidad de representación, con n dígitos enteros en total: • el número más negativo tiene un b-1 y n-1 ceros → es -bn-1

• el cero tiene una representación: 0 = (000...0)Cab.

• el número más positivo tiene un 0 y n-1 dígitos (b-1) → es +(bn-1-1)

En binario → entre - 2n-1 y + 2n-1-1

Aritmética en Ca2: • Para ahorrar hardware se realizan las restas como sumas: A - B = A + (-B).

• El acarreo (carry) final se desprecia.

• Si el resultado está fuera del intervalo (- 2n-1; + 2n-1-1), hay desbordamiento (overflow)

Page 18: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 18 16 de marzo de 2015

2) A = B-C = B+(-C) (B y C ≥ 0)

(B)2+[C]2=(B)2+2n-(C)2=2n + (B-C)2

(acarreo descartable)

• |B-C| es menor que B o C → nunca

hay overflow

• hay acarreo cuando A ≥ 2n, o sea

cuando B ≥ C.

Ejemplos, con 5 bits:

1410-910 01110

10111

100101Ca2 = +510

910-1410 01001

10010

11011Ca2=-(0101)2= -510

Aritmética en complemento a dos 1) A = B + C (B y C ≥ 0)

• 0 A (2n-1-1)+(2n-1-1) = 2n -2

nunca hay carry

• hay overflow cuando A > 2n-1-1

(el bit de signo es 1, como si fuera negativo)

Ejemplos, con 5 bits:

710+610 00111

00110

01101Ca2 = +1310

1310+510 01101

00101

10010Ca2=-(1110)2

= -1410

13+5=1810 > (01111)Ca2 = +1510

overflow

3) A = -B-C = -(B+C) (B y C≥0)

[B]2+[C]2 = 2n-(B)2+2n-(C)2 = 2n +2n-

(B+C)2 = 2n + [B+C]2

(siempre hay acarreo)

• hay overflow cuando A < -2n-1

(el bit de signo del resultado es 0)

Ejemplos, con 5 bits:

-410-910 11100

10111

110011Ca2 = -1310

-910-1410 10111

10010

1 01001Ca2= +910

-9-14=-2310 < (10000)Ca2 = -1610

overflow

carry

Page 19: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 19 16 de marzo de 2015

Aritmética en complemento a dos

Ejercicios: calcular

• -1910 + 3210 en 7 bits

• -1710 - 2110 en 6 bits

Page 20: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 20 16 de marzo de 2015

Sistema numérico de complemento a la base

menos uno (en binario, complemento a uno)

• Los números positivos se representan con dígito de signo (0) y magnitud.

• Los números negativos se representan con el complemento a la base menos

uno del número positivo correspondiente: -(N)b = [N]b-1 = bn - 1 - (N)b

Ejemplo: representar +1310 y -1310 en Ca1 con 8 bits.

1310 = 11012 → +1310 = 00001101Ca1

-1310 = [00001101]1 = 11110010Ca1 (Regla práctica: invertir todos los bits)

la suma da: 11111111Ca1 = -[11111111]1 = -0

Capacidad de representación, con n dígitos enteros en total: • el número más negativo tiene un b-1 y n-1 ceros → es -(bn-1-1)

• el cero tiene dos representaciones: +0 = (000...0)Cab-1 y -0 = (b-1 b-1 b-1 ... b-1)Cab-1

• el número más positivo tiene un 0 y n-1 dígitos (b-1) → es +(bn-1-1)

En binario → entre - 2n-1+1 y + 2n-1-1

Page 21: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 21 16 de marzo de 2015

Sistema numérico de complemento a uno Aritmética en Ca1: • El conteo suma 1 excepto desde -0 = 1111Ca1 a + 1 = 0001Ca1, donde hay que sumar 2 →

cuando se excede 2n-1 (hay carry), hay que sumar 1 al resultado (“acarreo final circular”).

• Si el resultado está fuera del intervalo (- 2n-1+1; + 2n-1-1), hay desbordamiento (overflow). En

este caso, el resultado tiene distinto signo que ambos sumandos.

Ejemplos:

+910- 1410 en 5 bits 01001 -710-1110 en 5 bits 11000

10001 10100

11010Ca1 = -(0101)2 = -510 1 01100

1

-110-210 en 4 bits 1110 01101Ca1 = +1310

1101

1 1011 -7-11=-1810 < (10000)Ca1 = -1510

1

1100Ca1 = -(011)2= -310

overflow

Ejercicio:

Calcular (11011)Ca1 - (10011)Ca1 en 5 bits.

Acarreo

circular

Page 22: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 22 16 de marzo de 2015

Resolución Ejercicios TP1, Parte C

15 minutos

Page 23: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 23 16 de marzo de 2015

• Código: es un uso sistemático de un conjunto de símbolos para representar

unívocamente información.

• Palabra del código: cada conjunto ordenado de símbolos que representa un

dato particular.

Códigos

• Los sistemas digitales utilizan solamente códigos binarios.

• Códigos de n bits pueden tener hasta 2n palabras.

Ejemplos de códigos binarios:

1) Si para codificar un auto con 5 opcionales se utiliza un bit para cada opcional (1 =

presente; 0 = ausente), ¿cuántas variantes del auto (palabras del código) existen?

¿cuántos códigos distintos podrían definirse de esa manera? ¿y si no es necesario asociar

un bit a cada opcional?

2) Codificar las teclas de un sistema de alarma que sirven para ingresar una clave de 4

dígitos decimales. ¿qué cambia si en vez de tener que codificar cada tecla (dígito decimal)

por separado, puedo codificar el número completo?

Ejemplos: todos los sistemas de numeración, un semáforo, el número de DNI,

CUIT/CUIL, etc.

Page 24: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 24 16 de marzo de 2015

• Código continuo: las combinaciones correspondientes a eventos

consecutivos son adyacentes (difieren sólo en un bit).

• Código cíclico: es continuo y la última palabra es adyacente a la primera.

Ejemplo: código Gray o reflejado. Se usa para codificadores de posición:

Códigos binarios

usando código binario

usando código Gray

000

001

011

010

110

111

101

100

•Otro ejemplo: código Johnson.

00000

00001

00011

00111

01111

11111

11110

11100

11000

10000

•Con n bits, 2n palabras.

Page 25: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 25 16 de marzo de 2015

Código ponderado: cada bit tiene un peso definido. Ej.: BCD natural y Aiken.

Código autocomplementario: el complemento a 9 de N se obtiene invirtiendo los bits de N.

Códigos BCD (binary coded decimal)

Para codificar un dígito decimal hacen

falta por lo menos 4 bits.

La base de cualquier código BCD es 10

Ejemplos en BCD natural.

• números sin signo:

837,410 = 1000 0011 0111, 0100BCD natural

• números con signo, en complemento a la

base menos uno, con 4 dígitos más signo:

+47,210 = 0 0100 0111, 0010 0000BCD Ca9

-17,2310 = 1 1000 0010, 0111 0110BCD Ca9

Para operar en BCD natural:

• Si el resultado de un dígito es mayor que

9, hay que saltar las combinaciones no

usadas, sumándole 6 (0110).

• En Ca9 (base-1), existe acarreo circular.

BCD natural BCD

Aiken

BCD XS3

Page 26: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 26 16 de marzo de 2015

Códigos para números reales • Números de punto fijo: usan los

mismos algoritmos sencillos que para

los enteros, pero desaprovechan

capacidad de representación.

Ejemplo:

011011,11

+100001,01

111101,00

máximo positivo = 011111,11

“mínimo” positivo = 000000,01

• Números de punto flotante: usan

algoritmos mucho más complejos.

N = ±M . bE M: mantisa o significando

E: exponente o característica.

Mantisa normalizada: tiene su MSB ≠ 0.

Ej.: 1101,01012 = (0,11010101)2 . 24 → 0,5 ≤ |M| < 1

Exponente: con exceso K. Por ejemplo con e bits, -2e-1 ≤

E < 2e-1 Entonces, 0 ≤ E + 2e-1 < 2e (si E está en Ca2, K

= 2e-1)

Formato estándar IEEE 754-1985 (el más usado, por ej. Intel):

• Simple precisión o short (32 bits): signo, 8 bits para exponente con

exceso 127 y mantisa de 23 bits más un MSB (1) implícito. → 1≤ |M| <2

• Doble precisión o long (64 bits): signo, 11 bits para exponente con

exceso 1023 y mantisa de 52 bits más un MSB (1) implícito.

• Precisión extendida o temporary (80 bits): signo, 15 bits para exponente

con exceso 16383 y mantisa de 64 bits (con el MSB explícito)

Page 27: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 27 16 de marzo de 2015

Códigos alfanuméricos

Para representar texto (cadenas o

strings de caracteres), el código más

común es el ASCII (American

Standard Code for Information

Interchange), con 7 bits (1968).

Ejemplo.

• “ASCII” se codifica como:

Ejercicio.

• Decodificar (43 4F 44 49 47 4F 20 41

53 43 49 49)16:

............................................

El código ASCII extendido a 8 bits es la

base de la mayoría de los sets de

caracteres que se usan en las

computadoras.

(41 53 43 49 49)16

Page 28: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 28 16 de marzo de 2015

Cubos-n y distancia de un código

Cada cadena de n bits se

puede representar como un

vértice de un cubo-n.

Subcubo-m: tiene n-m bits

iguales para cada vértice y

m bits que toman las 2m

combinaciones posibles.

• Distancia entre dos cadenas de n bits: es el número de bits en los cuales difieren.

• Distancia mínima: es la menor de las distancias entre todos los pares de palabras del

código.

Si hay al menos un par de palabras adyacentes, dmín = 1 (Ejemplos: binario natural,

cualquier código BCD de 4 bits, código Gray, etc.)

Page 29: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 29 16 de marzo de 2015

Códigos para detección y corrección de errores Errores: bits almacenados o transmitidos que se modificaron por fallas del

hardware o interferencia externa (ruido).

Modelo de error independiente:cada falla produce un error simple (en 1 bit).

Entonces, los errores múltiples son mucho menos probables.

En general:

• para detectar s errores: dmín ≥ s + 1

• para corregir t errores: dmín ≥ 2 t + 1

• para corregir t errores y detectar s

errores adicionales: dmín ≥ 2 t + s + 1

Detección de errores simples: sólo es posible

si no existen palabras adyacentes (dmín = 2)

Códigos de paridad: agrega un bit de

paridad para que el número total de unos en

cada palabra ser par (paridad par) o impar

(paridad impar). Sólo la mitad de las palabras

posibles pertenecen al código.

Page 30: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 30 16 de marzo de 2015

Códigos de Hamming Con i bits de paridad construye un código con dmín = 3 que permite corregir errores simples.

Puede haber hasta 2i - 1 bits por palabra (información y paridad). Ej.: 4 bits de datos, hay

que agregar 3 bits de paridad para que 4+3 = 7 ≤ 23 - 1 = 7

• Los grupos se forman según los unos del

equivalente binario de la posición de cada bit.

• Generación: cada bit de paridad (par) se

genera para el grupo de bits de datos

correspondiente. Son los bits que pertenecen a

un único grupo porque están ubicados en las

potencias de dos.

• El código resultante, ¿tiene distancia mínima 3?

Luego de la transmisión o almacenamiento...

• Detección: determinar la paridad efectiva de

cada grupo en la palabra recibida (0 si es par, 1

si es impar) e interpretar:

- todas 0 → no hubo error simple ni doble.

- no cero → se supone un error simple, da la

posición para corregirlo (invertir ese bit)

Page 31: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 31 16 de marzo de 2015

Ejemplo: para un código binario natural de 4 bits.

Códigos de Hamming

• Se transmiten los 7 bits.

• Si se recibe la palabra: d3d2d1d0p2p1p0 = 0110011,

verificamos que se mantuvo la paridad par en los tres grupos:

c0 = d3 d1 d0 p0 = 0

c1 = d3 d2 d0 p1 = 0 error en 1 o 2 bits

c2 = d3 d2 d1 p2 = 0 : función lógica XOR (OR-exclusiva)

• Si se recibe la palabra: d3d2d1d0p2p1p0 = 0111011,

determinamos los grupos que cambiaron su paridad a impar:

c2c1c0 = 011 → existe un error simple o doble. Si lo

suponemos simple, está en el bit cuya posición lógica es 3 (en

la secuencia d3d2d1p2d0p1p0), o sea d0.

Si se agrega un bit de paridad par global al código anterior,

se obtiene un código de Hamming con dmin = 4, que permite

corregir errores en un bit y además detectar errores en dos

bits.

Page 32: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 32 16 de marzo de 2015

Códigos de Hamming

Page 33: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 33 16 de marzo de 2015

Códigos para transmisión y almacenamiento de datos en serie

Transmisión de datos:

• en paralelo: 1 línea por cada bit de la palabra de datos y la masa.

• en serie: un bit a la vez, por una sola línea y la masa. Si se puede usar, es más barata.

Requiere 3 líneas y la masa.

Códigos de línea:

Para usar un único “par” (línea de datos y

masa) o 3 líneas para comunicación

bidireccional (Tx, Rx y masa, como la

interfase RS-232), el receptor debe poder

recuperar la información del reloj y del

sincronismo a partir de la señal de datos. Se

usa un DPLL (digital phase-locked loop), el

cual se “desengancha” si no recibe

suficientes transiciones.

Page 34: Unidad1 (Copia en conflicto de Ruku Shigure 2015-03-17).pdf

Sistemas Digitales I 34 16 de marzo de 2015

Bibliografía

Capítulo 1: Sistemas numéricos y Códigos

Análisis y diseño de circuitos lógicos digitales, V. P. Nelson - H. T: Nagle –

B. D. Carrol – J. D. Irwin, Ed. Prentice Hall

Capítulo 2: Sistemas y Códigos numéricos

Diseño Digital: Principios y Prácticas , John Wakerly