Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Clase0 Cap1 Introducción 2020-1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 75

Introducción a Sistemas Embebidos

EL6004

Introducción
Clase 0

Prof. Jimmy Tarrillo


2020-1
1
2
Objetivos del Curso
• Entender y analizar las características y funcionamiento de
los microprocesadores y microcontroladores
• Plantear algoritmos que sean implementados en C y
Assembler
• Codificar, simular y depurar programas en lenguajes
Assembler y C para microcontroladores y SoC, usando
periféricos analógicos y digitales.
• Analizar el consumo de energía, tiempo de ejecución, y uso
de recursos de programas ejecutados en un microprocesador
y microcontrolador.
• Desarrollar proyectos controlados por un microcontrolador o
microprocesador en un sistema embebido.

3
Objetivos del Curso
Competencias ICACIT/ABET:
• b1: Capacidad de diseñar y llevar a cabo experimentos
(nivel 2)
• b2: Capacidad para analizar información (nivel 2)
• c1: Capacidad para diseñar un sistema, un componente o
un proceso para satisfacer las necesidades dentro de
restricciones realistas (nivel 2)

4
Objetivos del Curso
Resultados del aprendizaje
• Entender y analizar las características y funcionamiento de
los microprocesadores y microcontroladores
• Plantear algoritmos que sean implementados en C y
Assembler
• Codificar, simular y depurar programas en lenguajes
Assembler y C para microcontroladores y SoC, usando
periféricos analógicos y digitales.
• Analizar el consumo de energía, tiempo de ejecución, y uso
de recursos de programas ejecutados en un microprocesador
y microcontrolador.
• Desarrollar proyectos controlados por un microcontrolador o
microprocesador en un sistema embebido.
5
Evaluación
• 1 Proyecto del curso que originan una nota P.
• 4 Prácticas Calificadas: se anulará la menor.
• 7 Laboratorios. Se anulará la menor.
• 5 Controles online de 5 puntos cada uno. Se eliminará la nota mínima
• 1 Examen Final

Nota Final = 0.25 PC + 0.25 L + 0.05C + 0.2P + 0.25 E


donde:
PC = Promedio de 3 notas máximas de las prácticas calificadas.
L = Promedio de las 6 notas más altas de laboratorio
C = Nota de control Online
P = Nota de proyecto
E = Nota de Examen Final
6
¿DUDAS?

7
Objetivos
• Conocer los conceptos básicos de los
Sistemas Embebidos
• Conocer las herramientas de trabajo
• Entender la dinámica del curso

8
¿Qué es un sistema embebido (SE)?

¿Cuáles son las tecnologías usadas en


un SE?

¿Cuáles son los pasos para el


desarrollo de un SE?

¿Qué conocimiento debo tener para


desarrollar un SE?
9
10
Sistemas Embebidos en UTEC

Monitoreo de calidad de Monitoreo de calidad BCI basado en FPGA


tierra en agricultura a de aire en ciudades
gran escala Jordan Terrazos Christian Acuña
Eysenck Mateo El aire que respiras

Seguridad de equipos Testing en procesos Monitoreo de Tolerancia a fallos


mineros controlados de fabricación de parámetros por radiación
remotamente vidrios atmosféricos cósmica 11
Sistemas Embebidos en UTEC

Lugares remotos:
Carencia de: red
eléctrica, señal
telefónica, difícil
acceso….

12
Sistemas Embebidos en UTEC
Estación Monitoreo de Calidad de agua
meteorológica ríos

Franco Lama
Gustavo Solano

Reducción de consumo
energético
Certificaciones Portabilidad
Necesidad pedagógica Otros metales pesados
FPGA!? Bacterias
Autonomía 13
Sistemas Embebidos en UTEC
El aire que Respiras Monitoreo de ríos Calidad de agua
(Joseph Peña)

Aumentar el rango
Diseño de red
Diseño del equipo

Autonomía Energética
Red de sensores Reducción de consumo
Calibración energético
Diseño Portabilidad
FPGA, Raspberry?
14
Motivación: Salud

http://cseweb.ucsd.edu/classes/wi15/cse237A-a/handouts/8_iot.pdf 15
Computación: genérica vs dedicada

Swiss Federal Institute of Technology 16


Características de los Sistemas
Embebidos

Swiss Federal Institute of Technology 17


Características de los Sistemas
Embebidos
Debe ser dedicado
• Centrado en una aplicación: El conocimiento del
ambiente de funcionamiento durante el diseño
puede ser usado para minimizar los recursos y
optimizar su robustez.

Swiss Federal Institute of Technology 18


Características de los Sistemas
Embebidos
Debe ser eficiente

• Dimensiones (peso, volumen…)


• Recursos (tamaño de datos y
código)
• Velocidad (tiempo de ejecución)
• Energía (potencia/tiempo)
• Costo

19
Características de los Sistemas
Embebidos
Debe ser confiable (dependable):
• Reliability: Probabilidad que un sistema trabaje
correctamente considerando que comienza en t=0
• Maintainability: Probabilidad que un sistema trabaje
bien luego de un tiempo t luego de un error
• Availability: Probabilidad que el sistema funcione en
el tiempo t
• Safety: No genera daños
• Security: Confidencialidad y autentificación en las
comunicaciones

20
Confiabilidad

Imagen de http://www.ni.com/white-paper/14412/en/ 21
Confiabilidad
λ : Tasa de fallos

MTBF (Mean Time between fail): Tiempo medio entre fallos (reparables). Usado
normalmente durante el tiempo de vida útil
MTTF (Mean Time to fail): Tiempo medio para fallos (no reparables).
𝑡
−𝑀𝑇𝐵𝐹
Confiabilidad: 𝑅 𝑡 = 𝑒 −𝜆𝑡 = 𝑒

Probabilidad de fallo: 𝐹 𝑡 = 1 − 𝑅 𝑡

Ejemplo:
Si un sistema tiene un MTBF de 300000 horas, la confiabilidad del sistema en
el sexto mes será:
6 meses = 4380 horas
4380
−300000
𝑅 4380 = 𝑒 = 0.9855, es decir, 98.55%
Por ello, la probabilidad de fallo será de 1.45%
22
Desarrollo de sistemas
embebidos
…y de cualquier sistema

23
Tener claro el proyecto
• Lista de requerimientos
¿Para qué? ¿quién lo usará?¿en qué contexto funcionará?

• ¿Cómo se verá al final?


No todo es electrónica. ¿Carcasa? ¿Interface usuario?
¿Alcances?

• ¿Qué tan bien funcionará?


Validación funcional y paramétrica

• ¿Cómo validaré?
Design for testability, definición de pruebas, check list
24
Etapa electrónica
• Lista de requerimientos
Definir: entradas y salidas, interface, alimentación, test
Señales digitales, analógicos, niveles max/min, protocolo de comunicación,
señales de test, autonomía energética, volumen, peso…

• Nivel de desarrollo
Prototipos para validar idea, validación funcional, tomar datos,
prototipo de producto (prototipado básico)
Diagrama de bloques, diagrama esquemático, simulación, protoboard, diseño y
fabricación de tarjetas, carcasa, diagrama de flujo, firmware, software,
calibración, pruebas de campo, tiempo de vida….

• Considerar: Tiempo y dinero


Disponibilidad de componentes, recurso humano, tiempo de desarrollo (time to market)
25
Diagrama de bloques
Entender de manera clara y simple las etapas del sistema electrónico.
Debe ayudar a delimitar el trabajo, validarlo e integrarlo

https://www.pardell.es/instrumentacion-medica.html
https://www.analfatecnicos.net/pregunta.php?id=16
26
Diagrama de bloques
Entender de manera clara y simple las etapas del sistema electrónico.
Debe ayudar a delimitar el trabajo, validarlo e integrarlo

https://www.researchgate.net/figure/Block-diagram-of-the-travelling-crane-electrical-drive_fig2_235248905

27
Diagrama de bloques
Entender de manera clara y simple las etapas del sistema electrónico.
Debe ayudar a delimitar el trabajo, validarlo e integrarlo

Schematic block diagram of the processing electronic device RT-2/E


28
https://www.researchgate.net/figure/Schematic-block-diagram-of-the-processing-electronic-device-RT-2-E_fig2_47797085
Diagrama de bloques
Entender de manera clara y simple las etapas del sistema electrónico.
Debe ayudar a delimitar el trabajo, validarlo e integrarlo

Sensor CO y
adaptación Interfaz usuario
5v
Control Mod. Bluetooth
central
Sensor CO2 (ATmega328P)
Pantalla LCD
5v
3.3V
Sensor MP Pulsador Led
5v 5v

5v
[7 a 20]v
Alimentación 3.3V

29
Desarrollo de circuitos
• Orden • Ruido
• Cuidado con los cables • Armar y verificar por etapas

30
Desarrollo de circuitos
• Orden • Ruido
• Cuidado con los cables • Armar y verificar por etapas

31
Desarrollo de circuitos
• Cuidar la separación y ancho de pistas. (digital mínimo
0.016, normal 0.024, potencia mayor a 0.032)
• Cuidar pasantes. ¿Metalizado?
• Tipo de empaque, verificar existencia.
• Posición de componentes: potencia, conectores, digital,
analógico, RF
• Herramientas: Eagle, OrCAD, EasyEDA…

32
Componentes y tecnologías

33
Componentes de los sistemas
embebidos
Sensores Procesamiento Actuadores

Comunicaciones

34
Componentes de los sistemas
embebidos
Sensores Procesamiento Actuadores

Comunicaciones

35
Componentes de los sistemas
embebidos
Sensores Procesamiento Actuadores

Comunicaciones

36
Componentes de los sistemas
embebidos
Sensores Procesamiento Actuadores

Comunicaciones

37
Componentes de los sistemas
embebidos
Sensores Procesamiento Actuadores
Microcontrolador

Microprocesador
SoC

FPGA

Comunicaciones

38
Componentes de los sistemas
embebidos
Sensores Procesamiento Actuadores
Microcontrolador

Microprocesador
SoC

FPGA

Comunicaciones

Alimentación ? 39
Elementos de procesamiento

¿Qué cosas se necesita para procesar


información?

40
FPGA: Field Programmable Gate Array

Xilinx
Altera
Actel (Microsemi)
Lattice

Hardware reconfigurables
Se implementan circuitos, no programas
Algunos con procesador embebido: SoC
41
Procesador

8086: Intel, 16 bits, 1978


• “Solo” procesa
• No tiene memorias
• No tiene periféricos
• Inherentemente
secuencial PowerPC: IBM/Motorola, MC68000: Motorola,
32 bits, 1992 16/32 bits, 1979

i7-4720HQ: Intel, 64
Cortex-A72: Intel, 32/64 bits, 4 núcleos 2015
bits, 1/4 núcleos 2015
42
Ejemplos de procesadores
• Intel:
– 4004 (4 bits), 8080 y 8085 (8 bits),
– 16 bits: 8086, 80286,
– 32 bits: 80386 (MMU), 80486 …
– Motorola:
• 8 bits: 6800, 6820, 6850 …
• 16 bits: 68000
• 32 bits: 68020 (Apple Macintosh, Sun 3 Workstation, Amiga y Atari ST)
– MOS Technology:
• 6502 (KIM-1, Apple, Atari, Commodore, Acorn, Oric, Galeb...)
– Zilog:
• Z80: compatible con 8080 (Spectrum, Partner, TRS703, Z-3 and Galaxy)
– Motorola + Apple + IBM:
• PowerPC: Apple Macintosh (1994 – 2006), consolas de videojuegos

43
Ejemplos de procesadores
• MIPS Computer Systems:
– Comenzó en la U. Santford
– R2000, R3000, R4000….
– Otorga licencias
– Usados en equipos Cisco, controladoras de impresoras láser,
decodificadores de TV, robots, PlayStation 2…
• ARM
– Acorn RISC Machines, Advanced RISC Machines
– ARM fundado como spin-off de Acorn y Apple
– Licencias de arquitectura, set instructions
– Apple iPods, Apple iPhone, iPod Touch, Apple iPad, Nintendo
DS, Nintendo Game Boy Advance .

44
Microcontrolador

BUSES BUSES
BUSES

BUSES

45
Microcontrolador

Microcontrolador

BUSES BUSES
BUSES

BUSES

46
Sistem On Chip - SoC
System on Chip (SoC)
Microcontrolador

BUSES BUSES
BUSES

BUSES

47
Ejemplo de plataforma: Arduino
• Plataforma basada en microcontroladores Atmel
• Open source hardware
• Programación: denominado “Sketch”, lenguaje Wiring basado en C.
Se puede programar en C o assembler.
• “Bajo costo”
• 3.3 V
ATmega328P Intel Curie ATmega32U4
8 bits 32 bits 8 bits

ATmega2560 SAMD21
8 bits 32-bit ARM Cortex M0+

https://www.arduino.cc 48
Ejemplo: Raspberry Pi Zero
• SoC BCM2835
• 1GHz ARM11 76JZF-S core single-core
• 5V micro-USB power adapter
• 1 micro USB port, 40 GPIO pins, mini
HDMI port
• SDRAM 512MB, Micro SD card slot
• Puede usar Linux
• ≈ 4W

≈$5

Ref: https://www.raspberrypi.org/ 49
Ejemplo: Raspberry Pi 3
• SoC BCM2837
• 1.2GHz 64-bit quad-core ARM Cortex-A53
• 5V micro-USB power adapter
• 802.11n wireless LAN, Bluetooth 4.1
• Bluetooth Low Energy (BLE)
• 4 USB ports, 40 GPIO pins, Full HDMI port
• Ethernet port
• 3.5mm audio jack and composite video
• Camera/ Display interface (CSI)/(DSI)
• SDRAM 1GB, Micro SD card slot
• VideoCore IV 3D graphics core ≈$35
• Puede usar Linux
• ≈ 4W
Ref: https://www.raspberrypi.org/ 50
Elementos de procesamiento

51
Elementos de procesamiento

MICROCONTROLADOR MICROPROCESADOR

FPGA
SYSTEM ON CHIP - SoC 52
Flujo de Desarrollo de sistemas
embebidos
¿Cuáles serían los pasos a seguir?

53
Etapas en el Desarrollo de SEs
• Entender el problema
• Identificar recursos
• Proponer soluciones, TOP-DOWN
– Diagrama de bloques y esquemáticos
– Selección de componentes
• Proponer lógica de funcionamiento
– Diagrama de flujo/algoritmos
• Programación/Desarrollo de HW
– Verificación mediante simulación, prototipos por
separado, test
• Integración
– Verificación, test, optimización
54
Microcontrolador

Microcontrolador

Programación
BUSES BUSES
BUSES Lenguaje
máquina

Assembler
BUSES

C, C++, Lua, …

55
Compilador Assembler Linker Descarga

main.c main.asm HEX prog.hex Memoria de


Inicio programa (FLASH)
main.o
*.c *.asm

*.o
*.c *.asm CPU RAM
*.o

*.asm
Periféricos
librerias

Fin

56
Desafíos tecnológicos: mas allá del
limite
• Área
– Mayor densidad
– Tecnología de fabricación (12nm, FinFET)
– 3D
• Velocidad Paper: “An Overview of
– Algoritmos Microcontroller Unit From
– Paralelismo Proper Selection to
– Clocks Specific Application”
• Potencia
– Voltaje (nivel de transistor)
– Clock gatting
– Algoritmos
57
Desafíos tecnológicos: mas allá del
límite
• Confiabilidad
– Susceptibilidad a radiación
– Proceso de fabricación
– Testing (BIST)
– Algoritmos
– Redundancias

TRADE-OFF:
AxVxPxC
58
Flujo de Desarrollo de programas
para sistemas embebidos
¿Cuáles serían los pasos a seguir?

59
Motivación
• Expresar de manera clara y simple la
lógica de un programa.
• Detectar errores de planteamiento
• Evalúa todas las opciones
• Uso de símbolos gráficos estándar
• Independencia del lenguaje de
programación
• Las operaciones tienen resultados no
ambiguos Instrucciones a un robot (min 16:08)
60
Símbolos básicos
Inicio y fin del Subprograma o
diagrama de subrutina
flujo

Conector en la
Entrada y salida misma página
de datos del diagrama

Conector entre
Proceso páginas del
diagrama

Decisión. Sentido o
Relacionada a dirección de la
una operación secuencia de
lógica operaciones

61
Características
• Los DF siempre tienen INICIO
• Los DF siempre tienen FIN o lazo infinito.
• Los conectores son flechas verticales u horizontales.
• Todos los componentes (a excepción del FIN) tienen
salida
• Las entradas son por la parte superior del símbolo.
• Las salidas son por la parte inferior del símbolo.
• Los procesos tienen una salida
• Los rombos de decisión booleana tienen dos salidas
correspondientes a SI y NO, las cuales deben ser
rotuladas.

62
Ejemplos

INICIO
FIN

No
Si
No
Si
63
Ejemplos
INICIO
FIN
INICIO
FIN

Si
A=B
No No
Si
No
Si
64
Ejemplos
INICIO
FIN
INICIO
FIN

Si
A=B
No No
Si
No
Si
65
Ejemplo: ¿Cómo abrir una puerta?

66
Ejemplo: ¿Cómo abrir una puerta?

No Sí

67
Ejemplo: ¿Cómo abrir una puerta?

No Sí

68
Notas a tomar en cuenta en uC
• Identificar entradas y salidas del sistema
• Sensores, actuadores
• Las entradas son leídas, NO SE ESCRIBE
EN ELLAS
• Las salidas son controladas, SE ESCRIBEN
EN ELLAS
• La lógica debe ser escalable: resolver el
problema genérico que resuelva el problema
general

69
Ejemplo: Mantener encendido un LED
mientras se presiona un pulsador

Ejemplo: Conmutar el estado de un


LED (encender/apagar) luego de
presionar y soltar un pulsador
Ejemplo: Mostrar mediante 3 LEDs las
veces que es presionado un pulsador

70
Ejemplo: sensor de distancia

71
Ejemplo: sensor de distancia

72
Ejemplo: sensor de distancia

73
Ejemplo: Auto con sensor de
distancia

Requisitos:
30 cm < Distancia ≤ 60 cm: alarma 1
Distancia ≤ 30 cm: alarma 1

74
Referencias
• Computer organization and Embedded Systems, 6th
edition

75

También podría gustarte