• No se han encontrado resultados

Unidad Didáctica 1: Introducción y conceptos básicos. Sistemas embebidos para tiempo real

N/A
N/A
Protected

Academic year: 2021

Share "Unidad Didáctica 1: Introducción y conceptos básicos. Sistemas embebidos para tiempo real"

Copied!
44
0
0

Texto completo

(1)

Unidad Didáctica 1:

Introducción y conceptos básicos

Sistemas embebidos para tiempo real

(2)

Índice

• Sistemas embebidos

– Definición / Características / Consideraciones de diseño / Ejemplos

• Sistemas de tiempo real

– Definición / Características

• Sistemas embebidos y de tiempo real

– Ejemplos

(3)

Terminología en Sistemas embebidos

• Términos embebidos en la temática del curso:

inconsistentes entre compañías, etc.

• Cada concepto múltiples términos

• Cada término múltiples significados

• Área cubre amplio espectro de productos

– dificultad al generalizar

• Necesidad de un “lenguaje común”

– al menos en la clase, y luego en profesional

(4)

Terminología

• Por ahora dejemos de lado la traducción

– embebido, empotrado, integrado...

(5)

Actividad en grupo

• ¿Qué es un “embedded system”?

– Objetivo:

• Lograr una primera aproximación consensuada sobre el término “Embedded System”

• Escribir: Definición (tentativa) / Características

– Grupos:

• 3 a 4 participantes

– Tiempo:

• 5 minutos

– Puesta en común.

(6)

¿Qué es un sistema embebido?

• Definición:

– Dispositivos electrónicos que incorporan una

computadora (normalmente un microprocesador) en su implementación.

– Microprocesador usado principalmente para simplificar el diseño del sistema y darle flexibilidad.

(7)

¿Qué es un sistema embebido?

“An embedded system is an engineering artifact involving computation that is subject to physical constraints. The physical constraints arise through two kinds of interactions of computational processes with the physical world: (1) reaction to a physical environment, and (2) execution

on a physical platform. [...] Common reaction constraints specify deadlines, throughput, and jitter; they originate from the behavioral requirements of the system. Common execution constraints put bounds on

available processor speeds, power, and hardware failure rates; they originate from the implementation requirements of the system.”

Thomas A. Henzinger and Joseph Sifakis

"The Embedded Systems Design Challenge”, Invited Paper,

Formal Methods for Security and Trust in Industrial Applications, 2006.

(8)

¿Qué es un sistema embebido?

• Características:

– Requerimientos específicos y realiza tareas predefinidas.

– Frecuentemente el usuario no es consciente que se usa una computadora.

– Recursos limitados.

– Costo reducido por ser productos de consumo.

(9)

¿Qué es un sistema embebido?

• Características: en general no tienen

– teclados

• si pueden tener botones y tecladito (keypads)

– pantalla (monitor)

• si pueden tener LEDs o pantallita de LCD

– discos duros

• si pueden tener discos ROM/RAM.

– CD’s, diskettes, etc.

• si pueden tener conexiones (red, modems)

(10)

Sistemas embebidos: hardware

memoria cpu

hardware

•Logica

•Timers

•Conversores A/D - D/A

entorno usuario

I/O

sensores actuadores

(11)

Sistemas embebidos: hardware

• Microprocesador (µP)

– Chip que contiene la CPU – Ejemplos:

• Intel P4 o AMD Athlon en PC escritorio/portátil

• ARM procesador en Apple iPod

• Microcontrolador (µC)

– Básicamente un µP con memoria y periféricos I/O – Diseñados para funciones especificas

• solución integral: reducción de partes, costo, potencia, tamaño físico.

– Ejemplos

• MSP430 (Texas Inst.), ATmega, MC68332(Freescale), PIC30F6010 (Microchip)...

(12)

Sistemas embebidos: hardware

• Disponibilidad de un amplio rango de

microprocesadores y/o microcontroladores

– Costo y rendimiento varían dependiendo de:

• tamaño de palabra/bus

• memoria interna y periféricos

– temporizadores, puertos E/S , canales DMA, etc.

• Soporte para memoria externa

• velocidad de reloj

• Continúan apareciendo nuevos procesadores

– Faltan en el libro:

• ARM, Atmel, MSP430, PIC.

(13)

Sistemas embebidos: hardware

• Volumen de producción Estimaciones del 2000:

– 4 M CPUs vendidas en el mercado de servidores – 150 M CPUs vendidas en el mercado PC

– 300 M CPUs vendidas en el mercado “embebido”

• sólo tenido en cuenta 32 y 64-bit CPUs!

• estimación: >1B 8-bit CPUs de ventas mensuales!

– Se podría decir que virtualmente el 100% de los CPU son para el mercado “embebido”

(14)

¿Cuán potentes son los µ C embebidos?

0.0%

10.0%

20.0%

30.0%

40.0%

50.0%

60.0%

4-bit 8-bit 16-bit 32-bit 64-bit Special

1998-1999 1999-2000

Fuente: Encuesta “TRON Association” (1998-1999 y 199-2000) Extraído de: “Fundamentals of Embedded Software” (Daniel W. Lewis)

(15)

Criterios generales de diseño

• Rendimiento (performance)

• Confiabilidad (reliability)

• Misiones críticas (Mission Critical)

• Riesgo de vida (Life-Threatening)

• No se pude rebootear!

• Disponibilidad (availability)

• 24 hs /dia, 7 dias/semana, 365 dias/año

• Seguridad (safety)

(16)

Otras consideraciones de diseño

• Consumo de energía (potencia)

• ¿Como diseñamos para maximizar la duración de las baterías?

• Opciones: apagar partes del hardware cuando no se usan incluso el µC.

• Costo del sistema

• Minimizar costo de fabricación (sobretodo cuando es producto de consumo, grandes volúmenes)

• Mínima memoria, OS pequeño

• Balance de necesidades contrapuestas

• Ejemplo: frecuencia de reloj

– baja: para consumo

– alta: para respuesta a eventos y procesamiento en ráfagas.

(17)

Sistemas embebidos: software

• Problemas diferentes a los presentes en PC.

– Se debe:

• resolver situaciones que no surgen en software PC

• realizar varias tareas simultáneamente

• responder a eventos externos

– botones, lectura de sensores, etc.

• resolver condiciones excepcionales sin intervención

• cumplir con tiempos limites estrictos (deadlines)

• fallar jamas ¿es realmente posible?

(18)

Sistemas embebidos: software

• Se debe considerar.

– Capacidad de procesamiento (throughput)

• ¿El procesamiento es suficientemente rápido?

– Tiempo de respuesta (response time)

• ¿Se pude responder suficientemente rápido a los eventos?

– “Testeable” (capacidad de prueba, testability)

• ¿Se puede verificar que funciona bajo “toda” condición?

– “Depurable” (debugability)

• ¿Se pueden ubicar y resolver los errores de funcionamiento?

– Confiable (reliability)

• ¿Cubre las expectativas y necesidades de confiabilidad?

(19)

Ejemplos de productos

• Producto:

Hunter Programmable Digital Thermostat.

• Microprocesador:

4-bit.

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(20)

Ejemplos de productos

• Producto:

Vendo V-MAX 720 vending machine.

• Microprocesador:

8-bit Motorola 68HC11.

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(21)

Ejemplos de productos

• Producto:

Sonicare Plus toothbrush.

• Microprocesador:

8-bit Zilog Z8

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(22)

Ejemplo de productos

• Producto:

Miele dishwashers.

• Microprocesador:

8-bit Motorola 68HC05

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(23)

Ejemplo de productos

• Producto:

NASA's Mars Sojourner Rover.

• Microprocesador:

8-bit Intel 80C85

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(24)

Ejemplo de productos

• Producto:

CoinCo USQ-712 coin changer.

• Microprocesador:

8-bit Motorola 68HC912.

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(25)

Ejemplo de productos

• Producto:

Garmin StreetPilot GPS Receiver.

• Microprocesador:

16-bit.

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(26)

Ejemplo de productos

• Producto:

Palm Vx handheld.

• Microprocesador:

32-bit Motorola Dragonball EZ.

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(27)

Ejemplo de productos

• Producto:

Motorola i1000plus iDEN Multi-Service Digital

Phone.

• Microprocesador:

Motorola 32-bit MCORE.

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(28)

Ejemplo de productos

• Producto:

Rio 800 MP3 Player.

• Microprocesador:

32-bit RISC.

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(29)

Ejemplo de productos

• Producto:

RCA RC5400P DVD player.

• Microprocesador:

32-bit RISC.

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(30)

Ejemplo de productos

• Producto:

IBM Research’s Linux wrist watch prototype.

• Microprocesador:

32-bit ARM RISC.

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(31)

Ejemplo de productos

• Producto:

Sony Aibo ERS-110 Robotic Dog.

Microprocesador:

64-bit MIPS RISC.

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(32)

Ejemplo de productos

Fuente: Daniel W. Lewis, “Fundamentals of Embedded Software”

(33)

Ejemplo de productos

• Producto:

SiAgro2

• Microprocesador: MSP430

(34)

Ejemplo de productos

• Producto:

LAí GloboSat01 IIE

• Microprocesadores:

• ATmega2560 (aplicación)

• PIC16F877A (telemetría)

(35)

Actividad en grupo

• ¿Qué es un “Sistema de tiempo real”?

– Objetivo:

• Reflexionar sobre los sistemas con características “tiempo real” y aquellos que no las tienen.

• Escribir: Definición (tentativa) / Características

– Grupos:

• 3 a 4 participantes

– Tiempo:

• 5 minutos

– Puesta en común.

(36)

¿Que es un Sistema de tiempo real?

• Definición:

– Un sistema de tiempo real es aquel en el que la

corrección del resultado depende tanto de su validez lógica como del instante en que se produce.

• Características:

– sistema reactivo

• el sistema reacciona ante eventos externos

• los eventos detectados en las entradas provocan otros eventos como salidas.

– restricciones de tiempo

• Atención: tiempo real ≠ rápido.

(37)

¿Que es un Sistema de tiempo real?

• Definición:

– “Un sistema de tiempo real es un sistema que debe

satisfacer tiempos de respuestas explícitos, bajo riesgo de consecuencias graves, incluyendo el fallo.”

• Si un tiempo limite no se cumple, el sistema puede fallar.

• Ejemplos:

• El avión se estrella...

• La planta nuclear entra en un estado crítico...

• Clasificación para diferenciar que tan críticos son los tiempos límite...

(38)

Clasificación

• Sistema de tiempo real “blando”

(Soft Real-Time System)

– perder un deadline produce la degradación del sistema

• Sistema de tiempo real “duro”

(Hard Real-Time System)

– perder un deadline puede producir la falla del sistema

(39)

¿Que significa multitarea?

• Primero respondamos:

– ¿Todos los sistemas embebidos son de tiempo real?

• Sistemas embebidos: sistemas con muchas I/O:

– deben responder a eventos independientes (asíncronos)

• Separar el código en tareas simplifica la programación, pero es necesario un mecanismo para conmutar entre tareas.

• Concurrencia es la apariencia de la ejecución simultánea de múltiples tareas.

• Diferentes arquitecturas: simples hasta RTOS

(40)

Utilización de RTOS

0.0%

20.0%

40.0%

60.0%

80.0%

100.0%

4-bit 8-bit 16-bit 32-bit 64-bit Special

Fuente: Encuesta “TRON Association” (1998-1999 y 199-2000) Extraído de: “Fundamentals of Embedded Software” (Daniel W. Lewis)

(41)

¿Qué lenguajes de prog. se utilizan?

0.0%

10.0%

20.0%

30.0%

40.0%

50.0%

60.0%

70.0%

80.0%

90.0%

Assembly C C++ Java Other

1998-1999 1999-2000

(42)

El lenguaje C

• Es la lingua franca de los sistemas embebidos

– Compiladores C disponibles para todos los µC – C es suficientemente de bajo nivel

• C fundamental para el curso

– Laboratorios hechos en C (+ algo de ensamblador) – El texto asume “ conocimientos de lectura”

• C es razonablemente portable, pero no totalmente

• Otros:

– C++ es más complicado y no universalmente soportado – EC y EC++

(43)

¿Cuán grande es un prog. embebido?

Property FAX Machine CD Player

Microprocessor: 16-bit 8-bit

Number of Threads: 6 9

Read-Write Memory

(RAM): 2048 Bytes 512 Bytes

Total RAM Actually Used: 1346 Bytes (66%) 384 Bytes (75%) Amount Used by Kernel: 250 Bytes (19%) 146 Bytes (38%) Read-Only Memory (ROM): 32.0 KB 32.0 KB

Total ROM Actually Used: 28.8 KB (90%) 17.8 KB (56%) Amount Used by Kernel: 2.5 KB (8.7%) 2.3 KB (13%)

(44)

Sistemas embebidos

• ¿Por qué no?

Java (celulares) Linux

Android/Linux

Referencias

Documento similar

As an application case is used to calibrate the system that reproduces the dynamical response of the General Factor of Personality (GFP) to a given stimulus, particularly to

A photovoltaic system (PVS) is an alternative energy generation technique that takes advantage of solar irradiation to produce electrical energy through the photoelectric

We develop an analytical description of the quantum optical properties of the system that allows us to reveal that, contrary to what is expected, plasmonic cavities enhance

The information that is commonly used as constraints for theoretical chemical evolution models of galaxies refers to radial distributions of gas and total mass surface densities,

Homework: Take an isochrone from any database, and generate a synthetic HR diagram with 1000 stars following the Salpeter IMF from it. Do it directly with a plotting-capable

The present report is submitted pursuant to Security Council resolution 2440 (2018), by which the Council extended the mandate of the United Nations Mission for the Referendum

It is divided in four subsections; the first section (A) is focused on the two health-related behaviors that are the key elements of the thesis (physical activity and

Method: This article aims to bring some order to the polysemy and synonymy of the terms that are often used in the production of graphic representations and to