TECNOLÓGICO
NACIONAL DE
MÉXICO
TECNOLÓGICO
NACIONAL DE
MÉXICO CAMPUS
CERRO AZUL
INSTITUTO TECNOLÓGICO DE CERRO AZUL
INGENIERÍA ELECTROMECÁNICA
MATERIA: MICROCONTROLADORES APLICADOS A SISTEMAS
ELECTRÓNICOS.
GRUPO: 1 SEMESTRE: 7O
ALUMNO: OSCAR DEL ANGEL ANGELES - 19500034
UNIDAD 1: MAQUINAS DE ESTADO SISTEMAS
SECUENCIALES.
ACTIVIDAD: INVESTIGACIÓN DE LA UNIDAD 1
DOCENTE: ING. SANTIAGO PEREZ ROBERTO
FECHA DE ENTREGA: 21/FEBRERO/2024
TEMA 1 MAQUINAS DE ESTADO SISTEMAS SECUENCIALES
1.1 Introducción a los sistemas secuenciales.
En los sistemas secuenciales, los valores de las salidas, en un momento dado, no
dependen exclusivamente de los valores de las entradas en dicho momento, sino
también dependen del estado anterior o estado interno. El sistema secuencial
más simple es el biestable, de los cuales, el de tipo D (o cerrojo) es el más
utilizado actualmente.
El sistema secuencial requiere de la utilización de un dispositivo de memoria que
pueda almacenar la historia pasada de sus entradas (denominadas variables de
estado) y le permita mantener su estado durante algún tiempo, estos dispositivos
de memoria pueden ser sencillos como un simple retardador o celdas de
memoria de tipo DRAM, SRAM o multivibradores biestables también conocido
como Flip-Flop entre otros.
ELEMENTOS
En todo sistema secuencial nos encontraremos con:
a) Un conjunto finito, n, de variables de entrada (X1, X2,..., Xn).
b) Un conjunto finito, m, de estados internos, de aquí que los estados
secuenciales también sean denominados autómatas finitos. Estos estados
proporcionarán m variables internas (Y1, Y2,..., Ym).
c) Un conjunto finito, p, de funciones de salida (Z1, Z2,..., Zp).
Dependiendo de cómo se obtengan las funciones de salida, Z, los
sistemas secuenciales pueden tener dos estructuras como las que se
observan en la siguiente figura, denominadas: a) Máquina de Moore y
b) Maquina de Mealy.
TIPOS DE SISTEMAS SECUENCIALES
En este tipo de circuitos entra un factor que no se había considerado en los
circuitos combinacionales, dicho factor es el tiempo, según como manejan el
tiempo se pueden clasificar en: circuitos secuenciales síncronos y circuitos
secuenciales asíncronos.
Circuitos secuenciales asíncronos
En circuitos secuenciales asíncronos los cambios de estados ocurren al ritmo
natural asociado a las compuertas lógicas utilizadas en su implementación, sin la
necesidad de que esté presente una señal de reloj global. Esto mitiga el problema
de distribución del reloj, que caracteriza a los circuitos síncronos. Gracias a no
tener que esperar a la señal de reloj, los circuitos asíncronos son capaces de
operar a una mayor velocidad, teóricamente limitada por los tiempos de
propagación de los elementos lógicos usados.
A pesar de estas ventajas, los circuitos asíncronos son más complejos de
diseñar, en parte porque hay una mayor dependencia en los tiempos de
propagación de las distintas compuertas, y también porque no existe tanto
desarrollo de herramientas de diseño como en el caso de circuitos síncronos. Por
esa razón, el uso de circuitos asíncronos se encuentra circunscripto a aquellos
diseños en donde los beneficios, como el de mayor velocidad de operación,
superan las dificultades de su diseño.
Circuitos secuenciales síncronos
Los circuitos secuenciales síncronos solo permiten un cambio de estado en los
instantes marcados o autorizados por una señal de sincronismo de tipo oscilatorio
denominada reloj (cristal o circuito capaz de producir una serie de pulsos
regulares en el tiempo), lo que soluciona los problemas que tienen los circuitos
asíncronos originados por cambios de estado no uniformes dentro del sistema o
circuito. Las técnicas de diseño de circuitos síncronos fue desarrollado
tempránamente y en la actualidad se encuentran en un estado de madurez. Ello
resulta en una gran confiabilidad en la funcionalidad de los circuitos así
diseñados. Sin embargo, cuando se los compara con circuitos asíncronos, esta
simplicidad de diseño tiene su aspecto negativo en el mayor consumo de
potencia requerido por los circuitos síncronos debido a la señal de reloj que tiene
que distribuirse y la menor velocidad máxima de operación que pueden lograr.
APLICACIONES
A continuación se indican ejemplos de sistemas secuenciales que pueden
encontrarse en forma de circuito integrado o como estructuras en sistemas
programados:
Autómata finito
Contador
Registros
1.2 Modelos de diseño en los sistemas secuenciales síncronos.
Según la forma de realizar el elemento de memoria nos podemos encontrar
distintos tipos de sistemas secuenciales, principalmente dos:
Sistemas Secuenciales Síncronos, en los que su comportamiento puede
definirse en instantes de discretos de tiempo, se necesita una
sincronización de los elementos del sistema mediante una señal de reloj,
que no es más que un tren de pulsos periódico. Las variables internas no
cambian hasta que no llega un pulso del reloj.
Sistemas Secuenciales Asíncronos, actúan de forma continua en el
tiempo, un cambio de las entradas provoca cambios en las variables
internas sin esperar a la intervención de un reloj. Son sistemas más
difíciles de diseñar.
El cambio de las variables internas se puede producir de dos maneras en un
sistema secuencial síncrono:
Por niveles, cuando permiten que las variables de entrada actúen sobre el
sistema en el instante en el que la señal de reloj toma un determinado
nivel lógico (0 ó 1).
Por flancos, o cambios de nivel, cuando la acción de las variables de
entrada sobre el sistema se produce cuando ocurre un flanco activo del
reloj.
Este flanco activo puede ser de subida (cambio de 0 a 1) o de bajada (cambio de
1 a 0).
El elemento de memoria básico de los circuitos secuenciales síncronos es el
biestable. Almacena el estado 0 ó el estado 1, y de ahí su nombre, tienen dos
estados estables de funcionamiento.
También se les suele conocer como FLIP-FLOPS.
MODELO DE MEALY
La máquina Mealy se distingue por ser una máquina en la cual, si la máquina está
en cierto estado, entonces al aplicarle cierta entrada transaccionará a otro estado
produciendo cierta salida como consecuencia de la transición.
Una máquina de Mealy es una estructura de la forma
Dónde:
La semántica procedimental de la máquina de Mealy es la siguiente:
Al inicio de cualquier computación, la máquina se encuentra en el estado q0.
Posteriormente, cuando la máquina se encuentra en un estado , y recibe
una literal de entrada , entonces emite el símbolo de salida y
transita al nuevo estado .
Gráficamente, representamos esto de la siguiente manera:
q0 es el estado inicial.
Si se está en q y llega e entonces se emite y se transita a
MODELO DE MOORE
Una Máquina de Moore, En la teoría de la computación, es un autómata de
estados finitos para el cual la salida en un momento dado solo depende de su
estado en ese momento, mientras la transición al siguiente estado depende del
estado en que se encuentre y de la entrada introducida. El diagrama de estados
para una máquina Moore incluirá una señal de salida para cada estado.
Comparada con la Máquina de Mealy, la cual mapea transiciones en la máquina a
salidas.
Una máquina electrónica de Moore típica incluye una cadena de Lógica
combinacional para decodificar el estado actual en salidas (lambda).
El instante en el cual el estado actual cambia, aquellos cambios se propagan a
través de la cadena. y casi instantáneamente las salidas cambian (o no cambian).
Hay técnicas de diseño para asegurar que no ocurran errores de corta duración
en las salidas durante el breve periodo mientras esos cambios se están
propagando a través de la cadena, pero la mayoría de los sistemas están
diseñados para que los glitches durante el breve tiempo de transición sean
ignorados.
Las salidas entonces permanecen igual indefinidamente (por ejemplo, los LEDs
permanecen brillantes, la batería permanece conectada a los motores, etc.),
hasta que la máquina de Moore cambia de estado otra vez.
Una máquina de Moore puede ser definida como una 6-tupla {S, S0, Σ, Λ, T, G}
consistente de:
Un conjunto finito de estados (S).
Un estado inicio (también llamado estado inicial) S0 el cual es un elemento
de (S).
Un conjunto finito llamado alfabeto entrada (Σ).
Un conjunto finito llamado el alfabeto salida (Λ).
Una función de transición (T: S × Σ → S) mapeando un estado y una
entrada al siguiente estado.
Una función salida (G: S → Λ) mapeando cada estado al alfabeto salida.
El número de estados en una máquina de Moore será mayor o igual al número de
estados en la Máquina de Mealy correspondiente.
1.3 Etapas o pasos de los sistemas secuenciales síncronos.
Se pueden seguir una serie sencilla de pasos:
1. Se parte de las especificaciones de funcionamiento, que puede incluir un
diagrama de flujo.
2. Se obtiene la tabla de estados.
3. Se procede a la reducción del número de estados, es opcional.
4. Se asignan valores binarios a cada estado de la tabla y obtenemos una tabla
de transición.
5. Se determina el número de FF necesarios y se asigna un símbolo a cada uno.
6. Se escoge el tipo de FF que va a utilizarse
7. Mediante la tabla de transición se derivan las entradas de los biestables (tabla
de excitación) y las salidas. Éstas suelen ser funciones combinacionales.
8. Mediante algún método (Karnaugh, McCluskey ...) se simplifican dichas
funciones o se construyen usando dispositivos MSI o PLDs.
9. Dibujar el diagrama lógico.
Ejemplo:
• Partimos del siguiente diagrama de flujo:
No existen salidas, luego suponemos que las salidas de los FF son las salidas del
circuito.
La tabla de transición es:
Como existen dos variables de estado interno q2q1 se necesitan dos elementos
de memoria, dos FF. Vamos a realizar el diseño con biestables JK. Para cada
uno de los biestables necesitamos deducir la entrada J y la entrada K. Dichas
funciones se pueden realizar usando puertas básicas o dispositivos MSI.
Construimos la tabla de estado de esta forma:
Simplificando se obtiene una expresión booleana de J1K1 J2K2:
El circuito quedaría como: