Microcontroladores M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali Semestre 2008-2 ¿Cuándo fue la última vez que utilicé una computadora? 1 Conceptos básicos Computadora Máquina diseñada para procesar, almacenar y recuperar datos Los datos se almacenan como números La manipulación de los datos se efectúa aplicando operaciones sobre los números Computadoras De escritorio Empotradas 2 Arquitecturas De escritorio Hardware Empotrada Hardware Procesador Memoria E/S Software Procesador Memoria E/S Software Sistema operativo Múltiples aplicaciones Podemos cambiar de aplicación Puede tener un sistema operativo Aplicación específica Conceptos básicos Software Controla la operación y funcionalidad de la computadora 3 Conceptos básicos Firmware Está almacenado de manera permanente en la memoria de la computadora Se ejecuta al encender la computadora Inicializa los subsistemas de hardware a un estado conocido Configura la computadora para su correcta operación Contiene el bootloader Conceptos básicos Sistema operativo Controla el funcionamiento de la computadora Organiza el uso de la memoria y controla los dispositivos de la computadora No todos los sistemas empotrados utilizan o necesitan un sistema operativo Aplicaciones Programas que dan la funcionalidad a la computadora 4 Conceptos básicos Procesador Es el componente central de la computadora Dispositivo electrónico capaz de manipular datos de una manera especificada por una secuencia de instrucciones (opcode o código máquina) La secuencia de instrucciones es lo que se conoce como un programa ADD #$34 AB 34 48 9E EB A0 4F Conceptos básicos Arquitectura de una computadora 5 Conceptos básicos Microprocesador Procesador implementado en un solo circuito integrado (registros, unidad de control, ALU, unidad de interfaz de bus) Se le conoce también como CPU Microcontrolador Microprocesador, memoria y dispositivos de E/S incluidos en un solo circuito integrado Por lo general se utiliza en sistemas empotrados Conceptos básicos Memoria Se utiliza para almacenar el software y los datos La memoria no volátil permite almacenar el software y los datos constantes La memoria de acceso aleatorio (volátil) se utiliza para almacenar datos que están siendo manipulados por un programa 6 Conceptos básicos Espacio de memoria Conceptos básicos Dispositivos de E/S (Periféricos) Permiten que el microprocesador se comunique con el mundo exterior para intercambiar datos Hay tres formas de hacer dicho intercambio: E/S Programada E/S controlada por interrupciones Acceso Directo a Memoria DMA 7 Conceptos básicos Clasificación de interfaces E/S Paralela Serial Analógica De tiempo Conceptos básicos Interrupciones Son una técnica para distraer al procesador del programa que esté ejecutando, para que atienda algún evento que se presente Le evitan al procesador el tener que estar verificando el estado de cada dispositivo de E/S presente en el sistema 8 Sistema basado en microprocesador Sistema basado en microcontrolador 9 Sistemas empotrados Un sistema de microcomputadora empotrado: Es un dispositivo que tiene una o más microcomputadoras en su interior Es un sistema informático de uso específico contenido dentro de un dispositivo mayor Incluye una microcomputadora conectada a dispositivos mecánicos, químicos y eléctricos, programada para un propósito dedicado y empacada como un sistema completo Aplicaciones de los sistemas empotrados Electrodomésticos Lavadoras Equipo de ejercicio Controles remotos Juguetes Equipo de audio y video Sistemas de comunicación Teléfonos Faxes 10 Aplicaciones de los sistemas empotrados Sistemas automotrices Frenos automáticos Encendido electrónico Ventanas y asientos eléctricos Control de velocidad Sistemas militares Posicionamiento global Vigilancia Aplicaciones de los sistemas empotrados Aplicaciones empresariales Cajas registradoras Cajeros automáticos Control de elevadores Robots Dispositivos médicos Monitores Prótesis Marcapasos 11 Sistemas empotrados Son sistemas de uso específico construidos dentro de sistemas más grandes. Incluye una computadora conectada a dispositivos mecánicos, químicos y eléctricos, programada para un propósito dedicado y empacada como un sistema completo. 12 Características de los sistemas empotrados Por lo general, el usuario no los percibe como una computadora. El software tiene una misión fija. Relación muy estrecha entre hardware y software. El sistema debe ser robusto. Bajo consumo de energía. Características de los sistemas empotrados Requerimiento de dispositivos de E/S específicos a la aplicación. Funcionamiento autónomo. Funcionamiento en tiempo real. 13 ¿Por qué utilizar estos sistemas? Aprovechar las capacidades de una computadora. Las computadoras se vuelven cada vez más pequeñas y económicas. Hacernos la vida más fácil. ¿Qué necesito para desarrollar un sistema empotrado? Microprocesadores Microcontroladores DSP ASIC FPGA Sensores Actuadores 14 Microprocesador Procesador implementado en un solo circuito integrado (registros, unidad de control, ALU, unidad de interfaz de bus) Se le conoce también como CPU. Microcontrolador Microprocesador, memoria y dispositivos de E/S incluidos en un solo circuito integrado. Por lo general se utiliza en sistemas empotrados. Procesadores de señales digitales (DSP) Es un microprocesador especializado en el procesamiento de señales digitales. Funcionamiento en tiempo real. Aplicaciones comunes son el procesamiento de audio y video, así como las comunicaciones digitales. 15 Circuitos Integrados Específicos para Aplicación (ASIC) Son circuitos integrados personalizados para una aplicación en particular, como puede ser el control de un teléfono celular. Su funcionalidad se especifica utilizando algún lenguaje de descripción de hardware (HDL) Arreglos de Compuertas de Campo Programables (FPGA) Son circuitos integrados que contienen componentes de lógica programables (bloques lógicos), así como interconexiones programables. Entre sus aplicaciones se encuentra el procesamiento de señales digitales, la emulación de periféricos de computadoras y la elaboración de prototipos para ASIC. Ejecución en paralelo. 16 Sensores Son dispositivos que responden ante algún estímulo físico. Luz (fototransistor, fotodiodo) Temperatura (termopar, termistor) Sonido (micrófono) Contacto, acidez, deformación, proximidad, etc. Proporcionan entradas de datos hacia los procesadores. Actuadores Son elementos que pueden provocar un efecto sobre un proceso automatizado. Motores Bombas Abanicos Lámparas Resistencias Válvulas Compresores 17 Fabricantes de dispositivos para sistemas empotrados Freescale Altera Atmel Xilinx Freescale Semiconductor Anteriormente Motorola Fabricantes de microcontroladores, ASIC, DSP, memorias, sensores, entre otros. 18 Freescale Semiconductor Aplicaciones orientadas al sector automotriz, electrónica de consumo, industria, redes, conectividad, control de motores y comunicaciones inalámbricas. Freescale Semiconductor BMW X5 Crear vehículos que se adapten de manera automática a las condiciones del camino. Desarrollar una red intravehicular utilizando la tecnología FlexRay. Controlador de comunicaciones FlexRay MFR4200. 19 Freescale Semiconductor Lavadoras y secadoras Whirlpool Crear “green cleaning machines” Obtener un control del agua y energía eficiente. Microcontroladores MC908AX Altera Fabricantes de FPGA, ASIC y CPLD. http://www.altera.com Aplicaciones médicas, militares, inalámbricas, automotrices, entre otras. 20 Altera Sanyo Televisión de retroproyección de 45’’ y 55’’ LCD HDTV Procesadores NIOS II y FPGA Stratix Procesamiento de imagen inteligente. Reducción de ruido. Altera Panasonic Cámara de video digital AG-DVX100A LCD HDTV FPGA Cyclone 21 Altera Leapfrog Plataforma de aprendizaje Leapster L-Max CPLD MAX II Convertir la información de la pantalla en señales para televisión. Atmel Fabricantes de microcontroladores, ASIC, FPGA y memorias. Aplicaciones en comunicaciones, militares, aeroespaciales, industriales, etc. 22 Atmel AT8xC51SND1C Microcontrolador diseñado para reproductores MP3 de bajo costo. AT8xC51SND2C Manejo de “ring tones” MP3 para teléfonos celulares, lectura de tarjetas MMC-SD, reproducción MP3 e interfaz USB. Xilinx Fabricantes de FPGA, CPLD y procesadores. Aplicaciones orientadas a diversos campos. 23 Xilinx Sistemas de asistencia al conductor. Sistemas de entretenimiento en los vehículos. Redes intravehiculares. Diagnósticos. Xilinx Equipo médico. Imágenes: Ultrasonido, rayos X, MRI Salud en el hogar: Alcoholímetros, monitores de colesterol. Equipo de hospital: Endoscopías, fisioterapias, monitores para pacientes, incubadoras, etc. 24 ¿Dónde obtener información? Sitios Web de las compañías desarrolladoras de dispositivos. www.embedded.com www.embeddedmarketing.com Conclusiones El continuo desarrollo de las computadoras, nos permitirá integrarlas en casi cualquier otro artefacto de uso común. El objetivo de desarrollar este tipo de sistemas, es facilitar y hacer más seguras nuestras actividades cotidianas. 25 Conclusiones Este es un campo en el cual los programadores pueden interactuar con los diseñadores de hardware. 26