Actualizado el 12 de Julio del 2020 (Publicado el 23 de Julio del 2019)
2.020 visualizaciones desde el 23 de Julio del 2019
2,5 MB
18 paginas
Creado hace 9a (17/11/2015)
UPMDIE
INDUSTRIALES
2 - Sistemas embebidos
Sistemas embebidos
CPU, Memorias, dispositivos de E/S y buses
Sistema microprocesador ejemplo: Arduino
©Universidad Politécnica de Madrid
s
e
.
m
p
u
@
e
c
i
Sistemas embebidos
▪ ¿Qué es un sistema embebido/empotrado?
Es un sistema electrónico de propósito específico donde el
procesador/computador está totalmente dedicado al dispositivo que
controla y encapsulado en él. Al contrario de un computador de
propósito general, como un ordenador personal, un sistema empotrado
lleva a cabo tareas predefinidas con requisitos muy específicos (no
valdrían para otra cosa).
▪ ¿Por qué un sistema embebido?
Al estar dedicados a una tarea específica, es posible optimizarlo,
reduciendo el tamaño, coste y/o consumo. Los sistemas embebidos
generalmente se producen en masa, así que los ahorros pueden ser
multiplicados por millones.
UPMDIE
INDUSTRIALES
Fundamentos de Electrónica: Microprocesadores
2
Sistemas embebidos: elementos
▪ Como todo sistema electrónico dispone de...
magnitudes
físicas
Sensores
Procesamiento
(analógico, digital,
uControlador)
Alimentación
Actuadores
magnitudes
físicas
▪ En un sistema embebido el procesamiento (al menos en parte), es realizado
por un microcontrolador que ejecuta un programa de control para cumplir
con un unas determinadas tareas o funcionalidades.
UPMDIE
INDUSTRIALES
Fundamentos de Electrónica: Microprocesadores
3
Sistemas embebidos: ejemplos
Sensores
Actuadores
Funcionalidades
UPMDIE
INDUSTRIALES
Fundamentos de Electrónica: Microprocesadores
4
Sistemas embebidos: ejemplos
Sensores
Actuadores
Funcionalidades
Motores
Pantalla
Indicadores
Válvulas
Cerrojos
Calefactor
Bombas
Ventiladores
…
Control lavado
Control secado
Interfaz usuario
Monitorización
Mantenimiento
Seguridad
Ecología
…
Botones
Selectores
Temperatura
Corriente
Humedad
Velocidad
Vibración
Nivel
Presión
Escapes
…
UPMDIE
INDUSTRIALES
Fundamentos de Electrónica: Microprocesadores
5
Sistemas embebidos: ejemplos
Entradas
digitales
Entradas
analógica
Salidas
digitales
Salidas
analógicas
Comunicaciones
bajo protocolo
uC /
MCU
UPMDIE
INDUSTRIALES
http://asic-soc.blogspot.com.es/2007/12/embedded-system-for-automatic-washing.html
Fundamentos de Electrónica: Microprocesadores
6
Sistemas embebidos: ejemplos
Microcontroladores
En vez de hacer un sistema centralizado, donde una sola MCU
controla todo, se tiende a hacer sistemas distribuidos, donde
cada MCU controla una parte y se comunican entre ellas para
coordinarse (al final, la idea es remplazar la lógica de control
mediante micros fácilmente programables. Si usásemos una
sola MCU, el control se complicaría)
UPMDIE
INDUSTRIALES
http://am.renesas.com/applications/appliances/washing_machine_high/index.jsp
Fundamentos de Electrónica: Microprocesadores
7
Sistema embebido: ¿qué necesitamos?
Sensores y actuadores
• Electrónica de acondicionamiento para leer los sensores (ej: amplificadores…)
• Electrónica de acondicionamiento para operar los actuadores (ej: drivers…)
l
r
o
d
a
o
r
t
n
o
c
o
r
c
i
m
l
e
d
e
t
r
a
p
r
o
P
Dispositivos E/S
• Leer el estado de señales digitales/discretas (ej: teclados, sensores…)
• Leer el valor de señales analógicas/continuas (ej: sensores…)
• Actuar sobre señales digitales (ej: luces, calefactores, válvulas…)
• Actuar sobre elementos “analógicos” (ej: motores…)
• Comunicarnos con otros dispositivos (ej: pantallas, relojes/calendarios…)
• Medir el paso del tiempo y actuar en consecuencia (ej: temporizadores…)
• Atender a eventos críticos en tiempo predecible (ej: interrupciones…)
Memoria
• Almacenar datos de operación (RAM) y “settings” (FLASH/EEPROM)
• Almacenar programas (RAM ó ROM/FLASH)
Microprocesador
• Ejecutar los programas almacenados en memoria
• Operar con los datos (operaciones aritméticas y lógicas)
• Controlar (leer y escribir sobre) los dispositivos de E/S para que actúen
UPMDIE
INDUSTRIALES
Fundamentos de Electrónica: Microprocesadores
8
Sistema embebido: elementos
Unidad
Central de
Proceso
CPU
(Microprocesador)
Memoria
Dispositivos
E/S
microcontrolador
Electrónica de
acondicionamiento
l
s
e
a
ñ
e
S
s
a
n
r
e
t
x
e
Sensores y
actuadores
Sistema embebido
Objetos sobre
los que se actúa
y se mide
UPMDIE
INDUSTRIALES
microcontrolador
Fundamentos de Electrónica: Microprocesadores
9
Microcontrolador y buses
Unidad
Central de
Proceso
CPU
(Microprocesador)
m
n
Memoria
Dispositivos
E/S
Señales
externas
Bus de direcciones
Bus de datos
Bus de control
m bits direcciones : 2m posiciones/direcciones de memoria distintas
n bits de datos : n bits transmitidos en paralelo
varias señales de control (reloj, reset, read/write, interrupción, etc. )
Capacidad : 2m x n bits
Transferencias
de datos:
Escritura: uP Memoria Entrada: E/S uP
Lectura : Memoria uP Salida: uP E/S
(todas con el
micro)
UPMDIE
INDUSTRIALES
El tamaño del bus de datos coincide normalmente con el tamaño de la palabra con la que el uP puede
trabajar y hacer operaciones. Así, hablamos de micros de 8, 16 o 32 bits. Es la unidad mínima de
información que se intercambia entre el uP, la memoria y/o los dispositivos de E/S.
Fundamentos de Electrónica: Microprocesadores
10
Unidad Central de Proceso (CPU)
▪ Encargada de la ejecución de todas las operaciones y movimiento de datos
entre el microprocesador, la memoria y los dispositivos de E/S.
Típicamente se divide en:
Banco de registros: almacena datos y resultados de operaciones con la ALU
Unidad Aritmético Lógica (ALU): Realiza operaciones entre registros (+, -, and, or…)
Unidad de control: Secuencia las acciones en función de la instrucción a ejecutar
Memoria
de programa
Unidad de Control
Banco de
registros
ALU
(Unidad
Aritmético
Lógica)
Memoria
de datos
UPMDIE
INDUSTRIALES
Fundamentos de Electrónica: Microprocesadores
11
Dispositivos de E/S
▪ Circuitería que permite la interacción entre el microprocesador y las señales
externas, bien sea para leer el valor de estas señales, para modificarlas o
para que operen de una determinada manera.
Unidad
Central de
Proceso
CPU
(Microprocesador)
Memoria
Bus de direcciones
Bus de datos
Bus de control
E/S Paralelo
E/S Serie
Convertidor
Analógico a Digital
Convertidor
Digital a Analógico
Controlador uSD
Controlador USB
Dispositivos E/S
s
a
n
r
e
t
x
e
s
e
a
ñ
e
S
l
UPMDIE
INDUSTRIALES
Fundamentos de Electrónica: Microprocesadores
12
Memorias
▪ Son circuitos integrados de almacenamiento
Bus de direcciones
Bus de datos
13
A12..0
D
10
A9..0
D7..0
8
CS
R/W
1K x 8
Señales de control
CS
R/W
8K x 1
11
A10..0
D3..0
4
CS
R/W
2K x 4
▪ Se estructuran normalmente en 2m (m = ancho del bus de direcciones)
posiciones de memoria de n (n = ancho del bus de datos) bits cada una
▪ Diseño interno optimizado para almacenar muchos bits a bajo coste (los
elementos de memoria no son biestables), por eso son bastante lentas
comparadas con otros circuitos digitales. La estructura interna de cada celda
de memoria depende del tipo de memoria y de su tecnología de fabricación.
UPMDIE
INDUSTRIALES
Fundamentos de Electrónica: Microprocesadores
13
Memorias y dispositivos de almacenamiento
Registros
Caché
bytes
ns
Memorias
SRAM
DRAM
SDRAM
DDRAM
FLASH RAM
…
Volátiles
No-volátiles
RAM
PROM
EPROM
EEPROM
FLASH
Otros dispositivos de memoria
(Dispositivos de almacenamiento
masivo)
UPMDIE
INDUSTRIALES
© R.H. King Academy
Dispositivos magnéticos (discos duros)
Dispositivos
ópticos
CD-ROM, CD-R, CD-RW
DVD-ROM, DVD-RW…
Tera-Bytes
ms
Blue-Ray
Fundamentos de Electrónica: Microprocesadores
14
Firmware
▪ Denominamos firmware al programa que está cargado en la MCU y que se encarga del
control del sistema.
int main() {
while( true ) {
char key = read_keyboard();
if (key = ‘C’) {
do_cold_washig();
}
if (key = ‘T’) {
char temp = read_temp_encoder();
do_hot_washig( temp );
}
}
}
int do_cold_wasshing() {
// 100 washing cycles
for( int i = 0 ; i < 100 ; i++ ) {
do_spin_right(10); // 10 seconds
do_wait(10);
do_spin_left(10);
}
// Drying (fast spin) during 3 minutes
initialize_time_lapse();
do_fast_spin();
while ( time_lapsed() < 180 ) { } ;
stop_motors();
}
int stop_motors() {
// Motor driver is in bit 3 of PORTB
clrBit(PORTB, 3); // set pin to 0
}
▪ En un sistema embebido, el programa está siempre activo, ya que el sistema debe
estar preparado para responder a su entorno en cualquier momento y sin
intervención (sin tener que cargar un programa, por ejemplo)
▪ En la mayoría de los sistemas empotrados la medición del tiempo juega un papel
fundamental, ya que el sistema suele interactuar con elementos que necesitan tiempo
para reaccionar y funcionalidades que dependen del tiempo.
UPMDIE
INDUSTRIALES
Fundamentos de Electrónica: Microprocesadores
15
Ejemplo de microcontrolador: el AVR AtMega168/328
Memoria de programa
Memoria de datos
CPU
Dispositivos de E/S
UPMDIE
INDUSTRIALES
Fundamentos de Electrónica: Microprocesadores
16
Ejemplo de sistema microprocesador: Arduino (I)
AtMega168
Serie-USB
Conector
USB
Conector E/S
Regulador
Conector
UPMDIE
INDUSTRIALES
Fundamentos de Electrónica: Microprocesadores
17
Ejemplo de sistema microprocesador: Arduino (II)
▪ La versión utilizada para las prácticas y trabajos
Circuito comunicación
USB
Pines de E/S
Reset
Conector USB
Circuitería
de
alimentación
Reloj
Microcontrolador
AtMega168
Conector
alimentación
externa
Placa “Shield” de Arduino
diseñada para las
prácticas y trabajos
UPMDIE
INDUSTRIALES
Fundamentos de Electrónica: Microprocesadores
18
Comentarios de: 2 - Sistemas embebidos (0)
No hay comentarios