208006_Grupo_5

20
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍAS E INGENIERÍAS PROGRAMA DE INGENIERIA ELECTRONICA MODULO SISTEMAS EMBEBIDOS Actividad 15: EVALUACION FINAL MODULO SISTEMAS EMBEBIDOS ACTIVIDAD 15: EVALUACION FINAL PRESENTADO POR: PEDRO ELIAS MUÑOZ SOLARTE. PRESENTADO AL TUTOR: INGENIERO. OSCAR IVAN VALDERRAMA PROGRAMA DE INGENIERIA ELECTRONICA UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD) CEAD POPAYAN (ZONA CENTRO SUR) DICIEMBRE DE 2012

Transcript of 208006_Grupo_5

ESCUELA DE CIENCIAS BSICAS, TECNOLOGAS E INGENIERASPROGRAMA DE INGENIERIA ELECTRONICAMODULO SISTEMAS EMBEBIDOSActividad 15: EVALUACION FINAL

MODULO SISTEMAS EMBEBIDOSACTIVIDAD 15: EVALUACION FINAL

PRESENTADO POR:

PEDRO ELIAS MUOZ SOLARTE.

PRESENTADO AL TUTOR:

INGENIERO. OSCAR IVAN VALDERRAMA

PROGRAMA DE INGENIERIA ELECTRONICAUNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)CEAD POPAYAN (ZONA CENTRO SUR)DICIEMBRE DE 2012

1. INTRODUCCIONUn sistema embebido es cualquier dispositivo que incluye un ordenador programable, pero en s mismo no es un ordenador de propsito general. Un sistema embebido es un sistema electrnico que contiene un microprocesador o microcontrolador, sin embargo no solemos darle damos la categora de ordenador o computador. Las personas utilizan el trmino sistema embebido para referirse a cualquier sistema informtico oculto en un producto o aparato, ya que la palabra embebido implica que est incrustado dentro de un sistema global.En este trabajo se presentan los pasos bsicos para el diseo, construccin e implementacin de un robot seguidor de lnea utilizando sistemas embebidos. Se examinan conceptos como Estructura mecnica, transmisiones, actuadores, sistema sensorial, diseo electrnico y programacin del microcontrolador utilizando lenguaje C. Estos conceptos fueron aplicados al diseo, construccin e implementacin de un robot seguidor de lnea negra programado utilizando el microcontrolador PIC18F4550 de Microchip. Durante el desarrollo de la presente actividad realizaremos una exploracin por los contenidos de la Unidad III del mdulo SISTEMAS EMBEBIDOS, explorando como primera medida el concepto de sistemas operativos, enfocndonos en los sistemas operativos desarrollados para sistemas embebidos, seguidamente profundizaremos en la temtica de Embedded Linux y uCLinux, para lo cual estudiaremos las diferentes distribuciones comerciales y no comerciales y sus caractersticasy para finalizar este informe haremos el planteamiento de un proyecto de aplicacin que incluya la implementacin de un sistema embebido para solucionar una problemtica especfica.

2. CONTENIDOFASE 1. SISTEMAS OPERATIVOS

Realice una investigacin sobre el sistema operativo Linux, caractersticas, distribuciones, caractersticas del Kernel, etc. Descargue e instale la ltima distribucin de Ubuntu, anexe evidencia de la instalacin realizada.LINUXLINUX (o GNU/LINUX, ms correctamente) es un Sistema Operativo como MacOS, DOS o Windows. Es decir, Linux es el software necesario para que tu ordenador te permita utilizar programas como: editores de texto, juegos, navegadores de Internet, etc. Linux puede usarse mediante un interfaz grfico al igual que Windows o MacOS, pero tambin puede usarse mediante lnea de comandos como DOS. Linux tiene su origen en Unix. ste apareci en los aos sesenta, desarrollado por los investigadores Dennis Ritchie y Ken Thompson, de los Laboratorios Telefnicos Bell.Andrew Tanenbaum desarroll un sistema operativo parecido a Unix (llamado Minix) para ensear a sus alumnos el diseo de un sistema operativo. Debido al enfoque docente de Minix, Tanenbaum nunca permiti que ste fuera modificado, ya que podran introducirse complicaciones en el sistema para sus alumnos. Un estudiante finlands llamado Linus Torvalds, constatando que no era posible extender Minix, decidi escribir su propio sistema operativo compatible con Unix. En aquellos momentos el proyecto GNU (GNU's Not Unix), que Richard Stallman haba iniciado haca ya casi diez aos, comprenda un sistema bsico casi completo. La excepcin ms importante era el kernel o ncleo, que controla el hardware. Torvalds decidi aprovechar el sistema GNU y completarlo con su propio ncleo, que bautiz como Linux (Linux Is Not UniX). El sistema conjunto (herramientas GNU y ncleo Linux) forma lo que llamamos GNU/Linux.CARACTERISTICASLibre distribucinLINUX es un sistema operativo, compatible Unix. Dos caractersticas muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en el mercado, la primera, es que es libre, esto significa que no tenemos que pagar ningn tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompaado del cdigo fuente. El sistema lo forman el ncleo del sistema (kernel) ms un gran nmero de programas / libreras que hacen posible su utilizacin.Multitareas Multitareas describe la habilidad de ejecutar aparentemente, al mismo tiempo, numerosos programas sin obstaculizar la ejecucin de cada aplicacin. Esto se conoce como multitareas preferente, porque cada programa tiene garantizada la posibilidad de correr, esto es, cada programa no se ejecuta sino que hasta que el sistema operativo lo aparta para permitir que otros programas corran. Este tipo de multitareas es exactamente lo que Linux hace. Para comprender mejor la capacidad de multitareas de Linux, se examinar desde otra perspectiva. El microprocesador de una computadora puede hacer una sola cosa a la vez, pero es capaz de completar esas tareas individuales en periodos tan breves que son difciles de captar. La mente humana es incapaz de detectar la diferencia entre una demora tan breve y algo que ocurra simultneamente. De tal forma que pareciera que las tareas se realizan al mismo tiempo. Es fcil apreciar los beneficios de tener capacidades de multitareas preferente. Adems de reducir los tiempos muertos (lapso en el que no puede proseguir su trabajo en una aplicacin porque el proceso no termina an), la flexibilidad de no tener que cerrar las ventanas de aplicaciones antes de abrir y trabajar en otras es mucho ms conveniente. Multiusuario La capacidad de Linux para asignar tiempo del microprocesador a numerosas aplicaciones simultneas se prest como consecuencia a servir a numerosas personas al mismo tiempo, cada una ejecutando una o ms aplicaciones. La particularidad en realidad destacada de Linux y sus caractersticas de multiusuario y multitareas, es que ms de una persona puede trabajar en la misma versin de la misma aplicacin de manera simultnea, desde las mismas terminales o desde terminales separadas. Esto no debe confundirse con numerosos usuarios que actualizan un archivo a un tiempo, particularidad que es potencialmente desconcertante y peligrosa a la vez que indeseable. Shells programables Esta es otra caracterstica que hace de UNIX y en consecuencia de Linux, lo que es: el sistema operativo ms flexible. Aunque en los ltimos ans se han agregado interfaces grficas al sistema UNIX, casi todas las utileras para emplear y administrar Linux, se ejecutan mediante la escritura de comandos. En Linux, al intrprete de la lnea de comando de le conoce como shell, que no es otra cosa mas que un programa disendo para aceptar comandos y ejecutarlos. Varios tipos de programas pueden emplearse como shells, pero en casi todas las versiones de Linux existen diversos shells estndares disponibles.

Independencia de dispositivosLinux admite cualquier tipo de dispositivo (mdems,impresoras) gracias a que cada una vez instalado uno nuevo, se aade al Kernel el enlace o controlador necesario con el dispositivo, haciendo que el Kernel y el enlace se fusionen. Linux posee una gran adaptabilidad y no se encuentra limitado como otros sistemas operativos.ComunicacionesLinux es el sistema ms flexible parapoderconectarse a cualquier ordenador del mundo. Internet se cre y desarrollo dentro del mundo de Unix, y por lo tanto Linux tiene las mayores capacidades para navegar, ya que Unix y Linux son sistemas prcticamente idnticos. Con Linux podr montar unservidoren su propia casa sin tener que pagar las enormes cantidades dedineroque piden otros sistemas.Comunicaciones y capacidades de red La superioridad de UNIX y de Linux sobre otros sistemas operativos es igual de evidente en sus utileras para comunicaciones y red. El envo de mensajes internos o la transferencia de archivos puede hacerse mediante algunos comandos de Linux, entre los que estn write, cal, mail, mailx asi como cu y uucp. El intercambio de informacin entre usuarios del mismo sistema se lleva a cabo por medio de comunicacin terminal a terminal, correo electrnico y un calendario automtico que sirve como administrador y programador de informacin. Portabilidad de sistemas abiertos En la interminable bsqueda de la estandarizacin, muchas organizaciones han asumido un inters renovado en la direccin en la que estn evolucionando los sistemas operativos. La portabilidad es la capacidad de transportar un sistema operativo de una plataforma a otra para que siga funcionando del mismo modo en que lo haca. La portabilidad que proporciona los medios para que diferentes plataformas de cmputo que corren UNIX se comuniquen adecuada y efectivamente con cualquiera de las otras sin necesidad de agregar interfaces de comunicacin especial, costosas y de ltima hora. Ningn otro sistema operativo puede satisfacer esta demanda. DISTRIBUCIONESLa mayora de las distribuciones propone tambin su propia instalacin grfica as como un sistema de administracin de paquetes que permite la instalacin automtica de software por medio de la administracin de dependencias (en algunos casos, el software en Linux se vincula a bibliotecas externas o se basa en otro software).Cada distribucin tiene sus ventajas y sus desventajas: De hecho, algunas son ms adecuadas para principiantes y brindan interfaces grficas sofisticadas, mientras que otras ponen nfasis en la seguridad y la capacidad de desarrollo.Las distribuciones ms conocidas son: La distribucinRed Hat; La distribucinDebian; La distribucinSuSe; La distribucinKnoppix; La distribucinSlackware; La distribucinMandriva.CARACTERSTICAS DEL KERNEL DE LINUXPara conocer a fondo cmo trabaja el Sistema Operativo Linux, no hay nada mejor que conocer las caractersticas tcnicas de su Kernel: Tiene soporte para carga/descarga de porciones del kernel bajo demanda, estas porciones se llaman mdulos, y suelen ser caractersticas del kernel o controladores de dispositivo. Threads de kernel: para el funcionamiento interno se usan varios hilos (threads) de ejecucin internos al kernel, que pueden estar asociados a un programa de usuario o bien a una funcionalidad interna del kernel. En Linux no se hace un uso intensivo de este concepto, slo unas pocas funcionalidades. Soporte de aplicaciones multithread: soporte de aplicaciones de usuario de tipo multithread, ya que muchos paradigmas de computacin de tipo cliente/servidor necesitan servidores capaces de atender mltiples peticiones simultneas dedicando un hilo de ejecucin a cada peticin o grupo de ellas. Linux tiene una biblioteca propia de threads que puede usarse para las aplicaciones multithread, pero tambin se esperan mejoras importantes en este aspecto en las nuevas versiones. Soporte para multiprocesador, lo que llama multiprocesamiento simtrico (SMP). Este concepto suele englobar mquinas que van desde el caso simple de 2 hasta 64 CPU. Linux puede usar mltiples procesadores, donde cada procesador puede manejar una o ms tareas. Pero hay algunas partes del kernel que disminuyen el rendimiento, ya que estn pensadas para una nica CPU y obligan a parar el sistema entero. SMP es una de las tcnicas ms estudiadas en la comunidad del kernel de Linux, y se esperan mejoras importantes para las nuevas versiones, ya que se depende en gran medida del rendimiento SMP para la adopcin de Linux en los sistemas empresariales. Sistemas de ficheros: el kernel tiene una buena arquitectura de los sistemas de ficheros, el trabajo interno se basa en una abstraccin de un sistema virtual (VFS, Virtual File System), que puede ser adaptada fcilmente a cualquier sistema real. Como resultado, Linux es quizs el operativo que ms sistemas de ficheros soporta, desde los propios ext2 y ext3, hasta msdos, vfat, sistemas con journal como ReiserFS, JFS(IBM), XFS(Silicon), NTFS(slo lectura), iso9660 (CD), udf, etc. y se van aadiendo ms.Descargue e instale la ltima distribucin de Ubuntu, anexe evidencia de la instalacin realizada.UbuntuEs un sistema operativo mantenido por Canonical y la comunidad de desarrolladores. Utiliza un ncleo Linux, y su origen est basado en Deban. Ubuntu est orientado al usuario novel y promedio, con un fuerte enfoque en la facilidad de uso y mejorar la experiencia de usuario. Est compuesto de mltiple software normalmente distribuido bajo una licencia libre o de cdigo abierto. Estadsticas web sugieren que el porcentaje de mercado de Ubuntu dentro de "distribuciones linux" es de aproximadamente 49%, y con una tendencia a subir como servidor web. Y un importante incremento activo de 20 millones de usuarios para fines de 2011. Su patrocinador Canonical, es una compaa britnica propiedad del empresario sudafricano Mark Shuttleworth ofrece el sistema de manera gratuita y que se financia por medio de servicios vinculados al sistema operativo y vendiendo soporte tcnico. Adems, al mantenerlo libre y gratuito, la empresa es capaz de aprovechar los desarrolladores de la comunidad para mejorar los componentes de su sistema operativo. Extraoficialmente la comunidad de desarrolladores proporciona soporte para derivaciones de Ubuntu con otros entornos: Kubuntu, Xubuntu, Edubuntu, Ubuntu Studio, Mythbuntu y Lubuntu. Canonical adems de mantener Ubuntu, tambin provee de una versin orientada a servidores, Ubuntu Server, una versin para empresas, Ubuntu Business Desktop Remix, una para televisores, Ubuntu TV, y una para usar el escritorio desde telfonos inteligentes, Ubuntu for Android. Cada seis meses se publica una nueva versin de Ubuntu la cual recibe soporte por parte de Canonical, durante dieciocho meses, por medio de actualizaciones de seguridad, parches para bugs crticos y actualizaciones menores de programas. Las versiones LTS (Long Term Support), que se liberan cada dos aos, reciben soporte durante cinco aos en los sistemas de escritorio y de servidor.Requisitos Minimos para Ubuntu (PC con) CPU: Intel Pentium III o AMD Athlon a 600 MHz o superior RAM: 384 MB para ejecutar el LiveCD O 256 MB para ejecutar el instalador solo o mas Disco Duro de 3 GB o mas Tajeta de Red y Conexion a Internet: Para la instalacion De Los Paquetes de idiomas (Sin los Paquetes de idiomas la mayor parte de las aplicaciones o programas estan en Ingles) Tarjeta Grfica: Minimo de 2 MB de Video o 32 MB Con Aceleracion 3D Para ejecutar el Compiz Fusion ConfiguracinLa Instalacin consta de unos sencillos pasos. Paso 1: Elegir el idioma. Si en la pantalla de bienvenida eligi el espaol, simplemente pulse adelante (Siguiente o Forward), en otro caso seleccione Espaol en la lista, y contine (vase Fig. 3). Paso 2: Elegir la zona horaria. Simplemente pulse sobre su zona para acercar el mapa y despus sobre la ciudad concreta representativa de su huso horario. Por ejemplo, en el caso del huso peninsular en Espaa habra que pulsar sobre el pas y luego sobre Madrid (vase Fig. 4). Paso 3: Elegir el tipo de teclado. Si todo va bien y no tiene un teclado fuera de lo comn sino un teclado espaol estndar, debera estar ya seleccionado (teclado Spain). Cercirese de que esto es as escribiendo en la caja de texto que hay en la parte inferior, pulsando algunas teclas especficas del espaol, como la y algunos smbolos habituales como el euro (vase Fig. 5). Paso 4: Cuidado! Este es uno de los pasos ms importantes y delicados. Se trata de indicar dnde se debe instalar Ubuntu. Escoja la opcin correcta o podra formatear una particin no deseada si va a compartir el disco duro con otros sistemas operativos. Existen tres opciones: 1. Formatear todo el disco duro. Elija sta si desea borrarlo todo y usar el disco duro por defecto como nico para Ubuntu (vase Fig. 6). Es la opcin ms fcil y menos problemtica. 2. Espacio libre contiguo. Ubuntu usar un trozo de espacio libre del disco duro para instalarse. sta es la opcin ms recomendable si desea conservar su antiguo sistema operativo o alguna particin con sus datos. Es una opcin muy habitual para aqullos que desean seguir tambin con un primer o segundo sistema operativo como Windows o Mac OS. 3. Particionamiento manual. Con esta opcin, podr especificar cmo sern las particiones de forma ms especfica. sta no es la mejor opcin si nunca se ha hecho una particin o se ha instalado Linux antes. De cualquier modo, es aconsejable consultar previamente la gua Particionar el disco duro. Fig. 3 Escoger idioma Fig. 4 Configurar zona horaria Fig. 5 Seleccin del teclado Fig. 6 Formatear todo el disco duro

FinalizandoFig. 7 Introduciendo los datos de usuario Fig. 8 Confirmacin de los datos para la instalacin. Fig. 9 Copiando archivos al disco duro. Fig. 9a Instalando paquetes de idioma.

ANEXO DE LA INSTALACIN DE UBUNTU

II. FASE: EMBEDDED LINUX Y UCLINUX

Describa las diferentes distribuciones comerciales y no comerciales de Embedded Linux.Distribuciones de Linux Empotrado Embebido1. CLinux2. Ubuntu Mobile3. OpenWrt4. Android5. MeeGo6. Moblin7. Familiar Linux

DISTRIBUCIONES COMERCIALES

Aunque hemos dicho que Linux es un software libre, hay empresas que trabajan basndose en Linux para crear su propio sistema operativo. Existen poderosos sistemas operativos para dispositivos de comunicaciones mviles desarrollados por dichas empresas:

Collogic: Coollinux. Combina Linux embebido con tecnologas Java. Es ideal para aplicaciones Internet de ltima generacin (Internet Mvil).Conventive: XLinux. Destaca epecialmente por poder configurar el kernel de Linux en tan solo 143KB de espacio.Esfia: RedBlue Linux. Esta distribucin, especialmente diseada para comunicaciones mviles, tiene el kernel desarrollado en 400KB y soporta procesadores con o sin MMU (Memory Management Unit, unidad de manejo de memoria).Mizi: Linu@. Ideal para aplicaciones Internet, Smart Phone y PDA. Soporta una amplia gama de procesadores, y requiere al menos 2MB de DRAM y MB de memoria Flash.Amirix: Embedded Linux. Derivado de Standard Debian GNU/Linux, retocado mediante drives y herramientas, que posibilitan una configuracin para sistemas pequeos, sin disco, basados en Flash.Kyzo: PizzaBox Linux. Sistema basado en Linux y Samba. Puede correr con 6MB de ROM Flash sobre una CPU 486 o superior.Lineo: Embedix. Se trata de un software basado en Linux diseado especficamente para dispositivos embebidos. Suporta un amplio rango de CPUs, sin necesidad de MMU.PalmPalm: Tynux. Una solucin de Linux embebido optimizada para aplicaciones Internet que incluye reproductores MP3 y video, Internet TVs, equipamiento videoconferencia, PDA/telfono mvil.

III. FASE: PROYECTO DE APLICACION

Plantee un proyecto en su regin donde la implementacin de un sistema embebido supla una necesidad puntual de su comunidad, siga los pasos planteados en el mdulo para el desarrollo de sistemas embebidos. Describa la poblacin beneficiada.

Control de temperatura basado en microcontrolador para la produccin de biogs a base residuos slidos. El manejo de los residuos slidos generados por la poblacin se convierte en un factor relevante por su impacto social y ambiental. Un manejo inadecuado de los mismos provoca entre otros aspectos enfermedades, contaminacin de fuentes hdricas, del suelo y del aire por solo mencionar algunos. Todos estos elementos afectan directamente el bienestar de la poblacin y son alterados directamente por el crecimiento de la poblacin y el aumento en la produccin de residuos.

La materia orgnica, en ausencia de oxgeno, y mediante la accin de un grupo de bacterias especficas, se descompone en productos gaseosos o "biogs" como el CH4, en digestato, que es una mezcla de productos minerales y compuestos de difcil degradacin.El biogs contiene un alto porcentaje en metano, CH4 (entre 50-70%), por lo que es susceptible de un aprovechamiento energtico mediante su combustin en motores, en turbinas o en calderas, bien slo o mezclado con otro combustible.

Este proyecto plantea el desarrollo de un sistema de control embebido basado en microcontrolador para la regulacin de la temperatura de un digestor anaerbico para la generacin de biogs a partir de la fraccin orgnica de residuos slidos orgnicos, con el propsito de mostrar una alternativa de desarrollo a bajo costo, as como aportar un conocimiento ms en el campo de la digestin anaerbica como alternativa energtica y de saneamiento ambiental.3. CONCLUSIONES

Con el desarrollo del presente trabajo logramos los siguientes resultados:

El crecimiento de los sistemas embebidos en los ltimos aos les ha llevado a ser ms populares y ms evolucionados. Esta evolucin requiere que los grupos que se dediquen a desarrollar aplicaciones con sistemas embebidos posean slidos conocimientos de los componentes de hardware y software utilizados en ellos, ya que de esta manera el diseo de cualquier solucin ser planteada teniendo en cuenta los alcances y las limitaciones de tales sistemas.

En este trabajo estudiamos los aspectos fundamentales en el desarrollo e implementacin de sistemas embebidos, enfocndonos en el software que se ejecuta en ellos, como es el caso de los sistemas operativos embebidos.

Analizamos los cambios que se incorporan en las funciones bsicas de un sistema operativo (procesos, gestin de memoria, etc.) para hacerlos aplicables a los sistemas embebidos, esto debido a las limitaciones de hardware que tienen estos sistemas.

El estudio de esta nueva tendencia en los sistemas informticos viene abriendo el camino para un nuevo campo de investigacin donde, las limitaciones computacionales, el espacio y la energa sern aspectos fundamentales.

4. BIBLIOGRAFIA

Oscar Ivn Valderrama Arias (2009) Modulo de Sistemas Embebidos. Escuela de ciencias bsicas, tecnologa e ingeniera. UNAD. Sogamoso-Colombia.

Agilent Application Note 1465-29, Using Linux to Control LXI Instruments through TCP.