Universidad Católica de Santa María P.P. Ingeniería Mecánica, Mecánica-Eléctrica y Mecatrónica.
Circuitos Electrónicos II Sistemas Secuenciales
M.Sc. Sergio Mestas R.
1
Introducción
Hasta hoy todo era combinatorio Las salidas dependían únicamente de las entradas en ese momento. Sistemas Secuenciales o también llamados Maquinas de Estados Finitos . La salida no solo depende de la entradas presentes, también dependerá de la historia pasada, de lo que sucedió antes.
2
Ejemplos clásicos
3
Tipos de circuitos secuenciales
Existen dos tipos de circuitos secuenciales
Sincrónicos: Son sistemas cuyo comportamiento puede definirse a partir del conocimiento de sus señales en instantes discretos de tiempo. Asincrónicos: Depende del orden que cambien las señales de entrada y pueda ser afectadas en un instante dado de tiempo.
4
Sistemas Sincrónicos (Síncronos o con clock)
Son sistemas que actúan bajo un control de tiempo, este control se denomina reloj (clock).
Clock: es una señal que se alterna entre los valores lógicos 0 y 1 en un periodo regular. T
Fig. 1: Señales de Clock
5
Características del Clock (Reloj)
El Periodo (T): es el tamaño en tiempo de un ciclo. La Frecuencia (f): es el inverso del periodo, 1/T y está dada en Hertz (Hz).
Ejemplo:
Una señal con frecuencia de 200 MHz, corresponde a una señal que tenga un periodo de 5 ns.
En la mayoría de los sistemas sincrónicos, los cambios ocurren en las transiciones donde la señal cambia de 0 a 1 óde1a0.
6
Diagrama conceptual de un sistema secuencial Clock q1
x1 . . .
. . .
Memoria
xn
Z1
. . .
qm
. . . Zk
Lógica Combinatoria
7
Comentarios sobre el diagrama
Tiene n entradas, (x’s) El clock se comporta como una entrada más. Tiene k salidas (z’s) Tiene m dispositivos de almacenamiento binario (q’s) Cada dispositivo podrá tener una o dos señales de entrada Muchos sistemas tiene solo una entrada y una salida, pero veremos ejemplos con varias entradas e incluso algunos sistemas que no tienen entradas a no ser el clock. Memoria: Flip-Flop’s.
8
Autómatas de Estado Finitos
Máquina de estados: Modelo matemático que describe los circuitos secuenciales síncronos
E = { E1, ..., En}
conjunto de entradas
Z = { Z1, ..., Zm}
conjunto de salidas
Q = { Q1, ..., Qp}
conjunto de estados
l:QxE
función de salida
d:QxE
Z
Q
función de transferencia
Estructura General de un Circuito Secuencial Con cada evento de reloj (flanco), el nuevo estado Q(t+1) es recalculado y las salidas del sistema pueden variar. La Memoria es la parte secuencial
Autómata de Mealy
La función de salida depende del estado anterior y de la entrada
λ:QxE
δ:QxE
Z
Q
Autómata de Moore
La función de salida depende sólo del estado anterior.
A cada estado le corresponde de forma inequívoca una salida
λ:Q
δ:QxE
Z
Q
Diagramas de Estado
Representación gráfica de los Autómatas de Estados Finitos (Finite State Machines, FSM)
Ejemplo de Diagrama de Transición de Estados (DTE)
Tablas y diagramas de estados (1)
Ejemplo de un sistema secuencial:
EJE6: Un sistema con una entrada x y una salida z, de tal forma que z = 1, si x ha sido 1 por tres pulsos de clock consecutivos. Para este ejemplo, el sistema debe almacenar en memoria la información de los últimos tres estados de la entrada y producir una salida basada en esa información. Estado: Lo que se almacena en la memoria es el estado del sistema.
15
Tablas y diagramas de estados (2)
En este ejemplo, la salida depende únicamente del estado del sistema y que se haya seguido el patrón definido en la entrada del sistema. E este tipo de Máquinas de Estado que sólo dependen del estado actual del sistema son llamadas de Modelos Moore ó Máquinas Moore, debido a Edward F. Moore*. * Edward F. Moore, un pionero de las Máquinas de estados, quien escribió Gedanken-experiments on Sequential Machines, pp 129 – 153, Automata Studies, Annals of Mathematical Studies, no. 34, Princeton University Press, Princeton, N. J., 1956. 16
Tablas y diagramas de estados (3)
Herramientas necesarias para describirlo.
Tabla de Estados: es una tabla que describe las
transiciones de una máquina de estados finitos, en otras palabras, muestra las relaciones funcionales entre las entradas, salidas y estados de la memoria. Para cada combinación y cada estado, indica cual será la salida y cual será el próximo estado después del siguiente pulso de clock.
17
Tablas y diagramas de estados (4)
Diagrama de Estados: Es una representación gráfica del
comportamiento del sistema, mostrando cada combinación de entrada y cada estado, de la misma forma muestra el resultado de la salida y el valor del estado siguiente después de un pulso de clock.
A continuación veremos la tabla y el diagrama de estados para el EJE6.
18
Tablas y diagramas de estados (5) Estado
Estado Siguiente
Presente
x=0
x=1
Salida
A
A
B
0
B
A
C
0
C
A
D
0
D
A
D
1
Tabla y diagrama de estados para el EJE6
En el futuro nos referiremos al Estado Presente por el símbolo q y el Estado Siguiente por el símbolo q*.
19
Timing Trace (rastreo en el tiempo)
Un timing trace, es un conjunto de valores para las entradas y salidas arreglados en una forma consecutiva con relación a los pulsos de clock. Es usado normalmente para explicar o clarificar el comportamiento de un sistema. x
0
1
1
0
1
1
1
0
0
1
0
1
1
1
1
1
0
0
q
?
A
B
C
A
B
C
D
A
A
B
A
B
C
D
D
D
A
A
?
z
?
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
0
0
0
Timing trace para el EJE6
20
0
Elementos de Memoria Latches y Flip Flops
21
Latch
Un Latch es un dispositivo binario de almacenamiento, construido con dos o más compuertas con realimentación. P
P = (S + Q)’ Q = (R + P)’ Ecuaciones del sistema
Q
Un Latch con compuertas NOR
S = Set R = Reset 22
Un Latch con gatillo (Gated)
En este latch, cuando la señal del gate es inactiva, tanto SG y RG serán 0 y el latch permanece sin cambios. Únicamente cuando la señal del gate es 1 el latch podrá recibir el valor 0 ó 1 así como el latch anterior.
23
El Flip Flop
El Flip Flop es un dispositivo de almacenamiento binario con clock. Bajo operaciones normales este dispositivo almacenará un 1 ó un 0 y sólo cambiarán estos valores en el momento que ocurra una transición del clock.
Las transiciones que pueden producir cambios en el sistema pueden ser cuando el clock va de 0 a 1, disparo por rampa de subida (leadign-edge triggered), o cuando el clock va de 1 a 0, disparo por rampa de bajada (trailing-edge triggered). 24
Rampas de subida y de bajada Clock 1 Rampa de subida
Rampa de bajada
0
25
Flip Flop tipo D (1)
Existe Exis ten n va vari rios os ti tipo poss de Fl Flip ip Flo lops ps,, nos co con nce cent ntra rare remo moss en dos tipos, el D y el JK, el Flip Flop tipo D es el más usado y es muy común encontrarlo en dispositivos lógicos lógi cos pro progra gramab mables. les. Tambien tenemos otros tipos de flip flops como los SRyT.
26
Flip Flop tipo D (2)
Es el más sencillo en su operación. El nombre proviene de Delay (reta (retardo), rdo), ya ya que su salida salida es un reflejo de lo que hay en la entrada con un retardo de un ciclo de clock. q D
q D
q’
q’
Clock
Clock
D con rampa de bajada
D con rampa de subida
27
Clock
D
Q
Flanco
0
0
Flanco
1
1
Flip Flop D, tabla de comportamiento y diagrama de estados D
q
q*
D
q*
0
0
0
0
0
0
1
0
1
1
1
0
1
1
1
1
q* = D Ecuación
28
Comportamiento de un Flip Flop tipo D con Rampa de Bajada
Diagrama de tiempo
29
Variación de la entrada La salida no se verá afectada, ya que el valor de la entrada D solo es relevante en el instante de la rampa de bajada
30
Comportamiento de un Flip Flop tipo D con Rampa de Subida
Diagrama de tiempo
31
Flip Flops con “Clear” y “Preset”
Cualquier tipo de Flip Flop podrá contar con estas entradas asincrónicas, en el caso de Flip Flops tipo D tenemos:
D
Clock
PRE
CLR
q
q’
PRE’
CLR’
D
q
q*
0
1
X
X
1
1
0
X
X
0
Constante inmediata
0
0
X
X
-
Invalido
1
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
1
1
32
Normal
Diagrama de tiempo para un Flip Flop con Clear y Preset
33
Flip Flop SR (Set-Reset)
Tiene dos entradas con el mismo significado que el Latch SR Tablas de comportamiento
S
R
PRE
q
q’
CLR
S
R
q*
0
0
q
0
1
0
1
0
1
1
1
-
34
S
R
q
q*
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
-
No permitido
1
1
1
-
No permitido
Flip Flop SR – Diagrama de estados y Ecuación
q\SR 00 0 1
1
01
11
10
x
1
x
1
35
q* = S + R’q
Diagrama de tiempo para un Flip Flop SR
36
Flip Flop tipo T (Toggle)
Tiene una entrada T , de tal forma que si T = 1, el Flip Flop cambia el valor del estado actual y si T = 0, el estado permanece sin cambios. Tablas de Comportamiento
T
Clock
PRE
CLR
q
T
q
q*
0
0
0
0
1
1
1
0
1
1
1
0
q’
37
T
q*
0
q
1
q’
Diagrama de estados para le Flip Flop T 1
0 0
T
1
0
1
Ecuación para el comportamiento del Flip Flop q* = T
38
+
q
Diagrama de tiempo para un Flip Flop T
39
Flip Flop tipo JK
Es una combinación del SR y del T , siendo así, su comportamiento es como el SR, con excepción cuando sus entradas J = K = 1 provoca que el Flip Flop cambie de estado, como si fuera un Flip Flop T . J K q q* Tablas de comportamiento: J
K
PRE
q
q’
CLR
J
K
q*
0
0
q
0
1
0
1
0
1 40
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
Diagrama de estados para le Flip Flop JK 10 11
00
00 JK
0
01
10
1
10 11
q\JK
00
01
0 1
1
11
10
1
1 1
41
q* = Jq’ + K’q
Diagrama de tiempo para un Flip Flop JK
42
Análisis de un Sistemas Secuencial
43
Análisis de Sistemas Secuenciales Síncronos
Objetivo: obtener el DTE a partir de un circuito
Pasos:
Obtener la expresión para la función/es de salida
Obtener las expresiones para las funciones de transición (entradas a biestables)
Rellenar la excitación)
Dibujar el diagrama
tabla
de
verdad
(ecuaciones
de
El circuito
Las expresiones
Función Z(t) J1 K1 J2 K2
Expresión XQ1Q2’ X’+Q1’Q2 X’ X Q2
Tabla de verdad y diagrama
Circuito Secuencial – Modelo tipo Moore con Flip Flops tipo D
1
•Del circuito encontramos:
q1q2 xq1
D1
D2
xq1
z q2 48
2
Tabla y diagrama de estados del circuito 0
q1* q2*
00
q1
q2
x=0
x=1
z
0
0
00
10
1
0
1
00
10
0
1
0
10
11
1
1
1
00
01
0
1
1 0
0
10 1 1
1
01
0
0
0
1
49
11
Circuito Secuencial – Modelo tipo Moore con Flip Flops tipo JK
Este es un circuito de modelo tipo Moore, ya que la salida z, que es igual a A + B, es una función del estado, o sea, el contenido de los flip flops, y no de la entrada x.
J A x K A x B J B K B x A z A B
50
Tabla de estados para el ejemplo anterior A* B* A
B
x=0
x=1
z
0
0
01
11
0
0
1
00
10
1
1
0
10
01
1
1
1
11
10
1
Para completar la tabla hay que tener en cuenta las ecuaciones de entrada de los flip flops y el funcionamiento de cada uno de ellos para determinar el estado siguiente.
51
Trazado en el tiempo y Diagrama de tiempos x
0
0
1
0
1
1
0
A
0
0
0
1
1
1
0
0
B
0
1
0
1
1
0
1
0
1
z
0
1
0
1
1
1
1
0
1
52
Diagrama de Estados para el ejemplo 00 0
0
1 0
01
11
1
1 1
1
0 1
10 1
0
53
0
Ejemplo con el modelo Mealy En algunos casos, la salida depende de la entrada actual así como del valor de los estados actuales. Este tipo de circuitos son clasificados como sistemas secuenciales de modelo Mealy. Un ejemplo de este modelo es este sistema.
54
Ecuaciones
Las ecuaciones de entrada y salida para el circuito son: D1
xq1 xq2
D2
xq1q2
z xq1
Como son flip flops tipo D, entonces q* = D
55
Tabla de estados y diagrama de estados q1* q2* q1
q2
x=0
x=1
0
0
00
01
0/0
z x=0 x=1
0
0/0
00
0
11
1/0
0
1
00
10
0
0
1
0
00
10
0
1
1
1
00
10
0
1
0/0 0/0
1/1
01
10 1/0 1/1
56
Trazado en el tiempo y Diagrama de tiempos x
0
1
1
0
1
1
1
1
0
q1
?
0
0
1
0
0
1
1
1
0
q2
?
0
1
0
0
1
0
0
0
0
z
0
0
0
0
0
0
1
1
0
0
57
0
Síntesis de Sistemas Secuenciales Síncronos
Pasos:
Traducir las especificaciones diagrama de estados
Obtención excitación
Minimización de las funciones
Implementación del circuito
de
la
tabla
de
verbales
a
transición
y
Mé to d o b ás ic o d e dis eñ o d e FSM (MEF) em p lean d o circ uito s SSI ó MSI . 1. Entender el problema. 2. Traducir las especificaciones verbales a diagrama de estados y/o tabla de estados. 3. Minimizar el número de estados 4. Asignación de estados. 5. Obtener la Tabla de Transición / Salidas. 6. Tipo de flip-flop. 7. Obtener la Tabla de excitación. 8. Ecuaciones de excitación. 9. Ecuaciones de las salidas. 10. Minimización de las ecuaciones. 11. Implementar el circuito electrónico. 59
Ejemplo: reconocedor de secuencias
Secuencia a reconocer: 1101
Definición de estados
Codificación de estados
Diagrama
0/0
Ejemplo: reconocedor de secuencias (II)
Tabla de transición y excitación
Minimización de las función (Karnaugh)
Ejemplo: implementación
Máquinas de Estado, conceptos.
M áq u in a d e es t ad o s Conjunto de estados que sirve de intermediario en la relación entre las entradas y las salidas de un sistema. En electrónica es un circuito secuencial que transita entre estados en dependencia del valor de su entradas y del estado actual (entradas anteriores). 63
Máquinas de Estado, conceptos.
¿Qué determina los ESTADOS en el circuito? El conjunto de las salidas de los FF.
Un circuito con n flip-flops (n variables de estado) => 2n estados posibles.
Máquina de Estado Finita , (Finite State Machine FSM). 64
Metodología de diseño.
Ej empl o # 1.
Diseñe un circuito con dos teclas una para arrancar y otra para parar un motor mediante un relay de 50mA 12 V. La entrada de parada debe ser dominante.
65
Metodología de diseño. Ejempl o # 1.
Utilizaremos este ejemplo para mostrar el método de diseño de las máquinas de estados sincrónicas y los conceptos asociados a este método.
66
Metodología de diseño. Ejemplo # 1.
Paso # 1,
TP
Entender
TA
M
Sistema
el Problema (resumen de las entradas y salidas )
TA = Tecla de arranque TP = Tecla de parada
M = Motor 67
Metodología de diseño. Ejemplo # 1.
Vcc
Paso # 1,
VCC 12V
Vcc
RL1
Entender el Problema
RLY-SPNO
D1
R2
DIODE
47k 47k
TP TA
Motor
M
R1
R3
Sistema
Q1 NPN
(completar las especificaciones del problema .) 68
TP y TA activas 0 M ON 1
Metodología de diseño. Ejemplo # 1. TP
TA Sistema ON 1
Paso # 1,
activas 0
Entender el Problema
M
TA TP
(forma de onda de entradas y salidas)
M
OFF
ON 69
OFF
ON
OFF
Metodología de diseño. Ejemplo # 1.
Circuito Secuencial Sincrónico.
Paso # 1, Entender el
TP
Problema
TA
M
Sistema
(resumen de las entradas y salidas ) CLK 70
Reset 70
Metodología de diseño. Ejemplo # 1.
Vcc
VCC 12V
Vcc
Paso # 1,
RL1
R2
Entender
DIODE
47k
Motor
R1 47k
el
RLY-SPNO
D1
TP TA
Sistema
M
R3
Q1 NPN
Problema (completar las especif icaciones del
CLK Reset
problema .) 71
TP y TA activas 0 M ON 1 R t ti 0
Metodología de diseño. TP
Ejemplo # 1.
M
TA Sistema ON 1
Paso # 1,
activas 0
Entender
CLK
el Problema (forma de onda) 72
Reset
Metodología de diseño. Paso # 2.
Modelación del problema en una FSM a) Diagrama de estados.
b) Tabla de estados
73
Paso # 2a. Diagrama de estados Los arcos alrededor de los estados están asociados a las variables de entradas. En
un
mismo
estado,
NO
pueden haber dos arcos con la
TA=x TA=1 TP=0 TP=1 S0 OFF
misma combinación de variable
RESET=0 TA=0 TP=1
de entrada. Cada salto desde un mismo
S1 ON
estado especifica que pasa con cada posible combinación en las variables de entrada. Si
TA=x
TA=x TP=1
74
nada pasa el arco retorna al mismo estado
Paso # 2b. Tabla de estados / salida TA=x TA=1 TP=0 TP=1 S0 OFF
RESET TA=0 TP=1
TA=x TP=0
S1 ON
TA=x TP=1
Estado Futuro Estado Salid Q* a Presente TA,TP M Q 00 01 11 10 S0
S1
S0 S1 S0 S0 OFF 75
S0 S1 S1 S0
ON
Paso # 3. Minimizar estados (eliminar estados equivalentes) Estado Presente Q
Estado Futuro Q* TA,TP 00 01 11 10
Salid a M
S0
S0 S1 S0 S0
OFF
S1
S0 S1 S1 S0
ON
Dos estados son equivalentes si: Deben producir la misma salida.. Para cada combinación en las entradas deben tener el mismo estado futuro • •
76
Paso # 4. Selección de la cantidad de Flip – Flops y Asignación de estados
2 estados =>1 FF.
Total de estados = 2N Donde N = Cantidad de FF
Asignación binaria
Estado
Asignación
S0 S1
0 1
Decisión de diseñador 77
Metodología de diseño. Una vez as ig n ad o u n c ód ig o a lo s es tad o s , el resto del proceso de diseño es más o menos mecánico. Se sustituye en la tabla de estados los
nombres de los estados por sus códigos y esto da lugar a la tab la d e tr an s ic ión . 78
Paso # 5.
Su stitu ir la c om b in ac ión d e las v ariab les d e es tad os
en la tab la d e es tad o s / s alid as , p ara o b ten er la Tab la d e Tr an s i c i ón / S al id as . Estado Presente Q S0 S1
Estado Futuro Q* Salida TA,TP M 00 01 11 10 S0 S1 S0 S0 S0 S1 S1 S0
Estado Asignación S0
0
S1
1
OFF ON
Estado Futuro Estado Q* Presente TA,TP Q 00 01 11 10
Salid a M
0
0
1
0
0
0
1
0
1
1
0
1
79
Paso # 6. Selección del tipo de Flip - Flop En este caso seleccionaremos Flip Flop tipo D Tabla característica
D
Q*
0
0
1
1
Ecuación característica
Q*=D
80
Paso # 7. Tabla de Excitación / Salida Estado Presente Q
excitación
4
7474 2 3
D
S
U1:A Q
5
CLK R
Q
6
1
Ecuación característica FF D:
Q* = D
Estado Futuro Q* Salida TA,TP M 00 01 11 10
0
0
1
0 0
0
1
0
1
1 0
1
Excitación Estado Salid D Presente a TA,TP Q M 00 01 11 10 0
1
81
0
1
0
0
0
0
1
1
0
1
Paso # 8. Obtención de las ecuaciones de excitación (D) Estado Futuro Estado Salid D a Presente TA,TP M Q 00 01 11 10 0
0
1
0
0
0
1
0
1
1
0
1
TA,TP Q
00 01 11 10
0
0
1
0
0
1
0
1
1
0
D = TP /TA + Q TP •
82
•
Paso # 9. Obtención de la ecuación de la salida (M) Estado Futuro Estado Salid D a Presente TA,TP M Q 00 01 11 10 0
0
1
0
0
0
1
0
1
1
0
1
TA,TP Q
83
00 01 11 10
0
0
0
0
0
1
1
1
1
1
M=Q
Paso # 10. Dibujo del circuito Vcc
Vcc
Vcc
U2:B
Vcc
4 6
R2
R1
10k
10k
5
TP
U2:C 10
7400
8 9
U2:A
U2:D
2
7400
1
13
3 11
3
2 U1:A(CLK)
12
TA
oscilador
7400
U1:A
4
7400
D
S
Q
R
Q
6
7474
C1 10uF
•
84
R3
CLK
D = /TA TP + Q TP M=Q
M
10k
1
•
5
2 CI
Conclusiones
Los sistemas secuenciales se representan gráficamente mediante diagramas de estados 2 tipos de autómatas secuenciales: Autómatas
de Mealy: salida asociada a la transición Autómatas de Moore: salida asociada al estado
Análisis de Sistemas Secuenciales
Obtener el DTE a partir del circuito
Síntesis de Sistemas Secuenciales
Diseñar el circuito secuencial que verifica unas determinadas especificaciones Problema: la obtención del diagrama de estados depende de la experiencia del diseñador