NCO sostituisce PLL
Salve,
durante l’estate scorsa ho riparato un vecchio apparato per le HF, sostituendo
uno dei suoi PLL in avaria con un generatore DDS. Poiché, a mio avviso tale
soluzione si adatta molto bene a tutti quei casi in cui occorre uno specifico
riferimento di frequenza e non si riesce a trovare il quarzo del valore
desiderato, ho deciso di parlarvene attraverso le pagine della nostra rivista,
nell’eventualità potesse fare anche al caso vostro.
Come
dicevo, si tratta di un generatore di segnali sinusoidali che può sostituire un
qualunque oscillatore a PLL oppure quarzato. Questo lavoro di ricerca e
sperimentazione ha avuto inizio quando mi si è presentato il problema di dover
sostituire un introvabile integrato PLL sul transceiver IC-M600 della ICOM. Tale
circuito, incaricato di generare le due sottoportanti per le bande laterali LSB
ed USB, in effetti, potrebbe essere sostituito più agevolmente da un
oscillatore di Miller quarzato; ma anche qui, non sono riuscito a superare lo
scoglio della irreperibilità dei quarzi in questione, il cui valore sarebbe
dovuto essere di 9.010,3 Khz e 9.013,3 Khz.
Abbandonata
anche questa idea ho iniziato a sperimentare o per meglio dire a giocare con un
fantastico integrato prodotto dalla Analog-Device, la cui sigla è AD-9835. Si
tratta di un generatore DDS, cioè a “Sintesi Diretta Digitale”,
all’interno del quale vi è un NCO, cioè un “Oscillatore a Controllo
Numerico”, per il cui funzionamento non sono utilizzati circuiti LC. Il tutto
funziona anche in modo abbastanza semplice: un segale sinusoidale è registrato
sotto forma di 4096 campioni con una risoluzione di 10 bit su una ROM interna,
la quale viene letta con cadenza regolare ed a passi prestabiliti, in modo che
attraverso un convertitore Digitale-Analogico, seguito da un opportuno filtro
passa basso, sia riprodotta una perfetta sinusoide alla frequenza desiderata con
una risoluzione di 1 hz. (incredibile ma vero)
La fig.1 spero possa essere più chiara di quanto lo sono stato io a parole, dove la sinusoide verde rappresenta tutti i campioni registrati sulla ROM, mentre la sinusoide rossa è riprodotta dalla lettura dei soli punti evidenziati in rosso e la sinusoide blu con step diverso della precedente, dalla lettura dei soli punti evidenziati in blu.
Un
altro aspetto molto interessante, riguarda il clock di riferimento del DDS, che
può assumere qualsiasi valore, purché sia almeno il triplo della più alta
frequenza da generare. Nel mio caso quindi, anche un valore di riferimento
intorno ai 30 Mhz sarebbe andato bene lo stesso, ma con un leggero peggioramento
della qualità del segnale riprodotto. Eventualmente ciò avrebbe comportato
solamente una leggera modifica all’algoritmo del PIC, dove il nuovo valore
avrebbe sostituito i 50 Mhz da me adottati, valore massimo consigliato dalla
Analog-Device per questo tipo di chip. Più flessibile ed adattabile di così,
non credo ci sia nessun altra cosa.
Naturalmente,
la spiegazione che ho dato prima non si può definire neppure sommaria, però se
volete approfondire l’argomento per capire nei dettagli i vari aspetti legati
alla generazione del segnale sinusoidale, vi suggerisco di scaricare presso il
sito della Analog-Device il data-sheet dell’integrato, che ho trovato molto
esauriente ed esplicativo soprattutto per la stesura del software per eventuali
altri microcontrollori o CPU.
Ebbene, anche in questo progetto chi gestisce tutto è il solito PIC, in questo caso l’onnipresente 16F84 della Microchip, a cui è affidato il compito di leggere lo stato del deviatore, in funzione del quale produce la sequenza opportuna dei segnali di clock, data e sync, da inviare al DDS per istruirlo sul valore di frequenza da generare.
Dato che non ci sono punti di taratura di nessun genere, non credo sia necessario aggiungere altro, occorre soltanto alimentare il circuito con una tensione continua stabilizzata di 5V e munire il DDS di un piccolo dissipatore termico. Siate molto cauti nel montaggio del DDS, reperibile purtroppo solo in contenitore TSSOP, le cui ridottissime dimensioni non facilitano certo tale operazione. In fig.2, sono visibili le dimensioni dell’integrato ed in fig.3 la soluzione da me adottata per il suo montaggio, che consiste nell’aver preparato un circuito stampato su vetronite per il solo DDS, che fa da supporto per il montaggio successivo su un’altra basetta, oppure come ho fatto io su una millefori, vedi fig.3.
Per il software che ho messo a punto da trasferire sul PIC non ci sono problemi, richiedetemene una copia e ve lo spedirò volentieri già predisposto coi valori di frequenza che desiderate. Un cordiale saluto a tutti e buon divertimento.
IT9DPX - #135 (Francesco M.)