|
|||||||||||||||||||||||||||||||||||||
DIGITAL VCO - 2 |
|||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
Caratteristiche del segnale VCO Il segnale generato in uscita del VCO e' un segnale ad onda quadra con duty cycle al 50% e con ampiezza pari al valore della tensione di alimentazione. La stabilità della frequenza del segnale generato, al variare della temperatura e della tensione, e' la stessa stabilita dell'oscillatore interno garantita nel datasheet e la sua precisione e' garantita dalla taratura di fabbrica dell'oscillatore. Come accennato, la sorgente del clock del blocco NCO può essere il clock di sistema FOSC che possiamo selezionare tra i seguenti valori,: 16 MHz, 8 MHz, 4 MHz, 1MHz, 500 kHz, 250 kHz, 31kHz. Questo fa si che, per ogni valore di FOSC, possiamo avere diversi range di generazione del VCO come mostrato dalla tabella seguente:
Quindi a seconda del range di lavoro e dello step associato alle tensioni di controllo VMSB e VLSB si può scegliere la frequenza FOSC opportuna. Facendo qualche conto possiamo scrivere la formula generale del nostro VCO che esprime il valore della frequenza in funzione dei valori delle tensioni di controllo VMSB e VLSB. La conversione ADC delle due tensioni di controllo VMSB e VLSB e' data dalle formule : ADC_VMSB = 255* VMSB/ VDD ADC_VLSB = 255* VLSB/ VDD ricordando che questi valori derivanti dalla conversione ADC sono caricati nei registri di incremento che definiscono la parola FWORD a 16 bit, ovvero: FWORD = NCOxINCH,NCOxINCL che si può scrivere in notazione decimale pari a FWORD = (255/VDD)( VMSB *256 + VLSB) ( un numero a 16 bit ( msb,lsb) equivale ad un decimale pari a msb*256 + lsb) riprendendo la formula che definisce la frequenza Fout del segnale del segnale VCO possiamo scrivere: Fout = FOSC * [(255/VDD)( VMSB *256 + VLSB)] / (2^21) Posto VDD = 5V e FOSC= 16MHz allora la formula si può riscrivere : Fout = (FOSC /1000) * ( 6,225 *VMSB + 0.025 * VLSB) Come si vede dalla formula trovata si ha una dipendenza dalla tensione di alimentazione. Questo conferma che la VDD deve essere molto stabile. In realtà, se la VMSB e la VLSB sono partizioni della VDD, per esempio, come faremo nel nostro progetto, generati tramite un potenziometro, la dipendenza da VDD scompare perché VMSB e VLSB si possono scrivere come : VMSB = p1 VDD VLSB = p2 VDD per cui la formula finale si può riscrivere come: Fout = FOSC * [255*(p1*256 + p2)] / (2^21) Fout = (FOSC /1000) * ( 31,128*p1 + 0.121*p2)
|
|
||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
|