Upload
ivanna-lemus
View
79
Download
3
Embed Size (px)
Citation preview
4.4 Multivibrabadores
CIRCUITO MULTIVIBRADORES
Un multivibrador es un circuito que tiene dos estados
independientes, uno con una salida alta y otro con una
salida baja. Los dos estados de un circuito multivibrador se
producen retroalimentando la salida a la entrada, haciendo
por tanto que la salida quede afectada por sí misma.
MULTIVIBRADORES ASTABLES
Presentan dos estados semiestables. No requiere de
una excitación externa para el cambio de estado
En electrónica, un astable es un multivibrador que no
tiene ningún estado estable, lo que significa que posee dos
estados "cuasi-estables" entre los que conmuta,
permaneciendo en cada uno de ellos un tiempo
determinado. La frecuencia de conmutación depende, en
general, de la carga y descarga de condensadores.
Entre sus múltiples aplicaciones se cuentan la
generación de ondas periódicas (generador de reloj) y de
trenes de impulsos.
En la Figura 1 se muestra el esquema de un
multivibrador astable realizado con componentes discretos.
El funcionamiento de este circuito es el siguiente:
Al aplicar la tensión de alimentación (Vcc), los
dos transistores iniciaran la conducción, ya que sus bases
reciben un potencial positivo a través de las resistencias R-
2 y R-3, pero como los transistores no serán exactamente
idénticos, por el propio proceso de fabricación y el grado de
impurezas del material semiconductor, uno conducirá antes
o más rápido que el otro.
Supongamos que es TR-1 el que conduce primero. En
estas condiciones el voltaje en su colector estará próximo a
0 voltios, por lo que el C-1 comenzará a cargarse a través
de R-2. Cuando el voltaje en C-1 alcance los 0,6 V, TR-2
comenzará a conducir, pasando la salida a nivel bajo
(tensión próxima a 0V).
C-2, que se había cargado vía R-4 y unión base-
emisor de TR-1, se descargará ahora provocando el
bloqueo de TR-1.
C-2 comienza a cargarse vía R-3 y al alcanzar la tensión de
0,6 V provocará nuevamente la conducción de TR-1, la
descarga de C-1, el bloqueo de TR-2 y el pase a nivel alto
(tensión próxima a Vcc (+) de la salida Y).
A partir de aquí la secuencia se repite indefinidamente,
dependiendo los tiempos de conducción y bloqueo de cada
transistor de las relaciones R-2/C-1 y R-3/C-2. Estos
tiempos no son necesariamente iguales, por lo que pueden
obtenerse distintos ciclos de trabajo actuando sobre los
valores de dichos componentes.
MULTIVIBRADORES MONOESTABLES:
Presentan un estado estable y uno semiestable.
Requiere de una excitación externa para el cambio de
estado.
Un multivibrador monoestable, a veces es llamado
circuito de "un disparo" produce un solo pulso de una
duración fija después de recibir un pulso de disparo en la
entrada. Como implica su nombre, el multivibrador
monoestable solamente tiene un estado estable de salida
auto sustentado.
El otro estado de salida es introducido
momentáneamente mientras se produce el pulso, y
únicamente después que la señal de entrada haya sido
recibida. La duración del pulso de salida está determinada
únicamente por las características del multivibrador y no
está afectada por la duración del pulso de entrada.
Después de producir su pulso de salida, el multivibrador
monoestable se reinicia a si mismo y se prepara para
recibir otro disparo de entrada. Un multivibrador
monoestable se forma conectando dos compuertas NOR
con un circuito RC simple.
TIMER 555
El timer 555 es un circuito integrado, el cual es usado
como un multivibrador o controlador de voltaje oscilatorio.
Este circuito consiste básicamente en dos
comparadores, resistencia divisora de voltaje, un flip flop y
descarga al transmisor, estos dos estados dividen de
quien los pueda manejar un alto voltaje o bajo voltaje. El
estado de salida puede ser controlado por sus
propiedades en señal de entrada y reloj controlador de
los elementos que contienen a este.
SISTEMAS SECUENCIALES SÍNCRONOS
∙ 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 se llega un pulso del reloj..
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.
ANÁLISIS DE CIRCUITOS SECUENCIALES
SÍNCRONOS
El análisis consiste en obtener una tabla de estados (o
tabla de transición) y/o un diagrama de flujo, de las
secuencias de tiempo de las entradas, salidas y estados
internos del sistema secuencial. También es posible
escribir expresiones booleanas que describan su
comportamiento.
La tabla consta de 4 secciones principales: entrada,
estado presente, estado futuro y salida. En la sección
estado presente se indica los estados de los FF antes de la
ocurrencia del pulso de reloj bajo las condiciones de
entrada indicadas. En la sección estado siguiente se
muestra el estado de los FF después del pulso. Y la
sección de salida muestra los valores de las variables de
salida durante el estado presente.
El comportamiento de los circuitos secuenciales se
determina de las entradas, las salidas y los estados delos
Flip-Flops. Ambas salidas y el estado siguiente son una
función de las entradas y del estado presente. El análisis
de los circuitos secuenciales consiste en obtener una tabla
o un diagrama de la secuencia de tiempos de las entradas,
salidas y estados internos. Es posible escribir expresiones
booleanas que describan el comportamiento de los circuitos
secuenciales. Sin embargo, estas expresiones deben incluir
la secuencia de tiempos necesaria directa o indirectamente.
Un diagrama lógico secuencial se reconoce como un
circuito si éste incluye Flip-Flops. Los FF pueden ser de
cualquier tipo y el diagrama lógico puede o no incluir
compuertas combinacionales. Muchos circuitos lógicos
contienen Flip-Flops y compuertas lógicas que se conectan
para realizar una operación específica. Con frecuencia se
usa una señal de reloj primaria para ocasionar que los
niveles lógicos del circuito pasen a través de una
determinada secuencia de estados. En términos generales,
los circuitos secuenciales se analizan siguiendo el
procedimiento que se describe a continuación
Pasos para el análisis
1. Examinar el diagrama del circuito y buscar
estructuras como contadores o registros de corrimiento
para su simplificación.
2. Determinar los niveles lógicos que estén presentes
en las entradas de cada Flip-Flop antes de la incidencia del
primer pulso del reloj.
3. Utilizar estos niveles para determinar la forma en
que cada multivibrador cambiará en respuesta al primer
pulso de reloj.
4. Repetir los pasos 2 y 3 para cada pulso sucesivo de
reloj.
DISEÑO DE CIRCUITOS SECUENCIALES
SÍNCRONOS CON F-F
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 biestable (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
Modelo de Moore.- Un modelo más completo de lo
que puede ser un circuito secuencial es el denominado
Modelo de Moore consiste en dos bloques (circuitos) de
lógica combinacional mas un bloque de memoria
La lógica de estado siguiente que define la
manera de generar las variables de estado a partir de
las entradas
La Lógica de salida que define la manera en
que se obtienen las salidas del circuito a partir de las
variables de estado
Este modelo tiene la particularidad de que las salidas
sólo son función de las variables de estado, es decir, del
estado presente. Por ello, cuando en un circuito, las salidas
solo dependen de las variables de estado, se les llama
Salidas tipo Moore.
Modelo de Mealy.- En un modelo más completo, las
salidas en instantes anteriores están expresadas por un
conjunto de variables de estado, de manera que las
salidas actuales dependen tanto de las entradas como de
las variables de estado las cuales son guardadas en
dispositivos de memoria. Este es el modelo más completo
de un circuito secuencial y se denomina Modelo de Mealy.
TABLA DE ESTADO O TABLA CARACTERÍSTICA
Esta es otra manera de organizar en forma de tabla el
comportamiento del circuito secuencial, Se trata
básicamente de la misma tabla de funcionamiento ya
descrita, salvo que ahora no se introduce ninguna variable
de manera que el estado presente (Qo) se trata como si
fuera otra entrada. Para el ejemplo del
FF-SR tendremos
Estado Estado
presente Q0
Entrada
s en Tn
S
R
Estado
siguiente Q*
A 0 0
0
0
A 0 0
1
0
A 0 1
0
1
A 0 1 No
1 valida
B 1 0
0
1
B 1 0
1
0
B 1 1
0
1
B 1 1
1
No
valida
DIAGRAMA DE ESTADO CLÁSICO
La misma información especificada por la tabla de
funcionamiento puede ser representada de varias maneras
diferentes, por ejemplo, el siguiente diagrama es una
alternativa gráfica que tiene la particularidad de enfatizar el
número y nombre de los estados del circuito, por ello se le
llama diagrama de estado o de estado clásico. Así, para el
FF-SR:
Un ejemplo de una tabla de transición de estados para
una máquina M junto con el correspondiente diagrama de
estados está dado abajo.
Tabla de Transición de
Estados
Entrada
Estado
1 0
S1
S
1
S
2
S2
S
2
S
1
Obsérvese que el diagrama de estado clásico incluye
información separada de la siguiente manera:
- Nombres simbólicos dados a los estados (opcional)
- Nombres y valores que las variables de estado
toman en cada estado.
- Nombres y valores de las variables de entrada
- Transiciones posibles de un estado a otro y
condiciones (sobre las variables de entrada) para producir
dicha transición.
- En algunas variantes de diagrama de estado se
incluye también información sobre las variables de salida
que no se muestran en el ejemplo, dado que para el FF-SR
la variable de estado Q coincide con la variable de salida.
ECUACIONES DE ESTADOS
Un circuito secuencial queda completamente
determinado si en cada estado presente en que se
encuentre se conoce.
1. Los valores de las señales de salida del circuito y
2. El estado siguiente al cual pasa el circuito cuando
ocurra un pulso de reloj.
Como el estado del circuito secuencial es el conjunto
de estados de los flip-flops individuales, para conocer el
estado siguiente del circuito se debe conocer el estado
siguiente de cada uno de los flip-flops.
Una ecuación de estado es una expresión algebraica
que proporciona el estado siguiente de un flip-flop particular
en función del estado presente en un circuito secuencial y
de los valores que tengan las señales de entrada al mismo.
El lado izquierdo de la ecuación denota el estado
siguiente y el lado derecho es una función de Boole que
evaluada produce el valor del estado siguiente del flip-flop.
Por ejemplo, la ecuación de estado A(t+1) = x´A´B +
xA´B´ es la ecuación de estado del flip-flop A de un circuito
secuencial con dos flip-flops A y B y una sola señal de
entrada: x.
La ecuación anterior nos dice que el estado siguiente
del flip-flop A, A(t+1), es 1 si:
1. el estado presente en el circuito es el estado 01 y
x=0, ó
2. el estado presente en el circuito es el estado 00 y
x=1.
En cualquier otra condición, el estado siguiente del
flip-flop A será el estado 0.
ECUACIONES DE ENTRADA DE LOS FLIPFLOP
ECUACIONES DE SALIDA DEL SISTEMA
TABLA DE EXCITACIÓN
La información que guarda el diagrama de estado
clásico se puede representar en forma de tabla colocando
todas las transiciones posibles de un estado a otro como
variables independientes de la tabla y las entradas como
variables dependientes, es decir, se genera un renglón de
la tabla por cada transición y anotando los valores
necesarios de las entradas para producir dicha transición.
Así, para el ejemplo del FF-SR se obtiene
Transacciones
posibles
Q0 Q*
Entradas que
producen la transacción
S R
0 0 0 *
0 1 1 0
1 0 0 1
1 1 0
DIAGRAMAS DE TIEMPO
Los diagramas de tiempo son representaciones
gráficas de la evolución de los valores que toman las
variables de interés en un circuito digital, de la manera
como se podrían ver en la pantalla de un osciloscopio.
Los diagramas de tiempo no son una herramienta
propia de los circuitos secuenciales, ya que estos también
son útiles para circuitos combinacionales como se ilustró en
los capítulos anteriores, sin embargo, en el caso de los
circuitos secuenciales, la información de tiempo es más
crucial por esto los diagramas de tiempo cobran una mayor
importancia que en el caso combinacional.
Es importante mencionar que estos diagramas no son
únicos para un circuito dado, de hecho, pueden poseer
información incompleta o en ocasiones redundante
ASIGNACION Y REDUCCCION DE ESTADOS
Estados equivalentes.
Dos máquinas secuenciales son equivalentes si la
relación entre la entrada y la salida son idénticas para
todas las posibles secuencias de entrada.
Un diseño en particular puede ser representado por
varios diagramas de estado equivalentes. Los costos de
implementación pueden ser diferentes; en general los
diagramas que tengan más estados requieren más
elementos de memoria y por lo tanto también necesitan
más redes combinacionales para determinar el próximo
estado.
Dos estados son equivalentes si no puede distinguirse
entre ellos. Esto implica que si se aplica cualquier
secuencia de entrada, a partir de esos estados, se
observan iguales secuencias de salida.
Puede determinarse, por inspección, que dos estados
son equivalentes si tienen iguales renglones en la matriz de
transiciones. Es decir, para iguales entradas van a iguales
estados próximos o futuros, con salidas iguales.
Uno de estos estados puede removerse sin alterar la
conducta de la máquina. Esto se logra modificando la tabla
de modo que no se invoque el estado eliminado sino a su
equivalente.
La reducción de estados puede disminuir el número de
flip-flops necesarios y a la vez puede introducir más estado
superfluos, lo cual simplifica el diseño combinacional para
determinar el próximo estado. Una lógica más simple
implica, en general, menor complejidad de conexiones y
menores tiempos de propagación.
Estrategias de asignación.
Si la codificación conduce a un mínimo número de flip-
flops las funciones combinacionales de próximo estado
resultan complejas. Esta asignación resulta adecuada
cuando la implementación se realiza mediante CPLD.
La codificación one-hot emplea un flip-flop por estado,
de este modo el diseño de las funciones combinacionales
de próximo estado resultan más sencillas. Esta forma de
codificación presenta ventajas cuando se implementa en
FPGA, dispositivos que tienen bastantes flip-flops y
generadores de funciones de ancho limitado. Por ejemplo
para tres estados, los códigos binarios serían: 001, 010,
100.
En la codificación de contadores, pueden asociarse
los estados a las salidas del dispositivo, haciendo
innecesarias las redes combinacionales de salida.
Debido a que no existen algoritmos polinomiales para
enfrentar este problema se han desarrollado algunas
heurísticas.
Reglas para la asignación de Estados.
La forma tradicional de enfrentar el problema de la
codificación binaria de estados es la aplicación de reglas
para efectuar la asignación. Estas reglas o heurísticas son
las siguientes:
Regla de Alta prioridad:
Estados que tienen iguales estados próximos, para
una entrada dada, se los debe asignar como lógicamente
adyacentes.
Fundamentación de la regla: Las funciones de Estado
Próximo pueden simplificarse al disminuir la distancia entre
Si y Sj. De este modo aumentan las adyacencias de los min
términos de los unos de S.
Regla de Prioridad Media:
Estados próximos de un estado presente, bajo
entradas lógicamente adyacentes (a distancia unitaria), se
los debe asignar como lógicamente adyacentes.
Fundamentación de la regla: Las funciones de Estado
Próximo pueden simplificarse al disminuir la distancia entre
Si y Sj. De este modo aumentan las adyacencias de los
mintérminos de los unos de Si y Sj.
Regla de Baja Prioridad:
Estados con la misma salida para una entrada dada,
se los debe asignar como lógicamente adyacentes.
Fundamentación de la regla: Las funciones de Salida
pueden simplificarse al disminuir la distancia entre Si y Sj.
De este modo aumentan las adyacencias de los
mintérminos de los unos de la salida.
http://prof.usb.ve/gsanchez/Curso_Elec3/
monoestables.html
http://www.usc.edu.co/laboratorios/files/ECUACIONES
%20DE%20ESTADO.pdf
http://www.lci.ulsa.mx/Material/ewb/pdf/ape.pdf
http://www2.elo.utfsm.cl/~lsb/elo211/clases/c12.pdf
http://emp.usb.ve/mrivas/tema_5a.pdf
http://www.ufps.edu.co/materias/uelectro/htdocs/
conte/vhdl/vhdl4.htm
http://sistemas.ing.ula.ve/~wladimir/SistemasLogicos/
SistemasLogicos13.pdf
http://bloganalisis1.files.wordpress.com/2011/01/
apuntesdsd10_mealy_moore.pdf
c.fie.umich.mx/~jrincon/apuntes%20circuitos
%20secuenciales.pdf
CIRCUITOS DE MEALY Y MOORE
Modelos/Maquinas/Autómatas
• Mealy: las salidas están en función de dos, el estado
presente y la entrada.
• Moore: Las salidas están en función del estado
presente solamente.
Mealy:
Dado el estado actual Q. Si llega un valor a la entrada
el circuito de lógica / combinacional
(L/C) calcula el estado siguiente y la salida.
Cuando llega un pulso de reloj, se captura el nuevo
estado.
Defecto: Con el pulso de reloj se captura el nuevo
estado y el L/C recalcula otro estado y una nueva salida
MOORE
Los estados de los circuitos son también las salidas
del mismo.
Es muy usado para generar secuencias de conteo ya
que requiere menos circuitos combinacionales.
En la máquina de Moore, la salida se toma
directamente del registro, por lo que no necesita logica
combinacional para sintetizar la salida.
Autómata Mealy/Moore
• El autómata hibrido Mealy/Moore modela un ente
que va de un estado actual Q a un estado siguiente Q+1.
• Se genera una salida Mealy debido a la transición
entre estados.
• Se genera una salida Moore debido al estado actual
del ente.
La señal de entrada se opera entre transciones de
reloj generándose:
– Tendencia a un nuevo estado
– La salida Mealy.
• Llega salida Mealy:
– Se captura nuevo estado
– Se calcula salida Moore
• Si la entrada oscila la señal oscila.
SISTEMAS SECUENCIALES ASÍNCRONOS,
Actúan de forma continua en el tiempo, un cambio de
las entradas provoca los cambios en las variables internas
sin esperar a la intervención de un reloj. Son sistemas más
difíciles de diseñar.
DISEÑO SECUENCIAL ASÍNCRONO (DSA)
Para diseñar un circuito secuencial asíncrono existe
una característica fundamental: Las entradas jamás pueden
ser simultáneas. Su estructura general se expresa a través
de este diagrama de bloques:
En este caso, se puede definir las señales presentes
como:
LCS: Lógica Combinacional de Salida
LCE: Lógica Combinacional de Excitación (Produce los
estados internos)
ES: Estado Siguiente
EP: Estado Presente
La construcción de un dispositivo de memoria se
puede realizar a través de RETROALIMENTACIÓN
DIRECTA o con LATCH (CERROJO). Con el primero se
tiene dos estados que corresponden a:
Zm = F(Xn, Yk) ESTADO DE SALIDA y,
Yk = G(Xn, Yk) ESTADO DE EXCITACIÓN
Un estado es la representación estable de un circuito
secuencial. La representación de un estado es la siguiente:
Aquí quedan definidas las partes que se incluyen en
un diagrama de estados. X1 y X2 son las entradas al
sistema, dependiendo de los valores que puedan tomar, se
cambiará de estado o permanecerá en el mismo. Q es la
salida del sistema, se puede dar en la transición o en en el
estado, según si la máquina de estado
es MEALY o MOORE respectivamente.
Para hacer un diseño de estas características se debe
tener en cuenta los siguientes pasos:
1. Condiciones del diseño
Establece cómo debe operar la máquina que se va
diseñar, el comportamiento de la(s) salida(s) según varíen
la(s) entrada(s). Puede valerse de un diagrama de tiempos.
Ejemplo:
Para un Flip Flop tipo D, las señales de entrada -
salida deben operar así:
Las entradas son Q y C, y la salida es Q. Q = D
cuando C pasa de 0 a 1
2. Diagrama de estados
Especifica gráficamente, con la representación
pactada para estados, el funcionamiento del diseño.
Para el ejemplo del FF tipo D, resultan 8 estados
relacionados así:
3. Matriz de Flujo Primitiva
. Matriz de Flujo Primitiva
Consiste en ubicar en las columnas las diferentes
combinaciones de las entradas y en las filas los estados.
En una fila sólo habrá un estado estable (un estado estable
es aquel en el cual una salida entra al mismo estado. Las
columnas pueden tener más de un estado pero sus salidas
deben ser complementarias.
4.
4.1 Simplificación de Tabla Primitiva
Los estados compatibles son aquellos en los que
todas las combinaciones de entrada van a los mismos
estados con idénticas salidas o a estados compatibles.
a y b = Sí son estados compatibles a y c = Sí son
estados compatibles
b y d = Sí son estados compatibles e y f = Sí son estados
compatibles
e y g = Sí son estados compatibles f y g = Sí son estados
compatibles
f y h = Sí son estados compatibles
4.2 Diagrama de Fusión
Uniendo los estados que son compatibles en un nuevo
gráfico, se determina el diagrama de fusión. Cuando se
forma un triángulo, se toma los tres estados y se les asigna
una nueva variable.
El triángulo formado por A B D se le asigna el
nombre i
El estado C pasa a ser j
El trángulo formado por E F G se le asigna el nombre k
El estado H pasa a ser l
4.3 Matriz de Fusión
Se repite el proceso de matriz para luego hacer una
conversión.
E
P\DC
0
0
0
1
1
1
1
0
ii
, 0
i
, 0
i
, 0
j
, _
ji
, _
-
---
k
, _
j
, 0
k l k k k
, _ , 1 , 1 , 1
ll
, 0
i
, _
-
------
k
, _
5. Conversión de las Variables de Estado a Binario
La conversión se realiza para crear un nuevo
diagrama de estados.
De aquí en adelante, se puede optar por dos
opciones: hacer el análisis para obtener la circuitería lógica
de manera física o hacer el diseño en VHDL. Pues, en este
caso, se optará por VHDL.
Este diseño podría ser de la siguiente manera
library ieee;
use ieee.std_logic_1164.all;
entity fftipod is
port (
D : in bit;
C : in bit;
Q : out bit
);
end fftipod;
architecture gabriel of fftipod is
type STATE_TYPE is (g0, g1, g2, g3);
signal state : STATE_TYPE;
begin
process
begin
case state is
when g0=>
if ((D = '0' and C = '0') or (D = '0' and C = '1') or (D = '1' and
C = '1')) then
state <= g0;
elsif (D = '1' and C = '0') then
state <= g1;
end if;
when g1=>
if (D = '1' and C = '0') then
state <= g1;
elsif (D = '0' and C = '0') then
state <= g0;
elsif (D = '1' and C = '1') then
state <= g2;
end if;
when g2=>
if ((D = '1' and C = '0') or (D = '1' and C = '1') or (D = '0' and
C = '1')) then
state <= g2;
elsif (D = '0' and C = '0') then
state <= g3;
end if;
when g3=>
if (D = '0' and C = '0') then
state <= g3;
elsif (D = '0' and C = '1') then
state <= g0;
elsif (D = '1' and C = '0') then
state <= g2;
end if;
end case;
end process;
Q <= '0' when state = g0 or state = g1 else '1' when state =
g2 or state = g3;
end gabriel; >
Lo que da como resultado: