Este documento describe diferentes métodos para diseñar sistemas secuenciales síncronos utilizando biestables síncronos. Explica cómo utilizar biestables D para diseñar sistemas secuenciales a partir de tablas funcionales de evolución de estados. También describe cómo diseñar directamente a partir de grafos de estados obteniendo funciones de marcado y borrado que conducen a un diseño con biestables JK, y cómo transformar esto a un diseño con biestables D. Incluye un ejemplo de detector de secuencia que ilust
Este documento presenta conceptos básicos sobre modelos matemáticos, diagramas de bloques y álgebra de bloques para sistemas dinámicos. Explica cómo obtener funciones de transferencia a partir de ecuaciones diferenciales usando la transformada de Laplace. También describe elementos como polos, ceros y diagramas de polos y ceros para caracterizar sistemas. Finalmente, detalla reglas para simplificar diagramas de bloques mediante equivalencias entre bloques en serie, paralelo y puntos de bifurcación.
Este documento describe diferentes tipos de contadores digitales, incluyendo:
1) Contadores binarios que siguen una secuencia de estados predeterminada sincronizada con un reloj.
2) Cómo diseñar un contador binario ascendente módulo 8 utilizando flip-flops JK.
3) Contadores no binarios que siguen secuencias de conteo diferentes a la binaria natural.
El documento describe los conceptos básicos de los circuitos secuenciales y las básculas. Explica que un circuito secuencial es aquel cuyas salidas dependen del estado actual y del estado anterior de las entradas. Luego, introduce las diferentes clasificaciones de básculas como asíncronas, síncronas, de retardo (D), maestro-esclavo (RS, JK), y T (toggle). Finalmente, presenta ejemplos de aplicación de básculas D, JK, RS y T en circuitos secuenciales, incluyendo tablas de trans
Este documento presenta una guía de laboratorio sobre el análisis y simulación de sistemas de control digital usando Matlab/Simulink. El objetivo es deducir la función de transferencia de un motor de CD controlado por armadura, obtener la función de transferencia de un controlador de posición angular con este motor, y analizar y simular el comportamiento de un sistema de control digital empleando Matlab. Se explican los conceptos teóricos y se detallan los pasos a seguir en Matlab para modelar el sistema, analizar su estabilidad y respuesta, e implementar
Este documento describe cómo resolver un circuito LCR en serie utilizando Matlab. Explica la teoría del circuito RLC y las ecuaciones diferenciales que lo rigen. Luego, detalla los pasos para crear una función en Matlab que resuelva estas ecuaciones y obtener los valores de carga y corriente en el circuito en diferentes momentos de tiempo. Finalmente, muestra cómo extraer y graficar los resultados.
El documento describe varios métodos para el análisis sísmico de estructuras, incluyendo el Método de Holzen, Método Vianello Stodola, Método de Clough y el Método de Rayleigh-Ritz. Este último utiliza funciones de forma aproximadas para determinar las formas de vibración de una estructura y el valor crítico de carga. El documento también compara las normas sísmicas españolas E-030 de 1977 y 1997, señalando diferencias en sus parámetros técnicos.
Este documento describe los diagramas de bloques y su uso en ingeniería de control. Explica que un diagrama de bloques representa gráficamente las funciones de cada componente de un sistema y las relaciones entre ellos mediante bloques funcionales unidos por señales de entrada y salida. También cubre cómo simplificar diagramas de bloques complejos mediante reglas de álgebra de bloques y varios ejemplos de simplificación.
El documento describe los modelos matemáticos de sistemas dinámicos y su importancia para la predicción del comportamiento y mejora de sistemas. Explica que los simuladores se basan en modelos matemáticos de los componentes de los sistemas y las señales que les afectan, y que la validez de los simuladores depende de la aproximación entre los modelos y los comportamientos físicos reales. También analiza modelos de sistemas eléctricos y electrónicos como cuadripolos RC.
Este documento presenta conceptos básicos sobre modelos matemáticos, diagramas de bloques y álgebra de bloques para sistemas dinámicos. Explica cómo obtener funciones de transferencia a partir de ecuaciones diferenciales usando la transformada de Laplace. También describe elementos como polos, ceros y diagramas de polos y ceros para caracterizar sistemas. Finalmente, detalla reglas para simplificar diagramas de bloques mediante equivalencias entre bloques en serie, paralelo y puntos de bifurcación.
Este documento describe diferentes tipos de contadores digitales, incluyendo:
1) Contadores binarios que siguen una secuencia de estados predeterminada sincronizada con un reloj.
2) Cómo diseñar un contador binario ascendente módulo 8 utilizando flip-flops JK.
3) Contadores no binarios que siguen secuencias de conteo diferentes a la binaria natural.
El documento describe los conceptos básicos de los circuitos secuenciales y las básculas. Explica que un circuito secuencial es aquel cuyas salidas dependen del estado actual y del estado anterior de las entradas. Luego, introduce las diferentes clasificaciones de básculas como asíncronas, síncronas, de retardo (D), maestro-esclavo (RS, JK), y T (toggle). Finalmente, presenta ejemplos de aplicación de básculas D, JK, RS y T en circuitos secuenciales, incluyendo tablas de trans
Este documento presenta una guía de laboratorio sobre el análisis y simulación de sistemas de control digital usando Matlab/Simulink. El objetivo es deducir la función de transferencia de un motor de CD controlado por armadura, obtener la función de transferencia de un controlador de posición angular con este motor, y analizar y simular el comportamiento de un sistema de control digital empleando Matlab. Se explican los conceptos teóricos y se detallan los pasos a seguir en Matlab para modelar el sistema, analizar su estabilidad y respuesta, e implementar
Este documento describe cómo resolver un circuito LCR en serie utilizando Matlab. Explica la teoría del circuito RLC y las ecuaciones diferenciales que lo rigen. Luego, detalla los pasos para crear una función en Matlab que resuelva estas ecuaciones y obtener los valores de carga y corriente en el circuito en diferentes momentos de tiempo. Finalmente, muestra cómo extraer y graficar los resultados.
El documento describe varios métodos para el análisis sísmico de estructuras, incluyendo el Método de Holzen, Método Vianello Stodola, Método de Clough y el Método de Rayleigh-Ritz. Este último utiliza funciones de forma aproximadas para determinar las formas de vibración de una estructura y el valor crítico de carga. El documento también compara las normas sísmicas españolas E-030 de 1977 y 1997, señalando diferencias en sus parámetros técnicos.
Este documento describe los diagramas de bloques y su uso en ingeniería de control. Explica que un diagrama de bloques representa gráficamente las funciones de cada componente de un sistema y las relaciones entre ellos mediante bloques funcionales unidos por señales de entrada y salida. También cubre cómo simplificar diagramas de bloques complejos mediante reglas de álgebra de bloques y varios ejemplos de simplificación.
El documento describe los modelos matemáticos de sistemas dinámicos y su importancia para la predicción del comportamiento y mejora de sistemas. Explica que los simuladores se basan en modelos matemáticos de los componentes de los sistemas y las señales que les afectan, y que la validez de los simuladores depende de la aproximación entre los modelos y los comportamientos físicos reales. También analiza modelos de sistemas eléctricos y electrónicos como cuadripolos RC.
Aplicacion de una EDO de segundo grado a los circuitos en serieCabphialmen Boundless
Este documento describe la resolución de una ecuación diferencial de segundo orden mediante el uso de MATLAB para simular un circuito RLC en serie. Se define una función en MATLAB para calcular los valores de la carga y la corriente en el circuito basado en la ecuación diferencial, las condiciones iniciales y el generador de señal. La función resuelve la ecuación usando el método numérico ode45 y grafica los resultados.
Procesos de Markov son útiles para estudiar la evolución de sistemas a lo largo del tiempo, donde el estado del sistema en un período depende solo del estado anterior y no de los estados anteriores. Se pueden usar para analizar la probabilidad de que un cliente compre una marca en un período dado la marca comprada en el período anterior. Las cadenas de Markov describen sistemas donde la probabilidad de transición entre estados depende solo del estado actual. Se pueden representar usando matrices de transición que describen la probabilidad de pasar de un estado a otro
El álgebra de bloques permite simplificar diagramas de bloques aplicando reglas que reducen la estructura manteniendo las funciones de transferencia. Los nuevos bloques son más complejos aunque el diagrama es más simple. Los diagramas de flujo de señales representan ecuaciones dinámicas simultáneas mediante nodos y ramas, y la fórmula de Mason proporciona las relaciones entre variables sin necesidad de reducción.
Este documento describe el uso de Simulink para modelar sistemas continuos y de control. Explica conceptos como subsistemas, funciones de transferencia y modelado de ecuaciones diferenciales. También cubre temas como modelado de respuestas de sistemas, controladores PID y un ejemplo de modelado de un tanque de agua con control de nivel.
El documento describe las funciones de transferencia, que son modelos matemáticos que relacionan la salida de un sistema con su entrada. Explica que una función de transferencia se define como la transformada de Laplace de la respuesta dividida por la transformada de Laplace de la entrada. También describe formas gráficas de representar funciones de transferencia, como diagramas de polos y ceros, diagramas de Bode y diagramas de Black.
El documento describe diferentes tipos de biestables, circuitos secuenciales de memoria utilizados en computadoras para almacenar bits de información. Explica biestables RS y JK asíncronos y síncronos, disparados por nivel o flanco, y sus tablas de transición de estados. También cubre biestables D síncronos por nivel y los problemas de entrada prohibida en algunos diseños que pueden dar lugar a oscilaciones.
El documento trata sobre espacios vectoriales y álgebra lineal. Explica brevemente los antecedentes históricos del álgebra lineal y define conceptos básicos como vectores, operaciones con vectores, propiedades de vectores y espacios vectoriales. Luego, muestra ejemplos de sumas, diferencias y productos escalares de vectores usando una calculadora científica.
El documento describe los sistemas de primer orden y su función de transferencia. Explica que los sistemas de primer orden tienen una ecuación general con la derivada primera de la variable de estado y constante de tiempo. Muestra ejemplos de respuestas a escalones y impulsos, y cómo identificar parámetros como ganancia y constante de tiempo. También cubre procesos autorregulados y de segundo orden.
Este documento presenta un taller sobre cadenas de Markov. En la primera sección se analiza una matriz de transición de 5 estados y se clasifican los estados como recurrentes o transitorios. Luego, se modela una cadena de Markov para una unidad de dos componentes en paralelo que pueden fallar o repararse. Finalmente, se analiza una cadena continua para un centro de trabajo con llegadas y salidas exponenciales.
El documento presenta conceptos sobre modelado matemático de sistemas utilizando la transformada de Laplace y diagramas de bloques. Explica cómo desarrollar funciones de transferencia a partir de ecuaciones diferenciales, y cómo simplificar diagramas de bloques usando el álgebra de bloques.
Este documento presenta un resumen sobre máquinas de estado finito. Explica que una máquina de estado finito es una máquina abstracta que reconoce cadenas de caracteres y da una respuesta de "SÍ" o "NO" basada en las transiciones entre estados, las cuales se escogen por el siguiente carácter de la cadena. Describe los componentes clave de una máquina de estado finito como los estados, transiciones, estado inicial y estado final. También explica conceptos como máquinas equivalentes e isomorfismo entre máquinas.
Diagramas de bloque y funciones de transferencia Utpl Eet 2010 V1 0Jorge Luis Jaramillo
Este documento presenta los diagramas de bloque y funciones de transferencia. Explica los diferentes tipos de eslabones dinámicos como el ainercial, aperiódico, integrador y oscilador. También describe cómo conectar eslabones en forma secuencial, paralela o mixta. Además, discute la retroalimentación positiva y negativa. Por último, provee un ejemplo práctico del modelo matemático de un motor de CD usando eslabones dinámicos.
Este documento describe el método de Hardy Cross para resolver problemas de vigas y pórticos de múltiples pisos. El método implica numerar los nudos, calcular coeficientes de distribución y desplazamiento, e iterar los cálculos hasta converger en una solución. Se provee un ejemplo paso a paso de cómo aplicar el método a un pórtico de dos pisos.
Este documento describe el uso de diagramas de bloque y funciones de transferencia para modelar sistemas dinámicos. Explica los diferentes tipos de eslabones dinámicos (ainercial, aperiódico, integrador, diferenciador y oscilante) y cómo se pueden interconectar para modelar sistemas complejos. Luego presenta un modelo matemático de un motor de corriente continua usando diagramas de bloque y funciones de transferencia, incluyendo los parámetros eléctricos y mecánicos del motor. Finalmente, realiza sim
Este documento presenta instrucciones para usar varios programas de cálculo estructural contenidos en la librería HYCB. Incluye programas para calcular momentos de empotramiento, diagrama de vigas, solución de armaduras, y solución de pórticos. Explica los pasos a seguir para introducir datos de entrada como geometría, cargas y propiedades de materiales, y obtener resultados como fuerzas, desplazamientos y diagramas.
Este documento presenta un resumen de los primeros capítulos de una tesis sobre el análisis de sistemas dinámicos y diseño de sistemas de control en tiempo discreto. Incluye una introducción general a los sistemas dinámicos, su modelado y comportamiento. Luego describe diferentes técnicas para el análisis de sistemas dinámicos en el espacio de estado usando enfoques clásicos y modernos.
Este documento presenta una introducción al uso de Simulink en MATLAB para la modelación y simulación de sistemas. Explica los elementos básicos de Simulink, como bloques y líneas de conexión. Luego, muestra cómo modelar y simular un motor DC, incluyendo la creación de subsistemas. También cubre temas como la solución numérica de ecuaciones diferenciales, la simulación de sistemas, y proporciona varios ejemplos prácticos de modelado y simulación en Simulink.
Este documento introduce los conceptos básicos de los sistemas secuenciales síncronos. Explica que estos sistemas almacenan estado interno y que su salida depende tanto de las entradas como del estado actual. Describe dos modelos comunes (Moore y Mealy) y cómo se pueden implementar estos sistemas utilizando biestables sincronizados con una señal de reloj. A continuación, muestra un ejemplo de análisis y diseño de un sistema secuencial síncrono simple.
El documento describe los pasos para crear diagramas de bloques y simplificarlos. Explica cómo representar sistemas matemáticos usando diagramas de bloques y cómo mover puntos de suma y bifurcación para reducir el diagrama a una sola función de transferencia. También introduce los gráficos de flujo de señal como otra forma de simplificar diagramas de bloques complejos.
Este documento describe cómo resolver un circuito RCL utilizando MATLAB. Primero se define una función que calcula los valores de la ecuación diferencial del circuito. Luego, se usa la función ode45 para integrar esta ecuación diferencial y obtener los valores de la carga y la corriente en función del tiempo. Finalmente, se grafican la carga vs tiempo y la corriente vs tiempo.
El documento describe los sistemas secuenciales síncronos. Explica que estos sistemas tienen estados que dependen de las entradas actuales y anteriores, y que sus salidas dependen de las entradas y los estados actuales. Describe los autómatas de Moore y Mealy, y cómo convertir uno en otro. También cubre el análisis, diseño y síntesis de sistemas secuenciales síncronos, con ejemplos como un contador y un sumador en serie.
Este documento presenta el tema 6 sobre diseño secuencial con contadores y registros. Introduce conceptos como biestables D, T y J-K y el procedimiento general de síntesis secuencial. Explica la representación de autómatas con matrices de transición y funcionales y cómo sintetizarlos con PLDs. Además, cubre el diseño de contadores asíncronos y síncronos y el uso de registros de desplazamiento.
Aplicacion de una EDO de segundo grado a los circuitos en serieCabphialmen Boundless
Este documento describe la resolución de una ecuación diferencial de segundo orden mediante el uso de MATLAB para simular un circuito RLC en serie. Se define una función en MATLAB para calcular los valores de la carga y la corriente en el circuito basado en la ecuación diferencial, las condiciones iniciales y el generador de señal. La función resuelve la ecuación usando el método numérico ode45 y grafica los resultados.
Procesos de Markov son útiles para estudiar la evolución de sistemas a lo largo del tiempo, donde el estado del sistema en un período depende solo del estado anterior y no de los estados anteriores. Se pueden usar para analizar la probabilidad de que un cliente compre una marca en un período dado la marca comprada en el período anterior. Las cadenas de Markov describen sistemas donde la probabilidad de transición entre estados depende solo del estado actual. Se pueden representar usando matrices de transición que describen la probabilidad de pasar de un estado a otro
El álgebra de bloques permite simplificar diagramas de bloques aplicando reglas que reducen la estructura manteniendo las funciones de transferencia. Los nuevos bloques son más complejos aunque el diagrama es más simple. Los diagramas de flujo de señales representan ecuaciones dinámicas simultáneas mediante nodos y ramas, y la fórmula de Mason proporciona las relaciones entre variables sin necesidad de reducción.
Este documento describe el uso de Simulink para modelar sistemas continuos y de control. Explica conceptos como subsistemas, funciones de transferencia y modelado de ecuaciones diferenciales. También cubre temas como modelado de respuestas de sistemas, controladores PID y un ejemplo de modelado de un tanque de agua con control de nivel.
El documento describe las funciones de transferencia, que son modelos matemáticos que relacionan la salida de un sistema con su entrada. Explica que una función de transferencia se define como la transformada de Laplace de la respuesta dividida por la transformada de Laplace de la entrada. También describe formas gráficas de representar funciones de transferencia, como diagramas de polos y ceros, diagramas de Bode y diagramas de Black.
El documento describe diferentes tipos de biestables, circuitos secuenciales de memoria utilizados en computadoras para almacenar bits de información. Explica biestables RS y JK asíncronos y síncronos, disparados por nivel o flanco, y sus tablas de transición de estados. También cubre biestables D síncronos por nivel y los problemas de entrada prohibida en algunos diseños que pueden dar lugar a oscilaciones.
El documento trata sobre espacios vectoriales y álgebra lineal. Explica brevemente los antecedentes históricos del álgebra lineal y define conceptos básicos como vectores, operaciones con vectores, propiedades de vectores y espacios vectoriales. Luego, muestra ejemplos de sumas, diferencias y productos escalares de vectores usando una calculadora científica.
El documento describe los sistemas de primer orden y su función de transferencia. Explica que los sistemas de primer orden tienen una ecuación general con la derivada primera de la variable de estado y constante de tiempo. Muestra ejemplos de respuestas a escalones y impulsos, y cómo identificar parámetros como ganancia y constante de tiempo. También cubre procesos autorregulados y de segundo orden.
Este documento presenta un taller sobre cadenas de Markov. En la primera sección se analiza una matriz de transición de 5 estados y se clasifican los estados como recurrentes o transitorios. Luego, se modela una cadena de Markov para una unidad de dos componentes en paralelo que pueden fallar o repararse. Finalmente, se analiza una cadena continua para un centro de trabajo con llegadas y salidas exponenciales.
El documento presenta conceptos sobre modelado matemático de sistemas utilizando la transformada de Laplace y diagramas de bloques. Explica cómo desarrollar funciones de transferencia a partir de ecuaciones diferenciales, y cómo simplificar diagramas de bloques usando el álgebra de bloques.
Este documento presenta un resumen sobre máquinas de estado finito. Explica que una máquina de estado finito es una máquina abstracta que reconoce cadenas de caracteres y da una respuesta de "SÍ" o "NO" basada en las transiciones entre estados, las cuales se escogen por el siguiente carácter de la cadena. Describe los componentes clave de una máquina de estado finito como los estados, transiciones, estado inicial y estado final. También explica conceptos como máquinas equivalentes e isomorfismo entre máquinas.
Diagramas de bloque y funciones de transferencia Utpl Eet 2010 V1 0Jorge Luis Jaramillo
Este documento presenta los diagramas de bloque y funciones de transferencia. Explica los diferentes tipos de eslabones dinámicos como el ainercial, aperiódico, integrador y oscilador. También describe cómo conectar eslabones en forma secuencial, paralela o mixta. Además, discute la retroalimentación positiva y negativa. Por último, provee un ejemplo práctico del modelo matemático de un motor de CD usando eslabones dinámicos.
Este documento describe el método de Hardy Cross para resolver problemas de vigas y pórticos de múltiples pisos. El método implica numerar los nudos, calcular coeficientes de distribución y desplazamiento, e iterar los cálculos hasta converger en una solución. Se provee un ejemplo paso a paso de cómo aplicar el método a un pórtico de dos pisos.
Este documento describe el uso de diagramas de bloque y funciones de transferencia para modelar sistemas dinámicos. Explica los diferentes tipos de eslabones dinámicos (ainercial, aperiódico, integrador, diferenciador y oscilante) y cómo se pueden interconectar para modelar sistemas complejos. Luego presenta un modelo matemático de un motor de corriente continua usando diagramas de bloque y funciones de transferencia, incluyendo los parámetros eléctricos y mecánicos del motor. Finalmente, realiza sim
Este documento presenta instrucciones para usar varios programas de cálculo estructural contenidos en la librería HYCB. Incluye programas para calcular momentos de empotramiento, diagrama de vigas, solución de armaduras, y solución de pórticos. Explica los pasos a seguir para introducir datos de entrada como geometría, cargas y propiedades de materiales, y obtener resultados como fuerzas, desplazamientos y diagramas.
Este documento presenta un resumen de los primeros capítulos de una tesis sobre el análisis de sistemas dinámicos y diseño de sistemas de control en tiempo discreto. Incluye una introducción general a los sistemas dinámicos, su modelado y comportamiento. Luego describe diferentes técnicas para el análisis de sistemas dinámicos en el espacio de estado usando enfoques clásicos y modernos.
Este documento presenta una introducción al uso de Simulink en MATLAB para la modelación y simulación de sistemas. Explica los elementos básicos de Simulink, como bloques y líneas de conexión. Luego, muestra cómo modelar y simular un motor DC, incluyendo la creación de subsistemas. También cubre temas como la solución numérica de ecuaciones diferenciales, la simulación de sistemas, y proporciona varios ejemplos prácticos de modelado y simulación en Simulink.
Este documento introduce los conceptos básicos de los sistemas secuenciales síncronos. Explica que estos sistemas almacenan estado interno y que su salida depende tanto de las entradas como del estado actual. Describe dos modelos comunes (Moore y Mealy) y cómo se pueden implementar estos sistemas utilizando biestables sincronizados con una señal de reloj. A continuación, muestra un ejemplo de análisis y diseño de un sistema secuencial síncrono simple.
El documento describe los pasos para crear diagramas de bloques y simplificarlos. Explica cómo representar sistemas matemáticos usando diagramas de bloques y cómo mover puntos de suma y bifurcación para reducir el diagrama a una sola función de transferencia. También introduce los gráficos de flujo de señal como otra forma de simplificar diagramas de bloques complejos.
Este documento describe cómo resolver un circuito RCL utilizando MATLAB. Primero se define una función que calcula los valores de la ecuación diferencial del circuito. Luego, se usa la función ode45 para integrar esta ecuación diferencial y obtener los valores de la carga y la corriente en función del tiempo. Finalmente, se grafican la carga vs tiempo y la corriente vs tiempo.
El documento describe los sistemas secuenciales síncronos. Explica que estos sistemas tienen estados que dependen de las entradas actuales y anteriores, y que sus salidas dependen de las entradas y los estados actuales. Describe los autómatas de Moore y Mealy, y cómo convertir uno en otro. También cubre el análisis, diseño y síntesis de sistemas secuenciales síncronos, con ejemplos como un contador y un sumador en serie.
Este documento presenta el tema 6 sobre diseño secuencial con contadores y registros. Introduce conceptos como biestables D, T y J-K y el procedimiento general de síntesis secuencial. Explica la representación de autómatas con matrices de transición y funcionales y cómo sintetizarlos con PLDs. Además, cubre el diseño de contadores asíncronos y síncronos y el uso de registros de desplazamiento.
Este documento describe los circuitos secuenciales asíncronos o autómatas finitos asíncronos, los cuales funcionan sin un reloj. Explica que estos circuitos no permiten cambios simultáneos en las variables de entrada para evitar carreras críticas. También describe los modelos de Mealy y Moore, y los pasos para diseñar este tipo de circuitos, incluyendo construir una tabla primitiva de estados y reducir los estados.
El documento describe la función de transferencia y diagramas de bloques para sistemas lineales. La función de transferencia relaciona la salida y entrada de un sistema mediante la transformada de Laplace, asumiendo condiciones iniciales cero. Se proveen ejemplos como un circuito RL y un sistema masa-resorte. Los diagramas de bloques representan gráficamente las relaciones de entrada-salida usando bloques unidireccionales con funciones de transferencia.
Este documento describe los contadores y registros digitales. Explica que un contador es un circuito secuencial que sigue una secuencia predeterminada de estados en respuesta a una señal de reloj. Los contadores se construyen con flip-flops y puertas lógicas. También describe contadores binarios, no binarios, y contadores con capacidad de carga paralela de un estado inicial antes de comenzar la cuenta.
Este documento describe la simulación de un contador ascendente-descendente de 0 a 7 usando flip-flops tipo D y displays de 7 segmentos. Explica el funcionamiento de los flip-flops D, el decodificador 4511 y los displays de 7 segmentos. Luego presenta la tabla de estados, la simplificación del circuito y la simulación del contador ascendente-descendente de 0 a 7. Finalmente concluye reforzando conocimientos sobre los circuitos secuenciales y la interpretación de datasheets.
Este documento presenta conceptos clave sobre el diseño de controladores digitales, incluyendo lugar geométrico de las raíces, transformada z, análisis de dominio discreto, funciones de transferencia discretas y de lazo abierto. También resume la solución a un ejercicio que involucra determinar si un sistema dado produce una respuesta plana a una entrada escalón o rampa unitaria utilizando herramientas como Matlab.
El documento describe los conceptos básicos de los autómatas y máquinas de estado finito. Explica que los autómatas son sistemas secuenciales síncronos que pueden encontrarse en uno de un número finito de estados y que generan salidas en función de las entradas y el estado actual. También describe los dos tipos principales de autómatas, Mealy y Moore, y cómo se pueden implementar máquinas de estado finito utilizando biestables y circuitos combinacionales. Además, presenta una metodología paso a paso para dise
El documento resume conceptos clave de sistemas de control discreto y estabilidad de sistemas. Describe la modelación de sistemas de control discretos, incluyendo la función de transferencia discreta y el uso de retenedores de orden cero. También explica la estabilidad de sistemas lineales mediante el círculo unitario de estabilidad y el criterio de estabilidad de Jury.
Electrónica digital: Análisis de diseño de circuitos secuenciales SANTIAGO PABLO ALBERTO
Este documento presenta el análisis y diseño de circuitos secuenciales digitales. Explica los conceptos básicos de máquinas de estados finitos y los pasos para analizar y diseñar circuitos secuenciales utilizando este enfoque, incluyendo la definición de estados, transiciones y tablas de estados/salidas. También incluye un ejemplo completo del diseño de una máquina de Mealy para detectar tres o más unos consecutivos en la entrada.
Este documento presenta el modelado, simulación y control de un motor de corriente continua utilizando Matlab. Inicialmente se describen las ecuaciones físicas del sistema y su representación en Matlab. Luego, se analiza la respuesta del sistema a lazo abierto y se concluye que no cumple con los requerimientos de diseño. Finalmente, se proponen dos métodos para diseñar controladores PID y compensadores utilizando el lugar de raíces, logrando que el sistema compensado satisfaga las especificaciones.
Este documento presenta diferentes métodos para el modelado, simulación y control de sistemas dinámicos utilizando MATLAB. En la primera sección se modela un motor de corriente continua, obteniendo su función de transferencia y representación en espacio de estados. Luego, se diseña un controlador PID para cumplir con los requerimientos de diseño. En la segunda sección se utiliza el método de lugar de raíces para diseñar un compensador, agregando polos y ceros para lograr la respuesta deseada.
Este documento describe los conceptos básicos de los contadores digitales, incluidas sus definiciones y tipos comunes como contadores binarios, BCD y de décadas. Luego, explica el diseño de un contador binario ascendente de 3 bits implementado con flip-flops JK, incluyendo los pasos de diagrama de estados, tablas de estados siguientes y actuales, y expresiones lógicas para las entradas de los flip-flops. Finalmente, menciona brevemente otros tipos de contadores como descendentes, ascendentes/descendentes y en anillo
Este documento describe diferentes tipos de biestables o flip-flops, incluyendo sus tablas de verdad y aplicaciones. Explica los biestables RS, JK, D y T, describiendo cómo cada uno almacena y cambia datos. También cubre cómo se pueden implementar biestables RS usando compuertas NOR y sus estados SET, RESET y MEMORIA.
Este documento describe los diagramas de estado y sus componentes principales. Explica que un diagrama de estado muestra los diferentes estados por los que puede pasar un objeto y las transiciones entre estados. Define conceptos como estado, transición, eventos, nodos de decisión y estados compuestos. También incluye ejemplos para ilustrar estas ideas.
Presentacion 2 - Maquinas de Estado Finitojunito86
Presentacion del grupo 2 sobre Maquinas de Estado Finito, para el curso de Matematicas Discretas Avanzadas.
Por
Xaimara Perez
Antonio Caban
Andrea Pena
Jose A. Valentin
Este documento describe los componentes y operación básicos de un sistema de control discreto. Brevemente, estos sistemas se caracterizan por magnitudes que varían en el tiempo, tienen una salida continua retroalimentada a través de un convertidor, y usan un computador digital para procesar las señales de entrada y salida mediante cálculos matemáticos en el dominio-z.
El documento describe los conceptos de circuitos combinacionales y secuenciales. Explica que los circuitos combinacionales tienen salidas que dependen solo de las entradas actuales, mientras que los circuitos secuenciales tienen salidas que dependen tanto de las entradas actuales como de las entradas pasadas debido a que tienen memoria. También describe máquinas de estado finitas y autómatas de estado finito, incluyendo ejemplos de su representación y funcionamiento.
Los biestables síncronos son dispositivos de almacenamiento temporal de dos estados que pueden ser activados por nivel o por flanco. Los principales tipos son RS, D, JK, y T. Los biestables síncronos por flanco como el JK eliminan las deficiencias de los biestables asíncronos. Estos dispositivos se utilizan comúnmente para almacenar bits de información, implementar máquinas de estado finitas, y realizar funciones como contar.
Similar a Electrónica digital: diseño sistema secuencial síncrono (20)
Este manual describe diferentes métodos para el diseño de sistemas electroneumáticos avanzados, incluyendo métodos directos, de bandera, cascada, paso a paso mínimo y máximo. Incluye secciones sobre secuencias, controles lógicos programables y diagnóstico de fallas. El documento proporciona ejemplos y ejercicios para aplicar estos métodos.
Este documento trata sobre controladores lógicos programables (PLC). Presenta una introducción a los PLC, incluyendo su concepto, ventajas, campos de aplicación, estructura y equipos de programación. También clasifica los diferentes tipos de PLC y describe su uso en tableros de control industrial.
El documento consiste en una lista repetida de la dirección web www.FreeLibros.com en más de 200 líneas consecutivas. Proporciona poca información sobre el contenido del sitio web, pero indica que la dirección www.FreeLibros.com es el tema principal del documento.
Este documento presenta una introducción a los controladores lógicos programables (PLCs). Explica que un PLC es un equipo que puede tomar información del mundo exterior, procesarla realizando operaciones lógicas y matemáticas, y ejecutar acciones programadas como respuesta. Describe los elementos básicos de un sistema PLC, incluyendo la unidad central de procesamiento, memoria, módulos de entrada y salida, y dispositivos de entrada y salida. También explica conceptos como el cableado de dispositivos de entrada como interruptores, sens
Este documento presenta una introducción a los autómatas programables (PLC), incluyendo su historia, ventajas e inconvenientes. Explica la estructura interna y externa de los PLC, sus áreas de memoria y modos de funcionamiento. Finalmente, resume las instrucciones básicas de programación para PLC como operadores lógicos, temporizadores, contadores y saltos.
The document is a system manual that provides information about installing, programming, and configuring S7-200 SMART CPUs and expansion modules, including an overview of the products, new features, communication options, and instructions for connecting to a CPU and creating a sample program.
Siemens' SIMATIC S7-200 SMART PLC offers an affordable and flexible automation solution for developing markets. It provides a range of CPU modules with integrated I/O and communication ports. Additional I/O and communication can be added via cost-effective signal boards. The PLC uses a high-speed processor and user-friendly software to provide powerful motion control, networking, and programming capabilities despite its low cost. It can be integrated with other Siemens products to create complete automation solutions for applications like packaging machines.
El documento describe diferentes métodos para variar la velocidad de motores eléctricos de corriente alterna de dos o tres velocidades, incluyendo el uso de dos bobinados independientes, la conexión Dahlander y variadores de frecuencia electrónicos. Se explican circuitos de potencia y mando para cada método y se proporcionan ejemplos de relaciones de velocidad que se pueden lograr.
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...SANTIAGO PABLO ALBERTO
El documento trata sobre buses industriales y de campo. Contiene 16 prácticas sobre diferentes buses como Profibus, Interbus, DeviceNet, ControlNet, DH+ y RIO, Ethernet, MPI y AS-i utilizando equipos Siemens y Rockwell Automation. El autor es José Miguel Rubio Calin, ingeniero técnico industrial que ha desarrollado las prácticas para su uso en centros de formación.
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...SANTIAGO PABLO ALBERTO
Este documento trata sobre electricidad y automatismos eléctricos. Explica conceptos básicos como la generación, transporte y medición de la corriente eléctrica, así como los componentes pasivos como resistencias, bobinas y condensadores. También analiza circuitos eléctricos en corriente continua y alterna monofásica, incluyendo cálculos, leyes y métodos de resolución. Por último, introduce conceptos de electromagnetismo.
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...SANTIAGO PABLO ALBERTO
Este documento presenta un manual sobre el diseño y desarrollo de circuitos impresos utilizando el software libre Kicad. Explica conceptos básicos como footprints, pads, pistas, capas y librerías. Incluye instrucciones para la instalación de Kicad en Windows y Linux, y guías detalladas sobre la edición de esquemas, la creación de la placa de circuito impreso y el diseño de pistas.
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...SANTIAGO PABLO ALBERTO
Este documento describe las condiciones de uso de una tesis protegida por derechos de autor. Se requiere reconocer los derechos del autor y citarlo correctamente. No se puede usar la tesis con fines comerciales ni distribuirla sin permiso.
Este documento presenta información sobre la documentación técnica necesaria para proyectos de automatización. Explica que la documentación debe incluir planos de instalación, diagramas de bloques, esquemas de circuitos, diagramas y tablas, y planos de conexiones. Además, detalla normas para la documentación como IEC 61082 e IEC 60617 y proporciona detalles sobre la identificación de componentes a través de códigos normalizados.
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...SANTIAGO PABLO ALBERTO
Este documento presenta un libro sobre electrónica digital que introduce conceptos básicos de lógica digital como sistemas de numeración, representación de números, codificación de información, álgebra de conmutación y funciones lógicas básicas. El libro fue desarrollado por un equipo de 11 profesores e ingenieros de la Universidad Nacional de Educación a Distancia y está destinado a estudiantes de ingeniería eléctrica y electrónica.
Klohn Crippen Berger es una consultoría
especializada que presta servicios al
sector minero en estudios geotécnicos,
geoquímicos, hidrotécnicos y de
asesoramiento ambiental, reconocida por
su trayectoria, calidad y ética profesional.
TIA portal Bloques PLC Siemens______.pdfArmandoSarco
Bloques con Tia Portal, El sistema de automatización proporciona distintos tipos de bloques donde se guardarán tanto el programa como los datos
correspondientes. Dependiendo de la exigencia del proceso el programa estará estructurado en diferentes bloques.
MATERIALES PELIGROSOS NIVEL DE ADVERTENCIAROXYLOPEZ10
Introducción.
• Objetivos.
• Normativa de referencia.
• Política de Seguridad.
• Alcances.
• Organizaciones competentes.
• ¿Qué es una sustancia química?
• Tipos de sustancias químicas.
• Gases y Vapores.
• ¿Qué es un Material Peligroso?
• Residuos Peligrosos Legislación Peruana.
• Localización de Accidentes más habituales.
• Riesgos generales de los Materiales Peligrosos.
• Riesgos para la Salud.
• Vías de ingreso al organismo.
• Afecciones al organismo (secuencia).
• Video: Sustancias Peligrosas
Electrónica digital: diseño sistema secuencial síncrono
1. Tomás Pollán Santamaría. Tecnología Electrónica. E.U.I.T.I.Z. Universidad de Zaragoza. tpollan@posta.unizar.es
14 DISEÑO SECUENCIAL SÍNCRONO
14.1. Diseño de sistemas secuenciales con biestables síncronos
14.2. Ejercicios de diseño síncrono
14.3. Configuración microprogramada de grafos de estado
14.4. Los grafos de estado en VHDL
Los biestables síncronos son las celdas básicas del sincronismo, gracias a las cuales se
consigue configurar sistemas síncronos. Las variables de estado se almacenan en biestables
síncronos y las funciones de evolución del estado corresponderán a las de activación de
dichos biestables.
Hoy día se utilizan habitualmente biestables básicos de tipo D; el diseño con biestables
D requiere la obtención funcional del nuevo valor de la variable de estado, a través de la
tabla de evolución del estado (Di = qi+).
Ahora bien, en casos de tabla funcional muy compleja (de gran número de variables)
resulta útil separar las condiciones de marcado y de borrado: desde el propio grafo de
estados es posible obtener directamente las funciones de marcado S y borrado R y el diseño
con biestables tipo D se reduce a agrupar ambas funciones. Ello equivale a razonar en
términos de biestables tipo JK, que son el equivalente síncrono (ampliado) del biestable
RS, y la traslación del diseño a biestables D se hace en forma análoga a como se
conforman biestables JK a partir de biestables D.
Un diversificado conjunto de ejemplos de diseño ilustran la forma de aplicar estos
procedimientos; entre ellos se incluyen muchos casos típicos, como son: sumadores serie,
detección de secuencias, contadores, dados electrónicos, generación de ondas sincronizadas
entre sí, detectores de entrada y salida de personas, activación/desactivación mediante
detección de secuencias, semáforo con demanda de paso, …
Al igual que la configuración ROM permite construir las funciones booleanas sin
obtener su expresión algebraica, directamente desde su tabla funcional, la evolución de las
variables de estado puede construirse mediante un registro (que contenga el estado actual)
y un codificador ROM (que proporcione el estado siguiente): esta forma de configurar
grafos de estado se denomina «microprogramada» ya que el codificador contendrá el
«programa» de estados sucesivos, en función del estado actual y del vector de entrada.
82 Electrónica Digital
14.1. Diseño de sistemas secuenciales con biestables síncronos
Cualquier sistema secuencial de una cierta complejidad (es decir, con excepción
únicamente de los sistemas digitales muy simples o muy directos) debe diseñarse en
forma síncrona, con una señal de reloj CK, común a todo el sistema, que organiza el
tiempo en unidades y señala con precisión los momentos de cambio de estado: flancos
activos del reloj.
El sincronismo facilita en gran medida el diseño de un sistema complejo, al dividir el
tiempo en unidades sucesivas y, con ello, hacer posible el razonamiento con unidades de
tiempo discretas y numeradas.
Pero, sobre todo, el sincronismo proporciona seguridad de funcionamiento: evita
fallos en las transiciones de estado al dedicar el intervalo correspondiente a cada unidad
de tiempo al cálculo del nuevo estado y ejecutar simultáneamente el nuevo estado, ya
completamente preparado, al finalizar la unidad de tiempo (en el siguiente flanco activo
del reloj). De forma que los «espurios» o valores transitorios de algunas variables que
puedan formarse durante la transición de un estado al siguiente no llegan a afectar al
circuito porque el nuevo estado no es «admitido» hasta el siguiente flanco activo del
reloj, cuando ya ha sido calculado por completo a lo largo de la unidad de tiempo.
El sincronismo de una variable, su modificación coincidente con los flancos activos
de la señal de reloj, se consigue mediante una configuración «amo/esclavo»
(master/slave), es decir, empleando un biestable síncrono para dicha variable. Por ello,
los sistemas secuenciales síncronos se diseñan utilizando biestables síncronos:
habitualmente biestables síncronos tipo D.
El diseño de un sistema secuencial síncrono, en lo que a sus variables de estado se
refiere, consiste en expresar las funciones de evolución del estado en términos de
activación de las entradas de sus biestables.
Para ello han de recorrerse los sucesivos niveles de descripción del sistema
secuencial:
especificaciones/
/requisitos
grafo
de estados
tabla funcional
de evolución
de los estados
expresión algebraica
de activación
de los biestables
simplificación
de estados
codificación
de los estados
2. 14. Diseño secuencial síncrono 83
14.1.1. Diseño con biestables D
El biestable tipo D es el biestable síncrono básico y el más utilizado; para diseñar un
sistema secuencial con biestables D conviene construir la tabla funcional de evolución del
estado y, en ella, la propia columna qi constituye la función de activación de su entrada:
Di(t) = qi(t+1) = qi+ = fi( X , Q )
La síntesis de las funciones de activación de las salidas constituye un proceso
meramente combinacional: Y = f( X , Q ) .
Consideremos un ejemplo clásico, muy simple, el detector de una secuencia de bits
consistente en tres «unos» seguidos: un sistema con una sola entrada A, por la cual
recibe dígitos binarios en unidades de tiempo sucesivas, debe responder con un pulso (de
duración igual a una unidad de tiempo) cuando detecta la llegada de tres unos seguidos
111; suponemos que el sistema no admite solapes (una vez recibidos tres unos, para
volver a activar la salida es preciso que reciba otros tres unos diferentes).
inicial
1er uno 2º uno
pulso
1
1
1
0
0
00
01 10
11
0
1
Este grafo puede ser codificado con dos variables de estado; las funciones de
activación de las entradas de los biestables D, obtenidas a partir de la tabla de evolución
del estado serán:
estado anterior q2 q1 a q2+ q1+ nuevo estado
________________________________________________________________
0 0 0 0 0
1 0 1
0 1 0 0 0
1 1 0
1 0 0 0 0 D1 = q1
+ = a.(q2 + q1)
1 1 1
1 1 0 0 0 D2 = q2
+ = a.(q2 ⊕ q1)
1 0 1
y la función de activación de la salida corresponde al estado 11: y = q2.q1.
84 Electrónica Digital
14.1.2. Diseño desde el grafo de estados
Razones de tiempo y de complejidad obligan en ocasiones a realizar el diseño
directamente desde el grafo de estados (por la dificultad de construir la tabla funcional de
evolución de los estados). En tal caso, una vez realizada la simplificación y la
codificación de los estados, se pasa a considerar cada variable de estado qi, dividiendo
para cada una de ellas el grafo de estados en dos partes:
- conjunto de estados en que la variable qi tiene valor 1;
- conjunto de estados en que la variable qi tiene valor 0.
Para cada una de las transiciones que pasan de la parte en que qi vale 0 a la parte en
que qi vale 1 se obtiene un término de marcado de dicha variable qi, dado por el producto
booleano del término mínimo correspondiente al estado anterior por el término de entrada
que provoca dicha transición.
De igual forma para cada transición que pasa de la parte en que qi vale 1 a la parte
en que qi vale 0 se obtiene un término de borrado de la variable qi, dado asimismo por el
producto booleano del término mínimo correspondiente al estado anterior por el término
de entrada que provoca la transición.
Las funciones de marcado y borrado conducen, de por sí, a un diseño con biestables
JK: Ji equivale, en tal sentido, a Si y debe recoger todos los términos de marcado de qi y
Ki, que equivale Ri, debe recibir todos los términosde borrado:
Ji = suma booleana de los términos de marcado de qi;
Ki = suma booleana de los términos de borrado de qi.
En el ejemplo anterior, la obtención de las funciones de marcado y borrado
directamente desde el propio grafo de estados, conduce a:
q1: J1 = q2.q1.a + q2.q1.a = q1.a K1 = q2.q1 + q2.q1.a = q1.(a + q2)
q2: J2 = q2.q1.a K2 = q2.q1.a + q2.q1 = q2.(a + q1).
Resulta sencillo pasar de las funciones de marcado y borrado JiKi a biestables tipo
D, mediante la siguiente transformación funcional:
Di = qi.Ji + qi.Ki ;
las condiciones de marcado actúan cuando la variable de estado se encuentra a 0 y las de
borrado cuando se encuentra a 1. La expresión anterior coincide, obviamente, con la
forma de construir un biestable JK a partir de uno D (apartado 13.1, página 65).
En el caso que nos ocupa:
D1 = q1.J1 + q1.K1 = q1.a + q1.a.q2 = a.(q2 + q1)
D2 = q2.J2 + q2.K2 = q2.q1.a + q2.a.q1 = a.(q2 ⊕ q1)
que coinciden con las obtenidas directamente de la tabla funcional.
3. 14. Diseño secuencial síncrono 85
Este diseño directo a partir del grafo o de la máquina de estados conduce a funciones
booleanas que pueden quedar menos simplificadas que en el caso de construir las tablas
funcionales; además, tiene el riesgo de no considerar alguna situación particular que no se
encuentre expresamente reflejada en el grafo de estados y que pudiera conducir a errores
de funcionamiento. A costa de asumir este riesgo y una menor simplificación, se evita la
pesada tarea de construir fila a fila la tabla funcional.
Se indica, a continuación, la forma de obtener las funciones de activación de las
entradas Ji Ki desde la tabla de evolución del estado: será preciso ampliar dicha tabla con
las condiciones de marcado Ji y borrado Ki de cada una de las variables de estado qi, a
partir de la siguiente correspondencia entre la evolución de qi y los valores de Ji y de Ki.
qi(t) → qi(t+1) ⇒ Ji Ki
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
lo cual permite expresar la tabla de verdad para las entradas Ji y Ki de los biestables y, a
partir de ella, construir las funciones booleanas que deben actuar sobre dichas entradas:
J = f'( X , Q ) K = f"( X , Q )
En la práctica no tiene mucho interés el diseño con biestables JK utilizando la tabla
de evolución del estado, ya que es un proceso más complejo que para biestables tipo D y,
además, es más habitual la disponibilidad de los biestables D (entre otras razones porque
son más básicos y de circuitería más reducida y porque son los biestables típicos de los
dispositivos programables y de las librerías de celdas estándar para el diseño de ASICs).
En el caso del detector de una secuencia de bits consistente en tres «unos» seguidos,
la tabla funcional de evolución del estado, incluyendo las columnas correspondientes a la
activación de las entradas J y K, es la representada en la página siguiente.
q2 q1 a q2+ q1+ J2 K2 J1 K1
_______________________________________________________________________________________________
0 0 0 0 0 0 X 0 X q1:
1 0 1 0 X 1 X J1 = a
0 1 0 0 0 0 X X 1 K1 = a + q2
1 1 0 1 X X 1
1 0 0 0 0 X 1 0 X q2:
1 1 1 X 0 1 X J2 = q1.a
1 1 0 0 0 X 1 X 1 K2 = a + q1
1 0 1 X 1 X 0
86 Electrónica Digital
14.2. Ejercicios de diseño de sistemas secuenciales síncronos
14.2.1. Sumador secuencial: realiza la suma de dos números binarios, los cuales recibe
«en serie», bit a bit, por dos líneas en unidades de tiempo sucesivas
(comenzando por el dígito de menor valor significativo).
Este sumador requiere memoria, por cuanto que el bit de arrastre o acarreo que se
produce al sumar dos dígitos ha de actuar como operando (como entrada) en la suma de
los siguientes dígitos; el correspondiente sistema secuencial ha de ser síncrono pues ha de
adaptarse a las unidades de tiempo en las cuales recibe los sucesivos dígitos de los
números a sumar.
SUMADOR
S
Resultado suma
i
c
bit de arrastre
i
ai bi
sumando A sumando B
D
q
CK
Este sumador secuencial se reduce a una celda sumadora básica (apartado 3.1,
primer volumen) a la que se añade un biestable D para almacenar el arrastre.
Las tablas funcionales de evolución del estado ci (bit de acarreo) y de activación de
la salida si (resultado de la suma) son las mismas que en la celda sumadora, sólo que aquí
la entrada y la salida de acarreo corresponden a una misma variable de estado:
ci bi ai ci+ si
_____________________________
0 0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
1 0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 1
Resolviendo este diseño con un biestable D, para almacenar ci, resulta:
variable de salida si = c.(b.a + b.a) + c.(b.a + b.a) = c ⊕ (a ⊕ b)
variable de estado ci: a).c
(b
b.a
a
c.b.
.a
b
c.
b.a
=
c ⊕
+
=
+
+
+
que dan como resultado el circuito de la figura siguiente.
4. 14. Diseño secuencial síncrono 87
D
Q
ai
i
i
i
b
s
c
reloj sincronizado
con los digitos de A y B
Sumador secuencial
14.2.2. Detector de una secuencia de bits: un sistema con una sola entrada A, por la
cual recibe dígitos binarios en unidades de tiempo sucesivas, responde con un
pulso (de duración igual a una unidad de tiempo) cuando detecta la llegada de
una determinada secuencia, por ejemplo, la secuencia 11011.
El problema de detección de una secuencia genérica (en este caso, la detección de
11011) es diferente según se admita o no la posibilidad de solape (es decir, que la
sucesión 11011011 produzca doble detección de secuencia, la primera correspondiente a
los cinco primeros bits y la segunda relativa a los cinco últimos, dos de ellos solapados en
ambas, o solamente produzca una detección).
Los grafos de estado correspondientes a ambas posibilidades serán los siguientes:
a) sin solape
inicial
1º bit 2º bit
3º bit
4º bit
pulso
1
1
1
1
1
0
0
0
0
0
b) con solape
inicial
1º bit 2º bit
3º bit
4º bit pulso
1
1
1
0
0
0
0
1
0
1
88 Electrónica Digital
Ambos casos pueden ser codificados con tres variables de estado, su tabla de
evolución del estado tendrá a cuatro variables de entrada (las de estado más la entrada A)
y la salida se activará en el estado anotado como pulso.
Se deja para el lector (como ejercicio de aplicación) la codificación de los estados, la
construcción de las tablas de evolución del estado y la obtención, a partir de dichas tablas,
de las funciones de activación de los biestables D.
La detección con solape podría resolverse, también, con un registro de
desplazamiento (y el término mínimo correspondiente a la secuencia a detectar), pero en
este caso serían necesarios cinco biestables, frente a los tres que requiere el anterior grafo
de estados.
14.2.3. Detección síncrona de flancos de subida: dada una señal proveniente de un
pulsador A (o, simplemente, dada cualquier señal digital A) se desea generar
un pulso cuya duración sea igual a una unidad del tiempo de reloj, cada vez que
se active el pulsador (cada vez que se produzca un flanco de subida en la señal
A).
Un posible grafo de estados de este sistema es el siguiente:
A A
A
A
reposo
pulso
continuidad
de A en 1
Son necesarias, al menos, dos variables de estado para codificar el grafo anterior; la
introducción de un cuarto estado no complica en modo alguno dicho grafo y, en cambio,
introduce una gran simetría en el mismo:
A
A A
00
10
11
01
A
A
A
5. 14. Diseño secuencial síncrono 89
De la codificación del ciclo principal del grafo en código Gray resulta la siguiente
tabla funcional:
q2 q1 A q2+ q1+
__________________________________
0 0 0 0 0
1 0 1
0 1 0 1 0
1 1 1
1 0 0 0 0
1 0 1
1 1 0 1 0
1 1 1
que, realizada con biestables D, da lugar a un registro de desplazamiento de dos bits:
D1 = A D2 = q1;
siendo la función de salida (estado 01) la siguiente: y = q2.q1.
D
Q
D
Q
A y
CK
El resultado es obvio: para detectar un flanco de subida en la señal A basta retener el
valor de dicha señal durante dos unidades de tiempo seguidas y seleccionar la secuencia
01 que corresponde a un flanco ascendente (paso de 0, valor previo, a 1, valor siguiente).
Este circuito es un detector de flanco de subida, un módulo muy útil para el diseño
secuencial, que aparece frecuentemente en sus diagramas de bloques (ver apartado 16.4,
Contaje de pulsos diferentes del reloj) .
El flanco de bajada se detecta con la secuencia 10: 1
2 q
.
q
=
y , es decir con un
circuito análogo, cambiando las salidas de los biestables que van a la puerta puerta "y";
para detectar ambos flancos (el de subida y el de bajada) será necesaria una puerta
"o-exclusiva" que reciba las salidas de ambos biestables: 1
2
1
2
1
2 q
q
q
.
q
.q
q
=
y ⊕
=
+ .
90 Electrónica Digital
14.2.4. Activación gradual de alarma: un sistema de detección de temperatura
proporciona cuatro niveles codificados en binario (00, 01, 10, 11); la situación
de alarma debe activarse cuando se detecta el nivel 3 11 (temperatura muy
alta), o si se detecta el nivel 2 10 (alta) en dos ciclos seguidos de reloj y debe
desaparecer cuando se detecta el nivel 0 00 (muy baja), o si se detecta el nivel 1
01 (baja) en dos ciclos de reloj consecutivos.
El grafo de estados del sistema de activación de la situación de alarma puede ser el
representado en la siguiente figura; su codificación, con dos variables de estado, se ha
indicado al lado de cada estado.
inicial
entrando
alarma
11
00
10
0-
1-
0-
01
1-
00
01 11
10
saliendo
La situación de alarma corresponde a los estados 11 y 10: alarma = q2 y la tabla
de evolución de estados será la siguiente:
q2 q1 b a q2+ q1+
__________________________________
0 0 0 0 0 0
0 1 0 0
1 0 0 1
1 1 1 1
0 1 0 0 0 0
0 1 0 0
1 0 1 1
1 1 1 1
1 0 0 0 0 0
0 1 0 0
1 0 1 1
1 1 1 1
1 1 0 0 0 0 D1 = b
0 1 1 0
1 0 1 1 D2 = b.(a + q2 + q1) + q2.q1.a
1 1 1 1
6. 14. Diseño secuencial síncrono 91
14.2.5. Contador síncrono módulo 5: su grafo tendrá 5 estados, comenzando en el
estado 0, pasando de cada número al siguiente y del estado 4 al primer estado.
q3 q2 q1 q3+ q2+ q1+
_____________________________________
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 0 0 0
1 0 1 X X X
1 1 0 X X X
1 1 1 X X X
1
3
1 q
.
q
=
D 1
2
1
2
1
2
2 q
q
.q
q
q
.
q
=
D ⊕
=
+ 1
2
3 q
.
q
=
D
D
Q
Q
D
Q
Q
D
Q
Q
CK
q1
q2
q3
Contador síncrono módulo 5
14.2.6. Dado electrónico: un contador especial 1 - 6, activado con una frecuencia muy
alta (por ejemplo, 100 KHz) y de forma que cuente cuando se actúa sobre un
pulsador P y deje de contar cuando se suelta dicho pulsador, dará como
resultado un número entero entre 1 y 6, obtenido al azar (ya que el final del
pulsado manual es realmente aleatorio respecto al contaje producido por una
frecuencia muy alta).
Una posible forma de seleccionar números al azar, entre el 1 y el 6 consiste en
construir un sistema que cuente de 1 a 6 cíclicamente, con una entrada de habilitación,
siendo los pulsos a contar de frecuencia relativamente alta; al pulsar la habilitación, el
contador realizará el contaje muy rápidamente y el número en que se detenga al finalizar
la habilitación será aleatorio.
92 Electrónica Digital
Oscilador
100 KHz
CONTADOR 1 - 6
P
"1"
P
BCD 7 segmentos
La tabla funcional del contador habilitado por el pulsador P será la siguiente (en ella
se ha hecho que el estado 0 pase siempre al 1 y que el estado 7 pase al 6, para evitar que
el contador se sitúe en valores no pertinentes):
P q3 q2 q1 q3+ q2+ q1+
_____________________________________________________________________________________________
0 0 0 0 0 0 1
0 0 0 1 0 0 1
0 0 1 0 0 1 0
0 0 1 1 0 1 1
0 1 0 0 1 0 0
0 1 0 1 1 0 1
0 1 1 0 1 1 0
0 1 1 1 1 1 0
1 0 0 0 0 0 1
1 0 0 1 0 1 0
1 0 1 0 0 1 1
1 0 1 1 1 0 0 Este contador (de 1 a 6)
1 1 0 0 1 0 1 puede programarse
1 1 0 1 1 1 0 sobre un bloque PLS
1 1 1 0 0 0 1 utilizando 3 módulos
1 1 1 1 1 1 0 y una sola entrada P :
D1 = P.q1 + q3.q2.q1 + P.q3.q1 + P.q2.q1
D2 = P.q2.q1 + P.q2 + q3.q2.q1 + q3 .q2 .q1
2
3
3
1
2
3 q
.
q
+
.q
P
+
.q
P.q
=
D
7. 14. Diseño secuencial síncrono 93
14.2.7. Generador de múltiples ondas repetitivas, sincronizadas entre sí: a partir de
una señal de reloj de frecuencia fija se desea generar las formas de onda
representadas en la figura, las cuales se repetirán indefinidamente.
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
1
0
1
1
0 4 6 5 1 2 7 3
La secuencia de valores booleanos correspondientes a estas ondas es : 0, 4, 6, 5, 1, 2,
7, 3,…, de manera que la generación de estas formas de onda corresponde a un contador
cuya secuencia de contaje (grafo de estados) será:
0 4 6 5 1 2 7 3
Su diseño requiere tres variables de estado (3 biestables), sin variables de entrada.
q3 q2 q1 q3+ q2+ q1+
____________________________________________________________________________
0 0 0 1 0 0
0 0 1 0 1 0
0 1 0 1 1 1
0 1 1 0 0 0
1 0 0 1 1 0
1 0 1 0 0 1
1 1 0 1 0 1
1 1 1 0 1 1
D1 = q3.q1 + q2.q1 D2 = q3 ⊕ (q2 ⊕ q1) D3 = q1
Si las formas de onda hubieran sido las de la figura siguiente:
0 4 6 5 1 2 6 3
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
1
94 Electrónica Digital
la secuencia de contaje sería:
0 4 6 5 1 2 6 3
en la cual se repite el estado 6.
El código 6 se asigna a dos estados distintos (que presentan transiciones diferentes);
será preciso diferenciar ambos estados, lo cual puede conseguirse con una variable
adicional q4, cuyo valor sea indiferente X en todos los estados salvo en los dos que es
preciso distinguir:
q4 q3 q2 q1 q4+ q3+ q2+ q1+
____________________________________
X 0 0 0 X 1 0 0
X 0 0 1 X 0 1 0
X 0 1 0 1 1 1 0
X 0 1 1 X 0 0 0
X 1 0 0 0 1 1 0
X 1 0 1 X 0 0 1
0 1 1 0 X 1 0 1
1 1 1 0 X 0 1 1
X 1 1 1 X X X X
D1 = q3 . (q2 + q1) D2 = q3 ⊕ (q2 ⊕ q1) + q4.q3.q2
D3 = (q4 + q3 + q2 ) . q1 D4 = q2
En los dos casos anteriores las correspondientes formas de onda (representadas en las
figuras) aparecen en las salidas de los biestables; en el segundo caso, aparecen en las
salidas de los tres últimos biestables, mientras que el biestable más significativo sirve
simplemente para distinguir dos estados en los que el valor de los otros tres biestables es
idéntico.
Esta forma de diseño supone que las formas de onda o, lo que es lo mismo, la
secuencia de números binarios a obtener se produce directamente sobre las salidas de los
biestables, es decir, las salidas coinciden con las variables de estado.
Otra manera, igualmente válida, de resolver el diseño de una secuencia numérica
cualquiera, de longitud n, que se repite indefinidamente (n pasos de reloj), consiste en
utilizar un contador módulo n, seguido de un codificador (conversor de código) que
transforme los valores numéricos sucesivos del contador (0, 1, 2, 3, …, n-1) en los
códigos correlativos de la secuencia deseada.
8. 14. Diseño secuencial síncrono 95
reloj
(unidad de tiempo)
secuencia de números
o de formas de onda
CODIFICADOR
C O N T A D O R
módulo n
Supongamos que programamos sobre un bloque PLS el generador de ondas
repetitivas diseñado en la página anterior: se necesitan 4 módulos para las 4 variables de
estado q4 q3 q2 q1 (de las cuales, las tres últimas coinciden con las variables de salida);
pero, si la programación corresponde a la configuración anterior contador-codificador, el
número de módulos necesarios es de 6 (3 para el contador de 8 estados y 3 para el
codificador que proporciona las salidas).
14.2.8. Detector de número de personas presentes: supuesto que exista un solo acceso
que es, a la vez, entrada y salida y que las personas entran y salen de una en
una y con una mínima distancia entre ellas, un par de células fotoeléctricas
próximas a y b permite detectar la salida o entrada de personas y el sentido en
que cruzan dicho acceso.
Siendo a la célula fotoeléctrica exterior, las secuencias normales de las situaciones
de entrada y de salida son, respectivamente:
- entrada: a.b a.b a.b a.b a.b
- salida: a.b a.b a.b a.b a.b
inicial
E1
E2
E3
E4
S1
S2
S3 S4
a
a
a
a
a
a
a
b
b
b
b
b
b
b
siempre
siempre
La figura anterior representa un primer grafo de la evolución de los estados de este
sistema secuencial; los estados E4 y S4 se presentan durante una sola unidad de tiempo y
corresponden a las salidas: incrementar y decrementar en una persona, respectivamente.
96 Electrónica Digital
Supuesto que el contaje de las personas presentes se efectúe con un contador
bidireccional, al estado E4 le corresponde contar una unidad y al estado S4 le
corresponde descontar una unidad:
• habilitación del contador (estados E4 y S4): E = q2.q1
• contaje ascendente (estado E4): 3
q
=
te"
/descenden
ascendente
control
" .
Habida cuenta de que el número de estados es alto, conviene considerar la
posibilidad de que algunos de ellos sean simplificables entre sí:
1.1 estados agrupables: los estados inicial, E1, E2 y E3
1.2 variables que los diferencian: a y b : 00, 10, 11, 01 respectivamente
1.3 posibilidad de diferenciar correctamente las transiciones desde el nuevo estado:
La transición con b debe producirse desde el estado E3 hacia E4 : b.a.b ( = 0); no
es posible distinguir correctamente esta transición (una de las variables que diferencian al
estado E3 es la que produce la transición desde dicho estado) y, por tanto, no es posible
efectuar esta agrupación de estados.
Lo mismo sucede en la transición con a desde el estado E1 hacia el inicial.
Consideremos otras posibilidades de agrupación de estados:
2.1 estados agrupables: los estados E1 y E2
2.2 variable que los diferencia: b : 0, 1, respectivamente
2.3 posibilidad de diferenciar correctamente las transiciones desde el nuevo estado:
Una transición con a debe producirse desde el estado E1 hacia el inicial : a.b
Asimismo, debe producirse otra transición con a desde el estado E2 hacia E3 : a.b
El nuevo estado agrupado tendrá una transición de salida a.b hacia el estado inicial y otra
transición a.b hacia el estado E3.
3.1 estados agrupables: los estados S1 y S2
3.2 variable que los diferencia: a : 0, 1, respectivamente
3.3 posibilidad de diferenciar correctamente las transiciones desde el nuevo estado:
Una transición con b debe producirse desde el estado S1 hacia el inicial : b.a
También debe producirse otra transición con b desde el estado S2 hacia S3 : b.a
El nuevo estado agrupado tendrá una transición de salida b.ahacia el estado inicial y otra
transición b.a hacia el estado S3.
9. 14. Diseño secuencial síncrono 97
La agrupación de los estados E1 y E2 en uno solo E1,2 y la simétrica de S1 y S2 en
S1,2 reduce el grafo a siete estados, codificables con tres variables q3 q2 q1.
inicial
E1,2
E3
E4
S1,2
S3
S4
a
a.b
b
a.b
siempre
siempre
a
a.b
-00
101
111
110 010 011
001
a.b
a.b
a.b
b.a
Respetando la simetría del grafo, el estado inicial se ha codificado con -00 (es
indiferente para dicho estado el valor q3) y, para evitar marcados duplicados, se ha
condicionado con a la transición que produce b desde dicho estado; lo mismo se ha
hecho (evitar la posibilidad de marcados duplicados) con las transiciones que salen de los
estados E3 y S3 (b.a).
Extrayendo las condiciones de marcado y de borrado del grafo de estados:
q1: J1 = q2.q1.(b + a) K1 = q1.b.a
q2: J2 = q2.q1.(q3.b.a + q3.b.a) K2 = q2.q1 + q2.(q3.b + q3.a)
q3: J3 = q2.q1.b.a K3 = q2.q1.a
Para construir este sistema secuencial biestables D, aplicaremos la transformación:
D = q.J + q.K
D1 = (q2 + q1) . (b + a)
)
a
.
b
+
a
.
q
+
b
.
.(q
.q
q
+
)
a
.b.
q
+
.a
b
.
.(q
q
.
q
=
D 3
3
1
2
3
3
1
2
2
D3 = q3.q2.q1.b.a + q3.(q2 + q1 + a)
En este caso la tabla de evolución de estados presenta 5 variables (es decir, es
amplia pero manejable); construyendo dicha tabla se obtienen las siguientes funciones
(bastante más simplificadas que las anteriores):
D1 = (q2 + q1) . (b + a)
a
.
b
.
.q
q
+
)
a
.b.
q
+
.a
b
.
.(q
q
=
D 1
2
3
3
1
2
D3 = q1.a + q3.q1
98 Electrónica Digital
14.2.9. Activación y desconexión de un sistema por detección de secuencia: un sistema
eléctrico es controlado a través de una línea a por la que recibe valores
booleanos sucesivos, sincronizados con un reloj de 1 MHz; el sistema se activa
al recibir la secuencia 1011 y se desactiva cuando detecta 1101 (se admite el
solapamiento entre secuencias. Diseñar el circuito de activación/desactivación,
de forma que pueda ser programado sobre un circuito PLS y la salida
(activo = 1, desactivo = 0) se corresponda con una de las variables de estado.
La cuestión no consiste en detectar dos secuencias 1011 y 1101, sino en diferenciar
dos situaciones activo/inactivo: en la situación de sistema inactivo interesa detectar la
secuencia 1011 que lo activa y cuando el sistema se encuentra activo importa detectar la
otra secuencia 1101 que lo lleva a inactivo.
Habida cuenta que se admite el solape entre las secuencias a detectar, cuando el
sistema se activa se encuentran ya detectados los dos primeros dígitos de la secuencia que
lo desactiva 1011 ≡ 11--; del mismo modo, al pasar a inactivo se encuentran detectados
los tres primeros dígitos de la secuencia que lo puede activar 1101 ≡ 101-.
Un posible grafo de estados es el siguiente, en cuya codificación se ha reservado la
variable q3 para representar la situación de sistema activo q3 = 1 o inactivo q3 = 0:
- - - - 1 - - - 1 0 - - 1 0 1 -
- - - - 1 - - - 1 1 0 -
1 0 1
1
0
0
1
1 1 0
0
sistema
inactivo
sistema
activo
0
000 001 010 011
100 101 110 111
1 1 - -
La función de salida, y = sistema activo, corresponde a la variable de estado q3
y = q3 y la tabla de evolución de los estados es la representada en la página siguiente.
10. 14. Diseño secuencial síncrono 99
q3 q2 q1 a q3+ q2+ q1+
________________________________________________
0 0 0 0 0 0 0
1 0 0 1
0 0 1 0 0 1 0
1 0 0 1
0 1 0 0 0 0 0
1 0 1 1
0 1 1 0 0 1 0
1 1 1 0
1 0 0 0 1 0 0
1 1 0 1
1 0 1 0 1 0 0
1 1 1 0
1 1 0 0 1 1 1
1 1 1 0
1 1 1 0 1 0 0
1 0 1 1
A partir de esta tabla las funciones de activación de los biestables Di = qi
+
serán
las siguientes:
D1 = q3.q2.q1.a + q3.q2.q1.a + q3.q2.a + q3.q1.a + q2.q1.a
D2 = q3.q2.q1 + q3.q1.a + q3.q1.a + q2.a
D3 = q3.q2 + q3.q1 + q3.a + q3.q2.q1.a
Un diseño alternativo consiste en configurar un registro de desplazamiento de 4
biestables q4 q3 q1 q1 para recibir la secuencia, detectándola sobre las salidas de dicho
registro y utilizar un biestable adicional q5 que se marque con la secuencia 1011 y se
borre con la otra secuencia 1101:
D1 = a D2 = q1 D3 = q2 D4 = q3
D5 = marcado + q5.borrado = q4.q3.q2.q1 + q5.(q4.q3.q2.q1) =
= q4.q3.q2.q1 + q5.q4 + q5.q3 + q5.q2 + q5.q1
Este diseño requiere 5 módulos PLS (uno de ellos con, al menos, 5 términos
producto), mientras que el diseño anterior (como sistema secuencial directamente a partir
del grafo de estados) solamente necesita 3 módulos PLS.
100 Electrónica Digital
14.2.10 Un sencillo cruce de dos calles perpendiculares y unidireccionales dispone de
semáforos (con sólo rojo y verde) que, cada 20" dan paso, alternativamente, a
cada una de las dos direcciones; sobre dicho cruce incide una pequeña calle
lateral (ver figura) que dispone de un sensor de vehículos d, de forma que el
paso de dicha calle está normalmente interrumpido, pero, cuando se detecta un
vehículo en ella, se espera a finalizar el intervalo de 20" y se da paso a dicha
dirección lateral (interrumpiendo las otras dos), también durante 20". Diseñar
el circuito de control de los semáforos de las tres calles.
detector
de vehículos
Como los tiempos de los semáforos son todos ellos de 20 segundos, dicha
temporización se resuelve directamente mediante un reloj de 20" de período (frecuencia
0,05 Hz). Un posible grafo de estados es el siguiente, siendo d la entrada conectada al
sensor de vehículos:
d
d
lateral lateral
d
d
lateral lateral
d
d
siempre siempre
Este grafo asigna prioridad a la calle lateral, de forma que cuando hay mucha
demanda de paso por la misma, se produce un verde en la calle lateral después de cada
paso en una de las otras direcciones. Parece más adecuado asegurar el paso de las otras
dos direcciones entre cada dos verdes de la calle lateral, para lo cual sirve el grafo de
estados siguiente (todas las transiciones se producen con los flancos activos del reloj, es
decir, cada 20" y las transiciones no anotadas se producen siempre).
d
d
lateral lateral
d
d
000 001
100
111
110
101
d
d
lateral lateral
d
d
d
d
lateral lateral
d
d
d
d
lateral lateral
d
d
000 001
100
111
110
101
semáforo calle horizontal: 1
2 q
.
q
=
erde
v
semáforo calle vertical: 1
2.q
q
=
erde
v
semáforo calle lateral: 2
3.q
q
=
erde
v
11. 14. Diseño secuencial síncrono 101
La tabla de evolución de los estados es la siguiente.
q3 q2 q1 d q3+ q2+ q1+
________________________________________________
0 0 0 0 0 0 1
1 1 1 0
0 0 1 0 0 0 0
1 1 1 1
0 1 0 0 X X X
1 X X X
0 1 1 0 X X X
1 X X X
1 0 0 0 0 0 1
1 0 0 1
1 0 1 0 0 0 0
1 0 0 0
1 1 0 0 1 0 1
1 1 0 1
1 1 1 0 1 0 0
1 1 0 0
A partir de esta tabla las funciones de activación de los biestables serán las
siguientes:
d
.
q
+
.d
.q
q
+
q
.
q
=
D 1
1
3
1
3
1
.d
q
.
q
=
D 2
3
2
.d
q
+
q
=
D 3
2
3
102 Electrónica Digital
14.3. Configuración microprogramada de grafos de estado
El diseño de un grafo o máquina de estados puede ser abordado en dos formas
conceptualmente muy diferentes:
- según el método aplicado en los apartados anteriores, que trata cada variable de
estado por separado, reflejando las transiciones en condiciones de activación de sus
biestables individuales –forma microcableada–;
- recogiendo el estado sobre un registro global y codificando los cambios de estado a
partir del estado anterior y del vector de entradas, mediante un codificador que
calcula el nuevo estado –forma microprogramada–.
nuevo Estado
E n t r a d a s
REGISTRO ( Estado )
C O D I F I C A D O R
Estado
CK
La configuración ROM de los codificadores permite construirlos directamente desde
su tabla funcional, sin necesidad de obtener la expresión algebraica de sus funciones:
bastará trasladar la tabla de evolución de los estados a la «Matriz O» del codificador;
podemos considerar que este codificador contiene «microinstrucciones» relativas al
cálculo del estado siguiente, «numeradas» por el estado anterior y el vector de entrada.
La forma microprogramada conserva en forma explícita la estructura del grafo de
estados, pues el codificador expresa directamente la correspondencia entre la situación
actual (estado y vector de entrada) y el nuevo estado; por ello, resulta fácil efectuar
modificaciones de esta máquina de estados, cambiando las correspondientes
«microinstrucciones» (la programación) del codificador.
La «programación» del codificador (es decir, su Matriz O) corresponde a la tabla de
evolución de estados; en tal sentido, consideremos la configuración «microprogramada»
de los ejercicios detallados en el apartado anterior de este mismo capítulo:
- 14.2.4: su tabla de evolución de estados se encuentra en la página 90, requiere 2
variables de estado y 2 de entrada: el codificador tendrá 4 entradas y 2 salidas;
- 14.2.5: (pág. 91) 3 variables de estado: codificador de 3 entradas y 3 salidas;
- 14.2.6: (pág. 92) 3 variables estado y 1 entrada: codificador de 4 entradas y 3 salidas;
- 14.2.7: (pág. 93) 3 variables de estado: codificador de 3 entradas y 3 salidas;
- 14.2.8: (pág. 97) 3 variables estado y 2 entradas: codificador de 5 entradas y 2 salidas;
- 14.2.9: (pág. 98) 3 variables estado y 1 entrada: codificador de 4 entradas y 3 salidas.
12. 14. Diseño secuencial síncrono 103
Respecto al vector de salida, en el caso de autómata de Moore un segundo
codificador puede calcular las salidas a partir del estado (en muchas ocasiones las salidas
serán variables de estado y no es necesario el codificador); podemos considerar que este
codificador contiene las «microinstrucciones» referidas a las salidas que corresponden a
cada estado:
REGISTRO ( Estado )
nuevo Estado
E n t r a d a s
C O D I F I C A D O R
C O D I F I C A D O R
E S T A D O
S a l i d a s
CK
En los autómatas de Mealy, como las salidas dependen del estado y de las entradas,
el mismo codificador puede calcular el nuevo estado y el vector de salidas:
nuevo Estado
E n t r a d a s
REGISTRO ( Estado )
C O D I F I C A D O R
Estado Salidas
CK
En estas configuraciones «microprogramadas» el tamaño de los codificadores
aumenta fuertemente con el número de sus variables de entrada: se duplica cada nueva
entrada (dependencia según 2m); de ahí el interés en reducir el número de variables de
estado (codificaciones de «un solo uno» resultan altamente desaconsejables) y, cuando
ello sea posible, utilizar técnicas de multiplexado de las variables del vector de entrada
(suele suceder que no todas las entradas actúan en todos los estados, de forma que el
número efectivo de entradas puede reducirse por multiplexado).
104 Electrónica Digital
14.4. Los grafos de estado en VHDL
Como ejemplo de descripción VHDL de grafos de estado se incluye la
correspondiente al control de llenado de un depósito con una mezcla de cuatro
líquidos diferentes (apartado 11.4, páginas 29-31); se detalla su diseño síncrono en las
dos formas de autómata de Mealy y autómata de Moore.
Un depósito se llena con una mezcla de cuatro líquidos, para lo cual dispone de
cuatro electroválvulas A, B, C, D, y de cinco detectores de nivel n1, n2, n3, n4 y n5;
cuando el nivel del depósito desciende por debajo del mínimo n1 se produce un ciclo de
llenado: primero A hasta el nivel n2, luego B hasta n3, C hasta n4 y, finalmente, D n5.
Autómata de Mealy
n1
reposo llenado
n5
q=0 q=1
constant reposo : bit := '0';
constant llenado : bit := '1';
signal estado : bit ;
process
begin
wait until CK = '1';
if ( Reset = '1' ) then estado <= reposo;
else case estado is
when reposo =>
if (n1 = '0') then estado <= llenado; end if;
when llenado =>
if (n5 = '1') then estado <= reposo; end if;
end case;
end if;
end process;
(téngase en cuenta que proceso conserva el estado cuando no se indica lo contrario: por
ello no es necesario añadir else estado <= estado;)
--funciones de activación de las salidas:
A <= '1' when (estado = llenado) and (n2='0') else '0';
B <= '1' when (estado = llenado) and (n2='1') and (n3 ='0') else '0';
C <= '1' when (estado = llenado) and (n3='1') and (n4 ='0') else '0';
D <= '1' when (estado = llenado) and (n4='1') else '0';
13. 14. Diseño secuencial síncrono 105
Autómata de Moore
n1 n2
reposo líquido A
0000 0001 0010
0100
1000
líquido B
líquido C
líquido D
n4
n3
n5
constant reposo : bit_vector_(4 downto 1):="0000";
constant líquido_A : bit_vector_(4 downto 1):="0001";
constant líquido_B : bit_vector_(4 downto 1):="0010";
constant líquido_C : bit_vector_(4 downto 1):="0100";
constant líquido_C : bit_vector_(4 downto 1):="1000";
signal estado : bit_vector_(4 downto 1);
process
begin
wait until CK = '1';
if ( Reset = '1' ) then estado <= reposo;
else case estado is
when reposo => if (n1 = '0') then estado <= líquido_A; end if;
when líquido_A => if (n2 = '1') then estado <= líquido_B; end if;
when líquido_B => if (n3 = '1') then estado <= líquido_C; end if;
when líquido_C => if (n4 = '1') then estado <= líquido_D; end if;
when líquido_D => if (n5 = '1') then estado <= reposo; end if;
when others =>
end case;
end if;
end process;
--funciones de activación de las salidas:
A <= '1' when estado = líquido_A else '0';
B <= '1' when estado = líquido_B else '0';
C <= '1' when estado = líquido_C else '0';
D <= '1' when estado = líquido_D else '0';
106 Electrónica Digital
El ejemplo anterior solamente presenta una transición desde cada estado y en cada
una de ellas actúa solamente una variable de entrada; el siguiente grafo, referido a la
activación gradual de alarma (apartado 14.2.4, página 88), incluye mayor número de
transiciones entre estados y dos variables de entrada involucradas en ellas.
Un sistema de detección de temperatura con cuatro niveles (00, 01, 10, 11); la
alarma debe activarse cuando se detecta 11 (temperatura muy alta), o si se detecta el
nivel 10 (alta) en dos ciclos seguidos de reloj y debe desaparecer cuando se detecta 00
(muy baja), o si se detecta el nivel 01 (baja) en dos ciclos de reloj.
inicial
entrando
alarma
11
00
10
0-
1-
0-
01
1-
00
01 11
10
saliendo
constant inicial : bit_vector_(2 downto 1):="00";
constant entrando : bit_vector_(2 downto 1):="01";
constant saliendo : bit_vector_(2 downto 1):="10";
constant alarma : bit_vector_(2 downto 1):="11";
signal estado : bit_vector_(2 downto 1);
process
begin
wait until CK = '1';
if ( Reset = '1' ) then estado <= reposo;
else case estado is
when inicial => if (entrada = "10") then estado <= entrando;
elsif (entrada = "11") then estado <= alarma; end if;
when entrando => if (entrada(2) = '1') then estado <= alarma;
elsif (entrada(2) = '0') then estado <= inicial; end if;
when saliendo => if (entrada(2) = '1') then estado <= alarma;
elsif (entrada(2) = '0') then estado <= inicial; end if;
when alarma => if (entrada = "00") then estado <= inicial;
elsif (entrada = "01") then estado <= saliendo; end if;
end case;
end process;
--función de activación de la salida:
y <= '1' when (estado = alarma) or (estado = saliendo) else '0';