Está en la página 1de 11

Sistemas digitales

Código binario

Definición:

El código binario es el conjunto que permite la codificación y descodificación de la información


que se transmite de manera que pueda ser intercambiada en forma comprensible entre la fuente y el
destino

Un código binario es una representación de ciertos elementos a través de la asignación a


cada uno de ellos de una combinación determinada, elegido dentro de un juego
predeterminado de símbolos (denominado alfabeto del código). En los códigos binarios el
alfabeto del código son los dígitos binarios cero y uno.

El código más utilizado es el binario natural que se desprende del sistema de numeración
binaria para una cantidad “n” de bits previamente determinado. Un código binario de 3 bits
nos permitirá representar hasta 8 (23 ) combinaciones diferentes. En general un código
binario nos permite representar hasta2𝑛 elementos distintos. Finalmente un código sirve
para el almacenamiento y transmisión de un bit da datos a la vez.

Propiedades de los códigos binarios

 Un código binario es ponderado cuando a cada dígito binario, le corresponde un


peso según su posición.
 Distancia del código es la distancia menor (diferencia de bits).
 Un código continúo es que dos palabras código consecutivas son adyacentes.
 Un código cíclico es aquel que además de ser continúo, la primera y la última
también lo son.

Características de lo códigos binarios

 PONDERADO: El valor de cada bit depende de la posición que ocupe


Ejm. Binario natural
 CONTINÚO: Si los números decimales consecutivos tienen representaciones
adyacentes, es decir, varían de un único bit.
Ejm. Gray o reflejado
 CÍCLICO: Si la última representación es adyacente a la primera.
Ejm. Gray o reflejado

1. Código gray o reflejado

No es ponderado ni es un código aritmético; esto es, no hay pesos específicos asignados a las
posiciones de los bits. El carácter importante del código Gray es que exhibe solo un cambio de bit
único de un número de código al siguiente. Esta propiedad es muy importante para muchas
aplicaciones, tales como codificadores de posición axial, donde la susceptibilidad a errores se
incrementa con el número de cambios de bit entre números adyacentes en una secuencia.

La tabla siguiente es una lista del código Gray de cuatro bits para números decimales del 0 al 15.
Los números binarios se muestran en la tabla como una referencia. Como los números binarios, el
código Gray puede tener cualquier número de bits. Note el cambio de bit único entre los números
sucesivos del código Gray. Por ejemplo, yendo del decimal 3 al 4, el código Gray cambia de 0010 a
0110, mientras que el binario cambio de 0011 a 0100, un cambio de tres bits. El único cambio de
bit se origina en el tercer bit de la derecha en el código Gray; los otros permanecen iguales.

Decimal Binario Gray Decimal Binario Gray


0 0000 0000 8 1000 1100
1 0001 0001 9 1001 1101
2 0010 0011 10 1010 1111
3 0011 0010 11 1011 1110
4 0100 0110 12 1100 1010
5 0101 0111 13 1101 1011
6 0110 0101 14 1110 1001
7 0111 0100 15 1111 1000

Conversión de un código binario natural a gray

Para convertir una palabra en código binario natural a código gray, se obtiene en cada bit
gray la siguiente expresión. (Procediendo de derecha a izquierda) haciendo la operación
XOR entre los binarios correspondientes. Ej. Código de n=7 bits

B7 B6 B5 B4 B3 B2 B1 B0

0 1 0 0 0 1 1 1 Binario Natural.

1 1 0 0 1 0 0 Gray

G6 G 5 G4 G3 G2 G1 G0
Se convirtió el binario 1000111 al gray 1100100

Conversión de un número en código gray a binario natural

P ara realizar la conversión en sentido contrario, de gray a binario natural, se utiliza la


siguiente (procediendo de izquierda a derecha).

Gray 1 1 0 0 1 0 0

Binario Nat. 0 1 0 0 0 1 1 1
Se convertió el binario gray 1100100 al binario natural 1000111

2. Código de Paridad

Un bit de paridad es un bit extra que se agrega a un grupo codificado el cual se transmite de una
localización a otra. El bit de paridadse hace ya sea 0 o 1, dependiendo del número de unos que
están contenidos en el grupo codificado. Se usan dos métodos diferentes. En el método de paridad
par el valor del bit de paridad se escoge de tal manera que el número total de unos en el grupo
codificado (incluyendo el bit de paridad) sea un número par. Supóngase por ejemplo, que el grupo
codificado es10110. El grupo codificado tiene tres unos. Por tanto, se añade un
bit de paridad de 1 para hacer el número total de unos un valor par. El nuevo grupo codificado,
incluyendo el bit de paridad es:

10110 1 ^ Bit de paridad añadido

Si el grupo codificado contiene un número par de unos inicialmente, el bit de paridad recibe el
valor de 0. Por ejemplo, si el código es 10100, el bit de paridad asignado sería 0, así que el nuevo
código, incluyendo el bit de paridad sería 101000.

El método de paridad impar se usa exactamente de la misma manera, excepto que el bit
de paridad se escoge de tal modo que el número total de unos (incluyendo el bit de paridad) sea un
número impar. Por ejemplo, para el grupo codificado 01100, el bit de paridad asignado sería un 1.
Para el grupo 11010, el bit de paridad sería un 0.

Sin importar si se usa paridad par o impar, el bit de paridad se añade a la palabra codificada y
es transmitido como parte de la palabra codificada. La figura adjunta muestra cómo se usa el
método de paridad.Los bits del grupo codificado están representados por A, B y C. Estos bits
pudieran venir de las salidas de un conversor de código. Se alimentan entonces a un circuito
generador de paridad, el cual es un circuito lógico 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
código 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 0 0 1 1 0

2 0 1 0 1 0

3 0 1 1 0 1

4 1 0 0 1 0

5 1 0 1 0 1

6 1 1 0 0 1

7 1 1 1 1 0

Las funciones de conmutación correspondientes a los bits de verificación 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 reducción de Pp por mapas K:

La función 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)' =
=ArBrC

Como Pi es el complemento de Pp, entonces.


Pi (A, B, C) = (A r B r C)'

El organigrama de Pp junto con una posible aplicación es:

Cuando los bits transmitidos alcanzan su destino, son alimentados a un circuito comprobador
de paridad, el cual es un circuito lógico 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 número de entradas1 es un número par y una salida de
error alta (indicando un error) si el número de entradas 1 es impar. En un sistema de
paridad impar sería 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 (ningún 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 transmisión. La salida de error puede usarse para
sonar una alarma, detener la operación del sistema o activar un indicador de error.

3. Códigos para detección y corrección de errores


Uno de los métodos más empleados para detectar y corregir errores es el código desarrollado
por Hamming. A continuación se presentan algunas definiciones iniciales:

 DISTANCIA: La distancia en un código, se define como el número de cambios (0 o 1) que


existen entre dos caracteres consecutivos.
 DISTANCIA MÍNIMA: La distancia mínima M de un código, se define como
el número mínimo de bits en que pueden diferir dos caracteres consecutivos cualesquiera
de un código.
La expresión que relaciona la distancia mínima, detección y corrección de errores es:
M - 1 = D + C para toda C <= D (1)
Donde:
M = Distancia mínima
D = Bits erróneos que se detectan
C = Bits erróneos que se corrigen

La Tabla 1, muestra la relación 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 Código de
1 1 Hamming
4 3 0
2 1
5 4 0
3 1
2 2

Considerando a:
k = Número de bits de verificación de paridad y M = k
Entonces, la relación entre los bits de paridad y los bits del código original, está dada por la
siguiente expresión: 2k - 1 = k + n (2)
Donde:
n = No. de bits del código original
k + n = No. de bits del nuevo código

La siguiente tabla, muestra la relación entre k y n, para algunos valores de k:

k n k+n

0 0 0

1 0 1

2 1 3

3 4 7 Código de Hamming

4 11 15

5 26 31

De la tabla anterior, se observa que entre más bits de seguridad se deseen en el código de interés,
el número de bits de éste aumenta considerablemente.

Para un código 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 continuación:

1 2 3 4 5 6 7
C1 C2 A C 3 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 Posición

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 código será:

1 2 3 4 5 67

C1 C2 A C3 B C D

0 0 1 1 0 0 1 nuevo código

 Para C1: En las posiciones 3, 5 y 7, se tienen dos UNOS, obteniéndose paridad par, lo que
indica que hay que colocar un CERO en la posición 1.
 Para C2: En las posiciones 3, 6 y 7, se tienen dos UNOS, obteniéndose paridad par, lo que
indica que hay que colocar un CERO en la posición 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 posición 4 para tener paridad par.

4. Código BCD
En sistemas de computación, Binary-Coded Decimal (BCD) o Decimal codificado en binario es un
estándar para representar números decimales en el sistema binario, en donde cada dígito decimal es
codificado con una secuencia de 4 bits. Con esta codificación especial de los dígitos decimales en
el sistema binario, se pueden realizar operaciones aritméticas como suma, resta, multiplicación y
división de números en representación decimal, sin perder en los cálculos la precisión ni tener las
inexactitudes en que normalmente se incurre con las conversiones de decimal a binario puro y de
binario puro a decimal. La conversión de los números decimales a BCD y viceversa es muy
sencilla, pero los cálculos en BCD se llevan más tiempo y son algo más complicados que con
números binarios puros. El más sencillo de los códigos BCD es el BCD8421 o BCD “natural”, que
consiste simplemente en representar cada digito decimal por su binario equivalente
Representación BCD8421
Cada dígito decimal tiene una representación binaria codificada con 4 bits:
Decimal: 0 1 2 3 4 5 6 7 8 9
BCD8421: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Los números decimales, se codifican en BCD con los de bits que representan sus dígitos.
Ejemplo, la codificación en BCD del número decimal 5923710 es:
Decimal: 5 9 2 3 7
BCD: 0101 1001 0010 0011 0111

Ejemplo: Expresar el numero N= 10010110010111BCD escrito en código BCD8421 en decimal.


Separamos de LSB a MSB en grupos de 4 bit.
N=10-0101-1001-0111BCD =259710

Código BCD exceso-3

El código BCD exceso-3 se obtiene a partir del código BCD natural, simplemente sumando 310
(00112) a cada código BCD de cada digito decimal. Ver tabla

Digito decimal BCD exceso-3 Digito decimal BCD exceso-3


0 0011 5 1000
1 0100 6 1001
2 0101 7 1010
3 0110 8 1011
4 0111 9 1100

Este código resulta de utilidad en aplicaciones donde se requiere realizar operaciones aritméticas
usando complementos. Este código es llamado auto complemento a 9 de un numero decimal puede
ser obtenido complementando cada bit individualmente y el resultado sigue siendo un código
valido en BCD exceso-3.
Ejemplo: representar el número 90710 en BCD excdeso-3 y usar el complemento a 1 para encontrar
el complemento a 9 del número.
90710 = 1100 0011 1010exceso-3
90710 = 0011 1100 0101exceo-3 complemento a 1
90710 = 09210 complemento a 9

Código BCD 2421

Este es otro código BCD autocomplemento, y su nombre (2421) indica la ponderación de sus bits
para obtener su equivalente en decimal y viceversa. Ver tabla.
Digito decimal BCD 2421 Digito decimal BCD 2421
0 0000 5 1011
1 0001 6 1100
2 0010 7 1101
3 0011 8 1110
4 0100 9 1111

Ejemplo: Representar el número 58310 en BCD 2421 y usar el complemento a 1 para encontrar el
complemento a 9 del número.
58310 = 1011 1110 0011BCD 2421
58310 = 0100 0001 1100exceo-3 complemento a 1
58310 = 41610 complemento a 9

Códigos numéricos

Existen varias situaciones en las que no es conveniente utilizar el binario natural para manejar
información numérica, entre ellas se pueden mencionar las siguientes:
Cuando se busca una conversión más sencilla decimal - binario (códigos BCD)
Cuando además de lo anterior se van a manejar números negativos (Códigos BCD
autocomplementarios)
Cuando se busca minimizar errores de sensado en “encoders” de posición de una cantidad a
Otra (código gray)
Cuando se quiere detectar errores en transmisión de datos (código de paridad)Cuando se
quiere detectar y corregir errores en transmisión de datos (código Hamming)

Multiplexores

La multiplexión significa transmitir un gran número de unidades de información sobre un número


más pequeño de canales o líneas. Un multiplexor digital es un circuito combinacional que
selecciona información binaria de una de muchas líneas de entrada y la dirige a una sola línea de
salida. La selección de una línea de entrada en particular es encontrada por el conjunto de líneas de
selección, normalmente hay 2n líneas de entrada y una línea de salida.

Notas:

Un multiplexor se llama también selector de datos, ya que selecciona una de muchas


entradas y guía la información binaria a la línea de salida.
Normalmente los multiplexores tienen una entrada de habilitación (strube), esta puede ser
utilizada para expandir un arreglo de Multiplexores mediante circuitos integrados líeas de
entrada limitado.
Circuitos que sirven para manejar datos.
Ejemplo. Se muestra a continuación un multiplexor de 4 líneas a 1 línea o de 4x1

Y= Io*S1´So’ + I1*S1´So + I2*S1So’ + I3*S1So

Demultiplexores

Los demultiplexores realizan la función inversa de un multiplexor, tiene un solo canal de entrada y
múltiples salidas. Y una o varias entradas de selección para habilitar una de las salidas.

Un demultiplexor es un circuito lógico combinatorio que recibe información para una sola línea de
entrada y transmite esta información en una de las 2n líneas posibles de salida; la selección de una
línea de salida específica se controla por los valores de los bits de las “n” líneas de selección.

Ejemplo. Se muestra a continuación un demultiplexor de 1 línea de entrada a 4 líneas de salida.

La mayoría de los circuitos integrados decodificadores, influye una a más entradas de activación
(enable), para controlar la operación de dicho circuito integrado, por lo anterior un decodificador
con una entrada de habilitación puede funcionar como demultiplexor

Bibliografías
http://www.buenastareas.com/ensayos/Codigos-Binarios/15757.html
http://es.scribd.com/doc/16656542/CODIGOS-BINARIOS
http://aguilarmicros.mex.tl/imagesnew2/0/0/0/0/2/1/4/2/9/6/Mux_De.pdf
http://ilde-sosa.tripod.com/pdf/16_mux_demux.pdf