Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Microcontroladores
Controlador
Recibe el nombre de controlador, el dispositivo que se emplea para el gobierno de uno o varios procesos. Aunque el concepto de controlador ha permanecido invariable a travs de los tiempos, su implementacin fsica ha variado frecuentemente. Hace tres dcadas, los controladores se construan exclusivamente con componentes de lgica discreta; posteriormente se emplearon los microprocesadores, que se rodeaban con chips de memoria y E/S sobre una tarjeta de circuito impreso.
En la dcada de los 70, los fabricantes de circuitos integrados iniciaron la difusin de un nuevo circuito para control, medicin e instrumentacin al que llamaron microcomputador en un slo chip o de manera ms exacta microcontrolador.
Microcontrolador
Un microcontrolador es un circuito integrado programable que contiene todos los componentes de un computador aunque de limitadas prestaciones. Se emplea para controlar el funcionamiento de una tarea determinada y, debido a su reducido tamao, suele ir incorporado en el propio dispositivo al que gobierna. Esta ltima caracterstica es la que le confiere la denominacin de controlador incrustado (Embedded controller).
Microcontrolador
El microcontrolador es un dispositivo dedicado. En su memoria slo reside un programa destinado a gobernar una aplicacin determinada; sus lneas de entrada/salida soportan el conexionado de sensores y actuadores del dispositivo a controlar y todos los recursos complementarios disponibles tienen como nica finalidad atender sus requerimientos. Una vez programado y configurado el microcontrolador solamente sirve para gobernar la tarea asignada.
Microprocesador
El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (UCP), tambin llamada procesador, de un computador. La UCP est formada por la Unidad de Control, que interpreta las instrucciones, y el Camino de Datos, que las ejecuta. Las patitas de un microprocesador sacan al exterior las lneas de sus buses de direcciones, datos y control, para permitir conectarle con la Memoria y los Mdulos de E/S y configurar un computador implementado por varios circuitos integrados. Se dice que un microprocesador es un sistema abierto porque su configuracin es variable deacuerdo con la aplicacin a la que se destina.
Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de los buses en el exterior permite que se configure a la medida de la aplicacin.
Microcontrolador
El microcontrolador es un sistema cerrado
Todas las partes del computador estn contenidas en su interior y slo salen al exterior las lneas que gobiernan los perifricos.
Segn el modelo de microcontrolador que se trate, el tamao y el tipo de memoria pueden diferir, as como el nmero de lneas de E/S y los mdulos de control de perifricos. La diversificacin de modelos, permite seleccionar el ms adecuado segn la aplicacin de que se trate. Una estructura interna fija supone una limitacin, que se convierte en una ventaja en el caso de que en un simple circuito integrado residan todos los componentes que necesita el controlador. La nica limitacin que tienen las aplicaciones de los microcontroladores actuales est en la imaginacin del diseador
Los campos ms destacados en los que se emplean microcontroladores son los siguientes
Automatizacin industrial. Medida y control de procesos. Enseanza e investigacin. Perifricos y dispositivos auxiliares de las computadoras. Electrodomsticos. Aparatos porttiles y de bolsillo. Mquinas expendedoras y juguetera. Instrumentacin. Industria de la automocin. Electromedicina. Robtica. Sistemas de navegacin. Sistemas de seguridad y alarma. Domtica. Termorregulacin.
Uno de los sectores que ms tira del mercado del microcontrolador es el mercado automovilstico. El mercado del automvil es adems uno de los ms exigentes: los componentes electrnicos deben operar bajo condiciones extremas de vibraciones, choques, ruido, etc. y seguir siendo fiables. El fallo de cualquier componente en un automvil puede ser el origen de un accidente.
Tambin los modernos microcontroladores de 32 bits van afianzando sus posiciones en el mercado, siendo las reas de ms inters el procesamiento de imgenes, las comunicaciones, las aplicaciones militares, los procesos industriales y el control de los dispositivos de almacenamiento masivo de datos.
Tcnicas de fabricacin
En cuanto a las tcnicas de fabricacin, cabe decir que prcticamente la totalidad de los microcontroladores actuales se fabrican con tecnologa CMOS 4 (Complementary Metal Oxide Semiconductor). Esta tecnologa supera a las tcnicas anteriores por su bajo consumo y alta inmunidad al ruido.
La industria de la informtica acapara gran parte de los microcontroladores que se fabrican. Casi todos los perifricos de un ordenador, desde el ratn hasta la impresora o el teclado, son regulados por el programa de un microcontrolador. Los electrodomsticos de gama blanca (lavadoras, hornos, lavavajillas, etc.) y de lnea marrn (televisores, vdeos, aparatos musicales, etc.) incorporan numerosos microcontroladores. Igualmente los sistemas de supervisin, vigilancia y alarma en los edificios utilizan estos chips para optimizar el rendimiento de ascensores, calefaccin, aire acondicionado, alarmas de incendio y robo, etc.
Las comunicaciones y sus sistemas de transferencia de informacin utilizan profusamente estos pequeos computadores, incorporndolos en los grandes automatismos y en los modernos telfonos. La instrumentacin y la electromedicina son dos campos idneos para la implantacin de estos circuitos integrados. Una importante industria consumidora de microcontroladores es la de automocin, que los aplica en el control de aspectos tan populares como la climatizacin o los frenos ABS.
EJEMPLO Un horno microondas se gobierna mediante un microcontrolador en el que se almacena el programa de control de 382 instrucciones, cada una de las cuales ocupa una palabra de la memoria de cdigo. Para soportar el teclado y la pantalla LCD se necesitan 12 lneas de EIS. Cul de los tres siguientes microcontroladores ser el ms recomendable utilizar?
MODELO MEMORIA DE INSTRUCCIONES (PALABRAS LNEAS E/S PRECIO (PESETAS)
13 13 33
ARQUITECTURA BASICA
Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clsica de von Neumann, en el momento presente se impone la arquitectura Harvard. La arquitectura de von Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a travs de un sistema de buses nico (direcciones, datos y control).
En la arquitectura de von Neumann la UCP se comunicaba a travs de un sistema de buses con la Memoria, donde se guardaban las instrucciones y los datos.
En la arquitectura Harvard son independientes la memoria de instrucciones y la memoria de datos y cada una dispone de su propio sistema de buses para el acceso. Esta dualidad, adems de propiciar el paralelismo, permite la adecuacin del tamao de las palabras y los buses a los requerimientos especficos de las instrucciones y de los datos. Tambin la capacidad de cada memoria es diferente
ARQUITECTURA INTERNA
Un microcontrolador posee todos los componentes de un computador, pero con unas caractersticas fijas que no pueden alterarse. Las partes principales de un microcontrolador son
1. Procesador 2. Memoria no voltil para contener el programa 3. Memoria de lectura y escritura para guardar los datos 4. Lneas de EIS para los controladores de perifricos: a) Comunicacin paralelo b) Comunicacin serie c) Diversas puertas de comunicacin (bus l2C, USB, etc.) 5. Recursos auxiliares: a) Circuito de reloj b) Temporizadores c) Perro Guardn (watchdog) d) Conversores AD y DA e) Comparadores analgicos f) Proteccin ante fallos de la alimentacin g) Estado de reposo o de bajo consumo
EL PROCESADOR O UCP
CISC: (Computadores de Juego de Instrucciones Complejo). Un gran nmero de procesadores usados en los microcontroladores estn basados en la filosofa CISC. RISC: (Computadores deJuego de Instrucciones Reducido). Tanto la industria de los Computadores comerciales como la de los microcontroladores estn decantndose hacia la filosofa RISC. En estos procesadores el repertorio de instrucciones mquina es muy reducido y las instrucciones son simples y,generalmente, se ejecutan en un ciclo. SISC: (Computadores de Juego de Instrucciones Especfico). En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, adems de ser reducido, es especfico, o sea, las instrucciones se adaptan a las necesidades de la aplicacin prevista.
MEMORIA
1. ROM con mscara 2. OTP programable una sola vez 3 EPROM. Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy Memory) pueden borrarse y grabarse muchas veces. 4 EEPROM Se trata de memorias de slo lectura, programables y borrables elctricamente EEPROM (Electrical Erasable Programmable Read OnIy Memory). Tanto la programacin como el borrado, se realizan elctricamente desde el propio grabador y bajo el control programado de un PC. 5 FLASH Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar. Funciona como una ROM y una RAM pero consume menos y es ms pequea. A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms rpida y de mayor densidad que la EEPROM.
RELOJ PRINCIPAL
Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia, que configura los impulsos de reloj usados en la sincronizacin de todas las operaciones del sistema.
RECURSOS AUXILIARES
Segn las aplicaciones a las que orienta el fabricante cada modelo de microcontrolador, incorpora una diversidad de complementos que refuerzan la potencia y la flexibilidad del dispositivo. Entre los recursos ms comunes se citan a los siguientes: a) Circuito de reloj, encargado de generar los impulsos que sincronizan el funcionamiento de todo el sistema. b) Temporizadores, orientados a controlar tiempos. c) Perro Guardin (watchdog), destinado a provocar una reinicializacin cuando el programa queda bloqueado. d) Conversores AD y DA, para poder recibir y enviar seales analgicas. e) Comparadores analgicos, para verificar el valor de una seal analgica. f) Sistema de proteccin ante fallos de la alimentacin. g) Estado de Reposo, en el que el sistema queda congelado y el consumo de energa se reduce al mnimo.
Microcontroladores Eleccin
1. Sencillez de manejo: Tienen un juego de instrucciones reducido; 35 en la gama media. 2. Buena informacin, fcil de conseguir y econmica. 3. Precio: Su coste es comparativamente inferior al de sus competidores. 4. Poseen una elevada velocidad de funcionamiento. Buen promedio de parmetros: velocidad, consumo, tamao, alimentacin, cdigo compacto, etc. 5. Herramientas de desarrollo fciles y baratas. Muchas herramientas software se pueden recoger libremente a travs de Internet desde Microchip (http://www.microchip.com).
En la Tabla se presentan las principales caractersticas de los modelos de esta subfamilia, que el fabricante tiene la intencin de potenciar en un futuro prximo. Los modelos 12C5xx pertenecen a la gama baja, siendo el tamao de las instrucciones de 12 bits
PIC 16F84
PIC16F84
1
VDD : Voltaje de alimentacin. VSS : Tierra. OSC1/CLKIN : Entrada del oscilador externo. OSC2/CLKOUT : Pin auxiliar del oscilador. MCLR : Reinicializacin o Reset del PIC. Se activa con el nivel lgico bajo. Durante la grabacin de la memoria de programa se introduce por este pin el voltaje VPP (12 a 14V). RA0 RA4/T0CKI : Lneas de E/S digitales de la puerta A. La lnea RA4/T0CKI multiplexa la entrada externa para alimentar al temporizador interno TMR0. RB0/INT RB7 : Lneas de E/S digitales de la puerta B. La lnea RB0/INT multiplexa la entrada a una peticin externa de una interrupcin.
RA2 RA3
RA1 RA0
18 17 16 15 14 13 12 11 10
2 3 4 5 6 7 8 9
RA4/TOCKI OSC2/CLKOUT MCLR Vss RB0/IN T RB1 RB2 RB3 OSC1/CLKIN VDD RB7 RB6 RB5 RB4
PROCESADOR SEGMENTADO
OCS1
XTAL
PIC16FXX
OPEN
PIC16FXX
C2
OCS2
OCS2
VDD Rext
OCS1
Cext
PIC16FXX
Fosc/4
OCS2
Se puede producir un reset activando el pin MCLR# con el circuito simple que se muestra
VDD
PIC16FXX
100 1 MCLR
10K
RESET
EJERCICIO. Empezaremos a programar el PIC para que realice una simple suma. Le indicaremos al PIC, a travs del programa, que sume los valores de las variables SUMANDO1 y SUMANDO2 y almacene el resultado en la variable RESULTADO. El programa es explicado a continuacin: ; SUMANDO.ASM: Este programa suma el contenido de las posiciones 10h y ; 11h de memoria y almacena el resultado en la posicin 12h. ;-------------------------------------------------------------------------------------------- LIST P = 16F84 ; Modelo de PIC usado. Es una directiva. ;-------------------------------------------------------------------------------------------- ;definicin de variables SUMANDO1 EQU 0x10 ; A la posicin de memoria 0x10 (10h) se ; le da el nombre SUMANDO1 ; definindose as la posicin del primer ; sumando SUMANDO2 EQU 0x11 ; define la posicin del segundo sumando RESULTADO EQU 0x12 ; define la posicin del resultado ;-------------------------------------------------------------------------------------------- movlw 03 ; mover 3 al registro W (primera ; instruccin) movwf SUMANDO1 ; mover el valor de W a SUMANDO1 movllw 06 ; mover 6 al registro W movwf SUMANDO2 ; mover el valor de W a SUMANDO2 addwf SUMANDO1 ; W + SUMANDO1, guardar el resultado ; en W movwf RESULTADO ; mover el valor de W a RESULTADO ;-------------------------------------------------------------------------------------------- END ; Fin de programa. Es una directiva. ;---------------------------------------------------------------------------------------------
10K
VDD
14
27 pF
4 15 16
RA0 RA1 RA2 RA3 RA4/TOCKI RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7
17 18 1 2 3 6 7 8 9 10 11 12 13
4 MHz
27 pF PIC16F84
Vss
MEMORIA DE DATOS PIC16F83/CR83/C84 00h 01h 02h 03h 04h 05h 06h 07h INDF(1) TMR0 PCL STATUS FSR PORTA PORTB INDF(1) OPTION PCL STATUS FSR TRISA TRISB 80h 81h 82h 83h 84h 85h 86h 87h EEDATA EEADR PCLATH INTCON EECON1(1) EECON2(1) PCLATH INTCON 88h 89h 8Ah 8Bh 8Ch 36 General Purpose Registers (SRAM) 2Fh 30h No No implementado implementado Mapped in Bank 0 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch
MEMORIA DE DATOS PIC16F84 INDF(1) TMR0 PCL STATUS FSR PORTA PORTB INDF(1) OPTION PCL STATUS FSR TRISA TRISB 80h 81h 82h 83h 84h 85h 86h 87h EEDATA EEADR PCLATH INTCON EECON1(1) EECON2(1) PCLATH INTCON 88h 89h 8Ah 8Bh 8Ch 68 General Purpose Registers (SRAM) AFh B0h 4Fh 50h No No implementado implementado CFh D0h Mapped in Bank 0
08h 09h 0A h 0B h 0C h
FFh
FFh
MICROCONTROLADOR
PIC 16F877
Bajo el nombre de esta subfamilia de microcontroladores, actualmente encontramos cuatro modelos: EL PIC 16F873/4/6 y 7. Estos microcontroladores disponen de una memoria e programa FLASH de 4 a 8 KBytes de 14 bits, considerable menta superior frente al PIC 16F84 en el que solo disponamos de l Kbyte de 14 bits. De los microcontroladores indicados, el 16F873 y el 16FS76 son de 28 pines, mientras que 16F874 y el 16F877 tienen 40 patillas, lo que les permite disponer de hasta 33 lneas de E/S
CARACTERISTICAS (I)
MEM PROGRAMA CPU RISC 8K-PALABRAS (FLASH) ARQUITECTURA HARVARD 368 KB MEM RAM 35 INSTRUCCIONES DE DATOS DE ENSAMBLADOR 256 KB MEM EEPROM DE DATOS EJECUCION EN 1 CICLO MQUINA MXIMA VEL 20MHZ
CARACTERISTICAS (II)
PUERTO 1 WATCHDOG PARALELO 3 TIMERS (8,16,8bits) ESCLAVO DE 8 2 CANALES PWM BITS 8 CONVER. A/D de 33 PINES E/S EN 10bits 5 PUERTOS PILA HARWARE PUERTOS SERIE: DEBUGGER IN SPI CIRCUIT IIC
USART
PUERTO A
Puerto de e/s de 6 pines RA0 RA0 y AN0 RA1 RA1 y AN1 RA2 RA2, AN2 y VrefRA3 RA3, AN3 y Vref+ RA4 RA4 (Salida en colector abierto) y T0CKI(Entrada de reloj del modulo Timer0) RA5 RA5, AN4 y SS (Seleccin esclavo para el puerto serie sncrono)
PUERTO B
Puerto e/s 8 pines Resistencias pull-up programables RB0 Interrupcin externa RB4-7 Interrupcion por cambio de flanco RB5-RB7 y RB3 programacion y debugger in circuit
PUERTO C
Puerto e/s de 8 pines RC0 RC0, T1OSO (Timer1 salida oscilador) y T1CKI (Entrada de reloj del modulo Timer1). RC1-RC2 PWM/COMP/CAPT RC1 T1OSI (entrada osc timer1) RC3-4 IIC RC3-5 SPI RC6-7 USART
PUERTO D
Puerto e/s de 8 pines Bus de datos en PPS (Puerto paralelo esclavo)
PUERTO E
Puerto de e/s de 3 pines RE0 RE0 y AN5 y Read de PPS RE1 RE1 y AN6 y Write de PPS RE2 RE2 y AN7 y CS de PPS
REGISTROS DE DIRECCION
Confuguran si un pin es de entrada o de salida. Se denominan:
TRISA TRISB ...