Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduccion a los Sistemas Embebidos

31,299 views

Published on

Introduccion a los Sistemas Embebidos - 4to Contreso de Electronica, Control y Telecomunicaciones - Universidad Distrital Francisco Jose de Caldas - Facultad Tecnologica - Bogotá Colombia

Published in: Education, Technology

Introduccion a los Sistemas Embebidos

  1. 1. Introducción a los Sistemas Embebidos 4 to Congreso de Electrónica, Control y Telecomunicaciones Universidad Distrital Francisco José de Caldas
  2. 2. Grupo de Investigación ROMA <ul><li>Líneas de investigación </li></ul><ul><li>Sistemas Embebidos </li></ul>
  3. 3. <ul><li>Sistemas Embebidos </li></ul><ul><ul><ul><li>Definición y Aplicaciones </li></ul></ul></ul><ul><ul><ul><li>Exigencias y Eficiencia </li></ul></ul></ul><ul><ul><ul><li>Arquitectura </li></ul></ul></ul><ul><ul><ul><li>Sistema Operativo </li></ul></ul></ul><ul><li>Game Boy Advance </li></ul><ul><ul><ul><li>Estructura y Hardware </li></ul></ul></ul><ul><ul><ul><li>Programación del GBA </li></ul></ul></ul><ul><li>ECB_AT91v2 </li></ul><ul><ul><ul><li>Estructura y Hardware </li></ul></ul></ul><ul><ul><ul><li>Linux </li></ul></ul></ul>
  4. 4. <ul><li>Sistemas Embebidos </li></ul><ul><ul><ul><li>Definición y Aplicaciones </li></ul></ul></ul><ul><ul><ul><li>Exigencias y Eficiencia </li></ul></ul></ul><ul><ul><ul><li>Arquitectura </li></ul></ul></ul><ul><ul><ul><li>Sistema Operativo </li></ul></ul></ul><ul><li>Game Boy Advance </li></ul><ul><ul><ul><li>Estructura y Hardware </li></ul></ul></ul><ul><ul><ul><li>Programación del GBA </li></ul></ul></ul><ul><li>ECB_AT91v2 </li></ul><ul><ul><ul><li>Estructura y Hardware </li></ul></ul></ul><ul><ul><ul><li>Linux </li></ul></ul></ul>
  5. 5. Pistas…
  6. 6. SSEE : DEFINICIÓN <ul><li>“ Embedded Systems” </li></ul><ul><li>RAE : “Embeber” </li></ul>
  7. 7. SSEE : APLICACIONES
  8. 8. SSEE : APLICACIONES
  9. 9. SSEE : APLICACIONES
  10. 10. SSEE : APLICACIONES
  11. 11. SSEE : APLICACIONES
  12. 12. SSEE : APLICACIONES HOGAR TRANSPORTE MEDICINA ROBOTICA COMUNICACIONES DOMOTICA OTROS CONSUMO APLICACIONES
  13. 13. SSEE : EXIGENCIAS CALIDAD FIABILIDAD MANTENIBILIDAD DISPONIBILIDAD SEGURIDAD CONFIDENCIALIDAD
  14. 14. SSEE : EFICIENCIA COSTO ENERGIA EJECUCUION PESO CODIGO TAMAÑO
  15. 15. SSEE : ARQUITECTURA
  16. 16. SSEE : CARACTERISTICAS <ul><li>Flexibilidad </li></ul><ul><li>Exigencias y eficiencia </li></ul><ul><li>Sistema mayor </li></ul><ul><li>No accesibles </li></ul>
  17. 17. <ul><li>Conocimientos previos </li></ul><ul><li>Software usado en SSEE </li></ul><ul><li>Ventajas de utilizar sistemas embebidos </li></ul>SSEE : SOFTWARE
  18. 18. Conocimientos previos <ul><li>El desarrollo de sistema embebidos parte de una plataforma externa llamada HOST computer = PC </li></ul><ul><li>(GNU/Linux) </li></ul><ul><li>El desarrollo trabaja sobre una plataforma llamada TARGET computer = HW SSEE </li></ul><ul><li>(GNU/Linux) </li></ul>
  19. 19. Conocimientos previos <ul><li>¿Por qué desarrollar SSEE sobre GNU/Linux? </li></ul><ul><li>Código Abierto </li></ul><ul><li>Amplia comunidad dispuesta a colaborar (Mailing list) </li></ul><ul><li>Facilidad para la portabilidad de código con amplio soporte multiplataforma </li></ul>
  20. 20. Conocimientos previos <ul><li>El host permite cargar los archivos necesarios al target, así como dar las configuraciones iniciales del sistema </li></ul>
  21. 21. Conocimientos previos <ul><li>Configuraciones posibles del HOST </li></ul><ul><li>Maquina virtual (VM) </li></ul><ul><li>Emulador de GNU/Linux (Cygwin) </li></ul><ul><li>Instalación sobre Windows (Inside) </li></ul><ul><li>Sistema operativo base = GNU/Linux </li></ul><ul><li>Acceso a través de intranet </li></ul><ul><li>Otras </li></ul>
  22. 22. SSEE : SOFTWARE Software en SSEE Sistema Operativo Herramientas GNU Host Target Host/Target
  23. 23. <ul><li>¿Que son? </li></ul><ul><ul><li>Utilitarios para desarrollo de SSEE </li></ul></ul><ul><ul><li>Ofrece soporte multiplataforma </li></ul></ul><ul><ul><li>Garantiza la portabilidad de código </li></ul></ul>SSEE : GNU TOOLCHAIN
  24. 24. SSEE : GNU TOOLCHAIN GCC: Compilador cruzado x86 – ARM x86 – MIPS BINUTILS: Manipulación de binarios. Conversión de archivos. LIBRERIAS: Segmentos reutilizables de código GDB: Depurador (Gráfico)
  25. 25. <ul><li>¿Qué es un sistema operativo? </li></ul><ul><li>Un sistema operativo es un programa que facilita la interacción entre las aplicaciones a soportar y el hardware, administra los recursos (HW) y facilita la comunicación con el usuario. </li></ul>SSEE : SISTEMA OPERATIVO
  26. 27. <ul><li>¿Qué es un sistema operativo embebido? </li></ul><ul><li>Es un programa encargado de la gestión eficaz de los recursos, responsable de la comunicación hardware-software proporcionando un alto nivel de abstracción de hardware. </li></ul>SSEE : SO EMBEBIDO
  27. 28. <ul><li>Ejemplos de sistemas operativos en SSEE </li></ul><ul><li>Symbian O.S. (Celulares) </li></ul><ul><li>Windows C.E. (Pockets, Pda´s) </li></ul><ul><li>Palm O.S. (Palms…migró a GNU/Linux) </li></ul><ul><li>RTOS (Fabricantes de chips) </li></ul><ul><li>GNU/Linux (Debian) </li></ul>SSEE : SO EMBEBIDO
  28. 29. <ul><li>Kernel: Abstracción de hardware </li></ul><ul><li>Sistema de archivos: Soporte para usuarios </li></ul><ul><li>Módulos: Soporte para el S.O. </li></ul><ul><li>Aplicaciones: (Su idea aquí) </li></ul><ul><li>Bootloader </li></ul>SSEE : SO GNU/LINUX
  29. 30. SSEE : KERNEL Comunicación entre aplicaciones - hardware. Base del sistema operativo Manejo de hardware a bajo nivel (firmware) y lo hace accesible al software
  30. 31. <ul><li>Módulos: Amplian las caracteristicas del kernel </li></ul>SSEE : MÓDULOS / APP <ul><li>Drivers </li></ul><ul><li>Aplicaciones temporales </li></ul>Aplicaciones: Su idea aquí…
  31. 32. <ul><li>Encargado de inicializar el hardware </li></ul><ul><li>Cede el control al sistema operativo </li></ul>SSEE : BOOTLOADER
  32. 33. <ul><li>Portabilidad de código </li></ul><ul><li>Rápido tiempo de desarrollo (después de haber aprendido) </li></ul><ul><li>Libre, “como nos gusta” </li></ul><ul><li>Soporte </li></ul>SSEE : SO VENTAJAS
  33. 34. <ul><li>Sistemas Embebidos </li></ul><ul><ul><ul><li>Definición y Aplicaciones </li></ul></ul></ul><ul><ul><ul><li>Exigencias y Eficiencia </li></ul></ul></ul><ul><ul><ul><li>Arquitectura </li></ul></ul></ul><ul><ul><ul><li>Sistema Operativo </li></ul></ul></ul><ul><li>Game Boy Advance </li></ul><ul><ul><ul><li>Estructura y Hardware </li></ul></ul></ul><ul><ul><ul><li>Programación del GBA </li></ul></ul></ul><ul><li>ECB_AT91v2 </li></ul><ul><ul><ul><li>Estructura y Hardware </li></ul></ul></ul><ul><ul><ul><li>Linux </li></ul></ul></ul>
  34. 35. GBA : ESTRUCTURA <ul><li>Game Boy Advance </li></ul>
  35. 36. <ul><li>ARM7TDMI de 32 bits @ 17MHz </li></ul><ul><li>LCD TFT de 240X160 </li></ul><ul><li>teclado de 10 botones </li></ul><ul><li>Puerto serial UART </li></ul><ul><li>Baterías 15 horas </li></ul><ul><li>ROM 16K </li></ul><ul><li>VRAM 96K ; WRAM 32K + 256K (ext) </li></ul>GBA : ESTRUCTURA
  36. 38. GBA : ESTADO DEL ARTE
  37. 39. GBA : APLICACION <ul><li>Herramientas GNU para GBA - Compiladores </li></ul>
  38. 40. GBA : APLICACION Herramientas GNU para GBA - Librerias
  39. 41. Aplicación en el GBA
  40. 42. GBA : LIMITACIONES <ul><li>La aplicación creada funciona como un firmware. No hace uso de kernel </li></ul><ul><li>Problemas de licenciamiento de librería y compiladores </li></ul><ul><li>Usa WRAM (256KB) </li></ul><ul><li>Limitante en Hardware (Puertos,Xport) </li></ul><ul><li>Requiere EZFlash </li></ul><ul><li>Requiere nuevo mapa de booteo </li></ul>
  41. 43. GBA : APLICACION
  42. 44. Aplicación en el GBA: Kernel SIN MMU
  43. 46. Aplicación en el GBA
  44. 47. <ul><li>Sistemas Embebidos </li></ul><ul><ul><ul><li>Definición y Aplicaciones </li></ul></ul></ul><ul><ul><ul><li>Exigencias y Eficiencia </li></ul></ul></ul><ul><ul><ul><li>Arquitectura </li></ul></ul></ul><ul><ul><ul><li>Sistema Operativo </li></ul></ul></ul><ul><li>Game Boy Advance </li></ul><ul><ul><ul><li>Estructura y Hardware </li></ul></ul></ul><ul><ul><ul><li>Programación del GBA </li></ul></ul></ul><ul><li>ECB_AT91v2 </li></ul><ul><ul><ul><li>Estructura y Hardware </li></ul></ul></ul><ul><ul><ul><li>Linux </li></ul></ul></ul>
  45. 48. SSEE … <ul><li>Ejecutar Linux Embebido </li></ul>
  46. 49. LMS1585A <ul><li>Output load current of 5A </li></ul><ul><li>dropout voltage (1.2V) </li></ul><ul><li>fast transient response </li></ul><ul><li>Current limiting and thermal protection </li></ul>
  47. 50. CY8C29566 <ul><li>PSoC </li></ul><ul><li>Program System on Chip </li></ul><ul><li>Bloques programables análogos o digitales </li></ul>
  48. 51. CY8C29566 <ul><li>Digital System </li></ul><ul><li>16 digital PSoC blocks </li></ul><ul><li>Each block canbe used alone or combined </li></ul><ul><li>PWMs,Counters,Timers </li></ul><ul><li>UART, SPI, I2C, IrDA </li></ul>
  49. 52. CY8C29566 <ul><li>Analog System </li></ul><ul><li>12 configurable blocks </li></ul><ul><li>ADC 14 bit resolution </li></ul><ul><li>Filters up to 8 pole </li></ul><ul><li>Amplifiers gain to 48x </li></ul>
  50. 53. TLV320AIC23B <ul><li>Stereo audio codec </li></ul><ul><li>sigma-delta technology </li></ul><ul><li>24 bits resolution </li></ul><ul><li>sample rates from 8 kHz to 96 kHz </li></ul><ul><li>MP3 players, FM tuners </li></ul>
  51. 54. MAX3223 <ul><li>TIA/EIA-232-F ITU v.28 Std </li></ul><ul><li>Operates Up To 250 kbit/s </li></ul><ul><li>2 line driver/receiver </li></ul><ul><li>± 15KV ESD protection </li></ul>
  52. 55. LXT972A <ul><li>Fast Ethernet 10/100 Transceiver </li></ul><ul><li>Standard MMI </li></ul><ul><li>Half-duplex & Full-duplex </li></ul><ul><li>External 25 MHz clock source </li></ul>
  53. 56. XC3S400 <ul><li>Spartan™-3 family FPGA </li></ul><ul><li>400.000 Gates </li></ul><ul><li>16 Dedicated Multipliers </li></ul><ul><li>17 single-ended standards </li></ul><ul><li>ESD Protection </li></ul>
  54. 57. MT48LC16M4A2 <ul><li>SDRAM 64Mb </li></ul><ul><li>4 Meg x 4 x 4 banks </li></ul><ul><li>4,096 rows by 1,024 columns by 4 bits </li></ul><ul><li>internal pipelined architecture </li></ul>
  55. 58. HYB39S256160FE <ul><li>SDRAM 256MBit </li></ul><ul><li>high speed data transfer rates </li></ul><ul><li>Auto Refresh </li></ul><ul><li>Multiple Burst Read </li></ul>
  56. 59. AT45DB161D <ul><li>DataFLASH </li></ul><ul><li>16M (4096 pages x 528 bytes) </li></ul><ul><li>66MHz </li></ul><ul><li>SPI </li></ul><ul><li>28-TSOP </li></ul>
  57. 60. AT91RM9200
  58. 64. <ul><li>Linux Powered Devices Company </li></ul>
  59. 65. ECB-AT91v2
  60. 66. AT91RM9200 XC3S400 CY8C29566 TLV320AIC23B LXT972A MAX3223 LMS1585A
  61. 67. HYB39S2561600FE MT48LC16M4A2 AT45DB161D LMS1585
  62. 68. USB 2.0 47D/10A IOs JTAG I2C ETHERNET MAX3223 LCD SD/MMC
  63. 69. Microcontrolador AT91RM9200
  64. 70. www.linuxdevices.com/articles/AT7065740528.html
  65. 71. Por qué ARM ? <ul><li>Extensiones en la arquitectura </li></ul><ul><li>Variedad de Herramientas HW/SW </li></ul><ul><li>Bajo Consumo </li></ul><ul><li>Bajo Costo </li></ul><ul><li>Soporte </li></ul><ul><li>Productos … </li></ul>www.arm.com/markets/mobile_solutions/index.html#WhyARM
  66. 74. Automóviles
  67. 75. Robótica
  68. 76. http://www.ohgizmo.com/2006/01/26/asahis-beer-pouring-robots/
  69. 77. Procesador ARM920T <ul><li>ARM9TDMI RISC integer CPU </li></ul><ul><li>16-Kbyte instruction cache </li></ul><ul><li>16-Kbyte data cache </li></ul><ul><li>MMU </li></ul><ul><li>AMBA bus interface </li></ul><ul><li>ETM interface </li></ul>
  70. 79. SSEE: Software ECB AT91_v2 <ul><li>Kernel versión 2.6.21.6 </li></ul><ul><li>Parches de soporte para la plataforma y adiciones al kernel </li></ul><ul><li>Comunicación host – target (Minicom) </li></ul><ul><li>GNU Toolchane </li></ul>
  71. 80. SSEE: Software ECB AT91_v2 <ul><li>Modificar el kernel </li></ul><ul><li>Instalar las GNU Toolchane </li></ul><ul><li>Instalar librerias para desarrollo en host </li></ul><ul><li>Configure el kernel </li></ul><ul><li>Compile </li></ul><ul><li>Suba la tarjeta </li></ul><ul><li>Suba el bootloader </li></ul>
  72. 81. CON MMU
  73. 83. SSEE: CONCLUSIONES <ul><li>Conceptos sistemas embebidos </li></ul><ul><li>Necesidad de usar sistemas operativos </li></ul><ul><li>Plataforma ECB AT91_v2 </li></ul><ul><li>Creación de comunidad </li></ul><ul><li>CURSO semana tecnológica </li></ul>
  74. 84. Training embedded Linux <ul><li>Soporte GNU/Linux en el Host </li></ul><ul><li>Kernel y desarrollo de drivers </li></ul>
  75. 85. GRACIAS POR SU ATENCION [email_address] [email_address]

×