IL MODULO NCO: OSCILLATORE A CONTROLLO NUMERICO

 


INTRODUZIONE

Il modulo NCO (Numerically Controlled Oscillator) acronimo in inglese di Numerically Controlled Oscillator ovvero oscillatore controllato numericamente e’ un timer che usa l’overflow di un accumulatore per generare un segnale di uscita. L’overflow dell’accumulatore è controllato da un valore d’incremento aggiustabile piuttosto da un singolo impulso di clock o dall’uscita da un postscaler. Questo offre un vantaggio in più rispetto a un semplice timer basato su un contatore nel quale la risoluzione varia se con i valori prestabiliti del pre- postscaler. Il modulo NCO è molto utile per tutte quelle applicazioni che richiedono accuratezza della frequenza e risoluzione fine a un valore fissato del duty cycle. Il modulo NCO presente nei microcontrollori della Microchip ha le seguenti funzioni:

·       Parola di incremento a 16-bit

·       Modalità FDC (Fixed Duty Cycle) ovvero si generano segnali con duty cycle fisso al 50%

·       Modalità PF (Pulse Frequency) ovvero si generano un impulso di durata variabile

·       Controllo della larghezza dell’impulso di uscita in modalità PF

·       Selezione di diverse sorgenti interne di clock;

·       Controllo della polarità del segnale di uscita;

·        Generazione di interrupt interno;

In figura lo schema a blocchi del modulo NCO.


 

Il funzionamento del modulo NCO è il seguente: ad ogni colpo di clock, proveniente dalla sorgente selezionata, il valore della parola di incremento è sommato ad un accumulatore. Quando l'accumulatore va in overflow allora l'uscita del NCO cambia stato. L’accumulatore andrà in overflow con una periodicità che è esattamente l’uscita del modulo NCO. Questo riduce The accumulator will overflow with a carry periodically, which is the raw NCOx output. This effectively reduces the input clock by the ratio of the addition value to the maximum accumulator value

L’uscita del modulo NCOx può essere smistata all’intero del micro come ingresso per altre periferiche (per esempio il modulo CWG o CLC) o reindirizzata ad un altro pin di I/O diverso da quello predefinito. La frequenza dell’overflow del accumulatore e quindi dell’uscita dell’uscita del modulo NCO è definita dalla seguente formula: