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:

FOSC Freq min ( Hz) Freq max (kHz) Step MSB /LSB (Hz)
16 MHz 7,629 500 1953 / 7.629
8 MHz 3,814 250 976,5 / 3,814
4 MHz   125  
2 MHz   62.5  
1 MHz   31,250  
500 kHz   15,625  
250 kHz   7,812  
31 kHz      

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)