MICROCONTROLADORES UNIVERSIDAD POLITÉCNICA DE CUAUTITLÁN IZCALLI | INGENIERÍA BIOMÉDICA
Lorena Hernández Vázquez PROFESORA: ROSALBA CHÁVEZ GONZÁLEZ
MICROCONTROLADORES
Contenido Introducción ......................................................................................................................................... 2 Principales fabricantes ......................................................................................................................... 2 Arquitectura de un microcontrolador.................................................................................................. 3 Arquitectura de Von Neumann ........................................................................................................ 3 Arquitectura Harvard ....................................................................................................................... 3 ¿Cómo funciona un microcontrolador? ............................................................................................... 4 Microcontroladores PIC ....................................................................................................................... 5 Familias de microcontroladores PIC ................................................................................................... 6 FamiliaPIC10F20x ............................................................................................................................. 6 Familia PIC12CXXX/12FXXX .............................................................................................................. 7 FamiliaPIC16C5X .............................................................................................................................. 7 PICs más usados ................................................................................................................................... 7 Programación del PIC ........................................................................................................................... 9 Programadores: ............................................................................................................................... 9 Arquitectura de los microcontroladores PIC de 8 bits ....................................................................... 10 Microcontrolador ATMEL AVR ........................................................................................................... 11 Conclusiones ...................................................................................................................................... 11 Cibergrafia .......................................................................................................................................... 11
1
MICROCONTROLADORES
Introducción El microcontrolador es un circuito integrado de muy alta escala de integración que contiene las partes funcionales de un computador: • CPU (Central Processor Unit o Unidad de Procesamiento Central) • Memorias volátiles (RAM), para datos • Memorias no volátiles (ROM, PROM, EPROM) para escribir el programa. • Líneas de entrada y salida para comunicarse con el mundo exterior. • Algunos periféricos (comunicación serial, temporizador, convertidor A/D, etc) Es decir el microcontrolador es un computador integrado en un solo chip. Integrar todos estos elementos en un solo circuito integrado a un significado desarrollar aplicaciones importantes en la industria al economizar materiales, tiempo y espacio.
Principales fabricantes Por lo general los fabricantes de microprocesadores lo son de microcontroladores. Los fabricantes de microcontroladores son más de 50, podemos mencionar a: • Atmel • Motorola • Intel • Microchip • Hitachi • Mitsibishi • Philips • Matsushita • Toshiba • AT&T • Siemens • National Semiconductor
2
MICROCONTROLADORES
Arquitectura de un microcontrolador Según la arquitectura interna de la memoria de un microcontrolador se puede clasificar considerando como el CPU accede a los datos e instrucciones, en 2 tipos:
Arquitectura de Von Neumann Fue desarrollada por Jon Von Neumann, se caracteriza por tener una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. La CPU se conecta a través de un sistema de buses (direcciones, datos y control). Esta arquitectura es limitada cuando se demanda rapidez.
Arquitectura Harvard Fue desarrollado en Harvard, por Howard Aiken, esta arquitectura se caracteriza por tener 2 memorias independientes una que contiene sólo instrucciones y otra, que contiene sólo datos. Ambas, disponen de sus respectivos sistemas de buses para el acceso y es posible realizar operaciones de acceso simultáneamente en ambas memorias. Existe una variante de esta arquitectura que permite el acceso a la tabla de datos desde la memoria de programas es la Arquitectura de Harvard Modificada. Esta última arquitectura es la dominante en los microcontroladores actuales ya que la memoria de programas es usualmente ROM, OTP, EPROM o FLASH, mientras que la memoria de datos es usualmente RAM. Por ejemplo las tablas de datos pueden estar en la memoria de programa sin que sean perdidas cada vez que el sistema es apagado.
3
MICROCONTROLADORES
Se puede observar claramente que las principales ventajas de esta arquitectura son: a) que el tamaño de las instrucciones no está relacionado con el de los datos, y por lo tanto puede ser optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa, logrando así mayor velocidad y menor longitud de programa, b) que el tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad de operación.
¿Cómo funciona un microcontrolador? Como el hardware ya viene integrado en un solo chip, para usar un microcontrolador se debe especificar su funcionamiento por software a través de programas que indiquen las instrucciones que el microcontrolador debe realizar. En una memoria se guardan los programas y un elemento llamado CPU se encarga de procesar paso por paso las instrucciones del programa. Los lenguajes de programación típicos que se usan para este fin son ensamblador y C, pero antes de grabar un programa al microcontrolador hay que compilarlo a hexadecimal que es el formato con el que funciona el microcontrolador. Para diseñar programas es necesario conocer los bloques funcionales básicos del microcontrolador, estos bloques son: • • • •
CPU (Unidad central de proceso) Memoria ROM (Memoria de solo lectura) Memoria RAM (Memoria de acceso aleatorio) Líneas de entrada y salida (Periféricos)
La forma en la que interactúan estos bloques dependerá de su arquitectura. La CPU posee, de manera independiente, una memoria de acceso rápido para almacenar datos denominada registros, si estos registros son de 8 bits se dice que el microcontrolador es de 8 bits.
4
MICROCONTROLADORES
Microcontroladores PIC El nombre verdadero de este microcontrolador es PICmicro (Peripheral Interface Controller), conocido bajo el nombre PIC.
Todos los microcontroladores PIC utilizan una arquitectura Harvard, lo que quiere decir que su memoria de programa está conectada a la CPU por más de 8 líneas. Hay microcontroladores de 12,
5
MICROCONTROLADORES
14 y 16 bits, dependiendo de la anchura del bus. La tabla anterior muestra las características principales de estas tres categorías. Dependiendo del tamaño de palabra de programa existen la primera, la segunda y la tercera categoría de microcontroladores, es decir microcontroladores de 12, 14 o 16 bits. Puesto que disponen del núcleo similar de 8 bits, todos utilizan el mismo juego de instrucciones y el “esqueleto” básico de hardware conectado a más o menos unidades periféricas. Los microcontroladores PIC con palabras de programa de 14 bits parecen ser la mejor opción para los principiantes. Algunas ventajas de los microcontroladores PIC de Microchip: • • • • • • • •
Eficiencia del código: permiten una gran compactación de los programas. Rapidez de ejecución: a frecuencia de 20MHz->5 millones de instr./seg. Seguridad en acceso por la separación de memoria de datos y de programa. Juego reducido de instrucciones y de fácil aprendizaje. Compatibilidad de pines y código entre dispositivos de la misma familia o sin reducción de las prestaciones internas (muy versátiles). Gran variedad de versiones en distintos encapsulados (desde 8 hasta 84 pines) sin reducción de las prestaciones internas (muy versátiles). Posibilidad de protección del código muy fiable. Herramientas de desarrollo software y hardware abundantes y de bajo coste.
Familias de microcontroladores PIC FamiliaPIC10F20x • • •
Encapsulados de 6 pines (SOT). Oscilador interno 4MHz. Memoria de programa de 12 bits y datos de 8 bits. Juego de 33 instrucciones.
6
MICROCONTROLADORES
Familia PIC12CXXX/12FXXX • • • • • •
Encapsulados de 8 pines (DIP ó SOIC). Instrucciones de 12 ó 14 bits en Memoria de Programa. Juego de 33 ó 35 instrucciones. Disponibles con EEPROM de datos. Modelos con módulos de conversión A/D. Permiten alimentación a baja tensión de hasta 2,5V.
FamiliaPIC16C5X • • • •
Encapsulados de 14, 18, 20 y 28 pines. Instrucciones de 12 bits. Juego de 33 instrucciones. Es la familia base de partida de los PIC .
PICs más usados
•
PIC12C508/509 (encapsulamiento reducido de 8 pines, oscilador interno, popular en pequeños diseños como el iPod remote)
7
MICROCONTROLADORES
•
PIC16F84(Considerado obsoleto, pero imposible de descartar y muy popular) PIC16F84A (Buena actualización del anterior, algunas versiones funcionan a 20 MHz, compatible 1:1)
•
PIC12F629/675 PIC16F628 PIC16F88 (Nuevo sustituto del PIC16F84A con más memoria, oscilador interno, PWM, etc que podría convertirse en popular como su hermana menor). La familia PIC16F87X y PIC16F87XA (los hermanos mayores del PIC16F84 y PIC16F84A, con cantidad de mejoras incluidas en hardware. Bastante común en proyectos de aficionados)
•
PIC18F2455 y similares con puerto USB 2.0 PIC18F2550 PIC18F452 PIC18F4550 dsPIC30F3011 (Ideales para control electrónico de motores eléctricos de inducción).
8
MICROCONTROLADORES
Programación del PIC La mayoría de PICs que Microchip distribuye hoy en día incorporan ICSP (In Circuit Serial Programming, programación serie incorporada) o LVP (Low Voltage Programming, programación a bajo voltaje), lo que permite programar el PIC directamente en el circuito destino. Uno de los programadores más simples es el TE20, que utiliza la línea TX del puerto RS232 como alimentación y las líneas DTR y CTS para mandar o recibir datos cuando el microcontrolador está en modo programación. El sofware de programación puede ser el ICprog, muy común entre la gente que utiliza este tipo de microcontroladores. Programadores: • • • • • • • •
PICStart Plus (puerto serie y USB). Promate II (puerto serie). MPLAB PM3 (puerto serie y USB). ICD2 (puerto serie y USB). PICKit 1 (USB) IC-Prog 1.06B. PICAT 1.25 (puerto USB2.0 para PICs y Atmel). WinPic 800 (puerto paralelo, serie y USB). Terusb1.0.
9
MICROCONTROLADORES
Arquitectura de los microcontroladores PIC de 8 bits
10
MICROCONTROLADORES
Microcontrolador ATMEL AVR ATMEL fabrica los microcontroladores de la familia AVR, esta nueva tecnología proporciona todos los beneficios habituales de arquitectura RISC y memoria flash reprogramable eléctricamente. La característica que los identifica a estos microcontroladores de ATMEL es la memoria flash y eeprom que incorpora. AVR compite con varias familias de microcontroladores bien establecidas en el mercado, tales como 8051 de Intel, 68HC11 de motorola y la familia PIC de Microchip. El diseño AVR de ATMEL difiere de los demás microcontroladores de 8 bits por tener mayor cantidad de registros (32) y un conjunto ortogonal de instrucciones. AVR es mucho más moderna que su competencia.
Conclusiones LA finalidad de la realización de este proyecto es para poder conocer de manera rápida, informativa y breve acerca de un microcontrolador y así tener el conocimiento suficiente para futuros proyectos más complejos, además poder determinar cuál es adecuado dependiendo lo que hagamos, así mismo nos da una idea de cómo programarlo y su tipo de arquitectura.
Cibergrafia http://microcontroladores-e.galeon.com/ http://www.unrobotica.com/manuales/SESION_1_ATMEGA8.pdf
11