Está en la página 1de 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


3 Paridad
4 Cdigos para Deteccin y Correccin de Errores
5 Ejercicios
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 0 1

24 +23

+21 +20

binario
= 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:
a)
b)
c)

Aplicar el mtodo anterior para verificar las siguientes

1001102 = 3810
0.1100012 = 0.76562510
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
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

0 0

+2-2 +2-3 =

1 .0 1

12

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

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

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
^

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

0
1
2
3
4
5
6
7
8
9

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

A
B
C
D
E
F

10
11
12
13
14
15

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 =

1001 1111 0010


=

1.4

Cdigos

1001111100102

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

1000 0111 0100

Como otro ejemplo, cambiemos 94.3 a su representacin en cdigo BCD:


9

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.
decimal:

Convertir el nmero BCD 0110100000111001 a su equivalente


SOLUCIN
0110 1000 0011 1001

EJEMPLO 4.
decimal:

Convierta el nmero BCD 011111000001 a su equivalente

0111

1100

0001

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

1.4.3

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

0011
0100
0101
0110
0111
1000
1001
1010
1011
1100

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 decimal
1111 cdigo errneo
1000 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

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 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 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

BCD

Gray Exceso-3

84218421 8 4 2 1
0
0
0
0
0
0
0
0
1

0
0
0
0
1
1
1
1
0

0
0
1
1
0
0
1
1
0

0
1
0
1
0
1
0
1
0

0
0
0
0
0
0
0
0
1

0
0
0
0
1
1
1
1
1

0
0
1
1
1
1
0
0
0

0
1
1
0
0
1
1
0
0

0
0
0
0
0
1
1
1
1

0
1
1
1
1
0
0
0
0

1
0
0
1
1
0
0
1
1

1
0
1
0
1
0
1
0
1

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

10
:
15

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

CDIGO
Decimal

8 4 -2 -1

Biquinario

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

0
1
2
3
4
5
6
7
8
9

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

0
0
0
0
0
1
1
1
1
1

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

10
:
15

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

6-bits
7-bits
Cdigo interno Cdigo ASCII

A
B
C
D
E
:
V
W
X
Y
Z

010 001
010 010
010 011
010 100
010 101
:
110 101
110 110
110 111
111 000
111 001

100 0001
100 0010
100 0011
100 0100
100 0101
:
101 0110
101 0111
101 1000
101 1001
101 1010

000 000

011 0000

1
2
3
:
7
8
9

000 001
000 010
000 110
:
000 111
001 000
001 001

011 0001
011 0010
011 0011
:
011 0111
011 1000
011 1001

espacio
.
(
:
/
,
=

110 000
011 011
111 100
:
110 001
111 011
001 011

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 Information Interchange 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

BCD

G RAY

A B C D G3 G2 G1 G0
0
0
0
0
0
0

0
0
0
0
1
1

0
0
1
1
0
0

0
1
0
1
0
1

0
0
0
0
0
0

0
0
0
0
1
1

0
0
1
1
1
1

0
1
1
0
0
1

6
7
8
9

0
0
1
1

1
1
0
0

1
1
0
0

0
1
0
1

10
:
15

0
0
1
1

1
1
1
1

0
0
0
0

1
0
0
1

x
:
x

x
:
x

x
:
x

x
:
x

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,
G2(A,
G1(A,
G0(A,

B, C, D) = JM (0-7) Jx (10-15)
B, C, D) = JM (0-3) Jx (10-15)
B, C, D) = JM (0,1,6-9) Jx (10-15)
B, C, D) = JM (0,3,4,7,8) Jx (10-15)

c) Minimizacin de las funciones de conmutacin: Reduciendo por el mtodo


de Karnaugh, se obtiene:

Las funciones mnimas son:


G3(A,
G2(A,
G1(A,
G0(A,
d)

B, C, D) = A
B, C, D) = A + B
B, C, D) = (B + C)(B' +C')
B, C, D) = (C + D)(C' +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 E1 E0
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

mi

8 4 -2 -1
ABC D

3
4
5
6
7
8
9
10
11
12

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

0-2

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) = 3m (8-12) + 3x (0-2,13-15)
B(E3,E2,E1,E0) = 3m (4-7,12) + 3x (0-2,13-15)
C(E3,E2,E1,E0) = 3m (4,5,8,9,12) + 3xS (0-2,13-15)
D(E3,E2,E1,E0) = 3m (4,6,8,10,12) + 3xS (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

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) = 3m (1,2,3,4,7)
Pi (A, B, C) = 3m (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)
(3)

(2)

(4)

= A'(B'C + BC')
+ A(B'C' + BC) =
= A'(B r C) + A(B r C)' =
=ArBrC
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:

(1)

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

2 0 Cdigo de
1 1 Hamming

3 0
2 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

(2)

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

4 11 15

Cdigo de Hamming

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
6
7
8
9
10
:
15

Cdigo exceso-3
E3

E2

E1

E0

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

mi
3
4
5
6
7
8
9
10
11
12

Cdigo a transmitir
C1 C2 E3 C3 E2 E1 E0
1
1
0
1
0
1
0
1
0
0

0
0
1
1
0
1
0
0
1
1

0-2 x x
:
: :
13-15 x x

0
0
0
0
0
1
1
1
1
1

0
1
0
0
1
0
1
1
0
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

x
:
x

b) Funciones de conmutacin: Las funciones de conmutacin


correspondientes a los bits de verificacin de paridad son:
C1(E3,E2,E1,E0) = 3m (3,4,6,8,10) + 3x (0-2,13-15)
C2(E3,E2,E1,E0) = 3m (5,6,8,11,12) + 3x (0-2,13-15)
C3(E3,E2,E1,E0) = 3m (4,7,9,10,12) + 3x (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)

= E2(E1 r E0)' + E3(E1 r E0)


d)

Logigrama:

(3)

(4)

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

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)
b)

De BCD a 8 4 -2 -1.
De BCD a 2 4 2 1
BCD

8 4 -2 -1

2421

ABCDWXY Z

0
1
2
3
4
5
6
7
8
9

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

0
0
0
0
0
1
1
1
1
1

0
0
0
0
1
0
1
1
1
1

0
0
1
1
0
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1

10
:
15

x x x x x x x x
: : : : : : : :
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

BIQUINARIO

D8 D4 D2 D1 B5 B0 Q4 Q3 Q2 Q1 Q0
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

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

También podría gustarte