sistemas digitales trabajo 4

34
Universidad Nacional Experimental Politécnica “Antonio José de sucre” Vicerrectorado Luis Caballero Mejías Laboratorio de Convertidores Eléctricos Sistemas Digitales Trabajo 4º Fukushima Mitsuo Exp. 200420565 Caracas, 13 de Noviembre de 2013

Post on 26-Dec-2015

73 views

Category:

Documents


5 download

DESCRIPTION

Sistemas Digitales I Trabajo 4

TRANSCRIPT

Page 1: Sistemas Digitales Trabajo 4

Universidad Nacional Experimental Politécnica “Antonio José de sucre”

Vicerrectorado Luis Caballero Mejías Laboratorio de Convertidores Eléctricos

Sistemas Digitales

Trabajo 4º

Fukushima Mitsuo Exp. 200420565

Caracas, 13 de Noviembre de 2013

Page 2: Sistemas Digitales Trabajo 4

INDICE

- Maquinas Secuenciales

- Diagramas de estado

- Detección por secuencia.

- Método de un Flip-Flop por estado

- Diseño de máquinas Secuenciales con el modelo y un Flip-flop por estado.

- Diseño de máquinas secuenciales con el modelo de Moore y un Flip-flop por estado.

Page 3: Sistemas Digitales Trabajo 4

CIRCUITOS SECUENCIALES PARA EL DISEÑO DE CONTADORES.

En esta sección veremos cómo pueden aplicarse técnicas de diseño de circuitos secuenciales

específicamente al diseño de contadores. En general, los circuitos secuenciales pueden clasificarse en

dos tipos; (1) aquellos en los que la salida o salidas depende únicamente del estado interno actual

(denominados circuitos de Moore) y (2) aquellos en los que la salida o salidas depende tanto del estado

actual como de la entrada o entradas (denominados circuitos de Mealy).

ANALISIS DE MAQUINAS DE ESTADO SINCRONAS

- Máquina de estados: Nombre genérico para un circuito secuencial con

realimentación.

- Síncrona: Todos los elementos de almacenamiento responden a la misma señal de

reloj.

- Los cambios de estado solo ocurren en los flancos de reloj.

MODELOS MEALY Y MOORE.

El modelo más general de un circuito secuencial tiene entradas, salidas y estados internos. Se

acostumbra distinguir entre dos modelos de circuitos secuenciales: el modelo Mealy y el modelo Moore.

Difieren en la forma en que se genera la salida. En el modelo Mealy, la salida es función tanto del estado

actual como de la entrada. En el modelo Moore, la salida solo es función del estado actual. Al tratar los

dos modelos, algunos libros y otras fuentes técnicas ven el circuito secuencial como una máquina de

estados finitos (FSM, finite state machine). El modelo Mealy de un circuito secuencial es una FSM Mealy

o maquina Mealy. El modelo Moore es una FSM Moore o maquina Moore.

ESTRUCTURA DE UNA MAQUINA DE ESTADOS

MAQUINA MEALY

Page 4: Sistemas Digitales Trabajo 4

MAQUINA MOORE

ECUACIONES CARACTERISTICAS

Usadas para describir formalmente el comportamiento de los circuitos secuenciales.

denota el próximo valor de . Por ejemplo, para un Flip-flop D: .

MODELO GENERAL DE UN CIRCUITO SECUENCIAL O MAQUINAS DE ESTADOS.

Antes de exponer una técnica de diseño de contadores específica, vamos a comenzar con una

definición general de circuitos secuencial o de máquina de estados: un circuito secuencial está formado

por una etapa lógica combinacional y una sección de memoria (Flip-flop), como se muestra en la Figura

1.0. En un circuito secuencial sincronizado, hay una entrada de reloj en la etapa de memoria, tal como se

indica.

Figura 1.0 Circuito secuencial general sincronizado.

Para el correcto funcionamiento del circuito se requiere la información almacenada en la tapa

de memoria, así como las entradas de la lógica combinacional . En cualquier instante de

Page 5: Sistemas Digitales Trabajo 4

tiempo, la memoria se encuentra en un estado denominado estado actual y avanza al estado siguiente

con un impulso de reloj, determinado por las condiciones de las líneas de excitación El

estado actual de la memoria se representa por las variables de estado Estas

variables de estado, junto con las entradas determinan las salidas del sistema

No todos los circuitos secuenciales tienen variables de entrada y salida como en el modelo

general que se acaba de presentar. Sin embargo, todos tienen variables de excitación y variables de

estado. Los contadores son un caso particular de los circuitos secuenciales sincronizados. En esta sección

se aplica un procedimiento de diseño general de los circuitos secuenciales a los contadores síncronos a

través de una serie de pasos.

PASOS

1- Diagrama de estados El primer paso en el diseño de un contador consiste en crear un

diagrama de estado. Un diagrama de estado muestra la progresión de estados por los que el

contador avanza cuando se aplica una señal de reloj. Como ejemplo, en la Figura 1.1, se

muestra un diagrama de estados de un contador básico en código Gray de 3 bits. Este

circuito particular no tiene ninguna entrada aparte de la de reloj, y ninguna otra salida más

que las de que se toman en cada Flip-flop del contador.

FIGURA 1.1 Diagrama de estados para un contador en código Gray de 3 bits.

2- Tabla de estado siguiente. Una vez que se define el circuito secuencial mediante un

diagrama de estados, el segundo paso consiste en obtener una tabla del estado siguiente,

que enumera cada estado del contador (estado actual) junto con el correspondiente estado

siguiente. El estado siguiente es el estado al que el contador pasa desde su estado actual, al

aplicar un impulso de reloj. La tabla de estado siguiente se obtiene a partir del diagrama de

estados, y se muestra en la siguiente tabla. es el bit menos significativo.

Page 6: Sistemas Digitales Trabajo 4

TABLA 1.0 Tabla de estado siguiente para el contador en código Gray de 3 bits.

3- Tabla de transiciones de los Flip-flop La tabla 1.1 es una tabla de transiciones del

Flip-flop J-K. Se enumeran todas las posibles transiciones de salida, mostrando cómo

evoluciona la salida del Flip-flop al pasar de los estados actuales a los estados siguientes.

es el estado presente en el Flip-flop (antes de un impulso de reloj) y es el estado

siguiente (después de un impulso de reloj). Para cada transición de salida, se indican las

entradas J y K que dan lugar a la transición. Las “X” indican condiciones indiferentes (la

entrada puede ser un 1 o un 0). Al diseñar el contador, se aplica la tabla de transiciones

a cada Flip-flop del contador, la cual está basada en la tabla de estado siguiente (tabla 1.0).

Por ejemplo, para el estado actual 000, pasa del estado actual 0 al estado siguiente 1.

Para que esto ocurra, tiene que ser 1 y es indiferente el valor que tome

como se indica en la tabla de transiciones (Tabla 1.1). A continuación,

el estado actual de es 0 y permanece en 0 en el estado siguiente. Para esta transición,

Por último, el estado actual de es 0 y permanece en 0 en el estado

siguiente. Por tanto, . Este análisis se repite para cada estado actual

definido en la tabla 1.0

TABLA 1.1 Tabla de transiciones para un Flip-flop J-K.

Page 7: Sistemas Digitales Trabajo 4

4- Mapas de Karnaugh Los mapas de Karnaugh se utilizan para determinar la

lógica requerida para las entradas J y K de cada Flip-flop de contador. Se debe utilizar un

mapa de Karnaugh para la entrada J y otro para la entrada K de cada Flip-flop. En este

procedimiento de diseño, cada celda del mapa de Karnaugh representa uno de los estados

actuales de la secuencia del contador enumerados en la Tabla 1.0.

A partir de los estados J y K de la tabla de transiciones (tabla 1.1) se introduce un 1, un 0 o

una X en cada celda de la tabla correspondiente al estado actual, dependiendo de la

transición de la salida Q de cada Flip-flop en particular. Para ilustrar este procedimiento, se

muestra en la Figura 1.2 dos valores de entrada de ejemplo para las entradas del

Flip-flop menos significativo

Los mapas de Karnaugh completos de los tres Flip-flop del contador se muestran en la Figura

1.3. Las celdas se agrupan tal como se indica, obteniéndose las expresiones booleanas

correspondientes para cada grupo.

5- Expresiones lógicas para las entradas de los Flip-flop A partir de los mapas de

Karnaugh de la Figura 1.3 se obtienen las siguientes expresiones para las entradas J y K de

cada Flip-flop:

FIGURA 1.2 Ejemplos del procedimiento de utilización de mapas de Karnaugh para la secuencia de

contador representada de las Tablas 1.0 y 1.1

Page 8: Sistemas Digitales Trabajo 4

6- Implementación del contador. El paso final consiste es implementar la lógica

combinacional a partir de las expresiones de las entradas J y K, y conectar los Flip-flop para

conseguir un contador en código Gray de 3 bits, como se muestra en la Figura 1.4.

A continuación, se expone un resumen de los pasos dados en el diseño de este contador. En

general, estos pasos se pueden aplicar a cualquier circuito secuencial.

a- Especificar la secuencia del contador y dibujar un diagrama de estados.

b- Obtener la tabla del estado siguiente a partir del diagrama de estados.

FIGURA 1.3 Mapas de Karnaugh para las entradas J y K del estado actual.

FIGURA 1.4 Contador en código de Gray de 3 bits.

c- Desarrollar una tabla de transiciones que muestre las entradas del Flip-flop requeridas

para cada transición. La tabla de transiciones es siempre la misma para cada tipo de Flip-

flop.

d- Transferir los estados J y K de la tabla de transiciones al mapa de Karnaugh. Utilizar un

mapa de Karnaugh para cada entrada de cada Flip-flop.

e- Formar los términos productos a partir de los mapas para generar unas expresiones

lógica, para cada entrada de los Flip-flop.

Page 9: Sistemas Digitales Trabajo 4

f- Implementar las expresiones con lógica combinacional y conectarla a los Flip-flop para

crear el contador.

MÉTODO DE UN FLIP-FLOP POR ESTADO

Este método usa un Flip-flop por estado en el circuito secuencial de control. Solamente se pone

a uno un Flip-flop en un tiempo dado, los demás se ponen a cero. Se hace programar un solo bit de un

Flip-flop a otro bajo el control de la 1ógica de decisión. En tal arreglo cada Flip-flop representa un estado

y se activa solamente cuando el bit de control se transfiere a éste.

Es obvio que este método no usa un número mínimo de Flip-flop para el circuito secuencial. De

hecho, éste usa un número máximo de Flip-flop. Por ejemplo un circuito secuencial con 12 estados

requiere un mínimo de cuatro Flip-flop porque 23 <12 < 24. Aun por medio de este método el circuito de

control usa 12 Flip-flop para cada estado.

La ventaja de un Flip-flop por método de estado es la simplicidad con la cual se diseña. Este tipo

de controlador puede diseñarse por inspección a partir de un diagrama de estado que describe la

secuencia de control. A primera vista, parece que este método aumentará el costo del sistema ya que se

necesita un mayor número de Flip-flop, pero, este método ofrece otras ventajas que no son aparentes a

primera vista. Por ejemplo, éste ofrece un ahorro de esfuerzos en el diseño, un aumento en la

simplicidad operacional y una disminución potencial en los circuitos combinacionales requeridos para

configurar el circuito secuencial completo.

La Figura 1.5 muestra la configuración de una 1ógica de control secuencial de cuatro estados,

que usa cuatro Flip-flop tipo D: un Flip-flop por estado Ti, i = 0, 1, 2, 3. En cualquier intervalo de tiempo

dado entre dos pulsos de reloj solamente un Flip-flop es igual a 1, el resto será igual a 0. La transición del

estado presente al siguiente es una función del presente Ti que es 1 y de ciertas condiciones de entrada.

El siguiente estado se manifiesta cuando el Flip-flop anterior se borra y el nuevo se pone a uno. Cada

una de las salidas del Flip-flop se conecta a la sección de procesamiento de datos del sistema digital para

iniciar ciertos micro operaciones. Las otras salidas de control mostradas en el diagrama son una función

de las T y de las entradas externas. Estas salidas pueden también iniciar micro operaciones.

Si el circuito de control no necesita entradas externas para su cadencia, el circuito se reduce a

un circuito de desplazamiento simple con un solo bit que se desplaza de una posición a la siguiente. Si la

secuencia de control debe repetirse una y otra vez, el control se reduce a un contador de anillo. Un

contador de anillo es un registro de desplazamiento con la salida del ú1timo Flip-flop conectado a la

entrada del primer Flip-flop. En un contador de anillo el solo bit se desplaza continuamente de una

posición a la siguiente de una manera circular. Por esta razón el método de un Flip-flop por estado se

llama algunas veces un controlador del contador de anillo.

Page 10: Sistemas Digitales Trabajo 4

Figura 1.5 Lógica de control con un Flip-flop por estado

Page 11: Sistemas Digitales Trabajo 4

EJERCICIOS__

DISEÑO DE MAQUINAS SECUENCIALES CON MODELO DE MEALY Y UN FLIP-FLOP POR ESTADO.

1- Obtener el diagrama de estados de un sistema secuencial sincrónico que es capaz de detectar la

secuencia 110 cada vez que esta se presente. Determinar la secuencia de salida, cuando se

aplica en la entrada la secuencia: 0101011 utilizando el método de Mealy.

Page 12: Sistemas Digitales Trabajo 4

2- Diseñar un contador con dos Flip-flop utilizando el método de mealy, una variable externa S y

una salida Y.

Page 13: Sistemas Digitales Trabajo 4

3- Diseñar una máquina de Mealy en base a un contador ascendente/Descendente de tres bits,

usando el método de la tabla de excitación del contador, que cumpla el Diagrama de estado

adjunto.

Nota: El método de la tabla de excitación del contador pretende reducir al mínimo los errores

en la asignación de las excitaciones en problemas complejos, alterna una visión global de los

cambios requeridos del estado presente al próximo estado y también el número de mapas es

menor por este método que por el de mapa de referencia.

Page 14: Sistemas Digitales Trabajo 4

Obteniendo las funciones de salida por mapas.

Page 15: Sistemas Digitales Trabajo 4
Page 16: Sistemas Digitales Trabajo 4
Page 17: Sistemas Digitales Trabajo 4

Implementando el circuito Lógico.

Diseñando la Maquina de Estados basándose en la tabla #1.

Page 18: Sistemas Digitales Trabajo 4

4- Diseñar un circuito secuencial que reciba una secuencia de 0s y 1s en la entrada X y genere

salida Z=1 cuando los 3 últimos bits de la secuencia sean 101, el circuito no se reinicializa.

Page 19: Sistemas Digitales Trabajo 4
Page 20: Sistemas Digitales Trabajo 4

5- Diseñar un detector de secuencia que reciba como entrada X una secuencia de 0s y 1s y genere

salida Z=1 si la secuencia de entrada es 010 o 1001 utilizando el método de máquina Mealy.

Page 21: Sistemas Digitales Trabajo 4
Page 22: Sistemas Digitales Trabajo 4
Page 23: Sistemas Digitales Trabajo 4

6- Diseñar un detector de secuencias con re inicialización utilizando el método de Mealy, Construir

un circuito secuencial que reciba como entrada X una secuencia de 0s y 1s y genere salida Z=1 si

la secuencia de entrada es 0101 o 1001.

Page 24: Sistemas Digitales Trabajo 4

EJERCICIOS PROPUESTOS

1- Diseñar el sistema de una lavadora utilizando el método de Mealy con las siguientes funciones,

lavado rápido = 1, medio = 2, lento = 3, y que por cada ciclo halla un ciclo para

siendo n la diferencia de tiempo de tardanza.

2- Diseñar un detector de secuencias con re inicialización utilizando el método de Mealy, Construir

un circuito secuencial que reciba como entrada X una secuencia de 0s y 1s y genere salida Z=1 si

la secuencia de entrada es 1111 o 0110.

3- Utilizando el método de Mealy diseñar el sistema de una apertura de una caja fuerte que está

compuesto por dos teclas A, B y C, un circuito secuencial a diseñar y un temporizador que

mantiene la caja fuerte abierta durante 5 minutos cuando recibe un nivel lógico 1 desde el

circuito secuencial. Este temporizador vuelve a cerrar la caja fuerte pasado dicho tiempo,

Page 25: Sistemas Digitales Trabajo 4

independientemente del circuito secuencial, el nivel lógico va a ser 1 para la apertura luego que

se alcanza la secuencia correcta que esta previamente establecido anteriormente por el usuario,

la secuencia de las 3 entradas debe seguir un patrón de 5 dígitos de 3 entradas.

4- Utilizando el método de Mealy se pretende diseñar un sistema secuencial síncrono con dos

entradas E1 y E0, y una salida S usando biestables D, de manera que proporcione salida alta solo

cuando las dos entradas estén a nivel bajo habiendo estado también a nivel bajo ambas

entradas en el ciclo de reloj anterior. Las transiciones se producen en el flanco de bajada del

reloj. En los restantes ciclos de reloj, la salida debe ser baja. Las señales de entrada son

periódicas, con un periodo 5 veces superior al periodo de reloj. Nota: Observar que no se

producen todas las transiciones posibles.

5- Utilizando el método de Mealy se pretende diseñar el sistema e encendido de intermitencia de

un coche. Para ello hay que diseñar un circuito secuencial que cumpla las siguientes

especificaciones, de acuerda con la figura adjunto.

Cuando la palanca se coloque en la posición DERECHA, se deberá encender y apagar de forma

intermitente la luz identificada como D, de forma síncrona con un reloj de 1 Hz. Cuando la

palanca se coloque en la posición IZQUIERDA, se deberá encender y apagar de forma

intermitente la luz identificada como I, de forma síncrona con un reloj de 1 Hz. Cuando la

palanca se coloque en la posición central (APAGADO) no se encenderá ninguna luz.

Cuando se active el interruptor de EMERGENCIA, se activarán ambas luces

simultáneamente, y se desactivarán ambas de forma síncrona con el reloj, independientemente

de la posición de la palanca, es decir, la entrada de emergencia tiene prioridad absoluta.

Page 26: Sistemas Digitales Trabajo 4

DISEÑO DE MAQUINAS SECUENCIALES CON EL MODELO DE MOORE Y UN FLIP-FLOP POR ESTADO.

1- Determinar la secuencia de estado para la siguiente máquina de Moore:

Figura E1.0. Diagrama de estados del ejemplo 1.

Con estado inicial C y secuencia de entrada: {0, 0, 0, 1, 1, 1,….}

Figura E1.1 Secuencia de salida ejemplo E1

Las máquinas de Moore suelen emplearse como reconocedores de secuencias. Es decir,

que entreguen una salida cuando ocurre una determina secuencia en la entrada.

Puede obtener la tabla de transiciones y la tabla con la lógica de salida, a partir del

diagrama de estados:

Tabla de transiciones del ejemplo E1

Page 27: Sistemas Digitales Trabajo 4

2- Obtener el diagrama de estados de un sistema secuencial sincrónico que es capaz de detectar la

secuencia 110 cada vez que esta se presente. Determinar la secuencia de salida, cuando se

aplica en la entrada la secuencia: 0101011 utilizando el método de Moore.

3- Diseñar un contador con 3 Flip-flop utilizando el método de Moore.

Page 28: Sistemas Digitales Trabajo 4

4- Diseñar un contador con Flip-flop y una variable externa utilizando el método de Moore.

5- Diseñar un circuito secuencial que reciba una secuencia de 0s y 1s en la entrada X y genere

salida Z=1 cuando los 3 últimos bits de la secuencia sean 101, el circuito no se reinicializa.

Page 29: Sistemas Digitales Trabajo 4
Page 30: Sistemas Digitales Trabajo 4

6- Utilizando el método de Moore para detectar secuencias, construir un circuito secuencial que

reciba como entrada X una secuencia de 0s y 1s y genere salida Z=1 si la secuencia de entrada

tiene un número impar de 1s y se han recibido al menos 2 0s consecutivos (El circuito no se

reinicializa).

Page 31: Sistemas Digitales Trabajo 4
Page 32: Sistemas Digitales Trabajo 4
Page 33: Sistemas Digitales Trabajo 4

EJERCICIOS PROPUESTOS.

1- Diseñar el sistema de una lavadora utilizando el método de Moore con las siguientes funciones,

lavado rápido = 1, medio = 2, lento = 3, y que por cada ciclo halla un ciclo para

siendo n la diferencia de tiempo de tardanza.

2- Diseñar un detector de secuencias con re inicialización utilizando el método de Mealy, Construir

un circuito secuencial que reciba como entrada X una secuencia de 0s y 1s y genere salida Z=1 si

la secuencia de entrada es 1111 o 0110.

3- Diseñar el sistema de un semáforo utilizando el método de Moore utilizando las siguientes

secuencias.

4- Diseñar una máquina expendedora de tabaco utilizando el método de Moore, se va a utilizar los

siguientes criterios.

Page 34: Sistemas Digitales Trabajo 4

5- Diseñar un sistema secuencial utilizando el método de Moore capaz de reconocer el patrón

001011. La entrada al circuito se realizara a través de una señal de entrada E, de forma síncrona

y en serie, (un nuevo bit cada ciclo de reloj). El circuito dispondrá de una salida S que tomara el

valor “1” en el instante en el que reconozca el patrón de secuencia de entrada, y será “0” en

todos los demás casos. Nota: debe tenerse en cuenta que al recibir un bit fuera de secuencia no

hay que desechar todos los valores recogidos hasta ese momento. Es posible que parte de la

secuencia siga siendo válida.