En la siguiente entrada vamos a realizar un estudio de la
estructura interna del PIC18F4550, del cual observaremos diversas diferencias
respecto al PIC 16F877 analizado con anterioridad.
Lo primero que debemos hacer, es echarle un vistazo a su
datasheet que os adjunto aquí.
Las principales características de la familia de los PIC 18
son las siguientes:
- Arquitectura RISC avanzada Harvard: 16 bit con 8 bit de
datos.
- 77 instrucciones.
- Desde 18 a 80 pines.
- Hasta 64K bytes de programa (hasta 2 Mbytes de Rom)
- Multiplicador hardware 8x8.
- Hasta 3968 bytes de RAM y 1 KBytes de EEPROM.
- Frecuencia máxima de reloj 40 Mhz, Hasta 10 MIPS.
- Pila de 32 niveles.
- Múltiples fuentes de interrupción.
- Periféricos de comunicación avanzados (CAN y USB).
Cuadro de características concretas del PIC 18F45550:
Diagrama de pines:
Diagrama de bloques:
Memoria:
El Pic 18F4550 dispone de diversos tipos de memoria:
De programa: memoria flash interna de 32.768 bytes,
la cual almacena las instrucciones y constantes/datos.
Puede ser escrita o leída mediante un programador externo o
durante la ejecución del programa mediante punteros.
Las instrucciones ocupan 2 bytes,( excepto CALL, MOVFF, GOTO
Y LSFR que ocupan 4) por lo que pueden almacenar hasta 16.384 instrucciones.
Existen varias direcciones especiales de la memoria de
programa:
Vectorización del Reset (0000H).
Vectorización de las interrupciones de alta prioridad
(0008H).
Vectorización de las interrupciones de baja prioridad
(0018H)
RAM de datos: Memoria SRAM interna de 2048 bytes en
los que se incluyen los registros de función especial.
Almacena datos que de forma temporal durante la ejecución
del programa.
Se puede leer/escribir durante su ejecución mediante varias
instrucciones.
Para acceder a un byte de la memoria RAM de datos, primero
se selecciona el banco al que pertenece el byte mediante el registro de selección
de banco (BSR) y después direccionar el byte dentro del banco.
Los bancos 4,5,6 y 7 se utilizan también para el USB.
Memoria EPROM de datos: memoria no volátil de 256
bytes.
Almacena datos que se conservan aunque el sistema carezca de
alimentación.
Se puede leer/escribir durante su ejecución por medio de
registros.
Pila: bloque de 31 palabras de 21 bits.
Almacena la dirección de instrucción que se debe ejecutar
después de una interrupción ó subrutina.
Memoria de configuración: memoria en la que se
incluyen los bits de configuración (12 bytes de memoria flash) los registros de identificación (2 bytes de
memoria solo lectura.)
Se sitúa más allá de la zona de memoria de programa usuario,
y en esta configuración se incluyen:
Bits de configuración contenidos en 12 bytes de memoria
flash que permiten la configuración de algunas opciones de microcontrolador tales
como:
Opciones
del oscilador.
Opciones
de reset.
Opciones
del watchdog.
Opciones
de la circuitería de depuración y programación.
Opciones
de protección contra escritura de memoria de programa y memoria EEPROM de datos.
Estos bits se configuran durante la programación del
microcontrolador aunque pueden ser leídos y modificados durante la ejecución
del programa.
Por último, los registros de identificación, que son dos
registros que contienen la información del modelo y revisión del dispositivo,
sólo se pueden leer, y el usuario no podrá modificarlos.
SFR
La memoria RAM de datos se compone de registros de propósito
general (GPR´s) y de los registros de función especial (SFR´s).
Mediante estos
últimos se puede controlar el funcionamiento de la CPU y de las unidades
funcionales del microcontrolador.
Hay dos tipos:
Asociados con el núcleo del microcontrolador.
CPU/Interrupciones/Reset.
Asociados con las unidades funcionales:
- Timers.
- Convertidor analógico – digital.
- EUSART.
- CCP.
-MSSP.
- Puertos de entrada y salida.
Reloj.
En este microcontrolador el oscilador puede ser externo al
igual que el resto de microcontroladores pero también puede ser interno. El
oscilador igual
que en el resto de microcontroladores pero tambien puede ser interno, ya que
cuenta
el oscilador
interno tiene la posibilidad de funcionar desde los 31KHz asta su maxima
velocidad que esta en los 8MHz.
No hay comentarios:
Publicar un comentario