sábado, 29 de diciembre de 2012

Descarga e instalación del software Xilinx Ise 10.1 para trabajar con FPGA de Spartan 3E

Para  descargar el software  Xilinx Ise 10,1 debe ir a  http://www.xilinx.com/support/download/index.htm

Hay versiones mas recientes que la 10.1 pero son muy pesadas y se demora demasiado su descarga.

Le recomiendo primero que todo que solicite el número de registro de identificación ID en una licencia gratuita, dando doble Click en Obtain a v10.1 Registraion ID.



 El ID es un número de 25 caracteres (números y letras) que Xilinx le envía a su correo electrónico.

Para poder descargar el software y recibir su número de registro ID  debe inscribirse (Create Account) llenando  un formulario completo con todos sus datos incluyendo su correo electrónico, y debe registrar un nombre de usuario y su respectiva contraseña. Cuando esté debidamente inscrito autorizan la descarga del paquete y le envían a su correo el ID de  la licencia gratuita del software, el cual cuando esté instalando el programa se la van a exigir.

De doble click en ISE Foundation WebPACK - 10.1 Full Product Installation. y descargue el programa de 2.25 GB en  una carpeta apropiada para ello.  Sea paciente, porque esto toma cierto tiempo.
Una vez descargado el software de 2.25 GB debe descomprimirlo.

Al dar doble clik en el archivo webpack_SFD  comienza  a descomprimir el software que viene enpaquetado.
Luego damos doble click en el archivo de instalación setup.exe
Al terminar de ejecutar el archivo setup.exe aparece una ventana de bienvenida a la instalación del software:
Damos Click en siguiente. Luego se le solicita el registro ID el cual Ud debe haber recibido por correo electrónico.

Copie y pegue los 25 caracteres correspondientes al ID y  de NEXT.
A las ventanas que aparecen a continuación  de NEXT, y al final comienza la instalación (Begin installation) lo cual puede tomar cierto tiempo.
Al terminar la instalación del software aparece en INICIO su Acceso directo:

Al abrir el Navegador de Proyectos (Project Navigator) estamos listos para comenzar a trabajar con la FPGA disponible en la  tarjeta SPARTAN 3E

La tarjeta Spartan 3 E es producida por la empresa DIGILENT  y dispone de la FPGA XC3S500E de Xilinx:
 

miércoles, 21 de noviembre de 2012

Banda Transportadora: Laboratorio final

Laboratorio: Utilizando un moto-reductor  que hace trasladar una banda que lleva adjunto un pequeño imán se desea accionar tres Reed Switchs. Al pasar el imán por el Red Switch 1 debe aparecer el dígito respectivo en un display de 7 segmentos de cátodo común y simultáneamente debe indicarse a través de un mensaje de audio grabado  que se está pasando por la Estación 1.  Esto mismo debe repetirse para la estación 2 y 3, donde en cada estación se dispone de un Reed Switch, estando los tres Reed Switch en paralelo. El motor debe arrancar al recibir un pulso de START,  y debe estar en movimiento mientras un contador 74190 ascienda del 0 al 9 y regrese nuevamente al 0.  El contador inicia su conteo ascendente desde el 0 al tiempo que el motor comienza a moverse. Cuando el motor está en reposo debe encenderse un Led Jumbo Amarillo. Cuando el conteo del 74190 es ascendente debe estar encendido un Led Jumbo Verde, estando apagado el amarillo. Cuando el conteo es descendente sólo debe estar encendido un Led Jumbo Rojo. Una barra de Leds permite visualizar el estado binario del contador.Cuando el contador llega al cero despues de haber efectuado su conteo descendente el contador queda bloqueado reseteado y el motor se detiene, listo para una nueva operación hasta tanto no se dé un nuevo pulso de START (Inicio).El Led Amarillo que indica el estado de reposo del motor debe quedar encendido.

Este proyecto permite repasar muchos conceptos estudiados en un curso de circuitos digitales secuenciales.
Vamos a explicar, paso a paso,  como  pudo realizar este proyecto el estudiante Jonathan Cuesta del curso de Digitales 2, Facultad de Ingeniería Electrónica, de la Universidad Antonio Nariño, sede Sur, Bogotá.

Hay que trabajar por partes, siguiendo la regla de oro: "Divide y vencerás". La idea es ir diseñando, simulando y practicando parte por parte, hasta llegar al final del proyecto.

Parte 1: Se buscó inicialmente  el motor reductor más adecuado, que permitiera través de dos  piñones  transmitir el movimiento del motor al de la banda transportadora, tal como se muestra en la siguiente fotografía:

Parte 2: Buscando que el motor no generara ruido se instaló además un circuito de optoacoplamiento.


En muchas ocasiones se hace indispensable, para evitar ruidos que pueden incidir en un mal funcionamiento de un circuito secuencial, el uso de un optoacoplador que aisle la carga del circuito secuencial. Para este situación es muy util implementar una salida optoacoplada con el PC817, tal como se muestra en el siguiente esquema:
Si la Entrada es 0 el relé está desenergizado y se activa el LED de potencia, y si la entrada es 1 se energiza el relé y se activa el MOTOR DC.  Como el motor funciona al crearse un campo electromagnético en el,  si no existiera el aislamiento eléctrico causará ruido y molestaría en el circuito lógico que lo está activando.

 El  Optoacoplamiento, quiere decir que el acoplamiento del motor y del LED de potencia con el circuito lógico que lo activa, se hace en forma óptica, a través del diodo infrarojo y el fototransistor que existen en el interior del chip de 4 pines PC817. Con el 0 lógico el led infrarojo no emite luz, y el fototransistor está abierto, en cambio, si se tiene un 1 lógico a la entrada, el led emite luz. y el fototransistor conduce.

Observe además que se están utilizando  tanto los contactos normalmente abiertos como los normalmente cerrados, o sea los 5 pines de que dispone el relé de 5 voltios.El diodo rectificador 1N4001 dispuesto inversamente y en paralelo con la bobina del relevo actúa como supresor de picos de corriente cotrarrestando la Ley de Lenz (  VL = - L di / dt), y evitando que el voltaje autoinducido negativo que se genera en la bobina del relevo queme el transistor 2N2222A que se está utilizando como interface entre la salida del optoacoplador y la bobina o entrada del relevo.

En este proyecto en lugar del Led de Potencia se utiliza un Led Jumbo Amarillo.Como el relevo es de 5 pines, dispone de contacto normalmente abierto y de otro contacto normalmente cerrado. Esto nos permite que cuando el motor esté apagado el Led Amarillo se encienda y que cuando el motor se active el Led amarillo se apague.


Para reducir la velocidad del motor hubo necesidad de acoplarle a la salida optoacoplada  un circuito de Modulación por Ancho de Pulsos PWM, usando un integrado 555 como Astable, de acuerdo a la información que se puede consultar como:  Control de velocidad de motores de CC por PWM en el portal UCONTROL.COM.AR

Imagen:VELCCPWMcircuito.gif

Se varía el potenciómetro hasta lograr la  velocidad adecuada para el motor.

Para acoplar el circuito PWM a la salida optoacoplada en los puntos de salida del motor es decir en el contacto normalmente abierto del relevo y GND alimentamos el circuito de Modulación   por Ancho de Pulsos PWM; unificando las tierras para ambos circuitos, tal como se muestra a continuación:

Parte 3: 



Se instalaron los Reed Switchs en paralelo buscando que actuaran como un único pulso de reloj que fuese al pin 1 (clk) de la GAL22V10 el cual funciona con un flanco de subida. La idea es que al pasar el imán que está adherido a la banda transportadora junto al Reed Switch se produzca el  flanco de reloj para que el contador elaborado con la GAL pase del 0 al 1 y en el display de 7 segmentos se visualice el dígito 1 y así mismo se  direccione A2,A1,A0 con 0 0 1  que permitan reproducir el mensaje grabado en el ISD1964 en dicha dirección, que para nuestro caso sería "ESTACIÖN UNO"  Así mismo se haría para las otras dos estaciones. Para evitar rebotes en los Reed Switchs se colocó antes del reloj de la GAL1 (pin1) un circuito ONE-SHOOT: monoestable no redisparable, con 555.
Como el monoestable es no redisparable absorve los rebotes producidos al activarse el Reed Switch con el imán.

 Para programar la GAL se trabajó con el Isplever de Lattice Semiconductor.

La siguiente fotografía muestra el proyecto hasta esta parte:

Se observa en la anterior fotografía tres protoboards: en el de la parte superior se montó el circuito PWM con 555 para reducir la velocidad del moto-reductor ajustando el potenciómetro; en el protoboard de la mitad se aprecia la Gal22V10 que maneja el display de 7 segmentos, cátodo común, y el 555 que actúa como Antirebotes del reloj de la GAL;  en el otro protoboard está dispuesto la tarjeta que maneja el chip de sonido ISD1964. En ese mismo protoboard se puede apreciar el integrado 7404, de donde se obtiene el inversor que se requiere para manejar el flanco de bajada para la entrada PlayE del ISD, para reproducir los mensajes grabados.

Al llegar el imán al segundo Reed Switch se digita el 2 en el display y así mismo en el Chip de Sonido se reproduce lo grabado en la dirección 010 en A2 A1 A0: "ESTACIÓN DOS"
Manejando el Isplever programamos la Gal22V10 para el contador decodificado que maneje el Chip de sonido y el display de 7 segmentos de cátodo común:
La Gal posee un Reset Power On internamente lo cual hace que los 10 flip-flops de que disponen inicien en ceros. Por esta razón siempre debe ser este su estado inicial. Al activarse el flanco de subida del  reloj, al pasar el imán cerca del primer Reed Switch se visualiza en la tabla de estados la dirección A2 A1 A0 = 001 y simultáneamente en el display de 7 segmentos  se encienden sólamente los segmentos b y c. Cada pulso de reloj, a medida que la banda transportadora avanza el imán hacia los otros Reed Switchs se decodifica el 2 y el 3, y luego del 3 se pasa a un Reed Switch asociado al CERO en donde se apagan todos los segmentos del display y en la dirección Cero del ISD se ha grabado como mensaje "Estaciones Digitales"

El programa en ABEL para la GAL debe compilar correctamente y simularse antes de llevar el archivo JEDEC al programador superpro Z .Para generar el flanco de bajada para reproducir el mensaje grabado en el ISD se utilizó un inversor 74LS04 a la salida del clock, antes del pin 1 de la GAL.

Veamos el reporte de chip de la Gal1 generado por el Isplever:

Veamos un Video con lo trabajado hasta el momento:

Parte 4:  Para continuar con el proyecto se procedió a trabajar la activación del Motor y de los Leds Jumbos Verde y Rojo, junto con el contador 74LS190, a partir de una Máquina de Estado Algorítmico de acuerdo al diagrama ASM que se muestra a continuación:
Recordemos que una Máquina de Estado Algorítmico trabaja con base en dos grandes bloques: Un Procesador de Datos y una Unidad de Control, tal como se muestra en el siguiente esquema:
Inicialmente elaboramos en  la GAL22V10 la Unidad de Control como una Máquina de Moore:

Podemos verificar mediante la simulación que la Unidad de Control trabaja tal como la necesitamos:


Procedemos luego a trabajar lo concerniente al Procesador de Datos en la misma Gal2 22V10, para ello lo hacemos esquemáticamente, donde previamente debemos generar el Símbolo Esquemático para la Unidad de Control:
En caso dado que el lector lo considere necesario pueden usarse las salidas Q1 y Q0 para chequear los estados del control. Se supone que se ha simulado e implementado en el protoboard  flip-flops J-K y el contador 74LS190. Sus tablas de funcionamiento deben estar suficientemente comprendidas por el lector.

La simulación de la Gal 2 es tal como sigue:


El Chip Report de la Gal 2 se muestra a continuación:

Veamos una fotografía del montaje final:


Al ir trabajando por partes, efectuando el diseño y su respectiva simulación, e implementando en el protoboard lo simulado, nos permite llegar al final del proyecto con éxito, con la gran satisfacción de ver funcionando lo propuesto.

Un video nos permite observar el proyecto realizado:


La satisfacción al llegar exitosamente al final de un proyecto es compartida: Estudiante-Profesor.

jueves, 18 de octubre de 2012

Sintetizador de sonido ISD1964


El Sintetizador de sonido ISD1964 permite ser direccionado para grabar audio y luego reproducirlo en cada dirección de la memoria EEPROM interna donde fué grabado el mensaje.Como viene en encapsulado SOIC de montaje superficial, se elaboró,  mediante una tarjeta de circuito impreso,una adaptación a DIP para poder trabajarlo en la protoboard colocándole todos los elementos requeridos para su óptimo funcionamiento.Requiere de un micrófono ELECTRE polarizado, y Speaker de 16 ohmios, sirviendo los parlantes utilizados para Multimedia. La siguiente presentación en Power Point, describe resumidamente su arquitectura y forma de utilizarlo. ISD es la sigla de INFORMATION  STORE DEVICE  (Dispositivo para almacenar Información). Se pueden grabar y reproducir 16 mensajes de 4 segundos cada uno, para un total de 64 segundos, de ahí deriva el 64 en su rótulo. 













Los pines S0 (Start Input) y E0 (End Input) no se encuentran puenteadas en la plaqueta,por consiguiente hay que cablear externamente en el protoboard, y así mismo S1 con E1, S2 con E2, y S3 con E3. Quedan entonces sólo 4 pines de entradas de dirección que las podemos denominar A3,A2,A1 y A0, con los cuales podemos establecer las 16 direcciones: desde 0000 hasta 1111, donde en cada dirección podemos grabar y reproducir un mensaje de 4 segundos de duración, siempre y cuando se coloque una  resistencia de 80 KiloOhmios, como Rosc, y se pueda establecer la frecuencia de muestreo apropiada. En la plaqueta se dispone de una resistencia ya incorporada de 100 kilo-ohmios, con lo cual aumenta un poco el tiempo del mensaje a grabar pero disminuye así mismo la calidad del audio grabado. No se pudo obtener la resistencia de 80 K para montaje superficial. Para grabar se activa el pulsador REC habiendo seleccionado previamente la dirección y se habla a través de un micrófono ELECTRE sin pasarse de los 4 o 5 segundos . El Led con ánodo a Vcc, se debe encender mientras se está grabando.   Para escuchar lo grabado, en la misma dirección, se oprime el pulsador PLAYE (play Edge) o PLAYL (play Level). Un pulsador permite la reproducción por el flanco (se oprime y se suelta) y el otro pulsador lo hace por el nivel (debe permanecer el pulsador todo el tiempo oprimido en nivel bajo).

LABORATORIO:  Se trata mediante un Dip-Switch de 4 interruptores direccionar y grabar 16 mensajes.
 Al direccionar 0000 se debe grabar la palabra CERO en español e inglés, con 0001 la palabra UNO, y así sucesivamente hasta en 1111 grabar y reproducir la palabra QUINCE.



NOTA IMPORTANTE: HAGA EL PUENTE ENTRE A3 CON  A3, A2 CON A2, A1 CON A1 Y A0 CON A0. INDISPENSABLE PARA GRABAR EN TODAS LAS DIRECCIONES.

Veamos una fotografía del montaje realizado en el protoboard:

 .................................................................................................................................................................
Nota: El creador de este blog agradece públicamente a JOSE MIGUEL CEBALLOS FORERO y a su empresa KANANCE INGENIERIA de Mosquera,Cundinamarca, con su  excelente grupo de trabajo( Yamit, Michel, Edwin, Diego, Pedro, Yaneth),  por la colaboración en la importación del Chip, diseño, elaboración y pruebas de la tarjeta que nos permite trabajar con este interesante sintetizador de sonido

miércoles, 5 de septiembre de 2012


LABORATORIO:

Se trata de diseñar en ispLEVER e implementar en una GAL22V10  un contador sincrónico de 3 bits utilizando 3 flip-flops o biestables tipo T con visualización en un display de 7 segmentos, cátodo común, 
y que además con el chip de sonido ISD1964 se pronuncie en Español e Inglés el dígito del 0 al 7 que se muestre en el Display.

Información preliminar (tomada de Wikipedia):

Biestable T (Toggle)


Símbolo normalizado: Biestable T activo por flanco de subida.
Dispositivo de almacenamiento temporal de 2 estados (alto y bajo). El biestable T cambia de estado ("toggle" en inglés) cada vez que la entrada de sincronismo o de reloj se dispara mientras la entrada T está a nivel alto. Si la entrada T está a nivel bajo, el biestable retiene el nivel previo.

TQQsiguiente
00



0
01



1
10



1
11



0


..................................................................................................................................................................
Diseño:
1) Se elabora una Tabla de Estados del contador así:

       ESTADO  PRESENTE      ESTADO SIGUIENTE
               Q2 Q1 Q0                         Q2 Q1 Q0
                0    0    0                            0    0    1
                0    0    1                            0    1    0
                0    1    0                            0    1    1
                0    1    1                            1    0    0
                1    0    0                            1    0    1
                1    0    1                            1    1    0
                1    1    0                            1    1    1
                1    1    1                            0    0    0

2) Luego, se agrega a la tabla anterior las 3 columnas correspondientes a las entradas de los flip-flops T con lo cual la tabla de estados cambia a una Tabla de Excitación:

     ESTADO  PRESENTE      ESTADO SIGUIENTE    ENTRADAS DE FLIP-FLOPS
               Q2 Q1 Q0                         Q2 Q1 Q0                       T(Q2) T(Q1) T(Q0)
                0    0    0                            0    0    1                              0        0         1
                0    0    1                            0    1    0                              0        1         1 
                0    1    0                            0    1    1                              0        0         1
                0    1    1                            1    0    0                              1        1         1
                1    0    0                            1    0    1                              0        0         1
                1    0    1                            1    1    0                              0        1         1
                1    1    0                            1    1    1                              0        0         1     
                1    1    1                            0    0    0                              1        1         1
   
3) Elaboramos ahora una tabla con Estado Presente y Entradas de Flip-flops:


  ESTADO  PRESENTE          ENTRADAS DE FLIP-FLOPS
               Q2 Q1 Q0                       T(Q2) T(Q1) T(Q0)
                0    0    0                             0        0         1
                0    0    1                             0        1         1 
                0    1    0                             0        0         1
                0    1    1                             1        1         1
                1    0    0                             0        0         1
                1    0    1                             0        1         1
                1    1    0                             0        0         1     
                1    1    1                             1        1         1

De esta tabla obtenemos las ecuaciones Booleanas de los Flip-Flops:
              T(Q2) = Q2' Q1 Q0  +  Q2 Q1 Q0 =  Q1 Q0 ( Q2' + Q2) = Q1 Q0
              T(Q1) = Q0
              T(Q0) = 1

4) Dibujamos en el Editor Esquemático de ispLEVER el circuito lógico del Contador de 3 bits:
Se solicita al lector simular el contador,  adicionar en el Editor Esquemático del ispLEVER el decodificador para los 7 segmentos del Display, simular el circuito final de la GAL, y estudiar como automatizar el proceso  para manejar el ISD1964 sin necesidad de activar manualmente el pulsador de reproducción del Chip de Sonido.


miércoles, 30 de mayo de 2012

Circuitos Digitales Secuenciales: Autoevaluación.


EJERCICIOS    RESUELTOS   DE LÓGICA  SECUENCIAL
Seleccione la respuesta correcta:
Para las preguntas de 1 a 5, tenga en cuenta el siguiente diagrama, correspondiente a un circuito lógico secuencial:

1.       Se puede afirmar que el circuito secuencial  es:
( A ) Un contador de anillo                                                ( B ) Un contador Johnson
( C ) Un registro de almacenamiento                                  ( D ) Un registro de desplazamiento

 Respuesta: (D)

De acuerdo a la tabla de verdad de la compuerta XNOR su salida es 1 si QC y  QD son ambas CEROS o ambas UNOS. 
En el contador Johnson se debe dar la secuencia: 0000,1000,1100, 1110, 1111,... Este estado no se da en el circuito indicado, por consiguiente sólo corresponde a un registro de desplazamiento.


2.       I.   Si la entrada RESET está en nivel bajo, las salidas de los flip-flops  se hacen todas CERO,                              al   producirse el flanco de subida del reloj.
             II.   Cada flip-flop D, se puede remplazar por un J-k,   efectuando un puente entre  J  y  K´. 
            
            ( A )  Sólo I  es verdadero                                                     ( B )  Sólo II  es verdadero      
            ( C )   I y  II   son verdaderos                                                 ( D ) Tanto I como II son falsos     
     
          Respuesta: (B)

         Si la entrada RESET está en nivel bajo, las salidas de los flip-flops se hacen todas CERO,  
         independientemente del flanco de reloj, puesto que el RESET está activando la entrada asíncrona   
        CLRN de cada flip-flop, por consiguiente la afirmación I es falsa.

         La afirmación II es verdadera. Si J =0, K=1, Q = 0;   Si J =1, K=0, Q = 1; por consiguiente un flip-
         flop J-K,  J y K´ puenteados, se comporta como un flip-flop D.


3.       Si las salidas de los flip-flops   QA, QB, QC y QD, son inicialmente  0000,y la entrada RESET está fija en nivel alto,  al llegar el primer flanco de reloj,  dichas  salidas  son:
( A )  0100                         ( B ) 1000                         ( D )  0010                            ( D ) 0001

Respuesta: (B)

La compuerta XNOR con entradas QD=0, QC=0, coloca un nivel alto a la entrada D de QA, lo cual hace que al llegar el primer flanco de reloj: QA=1, QB = 0, QC = 0, QD = 0.

    
4.       Para el segundo pulso de reloj, las salidas son:
( A )  1110                         ( B ) 1010                         ( D )  1110                            ( D ) 1100


Respuesta: (D)

Para el segundo pulso de reloj, el UNO de QA se desplaza a QB, y a QA se introduce otro UNO, luego QA = 1, QB=1, QC = 0, QD = 0.

5.       Para el tercer y cuarto pulsos la secuencia en  las salidas, en decimal,  es:
( A )  14, 7                         ( B ) 14, 12                         ( D )  7, 11                            ( D ) 13, 7

           Respuesta: (A)

          Para el tercer pulso QA = 1, QB = 1, QC =1, QD = 0. ( 14 decimal). Al ser QC=1,QD=0, la salida 
         de la compuerta XNOR  está en nivel bajo,  lo cual hace que para el cuarto pulso: QA=0,    QB =1, 
          QC= 1, QD = 1 ( 7 decimal).

Para las preguntas de 6  a 10, tenga en cuenta el siguiente diagrama de estados, correspondiente a una máquina de Moore, que dispone de una entrada  X y una salida  Z:
  6.       Para implementar el circuito lógico correspondiente se requiere un único Flip-Flop,  porque:
( A ) Solo existe una entrada                                            ( B )  Solo existe una salida
( C ) Solo hay dos estados                                                 ( D )  Ninguna de las anteriores


Respuesta: (C)

Al existir solo dos estados A y B se necesita un único flip-flop para implementar el circuito lógico, puesto que al efectuar la asignación binaria: A = 0, B = 1. 

7.       Si se implementa con un Flip-Flop D,  la ecuación de  entrada del Flip-Flop es:
( A )  Q´ X´                                                                            ( B )    Q  X´
( C )  Q  X´  +   Q´  X                                                             ( D )   Q´ X´  +   Q  X


Respuesta: (D)

Hay que tener en cuenta que D(Q) = Q, y que si Q = 1, Z=1.

Tabla de excitación con flip-flop D:
   Q   X   Q   Z   D(Q)
    0   0    1    0      1

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

De la tabla de excitación se deduce que por mintérminos:  D(Q) = Q´X´ +  Q X 

8.       Si se implementa con un Flip-Flop T, la ecuación de entrada del Flip-Flop  es:
( A )   X                                                                                 ( B )   X´
( C )  Q´  X                          ´                                                  ( D )   Q  X´


Respuesta: (B)



Tabla de excitación con flip-flop T:
   Q   X     Z   T(Q)
    0   0    1    0      1

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

T(Q) =   Q' X'  + Q X' = X' ( Q' + Q ) = X' 


9.       La salida Z en la máquina de Moore es:
          I.   Independiente del tipo de Flip.Flop que se utilice.
              II.   Independiente  de la entrada  X.
            
            ( A )  Sólo I  es verdadero                                                     ( B )  Sólo II  es verdadero     
            ( C )  I y II  son verdaderos                                                    ( D ) Tanto I como II son falsos
           
            Respuesta: (C)
           
            Tal  como se aprecia en las tablas de excitación, la salida Z en la máquina de Moore no depende del  
            tipo de flip-flop utilizado ni de la entrada Z. Simplemente, en nuestro ejemplo, está asociada a los 
            dos  estados.( Z = 0, para el estado A, y, Z =1, para el estado B). 

10.   La salida Z  es:
( A )  Q´                                                                                  ( B )   Q
( C )  Q  X                          ´                                                    ( D )   Ninguna de las anteriores
        Respuesta: (B)
           
            Z = 1, cuando Q = 1 (Estado B), luego Z = Q.

2.Se requiere diseñar e implementar el circuito lógico correspondiente a una máquina de estado algorítmica  ASM,  que utilizando un contador 74191, y  obedeciendo un pulso de START,  inicie un conteo descendente desde el  QUINCE  hasta el  CERO, permaneciendo así hasta un nuevo pulso para repetir la operación.
      Elaborar:
      ( A ) Diagrama ASM
      ( B ) Procesador de Datos utilizando el contador 74191.
      ( C ) Unidad  de Control utilizando un multiplexor  de 2 entradas/1 salida, Un flip-
              flop D   e   inversores.

   El contador 74191 trabaja de acuerdo a la siguiente tabla de operación:
    LDN               GN             DNUP             
Operación  del   Contador
         0                  X                 X                     
Carga en paralelo
         1                  0                  0                    
Cuenta  ascendente
         1                  0                  1                   
Cuenta descendente
         1                  1                  X                    
Inhabilitación
                                            
          SOLUCIÓN:  

      ( A ) Diagrama de estados:
 D: Detector , para averiguar si el contador llegó a 1 ( Un pulso antes de terminar su conteo y llegar a Cero)

( B ) Procesador de datos:
 ( C ) Unidad de control:
Cuando START = 0,    Q = 0,  T0 = 1 , T1 = 0  ( Inicio de Máquina )
Cuando START = 1,   al producirse el flanco de subida de reloj, Q = 1, T0 = 0, T1 = 1; Dicho estado permanece, mientras D = 0; Cuando  D = 1, en el flanco de subida de reloj, Q=0, y se regresa a T0 = 1, T1 = 0.     

domingo, 27 de mayo de 2012

Diseño de contador de 2 dígitos ascendente-descendente por ASM

EJERCICIO: Diseñar como ASM un contador de dos dígitos, que por medio de un pulsador al recibir una señal de inicio START, cuente ascendentemente desde el 0 hasta el 99, y luego lo haga descendentemente, y al llegar al 0 se bloquee, hasta tanto, no se accione nuevamente el pulsador para reanudar su operación.

SOLUCIÖN:

Diagrama ASM:
Para el diseño,veamos inicialmente el diagrama de estados de la  UNIDAD DE CONTROL la cual se puede elaborar en una Gal22V10 en ispLEVER por ABEL como una máquina de Moore:
El circuito lógico queda así: