Circuitos Digitales y Microcontroladores 2015 Introducción a los Sistemas Embebidos Ing. José Juárez
Introducción a los Sistemas Embebidos
Definición de
Sistema Embebido*:
Es el nombre genérico que reciben los equipos electrónicos que
incluyen un procesamiento de datos, datos , pero que a diferencia de una PC, están diseñados para satisfacer una función específica, específica, como en el caso de un reloj, un reproductor de MP3, componentes de un sist ema de control de un automóvil, de un satélite o de una planta nuclear, un teléfono celular, un router wifi.
Es un sistema electrónico que está contenido (“embebido”) dentro de un equipo completo que incluye además, por ejemplo, partes mecánicas y electromecánicas. *SASE: SIMPOSIO ARGENTINO DE SISTEMAS EMBEBIDOS Marzo 2015
CDyuC
2
Introducción a los Sistemas Embebidos
El cerebro de un sistema embebido es típicamente un microprocesador , aunque también pueden ser un DSP, una FPGA, un microcontrolador o un ASIC, y su diseño está optimizado para reducir su tamaño, consumo y costo, y maximizar su confiabilidad y desempeño.
El diseño de sistemas embebidos es un motor clave de la industria y del desarrollo tecnológico, y es un campo que en los últimos años ha crecido notablemente en la Argentina. Ya vamos a hablar de la CIAA y EDU-CIAA…
Marzo 2015
CDyuC
3
Diferentes Aplicaciones
Audio & video
Automotriz
Conectividad
HMI
UI: LCD,Touch sense
Energía Inteligente
Medicina
Control Industrial
Electrónica de consumo
Aeroespacial
Marzo 2015
CDyuC
4
Diferentes Aplicaciones
Marzo 2015
CDyuC
5
Proceso de Diseño de un SE
Según la filosofía de diseño TOP-DOWN el desarrollo de un SE puede seguir el siguiente ciclo: Análisis->Diseño->Implementación->Ensayos->Mantenimiento
Fase de análisis:
Marzo 2015
Requerimientos: parámetros que el sistema DEBE satisfacer. Ej: el sistema debe ser autónomo y caber en un bolsillo Especificaciones: los requerimientos llevan a obtener especificaciones técnicas detalladas. Ej: Dimensiones exactas del producto y duración promedio de la batería, error máx aceptado, etc. Restricciones: Limitaciones con las cuales el diseñador debe manejarse. Ej: Costo, Seguridad, compatibilidad con otros sistemas, tiempo de desarrollo… CDyuC
6
Proceso de Diseño de un SE
Fase de análisis:
Algunos ítems a considerar:
Marzo 2015
Peso y tamaño Consumo: energía necesaria para operar el sistema Confiabilidad del dispositivo (Tiempo medio de falla) Seguridad: riesgos ambientales y/o personas Costos de ingeniería no recurrente: costo del desarrollo única vez Costos por unidad: el costo para fabricar una unidad más Tiempo de prototipado Tiempo de puesta en mercado Factores humanos: grado de apreciación del consumidor Marco Legal: licencias, normas, permisos, impuestos Compatibilidad: con estándares existentes
CDyuC
7
Proceso de Diseño de un SE
Fase de diseño:
Diseño de alto nivel:
Modelización matemática del problema
Construcción de un modelo conceptual del sistema
Estimación del tiempo-costo
Descomposición del sistema en componentes: Hardware – Software
H: Diseño en diagramas de bloques, esquemas.
S: Diagramas UML, de flujo, diagrama de estados.
Fijación de criterios de ensayo y mantenimiento
Revisión preliminar del diseño (PDR)
Marzo 2015
CDyuC
8
Proceso de Diseño de un SE
Fase de diseño:
Diseño de bajo nivel:
Marzo 2015
Optimización del modelo, diseño de algoritmos, Simulación Elección de la plataforma de hardware (uP, uC, DSP, FPGA, PLC, PC) Construcción de prototipos y/o maquetas Diseño de firmware, software Descomposición del sistema en módulos Descomposición en capas: Drivers, SO, Aplicación de usuario
Revisión critica del diseño (CDR)
CDyuC
9
Proceso de Diseño de un SE
Fase de Implementación:
Desarrollo del hardware: esquemáticos, PCB, armado
Mecánica:
*Imágenes proyecto CIAA Marzo 2015
CDyuC
10
Proceso de Diseño de un SE
Fase de Implementación:
Marzo 2015
Desarrollo de firmware: implementación de módulos, funciones, drivers, etc. Compilación y depuración en Circuito Generación de documentación Esta etapa puede ser iterativa con las otras Pueden trabajar simultáneamente varias personas de un equipo si se dividen correctamente las tareas
CDyuC
11
Proceso de Diseño de un SE
Fase de Ensayos:
Marzo 2015
Validación de todas las funciones del sistema Medición de parámetros: exactitud, estabilidad, tiempo de respuesta, etc. Medición de Performance global: utilización de recursos, memoria, velocidad, consumo ¿Cumple con los requerimientos y especificaciones? Revisión del producto y su documentación Conformidad del cliente
CDyuC
12
Proceso de Diseño de un SE
Fase de Mantenimiento:
Actualización de firmware Depuración de errores “BUGS”
Adaptación a nuevos requerimientos Agregar código para adicionar nuevas prestaciones
Migración a otro hardware La misma implementación en un hardware mas veloz, de menor consumo, etc.
Modificación de la mecánica Adaptación para otros ambientes de operación
Todas las fases requieren de documentación!!!
Marzo 2015
CDyuC
13
Componentes de un SE
Componentes de Hardware:
Microprocesador, Microcontrolador
FPGA, ASIC
Memorias
Periféricos
Marzo 2015
CDyuC
14
Componentes de un SE
Componentes de Software:
Manejadores de dispositivos (Device Drivers)
Funciones a nivel de placa, stack de protocolos
Planificación y ejecución de tareas en tiempo real
Aplicaciones de usuario
Marzo 2015
CDyuC
15
Componentes de Hardware
MPU o MCU?
P(MPU):
C
En la actualidad esta diferencia se hace cada vez menos notoria en la gama de arquitecturas de 32bits
Unidad de procesamiento de propósito general, gran capacidad de computo, 16, 32 y 64 bits, FPU, sin periféricos integrados, con expansión de buses, múltiples núcleos. (MCU): Sistema de procesamiento completo, destinados a aplicaciones específicas, moderada capacidad, 8, 16, 32 bits, punto fijo, con periféricos integrados en el mismo chip.
Marzo 2015
CDyuC
16
Otras tecnologías
DSP: Digital Signal Processor 16,32 bits, FPU +Op Math + periféricos Procesamiento de señales de Audio, video, comunicaciones… DSC: Digital Signal Controller 16,32 bits, DSP pto fijo + periféricos industria, hogar, automotriz
FPGA: Field Programmable Gate Array Circuitos lógicos reconfigurables ad-oc Diseños específicos, diseños propietarios
PLC: Programable Logic Controller P 32 bits + I/O Dig y analóg+ Power DC/AC Bajo normas y protocolos Industriales
Marzo 2015
CDyuC
17
Diagrama en Bloques de un C
ARM Cortex-M3 (32 bits)
Marzo 2015
CDyuC
18
Diagrama en Bloques de un C
HCS08 (8 bits)
Marzo 2015
CDyuC
19
Tipos de Encapsulados
Cortesia Atmel Semiconductors Marzo 2015
CDyuC
20
Tipos de Encapsulados
Cortesia Atmel Semiconductors Marzo 2015
CDyuC
21
Memorias Integradas
RAM: es volátil, provee almacenamiento temporal de datos, variables globales y pilas. SRAM. FLASH: no volátil, provee almacenamiento permanente de programas y ctes. Es borrable en forma completa o en bloques. Es más rápida, de mayor capacidad y menor consumo que las EEPROM. Soportan ISP (In Circuit Programming) EEPROM: no volátil, provee almacenamiento de largo plazo para variables, constantes, datos del sistema. Es actualizable por bytes durante la ejecución del programa. Moderada Capacidad y velocidad de acceso.
Marzo 2015
CDyuC
22