Problema Resuelto FSM

Problema resuelto FSM (máquina estados finitos) Laboratorio Nº 2 1.- Tenemos un motor que queremos que se comporte de la

Views 204 Downloads 3 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Problema resuelto FSM (máquina estados finitos) Laboratorio Nº 2 1.- Tenemos un motor que queremos que se comporte de la siguiente forma:  En estado inicial o de reposo, estará detenido en la posición en la que el sensor (‘a’) detecta la posición de reposo (posición de la figura).  Cuando se pulse ‘Marcha’, el motor dará dos vueltas completas, deteniéndose en la posición de reposo inicial.  Durante el recorrido, si se pulsa ‘Marcha’, el motor seguirá rotando hasta alcanzar el final de las dos vueltas.  Si al completar las dos vueltas, el pulsador marcha está pulsado por cualquier causa, no se comenzará un ciclo nuevo hasta que deje de estar pulsado. * Resolver circuito por Mealy o Moore. * Realizar esquema con Proteus, verificar el funcionamiento con simulación.

Notas: El sensor y el pulsador ‘Marcha’ proporcionan un ‘1’ cuando están activados. La velocidad del volante y del motor es lenta, el ciclo de 2 vueltas es lento.

Tabla de Estados Estado Inicio Marcha 1 Marcha 1ª Vuelta 1ª Vuelta Conf. Marcha 2ª Vuelta EspLP Avería

Q2 0 0 0 0 1 1 1

Q1 0 0 1 1 0 0 1

Q0 0 1 0 1 0 1 0

Una vez determinado que precisamos de tres biestables, vamos a usar unos tipo ‘D’ y vamos a realizar tabla de la verdad y tabla de excitación de todo el proceso:

A la vista de esta tabla, mediante Karnaught, estableceremos las ecuaciones necesarias para las salidas M (Motor) y A (señal de avería), así como las salidas que conectaremos a los biestables para escribir los nuevos estados (estados futuros mediante D2, D1 y D0). Para facilitar la identificación de las selecciones las marcaremos con diferentes colores, así un mismo color indicará selección común (celdas contiguas).

Circuito en proteus completo

Una vez obtenidas las ecuaciones, podríamos hacer algunas simplificaciones (ver final soluciones), pero a veces esas simplificaciones complican el esquema eléctrico

EJERCICIOS RESUELTOS DE SECUENCIALES

1. Paso de las especificaciones verbales al diagrama de estados En este caso, el diagrama de estados tiene que ser capaz de reconocer la combinación de entrada 1101. Partimos de un estado inicial en el que se espera la introducción del código. A continuación, se pasará a un nuevo estado cada vez que se reconozca correctamente el siguiente bit del código, mientras que si éste no corresponde al código se volverá al estado inicial, y habrá que teclear todo el código de nuevo. El significado de los estados será por tanto el de la siguiente tabla.

El siguiente estado será q2. Sin embargo, si en lugar de un 1 se recibe un 0, la secuencia es incorrecta, y como resultado habrá que regresar a q0, para que el código sea tecleado por completo de nuevo. Del mismo modo, al recibir un 0 estando en q2 pasaremos a q3 (hemos reconocido 110). Y finalmente, si en q3 la entrada es un 1, el código ha sido correcto, y por lo tanto la salida del circuito será 1 y volveremos a q0. Si la entrada es un 0, entonces falló el último bit, y aunque volvamos también a q0, en este caso la salida del circuito es 0, puesto que el código fue erróneo.

2. Construcción de la tabla de estados Tomando el diagrama de estados de la figura anterior debe generarse la tabla de estados, en la que a partir de las entradas y el estado actual se obtendrá el siguiente estado, y en la que a partir de ambos, y con ayuda de la tabla de excitación se calcularán las entradas a los biestables (JK en este caso). Nótese como ahora sí aparece una función de salida (S) diferente del estado que almacenan los biestables.

3. Minimización de las funciones e implementación del circuito Simplificando por Karnaugh obtendremos las funciones de entrada a los biestables (J1, K1, J0 y K0) para el cálculo del nuevo estado, y la función de salida S. J1 = E Q0 K1 = E + Q0 J0 = E XOR Q1 K0 = 1 S = E Q1 Q0