Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali Microcontroladores y Sistemas Empotrados M.C. Jorge Eduardo Ibarra Esquer [email protected] Semestre 2011-1 Conceptos básicos n 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 n De escritorio n Empotradas Historia 1623 – Wilhelm Shickard diseñó y construyó una máquina para calcular tablas astronómicas. Realizaba sumas y restas de números de 6 dígitos. 1642 – Blaise Pascal construye su calculadora mecánica (Pascalina). Realizaba sumas y restas en complemento a 9. Historia 1671 – Gottfried von Leibniz diseñó la primer calculadora mecánica capaz de realizar las cuatro operaciones básicas. 1801 – Joseph Marie Jacquard inventó un telar mecánico. Es considerada la primer máquina que podía ser programada (por medio de tarjetas de papel perforadas) Características n De escritorio ¨ Hardware n n n Procesador Memoria E/S ¨ Software n n n Sistema operativo Múltiples aplicaciones Podemos cambiar de aplicación n Empotrada ¨ Hardware n n n Procesador Memoria E/S ¨ Software n n Puede tener un sistema operativo Aplicación específica Conceptos básicos n Software ¨ Controla la operación y funcionalidad de la computadora Conceptos básicos n 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 n 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 n Aplicaciones ¨ Programas que dan la funcionalidad a la computadora Conceptos básicos n 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 n ADD #$34 n AB 34 48 9E EB A0 4F Conceptos básicos INCLUIR HARVARD Y VON NEUMANN n Arquitectura de una computadora Arquitectura Von Neumann Arquitectura Von Neumann Arquitectura Harvard Comparación Conceptos básicos n 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 n 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 n 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 Conceptos básicos n Espacio de memoria Conceptos básicos n 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: n E/S Programada n E/S controlada por interrupciones n Acceso Directo a Memoria DMA Conceptos básicos n Clasificación ¨ Paralela ¨ Serial ¨ Analógica ¨ De tiempo de interfaces E/S Conceptos básicos n 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 Sistema basado en microprocesador Sistema basado en microcontrolador Sistemas empotrados n 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 Sistemas empotrados n Son sistemas de uso específico construidos dentro de sistemas más grandes. n 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. Características de los sistemas empotrados n Por lo general, el usuario no los percibe como una computadora. n El software tiene una misión fija. n Relación muy estrecha entre hardware y software. n El sistema debe ser robusto. n Bajo consumo de energía. Características de los sistemas empotrados n Requerimiento de dispositivos de E/S específicos a la aplicación. n Funcionamiento autónomo. n Funcionamiento en tiempo real. ¿Por qué utilizar estos sistemas? n Aprovechar las capacidades de una computadora. n Las computadoras se vuelven cada vez más pequeñas y económicas. n Hacernos la vida más fácil. ¿Qué necesito para desarrollar un sistema empotrado? n Microprocesadores n Microcontroladores n DSP n ASIC n FPGA n Sensores n Actuadores n 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. n Microcontrolador ¨ Microprocesador, memoria y dispositivos de E/S incluidos en un solo circuito integrado. ¨ Por lo general se utiliza en sistemas empotrados. n Procesadores ¨ Es de señales digitales (DSP) 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. n 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) n 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. n Sensores ¨ Son dispositivos que responden ante algún estímulo físico. n Luz (fototransistor, fotodiodo) n Temperatura (termopar, termistor) n Sonido (micrófono) n Contacto, acidez, deformación, proximidad, etc. ¨ Proporcionan entradas de datos hacia los procesadores. n Actuadores ¨ Son elementos que pueden provocar un efecto sobre un proceso automatizado. n Motores n Bombas n Abanicos n Lámparas n Resistencias n Válvulas n Compresores Aplicaciones de los sistemas empotrados n Electrodomésticos ¨ Lavadoras ¨ Equipo de ejercicio ¨ Controles remotos ¨ Juguetes ¨ Equipo de audio y video n Sistemas de comunicación ¨ Teléfonos ¨ Faxes Aplicaciones de los sistemas empotrados n Sistemas automotrices ¨ Frenos automáticos ¨ Encendido electrónico ¨ Ventanas y asientos eléctricos ¨ Control de velocidad n Sistemas militares ¨ Posicionamiento ¨ Vigilancia global Aplicaciones de los sistemas empotrados n Aplicaciones empresariales ¨ Cajas registradoras ¨ Cajeros automáticos ¨ Control de elevadores ¨ Robots n Dispositivos médicos ¨ Monitores ¨ Prótesis ¨ Marcapasos ¿Cuándo fue la última vez que utilicé una computadora?