INTRODUCCIÓN A LOS µC Controlador: Dispositivo empleado para el control automático de un conjunto de procesos Controlador digital: Controlador con lógica de control digital. Implementaciones de los controladores digitales: • Lógica discreta •Baja densidad de integración •Diseño sencillo/medio/complejo (Hw) •Poco generalizable •Coste bajo/medio/alto • PLC (Programmable Logic Controller) •Mayor densidad de integración •Diseño sencillo (Sw) •Muy generalizable •Coste elevado • µP+RAM+ROM+Periféricos(A/D,Timers...) •Elevada densidad de integración •Diseño medio/complejo (Sw+Hw) •Generalizable •Coste bajo/medio • µC: •Muy elevada densidad de integración •Diseño sencillo/medio (Sw+Hw) •Muy generalizable •Bajo coste Ventajas de los diseños basados en µC: •Reducción del tamaño y precio: El elevado grado de integración de un µP+Periféricos en un IC permite una elevada funcionalidad por área a bajo coste, y un menor tamaño del PCB. •Elevada flexibilidad:Un mismo µC puede ser usado para un elevado número de aplicaciones variando sólo el Sw. •Rapidez de desarrollo: La adaptación de un µC a otra aplicación puede consistir en adaptar el Sw y muy poco Hw. •Aumento de la fiabilidad: La disminución de Ics del PCB aumenta el riesgo de averías y ajustes. •Buenas prestaciones: Los µC usan µP que permiten la ejecución eficiente de algoritmos de control. Aplicaciones típicas de µC: •Juguetes •Electrodomésticos (TV, µW, DVD, ...) •Comunicaciones, telefonía celular... •Impresoras, modems, periféricos de ordenador... •Sistemas electrónicos del automóvil (ABS, airbags, ...) •Instrumentación electrónica •Máquinas de venta automática •Controladores, PLCs •Robótica •Tarjetas inteligentes (smart-cards) •Cualquier sistema electrónica que requiera ‘inteligencia’ ARQUITECTURA µC VDD µC Brown-out CPU µP R INT ROM EPROM E2PROM FLASH HALT RAM SFR E2PROM FLASH Watchdog CPU (Central Process Unit). Es el µP del sistema. •Clasificación en función del tamaño de datos: •4-bit. Aplicaciones muy sencillas y muy económicas. •8-bit. Aplicaciones sencillas/medias y económicas. Es el tipo de µC dominante en el mercado. •16-bit. Aplicaciones medias y coste medio. •32-bit. Aplicaciones complejas y elevado coste. •Clasificación en función del conjunto de instrucciones: •RISC (Reduced Instruction Set Code). Instrucciones sencillas y de rápida ejecución •CISC (Complex Instruction Set Code). Instrucciones más complejas de mayor tiempo de ejecución •Clasificación en función de la arquitectura de buses: •Von Newmann: Buses de datos y @ compartidos por la memoria de datos y de programa. Simplifica el diseño y coste. m Ports I/O Timer Counter Serial Com CPU n A/D Memoria Programa y Datos 2m n •Harvard: Buses de datos y @ diferentes para la memoria de datos y de programa. Permite acceso simultáneo. d Los pins del encapsulado suelen ir multiplexados o compartidos por varios periféricos para reducir tamaño y coste 2d Memoria Datos p Memoria Programa CPU 8 12/14/16 8 12/14/16 2p Memoria de programa: •ROM: Dispositivo OTP grabado en fábrica. •EPROM: Dispositivo OTP o borrable (con ventana). •E2PROM: Dispositivo regrabable in-system con Vpp=12v •FLASH: Dispositivo regrabable in-system. Memoria volátil de datos: •RAM: Almacenamiento de variables del programa. •SFR: Special Function Registers usados para manejar los periféricos, configuraciones, interrupciones... Contador/Timer: •Contador de pulsos externos recibidos por una patilla •Timer: Contador de ciclos de una señal de reloj interna •Suelen incluir pre-scaler ADC: •Conversión A/D desde el exterior al µP •Resolución media (8 a 12 bits) •Multi-canal mediante multiplexor Memoria no volátil de datos: •E2PROM o FLASH DAC: •Conversión D/A desde el µP al exterior Puertos I/O: •Entrada/Salida de datos al exterior por sus patillas •Generalmente son de 8 bits •Pueden incorporar resistencias pull-up PWM (Pulse Width Modulator): •Generador de pulsos de anchura variable WatchDog: •Temporizador especial que realiza ‘reset’ periódico del µC. •Necesario introducir código dentro del programa para su reinicialización. Brown-out: •Circuito detector de fallo de alimentación que paraliza el sistema. Comparadores analógicos: •Comparador de tensión externa con una referencia Comunicaciones serie: •SPI (Serial Peripherical Interface) •I2C (Inter-Integrated Circuit) •UART (Universal Asynchronous Reciever-Transmiter) •USART(Universal Synchronous-Asynchronous R-T) •CAN (Controller Area Network) •USB (Universal Serial Bus) CONSIDERACIONES DE µC El número de µC vendidos (1997) es más de 30 veces superior al de los µP para PCs. Las aplicaciones basadas en µC se denominan habitualmente como ‘embedded’ •2500 Millones de µC/año •75 Millones de µP/año para PCs La elección del µC para una aplicación específica determina el coste, tamaño y prestaciones del sistema. Factores a tener en cuenta: •Velocidad de proceso. Depende de la CPU y fCLK usada •Cantidad de memoria de ROM, RAM, E2PROM •Consumo y modos de bajo consumo. •Conjunto de instrucciones. Sencillez y potencia •Herramientas y lenguajes de desarrollo de alto nivel. •Coste del dispositivo, herramientas, programador... •Versiones ROM, OTP, EPROM, EEPROM, FLASH •Programación ISP (In System Programming) para desarrollo rápido de aplicaciones. •Disponibilidad. La rápida evolución de la µe trae como consecuencia la substitución frecuente de µC •Fabricantes de dispositivos compatibles •Encapsulados, patillaje y recursos de I/O •Posibilidad de expansión externa (arquitectura abierta) •Periféricos integrados (Timers, DACs, Puertos I/O...) •Interrupciones externas/internas. •Bibliografía disponible HERRAMIENTAS PARA µC Desarrollo •Ensamblador •Compilador •Linkador Depuración •Simulador •Emulador •Monitor •ICD Programación •Grabador •Borrador UV Ensamblador •Traduce código ensamblador a código máquina •Permite gran eficiencia (tamaño-velocidad) del código ejecutable •Bajo coste o gratuito •Necesario conocimiento profundo del µC •No portable a otras familias Compilador •Traduce lenguaje de alto nivel (C, Basic...) a código máquina •Permite elevada productividad •Coste medio/alto •Elevado nivel de abstracción y número de librerías •Elevada portabilidad a otras familias Linkador •Une los ficheros objeto y librerías en un ejecutable Simulador •Simula el funcionamiento del µC sobre un ordenador •Sistema de bajo coste y de cómodo manejo •No permite ejecución real de aplicaciones Emulador •Sistema basado generalmente en FPGAs, que permite la ejecución de la aplicación sin ocupar recursos del µC •Dispone de un ‘pod’ que se aplica al zócalo destinado al µC •Permite la ejecución real de la aplicación •La mejor opción para la depuración de la aplicación •Sistema muy caro Monitor •Programa que se ejecuta sobre el µC, ejecutando comandos lanzados desde un ordenador para la monitorización de la aplicación •Coste medio •Permite la ejecución real de aplicaciones •Ocupa recursos del µC ICD (In Circuit Debugger) •Solución intermedia entre emulador y monitor •Programa monitor sobre µC que ejecuta la aplicación sobre el zócalo destinado a este •Coste medio, ejecución real, ocupa recursos del µC Grabador •Grabación del programa de la aplicación sobre un µC con memoria de programa EPROM, E2PROM o FLASH •Realiza el borrado del programa antes, si está basado en E2PROM o FLASH Borrador UV •Borrado del programa de la aplicación sobre un µC con memoria de programa EPROM, con encapsulado con ventana ALGUNAS FAMILIAS DE µC Intel 8051/8052 •CISC 8-bits •Desarrollada por Intel •La más extendida •Muchas variantes (IP) •Variantes RISC y 16bits •Diferentes fabricantes Microchip PIC •RISC 8-bits •Muy extendida •Buena prestación/precio SGS-Thomson ST10 •RISC 16-bits Philips XA •eXtended Architecture de la 8051 •16 bits ARM •RISC 32-bits •Disponible en IP para soluciones ‘embedded’ Zilog Z80 •CISC 8-bits Atmel AVR •RISC 8-bits Motorola 68HC05 /HC08/HC11 •RISC 8-bits SGS-Thomson ST62X/ST7 •8-bits TI (Texas Instr.) TMS370 •8-bits Intel EX •CISC 16, 32-bits •Basados en µP para PC •Permite usar Sw para PC Motorola 683XX •16/32, 32-bits •Basado en 68000