HOME

PRODUCTOS

PROYECTOS

TUTORIALES

VIDEOS

FREEWARE

PROGRAMAS

FUNCIONES C

EMPRESA

ENGLISH

                   

Manejo del circuito PLL, multiplicador de frecuencia en el 18F2550, para generar la máxima velocidad de operación, de 48 Mhz.

 

 

 

El chip microcontrolador 18F2550, en el cual está basado el diseño del sistema Bolt, cuenta con un sofisticado hardware que permite operar sus circuitos a través de un oscilador tanto interno como externo, a elección del usuario. Dicho hardware incluye también un circuito multiplicador de frecuencia PLL (Phase Locked Loop).

La velocidad de operación del microcontrolador 18F2550, se encuentra determinada no solamente por la frecuencia de su oscilador (interno ó externo), sino también por la configuración de su PLL, a través de la inicialización de sus registros, lo cual da al usuario una gran gama de opciones de operación.

Por otro lado, su puerto USB puede funcionar tanto a baja velocidad (1.5 Mbps, con un reloj de 6 Mhz) ó alta velocidad (12 Mbps con un reloj de 48 Mhz.)

A 48 Mhz, que es la velocidad máxima a la que puede operar el 18F2550, el período de ejecución de cada instrucción, es de 83.3 nanosegundos, considerando que cada instrucción se ejecuta en 4 ciclos de reloj.

 

FUNCIONAMIENTO CON UN CRISTAL EXTERNO DE 20 MHZ, VELOCIDAD EFECTIVA DE 48 MHZ Y PUERTO USB A 12 MBPS:

El sistema Bolt 18F2550, utiliza un cristal externo de 20 Mhz. Sin embargo, gracias a su circuito multiplicador de frecuencia PLL, (Phase Locked Loop), su velocidad efectiva de operación es de 48 Mhz. y la velocidad de su puerto USB es de 12 Mbps.

En el caso particular del sistema Bolt 18F2550, sus registros de configuración ya están inicializados a través de su firmware bootloader, de tal forma que el usuario lo operará directamente a la velocidad efectiva indicada arriba.

En seguida se describe la forma en que deben inicializarse los registros de configuración para cualquier sistema basado en el microcontrolador 18F2550. En la figura de abajo se muestra el diagrama de bloques del sistema de generación del reloj, tanto para el CPU como para los circuitos del puerto USB.

 

 

El 18F2550 recibe la señal de su cristal externo y usa un preescalador que divide su frecuencia (dependiendo de sus registros de configuración), entre alguno de los siguientes valores: 1, 2, 3, 4, 5, 6, 10, ó 12. La entrada al circuito PLL debe ser siempre de 4 Mhz. En el caso de funcionamiento a 20 Mhz, la división del preescalador es entre 5.

Estos 4 Mhz pasan a través del PLL y generan a su salida 96 Mhz, los cuales a su vez se dividen entre 2 para dar finalmente la señal de 48 Mhz, con la cual se obtiene un funcionamiento del puerto USB a la velocidad máxima de 12 Mbps. Esta velocidad permite la comunicación del puerto USB del microcontrolador 18F2550, con cualquier Host.

REGISTROS DE CONFIGURACIÓN:

De un total de 14 registros, 2 son utilizados para la configuración del oscilador, el puerto USB y el circuito PLL. En seguida se muestran estos registros y su configuración para las condiciones explicadas:

300000H CONFIG1L= 24H

 

Bit 7=0 Bit 6=0 Bit 5=1 Bit 4=0 Bit 3=0 Bit 2=1 Bit 1=0 Bit 0=0
- - USBDIV CPUDIV1 CPUDIV0 PLLDIV2 PLLDIV1 PLLDIV0

USBDIV=1: el reloj del USB proviene de la salida de 96 Mhz del PLL dividido entre 2.

CPUDIV1=0,CPUDIV0=0: Oscilador principal (20 Mhz) usado como reloj del sistema.

PLLDIV2=1,PLLDIV1=0,PLLDIV0=0: divide entre 5 la frecuencia del oscilador externo de 20 Mhz.

300001H CONFIG1H=0EH

 

Bit 7=0 Bit 6=0 Bit 5=0 Bit 4=0 Bit 3=1 Bit 2=1 Bit 1=1 Bit 0=0
IESO FCMEN - - FOSC3 FOSC2 FOSC1 FOSC0

IESO=0: la función de switcheo automático del oscilador está dehabilitada.

FCMEN=0: la función de monitoreo automático del oscilador está deshabilitada.

FOSC3=1,FOSC2=1,FOSC1=1,FOSC0=0: Oscilador externo de alta frecuencia (20 Mhz) y PLL activado.