Máquinas Secuenciales Síncronas
Máquinas Secuenciales Síncronas
Objetivos: ...................................................................................................................... 3
Introducción: ................................................................................................................. 3
3. Bibliografía ......................................................................................................15
2
Circuitos secuenciales síncronos
Introducción:
Dentro Hasta el momento hemos revisado circuitos combinacionales cuyas salidas son
determinadas por el valor presente de sus entradas. Además se ha revisado de
elementos de memoria conocidos como flip flops. La salida del FF depende del estado
del FF mas que el valor de las entradas en cualquier instante de tiempo.
Los circuitos secuenciales sincrónicos son más fáciles de diseñar y son usados en la
© Universidad Estatal de Milagro – UNEMI
Bajo el control de la señal de Clock, las salidas de los flip-flops cambian de un estado a
otro, éstos estados generan la lógica combinatorial llamada Decodificador de Estado
Siguiente/Decodificador de Entrada dependiendo de los valores de entradas y del valor
de Estado Presente realimentado. De esta manera el circuito se mueve de un estado al
otro. Para asegurar que solo una transición de un estado al otro puede tener lugar
durante un periodo de Clock, los flip-flops deben ser de disparo por flanco (edge-
triggered).
© Universidad Estatal de Milagro – UNEMI
Las salidas son generadas por otro circuito combinatorial llamado Decodificador de
Salida. Las salidas son una función de Estado Presente de los flip-flops y de las entradas
In.
Estados: Representan
situaciones diferentes de
una secuencia en el tiempo
Segmentos: Representan la
transición de estado en
estado.
Solo se ejecutan en el
instante del flanco positivo
de Reloj
Los diagramas de estado relacionan las entradas versus las salidas de la MSS. No debe
incluir ni la señal de CLK ni la de Reset/Clear que se suponen implícitas en el diagrama
de estados. Esto quiere decir queda de la siguiente manera de acuerdo a la figura 4.
© Universidad Estatal de Milagro – UNEMI
Sea una máquina secuencial sincrónica que tiene una entrada de control X y otra de
reloj CLOCK. Dos salidas A y B. En flancos positivos consecutivos de CLOCK el código en
AB cambia de 00 a 01 a 10 a 11 y se repite. Todos esto si X es verdadera, si X es falsa la
máquina mantiene su estado presente.
En este caso vemos que la transición de estados depende únicamente del estado
presente del circuito, quiere decir que el circuito tiene por default que estando en un
estado tiene que hacer la transición al siguiente, a este tipo de máquinas se las conoce
como máquinas Moore.
Dibuje el diagrama de estados para una máquina secuencial sincrónica que debe
detectar la secuencia 1 0 1 en la entrada DT. Cada vez que se detecta la secuencia se
© Universidad Estatal de Milagro – UNEMI
Vemos ahora que la salida de este circuito varía dependiendo de la entrada y su estado
se mantiene si su entrada se mantiene, quiere decir que depende tanto de la entrada
como del estado presente, están relacionadas entre sí. A este tipo de máquinas se las
conoce como modelo Mealy.
2. Crear un diagrama de bloques que identifique las entradas y salidas del circuito.
Se recomienda tener claro cuando se generan las salidas y en qué condiciones.
Diseñar una MSS que tiene siguientes especificaciones: El circuito tiene una entrada w
y una salida z. Inicialmente la salida z es igual 0. La salida z se hace igual a 1 si durante
de dos periodos consecutivos de Clock la entrada w es igual a 1.
1.
2.
Hacer un diagrama de bloques donde se identifiquen las entradas y salidas, para este
caso tenemos la entrada W y la señal de reloj Clock, ambas entradas trabajan con
lógica positiva. Por último, tenemos la salida Z que igualmente tiene una lógica
positiva.
3.
© Universidad Estatal de Milagro – UNEMI
4.
5. y 6.
© Universidad Estatal de Milagro – UNEMI
Realizamos mapas de Karnaugh para cada uno de los estados siguientes y obtener su
expresión de salida sumarizada.
7.
Graficamos las expresiones de salida con las compuertas combinatoriales que hemos
aprendido en capítulos anteriores, se utiliza como variables de entradas los estados
presentes.
8.
© Universidad Estatal de Milagro – UNEMI
3. Bibliografía
Objetivos: ...................................................................................................................... 3
3. Bibliografía ......................................................................................................25
2
Circuitos secuenciales asíncronos
En el tema pasado cubrimos lo que son los circuitos secuenciales síncronos en donde
sus estados eran representados por flip flops que a su vez eran controlados por reloj.
Los cambios de estado ocurrían en el flanco positivo o negativo del pulso del reloj
dependiendo de su lógica. En este tema veremos circuitos secuenciales que no
dependen de un pulso de reloj y que utilizan flip flops, a estos circuitos los vamos a
llamar secuenciales asíncronos.
En vez de ser sus estados cambiados por pulsos de reloj, los circuitos secuenciales
asincrónicos cambian sus estados dependiendo de sus entradas si son 1 o 0 en
cualquier instante de tiempo. Para alcanzar un funcionamiento adecuado, las entradas
deben cambiar una a la vez. Además, debe haber suficiente tiempo entre los cambios
de valores de entrada para permitir al circuito alcanzar un valor estable. Es decir, no
debe producirse ningún cambio en las entradas mientras la maquina secuencial está en
transición de un estado a otro.
FIGURA 1: “Fundamentals of Digital Logic with VHDL Design 3er edition” Pag 585
FIGURA 2: “Fundamentals of Digital Logic with VHDL Design 3er edition” Pag 585
Como primer paso vamos a evaluar la expresión Y que es el estado siguiente para
todas las condiciones de entrada C (clock) y D, para esto nos vamos a referir a la figura
3 donde se muestra la tabla de excitación. Observamos que el circuito cambia su
estado únicamente cuando C= 1 y D difiere del estado presente (y), en otros casos el
circuito es estable. Se usarán los símbolos A y B para representar los estados presentes
y=0 y y=1, con esto obtendremos la tabla de flujo y el diagrama de estados como se
muestra en la figura 4.
FIGURA 3: “Fundamentals of Digital Logic with VHDL Design 3er edition” Pag 589
© Universidad Estatal de Milagro – UNEMI
FIGURA 4: “Fundamentals of Digital Logic with VHDL Design 3er edition” Pag 589
En una tabla de flujo con gran cantidad de filas, existen muchas posibles para fusionar
sus estados. En este caso existe un procedimiento más estructurado para tomar
decisiones. Un procedimiento valido es definido con el concepto de “estados
compatibles” o “estados equivalentes”.
Dos estados (filas en la tabla de flujo), Si y Sj, dicen ser compatibles o equivalentes si no
hay conflicto de estados para cualquier valor de entrada. Para cualquier valor de
entrada, una de las siguientes condiciones debe ser verdad:
Sin embargo, lo que se debe cumplir para los dos estados es que deben tener la misma
salida para cualquier valor de entrada.
FIGURA 5: “Fundamentals of Digital Logic with VHDL Design 3er edition” Pag 613
En base a las dos premisas y para el ejemplo que estamos llevando a cabo obtenemos
el diagrama de compatibilidad detallado en la figura 6.
FIGURA 6: “Fundamentals of Digital Logic with VHDL Design 3er edition” Pag 614
de transición de estados para las entradas w2w1= 01 y 11. La fila C se mantiene por no
tener compatibilidad con ningún estado, excepto para la entrada w2w1= 01 tiene que
cambiar su estado siguiente de H a A. Filas D y E son reemplazadas por la nueva
columna D, siguiendo el mismo razonamiento.
FIGURA 7: “Fundamentals of Digital Logic with VHDL Design 3er edition” Pag 614
FIGURA 8: AUTOR
Pero hay que considerar el hecho que en el diseño de una MSA en modo fundamental
solo una de las entradas puede cambiar a la vez. Esto significa que el cambio de las
entradas de la combinación 11 a la combinación 00 debe ejecutarse en dos pasos: 11-
10- 00 o 11- 01- 00. Se debe tener esto presente en el momento de diseñar el
Diagrama de Estados Primitivo, tal como se muestra en la figura 9.
© Universidad Estatal de Milagro – UNEMI
FIGURA 9: AUTOR
Se tiene los mismos 4 estados básicos que antes (a, b, c. d). El estado “e”, se define
para la nueva condición SET.
El camino de los estados e – f – a, realiza la transición de 11 a 00 suponiendo que lo
que se desea es mantener la salida set (10) durante todo el cambio.
Procederemos ahora a realizar el estado de flujos donde definiremos en las filas todos
los estados con sus valores de estado que los mantiene estable (encerrados en círculo)
y sus estados de valor siguiente que realizan la transición a otro estado, así mismo se
observa del lado derecho las salidas Q y Qn, como se pueden apreciar en la figura 10.
Aplicaremos ahora las reglas para obtener los estados compatibles para esto deberán
cumplir una de las premisas vistas anteriormente, por ejemplo si tomamos los estados
cuyas salidas son 1 tenemos los estados a,b,e,f. Si tomamos el estado a vemos que es
compatible con el estado b, puesto a que en todas las combinaciones de entrada se
tiene los mismos estados siguientes, recordar que el valor dont care lo podemos
utilizar como comodín y puede tomar cualquier valor de estado. Luego vemos que se
cumple la misma condición b con e, b con f y e con f. Ahora veamos los 2 únicos
estados c y d que tienen valor de salida 0, observamos que los 2 son compatibles
debido a que tienen los mismos valores de estado siguiente. Por lo tanto con estas
compatibilidades, graficamos lo que es el diagrama de máxima equivalencia como se
© Universidad Estatal de Milagro – UNEMI
Basado en las equivalencias podemos sacar los 6 estados con 3 parejas, de la siguiente
manera:
con el código 00, puede dirigirse por uno de los dos caminos: 11- 01- 00 o 11-10-00.
No se puede predecir qué camino va a tomar la MSA. Esto depende de los retardos
que experimentan las señales de las variables al pasar por sus respectivos circuitos. Por
lo tanto, ambos caminos deben estar libres de estados estables.
Si en paso del estado que tiene código 11 al estado con código 00 se encuentra otro
estado estable, la MSA puede quedarse en este estado. Es decir, la MSA no va a
funcionar correctamente. Por lo tanto, la asignación de los códigos de estados tiene
extrema importancia.
Las carreras no críticas se utilizan para evitar carreras críticas o para introducir
retardos de tiempo adicionales en transiciones secundarias. No existe una regla en
este caso, pero ayuda mucho tratar de conservar la distancia unitaria entre los códigos
de estados que tienen doble enlace.
© Universidad Estatal de Milagro – UNEMI
• Mapas de excitación
Resultado de la agrupación:
FIGURA 22: “Convertidores digital a analógico y analógico a digital (Gutiérrez, Gil)” Pag 1
Las entradas digitales D, C, B, A se derivan por lo general del registro del registro de
salida de un sistema digital. Los 16 (24) números binarios representados por estos 4
bits. Para cada numero de entrada, el voltaje de salida del convertidor DAC es un valor
único. Para este caso el voltaje de salida Vsal es igual en voltios al número binario, la
misma idea se aplicaría si su salida fuera corriente.
© Universidad Estatal de Milagro – UNEMI
FIGURA 23: “Convertidores digital a analógico y analógico a digital (Gutiérrez, Gil)” Pag
2
Para el primer método como vemos en la figura 24, cada interruptor S simboliza un
conmutador, el cual puede ser implementado por transistores JFET y en cuya
compuerta está relacionada electrónicamente con la salida de un bit de un circuito
digital. Siendo Sn-1 el bit con mayor peso ponderado MSB y So LSB el bit con menor
peso de ponderación del bit estas conectan a cada resistencia a dos posibles tensiones.
Si las dos posibles tensiones son iguales y de signo contrario permitirán unas tensiones
de salida simétricas, si una de las tensiones es positiva Vref y la otra tierra permitirá
únicamente un rango positivo de señal de salida.
© Universidad Estatal de Milagro – UNEMI
El segundo método convertidor DAC con redes escalera, estas permiten reducir rango
de valores de las resistencias. En la figura 25 se muestra un ejemplo, aunque no se
profundizará en el tema porque estas se ven superadas por las redes R-2R.
FIGURA 25: “Convertidores digital a analógico y analógico a digital (Gutiérrez, Gil)” Pag 3
Como tercer y último método, tenemos las redes R-2R, esta red resistiva tiene la
particularidad de que cualquiera que sea el número de secciones la resistencia vista
(excepto la final) es R. este circuito puede usarse como se muestra en la figura 26 para
obtener un conversor digital analógico muy eficiente.
FIGURA 26: “Convertidores digital a analógico y analógico a digital (Gutiérrez, Gil)” Pag
© Universidad Estatal de Milagro – UNEMI
Ahora se revisará lo que son los convertidores analógicos a digitales ADC (Analogic
Digital Converter), este convertidor es un dispositivo electrónico capaz de convertir
una señal analógica, ya sea de tensión o corriente, en una señal digital mediante un
cuantificador y codificándose en muchos casos en un código binario en particular, tal
como vemos en el caso práctico mostrado en la figura 27.
FIGURA 27: “Convertidores digital a analógico y analógico a digital (Gutiérrez, Gil)” Pag
4
Toda tecnología digital (audio, video) está basado por la técnica de muestreo o
sampling en inglés (figura 28). En música, cuando una grabadora digital toma una
muestra, toma una fotografía fija en forma de onda y convierte en bits, que pueden ser
almacenados y procesados.
FIGURA 28: “Convertidores digital a analógico y analógico a digital (Gutiérrez, Gil)” Pag
© Universidad Estatal de Milagro – UNEMI
La cuantización como proceso hace convertir valores continuos, por ejemplo: voltajes
en serie de valores discretos.
Por ejemplo, el audio digital (MP4, WAV, etc) tiene dos características, el muestreo
(tiempo) que representa el tiempo de captura de una señal y la cuantización (nivel) es
el complemento de amplitud del muestreo; es decir, el muestreo mide el tiempo, la
cuantización es la técnica donde un evento analógico es medido dado un valor
numérico.
FIGURA 29: “Convertidores digital a analógico y analógico a digital (Gutiérrez, Gil)” Pag
5
posición (010….00), lo que equivale a restarle la mitad del valor añadido o restado en
función de la salida del comparador. El proceso finaliza cuando todos los bits
cambiado.
FIGURA 30: “Convertidores digital a analógico y analógico a digital (Gutiérrez, Gil)” Pag
5
3. Bibliografía
Objetivos: ...................................................................................................................... 3
3. Bibliografía ......................................................................................................20
2
Fundamentos de FPGA
“La lógica programable requiere tanto de hardware como de software. Los dispositivos
lógicos programables pueden programarse para que el fabricante o el usuario pueda
llevar a cabo funciones lógicas específicas. Una ventaja de la lógica programable frente
a la lógica fija es que los dispositivos utilizan menos espacio de la tarjeta de circuito
impreso para una cantidad equivalente de lógica. Otra ventaja es que, con la lógica
programable, los diseños se pueden modificar fácilmente sin tener que recablear o
reemplazar componentes.” (Floyd, 2006, pág. 26)
En la Figura 3 se muestra un encapsulado BGA (Ball-Grid Array) típico para FPGA. Estos
tipos de encapsulados pueden tener unos 1.000 pines de entrada y salida.
“Normalmente, un bloque lógico de FPGA está compuesto por varios módulos lógicos
más pequeños, que son las unidades componentes básicas y que en cierto modo
resultan análogos a las macroceldas de un CPLD.
La Figura 4 muestra los bloques lógicos configurables fundamentales (CLB) dentro de la
© Universidad Estatal de Milagro – UNEMI
Módulos lógicos. “Un módulo lógico de un bloque lógico de una FPGA puede
configurarse para implementar lógica combinacional, lógica registrada o una
combinación de ambas. Se emplea un flip-flop que forma parte de la lógica asociada
para implementar lógica registrada. En la Figura 5 se muestra un diagrama de bloques
de un módulo lógico típico basado en LUT. Como ya sabemos, una LUT (Look-Up Table)
es un tipo de memoria programable que se utiliza para generar funciones lógicas
combinacionales suma de productos. La LUT realiza, esencialmente, el mismo trabajo
que una PAL o una PLA.” (Floyd, 2006, pág. 686)
© Universidad Estatal de Milagro – UNEMI
Por lo tanto, un diseño en VHDL será un fichero texto (no un dibujo), escrito en
cualquier editor, donde en la primera parte aparece la declaración de la entidad
(entity) y a continuación la definición de la arquitectura (architecture).
Entidad
• Las entidades pueden definir bien las entradas y salidas de un diseño más grande o
las entradas y salidas de un chip directamente.
“Port. Se indica que a continuación viene los puertos (o grupos señales) de entrada y/o
salida. Aquí se declaran las entradas y/o salidas con la sintaxis que se verá a
continuación. Las líneas empezadas por dos guiones son ignoradas por el compilador.
Así mismo, recordamos que el compilador no distingue las mayúsculas de las
minúsculas.
© Universidad Estatal de Milagro – UNEMI
End. Se indica que se ha acabado la declaración de puertos de entrada y/o salida, y que
se ha acabado la entidad” (Carpio, 2000, pág. 41)
Puertod: buffer bit; El cuarto puerto es un buffer de un solo bit, cuyo nombre es
"puertod"
Puertoe: inout std_logic; El quinto puerto es una entrada/salida del tipo estándar logic
de un solo bit” (Carpio, 2000, pág. 83)
Ahora que ya hemos revisado como declarar entradas y los tipos disponibles, vamos a
realizar a modo de ejemplo una declaración de entidad.
Escriba la declaración de identidad para un circuito digital con dos entradas (a, b) y una
salida f, como el mostrado:
Solución:
ENTITY ejemplo1 IS
© Universidad Estatal de Milagro – UNEMI
PORT ( x, y : IN std_logic ;
f : OUT std_logic ) ;
END ejemplo1 ;
Arquitectura
Cabecera de la arquitectura
Se da comienzo al programa.
Además, los comentarios se inician con dos guiones seguidos y terminan al final de la
línea.
“El lenguaje VHDL se organiza y trabaja con bibliotecas. Una biblioteca VHDL es un
lugar donde el compilador VHDL almacena información referente a un proyecto de
diseño particular, incluyendo documentos intermedios que son usados en el análisis, la
simulación y la síntesis.” (Carpio, 2000, pág. 102)
Una biblioteca estándar muy usada es la biblioteca IEEE. La biblioteca IEEE es solo de
lectura y es del tipo global pues permite ser usada por varios programas a la vez. El
diseñador no puede interactuar con ella ni modificar su contenido. Para usarla se debe
escribir al inicio del programa:
library ieee;
Declaraciones concurrentes
Asignación de señales
declaración with y cuando el valor coincide con una de las alternativas señaladas
después de la palabra clave when, entonces el valor correspondiente a esta alternativa
se le asigna al nombre de la señal.” (Carpio, 2000, pág. 103)
Cuando el valor de la señal para varias alternativas es el mismo, pueden ser expresadas
como una lista de valores separadas por barras verticales “|” La palabra clave others
sirve para cubrir todos los casos posibles faltantes.
Ejercicio
De esta aplicación se derivan una gran variedad de aplicaciones de las FPGA, citándose
algunas de ellas a continuación:
▪ “Sistemas de visión artificial: En el mundo actual existen cada vez en más números
dispositivos que disponen de un sistema de visión artificial. Ejemplo de esto son las
© Universidad Estatal de Milagro – UNEMI
▪ “Sistemas de imágenes médicas: Cada vez con más frecuencia se están empleando
las FPGAs para el tratamiento de imágenes biomédicas obtenidas mediante
▪ “Radio definida por software (SDR): De forma tradicional, una radio consistía en
una antena, encargada de recibir y enviar una señal, y un hardware encargado de
procesar esa señal, filtrarla, modificar su frecuencia, etc. Este hardware no podía
modificar de forma notable la funcionalidad para la cual había sido diseñada. En la
actualidad gran parte de esta funcionalidad se traslada a un dispositivo electrónico,
que con frecuencia suele ser una FPGA, pudiendo limitarse la parte analógica a una
antena y a los convertidores ADC y DAC.” (Carpio, 2000, pág. 211)
“La principal ventaja de este tipo de radio es que su funcionalidad viene definida por el
diseño del software, de forma que su modificación o actualización es sencilla y no
precisa de la sustitución de ningún elemento de hardware.” (Carpio, 2000, pág. 212)
Data Center / Cloud: El internet de las cosa (IoT), y en general el big data, están
generando un crecimiento exponencial de los datos adquiridos y procesados, que
junto con el análisis computacional de los mismos mediante técnicas de aprendizaje
profundo de múltiples operaciones paralelas/concurrentes, están conllevando una alta
demanda de capacidad computacional de baja latencia, flexible y segura que no se
resuelve añadiendo más servidores / blades, debido al disparatado incremento del
coste en espacio, consumo y dinero. Bajo este panorama, las puertas del mundo del
Data Center se están abriendo de manera masiva a las FPGAs, debido a su capacidad
de aceleración computacional, flexibilidad de configuración y la seguridad que
garantiza el hardware frente al software.
© Universidad Estatal de Milagro – UNEMI
3. Bibliografía
Objetivos: ...................................................................................................................... 3
3. Bibliografía ......................................................................................................16
2
Fundamentos de microcontroladores y sistemas embebidos
La CPU al igual que un microcomputador trae las instrucciones del programa, una a
una, desde la memoria donde están almacenadas, las interpreta (decodifica) y hace
© Universidad Estatal de Milagro – UNEMI
que se ejecuten. En la CPU se incluyen los circuitos de la ALU para realizar operaciones
aritméticas y lógicas elementales con los datos binarios.
El registro de estado (STATUS) agrupa los bits indicadores de las características del
resultado de las operaciones aritméticas y lógicas realizadas en la ALU. Entre estos
indicadores están el signo, el resultado (si es positivo o negativo), si el resultado es
cero, si hay acarreo o préstamo, el tipo de paridad (par o impar) del resultado, etc.
Tanto la memoria RAM como las memorias ROM son de acceso aleatorio, pero la
costumbre ha dejado el nombre de RAM para las memorias de lectura y escritura. El
término “acceso aleatorio” se refiere a que el tiempo necesario para localizar un dato
no depende del lugar de la memoria donde está almacenado. En las memorias de
acceso secuencial, en cambio, cuando más alejado este un dato de la posición a la que
se ha accedido por última vez, más se tarda en localizarlo.
dispone de una memoria no volátil del tipo EEPROM para almacenar datos fijos o que
solo sean cambiados esporádicamente.
Las arquitecturas Von Neumann y Harvard son modelos generales del hardware de los
ordenadores que representan dos soluciones diferentes al problema de la conexión de
la CPU con la memoria y a la organización de la memoria como almacén de
instrucciones y datos.
La arquitectura Von Neumann requiere menos líneas que la Harvard para conectar la
© Universidad Estatal de Milagro – UNEMI
CPU con la memoria, lo cual significa una conexión más simple entre ambas. Pero con
esta arquitectura es imposible manipular simultáneamente datos e instrucciones,
debido a la estructura de buses únicos, algo que, si es posible en la arquitectura
Harvard, porque tiene buses separados. Esto confiere a la arquitectura Harvard la
ventaja de una mayor velocidad de ejecución de los programas.
En los microcontroladores al estar todos los componentes del sistema dentro del
circuito integrado, desaparece la necesidad de minimizar el número de terminales de
la CPU, de modo que en ellos ha predominado la arquitectura Harvard. Los
microcontroladores PIC son un ejemplo de sistemas con arquitectura Harvard.
Los hay desde los que tienen los recursos mínimos hasta los que cuentan con los
periféricos más sofisticados, como módulos CAN (para comunicaciones robustas entre
varios microcontroladores), módulos para conectarse a los computadores vía USB o
funciones de hardware para el procesamiento digital de las señales, para trabajar con
datos multimedia. Los microcontroladores con esta última capacidad se conocen con el
nombre de DSP (Digital Signal Processor).
Sin embargo, cuando se desarrollan proyectos mucho más complejos, el uso del
lenguaje ensamblador se torna cada vez más engorroso. Entonces se prefiere optar por
los compiladores de alto nivel, para los cuales un set RISC no es obstáculo.
© Universidad Estatal de Milagro – UNEMI
Cada vez existen más productos que incorporan un microcontrolador con el fin de
aumentar sustancialmente sus prestaciones, reducir su tamaño y coste, mejorar su
fiabilidad y disminuir el consumo. Algunos fabricantes de microcontroladores superan
el millón de unidades de un modelo determinado producidas en una semana. Este
dato puede dar una idea de la masiva utilización de estos componentes. Los
microcontroladores están siendo empleados en multitud de sistemas presentes en
nuestra vida diaria, como pueden ser juguetes, horno microondas, frigoríficos,
televisores, computadoras, impresoras, módems, el sistema de arranque de nuestro
coche, etc. Y otras aplicaciones con las que seguramente no estaremos tan
familiarizados como instrumentación electrónica, control de sistemas en una nave
espacial, etc.
En la actualidad los Sistemas Embebidos, tienen una capacidad de cálculo bastante alta
(varios MIPS) necesaria para realizar labores complejas tales como el cálculo de la FFT
(transformada rápida de Fourier) para realizar filtros digitales, análisis de señales,
cálculos matemáticos complejos para tomar decisiones en tiempo real, tan complejas
que eran imposibles de hacer en este tipo de dispositivos electrónicos de hace algunos
años.
Los Sistemas Embebidos son pequeños sistemas que se salen de la definición
tradicional de un Computador. Son sistemas que se diseñan pensando en
una aplicación concreta y por esa razón es posible realizar un desarrollo de una forma
tan ajustada a las necesidades, implicando un bajo tamaño, reducido costo y alta
repetitividad.
Sus aplicaciones abarcan un sin fin de sistemas y aparatos, los cuales se encuentran en
nuestra vida cotidiana, mucho más cerca de lo que creemos y el número de
aplicaciones aumenta día a día, encontrándose en áreas tan diversas como:
hogar.
Existen muchas otras aplicaciones, pero con estos ejemplos basta para darse una idea
general de las posibilidades de desarrollo y de las aplicaciones existentes y futuras.
3. Bibliografía
Unidad 3
Máquinas secuenciales síncronas y asíncronas
Tema 1
Circuitos secuenciales síncronos
Objetivos:
4
EJEMPLO:
Especificaciones:
1.- Con Z=1, la máquina se pone en marcha y con Z=0 la máquina se para.
2.- Si al pulsar X y la máquina está parada, inmediatamente se pondrá en marcha.
3.- Si al pulsar X y la máquina está funcionando, inmediatamente se detendrá.
En función de la entrada
(x) y de un estado actual
(y), el circuito suministra:
• La salida Z para
controlar el
funcionamiento.
• La información relativa
al estado al que debe
pasar la máquina.
6
CIRCUITOS SECUENCIALES ASÍNCRONOS
Una de sus principales características es que internamente tienen una secuencia
de estados libre, no requieren señales externas de control. Utilizan “Latches” como
elementos de memoria o conexiones de retroalimentación directa.
DESVENTAJAS:
• Se utilizan solo en
circuitos sencillos.
• Gran complejidad en el
diseño.
• Dificultad en la
codificación de los
estados internos.
• Sensibles a los
fenómenos aleatorios.
7
CIRCUITOS SECUENCIALES SÍNCRONOS
La evolución temporal entre estados internos no es libre, está controlada por una
señal externa denominada señal de reloj (CLK). Se utilizan Flip Flops como
elementos de memoria, las retroalimentaciones dejan de ser directas.
VENTAJAS:
• No hay restricción en la
codificación de los
estados internos.
• No hace falta eliminar
fenómenos aleatorios.
• El diseño es más
simple.
8
Introducción
Las máquinas secuenciales síncronas (MSS) también son conocidas como
Maquinas de Estado Finito (MEF) o autómatas finitos. Este nombre se deriva del
hecho que el comportamiento funcional de estos circuitos puede ser presentado
con un numero finito de los estados y una vez diseñados reaccionan a las
diferentes secuencias de entrada.
Moore: Las salidas del circuito dependen únicamente del estado presente o
interno del circuito
Mealy: Las salidas dependen del estado presente y de las entradas
9
Subtema 1: MSS Modelo Mealy
Una MSS modelo Mealy tiene la característica de que sus salidas depende del
estado presente del circuito y de sus entradas, como se muestra en la figura:
10
Subtema 1: MSS Modelo Mealy
Funcionamiento: La estructura de una MSS se constituye por un conjunto de
Circuitos Combinatoriales y algunos flip-flops que constituyen el Bloque de
Memoria de Estados.
11
Subtema 2: MSS Modelo Moore
Aunque las salidas siempre dependen del Estado Presente, ellas no siempre
dependen de las entradas, y este es el caso de las MSS modelo Moore.
12
Subtema 2: MSS Modelo Moore
Cualquier sistema secuencial puede ser realizado mediante un Modelo Moore o
Mealy, a excepción de alguna especificación detallada. Se puede convertir de un
modelo a otro.
Pueden existir máquinas híbridas siendo algunas salidas del tipo Moore y otras
del tipo Mealy.
13
Subtema 3: Diagrama de estado
El Diagrama de Estados es una herramienta gráfica que describe las transiciones paso a paso
de una MSS.
El Diagrama de Estados para un circuito secuencial ocupa el mismo lugar que la Tabla de
Verdad para los circuitos combinatoriales.
Se representa como un arreglo de círculos (óvalos) interconectados con segmentos con flechas.
Cada círculo (óvalo) representa un estado (Estado Presente) de la MSS y las flechas
representan los flancos de Reloj que hacen que la MSS cambie a otro estado (Estado
Siguiente).
14
Subtema 3: Diagrama de estado
Formato:
Relaciona las entradas versus las salidas de la MSS. No debe incluir ni la señal de CLK ni la de
Reset/Clear que se suponen implícitas en el diagrama de estados.
15
Subtema 3: Diagrama de estado
Las condiciones de entradas y salidas se refieren a las variables especificadas en el
formato.
• Las condiciones de salida le pertenecen al estado saliente (de donde viene la flecha) y no
al estado entrante.
• Si existen “n” entradas, de cada estado deben salir “2n” segmentos.
• Si uno de los segmentos no es presentado, se asume que es una condición no existente
“don’t care”.
16
Ejemplo. Analizar el siguiente diagrama de estados:
17
Subtema 3: Diagrama de estado
Ejemplo Máquina de Moore
Una máquina secuencial síncrona funciona a través de una entrada “x” y genera dos
salidas “A” y “B”. En cada disparo de la señal de reloj se producen las transiciones
00, 01, 10, 11 y retorna a su estado inicial. Si x=0 no cambia de estado y mantiene el
código de A y B en la salida. Si x=1 cambia de estado y mantiene el código de A y B
durante la transición.
18
Subtema 3: Diagrama de estado
19
Subtema 3: Diagrama de estado
En este caso para cada estado las salidas se mantienen sin importar si cambian las
entradas, por lo tanto, se sugiere utilizar una MSS modelo Moore.
20
Subtema 3: Diagrama de estado
Ejemplo Máquina de Mealy
Dibuje el diagrama de estados para una máquina secuencial sincrónica que debe
detectar la secuencia 1 0 1 en la entrada DT. Cada vez que se detecta la secuencia
se debe generar inmediatamente un pulso en la salida P. Asuma que si puede existir
“traslape” de la secuencia, es decir una nueva secuencia puede empezar con el
mismo “1” con que termina la anterior.
21
Subtema 3: Diagrama de estado
22
Subtema 3: Diagrama de estado
23
Subtema 3: Diagrama de estado
Diseñar un circuito secuencial síncrono para el control de movimiento de un robot.
Teniendo en cuenta las siguientes especificaciones:
27
Bibliografía
» Floyd, T. (2006). Fundamentos de Sistemas Digitales. Madrid. Novena
Edición. Editorial Pearson.
» RONALD. (2007). Sistemas Digitales Principios y Aplicaciones.
Barcelona: Pearson, (2 Ejemplares disponibles en Biblioteca).
» 2.- Carmen Baena – Manuel Jesús Bellido. (2003). Problemas de
Circuitos y Sistemas Digitales. MadridMcGraw - -Hill.
» 3.- Carlos A. Reyes (2008), Microcontroladores PIC Programación en
Basic, Ecuador; Microchip
» 4.- Santiago Corrales V. (2006), Electrónica Práctica con
Microcontroladores PIC, Ecuador; Microchip
» 5.- Jose María Angulo U. (2007), Microcontroladores PIC Diseño
práctico de aplicaciones,
Sistemas Digitales
Unidad 3
Máquinas secuenciales síncronas y asíncronas
Tema 1
Circuitos secuenciales síncronos
SUBTEMAS
2
OBJETIVOS
3
¿Qué vimos la clase anterior?
4
Subtema 1: MSS Modelo Mealy
Una MSS modelo Mealy tiene la característica de que sus salidas depende del
estado presente del circuito y de sus entradas, como se muestra en la figura:
5
Subtema 2: MSS Modelo Moore
Las salidas dependen únicamente de las estados presentes.
6
Subtema 3: Diagrama de estado
El Diagrama de Estados es una herramienta gráfica que describe las transiciones paso
a paso de una MSS.
El Diagrama de Estados para un circuito secuencial ocupa el mismo lugar que la Tabla
de Verdad para los circuitos combinatoriales.
Se representa como un arreglo de círculos (óvalos) interconectados con segmentos con
flechas.
Cada círculo (óvalo) representa un estado (Estado Presente) de la MSS y las flechas
representan los flancos de Reloj que hacen que la MSS cambie a otro estado (Estado
Siguiente).
7
Ejemplo. Analizar el siguiente diagrama de estados:
8
Subtema 3: Diagrama de estado
Ejemplo Máquina de Moore
Una máquina secuencial síncrona funciona a través de una entrada “x” y genera dos
salidas “A” y “B”. En cada disparo de la señal de reloj se producen las transiciones
00, 01, 10, 11 y retorna a su estado inicial. Si x=0 no cambia de estado y mantiene el
código de A y B en la salida. Si x=1 cambia de estado y mantiene el código de A y B
durante la transición.
9
Subtema 3: Diagrama de estado
10
Subtema 3: Diagrama de estado
En este caso para cada estado las salidas se mantienen sin importar si cambian las
entradas, por lo tanto, se sugiere utilizar una MSS modelo Moore.
11
Subtema 3: Diagrama de estado
Ejemplo Máquina de Mealy
Dibuje el diagrama de estados para una máquina secuencial sincrónica que debe
detectar la secuencia 1 0 1 en la entrada DT. Cada vez que se detecta la secuencia
se debe generar inmediatamente un pulso en la salida P. Asuma que si puede existir
“traslape” de la secuencia, es decir una nueva secuencia puede empezar con el
mismo “1” con que termina la anterior.
12
Subtema 3: Diagrama de estado
13
Subtema 3: Diagrama de estado
14
Subtema 4: Análisis de circuitos secuenciales síncronos
1. Estudiar las especificaciones que pide el circuito y
entender como va funcionar.
15
Subtema 4: Análisis de circuitos secuenciales síncronos
16
Subtema 4: Análisis de circuitos secuenciales síncronos
• Crear una máquina detectora de secuencias de bits. Los datos binarios ingresarán a través de
una entrada “X” en sincronismo con una señal de reloj CLK. La salida “Z” funciona de tal
manera que se pondrá en 1 cuando detecte la secuencia 1011. Suponer que se pueden solapar
secuencias sucesivas. Implementar el circuito con flip flops JK
X
DETECTOR DE SECUENCIA
Z
1011
CLK
17
Subtema 4: Análisis de circuitos secuenciales síncronos
• Modelo Moore
18
Subtema 4: Análisis de circuitos secuenciales síncronos
19
Subtema 4: Análisis de circuitos secuenciales síncronos
Est. Est.
Actual X 0 1 Z Actual X 0 1 Z
A A A B 0
B B C B 0
C C A D 0
D D C E 0
E E C B 1
20
Subtema 4: Análisis de circuitos secuenciales síncronos
• Simplificación de
estados
Est.
Actual X 0 1 Z
A A B 0
B C B 0
C A D 0
D C E 0
E C B 1
21
Subtema 4: Análisis de circuitos secuenciales síncronos
• Codificación de estados
• Tabla de estados
siguientes
22
Subtema 4: Análisis de circuitos secuenciales síncronos
• Ecuaciones de Salida con Mapas de Karnaugh
𝑍 = 𝑄2
23
Subtema 4: Análisis de circuitos secuenciales síncronos
24
Subtema 4: Análisis de circuitos secuenciales síncronos
25
Subtema 4: Análisis de circuitos secuenciales síncronos
26
Subtema 4: Análisis de circuitos secuenciales síncronos
27
Subtema 4: Análisis de circuitos secuenciales síncronos
𝑍 = 𝑄2
28
Subtema 4: Análisis de circuitos secuenciales síncronos
• Modelo Mealy
29
Subtema 4: Análisis de circuitos secuenciales síncronos
• Tabla de fases inicial, simplificación y
codificación
30
Subtema 4: Análisis de circuitos secuenciales síncronos
• Tabla de transiciones
31
Subtema 4: Análisis de circuitos secuenciales síncronos
32
Subtema 4: Análisis de circuitos secuenciales síncronos
33
Subtema 4: Análisis de circuitos secuenciales síncronos
34
Bibliografía
» Floyd, T. (2006). Fundamentos de Sistemas Digitales. Madrid. Novena
Edición. Editorial Pearson.
» RONALD. (2007). Sistemas Digitales Principios y Aplicaciones.
Barcelona: Pearson, (2 Ejemplares disponibles en Biblioteca).
» 2.- Carmen Baena – Manuel Jesús Bellido. (2003). Problemas de
Circuitos y Sistemas Digitales. MadridMcGraw - -Hill.
» 3.- Carlos A. Reyes (2008), Microcontroladores PIC Programación en
Basic, Ecuador; Microchip
» 4.- Santiago Corrales V. (2006), Electrónica Práctica con
Microcontroladores PIC, Ecuador; Microchip
» 5.- Jose María Angulo U. (2007), Microcontroladores PIC Diseño
práctico de aplicaciones,
Sistemas Digitales
Unidad 3
Máquinas secuenciales síncronas y asíncronas
Tema 2
Circuitos secuenciales asíncronos
SUBTEMAS
2
OBJETIVOS
Analizar el funcionamiento de los circuitos secuenciales asíncronos.
3
CIRCUITOS SECUENCIALES ASÍNCRONOS
Una de sus principales características es que internamente tienen una secuencia
de estados libre, no requieren señales externas de control. Utilizan “Latches” como
elementos de memoria o conexiones de retroalimentación directa.
DESVENTAJAS:
• Se utilizan solo en
circuitos sencillos.
• Gran complejidad en el
diseño.
• Dificultad en la
codificación de los
estados internos.
4 4
Subtema 1: Comportamiento Asíncrono
DEFINICIÓN
5
Subtema 1: Comportamiento Asíncrono
MODO FUNDAMENTAL
Para tener una operación confiable solo una de las entradas debe cambiarse
a la vez. Además, debe haber suficiente tiempo entre los cambios de los
valores de entrada para permitir al circuito alcanzar un estado estable. Es
decir, no debe producirse ningún cambio en las entradas mientras la MSA
esta en transición de un estado estable al otro.
Cuando se cumplen estas condiciones, se dice que una MSA opera en modo
fundamental.
6
Subtema 1: Comportamiento Asíncrono
FUNCIONAMIENTO
7
Subtema 2: Análisis de circuitos secuenciales asíncronos
Diseño de MSA
1. Recepte las especificaciones del diseño y formule precisamente que es lo
que la maquina hará.
2. Desarrolle un diagrama de estados primitivo que defina la secuencia
requerida de salida para la secuencia de entrada prescrita, debe cumplir lo
siguiente:
a) Condición de retención “estable”00/0
a
01/0
10/0
8
Subtema 1: Comportamiento Asíncrono
Diseño de MSA
9
Subtema 1: Comportamiento Asíncrono
REDUCCION DE ESTADOS
Para los circuitos asíncronos es muy útil
reducir el número de estados porque se
termina implementando circuitos más
sencillos. Para esto vamos a presentar el
proceso de fusión.
Lo que se debe cumplir para los dos estados es que deben tener la
misma salida para cualquier valor de entrada.
11
EJEMPLO (A,H), (B,F), (B, G), (D,E), (F,G) y
(G,H).
En resumen los estados compatibles son:
12
Subtema 1: Comportamiento Asíncrono
En resumen los estados compatibles son: (A,H), (B,F), (B, G), (D,E),
(F,G) y (G,H). DIAGRAMA DE COMPATIBILIDAD
TABLA REDUCIDA
13
Subtema 3: Diagramas de estado
Hay que considerar el hecho que en el diseño de una MSA en modo fundamental
solo una de las entradas puede cambiar a la vez. Esto significa que el cambio de las
entradas de la combinación 11 a la combinación 00 debe ejecutarse en dos pasos: 11-
10- 00 o 11- 01- 00. Se debe tener esto presente en el momento de diseñar el
Diagrama de Estados Primitivo.
14
Subtema 3: Diagramas de estado
15
Subtema 3: Diagramas de estado
TABLA DE ESTADOS PRIMITIVOS: Realizaremos una tabla de estados
primitivos indicando como el circuito se mueve de un estado a otro aplicando
cierta entrada, veremos además condiciones de estabilidad.
Est.
00 01 11 10 Q
Actual
16
Subtema 3: Diagramas de estado
REDUCCIÓN DE ESTADOS
17
Subtema 3: Diagramas de estado
DIAGRAMA DE EQUIVALENCIAS
Se tienen las siguientes equivalencias:
1. (a-b), (b-e), (b-f), (c-d), (e-f)
18
Subtema 3: Diagramas de estado To (a-b), T1 (c-d), T2 (e-f)
19
Subtema 3: Diagramas de estado
ASIGNACION DE CODIGO DE ESTADOS
Para la asignación de códigos de estados debemos considerar la condiciones de
carrera critica y no criticas.
T (y1, y0)
20
Subtema 3: Diagramas de estado
MAPA DE EXCITACION
Con la tabla primitiva reducida
procederemos a realizar el mapa
de excitación con los códigos de
estados asignados, tal como se
muestra en la tabla de la parte
inferior.
21
Subtema 3: Diagramas de estado
MAPA DE LAS VARIABLES DE EXCITACION
22
Subtema 3: Diagramas de estado
MAPA PARA LA SALIDA Q.H
De igual manera realizaremos un mapa de Karnaugh para minimizar la función
de salida, obteniendo finalmente su función minimizada
23
Subtema 3: Diagramas de estado
DIAGRAMA CIRCUITAL O ESQUEMATICO
24
Bibliografía
» Floyd, T. (2006). Fundamentos de Sistemas Digitales. Madrid. Novena
Edición. Editorial Pearson.
» RONALD. (2007). Sistemas Digitales Principios y Aplicaciones.
Barcelona: Pearson, (2 Ejemplares disponibles en Biblioteca).
» 2.- Carmen Baena – Manuel Jesús Bellido. (2003). Problemas de
Circuitos y Sistemas Digitales. MadridMcGraw - -Hill.
» 3.- Carlos A. Reyes (2008), Microcontroladores PIC Programación en
Basic, Ecuador; Microchip
» 4.- Santiago Corrales V. (2006), Electrónica Práctica con
Microcontroladores PIC, Ecuador; Microchip
» 5.- Jose María Angulo U. (2007), Microcontroladores PIC Diseño
práctico de aplicaciones,
Sistemas Digitales
Unidad 3
Máquinas secuenciales síncronas y asíncronas
Tema 2
Circuitos secuenciales asíncronos
SUBTEMAS
2
OBJETIVOS
3
ACTIVIDAD DE INICIO
¿Cuál es la función de un ADC?
https://www.youtube.com/watch?v=2TlZgITmCVs
&ab_channel=Rinc%C3%B3nIngenieril
4
CIRCUITOS SECUENCIALES
GLITCH:
Una consideración a tener presente al diseñar e implementar la lógica combinacional
son los problemas técnicos relacionados con los intervalos de tiempo, denominados
“GLITCH”.
Estos ocurren cuando se tiene un retardo diferente que pasa a través de un circuito
que hace que la salida tenga un comportamiento erróneo antes de que llegue un
estado estacionario.
5
CIRCUITOS SECUENCIALES
Timing Hazards (Peligros de Sincronización/Tiempo)
6
Tiempos involucrados en Hazards
Los peligros pueden ser estáticos o dinámicos. Los 4 tipos de peligros
estáticos y dinámicos son:
Static Hazards, son condiciones en las que la salida de un circuito produce un glitch cuando
debe permanecer en un valor constante, con frecuencia estos static hazards ocurren cuando
una señal y su complemento momentáneamente asumen el mismo valor.
Dynamic Hazards, son condiciones en las que la salida de un circuito tiene la posibilidad de
que su salida cambie más de una vez como el resultado de una única transición de entrada;
generalmente se producen cuando una señal asume múltiples valores, o también puede
ocurrir cuando hay varios caminos con diferentes retardos.
7
EJEMPLO:
8
Subtema 4: Convertidores A/D y D/A
CANTIDADES DIGITALES: tienen un valor
discreto (determinado), como una de dos
posibilidades: 0 o 1, bajo o alto, verdadero o
falso, etc.
9
Subtema 4: Convertidores A/D y D/A
10
Subtema 4: Convertidores A/D y D/A
11
Subtema 4: Convertidores A/D y D/A
CONVERSIÓN DIGITAL – ANALÓGICO
(DAC)
12
Subtema 4: Convertidores A/D y D/A
Salida analógica = K * Entrada Digital; K (Constante) = Valor de
proporcionalidad
Cuando sea un voltaje K estará en Volts y cuando sea una corriente K estará
en Ampers
13
Subtema 4: Convertidores A/D y D/A
PESOS DE ENTRADA
14
Subtema 4: Convertidores A/D y D/A
15
Subtema 4: Convertidores A/D y D/A
RESOLUCIÓN • Se define como el cambio
más pequeño que puede
ocurrir en la salida analógica
como resultado de un
cambio en la entrada digital.
• La resolución es igual a la
ponderación del LSB.
• Para un DAC de N bits el
número de niveles distintos
es 2𝑁 , y el número de pasos
es 2𝑁 − 1.
• La resolución es lo mismo
que el factor de
proporcionalidad.
16
Subtema 4: Convertidores A/D y D/A CIRCUITOS
CONVERTIDORES D/A
17
Subtema 4: Convertidores A/D y D/A
• ¿Cuál sería el voltaje para 1010?
Subtema 4: Convertidores A/D y D/A
DAC con salida de corriente
Determine la resolución y la
salida de escala completa
para un DAC de Vref = 10 V y
R=10 Kohm.
19
Subtema 4: Convertidores A/D y D/A
APLICACIONES
20
Subtema 4: Convertidores A/D y D/A
CONVERSIÓN ANALÓGICO - DIGITAL
(ADC) CIRCUITOS
CONVERTIDORES A/D
21
Subtema 4: Convertidores A/D y D/A
FUNCIONAMIENTO
22
Subtema 4: Convertidores A/D y D/A
ADC DE RAMPA DIGITAL
23
Subtema 4: Convertidores A/D y D/A
ADQUISICIÓN DE DATOS
Existen muchas aplicaciones en donde los datos analógicos
deben digitalizarse y transferirse hacia la memoria de un
computador. El proceso mediante el cual el computador
adquiere esos datos analógico digitalizados se llama
adquisición.
Al proceso de adquirir un solo punto de datos se le conoce
como muestreo de la señal analógica, y a ese punto de
datos se le conoce
Existen muchas aplicaciones en donde los datos
analógicos deben digitalizarse y transferirse hacia la
memoria de un computador. El proceso mediante el cual
el computador adquiere esos datos analógico digitalizados
se llama adquisición.
24
¿Dudas o cometarios?
25 25
Bibliografía
» Floyd, T. (2006). Fundamentos de Sistemas Digitales. Madrid. Novena
Edición. Editorial Pearson.
» RONALD. (2007). Sistemas Digitales Principios y Aplicaciones.
Barcelona: Pearson, (2 Ejemplares disponibles en Biblioteca).
» 2.- Carmen Baena – Manuel Jesús Bellido. (2003). Problemas de
Circuitos y Sistemas Digitales. MadridMcGraw - -Hill.
» 3.- Carlos A. Reyes (2008), Microcontroladores PIC Programación en
Basic, Ecuador; Microchip
» 4.- Santiago Corrales V. (2006), Electrónica Práctica con
Microcontroladores PIC, Ecuador; Microchip
» 5.- Jose María Angulo U. (2007), Microcontroladores PIC Diseño
práctico de aplicaciones,
Sistemas Digitales
Unidad 4
Procesamiento digital de datos
Tema 1
Fundamentos de FPGAs
SUBTEMAS
» Subtema 1: Arquitectura
» Subtema 2: Lenguaje VHDL
» Subtema 3: Aplicaciones
2
OBJETIVOS
3
ACTIVIDAD DE INICIO
¿Qué es un PLD?
4
Introducción
CLASIFICACIÓN DE CI DE LÓGICA PROGRAMABLE
⦁ Los CI de Lógica Programable pueden ser clasificados de la siguiente
manera:
5
Subtema 1: Introducción
LOGICA PROGRAMABLE
6
Introducción
7 7
Introducción
8 8
Introducción
Comparación de una estructura PAL (dispositivo lógico de matriz programable) y una GAL
(Dispositivo lógico de matríz genérica)
9
Introducción
Introducción
⦁ Los PAL se programaron eléctricamente
usando patrones binarios y un sistema de
programación electrónico especial
disponible del fabricante o de un tercero.
12
Introducción
Ejercicio 2: Determinar X
Introducción
⦁ 20-28 pines
⦁ Número de entradas y salidas
⦁ Número de compuertas
⦁ Frecuencia
⦁ Retardos
⦁ Voltaje
15
Introducción
⦁ MAX 10 FPGA
⦁ MAX V CPLD
⦁ MAX II CPLD
⦁ COOLRUNNER-II
⦁ QUARTUS PRIME DEVELOPMENT SUITE
16
Subtema 1: Arquitectura FPGAs
FPGA
(Field-Programmable
Gate Array)
17
Subtema 1: FPGAs
18
Subtema 1: Arquitectura FPGAs
ARQUITECTURA
Los tres elementos principales de una
FPGA son:
19
Subtema 1: Arquitectura FPGAs
CARACTERÍSTICAS
• Cuando los bloques CLB son relativamente simples,
decimos que la arquitectura FPGA es de
granularidad fina.
• Cuando los bloques CLB son de mayor tamaño y
más complejos, decimos que la arquitectura es de
granularidad gruesa.
• Los bloques de E/S permiten una interfaz con el
mundo exterior
• Los dispositivos FPGA de gran tamaño pueden tener
decenas de miles de bloques CLB, además de memoria
y otros recursos.
• Las densidades pueden ir desde los centenares de
módulos lógicos hasta aproximadamente 180.000
módulos lógicos.
• Las tensiones de alimentación continua están
comprendidas habitualmente entre 1,2 V y 2,5 V.
20 20
Subtema 1: Arquitectura FPGAs
Bloques Lógicos Configurables (CLB)
21
Subtema 1: Arquitectura FPGAs
Módulo lógico
22
Subtema 1: Arquitectura FPGAs
24 24
SUBTEMA 1: ARQUITECTURA
Por ejemplo, mediante tres entradas se
pueden seleccionar hasta ocho celdas
de memoria, por lo que una LUT con
tres variables de entrada permite
generar una suma de productos con
hasta ocho términos. Dentro de las
celdas de memoria LUT puede
programarse un patrón de 1s y 0s.
Cada 1 significa que el término
producto asociado aparecerá en la
salida suma de producto mientras que
un 0 significa que dicho término
producto asociado no aparecerá en la
salida suma de productos. La expresión
de la salida suma de productos
resultante es:
25
Subtema 1: Arquitectura FPGAs
⦁ Comúnmente se utilizan los que están basados en LUT (lookup table) o tabla de
búsqueda que contiene celdas de almacenamiento.
Una LUT de dos entradas
X1 X0
0 0
0 1
1 0
1 1
27
Subtema 1: Arquitectura FPGAs
RAM Contents
Address Data
A A B C D F
4 Input
B 0 0 0 0 0
LUT F
C 0 0 0 1 0
(16 x 1 RA M)
D
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 1
A 0 1 1 1 0
B 1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
F 1 0 1 1 0
1 1 0 0 1
C 1 1 0 1 1
D 1 1 1 0 1
1 1 1 1 1
28
Subtema 1: Arquitectura FPGAs
• Es fácil entender que es una LUT si imaginamos una tabla de verdad almacenada
en una memoria.
• Usualmente las LUT tienen cuatro o cinco entradas, por lo tanto 16 o 32 celdas
de almacenamiento.
• Las celdas de almacenamiento son celdas tipo SRAM.
• Cada celda puede almacenar un 0 o un 1 lógico.
• En las salidas de los LUT se conecta la circuitería adicional
29
SUBTEMA 1: ARQUITECTURA
LUT (LOOKUP TABLE)
⦁ Como las celdas de almacenamiento son de tipo
SRAM, la información se pierde cuando se apaga la
fuente de alimentación.
⦁ A menudo una pequeña memoria PROM que
mantiene los datos se incluye en la misma tarjeta
donde esta el FPGA.
⦁ Cuando se enciende la fuente de poder los datos se
cargan automáticamente desde la PROM a las
celdas de almacenamiento de las LUT.
30
SUBTEMA 1: ARQUITECTURA
31
ACTIVIDAD DE INICIO
¿Qué es VHDL?
https://www.youtube.com/watch?v=XFyu9JhG7Nw
32 32
SUBTEMA 2: LENGUAJE VHDL
FLUJO DE DISEÑO:
⦁ PROBLEMA – IDEA
⦁ HDL
⦁ HERRAMIENTA DE DESARROLLO
⦁ SIMULACIÓN
⦁ IMPLEMENTACIÓN
⦁ PRUEBAS
⦁ MEDICIONES
SUBTEMA 2: LENGUAJE VHDL
34
SUBTEMA 2: LENGUAJE VHDL
• Sentencias concurrentes.
• Sentencias secuenciales.
• Declaraciones que serán ejecutadas en • Son ejecutadas en función del flujo del
paralelo. programa.
Nivel de compuerta:
[FPGA]. Recuperado de
https://images.app.goo.gl/Hb1KmMPgAG2KL9hh7
Aplicaciones FPGAs
⦁ Aeroespacial
⦁ Defensa
⦁ Automotriz
⦁ Industria médica
⦁ Conexión alámbrica e inalámbrica
⦁ Seguridad
⦁ Visión artificial
¿Dudas o cometarios?
47 47
Bibliografía
» Floyd, T. (2006). Fundamentos de Sistemas Digitales. Madrid. Novena Edición. Editorial Pearson.
» VHDL. Recuperado de Google Images (https://images.app.goo.gl/D5efx7sbeuM1yFiJ8).
» FPGA. Recuperado de Google Images (https://images.app.goo.gl/Hb1KmMPgAG2KL9hh7).
Sistemas Digitales
Unidad 4
Procesamiento digital de datos
Tema 2
Fundamentos de microcontroladores y sistemas embebidos
SUBTEMAS
» Subtema 1: Funcionamiento
» Subtema 2: Microcontroladores
2
ACTIVIDAD DE INICIO
¿Qué es un Microcontrolador?
INTRODUCCION AL MICROCONTROLADOR
» Un poco de historia
4 4
INTRODUCCION AL MICROCONTROLADOR
Un poco de historia
5 5
DIFERENCIA ENTRE MICROCONTROLADOR Y MICROPOCESADOR
» Microprocesador
El microprocesador es el cerebro de
un sistema informático. Los
microprocesadores son los circuitos
integrados más complejos.
Las partes esenciales de un
microprocesador son los registros, la
sección de control que decodifica los
programas, los buses que
transportan información digital, y la
unidad aritmética/lógica que
proporciona la capacidad de cálculo
y de tomar decisiones lógicas.
6 6
DIFERENCIA ENTRE MICROCONTROLADOR Y MICROPOCESADOR
» Microprocesador
7 7
INTRODUCCION AL MICROCONTROLADOR
8
DIFERENCIA ENTRE MICROCONTROLADOR Y MICROPOCESADOR
» Microcontrolador (µC)
Es un circuito integrado que contiene
toda la estructura de una
microcomputadora, CPU, memorias
RAM, ROM, circuitos de entrada y salida
y módulos con aplicaciones especiales.
Micro por lo pequeño, y controlador por
que se utiliza para controlar dispositivos
eléctricos, mecánicos, etc.
9 9
DIFERENCIA ENTRE MICROCONTROLADOR Y MICROPOCESADOR
A mediados de los años 70s los fabricantes
de circuitos integrados crearon un
dispositivo el cual contenía toda la
estructura de una micro computadora, es
decir, CPU, memoria RAM, ROM, Circuitos
de entrada y salida.
Cada fabricante de microcontroladores
oferta un elevado número de modelos
diferentes, desde los más sencillos hasta los
más sofisticados.
10 10
DIFERENCIA ENTRE MICROCONTROLADOR Y MICROPOCESADOR
Características Microprocesador Microcontrolador
Función Ejecutar instrucciones de software para Controlar sistemas en tiempo real
procesar datos
Arquitectura Von Neumann o Harvard Harvard
Memoria Requiere memoria externa para almacenar Incluye memoria integrada
programas y datos
Periféricos Requiere componentes externos para Incluye periféricos integrados como puertos de
conectarse a dispositivos entrada y salida, conversores analógico-digitales,
temporizadores y comunicación serial
Aplicaciones Sistemas que requieren una alta velocidad Sistemas embebidos que requieren control en
de procesamiento y no necesitan control en tiempo real, como dispositivos médicos,
tiempo real, como ordenadores personales automóviles, electrodomésticos, entre otros
y servidores
» Subtema 1: Funcionamiento
ARQUITECTURA INTERNA
13
» Subtema 1: Funcionamiento
14
» Subtema 1: Funcionamiento
15
» Subtema 1: Funcionamiento
Limitación:
Longitud de las instrucciones por el bus de datos (varios accesos a
memoria para instrucciones complejas).
velocidad de operación (bus único para datos e instrucciones) e
impide superponer ambos tiempos de acceso.
16
» Subtema 1: Funcionamiento
ARQUITECTURA HARVARD
17
» Subtema 1: Funcionamiento
ARQUITECTURA HARVARD
18 18
» Subtema 1: Funcionamiento
19 19
» Subtema 1: Funcionamiento
20
» Subtema 1: Funcionamiento
3.- EPROM
(Erasable Programmable Read Only Memory), pueden
borrarse y grabarse muchas veces.
En la superficie de la cápsula del microcontrolador existe
una ventana de cristal por la que se puede someter al chip
de la memoria a rayos ultravioleta para producir su borrado
y emplearla nuevamente.
21
» Subtema 1: Funcionamiento
22
» Subtema 1: Funcionamiento
5. FLASH
Se puede escribir y borrar en circuito al igual que la
EEPROM, pero suelen disponer de mayor
capacidad que estas últimas.
Pueden ser programadas con las mismas tensiones
de alimentación del microcontrolador.
La alternativa FLASH está recomendada frente a la
EEPROM cuando se precisa gran cantidad de
memoria de programa no volátil. Es más veloz y
tolera más ciclos de escritura/borrado.
23
» Subtema 1: Funcionamiento
24
» Subtema 1: Funcionamiento
REGISTROS Y BITS
25
» Subtema 1: Funcionamiento
26
» Subtema 1: Funcionamiento
RECURSOS AUXILIARES
» Circuito de reloj.
» Temporizadores y contadores.
» Conversores AD y DA.
» Comparadores
» Modulador de ancho de pulsos (PWM)
» Puerto serie
» Otros puertos de comunicación (USB, CAN)
» Sistema de protección.
27
» Subtema 1: Funcionamiento
28
» Subtema 2: Microcontroladores
29
» Subtema 2: Microcontroladores
30
» Subtema 2: Microcontroladores
31 31
» Subtema 2: Microcontroladores
32
» Subtema 2: Microcontroladores
GAMA ENANA
PIC 12C(F)XXX, de 8 patas (pines)
33
» Subtema 2: Microcontroladores
GAMA ENANA
34
» Subtema 2: Microcontroladores
36 36
» Subtema 2: Microcontroladores
GAMA MEDIA
GAMA ALTA
» Alcanzan 58 instrucciones de 16 bits
» Sistema de gestión de interrupciones
vectorizadas
» Incluyen variados controladores de periféricos,
puertas de comunicación serie y paralelo
» Arquitectura abierta.
39 39
» Subtema 2: Microcontroladores
EL PIC16X84
40
» Subtema 2: Microcontroladores
42 42
» Subtema 2: Microcontroladores
ASPECTO EXTERNO
•VDD
•VSS
•OSC1/CLKIN
•OSC2/CLKOUT
•MCLR9#
•RA0-RA4
•RA4/TOCKI
•RB0-RB7
•RB0/INT
43 43
¿Dudas o cometarios?
44 44
Bibliografía
» Carlos A. Reyes (2008), Microcontroladores PIC Programación en Basic, Ecuador; Microchip
Sistemas Digitales
Unidad 4
Procesamiento digital de datos
Tema 2
Fundamentos de microcontroladores y sistemas embebidos
SUBTEMAS
2
OBJETIVOS
3
ACTIVIDAD DE INICIO
¿Cuáles son las aplicaciones del
microcontrolador?
4
» Subtema 2: Microcontroladores
PARÁMETROS TÉCNICOS
FRECUENCIA DE FUNCIONAMIENTO
» La frecuencia de funcionamiento de
un microcontrolador es la velocidad a
la que ejecuta las instrucciones del
programa.
» Esta velocidad depende del tipo de
oscilador que utiliza el
microcontrolador, que puede ser
interno o externo.
» La frecuencia de funcionamiento
puede variar desde unos pocos
kilohercios hasta varios gigahercios.
6
» Subtema 2: Microcontroladores
TIPOS DE OSCILADORES
» Osciladores sintonizados, tanque o LC:
Son aquellos que utilizan un circuito
resonante formado por una bobina y uno o
más condensadores.
8
» Subtema 2: Microcontroladores
» Osciladores de relajación:
12
» Subtema 3: Aplicaciones de microcontroladores
13
» Subtema 3: Aplicaciones de microcontroladores
CONSIDERACIONES BÁSICAS A LA HORA DE MONTAR UN PROYECTO
14 14
» Subtema 3: Aplicaciones de microcontroladores
PROYECTOS DE APLICACIÓN
• Diagrama de conexión de un led en el puerto B.0 o
pin 6 para hacer un parpadeo de un led.
15
» Subtema 3: Aplicaciones de microcontroladores
PROYECTOS DE APLICACIÓN
• Diagrama esquemático de conexión para un semáforo de 2 intersecciones.
16 16
» Subtema 3: Aplicaciones de microcontroladores
PROYECTOS DE APLICACIÓN
• Diagrama esquemático de conexión de 8 LEDS, para el proyecto de luces con PIC. Debido a la
capacidad de corriente que puede entregar este PIC, no se necesita de buffers amplificadores..
17 17
» Subtema 3: Aplicaciones de microcontroladores
PROYECTOS DE APLICACIÓN
• Diagrama de conexión de 8 leds y un pulsador, cada que se pulsa el botón, los leds aumentan en
código binario.
18 18
» Subtema 3: Aplicaciones de microcontroladores
PROYECTOS DE APLICACIÓN
• Manejo de un display de 7 segmentos con el CI 7447
19 19
» Subtema 3: Aplicaciones de microcontroladores
PROYECTOS DE APLICACIÓN
• Manejo de 4 displays de 7 segmentos para rotulación
20 20
» Subtema 4: Aplicaciones de sistemas embebidos
21
» Subtema 4: Aplicaciones de sistemas embebidos
CARACTERÍSTICAS
■ Tienen un procesador central. Los módulos centrales de procesamiento pueden estar
formados por microcontroladores, FPGAS, microprocesadores o una mezcla de los
anteriores.
■ Son sistemas confiables.
■ Requieren poco o nulo mantenimiento. En su gran mayoría no exigen mantenimiento
dedicado.
■ Son sistemas seguros. Tienen protección del software incrustado, utilizan protocolos
encriptados, se diseñan para ser dispositivos Anti – Hacking. Aunque el gran auge de estos
sistemas y su uso masivo y muchas veces descuidado está abriendo una brecha en su
seguridad.
■ Son eficientes en cuanto al consumo de energía.
■ Son de propósito específico.
22
» Subtema 4: Aplicaciones de sistemas embebidos
PROYECTOS DE APLICACIÓN
» Diagrama de bloques de
un sistema de control de
entorno domótico.
23
» Subtema 4: Aplicaciones de sistemas embebidos
PROYECTOS DE APLICACIÓN
» Diagrama de bloques de
un huerto automatizado
mediante IoT.
24 24
» Subtema 4: Aplicaciones de sistemas embebidos
PROYECTOS DE APLICACIÓN
» Los microcontroladores, microprocesadores y sus
placas de desarrollo, permiten tener acceso a
una gran cantidad de datos, así como tele-
controlar diversos dispositivos.
» Al ser una tendencia a nivel mundial la conexión
de todos los dispositivos entre sí, se puede
generar un ecosistema IoT.
25
» Subtema 4: Aplicaciones de sistemas embebidos
IoT
26
» Subtema 4: Aplicaciones de sistemas embebidos
Domótica e IoT
“Estos dispositivos IoT están revolucionando el mercado, por su bajo coste, por su concepto de plug
& play, su fácil instalación y porque resuelven soluciones sencillas sin tener que entrar en el mundo
profesional de los sistemas” (Carretero, 2017).
» DESVENTAJAS
» VENTAJAS ■ Al ser productos de bajo coste, la calidad y la
■ Inversión inicial baja.
estética dejan qué desear.
■ Dispositivos de fácil instalación y
■ Las actualizaciones pueden hacer que el
configuración (enfocados al cliente final).
producto deje de funcionar.
■ Fácil comunicación (wifi o radio).
■ Falta de comunicación entre marcas y/o
■ Ideal para pequeñas casas o pisos.
productos (falta de integración similar a sistemas
■ Productos novedosos e interesantes en
domóticos con estándares).
cada momento.
■ Baja fiabilidad (gran parte por la comunicación
■ Productos accesibles a nivel mundial.
inalámbrica).
■ Nivel de seguridad bajo.
27
¿Dudas o cometarios?
28 28
Bibliografía
» Carlos A. Reyes (2008), Microcontroladores PIC Programación en Basic, Ecuador; Microchip