CARACTERÍSTICAS VENTAJAS Y DESVENTAJAS DEL MICROCONTROLADOR 16F628 Para comenzar a programar microcontroladores PIC, el PIC que se utilizará (es decir, el que utilizaré en este sitio) será el 16F628 (16F628a), que como ya se mencionó anteriormente presenta algunas ventajas que lo hacen superior (desde el punto de vista de un principiante) a otros PIC. Antes que otra cosa es necesario ver algo de "teoría" sobre el PIC, sin embargo aquí solamente mencionaré las características principales, para información más detallada es recomendable consultar la hoja de datos proporcionada por Microchip.
El PIC 16F628 incorpora tres características importantes que son:
Procesador tipo RISC (Procesador con un Conjunto Reducido de Instrucciones) Procesador segmentado Arquitectura HARVARD Con estos recursos el PIC es capaz de ejecutar instrucciones solamente en un ciclo de instrucción. Con la estructura segmentada se pueden realizar simultáneamente las dos fases en que se descompone cada instrucción, ejecución de la instrucción y busqueda de la siguiente. La separación de los dos tipos de memoria son los pilares de la arquitectura Harvard, esto permite acceder en forma simultánea e independiente a la memoria de datos y a la de instrucciones. El tener memorias separadas permite que cada una tenga el ancho y tamaño más adecuado. Así en el PIC 16F628 el ancho de los datos es de un byte, mientras que la de las instrucciones es de 14 bits.
Características principales
Conjunto reducido de instrucciones (RISC). Sólamente 35 instrucciones que aprender a utilizar Oscilador interno de 4MHz Las instrucciones se ejecutan en un sólo ciclo de máquina excepto los saltos ( goto y call ), que requieren 2 ciclos. Aquí hay que especificar que un ciclo de máquina se lleva 4 ciclos de reloj, si se utiliza el reloj interno de 4MHz, los ciclos de máquina se realizarán con una frecuencia de 1MHz, es decir que cada instrucción se ejecutará en 1uS (microsegundo) Opera con una frecuencia de reloj de hasta 20 MHz (ciclo de máquina de 200 ns) Memoria de programa: 2048 locaciones de 14 bits Memoria de datos: Memoria RAM de 224 bytes (8 bits por registro) Memoria EEPROM: 128 bytes (8 bits por registro) Stack de 8 niveles 16 Terminales de I/O que soportan corrientes de hasta 25 mA 3 Temporizadores Módulos de comunicación serie, comparadores, PWM Otra característica de los PICs es el manejo de los bancos de registros. En línea general, los registros se clasifican como de uso general (GPR) y de uso específico o de funciones especiales (SFR). Los registros de uso general pueden ser usados directamente por el usuario, sin existir restricciones. Pueden servir para almacenar resultados que se reciben desde el registro W (acumulador), datos que provienen de las puertas de entradas, etc.
Los registros de uso específicos no pueden ser usados directamente por el usuario. Estos registros controlan prácticamente todo el funcionamiento del microcontrolador, pues toda la configuración necesaria para funcionamiento del microcontrolador es hecho a través de algún tipo de SFR.
Pines de I/O (Entrada/Salida)
PORTA: RA0-RA7:
Los pines RA0-RA4 y RA6 –RA7 son bidireccionales y manejan señales TTL El pin RA5 es una entrada Schmitt Trigger que sirve también para entrar en el modo de programación cuando se aplica una tensión igual a Vpp (13,4V mínimo) El terminal RA4 puede configurarse como reloj de entrada para el contador TMR0 Los pines RA0-RA3 sirven de entrada para el comparador analógico PORTB: RB0-RB7: Los pines RB0-RB7 son bidireccionales y manejan señales TTL Por software se pueden activar las resistencias de pull-up internas, que evitan el uso de resistencias externas en caso de que los terminales se utilicen como entrada (permite, en algunos casos, reducir el número de componentes externos) El pin RB0 se puede utilizar como entrada de pulsos para provocar una interrupción externa Los pines RB4-RB7 están diseñados para detectar una interrupción por cambio de estado. Esta interrupción puede utilizarse para controlar un teclado matr icial, por poner un ejemplo Otros pines VDD: Pin de alimentación positiva. De 2 a 5,5 Vcc VSS: Pin de alimentación negativa. Se conecta a tierra o a 0 Vcc MCLR: Master Clear (Reset). Si el nivel lógico de este terminal es bajo (0 Vcc), el microcontrolador permanece inactivo. Este Reset se controla mediante la palabra de configuración del PIC OSC1/CLKIN: Entrada de oscilador externo OSC2/CLKOUT: Salida del oscilador. El PIC 16F628 dependiendo de cómo se configure puede proporcionar una salida de reloj por medio de este pin En la próxima entrega se dará una introducción al ambiente de desarrollo MPLAB y se realizará el primer programa. También se verá el conjunto de instrucciones del PIC y las directivas del ensamblador MPASM.
CARACTERÍSTICAS, VENTAJAS Y DESVENTAJAS DEL MICROCONTROLADOR 16F84A En esta parte estudiaremos la estructura del PIC16F84A con el fin de entender mejor su funcionamiento. Empezaremos con una relación de sus principales características:
Repertorio de 35 Instrucciones. Todas las instrucciones se ejecutan en un solo ciclo excepto las de salto que necesitan dos. Versiones para bajo consumo (16LF84A), de 4 MHz (PIC16F84A04) y 20 MHz (PIC16F84A-20). Un ciclo máquina del PIC son 4 ciclos de reloj, por lo cual si tenemos un PIC con un cristal de 4 MHz, se ejecutarán 1 millón de instrucciones por segundo. Memoria de programa Flash de 1 K x 14 bits. Memoria RAM dividida en 2 áreas: 22 registros de propósito específico (SFR) y 68 de propósito general (GPR) como memoria de datos. 15 registros de funciones especiales. Memoria de datos RAM de 68 bytes (68 registros de proposito general). Memoria de datos EEPROM de 64 bytes. Contador de programa de 13 bit (lo que en teoría permitiría direccionar 4 KB de memoria, aunque el 16F84 solo dispone de 1KB de memoria implementada). Pila con 8 niveles de profundidad. Modos de direccionamiento directo, indirecto y relativo. ALU de 8 bits y registro de trabajo W del que normalmente recibe un operando que puede ser cualquier registro, memoria, puerto de Entrada/Salida o el propio código de instrucción. 4 fuentes de interrupciones: A través del pin RB0/INT. o Desbordamiento del temporizador TMR0. o Interrupción por cambio de estado de los pins 4:7 del Puerto B. o Completada la escritura de la memoria EEPROM. o 1.000.000 de ciclos de borrado/escritura de la memoria EEPROM. 40 años de retención de la memoria EEPROM. 13 pins de E/S con control individual de dirección. PortA de 5 bits . PortB de 8 bits . Contador/Temporizador TMR0 de 8 bits con divisor programable. Power-on Reset (POR). Power-up Timer (PWRT). Oscillator Start-up Timer (OST). Watchdog Timer (WDT). Protección de código. Modo de bajo consumo SLEEP. Puede operar bajo 4 modos diferentes de oscilador. Programación en serie a través de dos pins. Tecnología de baja potencia y alta velocidad CMOS Flash/EEPROM. Características eléctricas máximas (no deben ser superadas y de mantenerse por un tiempo en algún máximo puede dañarse al PIC) Temperatura ambiente máxima para funcionamiento de -55°C to +125°C. o Tensión máxima de VDD respecto a VSS de -0,3 a +7,5V. o
Tensión de cualquier patilla con respecto a VSS (excepto VDD, MCLR, y RA4) de 0,3V a (VDD + 0.3V). Tensión en MCLR con respecto a VSS -0,3 a +14V. o o Tensión en RA4 con respecto a VSS -0,3 a +8,5V. Disipación de potencia total de 800 mW. o Máxima corriente de salida a VSS 150 mA. o Máxima corriente de salida de VDD 100 mA. o Máxima corriente del puerto "A" como fuente, 50 mA. o Máxima corriente del puerto "A" como sumidero, 80 mA. o Máxima corriente del puerto "B" como fuente, 10 0 mA. o Máxima corriente del puerto "B" como sumidero, 150 mA. o Máxima corriente que puede suministrar una sóla salida como fuente o sumidero, o 25 mA. Rango de alimentación: 16LF84A: de 2 a 5,5 V en configuración de oscilador XT, RC y LP. o 16F84A: o de 4 a 5,5 v en configuración de oscilador XT, RC y LP. de 4,5 a 5.5 v en configuración de oscilador HS. Consumo típico: 16LF84A: o de 1 a 4 mA en configuración de oscilador RC y XT (FOSC=2 MHz, VDD=5,5V). de 15 a 45 μA en configuración de oscilador LP (FOSC=32kHz, VDD=2V, WDT deshabilitado). 16F84A: o de 1,8 a 4.5 mA en configuración de oscilador RC y XT (FOSC=4 MHz, VDD=5,5V). de 3 a 10 mA en configuración de oscilador RC y XT durante la programación de la FLASH (FOSC=4MHz, VDD=5,5V). 16F84A-20: de 10 a 20 mA en configuración de oscilador HS (FOSC=20 MHz, o VDD=5,5V). o
CARACTERÍSTICAS VENTAJAS Y DESVENTAJAS DEL MICROCONTROLADOR 18F4550 Microcontrolador con módulo USB 2.0. Soporta Low speed 1.5Mb/s y full speed 12Mb/s.
1kB de memoria de doble acceso vía USB
35 pines I/O disponibles
Memoria de programa flash de 32 kB
RAM de 2048 Bytes
EEPROM de datos de 256 Bytes
Velocidad de la CPU 12 MIPS
Oscilador externo de dos modos hasta 48 MHz
Oscilador interno selecionable entre 8 frecuencias desde 31kHz hasta 8MHz
Oscilador secundario con Timer 1 de hasta 32kHz
Opciones de oscilador dual permiten que la velocidad de la CPU y del módulo USB sean diferentes
ADC de 10 bits y 13 canales
Tecnología nanoWatt que brinda características y funciones de bajo consumo y ahorro de
energía
Voltaje de operación 4.2V a 5.5V
4 Timer(desde Timer0 a Timer3). Uno de 8 bits y 3 de 16 bits
2 módulos de captura/comparación/PWM
EUSART, SPP, SPI, I²C.
20 fuentes de interrupciones (3 externas)
Resistencias de pull-ups en el puerto B programables
Función del pin MCLR opcional
Brown-out Reset de valor programable
Power-on Reset
Power-up Timer y Oscillator Start-up Timer
Soporta 100,000 ciclos de borrado/escritura en memoria flash
Soporta 1,000,000 ciclos de borrado/escritura en memoria EEPROM
Retención de datos mayor a 40 años
Protección de código y datos programable
Encapsulado DIP de 40 pines
Estructura Interna del Pic Dentro del datasheet del dispositivo podemos encontrar un diagrama de bloques que nos explica la arquitectura interna que tiene el Pic 18F4550.
Como podemos ver en la imagen este modelo de P ic es bastante completo, cuenta con una serie de elementos como: la memoria de programa, memoria de datos,contadores, puertos I/O, latch de dirección,
Organización de la memoria La memoria del Pic se divide en: Memoria RAM de datos, memoria de programa, memoria EEprom de datos, la pila y memoria de configuración
Memoria de datos Cuenta con una memoria de RAM de datos de 2048 bytes, (8 de los bancos de 256 bytes). También cuenta con 160 bytes dedicados a los SFR's(Registros de función especial) los cuales se encuentran en la parte alta del banco 15. Como se puede ver en la imagen la memoria RAM de datos se compone por GPR's o registros de propósito general y SFR's o registros de función especial. Es la encargada de almacenar datos de forma temporal durante la ejecución del programa.
Para acceder a un Byte de la memoria de datos en primer lugar seleccionaremos el banco mediante el BSR(Bank Selector Register) y a continuación se disecciona el byte dentro del banco.
Memoria de programa El Pic 18F4550 cuenta con una memoria de programa de 32K (32768 bytes). Es una memoria tipo Flash. Esta memoria es la que se encarga de almacenar las instrucciones, constantes y datos. La podemos escribir o leer con un programador externo o en ejecución.
Memoria EEprom de datos Es una memoria no volatil en la que se almacenan los datos en ausencia de tensión. Cuatro SFR son usados para la escritura y lectura de la EEPROM: EECON1 y EECON2 (controlan el acceso a los datos de la memoria EEPROM). EEDATA y EEADR (ordenan la escritura/lectura y la dirección).
La pila o Stack Es un bloque de memoria RAM independiente de 31 palabras de 21 bits en la cual se almacena de una forma temporal el valor del Contador de Programa (Program Counter) cuando se produce una llamada a subrutina o interrupción.
Memoria de configuración Es un bloque de memoria situado a partir de la posición 30000H en la memoria de programa donde se almacenan: Bits de configuración. Contenidos en 12 bytes de memoria flash donde se almacenan varias opciones de configuración: opciones del oscilador, reset, watchdog, circuiteria de depuración y programación... Estos bits pueden ser modificados.
Registros de identificación. Contienen información del modelo y revisión del dispositivo. Son registros de lectura
Ciclo máquina y ciclo de instrucción. En el Pic 18F4550 la mayoría de las instrucciones también se ejecutan en un solo ciclo máquina. El ciclo de instrucción Un ciclo de instrucción comprende cuatro ciclos Q (desde Q1 hasta Q4), tal y como se puede apreciar en la imagen. En la captura también se puede observar el esquemático del proceso Pipeline el cual es un sistema que nos permite ejecutar una instrucción (acceso a la memoria de datos), mientras se lee de la memoria de programa la siguiente instrucción. Desventajas Algunas de las desventajas con los microprocesadores son que podrían llegar a sobrecalentarse, y la limitación que imponen sobre el tamaño de los datos.
CARACTERÍSTICAS VENTAJAS Y DESVENTAJAS DEL MICROCONTROLADOR 18F870 Descripción Microcontrolador Microchip PIC16F870-I/SP de la familia PIC16 de gran alcance (ejecución de la instrucción de 200 nanosegundos) de gama media de 8 bits sin embargo, fácil de programa (sólo 35 palabras) individuales instrucciones del microcontrolador basado en flashCMOS paquetes de gran alcance PIC® arquitectura (RISC). Este producto ofrece todas las ventajas de la arquitectura x14 de gama media bien reconocido con características estandarizadas que incluyen 3.5kB de tamaño de la memoria programa direccionable, 128Bytes de tamaño de la memoria de datos y 5-canal de 10 bits de analógico a digital (A / D) convertidor. Este dispositivo funciona a una frecuencia máxima de 20 MHz con una tensión de funcionamiento de ancho de 2 a 5.5V.
Especificaciones
Rango de voltaje operación: 2 V - 5.5 V
CMOS: Antiestático
Timer0: Timer/Counter de 8 bits
Timer1: Timer/Counter de 16 bits
Timer2: Timer de 8 bits
33 Pines I/O (Entrada/Salida)
Máxima Frecuencia de trabajo: 20 MHz
Memoria Flash (Word): 2048
Familia de controladores / Serie: PIC16F Tamaño del núcleo: 8 bit N º de Entradas / Salidas: 22 Programa Tamaño de la memoria: 2 K palabras Tamaño de la memoria EEPROM: 64 BYTE Tamaño de la memoria RAM: 128 Byte Velocidad de CPU: 20 MHz Instrucciones: 35
Encapsulado: DIP
40 pines
Marca: Microchip
Modelo: PIC16F870-I/SP
LINCOGRAFIA: http://www.circuitoselectronicos.org/2011/01/el-pic-16f628.html https://sites.google.com/site/proyectospic2010/PIC18F452/introduccion-pic16f628a-1 http://perso.wanadoo.es/pictob/micropic16f84.htm http://todoelectrodo.blogspot.com/2013/02/pic-18f4550.html https://www.carrod.mx/products/microcontrolador-microchip-pic16f870-i-sp