Vous êtes sur la page 1sur 56

INTRODUCCIN A LOS

SISTEMAS EMBEBIDOS

Dr. Y. NARASIMHA MURTHY Ph.D


Reader, Sri Sai Baba National College
(Autonomous)
ANANTAPUR 515 001 ( A.P.)
Traducido por: R. Omar Domnguez Garca

QU ES UN SISTEMA
EMBEBIDO?
Un sistemas embebido es aquel que tiene hardware de

computador con el software incrustado en l como uno de


sus principales componentes.
O
Podemos definir un sistema embebido como "un sistema
basado en un microprocesador que no se ve como un
computador".
O
Podemos decir que se trata de "una combinacin de
hardware y software, y quiz adicionales piezas mecnicas
u otras partes, diseados para realizar una funcin
especfica. En algunos casos, los sistemas embebidos son
parte de un sistema ms grande o producto, como es el
caso de un sistema de frenado antibloqueo en un coche".

Un sistema embebido es un sistema informtico de

propsito especfico diseado para realizar ciertas


funciones dedicadas. Por lo general, ste es embebido
como parte de un dispositivo completo incluyendo el
hardware y las partes mecnicas. (Wikipedia)

Significado

Debido a su tamao compacto, bajo costo y aspectos de


diseo simple hacen a los sistemas embebidos muy
populares y han invadido la vida humana, stos se han
vuelto indispensables. Se encuentran en todas partes desde
utensilios de la cocina a las naves espaciales. Para enfatizar
esta idea, he aqu algunos ejemplos

Los sistemas embebidos estn


en todas partes?
Los sistemas embebidos abarcan todos los aspectos de la vida moderna
y hay muchos ejemplos de su uso:
a)
Instrumentacin Biomdica - ECG- grabador de clulas
sanguneas, el sistema de monitor de paciente
b)

Sistemas de comunicacin - localizadores, telfonos celulares,


terminales de televisin por cable, fax y transreceivers, juegos de
video y as sucesivamente.

c)

Controladores de perifricos de una computadora - controlador de


teclado, controlador de memoria DRAM, el controlador DMA, el
controlador de impresora, el controlador de LAN, el controlador de
la unidad de disco.

d) Instrumentacin Industrial - Controlador de proceso,


controlador de motor de corriente continua, sistemas
robticos, control de mquina CNC, controlador de
motor de lazo cerrado, el controlador cum grabadora
de humedad industrial.
e) Cientfico - sistema de almacenamiento digital,
controlador de pantalla CRT, analizador de espectro.

Los sistemas embebidos existan


antes?
S, hemos podido disfrutar de las ventajas de los sistemas
embebidos desde hace mucho tiempo. Pero no eran tan
populares porque en esos das la mayora de los sistemas
embebidos haban sido diseados alrededor de un
microprocesador a diferencia de los sistemas actuales que
son construidos alrededor de un microcontrolador.
Como sabemos un microprocesador en s mismo no posee
ninguna memoria, puertos, etc. As que todo debe conectarse
externamente mediante el uso de perifricos, como 8255,
8257, 8259, etc. As que el sistema embebido diseado con
microprocesador no slo era complicado en el diseo, sino
tambin es de gran tamao. Al mismo tiempo la velocidad del
microprocesador es tambin una limitante para aplicaciones
de gama alta.

Por qu un microcontrolador?

Un microcontrolador es un solo chip de silicio con la


memoria y todos los perifricos de entrada/salida en l.
Por lo tanto un microcontrolador tambin se conoce
popularmente como un computador de un solo chip.
Normalmente, un solo microcomputador tiene las
siguientes caractersticas:
Unidad lgica aritmtica.
Memoria para almacenamiento de programas.
EEPROM para almacenamiento de datos no volatiles.
RAM para almacenar datos y funciones especiales de
registros.
Puertos de entrada/salida.

Temporizadores y contadores.
Convertidores Analgicos Digitales.
Circuitos para reset, encendido, programacin serial,

debugging
Una unidad de control - decodificador de instrucciones y
temporizacin.
Puerto de comunicacin serial.

Por lo tanto, no es de extraar decir que el


microcontrolador es el dispositvo ms buscado para el
diseo de un sistema embebido eficiente.

Qu hay dentro de un sistema


embebido?
Cada sistema embebido consta de hardware a la medida en
torno a una unidad central de procesamiento (CPU). Este
hardware tambin contiene chips de memoria en la que
se carga el software. El software residente en el chip de
memoria es tambin llamado el "firmware".
El sistema operativo corre por encima del hardware y el
software de aplicacin corre por encima del sistema
operativo. La misma arquitectura es aplicable a cualquier
computadora que incluye un computador de escritorio.
Sin embargo, existen diferencias significativas. No es
obligatorio disponer de un sistema operativo en todos los
sistemas embebidos.

Para pequeos electrodomsticos, tales como unidades de


control remoto, acondicionadores de aire, juguetes, etc,
no hay necesidad de un sistema operativo y podemos
escribir slo el software especfico de esa aplicacin.
Para aplicaciones que necesitan un tratamiento complejo,
es aconsejable disponer de un sistema operativo.
En tal caso, es necesario integrar el software de la
aplicacin con el sistema operativo y luego transferir todo
el software en el chip de memoria. Una vez que el
software se transfiere al chip de memoria, el programa
seguir funcionando durante mucho tiempo y no es
necesario volver a cargar el nuevo software.
La siguiente diapositiva muestra la arquitectura de
capas de un sistema embebido.

Arquitectura en Capas de un Sistema Embebido

Ahora vamos a ver los detalles de los distintos bloques que


construyen el hardware de un sistema embebido:
Unidad de Proceso Central (CPU)
Memoria (Memoria de solo lectura y Memoria de acceso

aleatorio)
Dispositivos de Entrada
Dispositivos de Salida
Interfaces de Comunicacin
Circuitera de Aplicaciones Especficas

Esta diapositiva muestra la arquitectura de


hardware de un sistema embebido

Caractersticas de un sistema
embebido
Los sistemas embebidos hacen una tarea muy especfica,
no pueden ser programados para hacer cosas diferentes.
Los sistemas embebidos tienen recursos muy limitados,

en particular la memoria. En general, no tienen


dispositivos de almacenamiento secundario, tales como
el CD-ROM o el disco duro.

Los sistemas embebidos tienen que trabajar en contra de

algunos plazos. Un trabajo especfico tiene que ser


completado dentro de un plazo especfico. En algunos
sistemas embebidos, llamados sistemas de tiempo real,
los plazos son muy estrictos. Faltar a un plazo especfico
puede causar una catstrofe - la prdida de vidas o
daos a la propiedad.

Los sistemas embebidos se ven limitados por el

consumo de energa, ya que muchos sistemas


embebidos funcionan a travs de una batera, el
consumo de energa tiene que ser muy bajo.

Los sistemas embebidos tienen que ser altamente

confiable. De vez en cuando, presionar CTRL-ALT-DEL


est bien en el sistema de escritorio, pero no puede
permitirse el lujo de reiniciar el sistemas embebido.

Algunos sistemas embebidos tienen que operar en

condiciones ambientales extremas, como temperaturas


muy elevadas y humedad.

Los sistemas embebidos que atienden el mercado de

consumo (por ejemplo, los juguetes electrnicos) son


muy rentables. Incluso una reduccin de 10 rupias es
mucho ahorro de costes, ya que miles o millones de
sistemas pueden ser vendidos.

A diferencia de los ordenadores de escritorio en el que la

plataforma de hardware est dominado por Intel y el


sistema operativo est dominado por Microsoft, existe
una amplia variedad de procesadores y sistemas
operativos para los sistemas embebidos. Por lo tanto, la
eleccin de la plataforma correcta es la tarea ms
compleja.

Clasificacin de los Sistemas


Embebidos
Con base en la funcionalidad y los
requisitos de rendimiento, sistemas
embebidos se clasifican como:
Sistemas Embebidos independientes
Sistemas Embebidos en Tiempo Real
Dispositivos de Informacin en Red
Dispositivos Mobiles

Sistemas Embebidos
Independientes
Como su nombre lo indica, los sistemas independientes
funcionan en modo independiente. Toman entradas,
procesan y producen el resultado deseado. Las
entradas pueden ser seales elctricas de los
transductores o comandos de un ser humano, tales
como la pulsacin de un botn. Las salidas pueden
ser seales elctricas para conducir otro sistema,
una pantalla LED o LCD para la visualizacin de la
informacin a los usuarios. Los sistemas embebidos
usados en el control de procesos, automviles,
artculos electrnicos de consumo, etc. entran en
esta categora.

Sistemas en Tiempo Real


Sistemas embebidos en los que algunos trabajos
especficos tienen que hacerse en un perodo de tiempo
especfico se denominan sistemas de tiempo real. Por
ejemplo, considere un sistema que tiene que abrir una
vlvula dentro de 30 milisegundos cuando la humedad
cruza un umbral particular. Si la vlvula no se abre en el
plazo de 30 milisegundos, puede producirse una
catstrofe. Tales sistemas con plazos estrictos se
denominan sistemas de tiempo real.

En algunos sistemas embebidos, los plazos de tiempo se


imponen, pero el no adherirse a ellos de vez en cuando
no nos llevar a una catstrofe. Por ejemplo, considere
un reproductor de DVD. Supongamos, usted da una
orden para el reproductor de DVD desde un mando a
distancia, y hay un retraso de unos pocos milisegundos
en la ejecucin de ese comando. Sin embargo, este
retraso no dar lugar a una implicacin grave. Tales
sistemas se denominan sistemas suaves en tiempo real.

Sistema Embebido de tiempo real duro

Dispositivos de Informacin en Red


Los sistemas embebidos que son provistos con
interfaces de red y acceso a redes tales como la Red
de rea local o de Internet se llaman dispositivos de
informacin en red. Tales sistemas embebidos estn
conectados a una red, por lo general una red que
ejecuta el conjunto de protocoloes TCP/IP
(Transmission Control Protocol /Internet Protocol) ,
como Internet o la Intranet de la empresa.
Estos sistemas han surgido en los ltimos aos. Estos
sistemas corren el protocolo TCP/IP y se conectan a
travs de PPP o Ethernet a una red y se comunican con
otros nodos en la red.

Estos son algunos ejemplos de este tipo de sistemas:


Un sistema de control de proceso en red consiste en un

nmero de sistemas embebidos conectados como una


red de rea local. Cada sistema embebido puede enviar
datos en tiempo real a una localizacin central desde
donde el sistema de control de todo el proceso se puede
controlar. El seguimiento se puede hacer utilizando un
navegador web tal como el Internet Explorer.

Una cmara web puede ser conectado a Internet. La

cmara web puede enviar imgenes en tiempo real a


cualquier ordenador conectado a Internet. En tal caso, la
cmara web tiene que ejecutar el software de servidor
HTTP, adems de la pila de protocolos TCP / IP.

La cerradura de la puerta de su casa puede ser un

pequeo sistemas embebido con el software de servidor


TCP / IP y HTTP ejecutandose en l. Cuando los nios
se paran delante de la cerradura de la puerta despus de
su regreso de la escuela, la cmara web en la cerradura
de la puerta le enviar una alerta a su escritorio a travs
de Internet y luego se puede abrir la cerradura de la
puerta a travs de un clic del ratn.

Esta diapositiva muestra un sistema de vigilancia meteorolgica


conectada a la Internet. Software de servidor web HTTP y el
protocolo TCP / IP se ejecutan en este sistema. Cualquier
ordenador conectado a Internet puede acceder a este sistema
para obtener informacin meteorolgica en tiempo real.

Los dispositivos de informacin en red necesitan correr la


pila completa del protocolo TCP / IP, incluyendo los
protocolos de capa de aplicacin. Si el aparato tiene que
proporcionar informacin a travs de Internet, el software
de servidor web HTTP tambin debe ejecutarse en el
sistema.

Dispositivos Mviles

Los dispositivos mviles, como telfonos mviles, asistentes


personales digitales (PDA), telfonos inteligentes, etc.
son una categora especial de sistemas embebidos.
Aunque los PDAs hacen muchas tareas de propsito
general, necesitan ser diseados al igual que los
sistemas "convencionales" embebidos

Las limitaciones de los dispositivos mviles - limitaciones de


memoria, tamao pequeo, la falta de buenos interfaces
de usuario tales como el teclado integral y una pantalla,
etc son las mismas que las que se encuentran en los
sistemas embebidos discutidos anteriormente. Por lo
tanto, los dispositivos mviles son considerados como
sistemas embebidos.
Sin embargo, los PDAs son ahora capaces de soportar
aplicaciones de software de propsito general como
procesadores de texto, juegos, etc.

Lenguajes para la programacin


de sistemas embebidos
El lenguaje ensamblador fue el pionero para la
programacin de sistemas embebidos hasta hace poco.
Hoy en da hay muchos ms lenguajes para programar
estos sistemas. Algunos de los lenguajes son C, C++,
Ada, Forth y Java, junto con su nueva mejora J2ME.
La presencia de las herramientas para modelar el software
en UML, SDL es suficiente para indicar la madurez de la
programacin de software embebido.

La mayora de software para sistemas embebidos todava


se hace en lenguaje C. Una encuesta reciente indica que
aproximadamente el 45% del software embebido se
sigue haciendo en lenguaje C.

C++ tambin est aumentando su presencia en sistemas


embebidos. Como C++ est basado en el lenguaje C,
proporcionando as al programador las metodologas
orientadas a objetos para cosechar los beneficios de
este enfoque.

C es muy cercano al lenguaje ensamblador, ste permite un


fcil acceso al hardware subyacente. Un gran nmero de
compiladores de alta calidad y herramientas de
depuracin estn disponibles para el lenguaje C.
Aunque C++ es tericamente ms eficiente que C, pero
algunos de sus compiladores tienen fallos debido al
enorme tamao del lenguaje. Estos compiladores
pueden causar una ejecucin con errores.

El lenguaje C puede definitivamente pretender tener los


compiladores ms maduros que C++. Ahora, con el fin
de aprovechar los beneficios adicionales de C++ y
adems de evitar la ejecucin con errores, los expertos
estn haciendo esfuerzos para identificar un subconjunto
de C++ que se puede utilizar en sistemas embebidos y
este subconjunto sea llamado C++ Embebido.

Interfaces de Comunicacin
Para sistemas embebidos que interactan con el mundo
exterior, una serie de interfaces de comunicacin estn
disponibles. Ellos son:
Interfaces de Comunicacin Serial (SCI):

RS-232, RS-422, RS-485 etc.


Interfaz de comunicacin serial sncrona :

I2C, JTAG, SPI, SSC and ESSI


Universal Serial Bus (USB)

Redes:

Ethernet, Controller Area Network, LonWorks, etc.


Timers:

PLL(s), Capture/Compare and Time Processing Units


Discrete IO:

General Purpose Input/Output (GPIO)


Analog to Digital/Digital to Analog (ADC/DAC)

Cul es el mejor conjunto de


microcontroladores para el diseo
de sistemas embebidos?
Siempre hay competencia entre la eficiencia y la disipacin
de energa. Para saber esto, vamos a repasar los
diferentes tipos de microcontroladores , sus
especificaciones y los vendedores.

De la diapositiva anterior podemos


encontrar que el procesador ARM es una
opcin slida para un mejor rendimiento.
Pero si tenemos en cuenta el consumo
de energa, en el caso de ARM es
alrededor de 400 MW y el ATmega1031,
AVR microcontrolador consume baja
potencia alrededor de 16,5 mW, pero
proporciona bajo rendimiento.

Pero la Texas Instruments MSP430 con


una amplia gama de modos de
funcionamiento consume slo 1,2 mW
con bastante buen rendimiento. As que
siempre se deja al diseador elegir un
dispositivo adecuado de acuerdo con el
requisito.

Diseo de un sistema embebido un estudio de caso


Para entender el diseo de un sistema
embebido sencillo Consideremos en
primer lugar la idea de un sistema de
adquisicin de datos. El sistema de
adquisicin de datos se muestra en la
siguiente diapositiva.

Sistema de Adquisicin de Datos

Por ejemplo djame considerar un simple caso


de un sistemas embebido de medicin de
temperatura.
En primer lugar hay que seleccionar un sensor
de temperatura como una resistencia trmica o
AD590 o LM35 y LM75 LM335 o etc.
Despus de esto, los datos analgicos se
convierten en datos digitales y al mismo tiempo
se realiza el acondicionamiento de seal.

Esta entrada digital se alimenta al

microcontrolador a travs de sus puertos.


Mediante el desarrollo de un programa

adecuado (C Embebido o Ensamblador) los


datos son procesados y controlados.
Para este propsito Keil Ride o ARM IAR

Embebido Workbench compiladores de C


pueden ser utilizados.

Una vez que el programa est depurado,

y se encontr libre de errores puede ser


descargado en la memoria flash del
microcontrolador utilizando ISP (Philips Flash magia o cualquier ISP).
Ahora, el chip microcontrolador acta

como un chip embebido.

En aras de la claridad presento el diagrama de bloques de


un sistemas embebido simple.

Embedded C softwares
Keil vision versin de evaluacin puede ser
descargado desde www.keil.com
Compilador Embedded C Ride puede ser descargado
libremente
de www.raisonance. com
Embedded IAR ARM Workbench pueden ser descargados
de
www.iar.com

Los distintos proveedores que pueden


suministrar kits de microcontroladores :
1.Power systems, Chennai (www.powersoftsystems .com)
2.Vi-microsystems - Chennai(www.vimicrosystems.com)
3.ESA systems- Bangalore( www.esa india.com)
4.SPJ Embedded Technologies .Ltd. (www.spjsystems.com)
5.Advanced Electronic systems-Bangalore (www. alsindia.net)
6. Front line electronics . www. frontline-electronics. com

Libros que me han ayudado a entender los


sistemas embebidos :
Barr, Michael, Programming embedded
sytems in C and C++ - OReilly Publ.
2) Raj Kamal, Embedded systems, TMG
3) Valvano, Introduction to Embedded
microcomputer systems, Thomson Publ.
1)

Mazidi and Mazidi, The 8051 microcontroller


and embedded sytems - Pearson education.
5) Peatman,J.B. Design with microcontrollers
and microcomputers, McGraw Hill
6) Sewart. J.W. The 8051 Microcontroller
Hardware, Software and Interfacing Prentice
Hall
4)

7) Ayala Kenneth, The 8051 Microntroller


Architecture, Programming and Applications
Delmar Publ.
8) Ajay Deshmukh, Microcontrollers TATA
McGraw Hill
9) Rajkamal, Microcontrollers - Architecture,
Programming Pearson Publ.
10) Myke Predko, Programming the 8051
Microcontroller McGraw Hill

11) Michael J. Pont, Embedded C - Addison


Wesely Publ.
12) Steve Heath, Embedded system design
Heinemann Publ.
13) Frank Vahid, Embedded systems a unified
hardware/software Introduction John Wiley
and sons Publ.
14) Barnett Cox & Ocull, Embedded C
Programming & the Microchip PIC,
Thomson Delmar Learning.

Website References
1.
2.
3.
4.
5.
6.
7.
8.

http://www.eg3.com
http://www.ARM.MCU.com
http://www.mcjournal.com
http://www.iar.com
http://www.keil.com
http://www.semiconductors.philips.com/microc
ontrollers
http://www.embedded.com
http://www.powersoftsystems.com

www.macrovision.com/newsletters
www.planarembedded.com
www.8051.org
www.8051projects.net
www.programmersheaven.com
microcontrollershop.com

Observaciones finales
Hay mucho ms que aprender, pero con

estas bases bajo su cinturn, es slo


cuestin de adquisicin de experiencia.
Buena suerte!