|
|||
Divisore Programmabile di frequenza |
|||
|
|||
|
|||
Introduzione Il
progetto presentato in queste pagine e' un divisore di
frequenza programmabile. Il progetto, basato sul versatile
microcontrollore a 8 bit della famiglia 10F322
prodotto dalla Microchip, prende spunto dal funzionamento del blocco NCO
(Numeric
Controled Oscilator) in esso presente. Le applicazioni di
questo semplice progetto sono tanti: divisore per PLL, generatore di
frequenze, etc. Per il collaudo del divisore useremo la scheda di
sviluppo PICCINO.
Idea
di base Il punto di partenza e' il funzionamento della periferica NCO (Numeric Controled Oscilator) presente nel micro controllore 10F322 e in particolare la relazione che lega la frequenza di uscita Fout prodotta a partire dalla frequenza di ingresso Fin. La relazione e' la seguente: Fout= Fin * FWORD / (2^21) Dove la FWORD e' una parola digitale a 16 bit con cui si definisce la frequenza di uscita del generatore numerico del micro. ( vedi NCO_tutorial in questo sito). I due byte che definiscono la parola FWORD sono caricati nei registri NCOxINCH e NCOxINCL relativi alla periferica NCO. Il segnale di ingresso al blocco NCO può provenire da diverse sorgenti sia interne che esterne. Se si sceglie come sorgente un segnale esterno di frequenza Fext applicato al pin RA1 del micro opportunamente configurato come ingresso per il blocco NCO, allora Fout e' il valore della frequenza Fext diviso la quantità' N cosi definita: N= (2^21) / FWORD allora Fout si può scrivere: Fout = Fext /N Quindi operativamente, fissato il valore N, si ricava il valore di FWORD espresso come parola digitale a 16 bit e lo si carica nei registri di incremento. Per esempio, se vogliamo dividere per la quantità N= 100 allora il valore di FWORD e': FWORD = 2097152 / 100 = 20971d che, espresso come parola digitale in formato esadecimale a 16 bit, diventa: FWORD ( h) = 51EBh Scrivendo questo valore nei
registri NCOxINCH e NCOxINCL del
blocco NCO otterremo nel pin di uscita
il nostro segnale con frequenza ridotta dal fattore N.
Essendo FWORD una parola a 16 bit ( massimo valore 65535) il valore di N può assumere valori continui compresi tra 32 a 2097152. |
|
||
|
|||
|