Sunteți pe pagina 1din 86

Robtica embebida

Sistemas embebidos

Facultad de Ingeniera Instituto de Computacin

Temas

Sistemas Embebidos Microcontroladores System on a Chip

Single Board Computers

Sistemas Operati os

Sistemas Embebidos

!"u# es un Sistema Embebido$

%n sistema embebido &S'E( es un sistema computador destinado a una aplicacin en particular' )os sistemas computadores de propsito general tienen muchas aplicaciones* seg+n el so,t-are .ue se instale'

Caractersticas
Es una combinacin de hard-are* so,t-are y posibles elementos mec/nicos' Espec,icos para una tarea por lo .ue son optimi0ados para la misma'

Firm-are

Rutinas de so,t-are almacenadas en memoria no ol/til &Flash* ROM* EE1ROM* etc('

Muchas eces espec,icas para ese hard-are

So,t-are .ue se encuentra inmerso en el dispositi o de hard-are a controlar' Es so,t-are muy acoplado con un hard-are particular'

Caractersticas de los sistemas embebidos

Interact+an con el entorno 2irectamente sensando y controlando se3ales' Comunic/ndose con otros dispositi os' Interaccin con restricciones de tiempo real' Ba4o consumo'

)os S'E en nuestras idas

Electrodom#sticos* peri,#ricos para computadora* control industrial* tel#,onos celulares* 51S* routers* mp6* m/.uinas de ,otos* consolas de ideo4uegos* e.uipos para medicina* canaleras para T7* 272* autos* entre otros'

Mayores e8igencias Calidad


Confiabilidad Seguridad (safety)

Disponibilidad

Mayores e8igencias

Con,iabilidad9 C(t), probabilidad .ue un sistema cumpla sus re.uerimientos hasta un tiempo t cuando opera ba4o sus condiciones establecidas de ,uncionamiento' 2isponibilidad9 D(t), probabilidad .ue el sistema est# operando correctamente en el instante t de tiempo'

Mayores e8igencias

Seguridad &sa,ety(9 S&t( es la probabilidad .ue condiciones .ue pueden deri ar en una situacin ad ersa* no ocurran* independientemente de si el sistema cumple o no con su misin' Especialmente nos re,erimos a da3os a propiedad* medio ambiente e incluso* idas humanas'

Mayores e8igencias
!"ue atributo de calidad considera m/s importante para un sistema .ue controla el acceso a un centro de cmputos$

:ay .ue probar m/s

;eroespacio9 Mariners <* 6* =* ;riane > &<??@(' Sobredosis radiolgicas en 1anam/' 2urante el ABB@* el @BC de los autom iles de una marca de lu4o alemana ol ieron a taller por ,allas en el so,t-are'

El hard-are tambi#n ,alla

;+n ba4o implementaciones Dper,ectasE de so,t-areF,irm-are los sistemas embebidos se encuentran inmersos en un ambiente e8terno* el cual puede a,ectar el correcto ,uncionamiento Este ambiente produce de,ectos transitorios en el dispositi o debido principalmente a9 Inter,erencia electromagn#tica &EMI( Rayos csmicos Temperatura alta Su naturale0a transitoria hacen muy di,cil de detectarFreproducirFcorregir

1roteccin ante ,allas

Gatch 2og Timer Es utili0ado para pre enir cadas del so,t-are' En entornos con ruido el#ctrico* puede ocurrir .ue el 1rogram Counter del C1% se ea a,ectado y #ste comience a e4ecutar en un lugar indeterminado' El circuito G2T se encarga de resetear el C1% si el registro G2 se desborda' )nea de reset e8terna

EntradaFSalida &EFS(

2ebido a su caracterstica los sistemas embebidos deben interactuar con el ambiente .ue los rodea' Sensando se3ales del ambiente o actuando sobre el mismo' :ay dos maneras de mane4ar la EFS9

2igital ;nalgica

EFS 2igital

Se intercambian DunosE y DcerosE' Esos alores corresponden a olta4es de re,erencia' %tili0ado para implementar protocolos de comunicacin' Htil para controlar algunos dispositi os electrnicos9

1render un led' )eer estado de un botn'

EFS ;nalgica

(1/2)

)os alores .ue se intercambian pueden tomar arios alores' Es necesario disponer de con ersores 2igital IJ ;nalgico &2F;( o ;nalgico IJ 2igital &;F2(' %n con ersor ;F2 con ierte un olta4e en un pin de entrada a un alor digital' )a resolucin del con ersor condiciona la cantidad de alores a representar' %n canal de <B bits a a permitir representar alores desde B a <BA6'

EFS ;nalgica

(2/2)

%n con ersor 2F; con ierte un alor digital a un olta4e en un pin de salida' Muchos sensores se mane4an de esta manera9

Temperatura* humedad* lu0* micr,ono

;lgunos actuadores se mane4an de esta manera9

1arlantes* motores

)ecturaFescritura de EFS

(1/2)

1aradigmas para implementar la lecturaFescritura de EFS9

1olling9 2onde se utili0an ciclos de C1% para estar constantemente consultando el alor de alguna entrada' Interrupciones9 El C1% es noti,icado e8ternamente' ; ni el de so,t-are se e4ecuta una rutina de atencin a la interrupcin'

; tener en cuenta'''

)atencia de interrupcin9 Tiempo entre la ocurrencia de la interrupcin y e4ecucin de la rutina de interrupcin' En sistemas de tiempo real se trata de acotar a alores mnimos la latencia de interrupcin'

)ecturaFescritura de EFS

(2/2)

Tambi#n puede e8istir un en,o.ue hbrido donde se utilice una interrupcin de timer para consultar el estado de un peri,#rico .ue no genera interrupciones'

Comunicacin

Serial RSIA6A S1I IAC 1aralela :oy da se est/ comen0ando a utili0ar otros mecanismos %SB Gi,i Ethernet Sncrona o asncrona' Redes de dispositi os'

Formas de implementar S'E'


Basados en microcontroladores Basados en Systems on a chip &SOC( :brido

Microcontroladores

Introduccin a los microcontroladores

(1/3)

%n microprocesador &K1( es una C1% en un solo circuito integrado' %n computador es una C1%* m/s memoria y puertos de EFS' %n sistema computador es un computador m/s peri,#ricos'

Introduccin a los microcontroladores

(2/3)

%n microcontrolador &KC( es un sistema autocontenido donde el microprocesador* soporte* memoria y entradaFsalida se presentan dentro de un mismo integrado'
Power Reset Clocking Power Reset Control Clock & Timing Control Store Processor RAM

I/O Ports

Input & Output Pins

Introduccin a los microcontroladores


Caractersticas

(3/3)

F/ciles de utili0ar' Ba4o costo' Fle8ibles' 2ebido a su tama3o puede incluirse dentro del dispositi o .ue gobierna'

Tipos de Microcontroladores
)os microcontroladores se pueden clasi,icar en9

Microcontroladores de = bits' Microcontroladores de <@I6A bits 1rocesadores de se3ales digitales &2S1(

Microcontroladores de = bits

(1/3)

Todos los recursos necesarios est/n incluidos en el chip' Solo necesitan alimentacin y relo4' 1roporcionan control e inter,a0 con dispositi os e8ternos de manera econmica y programable'

Microcontroladores de = bits
2isponen de9

(2/3)

Reset Relo4 1rocesador Memoria ROM para el programa e inter,a0 de programacin Memoria R;M para ariables' IFO 1ins' Capacidad de debugging Interrupciones IFO analgica Comunicacin serial yFo paralela Inter,a0 con memoria

;dicionalmente pueden incluir9


Microcontroladores de = bits

(3/3)

Muy poca R;M &decenas de LB(' Muy poca elocidad de relo4 &decenas de M:M(' Muy utili0ados en aplicaciones de control' Ba4o costo' Ba4o consumo energ#tico &algunos KG(' E4emplo9 Control remoto %ni ersal
&programable(

1rocesador de se3ales digital

Es una categora relati amente nue a de microprocesadores' El ob4eti o de los 2S1 es tomar un se3al analgica y calcular una respuesta apropiada' E4ecutan a gran elocidad para permitir el control en tiempo real' E4emplo9 reproductor M16

Registros de EFS

Son los componentes m/s utili0ados de los microcontroladores ' )os microcontroladores disponen de registros para controlar los dispositi os de EFS' Espacios

EFS mapeada en memoria' Mapa EFS y mapa de memoria'

Relo4 del sistema

)os KC est/n dise3ados para e4ecutar con poco soporte e8terno para el relo4 del sistema' )os KCs corren en el entorno de las decenas de M:0' E8isten di ersos m#todos para proporcionarle el relo4 al KC9 %sando un cristal Resonador cer/mico Oscilador RC %tili0ando un clocN interno en el KC'

;limentacin

Minimi0ar el consumo de corriente es un tema a tener en cuenta' :ay .ue tener en cuenta el consumo9

2el microcontrolador en modo normal'


O 2epende de la ,recuencia y del olta4e proporcionado'

2el microcontrolador en modo sleep' 2el los dispositi os conectados a la EFS'


O 1articular de cada aplicacin' O 1ueden gestionarse adecuadamente los dispositi os'

Timers

Se utili0a para traba4ar con e entos de tiempo' Contadores9 cuentan acontecimientos .ue suceden en el e8terior' Tempori0adores9 controlan perodos de tiempo'

;r.uitectura

IO Boards

(1/2)

E8isten placas orientadas a traba4ar con entradaFsalida .ue permiten reali0ar dise3os embebidos en base a ellas' %tili0adas para prototipar o dise3ar productos de pocas unidades' Incluyen un microcontrolador* se3al de relo4* conectores de EFS* memoria ,lash e8terna* acondicionamiento de se3ales'

IO Boards

(2/2)

;rduino 5ogoBoard %SBPall %SBPButi/

2esarrollo de so,t-are

:erramientas y entornos de desarrollo 1rogramacin 2ebug

:erramientas y entornos de desarrollo


(1/4)

Editor Compilador Ensamblador Simulador Emulador 1rogramador

IDE

:erramientas y entornos de desarrollo


(2/4)

;ssembler

Instrucciones assembler' 2irecti as 2ebe estar bien comentado

:erramientas y entornos de desarrollo


(3/4)

)engua4e de alto ni el

C* CQQ* Basic* Forth* Ra aMe' 1roporcionan


O O O O O O O Mayor ni el de abstraccin Bibliotecas' Tipos de datos' 7ariables locales y globales' Estructuras de datos y punteros' ;signacin de memoria para datos' ;cceso a registros'

2ecrementa el tiempo de desarrollo'

:erramientas y entornos de desarrollo


(4/4)

Real Time Operating System &RTOS(


MultitasNing Scheduling Conte8t S-itching Respuestas en tiempo a e entos del mundo' Comunicacin entre procesos' StacN TC1FI1 E4emplos9 Sal o* FreeRTOS* KCFOS* '''

Fabricantes

Intel

=BP= =B>< &Intel y Otros( =B<=@* =B<=@ y =B6=@ ES' 1IC @=:C<< &Motorola y Toshiba( @=688 ;7R

Microchip

Motorola

;tmel

E olucin del hard-are embebido9

Cada e0 hay m/s aplicaciones ya .ue pueden hacerse dispositi os .ue9


Consuman menos por transistor Cuesten menos por transistor Sean m/s r/pidos

)ey de Moore9 Cada A a3os* el doble de transistores en la misma super,icie

Systems on a chip &SOC(

Se re,iere a integrar todos los componentes de un computador u otro dispositi o electrnico en un chip' )a principal di,erencia con un KC es la memoria disponible y el soporte para MM%' En general* los SOC permiten e4ecutar sistemas operati os &S'O( tradicionales' Cada SOC esta orientado a determinado tipo de aplicaciones'

Systems on a chip &SOC(

;l incrementar el ni el de integracin se disminuye el costo de ,abricacin' 1ermite implementar sistemas m/s pe.ue3os de altas prestaciones'

:ard-are Embebido basado en SOC


(1/3)

)a ar.uitectura de hard-are para los sistemas embebidos por lo general di,iere a la de los sistemas de escritorio'

;RM* MI1S o 1o-er1C son muy utili0ados por su ba4o consumo y buena per,ormance' 8=@ actualmente no es tan ,recuente* pero tambi#n es utili0ado'

:ard-are Embebido basado en SOC


(2/3)

;lmacenamiento en ,lash :ay .ue tener en cuenta .ue los ciclos de borrado son limitados* para alargar la ida +til de la memoria' O E8isten t#cnicas para DgastarE de ,orma uni,orme la memoria &-ear le eling(' O To es recomendable utili0arlas para implementar espacio de s-ap'

:ard-are Embebido basado en SOC


(2/2)

Cantidad de R;M limitada &desde unos pocos MB a arias decenas de MB( 7elocidad de C1% in,erior a sistemas de escritorio' 7arios buses de intercone8in &IAC* S1I* %SB* serial( y puertos de EFS'

;r.uitecturas utili0adas en S'E'

Extrado de: http://www.linuxforde i!es.!o"/!/a/#inux$%or$De i!es$&rti!les/Snapshot$of$the$e"bedded$#inux$"ar'et$&pril$())*/

;r.uitecturas utili0adas en S'E'

(Se"i!ast +esear!h)

7enta4as de utili0ar SOC

2ispositi os dise3ados con SOC se adaptan me4or a nue os re.uerimientos .ue los dise3ados con microcontroladores 1ermiten utili0ar Sistemas Operati os de propsito general* so,t-are* de ice dri ers y peri,#ricos utili0ados en 1cs ;cortan la cur a de aprendi0a4e

En resumen

2ise3os basados en SOC presentan muchas enta4as respecto los sistemas basados en KC' Sin embargo e8isten casos de dispositi os muy sencillos* o .ue re.uieren muy ba4o consumo* donde los dise3os basados en Kc siguen siendo utili0ados'

Embedded Single Board Computers &SBC(


(1/2)

SingleIboard computers &SBCs( son computadoras completas ,abricadas en una +nica placa de circuito' El dise3o es centrado en un microprocesador con R;M* almacenamiento* EFS y otras caractersticas necesarias para ser una computadora ,uncional en una sola placa'

Embedded Single Board Computers &SBC(


(2/2)

;ctualmente e8iste una gran gama de SBC basadas en SOC' %n SOC por si solo no puede ,uncionar* necesita de alimentacin* acondicionamientos de se3ales* conectores* y alg+n controlador adicional' M/s pe.ue3as* m/s e,icientes energ#ticamente y con mayores posibilidades de EFS .ue un sistema tradicional'

7enta4as de desarrollar basado en SBC


Son utili,adas "u!has e!es para prototipar solu!iones. -ara produ!!i.n de po!as unidades no es rentable dise/ar hardware. Dise/ar en base a S0Cs resulta una op!i.n a tener en !uenta. Existen diferentes S0C seg1n las ne!esidades del siste"a e"bebido a reali,ar. 2rientadas a "ulti"edia3 rob.ti!a3 apli!a!iones ". iles.

Tendencias en S'O' para embebidos

Extraido de: http://www.linuxforde i!es.!o"/!/a/#inux$%or$De i!es$&rti!les/Snapshot$of$the$e"bedded$#inux$"ar'et$&pril$())*/

;certi4o

Funciona con )inu8* pero para .ue sir e$

Respuesta9

1ara orde3ar acas

)inu8 Embebido en nuestras idas

5T%F)inu8 para S'E'

5T%F)inu89 Sistema operati o libre compuesto por el Nernel &)inu8( y herramientas del sistema 5T%' El Lernel es el componente del S'O' .ue nos abstrae del hard-are y nos ,acilita su uso' ;ctualmente es el sistema operati o de uso general m/s utili0ado en sistemas embebidos'

El Lernel )inu8

Originalmente no ,ue pensando como un sistema operati o embebido' Escrito originalmente para la ar.uitectura I;I6A* portado por primera e0 a procesadores Motorola' El proceso ,ue costoso* lo .ue implic un redise3o de la ar.uitectura para hacerlo ,/cilmente portable' Este cambio abri la puerta para ser portado a otras ar.uitecturas'

El Lernel )inu8

Soporta numerosas ar.uitecturas &6'='6(9 alpha* arm* arm@P* a r6A* blacN,in* c@8* cris* ,r * h=6BB* he8agon* ia@P* m6Ar* m@=N* microbla0e* mips* mn<B6BB* openrisc* parisc* po-erpc* s6?B* score* sh* sparc* tile* um* unicore6A* 8=@* 8tensa

El Nernel de )inu8 para sistemas embebidos

To e8iste un Nernel de )inu8 especial para sistemas embebidos y otro para estaciones de traba4o' Es el mismo cdigo ,uente .ue se compila para ser idores* estaciones de traba4o o sistemas embebidos' ;l momento de compilar la imagen del Nernel* se incluye soporte +nicamente para el hard-are a utili0ar'

2istribuciones embebidas

(1/2)

Meego9 http9FFmeego'comF

;punta a celulares* reproductores de multimedia* netbooNs* T s* I7I' Soportado por Intel y ToNia &m/s o menos(' 2istribucin de 5oogle para tel#,onos y tablet 1Cs' Sal o el Lernel* un userspace muy di,erente de otras distribuciones' Muy e8itosa* muchas aplicaciones disponibles & arias propietarias('

;ndroid9 http9FF---'android'comF

2istribuciones embebidas

(2/2)

UngstrVm9 http9FF---'angstromIdistribution'orgF

;punta a 12;s y MI2s &Siemens Simpad'''( Binarios para arm little endian'

%buntu ;RM

Re.uerimientos mnimos

%n C1% soportado por gcc y el Lernel )inu8'


C1% de 6A bits P MB R;M C1%Ws sin MM% son tambi#n soportados mediante el proyecto uClinu8'

Memory Management %nit


2ispositi o de hard-are' En los sistemas operati os modernos cada proceso dispone de un espacio de direcciones lgicas o irtuales' En momento de e4ecucin la direccin irtual es trans,ormada en una direccin ,sica por la Memory Management Unit &MM%(' 1ermite implementar proteccin de memoria* memoria irtual'

7enta4as en el uso de 5T%F)inu8 en S'E

Reutili0acin de bibliotecas de so,t-are e8istente' Tos permite centrarnos en dar alor agregado a una solucin y no en Drein entar la ruedaE' Calidad' %so de lengua4es de programacin de mayor ni el de abstraccin &Ra a* 1ython* )ua(' 1osibilidad de prototipar y debugear en un 1C muchos de los componentes del sistema' Brinda portabilidad de mi sistema a otras ar.uitecturas &independencia tecnolgica('

7enta4as en el uso de 5T%F)inu8 en S'E


E8tensiones para mane4o de tiempo real' Mantenibilidad 1uedo auditar el cdigo ,uente' )ibertad de modi,icar el cdigo ,uente' Menor costo en licencias' ;cceso m/s sencillo al so,t-are y a las herramientas' 1ermite hacer ,rente a los re.uerimientos cada e0 m/s comple4os impuestos por el mercado' :erramientas de desarrollo independientes de la plata,orma

2es enta4as de 5T%F)inu8 en S'E

;lgunos dri ers propietarios solo e8isten para ersiones ie4as del Nernel y el ,abricante no publica sus ,uentes' ;lgunos Sistemas Embebidos basados en 5T%F)inu8 toman un ,orN del Nernel ainilla y nunca integran sus cambios' Muchas eces no tengo opcin de .ue distribucin usar' 1uede ocurrir .ue ni si.uiera e8ista una distribucin &usar Buildroot* OpenEmbedded('

)inu8 y el tiempo real &RT(

RTOS9 S'O con la habilidad de brindar el ni el re.uerido de ser icio en un perodo de tiempo acotado &1OSIS <BB6'<b( Con el tiempo )inu8 ,ue incorporando parches RT* como los timers de alta resolucin' Es raro tener restricciones de tiempo blandas .ue un Lernel 7anilla no pueda pro eer &)atencia de peor caso <ms(' Si se necesita menor latencia usar parches para el Lernel9 1REEM1TXRT O,rece una latencia m/8ima de <BBKs

Estado actual de los S'E

Cada e0 se dispone de hard-are con mayores prestaciones* .ue incluso permite e4ecutar un S'O de propsito general con RT y seguir siendo econmicamente iable' El mercado le e8ige m/s re.uerimientos a los dispositi os embebidos'

Estado actual de los S'E'

:oy en da los S'E' tienen m/s puntos en com+n con los sistemas de propsito general .ue en el pasado' :erramientas de desarrollo de mayor ni el de abstraccin' Reutili0acin de so,t-are y peri,#ricos utili0ados en sistemas de propsito general Es necesario contar con e.uipos interdisciplinarios'

Componentes de So,t-are

CrossItoolchain9 Compilador .ue corre en la m/.uina de desarrollo* pero genera cdigo para el sistema embebido' Bootloader9 Iniciado por el hard-are' Responsable de la iniciali0acin b/sica* cargar y e4ecutar el Nernel' Lernel )inu89 Contiene el mane4o de los procesos* memoria* red* dri ers y pro ee ser icios para las aplicaciones de usuario' Biblioteca de C9 Inter,a0 entre el Lernel y las aplicaciones &glibc* KClibc(' Bibliotecas y aplicaciones9 reutili0adas o desarrolladas por nosotros'

Toolchain

)as herramientas usuales de desarrollo disponibles en una estacin de traba4o 5T%F)inu8 es un toolchain nativo Este toolchain e4ecuta en la estacin de traba4o y genera codigo para esta estacin de traba4o* generalmente 8=@

Toolchain

En sistemas embebidos* es usualmente imposible o poco interesante utili0ar un toolchain nati o' El target es muy restricti o en terminos de almacenamiento o memoria' El target es muy lento comparado con la estacin de traba4o' 1uede no ser desado de instalar todas las herramientas de desarrollo en el target' 1or lo tanto cross-compiling toolchains son generalmente utili0ados' E4ecutan en el -orNstation pero generan cdigo para el target'

Toolchain
C.digo %uente Cross$!o"piling tool!hain x45

tool!hain nati o

E7uipo de !o"pila!i.n

0inario x45 x45

0inario &+6 &+6

E7uipo a e8e!utar

El Nernel de )inu8 en el sistema


:ser app 0 #ibrary & :ser app & C library In o!a!i.n a ser i!ios Linux Kernel <esti.n del hardware 9ardware ;otifi!a!i.n de e entos ;otifi!a!i.n de e entos3 presenta!i.n de infor"a!i.n Espa!io de usuario

Bibliogra,a

Inyeccin de de,ectos y su aplicacin en dispositi os %SB* http9FF---'sase'com'arFAB<<F,ilesFAB<BF<<F S;SEAB<<IInyeccionXde,ectosXyXsuXaplicacio nXenX%SB'pd, http9FF---'linu8,orde ices'comF http9FF,reeIelectrons'comF http9FFNernel'org Building Embedded )inu8 Systems Embedded )inu8 System 2esign and 2e elopment &;uerbach* ABB@(

1reguntas

S-ar putea să vă placă și