Sea
Sea
Sea
MICROCONTROLADORES GENERALIDADES
MICROCONTROLADORES GENERALIDADES
Qu es un microcontrolador?
Se puede considerar como un computador en un chip Orientado al control de procesos Tpicamente incorpora: CPU (Central Processing Unit). Microprocesador RAM (Random Access Memory) EPROM/PROM/ROM (Erasable/Programmable/Read Only Memory) E/S (entrada/salida) - serie y paralelo Temporizadores Controlador de interrupciones ...
MICROCONTROLADORES GENERALIDADES
Clasificacin:
Por su funcin: - Propsito general: CPU+Memoria+E/S+.... y juego de instrucciones no especficas - Especializados: Arquitectura e instrucciones orientadas hacia algn tipo de aplicaciones concretas: Comunicaciones, manejo de teclados, DSP, procesamiento de video ..... Por su longitud de palabra: 4, 8 ,16, 32 y 64 bits
MICROCONTROLADORES GENERALIDADES
MICROCONTROLADORES GENERALIDADES
MICROCONTROLADORES GENERALIDADES
16
32
64
2500
2000
1500
1000
500
MICROCONTROLADORES CARACTERSTICAS
Tcnicas de fabricacin
CMOS: Complementary Metal Oxide Semiconductor La mayora de los C se fabrican en esta tecnologa Menor consumo (favorecen alimentacin a bateras) Mayor inmunidad al ruido Son chips casi o totalmente estticos (no necesidad de refresco) : el reloj puede ser ralentizado o detenido: sleep mode
PMP: Post Metal Programming (National Semiconductor) Permite la programacin de la ROM despus de la metalizacin final, lo que reduce el tiempo de diseo de 6/8 semanas a 2.
MICROCONTROLADORES CARACTERSTICAS
Arquitectura
Von-Neuman Un nico bus de datos para datos e instrucciones. Programa y datos se almacenan en la misma memoria principal. Primero se busca la instruccin y a continuacin el dato correspondiente: dos bsquedas consecutivas Limita el ancho de banda
CPU
Programa y datos
MEMORIA
10
MICROCONTROLADORES CARACTERSTICAS Arquitectura Harvard Bus de datos y bus de instrucciones separados. Permite bsquedas de instrucciones y datos simultneas: prebsqueda de la siguiente instruccin en paralelo con acceso a los datos de la instruccin en ejecucin Permite anchos de bus distintos para datos e instrucciones Mayor velocidad de ejecucin
CPU
datos
MEMORIA DATOS
11
MICROCONTROLADORES CARACTERSTICAS Arquitectura CISC (Complex Instruction Set Computer) Muchas instrucciones diferentes (sobre 80). Potentes y especializadas, algunas requieren muchos ciclos de ejecucin. Facilita la programacin. Cdigo muy compacto Mayora de los fabricantes. Ejem. Motorola RISC (Reduced Instruction Set Computer) Pocas instrucciones muy sencillas. Ejecucin rpida La sencillez de las instrucciones permite liberar rea de silicio para implementar caractersticas que mejoren las prestaciones. Chips ms baratos, de menor consumo, de menos pines. Tendencia actual de la industria. Ejem. Microchip SISC (Specific Instruction Set Computer) Juego instrucciones especfico que potencia una aplicacin concreta: facilidad y eficiencia en E/S, manipulacin de bits, etc
12
MICROCONTROLADORES CARACTERSTICAS
MEMORIA
EEPROM (Electrically Erasable Programable Read Only Memory) Los C pueden tener pequeas cantidades de esta memoria para almacenar un limitado nmero de parmetros que no cambian frecuentemente Lenta, nmero de ciclos lectura/escritura limitado FLASH Mejor solucin que la EEPROM cuando se requiere grandes cantidades de memoria no voltil Ms rpida, mayor nmero de ciclos lectura/escritura RAM esttica con batera Mucho ms rpida y sin limitacin de ciclos lectura/ escritura Grandes cantidades de memoria no voltil de acceso rpido (datos o aplicaciones de grandes prestaciones)
13
MICROCONTROLADORES Mscara Memoria ROM Programada durante el proceso de fabricacin por el fabricante Interesante en produccin de grandes cantidades que no se van a modificar Largo tiempo de obtencin del producto (de 8 a 44 semanas) OTP (One Time Programmable) Es un dispositivo PROM. En realidad una EPROM sin ventana de borrado. Una vez que el programa ha sido grabado no puede ser borrado ni modificado Alternativa a la mscara ROM para series pequeas. Programables por el usuario Reprogramacin El uso de EPROM, EEPROM, EPROM y FLASH para la memoria de programa facilita el desarrollo y puesta a punto de dispositivos El uso de EEPROM, EPROM y FLASH permite la reprogramacin del C sin extraerlo del sistema que controla Actualizacin de nuevas versiones o eliminacin de errores
14
CARACTERSTICAS Memorias
PROGRAMA
VARIABLES PILA
RAM
15
MICROCONTROLADORES CARACTERSTICAS
Alimentacin
Bajo voltaje Normalmente alimentacin a 5V La incorporacin de los C a nuevos segmentos conlleva la necesidad de alimentacin a 3V (2 bateras de 1,5v). Tendencia tecnolgica: transistores ms pequeos (menos consumo, ms rpidos y baratos) que facilita la reduccin de la tensin de alimentacin y favorece el aumento en la densidad de integracin. Proteccin Brownout Detecta si la alimentacin disminuye por debajo de un valor lmite (tensin de brownout, VBDD) y deja al C en estado reset hasta que la alimentacin vuele a tomar valores permitidos. Puede ser interno al chip o un circuito de control externo.
16
MICROCONTROLADORES CARACTERSTICAS Alimentacin IDLE/HALT/Wakeup Modos de bajo consumo, manteniendo valores de registros, memoria y salidas En modo IDLE: Se para la CPU (salvo algunos recursos como osciladores internos, el watchdog , timer asociado al wakeup) El consumo se reduce en un 30% El micro se despierta (wakeup) con una interrupcin externa o interna (timers) o con el RESET Otra posibilidad es que se realice un despertar cada cierto intervalo de tiempo mediante un timer especfico del C. HALT: se para todo (CPU, timers, perifricos), el C se despierta slo con una interrupcin externa o RESET El consumo se reduce tpicamente a corrientes menores de 1A.
17
MICROCONTROLADORES CARACTERSTICAS
Entradas / salidas
UART: Universal Asynchronous Receiver Transmitter SCI: Serial Comunication Interface (UART mejorada). SPI: Serial Periferal Interface (Motorola). E/S serie sncrona. USART: Universal Synchronous/Asynchronous Receiver Transmiter Ms rpida (unas 16 veces) que la UART I2C: Inter-Integrated Circuit bus (Philips) Bus serie de dos hilos Multi-master, multi-slave, deteccin de colisiones. 128 dispositivos, 10 metros Microwire/Plus. Comunicaciones serie entre dispositivos (displays, conversores de datos, EEPROM,..) de National CAN: Controller Area Network (Bosch, Intel). Cableado de automviles J1850 (Society of Automotive Engineers). Estndar americano para cableado de automviles
18
MICROCONTROLADORES CARACTERSTICAS Conversin Analgico-Digital En general del tipo de aproximaciones sucesivas Normalmente 8 10 bits Conversin Digital-Analgica No suele estar implementada en los C PWM: Pulse Width Modulator. Se usa como tcnica de conversin D/A + circuitera exterior (filtro paso bajo) Contadores de pulsos Cada pulso/evento incrementa un registro acumulador indicando el nmero de veces que ha sucedido un evento Comparadores. Comparador analgico basado en un AO Algunos C pueden incluir un mdulo de tensin de referencia Moduladores de anchura de pulsos (PWM) Proporcionan una salida de impulsos de anchura variable
19
MICROCONTROLADORES CARACTERSTICAS
Interrupciones
Desde los perifricos: timers, UARTS, A/D, E/S paralelo, componentes externos. Interrupciones enmascarables, se pueden activar y desactivar. Bien con carcter general (GIE, Global Interrupt Enable) o algun tipo de interrupcin en particuar (por ejemplo la UART) Interrupciones vectorizadas: una direccin de salto para cada interrupcin Prioridades
20
MICROCONTROLADORES CARACTERSTICAS
Caractersticas especiales
Watchdog timer Si el programa no reinicializa el watchdog antes de un cierto tiempo, ste procede a hacer el RESET del sistema Monitor del reloj Circuito que detecta si el reloj funciona demasiado despacio y genera un RESET
21
MICROCONTROLADORES EJEMPLOS DE C
8051 (Intel)
Bus de 8 bits de datos Puede direccionar 64K de programa (los 4K 8K bajos pueden residir en chip) y 64K de memoria de datos externa. 128 bytes de RAM interna + registros especiales. E/S direccionadas en espacio propio. Bus de direcciones de 16 bits Gran potencia en instrucciones de bit Timers y puertos serie (no A/D ni PWM) 8048 serie baja 80c196 de 16 bits 80186: microcontrolador con un 8086 como ncleo (PC XT)
22
MICROCONTROLADORES EJEMPLOS DE C
68HC11 (Motorola)
Arquitectura Von Neuman (datos, programa, E/S, timers comparten el mismo espacio de memoria) Bus de 8 bits de datos, 16 bits de direcciones Pueden tener: EEPROM/OTPROM, RAM, E/S digitales, timers, A/D, PWM, acumuladores de pulsos, comunicacin serie sncrona y asncrona Serie baja 68HC05 683xx: microcontrolador con un 68xxx como ncleo
23
MICROCONTROLADORES EJEMPLOS DE C
68HC08 (Motorola)
Arquitectura Von Neuman (datos, programa, E/S, timers comparten el mismo espacio de memoria) Bus de 8 bits de datos, 16 bits de direcciones Pueden tener: ROM/FLASH, RAM, E/S digitales, timers, A/D, PWM, acumuladores de pulsos, comunicacin serie sncrona y asncrona Existen elementos de la familia con USB, IIC Hasta 60K de Flash, hasta 2K de RAM
24
MICROCONTROLADORES EJEMPLOS DE C PIC (MicroChip) Arquitectura Harvard (direccionamiento separado para datos e instrucciones) solapamiento de instrucciones Primer microcontrolador RISC 16Fxx principal lnea de la casa 35 instrucciones 8 bits de datos 14 bits de instruccin (hasta 8K instrucciones) Pueden tener: EEPROM/OTPROM, RAM, E/S digitales, timers, A/D, PWM, acumuladores de pulsos, comunicacin serie sncrona y asncrona
25
MICROCONTROLADORES
LENGUAJES DE PROGRAMACIN
Ensamblador Permiten el uso eficiente de los recursos Lenguajes de alto nivel Desarrollo ms rpido, mantenimiento menos costoso Programas menos eficientes Mayor ocupacin en memoria Ejem: C (permite el acceso a los recursos hardware), BASIC,
ADA, etc.
26
Uso de C y Ensamblador Programacin en C Puesta a punto de la lgica del programa Reescritura de algunas partes crticas en ensamblador Disminucin de la ocupacin de memoria Aumento de las prestaciones
Cargador Mscara Microcontrolador Montador de Enlaces Ejecutable No Relocalizable Fichero Configuracin Fuente Ensamblador Ensamblador Cruzado Objeto Relocalizable Libreras Fuente C Compilador Cruzado Objeto Relocalizable
27
Simuladores
Un simulador ejecuta un programa de un microcontrolador en un computador de propsito general (p.e. un PC) Los contenidos de la memoria y registros pueden ser observados y alterados No soporta interrupciones reales ni (generalmente) hardware adicional La velocidad de ejecucin es menor que en el C
28
Debuggers residentes
Se ejecutan en el C. Permiten visualizar la ejecucin desde un terminal o un computador Utiliza recursos del C (un puerto de comunicacin, una interrupcin y memoria) y ralentiza la ejecucin (acceso a memoria y registros y comunicacin) Visualizacin y actualizacin de memoria, breakpoints, ...
29
Hardware que emula al C y adems permite obtener informacin y actuar sobre la aplicacin sin gastar recursos del C ni alterar la evolucin temporal Se comunica por una parte con un computador o terminal (en general va RS232)
30