Está en la página 1de 18

MICROCONTROLADORES

Contenido
Microcontroladores PIC: ..................................................................................................................... 2
FamiliaPIC10F20x: ............................................................................................................................... 4
Familia PIC12CXXX/12FXXX: ................................................................................................................ 4
FamiliaPIC16C5X:................................................................................................................................. 5
Familia PIC16CXXX/16FXXX + PIC 14000: ............................................................................................ 5
Familia PIC18CXXX/18FXXX: ................................................................................................................ 5
Microcontroladores PIC en la actualidad: ....................................................................................... 5
PICs de 32 bits: ................................................................................................................................ 5
Programación del PIC: ..................................................................................................................... 7
Programadores: ............................................................................................................................... 8
Depuradores integrados :................................................................................................................ 8
Emuladores :.................................................................................................................................... 8
Juego de Instrucciones: ................................................................................................................... 8
Tiempo de ejecucion de instrucciones: ........................................................................................... 9
Juego de instrucciones de los microcontroladores PIC de 14 bits: ................................................. 9
Arquitectura de los microcontroladores PIC de 8 bits: ................................................................. 11
Microcontroladores Atmel: .............................................................................................................. 12
Historia .............................................................................................................................................. 12
Arquitectura - Encapsulados ............................................................................................................ 13
Arquitectura de la CPU .................................................................................................................. 14
Memoria de programa .................................................................................................................. 15
Memoria de dato .......................................................................................................................... 16
Memoria de dato (Registros I/O) .................................................................................................. 17
Memoria de dato (EEPROM) ......................................................................................................... 17
Microcontroladores ARM ................................................................................................................. 17
Enlace de descarga: ...................................................................................................................... 17
Microcontroladores PIC:

Contenido:

En este capítulo revisaremos los microcontroladores PIC, los cuales son recomendados cuando uno
esta recién indagando en la programación de estos circuitos integrados.

El nombre verdadero de este microcontrolador es PICmicro (Peripheral Interface Controller),


conocido bajo el nombre PIC. Su primer antecesor fue creado en 1975 por la compañía General
Instruments. Este chip denominado PIC1650 fue diseñado para propósitos completamente
diferentes. Diez años más tarde, al añadir una memoria EEPROM, este circuito se convirtió en un
verdadero microcontrolador PIC. Hace unos pocos años la compañía Microchip Technology fabricó
la 5 billonésima muestra.
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,
14 y 16 bits, dependiendo de la anchura del bus. La tabla anterior muestra las características
principales de estas tres categorías.

Como se puede ver en la tabla de la página anterior, salvo “los monstruos de 16 bits” PIC 24FXXX
y PIC 24HXXX – todos los microcontroladores tienen la arquitectura Harvard de 8 bits y
pertenecen a una de los tres grandes grupos. Por eso, 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.

Familia de controladores Pic (2004-2007):


 FamiliaPIC10F20x 4 Dispositivos Familia PIC12CXXX/12FXXX 12/14 bits 8 Dispositivos.
 Familia PIC16C5X 12 bits 9 Dispositivos Familia PIC16CXXX/16FXXX 14 bits 74
Dispositivos.
 Familia PIC18CXXX/18FXXX 16 bits 82 Dispositivos.
Versiones de Memoria de Programa: OTP, EPROM, EEPROM y FLASH.

Algunas características de las familias anteriores:


FamiliaPIC10F20x:

 Encapsulados de 6 pines (SOT). Oscilador interno 4MHz.


 Memoria de programa de 12 bits y datos de 8 bits.
 Juego de 33 instrucciones.
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 .
Familia PIC16CXXX/16FXXX + PIC 14000:

 Encapsulados desde 18 hasta 68 pines (DIP, SSOP, PLCC, QFP).


 Instrucciones de 14 bits en Memoria de Programa.
 Juego de 35 instrucciones.
 Gran variedad de módulos integrados.
Familia PIC18CXXX/18FXXX:

 Encapsulados de 18 a 80 pines.
 Memoria de Programa de 16 bits.
 Juego de 77 instrucciones (multiplicación).
Microcontroladores PIC en la actualidad:
PICs de 32 bits:
Microchip Technology lanzo en noviembre de 2007 los nuevos microcontroladores de 32 bits con
una velocidad de procesamiento de 1.5 DMIPS/MHz con capacidad HOST USB. Estos MCUs
permiten un procesamiento de información increíble con un núcleo de procesador de tipo M4K.

PICs más comúnmente usados :

 PIC12C508/509 (encapsulamiento reducido de 8 pines, oscilador interno, popular en pequeños


diseños como el iPod remote)

 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).

 PIC32 (Nueva gama de PIC de 32 bits).


Programación del PIC:
Para transferir el código de un ordenador al PIC normalmente se usa un dispositivo llamado
programador. 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.
Para la ICSP se usan los pines RB6 y RB7 como reloj y datos y el MCLR para activar el modo
programación aplicando un voltaje de 13 voltios.

Existen muchos programadores de PICs, desde los más simples que dejan al software los detalles de
comunicaciones, a los más complejos, que pueden verificar el dispositivo a diversas tensiones de
alimentación e implementan en hardware casi todas las funcionalidades. Muchos de estos
programadores complejos incluyen ellos mismos PICs preprogramados como interfaz para enviar
las órdenes al PIC que se desea programar. 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.

Depuradores integrados :
 ICD (Serie).
 ICD2 (USB).

Emuladores :
 Proteus – ISIS.
 ICE2000 (puerto paralelo, convertidor a USB disponible).
 ICE4000 (USB).
 PIC EMU.
 PIC CDlite.

Juego de Instrucciones:
El juego de instrucciones para los microcontroladores 16F8XX incluye 35 instrucciones en total. La
razón para un número tan reducido de instrucciones yace en la arquietectura RISC. Esto quiere decir
que las instrucciones son bien optimizadas desde el aspecto de la velocidad operativa, la sencillez
de la arquitectura y la compacidad del código. Lo malo de la arquitectura RISC es que se espera del
programador que haga frente a estas instrucciones. Por supuesto, esto es relevante sólo si se utiliza
el lenguaje ensamblador para la programación.
Tiempo de ejecucion de instrucciones:
Todas las instrucciones se ejecutan en un ciclo. La únicas excepciones pueden ser las instrucciones
de ramificación condicional o las instrucciones que cambian el contenido del contador de programa.
En ambos casos, dos ciclos de reloj son necesarios para la ejecución de la instrucción, mientras que
el segundo ciclo se ejecuta como un NOP (No operation). Las instrucciones de un ciclo consisten en
cuatro ciclos de reloj. Si se utiliza un oscilador de 4 MHz, el tiempo nominal para la ejecución de la
instrucción es 1μS. En cuanto a las instrucciones de ramificación, el tiempo de ejecución de la
instrucción es 2μS.

Juego de instrucciones de los microcontroladores PIC de 14 bits:


1. Si un registro de E/S está modificado, el valor utilizado será el valor presentado en los pines del
microcontrolador.
2. Si la instrucción se ejecuta en el registro TMR y si d=1, el pre-escalador será borrado.
3. Si la instrucción se ejecuta en el registro TMR y si d=1, el pre-escalador será borrado.
Si quieres ver algunos ejemplos aplicados con cada una de las sentencias vistas en la tabla, visita
la siguiente dirección EJEMPLOS.

Arquitectura de los microcontroladores PIC de 8 bits:


Microcontroladores Atmel:
Historia
Los AVR son una familia de microcontroladores RISC de Atmel.
La arquitectura de los AVR fue concebida por dos estudiantes en el Norwegian Institute of
Technology, y posteriormente refinada y desarrollada en Atmel Norway, la empresa subsidiaria de
Atmel, fundada por los dos arquitectos del chip.
El acronimo AVR fue reportado como Advanced Virtual RISC, pero hay rumores de que se debe a
sus diseñadores: Alf and Vegard [RISC]. Aunque Atmel dice que no se refiere a nada particular.
Introduccion:
El AVR fue diseñado desde un comienzo para la ejecución eficiente de código C compilado. Por lo
tanto, algunas instrucciones tales como 'suma inmediata' ('add immediate' en inglés) faltan, ya que
la instrucción 'resta inmediata' ('substract immediate' en inglés) con el complemento dos puede ser
usada como alternativa.
El set de instrucciones de los AVR es más regular que el de la mayoría de los microcontroladores
de 8-bit (por ejemplo, los PIC). Sin embargo, no es completamente ortogonal: Los registros
punteros X, Y y Z tienen capacidades de direccionamiento diferentes entre sí. Los registros 0 al 15
tienen diferentes capacidades de direccionamiento que los registros 16 al 31. Los registros de I/O 0
al 31 tienen distintas características que las posiciones 32 al 63. La instrucción CLR afecta los 'flag',
mientras que la instrucción SER no lo hace, a pesar de que parecen ser instrucciones
complementarias (dejar todos los bits en 1, y dejar todos los bits
en 0 respectivamente).
La familia de microcontroladores AVR es muy numerosa, incluye 71 dispositivos que comparten el
núcleo, pero difieren en recursos. Por ejemplo, el atemega8:
Arquitectura - Encapsulados
CPU(Core)
Para maximizar el rendimiento y paralelismo, el AVR usa una arquitectura Harvard – con
memorias y buses separados para instrucciones y datos.
Las instrucciones en la memoria de Programa son ejecutadas con una segmentación de dos etapas.
Mientras una instrucción está siendo ejecutada, la siguiente es pre-capturada de la memoria de
programa (fetching). El Archivo de Registros contiene 32 registros de propósito general de 8 bits,
habilitados para un acceso rápido. El AVR fue diseñado desde un comienzo para la ejecución
eficiente de código C compilado. Por lo tanto, algunas instrucciones tales como 'suma inmediata'
('add immediate' en inglés) faltan, ya que la instrucción 'resta inmediata' ('substract immediate' en
inglés) con el complemento dos puede ser usada como alternativa.

Arquitectura de la CPU
Seis de los 32 registros pueden ser usados como apuntadores de 16 bits para direccionamiento
indirecto en el espacio de datos, habilitando cálculos de direcciones eficientes. Uno de estos
apuntadores también puede usarse como apuntador
para tablas de búsqueda (look up tables) en la memoria de programa. Para ello, estos registros se
denominan X, Y y Z. Después de una operación aritmética, el registro de
Estado (Status Register) es actualizado, para reflejar información acerca de la operación. La
mayoría de instrucciones AVR tienen un formato
en una palabra de 16-bits. En un ciclo de reloj se pueden leer 2 registros que
funcionen como operandos para la ALU, que se realice la operación y el resultado quede disponible
para escribirse en uno de esos registros.
Para la ejecución, la duración del ciclo es suficiente para permitir la lectura de registros, la
operación de la ALU y la escritura en el registro destino.

Memoria de programa
Espacio continuo de memoria Flash cuyo tamaño varia entre procesadores, para el ATMega 8 es de
8 Kbytes, organizados como 4K x 16 bits. Soporta hasta 10,000 ciclos de escritura/borrado. La
memoria se puede particionar en una sección
para aplicación y una sección de arranque, donde podría manejarse un cargador para auto
programación (Boot Loader Support – Read-WhileWrite Self-programming).
Memoria de Programa: (IRQ’s)
En el espacio de almacenamiento se incluyen a los Vectores de Interrupciones, iniciando en la
dirección $000. El número de vectores, en la familia AVR, varia de procesador a procesador, en
función de los recursos existentes. Un programa debería iniciar en una ubicación, mas allá de estos
vectores. (rjmp Reset)

Memoria de dato
Es un espacio de 1120 localidades de 8 bits e incluyen:
- Un conjunto de 32 localidades (Registros).
- 64 Registros I / O (Puertos, configuración de recursos, etc).
- 1024 localidades de propósito general. (RAM)
Memoria de dato (Registros I/O)
La arquitectura asegura el estado de los registros luego de un reset.

Memoria de dato (EEPROM)


La memoria EEPROM está en un espacio independiente y se requiere del uso de 3 registros I/O
para su acceso:

Microcontroladores ARM
Enlace de descarga:
http://www.exa.unicen.edu.ar/catedras/tmicrocon/Material/3_Overview_Microcontroladores_ATM
EL.pdf
https://microcontroladoressesv.wordpress.com/microcontroladores-pic-y-sus-variedades/

También podría gustarte