Escuela de Electrónica y Telecomunicaciones.Febrero, 2012..      Diseño e implementación de un servidor web          embeb...
Escuela de Electrónica y Telecomunicaciones.Febrero, 2012..    FlashXilinx XCF04             aplicaciones para el SWE en c...
Escuela de Electrónica y Telecomunicaciones.Febrero, 2012..                                                               ...
Escuela de Electrónica y Telecomunicaciones.Febrero, 2012..La página Web debe ser empaqueta en un sistema deficheros de ti...
Escuela de Electrónica y Telecomunicaciones.Febrero, 2012..               VII.   CONCLUSIONES                             ...
Upcoming SlideShare
Loading in...5
×

Anexo 6 paper swe

603

Published on

Paper sobre un servidor web embebido desarrollado para la UTPL.

Published in: Business
2 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
603
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
2
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Anexo 6 paper swe"

  1. 1. Escuela de Electrónica y Telecomunicaciones.Febrero, 2012.. Diseño e implementación de un servidor web embebido basado en una arquitectura reconfigurable con FPGAs para el control y monitoreo de periféricos.Christian Lojan Herrera, Profesional en formación, UTPL, eIng. Manuel Quiñones Cuenca, Docente, UTPL. la verificación del sistema. Como se muestra en laResumen--El presente trabajo se centra en el diseño e Figura 1.implementación de un servidor web embebido (SWE)sobre una tarjeta electrónica Spartan 3E Starter Kit,destinado al control y monitoreo de periféricos medianteuna interfaz gráfica basada en: HTML, CSS yJavaScript.El sistema se ha diseñado mediante el métodoSoC de inclusión modular de IPCORES de Xilinx, y estábasado en el Firm Core Microblaze que utiliza un modelode pila de protocolos TCP/IP de bajo peso llamado LWIP Figura 1. Codiseño de un SoC. Fuente [2].para: proveer un servicio WEB mediante HTTP y unservicio de medición de ancho de banda. Finalmente se II. DISEÑO DE HARDWARErealizan las pruebas de estabilidad, conexionessimultáneas, ancho de banda y consumo energético. ElSWEes capaz de: proveer una comunicación TCP/IPPalabras clave--SWE, HTML, IPCORES, LWIP, confiable a través de una interfaz física RJ-45, unMicroblaze, SoC. reporte de acciones a consola a través de una interfaz DB9 sobre un protocolo RS232, una comunicación I. INTRODUCCIÓN RS232 con un módulo externo ADC víauna interfaz DB9. El esquema de implementación del SWE puedeLos servidores web embebidos (SWEs), son apreciarse en la Figura 2.dispositivos construidos a medida para proveer unservicio de transporte de hipertexto (HTTP) permitiendoa un cliente visualizar páginas HTML mediante unnavegador WEB [1].Los SWEs son una solución muy atractiva para sistemasde comunicación Ethernet de bajos requerimientos deprocesamiento. Los sistemas embebidos generan un bajoconsumo energético y un bajo coste de implementacióny desarrollo, por lo que, son una opción muy viable para Figura 2. Esquema de requerimientos del SWE. Elaborado porsistemas de control y supervisión remotos. el Autor.Un servidor embebido con capacidades HTTP presenta Sistema fue construido sobre una tarjeta electrónicauna interfaz gráfica amigable, accesible a través de Spartan 3E Starter Kit de Digilent, las características decualquier cliente HTML con capacidades de los dispositivos requeridos según la referencia [3] paracomunicación TCP/IP. la plataforma de Hardware se pueden apreciar en la Tabla 1.La técnica de desarrollo SoC de un sistema embebidodivide al diseño en etapas mutuamente Tabla 1. Requerimientos del SWE. Elaborado por el Autor.complementarias. La primera etapa consiste en: Dispositivo Uso en el Sistema.determinar los requerimos del sistema y la partición del FPGA XC3S500E- Procesamiento de información, permitesistema en software yhardware. Las dos etapas embeber IPCORES. 4FGG320Csubsiguientes contemplan el diseño del hardware y Plataforma Permite almacenar y descargardiseño de software. Por último se realiza la integración y 1
  2. 2. Escuela de Electrónica y Telecomunicaciones.Febrero, 2012.. FlashXilinx XCF04 aplicaciones para el SWE en conjunto con A. Plataforma. ISE 11.1. Memoria SDRAM Almacena sistemas de ficheros, programas La plataforma de software es donde se asentarán las DDR SDRAM 32MB para el SWE. funcionalidades del sistema. La plataforma es de tipo Standalone y posee algunas de las funcionalidades del Fuente de Poder Brinda la alimentación regulada de lenguaje C, todas las funcionalidades han sido reducidas LT3412 potencia para la memoria DDR-SDRAM. para una integración completa con el procesador Fuente de Poder Proporciona la alimentación regulada de Microblaze. TPS75003 potencia a la FPGA. LWIP130 es una biblioteca de funcionalidades que Realiza el procesamiento Ethernet, necesariamente deben ser incluidas a la plataforma Ethernet PHY SMSC independiente, para el servicio de la capa LAN83C185 física con negociación CSMA/CD. standalone, ya que brindan la funcionalidad de una verdadera pila de protocolos TCP/IP en apenas 40 kB de código [6]. III. IPCORES Y BUSES. La biblioteca Xilmfs al ser incluida en la plataforma deLa plataforma de hardware fue enteramente diseñada en software provee un servicio de sistema de ficheros, asíEDK 11.1, que es parte del ISE 11.1 de Xilinx Inc. Los se puede acceder a ficheros organizados en espaciosdispositivos como: memorias, buses o procesadores se contiguos de memoria [7].encuentra integrados en la FPGA, como módulosdenominados IPCORES, todos los IPCORES se La configuración de biblioteca LWIP130 debe hacerseencuentran vinculados a una contraparte física mediante tomando en cuenta que sobre el protocolo TCP se ha deun mapeo de puertos del FPGA. transportar hipertexto (HTTP) destinado al servicio WEB. La biblioteca Xilmfs debe ser coherente con elEl corazón de toda la plataforma es el Firm core RISC inicio del módulo DDR SDRAM, además debede 32 bits Microblaze que proporciona todas las considerarse que se ha de carga una imagen prefuncionalidades de un microprocesador[5].Microblaze construida tipo mfs que contiene los ficheros destinadosinteractúa con el IPCORE MPMC para hacer uso de la a la visualización y operación del servicio web.memoria DDR SDRAM, mediante un bus dual XCL poruna interfaz PIM. B. Programas de servicio.Los periféricos están representados por dos instancias de El programa principal arranca todos los servicios delun IPCORE de propósito general de E/S denominado sistema (contadores, controladores, servicio web eGPIO, para los switchs y leds, dos instancias de UART servicio IPERF) y las librerías asociadas a los mismos.Lite para el control de la interfaz DB9 DTE y DCE para Además de establecer una identificación única de lael ADC y la Consola de estado, Ethernet Lite Mac para tarjeta en la Red. En la Figura 3, puede apreciarse elel control de interfaz de red RJ-45. algoritmo del programa principal.El sistema conecta todos los componentes mediantebuses de comunicación: los periféricos hacen uso delbus PLB (Peripheral Local Bus), el bus P2P parainteractuar con el entorno de programación ISE.Finalmente para interconecta la cache interna y losbloques de DDRAM hace uso de buses LMB (LocalMemory Bus). IV. DISEÑO DE SOFTWARE.El diseño de la plataforma de software se la realizó enSDK 11.1 que es parte del ISE 11.1 de Xilinx, mientrasque las aplicaciones e interfaces de usuario se las realizóen WEBUILDER 2010.Se importó el diseño deHardware desde EDK 11.1, ya que SDK 11.1 provee unambiente más propicio para la programación en C. 2
  3. 3. Escuela de Electrónica y Telecomunicaciones.Febrero, 2012.. C. Interfaz HTML. La interfaz de usuario fue diseñada bajo estándar HTML v4.1, se complementa con JS, CSS y Yui2, lo que le agrega a la página una mejor presentación, además de un tamaño pequeño y un tiempo de desarrollo corto. CSS optimiza líneas de código al establecer un formato de estilo a toda la página. JavaScript brinda todas las facilidades para la programación orientada a objetos que permite manipular interactivamente los objetos de la página y a través de ellos a los periféricos. Yui2, es una biblioteca de Scripts pre construidos que además de brindar funcionalidades de conexión y apariencia optima, permite reducir drásticamente el tiempo de desarrollo. La página puede apreciarse en la Figura 4.Figura 3. Algoritmo del programa principal. Elaborado por el Autor.El servidor WEB, está basado en la versión HTTPV1.1y únicamente implementa los métodos de petición GETy POST. El método GET está destinado a la obtenciónde ficheros como: imágenes, gifs, pdf, html, txt. Elmétodo POST únicamente es para la obtención dinámicadel estado de los periféricos como: ADC, leds o switchs.El servidor cuenta con funciones específicas quepermiten extraer el método contenido en la carga útil delpaquete entrante y proceder según sea el requerimiento.Las funciones solo son llamadas si se ha logrado unaconexión TCP exitosa. Figura 4. Página SWE. Elaborado por el Autor.El servidor analiza las peticiones tipo MIME y lasresponde en el mismo formato según se especifica en la D. Interfaz HTML.referencia [8].Las peticiones mediante GET están másrelacionadas con el sistema de ficheros y extraen losmismos de la imagen mfs en porciones de 1400 bytes El servicio IPERF es un servicio suplementariopara optimizar memoria y el transporte de datos. destinado únicamente a pruebas de rendimiento de red del sistema, actúa como un espejo ante paquetesEl método POST, se utiliza para el acceso a bajo nivelde entrantes. Puede ser accedido con un cliente iperf. Allos registros de los dispositivos. Los módulos para el igual que el SWE utiliza las primitivas de conexiónprocesamiento POST interactúan directamente con los mediante TCP.dispositivos y tienen acceso a sus registros en bajo nivel V. INTEGRACIÓNpara monitorear o controlar los periféricos, el métodoPOST utiliza la notación JSON en conjunto con La integración de hardware y software es una actividadJavaScript (JS) para realizar peticiones mediante de retroalimentación y muchas de las veces de ensayocomandos específicos al sistema. error. La plataforma de hardware debe unirse estrechamente con la plataforma de software para garantizar un ambiente óptimo para la ejecución de los servicios ofertados por el sistema. 3
  4. 4. Escuela de Electrónica y Telecomunicaciones.Febrero, 2012..La página Web debe ser empaqueta en un sistema deficheros de tipo mfs para poder ser descargada a lamemoria DDR SDRAM de la tarjeta, esto se lo realizamediante la consola xmd y el comando mfsgen.Los programas de servicio al ser compilados generan unarchivo ejecutable elf, es de vital importancia antes desu compilación realizar el Link Script y asignar lasporciones destinadas a heap y stack a la memoria DDRSDRAM para evitar posibles errores. Figura 6. Prueba de rendimiento Iperf. Elaborado por elEl primer paso en la integración es la descarga de la Autor.descripción del hardware a la tarjeta (system.bit), luegose procede con la descarga de la imagen del sistema de C. Tiempo de carga.ficheros en la memoria DDR SDRAM (*.mfs). Porúltimo se debe descargar el ejecutable de los programas Mediante el uso del complemento FireBug 1.9.0 parade servicio (*.elf). Mozilla Firefox 6.0, se ha logrado comprobar que el tiempo de la carga de la página en condiciones normales VI. PRUEBAS de operación es de 7.46 s. con una carga total de 113.2Se realiza las pruebas de estabilidad, ancho de banda, kB de 23 solicitudes GET y POST.solicitudes múltiples, tiempos de carga, optimización deLTUS y consumo energético, según el esquema que se D. Uso FPGA de plataforma de hardware.detalla en la Figura 5. En la Tabla 2, se detalla el uso de los recursos del sistema basado en FPGA con arquitectura reconfigurable. Tabla 2. Uso FPGA. Fuente EDK 11.1. UtilizaciónLógica Usada Disponible Utilización (%) Número de slice 3395 9312 36% flip flops Número de 4255 9312 45% LUT’S de 4 entradas Número de 3206 4656 68% Figura 5. Esquema de pruebas. Elaborado por el Autor. Slices ocupadosA. Múltiples solicitudes. E. Consumo energético.Ante múltiples solicitudes el servidor ha sido capaz de Mediante la utilización XPE (Xpower Estimator) 11.1atender a 25 solicitudes simultáneas, degradando sus [9] para la tarjeta Spartan 3E Starter Kit, se pudo estimartiempos respuesta a medida que las solicitudes se van el consumo de potencia de la tarjeta en 0.384 W, en laincrementando una media de la degradación de los Figura 7, se puede visualizar en más detalle lostiempos de respuesta es 400 ms.También se ha enviado resultados.30 solicitudes de ping simultáneas obteniendo el 80%de los paquetes confirmados.B. Ancho de banda IPERF.El servidor de rendimiento se lo ha ejecutado desde elcliente 1 mediante IPERF, en 10 pruebas se haobteniendo un ancho de banda promedio de 500 kbps.En la Figura 6 se muestra una captura de una de laspruebas. Figura 7. Estimación de consumo de potencia. Referencia [9]. 4
  5. 5. Escuela de Electrónica y Telecomunicaciones.Febrero, 2012.. VII. CONCLUSIONES la cantidad de tráfico se ve degradada a medida que se conecten más clientes al sistema.• Se ha desarrollado un sistema embebido sobre latarjeta Spartan 3E Starter Kit, accesible vía web con VIII. REFERENCIAScapacidades HTTP sobre TCP/IP capaz de monitorear ycontrolar variables analógicas o digitales sobre un [1] W. Nicholas. Designing an Embedded Web Server (2000). U.S.A: Applied Computing Technologies. Recuperado el 2011 deFPGA. El SWE puede adaptarse a cualquier sistema de http://pdf.cloud.opensystemsmedia.com/embedded-control o monitoreo con una estabilidad operacional computing.com/USSoftware.Win00.pdfaceptable [2] A, M., & J, A. (2010). “Servidor Web Embebido en una FPGA con Codiseño como Metodología de Diseño”. Innovation and Development for the Americas. Arequipa: LACCEI.• El prototipo posee capacidades HTTP para el [3] Digilent. (2006).”Spartan-3E Starter Kit Board User Guide”.transporte de datos además de una interfaz gráfica Recuperado el 2011, deHTML que facilita la operación del mismo. El usuario http://www.digilentinc.com/Data/Products/S3EBOARD/S3EStarte r_ug230.pdfpuede acceder al sistema remotamente mediante [4] Atmel Corporation. (2011). “Datasheet Atmega32”. Recuperadocualquier intérprete HTML con capacidades JavaScript el 2011, de www.atmel.comy CSS, y está en la capacidad de modificar y monitorear [5] Xilinx Inc. (2008). MicroBlaze Processor Reference Guide forparámetros de bajo nivel de los periféricos del sistema EDK 10.1. Recuperado el 2011, de http://www.xilinx.com/support/documentation/sw_manuals/mb_remediante el uso de objetos DOM HTML como: botones, f_guide.pdfcheckboxes, etc. [6] Dunkels, A. (2001). Design and Implementation of the lwIP TCP/IP Stack. Suecia: Swedish Institute of Computer Science.• Uno de los aportes de este proyecto está en la Recuperado el 2011 de Recuperado el 2011 de http://www.sics.se/~adam/lwip/doc/lwip.pdfexperiencia adquirida en el uso de FPGAs de Xilinx, la [7] Xilinx Inc. (2009). OS and Libraries Document Collection.cual deberá ser considerada para realizar desarrollo de Recuperado el 2011, desistemas basados en comunicaciones Ethernet, ya que se http://www.xilinx.com/support/documentation/sw_manuals/xilinxcomprendió su tendencia aplicativa en campos 11/oslib_rm.pdf [8] Network Working Group. (2009). Hypertext Transfer Protocol --emergentes como: control y supervisión de procesos HTTP/1.1. Recuperado el 2011, deproductivos, domótica, transporte, tele-medicina, http://www.w3.org/Protocols/rfc2616/rfc2616.htmlposicionamiento global, servicios bancarios, [9] Xilinx Inc. (2011). XPower Estimator User Guide. Recuperado elinformación turística, entre otros. 2011 de http://www.xilinx.com/support/documentation/user_guides/ug440. pdf• El Firmware desarrollado programado sobre el FPGAXC3S500E, ocupa el 47% de los recursos disponibles,por lo cual posee el 53% de recursos para almacenarprogramación, se puede pensar en una futuraincorporación de multiprocesamiento mediante lainclusión de otra instancia del Firm core Microblaze.• Al comprobar la alta capacidad de tecnologíasembebidas basadas en FPGAs, se concluye que se puedeimplementar sistemas electrónicos complejos, al quedardemostrado cómo es factible implementar unaarquitectura de un microcomputador mediante laincorporación de: un procesador Microblaze, memorias,contadores, protocolos de comunicación, etc.• Mediante las pruebas realizadas al servidor WEB, sepudo comprobar la estabilidad de conexión ante 25conexiones entrantes, una de carga máxima de 80 kbpsante solicitudes simultaneas al servicio. El servidor secomporta estable y presenta un buen funcionamientocuando se generan peticiones de datos HTML con unacantidad igual o menor a ocho clientes y un factor dedegradación promedio de 400 ms a medida que seincrementan los clientes.• El cliente IPERF ha demostrado que el tráfico de datosen el servidor puede ser menor o igual a 500 kbps y que 5

×