Máquinas de estados.pdf

Share Embed Donate


Short Description

Download Máquinas de estados.pdf...

Description

Máquinas de estados 1 Introducción El diseño de circuitos secuenciales complejos sería una actividad muy complicada si no hubiese algún método de diseño estudiado paso a paso. Este es el caso de las máquinas de estados, que consisten en un método de análisis y síntesis de circuitos secuenciales. Para el estudio de circuitos secuenciales como máquinas de estados, se han de definir previamente una serie de conceptos.

1.1 Arquitectura de los circuitos secuenciales Hay dos tipos de arquitecturas de circuitos secuenciales o máquinas de estados, que son la arquitectura Mealy y la arquitectura Moore. En los diagramas de transiciones de estado se representa el estado por un circulo y la transición por una flecha como se indica en la figura 1.1.1.

Figura 1.1.1 Representación de a) estado y b) transición.

1.1.1 Arquitectura Mealy En este tipo de arquitectura o máquina de estado las salidas son función de las entradas y del estado interno. En la figura 1.1.1.1 se puede ver el esquema de bloques de una máquina Mealy.

Figura 1.1.1.1 Diagrama de bloques de una estructura Mealy

Ing. Javier Barriga Hoyle

1

Salidas = f (Entradas, Estado interno) La representación de una máquina Mealy mediante diagramas de estados sería de la forma que se indica en la figura 1.1.1.2.

Figura 1.1.1.2 Representación Estado-Transición de una máquina Mealy

1.1.2 Arquitectura Moore En este tipo de arquitectura o máquina de estado las salidas son función única y exclusivamente de las entradas. En la figura 1.1.2.1 se puede ver el esquema de bloques de una máquina Moore.

Figura 1.1.2.1 Diagrama de bloques de una estructura Moore

Salidas = f (Estado interno) La representación de una máquina Moore mediante diagramas de estados sería de la forma que se indica en la figura 1.1.2.2.

Figura 1.1.2.2 Representación Estado-Transición de una máquina Moore

Ing. Javier Barriga Hoyle

2

2 Objetivos Estudio de un método que facilite la resolución de cualquier circuito secuencial. Trabajar con este método con algunos ejemplos que han de montarse prácticamente para ser comprobados.

3 Proceso de síntesis mediante una máquina de estados En este apartado se procederá a la descripción del proceso ha seguir para obtener el esquema de un circuito secuencial, partiendo de las especificaciones del mismo. Para ello se utilizará un ejemplo de cada tipo de máquina de estados.

3.1 Máquina Moore Como ejemplo se diseñará un generador de secuencia. El generador en cuestión ha de proporcionar a su salida la secuencia 110010. 1er Paso. Definición del tipo de Máquina (Mealy / Moore) y construcción de su diagrama de estados. En este caso nos encontramos con una máquina Moore, ya que para pasar de un estado a otro no se depende de más entrada que la de reloj. Se dibujará el diagrama de transición de estados a continuación en la figura 3.1.1.

Figura 3.1.1. Diagrama de transición de estados.

2º Paso. Tabla de transición de estados y tabla de salidas. La tabla de transición de estados, es una tabla en la que en las filas se ponen los estados y en las columnas las entradas. Hay que completar cada cuadro pensando que si la máquina está en el estado de la fila y con las entradas de la columna, ante el próximo pulso de reloj, ¿a que estado pasa la máquina? En este caso, la máquina no tiene entradas, por lo que solo se pone una columna. Ing. Javier Barriga Hoyle

3

Estado actual Estado siguiente E0 E1 E1 E2 E2 E3 E3 E4 E4 E5 E5 E0 Tabla 3.1.1 Tabla de transición de estados

De la misma forma se obtiene la tabla de salidas, pero por tratarse de una máquina Moore, cada estado tiene asociada una única salida, por lo que la mencionada tabla se puede denominar tabla de identificación de estados, en esta tabla se asigna a cada estado la salida que se ve en el diagrama de transición de estados. Estado actual E0 E1 E2 E3 E4 E5

Salida 1 1 0 0 1 0

Tabla 3.1.2 Tabla de salidas

3er Paso. Determinar el número de biestables necesarios. Para ello ha de cumplirse la ecuación siguiente, donde n es el número de biestables. 2n-1 < nº de estados

2n

En el caso que nos ocupa se cumple que 22 < 6 biestables necesarios es 3.

23, por lo tanto el número de

4º Paso. Tabla de codificación de estados. En esta tabla se asigna a cada estado una salida binaria de las que se pueden obtener con los tres biestables, lo más sencillo es que sea de forma ordenada. Q2 Q1 Q0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

Estado E0 E1 E2 E3 E4 E5 X X

Tabla 3.1.3 Tabla de codificación de estados

5º Paso. Obtención de las tablas de transición de estados y de salidas codificadas. Ing. Javier Barriga Hoyle

4

Estado actual Estado siguiente 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 0 0 0 1 1 0 X X X 1 1 1 X X X Tabla 3.1.4 Tabla de transición de estados

Estado actual 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

Salida 1 1 0 0 1 0 X X

Tabla 3.1.5 Tabla de salidas

6º Paso. Decidir el tipo de biestable a utilizar (J-K o D), y obtener la tabla de excitación de cada uno. Se utilizarán biestables D. Estado actual Estado siguiente 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 0 0 0 1 1 0 X X X 1 1 1 X X X

D2 0 0 0 1 1 0 X X

D1 0 1 1 0 0 0 X X

D0 1 0 1 0 1 0 X X

Tabla 3.1.6 Tabla de excitación de los biestables

7º Paso. Simplificar las tablas. Partiendo de las tablas de excitación de biestables y de la tabla de salidas, mediante la utilización de métodos de simplificación (Mapas de Karnaugh, ...), se obtienen las expresiones siguientes: D2

Q 2 Q0 Q1 Q0

D1 Q1 Q0 Q 2 Q1 Q0 D0 S

Ing. Javier Barriga Hoyle

Q0 Q 2 Q1 Q1 Q0

Q1 Q0 Q 2

5

8º Paso. Dibujar el circuito.

Q2 Q2' Q1 Q1' Q0 Q0'

CL OCK

Q0 D

Q

CL K Q

Q1 D

Q

CL K Q

Q2 D

Q

CL K Q

Salida S

Figura 3.1.2 Esquema del generador como máquina de estados

Ing. Javier Barriga Hoyle

6

3.2 Máquina Mealy Como ejemplo de máquina Mealy, se construirá un circuito secuencial llamado sumador serie, que actuará de la siguiente forma: Dos números A y B de n bits se encuentran almacenados en dos registros de desplazamiento PISO cuyas salidas serie son las entradas del circuito secuencial que se desea diseñar. Además el circuito posee una entrada de reset que llevará a la máquina al estado inicial. La salida del circuito se almacenará en un registro de desplazamiento SIPO. En la figura 3.2.1 se puede ver un esquema de bloques del circuito que se propone.

Figura 3.2.1 Diagrama de bloques

Para diseñar el circuito secuencial se seguirá el proceso de diseño de máquinas de estados que se ha seguido en el apartado anterior. 1er Paso. Definición del tipo de Máquina (Mealy / Moore) y construcción de su diagrama de estados. Se parte de dos estados, uno en el cual estará el sistema mientras exista acarreo en la operación de suma y otro en el que no habrá acarreo. En este caso nos encontramos con una máquina Mealy, ya que la salida depende del estado anterior de la misma y de las entradas. A continuación se dibuja el diagrama de transición de estados a continuación en la figura 3.2.2.

Figura 3.2.2. Diagrama de transición de estados.

Ing. Javier Barriga Hoyle

7

2º Paso. Tabla de transición de estados y tabla de salidas. La tabla de transición de estados, es una tabla en la que en las filas se ponen los estados y en las columnas las entradas. Hay que completar cada cuadro pensando que si la máquina está en el estado de la fila y con las entradas de la columna, ante el próximo pulso de reloj, ¿a que estado pasa la máquina? A B Estado actual E0 E1

0 0

0 1

1 1

1 0

E0 E0

E0 E1

E1 E1

E0 E1

Tabla 3.2.1 Tabla de transición de estados

De la misma forma se obtiene la tabla de salidas. A B Estado actual 0 1

0 0

0 1

1 1

1 0

0 1

1 0

0 1

1 0

Tabla 3.2.2 Tabla de salidas

3er Paso. Determinar el número de biestables necesarios. Para ello ha de cumplirse la ecuación siguiente, donde n es el número de biestables. 2n-1 < nº de estados

2n

En el caso que nos ocupa se cumple que 20 < 2 biestables necesarios es 1.

21, por lo tanto el número de

4º Paso. Tabla de codificación de estados. En esta tabla se asigna a cada estado una salida binaria de las que se pueden obtener con los tres biestables, lo más sencillo es que sea de forma ordenada. Q0 0 1

Estado E0 E1

Tabla 3.2.3 Tabla de codificación de estados

5º Paso. Obtención de las tablas de transición de estados y de salidas codificadas. A B Estado actual 0 1

0 0

0 1

1 1

1 0

0 0

0 1

1 1

0 1

Tabla 3.2.4 Tabla de transición de estados

Ing. Javier Barriga Hoyle

8

A B Estado actual 0 1

0 0

0 1

1 1

1 0

0 1

1 0

0 1

1 0

Tabla 3.2.5 Tabla de salidas

6º Paso. Decidir el tipo de biestable a utilizar (J-K o D), y obtener la tabla de excitación de cada uno. Se utilizará un biestable D. A B Q0 0 1

0 0

0 1

1 1

1 0

0 0

0 1

1 1

0 1

Tabla 3.2.6 Tabla de excitación del biestable D0.

7º Paso. Simplificar las tablas. Partiendo de las tablas de excitación de biestables y de la tabla de salidas, mediante la utilización de métodos de simplificación (Mapas de Karnaugh, ...), se obtienen las expresiones siguientes: D0 Q0 A Q0 B S A B Q0

A B

Antes de pintar el circuito se ha de analizar el tema de la entrada de reset, esta entrada debe ser síncrona, por lo que la intención es conseguir que cuando se ponga a uno la entrada de reset, el circuito ha de introducir un cero en la entrada D0 del biestable que se utiliza en la práctica. Para ello, lo mejor será hacer una operación AND de cada sumando de la expresión de D0 con la inversa de la entrada de reset, tal como se puede ver en el circuito de la figura 3.2.3. 8º Paso. Dibujar el circuito. El circuito correspondiente a esta aplicación de máquinas de estados, es el que se ve en la figura 3.2.3.

Como prueba realice la suma de los números binarios A = 00100011 y B = 10010010, y compruebe que la salida que se obtiene es S = 101110101.

Ing. Javier Barriga Hoyle

9

A B

Salida S

Q0 D

Q

CL K Q

RST

CL OCK

Figura 3.2.3 Esquema del sumador serie como máquina de estados

4 Análisis de Circuitos Secuenciales A continuación se procederá a utilizar el método de la maquinas de estado referido al análisis de circuitos secuenciales. De igual forma que se ha hecho en el apartado 3 se utilizará un ejemplo para explicar el proceso a seguir. En la figura 4.1 se muestra el esquema de un circuito secuencial construido con biestables J-K. Se trata de analizar el circuito con el objetivo de obtener su diagrama de transición de estados, y a partir del mismo, conocer la funcionalidad del circuito.

S0

S1

S2

S3

VCC

Q0 J

Q

CL K K

Q1 J

Q2

Q

J

CL K Q

K

Q3

Q

J

CL K Q

K

Q

CL K Q

VCC

K

Q

VCC

CL OCK

Figura 4.1 Circuito secuencial a analizar.

Ing. Javier Barriga Hoyle

10

1er Paso. Obtención de las ecuaciones de excitación de los biestables y salida o salidas.

J0 1 K0 1 J 1 Q0 K 1 Q 0 Q3 J2

Q0

K2 1 J 3 Q2 K3 1 2º Paso. Obtención de la tabla de transición de estados y de salidas. Se trata de obtener el estado siguiente del contador en función de las entradas de los biestables en cada uno de los estados. Hay que tener en cuenta que los biestables dos y tres utilizan como entrada de reloj la salida Q1 y que además los biestables son disparables por flanco descendente, por lo que el pulso de reloj en los biestables 2 y 3 se produce cuando Q1 cambia de nivel alto a nivel bajo.. De igual forma se obtendrían las salidas, pero en este caso coinciden las salidas del circuito con las salidas de los biestables. Por esta razón se puede considerar que la tabla de transición de estados es la misma que la tabla de salidas. (t) (t+1) Q3 Q2 Q1 Q0 Q3 Q2 Q1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0

Q0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

J3 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

K3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

J2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

K2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

J1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

K1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1

J0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

K0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Tabla 4.1 Tabla de transición de estados

Ing. Javier Barriga Hoyle

11

3 er Paso. Obtención de la tabla de decodificación de estados, que consiste en nombrar cada uno de los estados. Q3 Q2 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1

Q1 Q0 Estado 0 0 E0 0 1 E1 1 0 E2 1 1 E3 0 0 E4 0 1 E5 1 0 E6 1 1 E7 0 0 E8 0 1 E9 1 0 E10 1 1 E11 0 0 E12 0 1 E13 1 0 E14 1 1 E15

Tabla 4.2 Tabla de decodificación de estados

4º Paso. Dibujar el Diagrama de transición de estados. Hay que decir que por lo que se ha visto hasta el momento, el circuito de la figura 4.1 corresponde a una máquina Moore, pues no hay ninguna entrada más que la de reloj que no se contabiliza como entrada en las máquinas de estados, por lo que las salidas dependen única y exclusivamente del estado anterior de las mismas, y no de ninguna entrada.

Figura 4.2 Diagrama de transición de estados

Ing. Javier Barriga Hoyle

12

5º Paso. Deducir la funcionalidad del circuito. Como se aprecia es la figura 4.2 correspondiente al diagrama de transición de estados del circuito que se está analizando, el funcionamiento del mismo corresponde a un contador de módulo 10, pues se ve que el circuito tiene un funcionamiento cíclico con diez estados. Además, en el mismo diagrama, se puede ver que el circuito analizado no admite enclavamiento en ninguno de los estados no incluidos en la secuencia de conteo, debido a que como se aprecia en el diagrama de transición de estados, si el circuito cae en algún momento por alguna perturbación en un estado no incluido en la secuencia, el camino natural, con pulsos de reloj, que seguiría el circuito lleva de nuevo al mismo a entrar en la secuencia de conteo. La secuencia seguida por el contador no es una secuencia continua en código binario, sino que corresponde a una secuencia alterada. Es esta: 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 0, 3... etc, que se puede ver en la figura 4.2.

Ing. Javier Barriga Hoyle

13

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF