Enviat per: Matias | 4 Agost 2010

PCLK

En aquesta entrada explico a quina freqüència funciona el PWM, sense modificar de moment cap paràmetre. Per entendre-ho, s’ha de veure qui controla els impulsos del PWM. Llegint a la documentació, trobem que el PWM va dirigit per el PCLK,  o sigui que hem d’esbrinar d’on surt aquest valor.

La font que controla el rellotge del sistema és un cristall de quars que funciona a 14Mhz, en la documentació diu que funciona entre 10Mhz i 25Mhz, però en el cristall posa escrit exactament 14Mhz. Ara ens fixem en el següent esquema:



FOSC és la freqüència d’oscilació del cristall. A partir d’aquí, es posa un circuit anomenat PLL (Phase-Locked Loop) per poder controlar la freqüència que rebrà el processador, que és CCLK (la senyal que hi ha al final del circuit). Si el PLL no està activat, veiem que el processador rep directament el FOSC com a font de rellotge, però sinó hi ha una cosa a tenir en compte. El PLL conté un multiplicador (controlat pels bits MSEL) que fa que FOSC es multipliqui. Mirant els valors dels registres a l’engegar la placa descobreixo que MSEL = 3, per tant calculem CCLK de la forma:

CCLK = M * FOSC = 3 * 14 = 42Mhz

Un cop sortim del PLL, tenim el CCLK resultant (que és pel processador) però nosaltres volem el PCLK (que esta dedicat a dispositius externs, recordem que això és referent a la documentació del processador, per tant dispositius externs ens referim a tot el que hi ha al voltant del processador, la memòria, la SD, el PWM… i com veiem en la seguent imatge, el PCLK surt d’un block anomenat VPB Divider.

El VPB Divider esta disenyat perque es dona per suposat que els dispositius externs al processador no funcionen a màxima freqüència com el processador, sinó que poden anar tranquilament a la meitat o a un quart de freqüència i estalviar així energia i potència. Així doncs esta disenyat per posar-ho igual, a la meitat, o a un quart de freqüència del processador mitjançant un registre que ens ho indica i que jo he mirat a l’engegar la placa quin valor tenia. VPB Divider esta configurat en el meu cas a la mateixa freqüència que el processador, per tant PCLK = 42 MHz de moment.

Encara no hem acabat! Sembla evident que el PWM no funciona a 42MHz, encara falta tenir en compte els preescalers i els comptadors del Timer i del PWM, ja que cadascún en té un d’individual. Segurament no el podrem baixar molt baix, perquè el sistema necessita tics de rellotge per tractar altres events (canvis de context, interrupcions, etc..) per tant ho hem de comprovar, tot i que segur que ens quedarà una freqüència que s’anirà cap als KHz.

Anuncis

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s

Categories

%d bloggers like this: