Você está na página 1de 6

ESCUELA POLITCNICA DEL EJRCITO FACULTAD DE INGENIERA ELECTRNICA CIRCUITOS DIGITALES TRABAJO PREPARATORIO # 9 Nombre: Christian Mancheno Felipe

Ruz Cdigo: 3823

1. Objetivo: Implementar circuitos combinacionales que permitan generar cdigos de errores, detectar y corregir errores, usando circuitos de baja y mediana escala de integracin. 2. Enunciado del problema: Disear un generador, detector y corrector de errores mediante el cdigo de Hamming, de acuerdo al siguiente grfico:

GENERADOR PARIDAD HAMMING

DETECTOR Y CORRECTOR HAMMING

3. Diagrama de bloques

A B C D

GENERADOR PARIDAD HAMMING

P1 P2 A P4 B C D

PP1 PP2 D1 PP4 D2 D3 D4

S0

DETECTOR DE HAMMING

S1 S2

S0 S1 S2

CORRECTOR HAMMING

F0 F1 F2 F3 F4 F5 F6

4. Explicacin detallada y clara del diseo Generador de cdigo. El cdigo hamming que vamos a generar es el siguiente: 1 2 P1 P2 3 A 4 5 P4 B 6 C 7 D

Para generar el cdigo hamming utilizamos 3 MUX de 8/1 U1,U2,U3 como generadores de funciones. Pero como vemos en la variables de salida, las nicas variable nuevas que tenemos sern nuestros bits de paridad P1, P2, P4 ya que A,B,C,D son conectadas directamente a las salidas La unin de los bit de paridad generados y las variables de entrada formaran nuestro cdigo hamming que tendr la forma que se presenta anteriormente. Los bits de paridad los generamos a partir de la siguiente tabla.

Entradas A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 P1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 P2 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1

Salidas A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 P4 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Detectar el error Para detectar el error de igual forma tenemos que ingresar mediante dipswitches los 7 bits de un cdigo hamming; y lo que haremos ser sacar el nmero en binario la posicin en la cual se encuentra el error. Para esto utilizamos las siguientes tablas de verdad que nos darn como salida los bits que formaran el nmero en binario de la posicin en la cual se encuentra el error.

S2

S1

S0

POSICION EN LA CUAL SE ENCUENTRA EL ERROR

Para generar nuestro primer bit S0 el menos significativo de la posicin de error; como solo nos interesan los valores de PP1,D1,D2,D4 solo a esas variables asignamos valores de ah las dems entradas pueden tomar cualquier valor que no afectara la salida

PP1 PP2 D1 PP4 D2 0 X 0 X 0 0 X 0 X 0 0 X 0 X 1 0 X 0 X 1 0 X 1 X 0 0 X 1 X 0 0 X 1 X 1 0 X 1 X 1 1 X 0 X 0 1 X 0 X 0 1 X 0 X 1 1 X 0 X 1 1 X 1 X 0 1 X 1 X 0 1 X 1 X 1 1 X 1 X 1

D3 X X X X X X X X X X X X X X X X

D4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

S0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0

De igual forma hacemos para S1 pero aqu las entradas que nos interesan son: PP2,D1,D3,D4 por lo cual son a las que asignamos valores, las dems pueden tomar cualquier valor que no afectar a la salida. PP1 PP2 D1 PP4 D2 D3 x 0 0 X x 0 x 0 0 X x 0 x 0 0 X x 1 x 0 0 X x 1 x 0 1 X x 0 x 0 1 X x 0 x 0 1 X x 1 x 0 1 X x 1 x 1 0 X x 0 x 1 0 X x 0 x 1 0 X x 1 x 1 0 X x 1 x 1 1 X x 0 x 1 1 X x 0 x 1 1 X x 1 x 1 1 X x 1 D4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 s1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0

De igual forma hacemos para S2 el bit mas significativo pero aqu las entradas que nos interesan son: PP4,D2,D3,D4 por lo cual son a las que asignamos valores, las dems pueden tomar cualquier valor que no afectar a la salida.

PP1 PP2 D1 PP4 D2 x x x 0 0 x x x 0 0 x x x 0 0 x x x 0 0 x x x 0 1 x x x 0 1 x x x 0 1 x x x 0 1 x x x 1 0 x x x 1 0 x x x 1 0 x x x 1 0 x x x 1 1 x x x 1 1 x x x 1 1 x x x 1 1

D3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

S2 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0

Para generar las funciones utilizamos de igual forma MUX de 8/1 U5,U6,U7; siempre y cuando introduzcamos una variable. Uniendo las tres salidas conseguimos la posicin en la cual se encuentra el error. CORRECTOR DE CODIGO Para corregir el bit que se encuentre mal, mandamos las salidas de los multiplexores U5,U6,U7 a un DECODER de 3 a 8 para que se nos active la posicin que este mal y luego a las salidas de este DECODER mandamos inversores ya que las salidas de este se encuentran activado en bajo luego enviamos cada bit ingresado por lo DIPSWITCHES conjuntamente con las salidas de los inversores a una OR exclusiva la que me cambiara por el complemento nicamente el bit que se encuentre errado que ser la salida que se active del DECODER.

5. Lista de elementos U1: U2: U3: U4: U5: U6: U7: U8: U9: U10: U11: 74151(1/1) 74151(1/1) 74151(1/1) 7404(6/6) 74151(1/1) 74151(1/1) 74151(1/1) 74138(1/1) 7486(4/4) 7486(3/4) 7404(2/6)

R1-R17: 330 D1-D17: LED ROJO 2 DIPSWITCHES CONCLUSIONES Y RECOMENDACIONES _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _______________________________________________________________________