Sistemas Digitales 1
Sistemas Digitales 1
Sistemas Digitales 1
Esta representación llega a utilizar 4 dígitos binarios para representar 0 al 9. Para poder el
representar el equivalente se pone el valor 1 donde se ocupa y 0 donde no se ocupa, con 4
dígitos, se pueden representar 16 números (0000-1111), pero en el código BCD, sólo se usan
diez de ellos, las 6 combinaciones que no se emplean (1010, 1011, 1100, 1101, 1110 y 1111) no
son válidas en el código BCD.
Para ilustrar el código BCD tonemos como ejemplo el número decimal 874. Cada dígito se
cambia por su equivalente binario de la manera siguiente:
El código BCD proporciona una excelente interfaz para los sistemas binarios. Ejemplos de estas
interfaces son las entradas por teclado y las salidas digitales.
Suma BCD
Paso 1. Sumar los dos números BCD utilizando las reglas de la suma binaria
Paso 2. Si una suma de 4 bits es igual o menor que 9, es un número BCD válido.
Paso 3. Si una suma de 4 bits es mayor que 9, o si genera un acarreo en el grupo de 4 bits,
el resultado no es válido. En este caso, se suma 6 (0110) al grupo de 4 bits para saltar así
los seis estados no válidos y pasar al código 8421. Si se genera un acarreo se suma un 6,
al grupo de 4 bits siguiente.
Ejemplo:
1 1 1
0 0 0 1 1 0 0 1 39
+ 0 1 0 1 0 1 1 0 + 56
1 1 1
1 0 0 0 1 1 1 1 95
0 1 1 0
1 0 0 1 0 1 1 0
Código Gray
El código binario reflejado fue aplicado para acertijos matemáticos antes de ser usado para la
ingeniería. El ingeniero francés Émile Baudot le dio una aplicación al código de Gray en 1878 en
telegrafía, trabajo por el cual fue condecorado con la Legión de Honor.
Hasta la primera mitad de los años 1940 los circuitos lógicos digitales se realizaban con válvulas
de vacío y dispositivos electromecánicos. Los contadores necesitaban potencias muy elevadas a
la entrada y generaban picos de ruido cuando varios bits cambiaban simultáneamente. Tomando
esto en cuenta, Frank Gray inventó un método para convertir señales analógicas a grupos de
código binario reflejado utilizando un aparato diseñado con válvulas de vacío, con lo cual
garantizó que en cualquier transición variaría tan sólo un bit.
El código Gray pertenece a una clase de códigos llamados códigos de cambios mínimos, en
los cuales sólo cambia un bit en el grupo codificado cuando se va de un paso al siguiente. El
código Gray es un código no ponderado, significando que las posiciones de los bits en los grupos
codificados no tienen un peso específico asignado
La siguiente tabla muestra la representación en código Gray para los números decimales 0 al
15, junto con el código binario directo:
Si examinamos los grupos codificados Gray para cada número decimal, puede verse que al ir
desde cualquier número decimal al siguiente, sólo un bit del código Gray cambia. Por ejemplo:
Cuando un número binario pasa de: 0111 a 1000 (de 7 a 8 en decimal) o de 1111 a 0000
(de 16 a 0 en decimal) cambian todas las cifras.
Para el mismo caso, pero en código Gray: 0100 a 1100 (de 7 a 8 en decimal) o de 1000 a
0000 (de 16 a 0 en decimal) sólo ha cambiado una cifra.
Su principal característica es que 2 números sucesivos, cualesquiera, solo varían en 1 bit.
El código Gray fue diseñado originalmente para prevenir señales ilegales (señales falsas o
viciadas en la representación) de los switches electromecánicos, y actualmente es usado para
facilitar la corrección de errores en los sistemas de comunicaciones, tales como algunos sistemas
de televisión por cable y la televisión digital terrestre, además de usarse en situaciones en las
cuales otros códigos, como el binario, podrían producir resultados erróneos o ambiguos durante
esas transiciones en las cuales más de un bit del código cambia. Por ejemplo, al aplicar el código
binario y pasar de 0111 a 1000 se requiere que los cuatro bits cambien simultáneamente. Según
el dispositivo o circuito que genere los bits puede haber una diferencia significativa en los
tiempos de transición de los diferentes bits. Si es así, la transición de 0111 a 1000 podría
producir uno o más estados intermedios. Por ejemplo, si el bit más significativo cambia más
rápido que el resto, ocurrirán las siguientes transiciones:
La aparición de 1111 solo es momentánea pero pudiera producir concebiblemente una
operación errónea de los elementos que son controlados por los bits. Con claridad, el uso del
código de Gray eliminaría este problema, ya que solo ocurre un cambio de bit por transición y no
puede haber "jerarquías" entre los bits.
La conversión entre el código binario y el código Gray aes muy útil. Y Se aplican las siguientes
reglas:
El bit más significativo (el más a la izquierda) en el código Gray es el mismo que el MSB
correspondiente en el número binario.
Después de izquierda a derecha sumar cada par adyacente de los bits en código binario
para obtener el siguiente bit en código gray. Los acarreos no se consideran.
Ejemplo:
Paso 1. El digito del código Gray mas a la izquierda es el mismo que el digito del codigo binario
mas a la izquierda.
1 0 1 1 0 Binario
1 Gray
1+0 1 1 0 Binario
1 1 Gray
1 1 1 Gray
1 0 1+1 0 Binario
1 1 1 0 Gray
1 0 1 1+ 0 Binario
1 1 1 0 1 Gray
Para convertir de código Gray a Binario, se utiliza un método similar, pero con algunas
diferencias. Se aplican las siguientes reglas:
El bit más significativo (el más a la izquierda) es el código binario es el mismo que el bit
correspondiente en el código Gray.
Sume cada bit generado del código binario al bit del código Gray en la siguiente posición
adyacente. Descarte acarreos.
Ejemplo:
Paso 1. El digito del código binario más a la izquierda es el mismo que el digito del código Gray mas a la
izquierda.
1 1 0 1 1 Gray
1 Binario
Paso 2. Sume el último bit del código binario que se acaba de generar al bit del código Gray en
la siguiente posición. Descarte acarreos. (En negrilla bit que se suman).
1 1 0 1 1 Gray
1 0 Binario
Paso 3. Sume el último bit del código binario que se acaba de generar al bit del código Gray en
la siguiente posición.
1 1 0 1 1 Gray
1 0 0 Binario
Paso 4. Sume el último bit del código binario que se acaba de generar al bit del código Gray en
la siguiente posición.
1 1 0 1 1 Gray
1 0 0 1 Binario
Paso 5. Sume el último bit del código binario que se acaba de generar al bit del código Gray en
la siguiente posición. Descarte acarreos.
1 1 0 1 1 Gray
1 0 0 1 0 Binario
Otra forma de convertir de Binario a Gray y de Gray a Binario es con la compuerta OR.
(MSB)
(MSB)
AUG
Código de Exceso
El código de exceso 3 se relaciona con el BCD y algunas veces se utiliza en lugar de éste debido
a que posee ventajas en ciertas operaciones aritméticas. Deriva su nombre de exceso 3 debido a
que cada grupo de 4 bits equivale al número BCD 8421 más 3.
Por ejemplo:
Para codificar el número 48 en código de exceso 3 primero debemos sumar 3 a cada dígito,
Luego se codifica en su equivalente binario de 4 bits.
La tabla siguiente contiene las representaciones en código BCD y de exceso 3 para los dígitos
decimales. Nótese que ambos códigos solo emplean 10 de los 16 posibles grupos de códigos de 4
bits. Sin embargo, el código de exceso 3 no usa los mismos grupos de código. Para el código de
exceso 3, los grupos de código no válidos son: 0000, 0001, 0010, 1101, 1110 y 1111.
A diferencia del código BCD el código exceso 3 no es ponderado, es decir, los bits no
tienen un peso asociado como en el BCD que cada grupo de 4 bits equivale al número
8421.