Bienvenido: Ingresar
location: LabElectronica / CalculoCristal

Cálculo del divisor del PLL para reducir el error en la UART con cristal de 14,7456 Mhz:

Las ecuaciones para ello usan los siguientes parámetros:

FOSC - Frecuencia del Cristal

FCCO - Frecuencia del CCO del PLL

cclk - La frecuencia a la que trabaja el micro (frecuencia de salida).

M - Valor multiplicador en MSEL dentro dell registro PLLCFG.

P - Valor divisor en PSEL dentro del registro PLLCFG.

Cálculo:

Calculamos la frecuencia del micro para 115200 baudios en la UART:

Tenemos un divisor x16 y otro por x32 con lo cual nos da una salida de 58,9824 Mhz.

Usando un cristal de 14,7456 Mhz tenemos que su relación es 4. por lo tanto M=4.

Segun la fórmula de la hoja de datos P = (FCCO /(2xcclk)) =

Tomamos P=2 y nos queda FCCO = 235,93 Mhz lo cual esta dentro de los 156 a 320 Mhz especificados por el fabricante.

De tablas nos queda que el valor para el registro PLLCFG es 0x23.

Ejemplo:

/* PLL configuration */

    .equ PLLCON_OFFSET,   0x0

    .equ PLLCFG_OFFSET,   0x4

    .equ PLLSTAT_OFFSET,  0x8

    .equ PLLFEED_OFFSET,  0xC



    .equ PLLCON_PLLE,    (1 << 0)

    .equ PLLCON_PLLC,    (1 << 1)

    .equ PLLSTAT_PLOCK,  (1 << 10)

    .equ PLLFEED1,        0xAA

    .equ PLLFEED2,        0x55



    .equ PLLCFG_VALUE,    0x23   // PLL con Cristal de 14,7456 Mhz

Anteriormente usabamos un cristal de 12Mhz que llevaba un PLLCFG = 0x24 con un M=5 y un P = 2.

Ejemplo cambio makefile para grabar con '''lpc21isp''' a 115200 baudios:

GRABADOR = /home/mariotrangoni/lpc21isp/lpc21isp

grabar: $(GRABADOR) -wipe -hex ex5.hex /dev/ttyS0 115200 14745

Uno pone 'make grabar en consola y graba directamente el dispositivo.

Cálculo error Baudrate LPC2000:

None: LabElectronica/CalculoCristal (última edición 2010-06-07 22:14:56 efectuada por GonzaloPerezPaina)