Se denomina código Johnson (Johnson-Mobius) al código binario continuo y cíclico (al igual que el código Gray) cuya capacidad de codificación viene dada por 2n, siendo n el número de bits. Para codificar los dígitos decimales se necesitarán por lo tanto 5 bits:
Equivalencia decimal | Código Johnson |
---|---|
La secuencia es sencilla,consiste en desplazar todos los bits uno a la izquierda y en el bit menos significativo se coloca el complementario del que estaba mas a la izquierda.
Dada la simplicidad del diseño de contadores que lleven el cómputo en este código, se utiliza en el control de sistemas digitales sencillos de alta velocidad.
Proporciona una mayor protección contra errores aunque es menos eficiente en memoria que el código binario decimal.
EJERCICIO: En ispLEVER programar en ABEL-HDL una máquina de Moore que disponga de una entrada AJ de tal manera que si AJ = 0 se active un contador de ANILLO, y si AJ = 1 se active un contador JOHNSON. Cinco Leds, cátodo común, deben visualizar el conteo.Al iniciar el contador tanto como ANILLO como modo JOHNSON debe sonar el BUZZER, así mismo si se cambia la entrada AJ debe sonar el BUZZER durante el primer periodo de reloj, indicando que se cambió el contador de una a otra forma, ya sea de ANILLO a JOHNSON o de JOHNSON a ANILLO. Implementar el circuito en GAL22V10.
SOLUCIÖN:
1) DIAGRAMA DE ESTADOS:
2) PROGRAMA EN ABEL CON ispLEVER:
3) SIMULACIÓN en ispLEVER:
LABORATORIO FINAL:
IMPLEMENTAR CON UNA GAL22V10 UNA MÁQUINA DE MOORE CON 9 LEDS Y UN BUZZER.
- Con la entrada AJ = 0 los LEDS deben encenderse en una secuencia en código JOHNSON.
- Con la entrada AJ = 1 los LEDS deben encenderse en una secuencia en contador de ANILLO.
- El buzzer debe activarse al inicio tanto del contador JOHNSON como de ANILLO, por consiguiente debe sonar al cambiar el contador de una a otra forma.
No hay comentarios:
Publicar un comentario