maquina de estados
El termino máquina de estados se utiliza con más frecuencia para describir otros tipos de circuitos secuenciales. Pueden tener un patrón de conteo irregular tal como nuestro circuito de control de motores a pasos. El objetivo para ese diseño fue controlar un motor a pasos, de manera que pudiera girar en pasos angulares precisos. El circuito de control tenía que producir lasecuencia especifica requerida de estados para ese movimiento, en lugar de contar en forma numérica. También existen muchas aplicaciones en las que no nos importa el valor binario específico para cada estado, ya que utilizaremos la lógica de decodificación apropiada para identificar estados específicos de interés y para generar las señales de salida deseadas.
La distinción general entre los dostérminos es que un contador se utiliza, por lo general, para contar eventos, mientras que una máquina de estados se utiliza por lo común para controlar eventos. El término descriptivo correcto depende de la manera en que deseamos utilizar el circuito secuencial.
El diagrama de bloques que se muestra en la Figura 1 puede representar una máquina de estados o un contador. Como ya hemos visto elproceso de diseño clásico de un circuito secuencial era averiguar cuantos flip-flops se requerían y después determinar el circuito combinacional necesario para producir la secuencia deseada.
Figura 1.
La salida producida por un contador o una máquina de estados puede venir en forma directa de las salidas de los flip-flops o tal vez se requiera de algún circuito de compuertas, como se indicaen el diagrama de bloques. Las dos variaciones se describen ya sea como un modelo de Mealy para un circuito secuencial o como un modelo de Moore.
En el modelo de Mealy las señales de salida también se controlan mediante señales de entrada adicionales, mientras que el modelo de Moore no tiene controles externos para las señales de salida generadas. La salida de Moore es función solo del estadoactual del flip-flop.
DIAGRAMA DE ESTADO
El diseño de una máquina de estado finito consiste en determinar cuántos estados se necesitan y cuáles transiciones son posibles de un estado a otro. No hay un procedimiento determinado para esta tarea. El diseñador debe pensar detenidamente en lo que la máquina debe hacer. Una buena forma de comenzar es elegir un estado en particular comoestado inicial; éste es el estado en el que debe entrar el circuito cuando se encienda por primera vez o cuando se le aplique una señal reset (reinicio). Para nuestro ejemplo, supongamos que el estado inicial se llama estado A. Siempre que la entrada w sea 0, el circuito no necesita hacer nada y, por tanto, cada flanco activo del reloj debe dar como resultado que el circuito permanezca en el estado A.Cuando w se vuelve igual a 1, la máquina debe reconocerlo y pasar a un estado distinto, al cual llamaremos estado B. Esta transición se lleva a cabo en el siguiente flanco activo del reloj después que w se ha vuelto igual a 1. En el estado B, igual que en el A, el circuito debe mantener el valor de la salida z en 0, ya que aún no ha visto w=1 para dos ciclos del reloj consecutivos. Cuando se hallaen el estado B, si w es 0 en el siguiente flanco activo del reloj el circuito debe regresar al estado A. Sin embargo, si w=1 cuando se encuentra en el estado B el circuito debe cambiar a un tercer estado, llamado C, y luego debe generar una salida z=1. El circuito ha de permanecer en el estado C siempre que w=1 y debe seguir manteniendo z=1. Cuando w se vuelve 0, en la Figura 2 se puedeobservarse como estaría trabajando, la máquina tiene que moverse de regreso al estado A. Como la descripción anterior maneja todos los valores posibles de la entrada w que la máquina puede encontrar en sus distintos estados, podemos concluir que se necesitan tres estados para implementar la máquina deseada.
Figura 2. Secuencias de señales de entrada y salida.
El comportamiento de un circuito...
Regístrate para leer el documento completo.