You are on page 1of 30

CDIGOS, CIRCUITOS CONVERSORES DE CDIGO Y DETECTORES DE ERROR 1 Codificacin de nmeros y tipos de cdigos

1.1 Sistema Numrico Binario 1.2 Sistema Numrico Octal 1.3 Sistema Numrico Hexadecimal 1.4 Cdigos 1.4.1 Cdigo Decimal Codificado en Binario 1.4.2 Cdigo Exceso-3 1.4.3 Cdigo Gray 1.4.4 Cdigos Alfanumricos

2 Circuitos Conversores de Cdigo 5 Ejercicios

3 Paridad

4 Cdigos para Deteccin y Correccin de Errores

La disponibilidad de una gran variedad de cdigos para los mismos elementos discretos de informacin da como resultado el uso de cdigos diferentes para distintos sistemas digitales. Es necesario, en ocasiones, usar la salida de un sistema como entrada de otro, por lo que debe utilizarse un circuito de conversin entre los dos sistemas, si cada uno usa diferentes cdigos para la misma informacin. De esta forma un conversor de cdigo es un circuito que hace compatibles dos sistemas a pesar de que ambos tengan diferente cdigo binario.

1.

CODIFICACIN DE NMEROS Y TIPOS DE CDIGOS

En los sistemas digitales la informacin numrica est generalmente representada en el sistema numrico binario (u otro cdigo binario relacionado). En temas previos, se ha hecho nfasis en la importancia y utilizacin del sistema binario, sin embargo, tambin son importantes otros sistemas numricos, principalmente el OCTAL, HEXADECIMAL y DECIMAL CODIFICADO EN BINARIO (BCD por sus siglas en ingls). 1.1 Sistema numrico binario

El sistema numrico binario es un sistema posicional, en el cual cada dgito binario (bit) lleva un cierto peso basado en su posicin relativa al punto binario (separacin de la parte entera y la fraccionaria). Cualquier nmero binario puede convertirse a su equivalente decimal sumando juntos los pesos de las diferentes posiciones en el nmero binario que contienen un 1. Por ejemplo: 1 1 0 1 1 binario

24 +23

+21 +20 = 16 + 8 + 2 + 1

= 2710 (decimal) Es mismo mtodo se emplea para nmeros binarios que contienen una parte fraccional: 1 0 1 . 1 0 1 = 22 + 20 + 2-1 + 2-3 = 4 + 1 + 0.5 + 0.125 = 5.62510 EJEMPLO 1. conversiones: Aplicar el mtodo anterior para verificar las siguientes

a) 1001102 = 3810 b) 0.1100012 = 0.76562510 c) 11110011.01012 = 243.31510 Se tienen diferentes maneras para convertir un nmero decimal a su representacin equivalente en el sistema binario. Un mtodo, que es conveniente para nmeros pequeos, es el reverso del proceso descrito previamente. El nmero decimal se expresa simplemente como una suma de potencias de 2 y luego se escriben unos y ceros asociados a las posiciones apropiadas de los bits. Por ejemplo: 1310 = 8 + 4 + 1 = 23 + 22 + 0 + 20 = 11012 Otro ejemplo: 25.37510 = 16 + 8 + 1 + 0.25 + 0.125 = = 24 +23 +0 +0 +20 . = 1 1 0 0 1 .0 +2-2 +2-3 = 1 12

Para nmeros decimales mayores, el mtodo anterior es laborioso. Un mtodo ms conveniente, consiste en la conversin separada de las partes entera y fraccionaria. Por ejemplo, para el nmero decimal 25.375, el cual se convirti previamente, el primer paso es la conversin de la parte entera 25. Esto se hace dividiendo repetidamente 25 por 2 y escribiendo los residuos despus de cada divisin, hasta obtener un cociente de ceros, como se muestra en la cuadro adjunto.

La conversin deseada se obtiene escribiendo los residuos como se muestra en el cuadro adjunto. Obsrvese que el primer residuo es el bit menos significativo (bms) y el ltimo el Bit Ms Significativo (BMS). La parte fraccionaria del nmero (0.375), se convierte a binario multiplicndola repetidamente por 2 y anotando cualquier acarreo en la posicin de los enteros, como se muestra en el cuadro siguiente: Ntese que las multiplicaciones continan hasta obtener un producto de 1.00 (la mayora de las veces esto no ocurre y el proceso se termina hasta alcanzar el nmero de bits deseado), puesto que las multiplicaciones posteriores resultan igual a cero. Obsrvese que el primer acarreo se escribe en la primera posicin a la derecha del punto binario. Finalmente, la conversin completa para 25.375 se escribe como la combinacin de las conversiones entera y fraccionaria: 25.37510 = 11001.0112

EJEMPLO 2.

Aplicar este mtodo para comprobar la siguiente conversin:

632.8510 = 1001111000.110112 1.2 Sistema numrico octal

El sistema numrico octal es muy importante en el trabajo con computadoras digitales. El sistema octal tiene una base de 8, significando que tiene ocho dgitos posibles: 0, 1, 2, 3, 4, 5, 6 y 7. As, cada dgito de un nmero octal tiene los siguientes pesos:

---- 84 83 82 81 80 . 8-1 8-2 8-3 8-4 8-5 ---punto ^ octal Un nmero octal puede convertirse fcilmente a su equivalente decimal, multiplicando cada dgito octal por su peso posicional. Por ejemplo: 3728 = 3 x (82) + 7 x (81) + 2 x (80) = = 3 x 64 + 7 x 8 + 2 x 1 = = 25010 Otro ejemplo: 24.68 = 2 x (81) + 4 x (80) + 6 x (8-1) = 20.7510 Los mtodos para convertir un nmero decimal a su equivalente octal son los mismos como los usados para convertir de decimal a binario. Para convertir un entero decimal a octal, se divide progresivamente el nmero decimal por 8, anotando los residuos despus de cada divisin. Los residuos representan los dgitos del nmero octal, con el primer residuo como el menos significativo (bms). Como ejemplo, convertir 26610 a octal: Las fracciones decimales se convierten a octal multiplicando progresivamente por 8 y escribiendo los acarreos en la posicin despus del punto octal. Por ejemplo, 0.38 se convierte a octal como sigue: Note que el primer acarreo es el bit ms significativo (BMS) de la fraccin. Se puede lograr una mayor precisin continuando el proceso para obtener ms dgitos octales. Es til cuando se convierte un nmero decimal relativamente grande a binario, convertirlo primero a octal. El nmero octal puede entonces convertirse a binario. Este mtodo es generalmente ms rpido que la conversin directa decimal a binario, debido a la simpleza de la conversin octal a binario. La principal ventaja del sistema numrico octal es la facilidad con la cual puede hacerse la conversin entre nmeros binarios y octales. La

conversin desde octal a binario se ejecuta convirtiendo cada dgito octal a su equivalente binario de 3 bits. Los ocho dgitos posibles se convierten como se indica en la siguiente tabla:

Dgito octal

Equivalente binario 000 001 010 011 100 101 110 111 Usando estos equivalentes, cualquier nmero octal se convierte a binario por conversin individual de cada dgito. Por ejemplo, se puede pasar 4728 a binario como sigue: 4 ^ 7 ^ 2 ^

100 111 010 Por consiguiente, el octal 472 es equivalente al binario 100 111 010. Como otro ejemplo, considrese la conversin de 54.318 a binario: 5 ^ 4 . 3 ^ ^ 1 ^

101 100 . 011 001 As, 54.318 = 101 100.011 0012 La conversin de binario a octal es simplemente el inverso del proceso anterior. Los dgitos binarios se agrupan de tres en tres a cada lado del punto binario, aadiendo ceros en cualquier lado cuando ello sea necesario para completar un grupo de tres. Entonces cada grupo de tres bits se convierte a su equivalente octal. Como ilustracin, considrese la conversin de 11010.1011 a octal: 011 010 . 101 100 ^ 3 ^ ^ ^ 4 2 . 5

Note que se aadieron ceros a cada lado para completar los grupos de a

tres. As, la conversin deseada es 32.548. 1.3 Sistema numrico hexadecimal

Es sistema numrico hexadecimal usa la base 16. As, tiene 16 smbolos digitales posibles. Usa los dgitos 0-9 ms las letras A, B, C, D, E y F como los 16 smbolos digitales. hexadecimal Decimal Binario
0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

La tabla anterior muestra las relaciones entre hexadecimal, decimal y binario. Note que cada dgito hexadecimal representa a un grupo de cuatro bits binarios. Algunas computadoras utilizan el sistema hexadecimal para propsitos de exposicin en preferencia al octal. Las conversiones entre decimal y binario se hacen exactamente de la misma manera como entre octal y binario, excepto que se usan grupos de 4 bits. En el siguiente ejemplo se ilustra la conversin de binario a hexadecimal y de hexadecimal a binario: 011101001102 = 0011 1010 0110 3 = 3A616 9F116 = 9 F 2 A 6

1001 1111 0010 = 1001111100102 1.4 Cdigos

Cuando se representan nmeros, letras o palabras por un grupo especial de smbolos, se llama codificacin y al grupo de smbolos se le denomina un cdigo. Probablemente uno de los cdigos ms familiares es el cdigo Morse, en el cual las letras del alfabeto se representan por puntos y rayas.

Ya se ha visto que cualquier nmero decimal puede representarse por un nmero binario equivalente. Puede pensarse que el grupo de ceros y unos en el nmero binario es un cdigo que representa al decimal. Cuando se representa un nmero decimal por su nmero binario equivalente, se llama codificacin binaria directa. Los sistemas binarios usan todos alguna forma de nmeros binarios para sus operaciones internas pero el mundo externo es de naturaleza decimal. Esto significa que se deben ejecutar conversiones frecuentes entre los sistemas decimal y binario. Hemos visto que las conversiones entre decimal y binario pueden llegar a ser largas y complicadas para nmeros grandes. Por esta razn, algunas veces se usan otros medios para codificar los nmeros decimales que combinan algunas caractersticas de los sistemas decimal y binario. 1.4.1 Cdigo decimal codificado en binario (BCD, Binary Coded Decimal, por sus siglas en ingls) Si cada dgito de un nmero decimal se representa por su equivalente binario, esto produce un cdigo llamado decimal codificado en binario (abreviado BCD por sus siglas en ingls). Puesto que un dgito decimal puede ser tan grande como 9, se requieren 4 bits para codificar cada dgito (el cdigo binario para 9 es 1001). Para ilustrar el cdigo BCD, tomemos un nmero decimal como 874. Cada dgito se cambia a su equivalente binario como sigue: 8 ^ 7 ^ 4 ^

1000 0111 0100 Como otro ejemplo, cambiemos 94.3 a su representacin en cdigo BCD: 9 ^ 4 ^ . 3 ^

1001 0100 . 0011 Una vez ms, cada dgito decimal se cambia a su equivalente binario directo. Note que siempre se usan 4 bits para cada dgito. El cdigo BCD, entonces representa cada dgito del nmero decimal por un nmero binario de 4 bits. Claramente, slo los nmeros binarios de 4 bits desde 0000 hasta 1001 se usan. El cdigo BCD no usa los nmeros 1010, 1011, 1100, 1101, 1110 y 1111. En otras palabras, slo 10 de los 16 grupos codificados posibles de 4 bits se usan. Si cualesquiera de estos nmeros prohibidos de 4 bits alguna vez ocurren en una mquina que usa el cdigo BCD, generalmente indica que ha ocurrido un error.

EJEMPLO 3. Convertir el nmero BCD 0110100000111001 a su equivalente decimal: SOLUCIN 0110 1000 0011 1001 ^ 6 ^ 8 ^ 3 ^ 9

EJEMPLO 4. Convierta el nmero BCD 011111000001 a su equivalente decimal: 0111 7 1100 ^ 0001 1

grupo de cdigo prohibido indica error en el nmero BCD

Al hacer una comparacin entre BCD y binario comn, es importante darse cuenta que un nmero BCD no es lo mismo que un nmero binario comn. Un cdigo binario comn toma el nmero decimal completo y lo representa en binario, mientras que el cdigo BCD convierte cada dgito decimal a binario en forma individual. Para ilustrar, tome el nmero 137 y compare las representaciones binaria comn y codificada BCD: 13710 = 10001001 binario

13710 = 0001 0011 0111 BCD El cdigo BCD requiere 12 bits mientras que el cdigo binario comn requiere slo 8 bits para representar 137. Es siempre verdadero que el cdigo BCD para un nmero decimal dado requiere ms bits que el cdigo binario comn. Esto es porque BCD no usa todos los grupos posibles de 4 bits, como se seal antes y es por consiguiente algo ineficiente. La principal ventaja del cdigo BCD es la facilidad relativa para convertir a y desde decimal. Slo se requiere recordar los grupos codificados de 4 bits para los dgitos decimales del 0 al 9. Esta facilidad de conversin es especialmente importante desde el punto de vista de circuitos, porque en un sistema decimal son los circuitos lgicos los que ejecutan las conversiones a y desde decimal. BCD se usa en mquinas digitales siempre y cuando se aplique informacin digital, ya sea como entradas o mostradas como salidas. Los voltmetros digitales, contadores de frecuencia y relojes digitales usan todos BCD, porque despliegan la informacin de salida en decimal. Las calculadoras electrnicas usan BCD porque los nmeros de entrada vienen en decimal va el teclado y los nmeros de salida son mostrados en decimal.

BCD no es a menudo usado en computadoras digitales modernas de alta velocidad por dos buenas razones. Primero, como ya fue sealado, el cdigo BCD para un nmero decimal dado requiere ms bits que el cdigo binario directo y es por consiguiente menos eficiente. Esto es importante en computadoras digitales porque el nmero de lugares en memoria donde estos bits pueden ser almacenados es limitado. Segundo, los procesos aritmticos para nmeros representados en cdigo BCD son ms complicados que en binario ordinario y requieren as de circuitera ms compleja. La circuitera ms compleja contribuye a una disminucin en la velocidad a la cual tienen lugar las operaciones aritmticas. Las calculadoras que usan BCD son, por consiguiente, considerablemente ms lentas en su operacin que las computadoras. 1.4.2 Cdigo exceso-3

El cdigo exceso-3 est relacionado con el cdigo BCD y usado a veces en lugar de l porque posee ventajas en ciertas operaciones aritmticas. El cdigo exceso-3 para un nmero decimal se ejecuta de la misma manera que en BCD excepto que se aade 3 a cada dgito decimal antes de codificarlo en binario. Por ejemplo, para codificar el nmero decimal 4 en el cdigo exceso-3, debemos aadir 3 para obtener 7. Luego el 7 se codifica en cdigo binario equivalente de 4 bits para obtener 0111. Como otro ejemplo, convirtamos 46 a su representacin en cdigo exceso-3: 4 +3 6 +3 aada 3 a cada dgito

7 9 convierta a cdigo binario de 4 bits 0111 1001 La siguiente tabla muestra las listas para las representaciones BCD y exceso-3 para los dgitos decimales. Note que ambos cdigos usan 10 de los 16 posibles grupos codificados de 4 bits. El cdigo exceso-3, sin embargo, no usa los mismos grupos codificados. Para exceso-3, los grupos codificados no vlidos son 0000, 0001, 0010, 1101, 1110 y 1111. Decimal BCD Exceso-3 0 1 2 3 4 5 5 7 8 9 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

1.4.3

Cdigo Gray

El cdigo Gray pertenece a una clase de cdigos llamados cdigos de cambio mnimo, en los cuales slo cambia un bit en el grupo codificado cuando se va de un paso al siguiente. El cdigo Gray es un cdigo no ponderado, significando que las posiciones de los bits en los grupos codificados no tienen un peso especfico asignado. Debido a esto, el cdigo Gray no es apropiado para operaciones aritmticas, pero encuentra aplicaciones en dispositivos de entrada/salida y en algunos tipos de convertidores analgicos a digital. La siguiente tabla muestra la representacin en Cdigo Gray para los nmeros decimales 0 al 15, junto con el cdigo binario directo. Si examinamos los grupos codificados Gray para cada nmero decimal, puede verse que al ir desde cualquier nmero decimal al siguiente, slo un bit del cdigo Gray cambia. Por ejemplo, al ir desde 3 a 4, el cdigo Gray cambia de 0010 a 0110, con solo el segundo bit desde la izquierda experimentando cambio. Yendo de 14 a 15 los bits del cdigo Gray cambian de 1001 a 1000, con una sola variacin en el ltimo bit. Esta es la principal caracterstica del cdigo Gray. Compare esto con el cdigo binario en el cual de uno a todos los bits cambian de un nmero al siguiente. Decimal Cdigo binario Cdigo Gray
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

El cdigo Gray se usa a menudo donde otros cdigos tales como el binario, pudieran producir resultados errneos o ambiguos durante esas transiciones en las cuales ms de un bit del cdigo est cambiando. Usando el cdigo binario, por ejemplo, y yendo de 0111 a 1000 requiere que todos los 4 bits cambien simultneamente. Dependiendo del dispositivo o circuito que est generando los bits, puede haber una diferencia significativa en los tiempos de transicin de los diferentes bits. Si esto es as, las transiciones de 0111 a 1000 pudiera producir uno o ms estados intermedios. Por ejemplo, si el bit ms significativo cambia ms rpido que el resto, ocurrirn las siguientes transiciones:

0111 1111 1000

decimal cdigo errneo decimal 8

La ocurrencia de 1111 es slo momentnea pero pudiera concebiblemente producir una operacin errnea de los elementos que estn siendo controlados por los bits. Obviamente, usando el cdigo Gray se elimina este problema, puesto que slo ocurre el cambio de un bit por transicin y no puede ocurrir una carrera. Cualquier nmero binario puede convertirse a su representacin en cdigo Gray como sigue: 1. El primer bit del cdigo Gray es el mismo como el primer bit del nmero binario. 2. El segundo bit del cdigo Gray es igual a la operacin O EXCLUSIVA del primer y segundo bits del nmero binario; esto es, ser 1 si estos bits del cdigo binario son diferentes y 0 si son los mismos. 3. El tercer bit del cdigo Gray es igual a la O EXCLUSIVA del segundo y tercer bits del nmero binario y as sucesivamente. Para ilustrar esto, convirtamos el binario 10110 al cdigo Gray: 1 1 0 1 1 1 1 0 0 cdigo binario 1 cdigo Gray

^ ^ ^ ^ ^

El primer bit del cdigo Gray es el mismo como el primer bit del cdigo binario. El primero y segundo bits del cdigo binario son diferentes, dando un 1 para el segundo bit Gray. El segundo y tercer bits del nmero binario son diferentes, dando un 1 para el tercer bit Gray. El tercero y cuarto bits del nmero binario son lo mismo, as que el cuarto bit Gray es 0. Finalmente, el cuarto y quinto bits binarios son diferentes, dando un quinto bit Gray de 1. Otro ejemplo es como sigue: 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 binario 1 Gray

^ ^ ^ ^ ^ ^ ^ ^

Para convertir de Gray a binario se requiere el procedimiento opuesto dado previamente:

1. El primer bit binario es el mismo que el primer bit Gray. 2. Si el segundo bit Gray es 0, el segundo bit binario es el mismo como el primero; si el segundo bit Gray es 1, el segundo bit binario es el inverso del primer bit binario. 3. El paso 2 se repite para el bit sucesivo. Para ilustrar esto, convirtamos 1101 de Gray a binario: 1 1 1 0 0 0 1 Gray 1 binario

^ ^ ^ ^

El primer bit Gray es 1, as que el primer bit binario se escribe como 1. El segundo bit Gray es un 1, as que el segundo bit binario se hace un 0 (inverso del primer bit binario). El tercer bit Gray es un 0. as que el tercer bit binario se hace un 0 (lo mismo como el segundo bit binario). El cuarto bit Gray es 1, haciendo el cuarto bit un 1 (inverso del tercer bit binario). Este proceso puede ser visto de otra manera: Cada bit binario (exceptuando el primero) puede obtenerse tomando la O EXCLUSIVA del bit correspondiente del cdigo Gray y el bit binario previo. Finalmente, en las siguientes tablas, se presentan los cdigos Gray y los ponderados exceso-3, 8 4 -2 -1 y Biquinario, referidos al cdigo BCD. CDIGO Decimal
0 1 2 3 4 5 6 7 8 9 10 : 15

BCD
0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1

Gray Exceso-3
0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0

84218421 8 4 2 1

x x x x x x x x : : : : : : : : x x x x x x x x

CDIGO Decimal
0 1 2

8 4 -2 -1

Biquinario

8 4 -2 -1 5 0 4 3 2 1 0
0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0

3 4 5 6 7 8 9 10 : 15

0 0 1 1 1 1 1

1 1 0 0 0 0 1

0 0 1 1 0 0 1

1 0 1 0 1 0 1

0 0 1 1 1 1 1

1 1 0 0 0 0 0

0 1 0 0 0 0 1

1 0 0 0 0 1 0

0 0 0 0 1 0 0

0 0 0 1 0 0 0

0 0 1 0 0 0 0

x x x x x x x x x x x : : : : : : : : : : : x x x x x x x x x x x

En las tablas anteriores, se indican los trminos indiferentes (prohibidos). 1.4.4 Cdigos alfanumricos

Hemos estudiado varios cdigos que se usan para representar datos numricos, esto es, nmeros. Muchos sistemas digitales, tales como la computadora, usan tambin datos alfabticos (letras) y caracteres especiales (tales como smbolos de puntuacin y matemticos) en adicin a nmeros. Tales cdigos se llaman alfanumricos. La siguiente tabla muestra dos de los diferentes cdigos alfanumricos que estn en uso corriente. El cdigo interno de 6 bits se usa a menudo en computadoras para representar internamente caracteres alfanumricos. Carcter
A B C D E : V W X Y Z 0 1 2 3 : 7 8 9 espacio . ( : / , =

6-bits 7-bits Cdigo interno Cdigo ASCII


010 001 010 010 010 011 010 100 010 101 : 110 101 110 110 110 111 111 000 111 001 000 000 000 001 000 010 000 110 : 000 111 001 000 001 001 110 000 011 011 111 100 : 110 001 111 011 001 011 100 0001 100 0010 100 0011 100 0100 100 0101 : 101 0110 101 0111 101 1000 101 1001 101 1010 011 0000 011 0001 011 0010 011 0011 : 011 0111 011 1000 011 1001 010 0000 010 1110 010 1000 : 010 1111 010 1100 011 1101

El cdigo interno de 6 bits puede representar hasta 64 caracteres diferentes, ya que 26=64. La necesidad de representar ms de 64 caracteres, en ciertas aplicaciones, da lugar a cdigos de 7 y 8 bits. Uno de tales cdigos es el ASCII, por sus siglas en ingls (American Standard Code for I nformation I nterchange - Cdigo Estndar Americano para Intercambio de Informacin), el cual se usa en la transmisin de informacin digital. El ASCII mostrado en la tabla tiene 7 bits, lo cual indica que puede representar 27=128 caracteres diferentes. Slo algunos de stos se muestran en la tabla.

2 CIRCUITOS CONVERSORES DE CDIGO


Para convertir el cdigo binario A al cdigo binario B, las lneas de entrada deben dar una combinacin de bits de los elementos, tal como se especifica por el cdigo A y las lneas de salida deben generar la correspondiente combinacin de bits del cdigo B. EJEMPLO 1: Realizar un circuito mnimo conversor de cdigo de BCD a GRAY para 4 variables de entrada A, B, C, D, utilizando inversores, una compuerta O y compuertas No-O. Considere las condiciones irrelevantes. SOLUCIN a) Tabla funcional: DEC
0 1 2 3 4 5 6 7 8 9 10 : 15

BCD
0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 x : x

GRAY
0 0 0 0 1 1 1 1 1 1 x : x 0 0 1 1 1 1 0 0 0 0 x : x 0 1 1 0 0 1 1 0 0 1 x : x

A B C D G3 G2 G1 G0

b) Variables de salida: Como el logigrama deber realizarse con compuertas No-O, las funciones de conmutacin a la salida del conversor, debern expresarse como producto de maxitrminos: G3(A, B, C, D) = J M G2(A, B, C, D) = J M G1(A, B, C, D) = J M G0(A, B, C, D) = J M (0-7) J x (10-15) (0-3) J x (10-15) (0,1,6-9) J x (10-15) (0,3,4,7,8) J x (10-15)

c) Minimizacin de las funciones de conmutacin: Reduciendo por el mtodo de Karnaugh, se obtiene:

Las funciones mnimas son: G3(A, B, C, D) = A G2(A, B, C, D) = A + B G1(A, B, C, D) = (B + C)(B' +C') G0(A, B, C, D) = (C + D)(C' +D') d) Logigrama:

EJEMPLO 2: Realice un circuito mnimo conversor de cdigo exceso-3 (BCD) a 8 4 -2 -1, utilizando slo inversores. SOLUCIN a) Tabla funcional: CDIGO Decimal 0 1 2 3 4 5 6 7 8 9 10 : 15 Exceso-3 E3 E2 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 E1 E0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 mi 3 4 5 6 7 8 9 10 11 12 0-2 8 4 -2 -1 AB C D 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1

x x x x

13-15 x x x x

Obsrvese que el cdigo exceso-3 slo puede generarse hasta el 9 decimal, puesto que se toma como base el cdigo BCD. Asimismo, los minitrminos de entrada para el cdigo 8 4 -2 -1, son los que genera el cdigo exceso-3, los cuales se indican en la columna mi. Tambin, los trminos indiferentes corresponden a aquellos que no aparecen a la salida del cdigo exceso-3, puesto que no se generarn.

b) Funciones de conmutacin: Las funciones de conmutacin a la salida del cdigo 8 4 -2 -1, pueden expresarse como suma de minitrminos, ya que no existe una condicin previa: A(E3,E2,E1,E0) = 3 m (8-12) + 3 x (0-2,13-15) B(E3,E2,E1,E0) = 3 m (4-7,12) + 3 x (0-2,13-15) C(E3,E2,E1,E0) = 3 m (4,5,8,9,12) + 3 xS (0-2,13-15) D(E3,E2,E1,E0) = 3 m (4,6,8,10,12) + 3 xS (0-2,13-15) c) Reduccin de las funciones de conmutacin: Utilizando los mapas K para minimizar las funciones de conmutacin, se obtiene:

d) Funciones de conmutacin minimizadas: A(E3, E2, E1, E0) = E3 B(E3, E2, E1, E0) = E2 C(E3, E2, E1, E0) = E1'

D(E3, E2, E1, E0) = E0' e) Logigrama:

3 PARIDAD
La transmisin de datos binarios de una localizacin a otra es un lugar comn en todos los sistemas digitales. Se presentan cuatro ejemplos de esto: 1. Salida de datos binarios desde una computadora y que estn registrndose en cinta magntica. 2. Transmisin de datos binarios por lnea telefnica, tal como entre una computadora y una consola remota. 3. Un nmero se toma de la memoria de la computadora y se coloca en la unidad aritmtica, en donde se aade a otro nmero. La suma es luego regresada a la memoria. 4. Informacin almacenada en un disco flexible se lee para cargarse en la memoria de una computadora personal.

Lo anterior se ejemplifica en la figura adjunta. El proceso de transferir datos est sujeto a error, aun cuando el equipo moderno ha sido diseado para reducir la probabilidad de error. Sin embargo, aun errores relativamente infrecuentes pueden causar resultados intiles, as que es deseable detectarlos siempre que ello sea posible. Uno de los esquemas usados ms ampliamente para la deteccin de errores es el mtodo de paridad. Un bit de paridad es un bit extra que se agrega a un grupo codificado el cual se transmite de una localizacin a otra. El bit de paridad se hace ya sea 0 o 1, dependiendo del nmero de unos que estn contenidos en el grupo codificado. Se usan dos mtodos diferentes. En el mtodo de paridad par el valor del bit de paridad se escoge de tal manera que el nmero total de unos en el grupo codificado (incluyendo el bit de paridad) sea un nmero par. Supngase por ejemplo, que el grupo codificado es 10110. El grupo codificado tiene tres unos. Por tanto, se aade un bit de paridad de 1 para hacer el nmero total de unos un valor par. El nuevo grupo codificado, incluyendo el bit de paridad es: 10110 1 ^ bit de paridad aadido Si el grupo codificado contiene un nmero par de unos inicialmente, el bit de paridad recibe el valor de 0. Por ejemplo, si el cdigo es 10100, el bit de paridad asignado sera 0, as que el nuevo cdigo, incluyendo el bit de paridad sera 101000. El mtodo de paridad impar se usa exactamente de la misma manera, excepto que el bit de paridad se escoge de tal modo que el nmero total de unos (incluyendo el bit de paridad) sea un nmero impar. Por ejemplo, para el grupo codificado 01100, el bit de paridad asignado sera un 1. Para el grupo 11010, el bit de paridad sera un 0.

Sin importar si se usa paridad par o impar, el bit de paridad se aade a la palabra codificada y es transmitido como parte de la palabra codificada. La figura adjunta muestra como se usa el mtodo de paridad. Los bits del grupo codificado estn representados por A, B y C. Estos bits pudieran venir de las salidas de un conversor de cdigo. Se alimentan entonces a un circuito generador de paridad, el cual es un circuito lgico que examina los bits de entrada y produce un bit de paridad de salida del valor correcto. El bit de paridad se transmite junto con los bits de entrada, como lo muestra la figura adjunta. La siguiente tabla muestra la forma de obtener los bits de paridad para el cdigo binario de 3 bits. Pp y Pi, son las funciones resultantes de aplicar paridad par e impar, respectivamente. Decimal A B C Pp Pi 0 0 0 0 0 1 1 2 3 4 5 6 7 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0

Las funciones de conmutacin correspondientes a los bits de verificacin son: Pp (A, B, C) = 3 m (1,2,3,4,7) Pi (A, B, C) = 3 m (0,3,5,6)

Tanto de la tabla como de las ecuaciones, se observa que Pp y Pi son complementarios. La figura adjunta muestra la reduccin de Pp por mapas K: La funcin reducida es: Pp (A, B, C) = A'B'C + A'BC' + AB'C' + ABC =
(1) (2) (3) (4)

= A'(B'C + BC') + A(B'C' + BC) = = A'(B r C) + A(B r C)' = =ArB rC Como Pi es el complemento de Pp, entonces: Pi (A, B, C) = (A r B r C)' El logigrama de Pp junto con una posible aplicacin es: Cuando los bits transmitidos alcanzan su destino, son alimentados a un circuito comprobador de paridad, el cual es un circuito lgico que examina todos los bits para determinar si la paridad correcta est presente. En un sistema de paridad par, el comprobador de paridad generar una salida baja de error si el nmero de entradas1 es un nmero par y una salida de error alta (indicando un error) si el nmero de entradas 1 es impar. En un sistema de paridad impar sera al contrario. Si ocurre un error en uno de los bits transmitidos, el circuito comprobador de paridad lo detectar. Por ejemplo, supongamos que los bits del grupo codificado son 0110 y que estamos usando un sistema de paridad impar. El circuito generador de paridad generar entonces un 1 para un bit de paridad, as que ser transmitido 01101. Si estos bits llegan al comprobador de paridad sin cambio, ste producir una salida 0 (ningn error). Sin embargo, si uno de los bits cambia antes de llegar al verificador de paridad

(tal como 00101 en lugar de 01101), el comprobador de paridad se har alto indicando que ha ocurrido un error en la transmisin. La salida de error puede usarse para sonar una alarma, detener la operacin del sistema o activar un indicador de error. Debera ser aparente que este mtodo de paridad puede detectar errores nicos pero no puede detectar errores dobles. Esto es porque un error doble no cambiar la paridad del grupo de bits, as que el verificador de paridad indicar ningn error. Tambin, este mtodo de paridad no seala al error; esto es, no determina al bit errneo. Para detectar y sealar errores dobles, debern usarse mtodos ms sofisticados, que permitan hacer correcciones. Tal es el caso del mtodo de Hamming, tratado a continuacin.

4 CDIGOS PARA DETECCIN Y CORRECCIN DE ERRORES


Uno de los mtodos ms empleados para detectar y corregir errores es el cdigo desarrollado por Hamming. A continuacin se presentan algunas definiciones iniciales:
DISTANCIA: La

distancia en un cdigo, se define como el nmero de cambios (0 o 1) que existen entre dos caracteres consecutivos.
DISTANCIA MNIMA:

La distancia mnima M de un cdigo, se define como el nmero mnimo de bits en que pueden diferir dos caracteres consecutivos cualesquiera de un cdigo. La expresin que relaciona la distancia mnima, deteccin y correccin de errores es: M - 1 = D + C para toda C <= D Donde: M = Distancia mnima D = Bits errneos que se detectan C = Bits errneos que se corrigen La Tabla 1, muestra la relacin para diferentes valores de M, D y C: Tabla 1 M D C 0 0 0 1 0 0 2 1 0 3 4 2 0 Cdigo de 1 1 Hamming 3 0 2 1 (1)

4 0 5 3 1 2 2 Considerando a: k = Nmero de bits de verificacin de paridad y M=k Entonces, la relacin entre los bits de paridad y los bits del cdigo original, est dada por la siguiente expresin: 2k - 1 = k + n donde: n = No. de bits del cdigo original k + n = No. de bits del nuevo cdigo La siguiente tabla, muestra la relacin entre k y n, para algunos valores de k: k n k+n 0 0 1 0 2 1 3 4 0 1 3 7 Cdigo de Hamming (2)

4 11 15 5 26 31 De la tabla anterior, se observa que entre ms bits de seguridad se deseen en el cdigo de inters, el nmero de bits de ste aumenta considerablemente. Para un cdigo original de 4 bits A, B, C y D, al que le corresponden 3 bits de paridad C1, C2 y C3, stos se colocan en las posiciones 2n, con n=0,1,2; es decir, en las posiciones 1, 2 y 4, como se muestra a continuacin: 1 2 3 4 5 6 7

C1 C2 A C3 B C D Cada bit de paridad se selecciona para generar paridad (par o impar) en las siguientes posiciones: C1 6 1,3,5,7

C2 6 2,3,6,7 C3 6 4,5,6,7 Una manera sencilla de recordar las posiciones para generar paridad de cada uno de los bits de paridad, se muestra en la siguiente tabla: 1 2 3 4 5 6 7 Posicin C1 1 0 1 0 1 0 1 1,3,5,7 C2 0 1 1 0 0 1 1 2,3,6,7 C3 0 0 0 1 1 1 1 4,5,6,7 Por ejemplo, si se quiere transmitir 910 = 10012 con paridad par, el nuevo cdigo ser: 1 2 3 4 5 6 7

C1 C2 A C3 B C D 0 0 1 1 0 0 1 nuevo cdigo Para C1: En las posiciones 3, 5 y 7, se tienen dos UNOS, obtenindose paridad par, lo que indica que hay que colocar un CERO en la posicin 1. Para C2: En las posiciones 3, 6 y 7, se tienen dos UNOS, obtenindose paridad par, lo que indica que hay que colocar un CERO en la posicin 2. Para C3: En las posiciones 5, 6 y 7, se tiene un solo UNO, lo que indica que hay que colocar un 1 en la posicin 4 para tener paridad par. EJEMPLO 3. Dado el cdigo exceso-3 (BCD), obtener el nuevo cdigo con distancia mnima de 3 (M = 3) y disear el circuito generador de paridad. SOLUCIN a) Tabla funcional. DEC 0 1 2 3 4 5 Cdigo exceso-3 E3 E2 E1 E0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 mi 3 4 5 6 7 8 Cdigo a transmitir C1 C2 1 0 1 0 0 1 1 1 0 0 1 1 E3 C 3 0 0 0 1 0 0 0 0 0 1 1 0 E2 E1 0 1 1 0 1 0 1 1 1 1 0 0 E0 1 0 1 0 1 0

6 7 8 9 10 : 15

1 1 1 1

0 0 0 1

0 1 1 0

1 0 1 0

9 10 11 12

0 1 0 0

0 0 1 1 x : x

1 1 1 1

1 1 0 1 x : x

0 0 0 1

0 1 1 0

1 0 1 0

0-2 x : : 13-15 x

b) Funciones de conmutacin: Las funciones de conmutacin correspondientes a los bits de verificacin de paridad son: C1(E3,E2,E1,E0) = 3 m (3,4,6,8,10) + 3 x (0-2,13-15) C2(E3,E2,E1,E0) = 3 m (5,6,8,11,12) + 3 x (0-2,13-15) C3(E3,E2,E1,E0) = 3 m (4,7,9,10,12) + 3 x (0-2,13-15) c) Reduccin por mapas K: Los mapas K para los bits de verificacin son:

De los mapas, se obtienen las siguientes funciones reducidas: C1(E3, E2, E1, E0) = E3'E0' + E2'E0' + E3'E2'
(1) (2) (3)

C2(E3, E2, E1, E0) = E3E1'E0' + E2E1'E0 + E3E1E0 + E2E1E0' =


(1) (2) (3) (4)

= E3(E1'E0' + E1E0) + E2(E1'E0 + E1E0') = = E3(E1 r E0)' + E2(E1 r E0) C3(E3, E2, E1, E0) = E2E1'E0' + E2E1E0 + E3E1'E0 + E3E1E0' =
(1) (2) (3) (4)

= E2(E1 r E0)' + E3(E1 r E0) d) Logigrama:

EJEMPLO 4. Determinar las posiciones de paridad para los bits de verificacin para k=4 (distancia mnima igual a 4). SOLUCIN Sustituyendo el valor de k en la expresin (1), se tiene: 2k - 1 = 24 - 1 = 15 = k + n Por tanto, el nmero de bits del cdigo original, n, es igual a 11. El cdigo a transmitir es de 15 bits (k+n). La posicin para determinar la paridad de los bits de verificacin se obtiene de la siguiente tabla: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 C1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

C2 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 C3 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C4 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Para C1: Se debe tener paridad par en las posiciones: 1,3,5,7,9,11,13,15 Para C2: Se debe tener paridad par en las posiciones: 2,3,5,7,10,11,14,15 Para C3: Se debe tener paridad par en las posiciones: 4,5,6,7,12,13,14,15 Para C4: Se debe tener paridad par en las posiciones: 8,9,10,11,12,13,14,15 Como los bits de verificacin deben estar en una posicin correspondiente a una combinacin binaria (1,2,4,8), entonces el cdigo a transmitir es: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

C1 C2 x10 C3 x9 x8 x7 C4 x6 x5 x4 x3 x2 x1 x0 Donde: C1, C2, C3 y C4 son los bits de verificacin y x10, x9, ... , x0 corresponden al cdigo original.

5 EJERCICIOS
1. Realice un circuito convertidor de cdigo Gray a binario para 4 bits, de tal manera que se utilicen slo compuertas O EXCLUSIVAS. 2. Realice los siguientes conversores de cdigo, cuya codificacin se muestra en la tabla: a) De BCD a 8 4 -2 -1. b) De BCD a 2 4 2 1 BCD 0 1 2 3 4 5 6 7 8 4 -2 -1 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 2421 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 0 1

AB C D WXYZ

8 9

1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1

10 x x x x x x x x : : : : : : : : : 15 x x x x x x x x
NOTA: Considere los trminos indiferentes.

3. Obtenga el diagrama lgico mnimo del conversor de cdigo de exceso-3 (BCD) a un cdigo BCD autocomplementario, cuyas combinaciones 0, 1, 2, y 4 estn excedidas en 2 y las restantes tienen un exceso en 4. Obtenga el mayor nmero de relaciones exclusivas posibles para realizar el diagrama lgico. 4. Disee el circuito que permita transmitir el cdigo 8 4 -2 -1 (BCD) con distancia mnima de 3. Considere las condiciones irrelevantes. 5. Se desea transmitir el nmero 5710 empleando la tcnica de Hamming. Cul es el cdigo deseado? 6. Si se recibe el siguiente mensaje: 110000011101101 Determine si existe error y en qu posicin se encuentra. 7. Codificar el carcter de informacin 01101110101 de acuerdo con el cdigo de Hamming de 15 bits. 8. Si existe, determinar cul bit est equivocado en el carcter con cdigo de Hamming 1100111. 9. Dado el siguiente diagrama a bloques de un circuito combinacional:

a) Obtenga las salidas mnimas del bloque (1) como una suma de productos. b) Obtenga las salidas mnimas del bloque (2) como suma de productos. c) Realice el logigrama de a) y b) utilizando slo inversores y compuertas No-Y.
NOTA: A, E3 y C1 son las variables de mayor peso binario. Considere los trminos indiferentes.

10. . Dado el siguiente diagrama a bloques de un circuito combinatorio: a) Obtenga las salidas mnimas del bloque (1) como un producto de sumas. b) Obtenga las salidas mnimas del bloque (2) como un producto de sumas. c) Realice el logigrama de a) y b) utilizando slo inversores y compuertas No-O
NOTA: A, H1 y E3 son las variables de mayor peso binario. Considere los trminos indiferentes.

11. . Dado el cdigo 8 4 -2 -1 (BCD), determine el nuevo cdigo de Hamming con distancia mnima de 3 y obtenga el logigrama reducido utilizando slo inversores y compuertas No-O. Considere los trminos indiferentes. 12. Disee un circuito mnimo de segundo orden para convertir una entrada decimal codificada en binario a una salida biquinaria (2 de 7). Como se indica en la figura adjunta, deber contar con 4 entradas y 7 salidas. Los cdigos para la entrada y la salida correspondientes a los dgitos decimales se dan en la siguiente tabla. Se puede suponer que las 6 combinaciones posibles de entrada no anotadas en ella (correspondientes a 10-15) nunca se producirn. DGITO 0 1 2 3 4 5 6 7 8 9 BCD 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 BIQUINARIO 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0

D8 D4 D2 D1 B5 B0 Q4 Q3 Q2 Q1 Q0

You might also like