UNIVERSIDAD CATÓLICA DE SANTA MARÍA PROGRAMA PROFESIONAL DE INGENIERÍA MECÁNICA, MECÁNICA-ELÉCTRICA Y MECATRÓNICA
MICROCONTROLADORES
¿Qué es un microcontrolador? Un microcontrolador (abreviado μC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres unidades funcionales principales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.
¿Qué es un microcontrolador? Un microcontrolador (abreviado μC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres unidades funcionales principales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.
¿Cómo empezo? •
•
•
•
El primer microprocesador fue el Intel 4004 de 4 bits, lanzado en 1971, seguido por el Intel 8008 y otros más capaces. Sin embargo, ambos procesadores requieren circuitos adicionales para implementar un sistema de trabajo, elevando el costo del sistema total. El Instituto Smithsoniano dice que los ingenieros de Texas Instruments Gary Boone y Michael Cochran lograron crear el primer microcontrolador, TMS 1000, en 1971; fue comercializado en 1974. Combina memoria ROM, memoria RAM, microprocesador y reloj en un chip y estaba destinada a los sistemas embebidos. Debido en parte a la existencia del TMS 1000, Intel desarrolló un sistema de ordenador en un chip optimizado para aplicaciones de control, el Intel 8048, que comenzó a comercializarse en 1977. Combina memoria RAM y ROM en el mismo chip y puede encontrarse en más de mil millones de teclados de compatible IBM PC, y otras numerosas aplicaciones. El en ese momento presidente de Intel, Luke J. Valenter, declaró que el microcontrolador es uno de los productos más exitosos en la historia de la compañía, y amplió el presupuesto de la división en más del 25%. La mayoría de los microcontroladores en este momento tienen dos variantes. Unos tenía una memoria EPROM reprogramable, significativamente más caros que la variante PROM que era sólo una vez programable. Para borrar la EPROM necesita exponer a la luz ultravioleta la tapa de cuarzo transparente. Los chips con todo opaco representaban un coste menor me nor..
MICROPROCESADORES
Requieren de otros chips para crear un sistema completo Tienen alta capacidad de procesado Suelen ser de propósito general Costo elevado
MICROCONTROLADORES
Integran diversos módulos en un chip – RAM/FLASH/EEPROM – Puertos E/S – Puertos de comunicación – Módulos de temporización
Capacidad de proceso menor Recursos escasos Costo relativamente bajo Propósito específico
¿Cuáles son los microcontroladores mas populares? •
•
•
•
8048 (Intel). Es el padre de los microcontroladores actuales, el primero de todos. Su precio, disponibilidad y herramientas de desarrollo hacen que todavía sea muy popular. 8051 (Intel y otros). Es sin duda el microcontrolador más popular. Fácil de programar, pero potente. Está bien documentado y posee cientos de variantes e incontables herramientas de desarrollo. 80186, 80188 y 80386 EX (Intel). Versiones en microcontrolador de los populares microprocesadores 8086 y 8088. Su principal ventaja es que permiten aprovechar las herramientas de desarrollo para PC. 68HC11 (Motorola y Toshiba). Es un microcontrolador de 8 bits potente y popular con gran cantidad de variantes.
MICROCONTROLADORES
Integran diversos módulos en un chip – RAM/FLASH/EEPROM – Puertos E/S – Puertos de comunicación – Módulos de temporización
Capacidad de proceso menor Recursos escasos Costo relativamente bajo Propósito específico
MICROCONTROLADORES -
Un microcontrolador es un circuito integrado que nos ofrece las posibilidades de una pequeño computador. En su interior encontramos un procesador, memoria, y varios periféricos.
Aplicaciones de los Microcontroladores: Aplicaciones de consumo portatiles •
•
•
Smartphone Reproductores portatiles Navegadores
Home Consumer •
•
•
Teléfonos Accesorios para iPod Electrodomésticos
Infotainment Automotriz •
•
Audio & Video GPS
Industrial •
•
•
•
•
Scanners Seguridad y vigilancia Interfaces HMI industriales Electromedicina Medidores
LOS MICROCONTROLADORES – Campos de aplicación
Tipos de MICROCONTROLADORES • PRESTACIONES – Gama baja: 4, 8 y 16 bits.
Dedicados fundamentalmente a tareas de control (Electrodomésticos, cabinas telefónicas, etc.) – Gama media: 16 y 32 bits.
Tareas de control con cierto grado de procesamiento (Control en automóvil, teléfonos móviles, etc.) – Gama alta: 32, 64 y 128 bits.
Fundamentalmente procesamiento (Ordenadores, videoconsolas, etc.) • TECNOLOGÍA – Alimentación (5V, 3.3V, 2.5V, 1.5V) – Consumo (desde mW a decenas de W) – Frecuencia (desde KHz a GHz)
Familias de MICROCONTROLADORES más comunes:
Microcontroladores Intel • INTEL 8048, 8051, 8096… – 27 puertos de E/S – 2 temporizadores de 8 bits – RAM de 64 bytes – ROM de máscara de 1KB
Intel MCS-48
Intel MCS-48
La serie de microcontroladores (µC) MCS-48, el primer microcontrolador de Intel, fue lanzada originalmente en 1976. Sus primeros miembros fueron el 8048, el 8035, y el 8748. La serie MCS-48 tiene una arquitectura Harvard modificada, con una ROM de programa interna o externa y 64-256 bytes de RAM interna (en el chip). La entrada/salida es mapeada en su propio espacio de dirección, separado para programas y datos. El 8048 es probablemente el miembro más prominente de la familia Intel MCS-48 de microcontroladores.
•
Aunque la serie MCS-48 fue eventualmente reemplazada por el muy popular Intel MCS-51, incluso al final del milenio sigue siendo absolutamente popular, debido a su bajo costo, amplia disponibilidad, eficiente conjunto de instrucciones de un byte, y herramientas de desarrollo maduras. Debido a esto, es muy usado en dispositivos de electrónica de consumo de alto volumen como televisores, controles remotos de TV, juguetes, y otros adminículos donde es esencial la reducción del costo.
MICROCONTROLADORES POPULARES • INTEL 8051 – El Intel 8051 es un µC desarrollado por Intel en 1980 para uso en productos
embebidos. – Éste microcontrolador está basado en la Arquitectura Harvard. – Aunque originariamente fue diseñado para aplicaciones simples, se permite direccionar 64 KB de ROM externa y 64 KB de RAM por medio de líneas separadas. – Es muy utilizado en aplicaciones de control industrial.
DIAGRAMA DE BLOQUES - INTEL 8051
Microcontroladores Freescale
•
Los microcontroladores de la empresa Freescale, antes Motorola, es una de las familias más utilizadas y difundidas a nivel mundial.
MICROCONTROLADORES POPULARES • Freescale 68HC08 – El 68HC08 es una familia de microcontroladores de Freescale de 8 bits y
arquitectura de von Neumann, con un solo bloque de memoria. – Son microcontroladores de propósito general, cuentan con diferentes periféricos internos, pero con una CPU común que permite migrar aplicaciones entre ellos. – Entre los periféricos internos que cuentan estos microcontroladores están los ADC, módulo de control de tiempos y sistemas de comunicación.
• Familia HC08 (Freescale)
8 Bits
•
•
68HC05
•
68HC11
68HC08
16 Bits
68HC12
32 Bits
ColdFire
Líderes en ventas de semiconductores por año
MICROCONTROLADORES BASIC Stamp – Este microcontrolador es fabricado por Parallax, Inc. y es muy práctico por
su facilidad de aprendizaje y su fácil uso. – Esta línea de microcontroladores se caracteriza, por ser programable en el lenguaje de programación PBASIC – BASIC Stamp posee la forma de un chip DIP, encontrándose en una placa de circuito impreso que contiene los elementos esenciales para un microprocesador: * Un microcontrolador que contienen la CPU, ROM y periféricos. * Memoria, de tipo EEPROM * Un reloj de CPU * Una fuente de poder * Conexiones externas de entrada y salida.
¿Conoces el Basic Stamp? •
•
Tipo de μC. Fabricado por Parallax Inc.
•
Chip DIP
•
Famoso a partir de los 90’s.
MICROCONTROLADORES POPULARES – Algunas aplicaciones del BASIC Stamp: * Electrónica Industrial (Automatización). * Comunicaciones e interfaz con otros equipos (RS-232). * Interfaz con otros Microcontroladores. * Equipos de Mediciones. * Equipos de Diagnósticos. * Equipos de Adquisición de Datos. * Robótica (Servo mecanismos). * Programación de otros microcontroladores. * Interfaz con otros dispositivos de lógica TTL: (Teclado, Pantallas LCD, Sensores, Memorias, A/D, D/A, etc. )
MICROCONTROLADORES POPULARES • BASIC Stamp – Fabricado por Parallax – Programado en Basic – Versión 1 (8 pines de E/S) o Versión 2 (16 pines de E/S)
MICROCONTROLADORES POPULARES • Los PIC’s de MICROCHIP – Microchip patentó en 1997 sus PIC’s como PICmicro para
distinguirlosde otros dispositivos (Peripheral Interrupt Controller) – Su uso se ha extendido mucho por su bajo coste, reducido consumo, pequeño tamaño, facilidad de programación y gran cantidad de herramientas de soporte.
Familia de MICROCONTROLADORES •
Clasificación en función de su complejidad y capacidad de entrada/salida:
– PIC 12Cxxx: 8 pines y juego de instrucciones de 12 a 14 bits. – – – –
Bajo consumo 2,5 v PIC16C5x: Excelente relación coste/efectividad. Instrucciones de 12 bits. Número de pines entre 14 y 28. Bajo consumo 2 v PIC 16xxx: De 18 a 68 pines. Instrucciones de 14 bits, pila, hardware incluidos los ADC. Interrupciones fijas PIC 17xxx: Procesadores de alto rendimiento. 16 bits/instrucción. Interrupciones vectorizadas PIC 18xxx: Altas prestaciones. Pila de 32 niveles, múltiples interrupciones. Hasta 10 MIPS. Bus de instrucciones de 16 bits, 77 instrucciones.
Ventajas •
Proyectos simplificados
•
Caracteristica “hardware semiacabado”
•
Programación sencilla
•
Biblioteca online y software gratuitos
•
Modulos BS “traductores”
Assembler vs. Basic • • •
LIST P=16F84A #INCLUDE __config _XT_OSC & _WDT_OFF & _PWRTE_ON
•
• • • •
• •
• • •
ORG 5 ;CONFIGURACION DE PUERTOS BSF STATUS,5 MOVLW 0XFF ;MOVEMOS A W WL VALOR DE 255 MOVWF TRISA ;MUEVE EL CONTENIDO DE W AL REGISTRO TRISA Y AUTOMATICAMENTE LO CONFIGURA COMO ENTRADA MOVLW 0X00 MOVWF TRISB ;MUEVE EL CONTENIDO DE W AL REGISTRO TRISB Y AUTOMATICAMENTE LO CONFIGURA COMO SALIDA MOVLW 0XD7 MOVWF OPTION_REG BCF STATUS,5
•
• •
DATO EQU 0X0C MOVLW 0X00 MOVWF DATO
•
• • •
INICIO CALL TEMPO MOVF PORTA,W MOVWF PORTB GOTO INICIO
•
• • • • • • •
TEMPO MOVLW 0X1E MOVWF DATO TEMPO1 CLRF TMR0 BTFSS TMR0,7 GOTO $-1 DECFSZ DATO,1 GOTO TEMPO1 RETURN END
• •
trisa=$ff trisb=$00
•
• • •
• •
inicio: portb=porta pause 1000 goto inicio end
Modelos
BS2, BS2e, BS2sx, BS2p24, BS2p40, BS2pe, BS2px
Kits de Desarrollo
Tarjeta "Board Of Education “ (NO incluye el microcontrolador BASIC Stamp)
Tarjeta "Home Work" (incluye el microcontrolador BASIC Stamp)
Full Kit "Board Of Education“
(incluye el microcontrolador BASIC Stamp)
Aplicaciones Aparatos electrónicos
Automatización industrial Equipos de adquisición de datos
Equipos de diagnósticos Comunicaciones e interfaz con otros equipos
Aplicaciones. Estación del Tiempo
Vehículo de exploración submarino Robot cortador de pasto
Lanzamiento de un cohete
Aplicaciones. Robótica Robot de Vuelo Autónomo de la Universidad de California
Parallax Boe-Bot Robot Multipies de la Universidad de Nanyang
ROV submarino
PLATAFORMA ARDUINO •
•
•
•
•
Consiste en una tarjeta microcontroladora y el software para programarla. Sistema interactivo HARDWARE SOFTWARE
MICROCONTROLADOR: ATMEL AVR ATmega
HARDWARE Tarjeta microcontroladora, con diseño de fuente abierta I/O Microcontrolador Atmel AVR SOFTWARE Lenguaje de Programación Boot loader •
•
•
•
•
ATMEL •
Atmel corp.: –
–
–
–
–
Compañía fabricantes de semiconductores Fundación 1984, take over2008/2/10 Microchip,on semiconductor Microcontroladores, Radiofrecuencia,EEPROM,Memorias FLASH, botones y pantallas táctiles Aplicaciones:comunicaciones, industriales, automóviles, medicas, aeroespaciales, militares Microcontroladores: Arquitectura AVR
Arquitectura AVR 1996 •
Arquitectura Harvard modificada
•
Desarrollada por Atmel en 1996
•
Integrado en el chip: Flas memory, en vez de ROM, EPPROM, EPROM…
•
AT90S8515 - 1980 8085 Intel
TIPOS ATMEL AVR •
tinyAVR ATtiny series – –
•
megaAVR —ATmega series 4 –256 kB program memory 28 –100-pin package Extended instruction set (Multiply instructions and instructions for handling larger program memories) XMEGA — the ATxmega series 16 –384 kB program memory 44 –64 –100-pin package (A4, A3, A1) Mejores propiedades,, "Event System", soporte de criptografía. DACs – – –
•
0.5 –8 kB program memory 6 –32-pin package
– – – –
TIPOS ATMEL AVR •
Application-AVR específico megaAVRs con funciones especiales únicas de estos microcontroladores, controladores de LCD, USB, PWM avanzado, CAN, ETC FPSLIC™ (AVR con FPGA) FPGA 5K to 40K gates SRAM for the AVR program code, unlike all other AVRs AVR core can run at up to 50 MHz [5] –
•
–
–
–
•
•
32-bit AVRs Desarrollados en 2006, capacidades para trabajar con audio y video Competencia ARM
Características •
Instrucciones de palabras 16 bit
•
EEPROM interna
•
Rapido comparado con otros microcontroladores de 8 bits
•
•
•
Puertos I/O bidirecionales, multifuncionales, pull up integrado Osciladores internos OCD
•
•
•
•
•
•
•
•
EEPROM de datos interna SRAM interna Comparador Analogo ADC DAC Convertidor DC-DC PWM Controladores : –
–
–
–
CAN USB ETHERNET LCD
APLICACIONES •
•
•
La plataforma Arduino está basada en el ATmega328 Las tarjetas Arduino trabajan con su propio lenguaje, o C, o cualquier lenguaje estandarizado para AVR Mandos USB del XBOX
instrucciones Family
Minimal Core
Members
AT90S1200 ATtiny11 ATtiny12 ATtiny15 ATtiny28
Arithmetic
ADD ADC SUB SUBI SBC SBCI AND ANDI OR ORI EOR COM NEG SBR CBR INC DEC TST CLR SER
Branches
RJMP RCALL RET RETI CPSE CP CPC CPI SBRC SBRS SBIC SBIS BRBS BRBC BREQ BRNE BRCS BRCC BRSH BRLO BRMI BRPL BRGE BRLT BRHS BRHC BRTS BRTC BRVS BRVC BRIE BRID
Transfers
LD ST MOV LDI IN OUT LPM (not in AT90S1200)
Bit-Wise
SBI CBI LSL LSR ROL ROR ASR SWAP BSET BCLR BST BLD SEC CLC SEN CLN SEZ CLZ SEI CLI SES CLS SEV CLV SET CLT SEH CLH NOP SLEEP WDR
SET INSTRUCCIONES ADD Rd, Rr ADC Rd, Rr ADIW Rd+1:Rd, K6 SUB Rd, Rr SUBI Rd, K8 SBC Rd, Rr SBCI Rd, K8 SBIW Rd+1:Rd, K6 INC Rd DEC Rd AND Rd, Rr ANDI Rd, K8 OR Rd, Rr ORI Rd, K8 EOR Rd, Rr
COM Rd NEG Rd CP Rd, Rr CPC Rd, Rr CPI Rd, K8 SWAP Rd LSR Rd ROR Rd ASR Rd MUL Rd, Rr MULS Rd, Rr MULSU Rd, Rr FMUL Rd, Rr FMULS Rd, Rr FMULSU Rd, Rr
BSET s BCLR s SBI A, b CBI A, b BST Rd, b BLD Rd, b NOP BREAK SLEEP WDR
MOV Rd, Rr MOVW Rd+1:Rd, Rr+1:Rr IN Rd, A OUT A, Rr PUSH Rr POP Rr LDI Rd, K8 LDS Rd, K16 LD Rd, X LD Rd, -X LD Rd, X+ LDD Rd, Y+K6 LD Rd, -Y LD Rd, Y+ LDD Rd, Z+K6 LD Rd, -Z LD Rd, Z+ STS K16, Rr ST X, Rr ST -X, Rr ST X+, Rr STD Y+K6, Rr ST -Y, Rr ST Y+, Rr STD Z+K6, Rr ST -Z, Rr ST Z+, Rr LPM LPM Rd, Z LPM Rd, Z+ ELPM ELPM Rd, Z ELPM Rd, Z+ SPM
RJMP K12 IJMP EIJMP JMP K22
CPSE Rd, Rr SBRC Rr, b SBRS Rr, b
RCALL K12 ICALL EICALL CALL K22
SBIC A, b SBIS A, b
RET RET
BRBC s, K7 BRBS s, K7
ATmega328
Comparación PIC18 vs ATmega328
ARDUINO UNO •
•
•
ATmega328 USB ARDUINO IDE, entorno desarrollo integrado
Shields
BIBLIOGRAFIA • • •
• • •
• •
http://dev.emcelettronica.com/how-to-migrate-microchip-to-freescale-and-why http://en.wikipedia.org/wiki/Freescale_Semiconductor http://en.wikipedia.org/wiki/Worldwide_Top_20_Semiconductor_Sales_Leader s#Ranking_for_year_2007 http://tech-tut.com/?p=1348 http://picbas.blogspot.com/p/videotutoriales.html http://www.aprenderobotica.com/group/eslaprimeravez/page/principiantesbasic-stamp http://es.wikipedia.org/wiki/BASIC_Stamp http://www.rambal.com/educacion/queesbasicstamp.htm