0% encontró este documento útil (0 votos)
73 vistas54 páginas

Clase Sistemas Embebidos

El documento aborda los sistemas embebidos, que son computadoras diseñadas para tareas específicas, y sus características, como la interacción con el entorno y el bajo consumo energético. Se discuten los microcontroladores, sus tipos y funciones, así como las ventajas de utilizar sistemas en chip (SoC) y computadoras de placa única (SBC). Además, se menciona la importancia de las herramientas de desarrollo y el estado actual de los sistemas embebidos en comparación con los sistemas de propósito general.

Cargado por

Carlos Alvarado
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
73 vistas54 páginas

Clase Sistemas Embebidos

El documento aborda los sistemas embebidos, que son computadoras diseñadas para tareas específicas, y sus características, como la interacción con el entorno y el bajo consumo energético. Se discuten los microcontroladores, sus tipos y funciones, así como las ventajas de utilizar sistemas en chip (SoC) y computadoras de placa única (SBC). Además, se menciona la importancia de las herramientas de desarrollo y el estado actual de los sistemas embebidos en comparación con los sistemas de propósito general.

Cargado por

Carlos Alvarado
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Robótica y automatización

Sistemas embebidos

Facultad de Ingeniería
Instituto de Computación
Temas
 Sistemas Embebidos
 Microcontroladores
 System on a Chip
 Single Board Computers
Sistemas Embebidos
¿Qué es un Sistema
Embebido?
 Un sistema embebido (S.E) es un
sistema computador destinado a una
aplicación en particular.
 Los sistemas computadores de
propósito general tienen muchas
aplicaciones, según el software que se
instale.
Características

 Es una combinación de hardware,


software y posibles elementos
mecánicos.
 Específicos para una tarea por lo
que son optimizados para la
misma.
Firmware
 Rutinas de software almacenadas en
memoria no volátil (Flash, ROM, EEPROM,
etc).
 Software que se encuentra inmerso en el
dispositivo de hardware a controlar.
 Es software muy acoplado con un
hardware particular.
Características de los
sistemas embebidos

 Interactúan con el entorno


 Directamente sensando y controlando
señales.
 Comunicándose con otros dispositivos.

 Interacción con restricciones de tiempo


real.
 Bajo consumo.
Los S.E en nuestras vidas

 Electrodomésticos, periféricos para


computadora, control industrial,
teléfonos celulares, GPS, routers, mp3,
máquinas de fotos, consolas de
videojuegos, equipos para medicina,
canaleras para TV, DVD, autos, entre
otros.
Características de los
sistemas embebidos.
Mayores exigencias

Calidad

Confiabilidad
Seguridad (safety)

Disponibilidad
El hardware también falla
 Aún bajo implementaciones “perfectas” de
software/firmware los sistemas embebidos se
encuentran inmersos en un ambiente externo, el
cual puede afectar el correcto funcionamiento
 Este ambiente produce defectos transitorios en
el dispositivo debido principalmente a:

Interferencia electromagnética (EMI)

Rayos cósmicos

Temperatura alta
 Su naturaleza transitoria hacen muy difícil de
detectar/reproducir/corregir
Protección ante fallas

 Watch Dog Timer



Es utilizado para prevenir caídas del software.

En entornos con ruido eléctrico, puede ocurrir
que el Program Counter del CPU se vea
afectado y éste comience a ejecutar en un
lugar indeterminado.

El circuito WDT se encarga de resetear el CPU
si el registro WD se desborda.
 Línea de reset externa
Entrada/Salida (E/S)
 Debido a su característica los sistemas
embebidos deben interactuar con el
ambiente que los rodea.
 Sensando señales del ambiente o
actuando sobre el mismo.
 Hay dos maneras de manejar la E/S:

Digital

Analógica
E/S Digital
 Se intercambian “unos” y “ceros”.
 Esos valores corresponden a voltajes de
referencia.
 Utilizado para implementar protocolos
de comunicación.
 Útil para controlar algunos dispositivos
electrónicos:

Prender un led.

Leer estado de un botón.
E/S Analógica (1/2)

 Los valores que se intercambian pueden


tomar varios valores.
 Es necesario disponer de conversores
Digital -> Analógico (D/A) o Analógico
-> Digital (A/D).
 Un conversor A/D convierte un voltaje
en un pin de entrada a un valor digital.
 La resolución del conversor condiciona
la cantidad de valores a representar. Un
canal de 10 bits va a permitir
representar valores desde 0 a 1023.
E/S Analógica (2/2)

 Un conversor D/A convierte un valor


digital a un voltaje en un pin de salida.
 Muchos sensores se manejan de esta
manera:

Temperatura, humedad, luz, micrófono
 Algunos actuadores se manejan de esta
manera:

Parlantes, motores
Lectura/escritura de E/S (1/2)

 Paradigmas para implementar la


lectura/escritura de E/S:

Polling: Donde se utilizan ciclos de CPU para
estar constantemente consultando el valor
de alguna entrada.

Interrupciones: El CPU es notificado
externamente. A nivel de software se
ejecuta una rutina de atención a la
interrupción.
Lectura/escritura de E/S (2/2)

También puede existir un enfoque híbrido


donde se utilice una interrupción de timer
para consultar el estado de un periférico
que no genera interrupciones.
Comunicación
 Serial

RS-232

SPI

I2C
 Paralela
 Desde hace varios años se utilizan otros mecanismos

USB

Wifi

Ethernet
 Síncrona o asíncrona.
 Redes de dispositivos.
Formas de implementar S.E.

 Basados en microcontroladores
 Basados en Systems on a chip (SOC)
 Híbrido
Microcontroladores
Introducción a los
microcontroladores (1/3)

 Un microprocesador
(µP) es una CPU en
un solo circuito
integrado.
 Un computador es
una CPU, más
memoria y puertos de
E/S.
 Un sistema
computador es un
computador más
periféricos.
Introducción a los
microcontroladores (2/3)

Un microcontrolador (µC) es un sistema


autocontenido donde el microprocesador,
soporte, memoria y entrada/salida se presentan
dentro de un mismo integrado.

Power Control
Power
Store
Input &

I/O Ports
Reset Reset
Control Processor Output
Pins

Clocking Clock &


Timing RAM
Introducción a los
microcontroladores (3/3)

Características
 Fáciles de utilizar.
 Bajo costo.
 Flexibles.
 Debido a su tamaño puede incluirse dentro del
dispositivo que gobierna.
Tipos de Microcontroladores
Los microcontroladores se pueden clasificar
en:
 Microcontroladores de 8 bits.
 Microcontroladores de 16-32 bits
 Procesadores de señales digitales (DSP)
Microcontroladores de 8 bits (1/3)

 Todos los recursos necesarios están


incluidos en el chip.
 Solo necesitan alimentación y reloj.
 Proporcionan control e interfaz con
dispositivos externos de manera
económica y programable.
Microcontroladores de 8 bits (2/3)

Disponen de:
 Reset
 Reloj
 Procesador
 Memoria ROM para el programa e interfaz de programación
 Memoria RAM para variables.
 I/O Pins.
Adicionalmente pueden incluir:
 Capacidad de debugging
 Interrupciones
 I/O analógica
 Comunicación serial y/o paralela
 Interfaz con memoria
Microcontroladores de 8 bits (3/3)

 Muy poca RAM (decenas de KB).


 Muy poca velocidad de reloj (decenas de
MHZ).
 Muy utilizados en aplicaciones de control.
 Bajo costo.
 Bajo consumo energético (algunos µW).
 Ejemplo: Control remoto Universal
(programable)
Registros de E/S
 Son los componentes más utilizados de
los microcontroladores .
 Los microcontroladores disponen de
registros para controlar los dispositivos de
E/S.
 Espacios
 E/S mapeada en memoria.
 Mapa E/S y mapa de memoria.
Reloj del sistema
 Los µC están diseñados para ejecutar con poco soporte
externo para el reloj del sistema.
 Los µCs corren en el entorno de las decenas de MHz.
 Existen diversos métodos para proporcionarle el reloj al
µC:
 Usando un cristal

 Resonador cerámico

 Oscilador RC

 Utilizando un clock interno en el µC.


Alimentación
 Minimizar el consumo de corriente es un tema a
tener en cuenta.
 Hay que tener en cuenta el consumo:
 Del microcontrolador en modo normal.
• Depende de la frecuencia y del voltaje proporcionado.
 Del microcontrolador en modo sleep.
 Del los dispositivos conectados a la E/S.
• Particular de cada aplicación.
• Pueden gestionarse adecuadamente los dispositivos.
Timers
 Se utiliza para trabajar con eventos de
tiempo.
 Contadores: cuentan acontecimientos que
suceden en el exterior.
 Temporizadores: controlan períodos de
tiempo.
Arquitectura
IO Boards (1/2)

 Existen placas orientadas a trabajar con


entrada/salida que permiten realizar
diseños embebidos en base a ellas.
 Utilizadas para prototipar o diseñar
productos de pocas unidades.
 Incluyen un microcontrolador, señal de
reloj, conectores de E/S, memoria flash
externa, acondicionamiento de señales.
IO Boards (2/2)

 Arduino
 GogoBoard
 USB4all
 USB4Butiá
Desarrollo de software
 Herramientas y entornos de desarrollo
 Programación
 Debug
Herramientas y entornos de
desarrollo (1/4)

 Editor
 Compilador
 Ensamblador
IDE
 Simulador
 Emulador
 Programador
Herramientas y entornos de
desarrollo (2/4)

 Assembler
 Instrucciones assembler.
 Directivas
 Debe estar bien comentado
Herramientas y entornos de
desarrollo (3/4)

 Lenguaje de alto nivel


 C, C++, Basic, Forth, JavaMe.
 Proporcionan
• Mayor nivel de abstracción
• Bibliotecas.
• Tipos de datos.
• Variables locales y globales.
• Estructuras de datos y punteros.
• Asignación de memoria para datos.
• Acceso a registros.
 Decrementa el tiempo de desarrollo.
Herramientas y entornos de
desarrollo (4/4)

 Real Time Operating System (RTOS)


 Multitasking
 Scheduling
 Context Switching
 Respuestas en tiempo a eventos del mundo.
 Comunicación entre procesos.
 Stack TCP/IP

Ejemplos: Salvo, FreeRTOS, µC/OS, ...
Systems on a chip (SOC)
 Se refiere a integrar todos los
componentes de un computador u otro
dispositivo electrónico en un chip.
 La principal diferencia con un µC es la
memoria disponible y el soporte para
MMU.
 En general, los SOC permiten ejecutar
sistemas operativos (S.O) tradicionales.
 Cada SOC esta orientado a determinado
tipo de aplicaciones.
Hardware Embebido basado
en SOC (1/2)

 La arquitectura de hardware para los


sistemas embebidos por lo general
difiere a la de los sistemas de escritorio.
 ARM, MIPS o PowerPC son muy utilizados
por su bajo consumo y buena performance.
 x86 actualmente no es tan frecuente, pero
también es utilizado.
Hardware Embebido basado
en SOC (2/2)

 Cantidad de RAM limitada (desde unos


pocos MB a varias decenas de MB)
 Velocidad de CPU inferior a sistemas de
escritorio.
 Varios buses de interconexión (I2C, SPI,
USB, serial) y puertos de E/S.
Ventajas de utilizar SOC

 Dispositivos diseñados con SOC se


adaptan mejor a nuevos requerimientos
que los diseñados con
microcontroladores
 Permiten utilizar Sistemas Operativos
de propósito general, software, device
drivers y periféricos utilizados en Pcs
 Acortan la curva de aprendizaje
En resumen
 Diseños basados en SOC presentan
muchas ventajas respecto los sistemas
basados en µC.
 Sin embargo existen casos de
dispositivos muy sencillos, o que
requieren muy bajo consumo, donde los
diseños basados en µc siguen siendo
utilizados.
Embedded Single Board
Computers (SBC) (1/2)

Single-board computers (SBCs) son


computadoras completas fabricadas
en una única placa de circuito. El
diseño es centrado en un
microprocesador con RAM,
almacenamiento, E/S y otras
características necesarias para ser
una computadora funcional en una
sola placa.
Embedded Single Board
Computers (SBC) (2/2)

 Actualmente existe una gran gama de SBC


basadas en SOC.
 Un SOC por si solo no puede funcionar,
necesita de alimentación, acondicionamientos
de señales, conectores, y algún controlador
adicional.
 Más pequeñas, más eficientes
energéticamente y con mayores posibilidades
de E/S que un sistema tradicional.
Ventajas de desarrollar
basado en SBC
 Son utilizadas muchas veces para prototipar
soluciones.
 Para producción de pocas unidades no es
rentable diseñar hardware. Diseñar en base a
SBCs resulta una opción a tener en cuenta.
 Existen diferentes SBC según las necesidades
del sistema embebido a realizar.
 Orientadas a multimedia, robótica, aplicaciones
móviles.
Acertijo

Funciona con Linux, pero para que sirve?


Respuesta:

Para ordeñar vacas


Linux Embebido en nuestras vidas
Estado actual de los S.E.
 Hoy en día los S.E. tienen más puntos en
común con los sistemas de propósito general
que en el pasado.
 Herramientas de desarrollo de mayor nivel de
abstracción.
 Reutilización de software y periféricos
utilizados en sistemas de propósito general
 Es necesario contar con equipos
interdisciplinarios.
Preguntas

También podría gustarte