Generatore di frequenza  DDS - 3



Funzionamento del circuito

Il funzionamento interno del circuito è molto semplice: il uP implementa un accumulatore di fase a 16 bit. Il bit 15 dell’uscita viene portato fuori in corrispondenza del pin RB7 della porta B che rappresenta l’uscita. In cascata e’ applicato un filtro LPF (Low Pass Filter) che elimina le componenti in frequenza non desiderate.
Visto dall’esterno il circuito genererà un onda quadra con frequenza definita dai valori iniziali fissati nel programma. Premendo il tasto UP/DWN, la frequenza aumenterà/diminuirà di una quantità ∆Fo settabile all’interno del programma e dipendente dal valore del quarzo XTAL.
In dettaglio, quando il tasto UP (DWM) è premuto il pin RB1 (RB2) della PORTB è forzato a GND essendo questo normalmente a vdd. Contemporaneamente, in virtù della presenza del diodo D1 (D2) il pin RBO è messo a gnd scatenando un interrupt settato con il fronte di discesa di RB0. Il diodo D1 (D2) è connesso in modo da far passare il fronte di discesa del pin RB1 (RB2) su RB0. Internamente s’incrementa (decrementa) la variabile che definisce il valore della frequenza in uscita e ripartirà la generazione con il nuovo valore di frequenza.

Dimensionamento del filtro LPF

Il dimensionamento del filtro LPF formato da R5 e C6 va fatto in relazione alla frequenza massima in uscita e quindi in relazione a XTAL. Per XTAL =4 MHz si e’ scelto R5 = 1 kW e C6 = 3.3 nF per avere una frequenza di taglio pari alla massima frequenza di uscita che e’ in questo caso:

Fclk / 2 = [ XTAL / (4*10)] / 2 = 50kHz.

Se si raddoppia XTAL allora raddoppia la frequenza di uscita e deve dimezzarsi C6.In generale, avendo fissato R5 = 1 kW, la formula e’:

C6 = 3.3* 4 / XTAL

Il valore di C6 e' espresso in nF mentre XTAL in MHz.