Generatore di segnali a frequenza variabile - 6



Montaggio

In figura 2a e 2b sono riportati il circuito stampato lato-rame e lato-componenti del riproduttore. Il circuito può essere parte integrante di progetti più grandi e complicati quindi il circuito stampato è utilizzabile per la realizzazione del solo generatore.

Figura 2: Circuito stampato del generatore a) lato rame e b) lato componenti

Tutti coloro che hanno realizzato e/o hanno visionato il progetto relativo al riproduttore di suonerie noteranno che lo schema elettrico del generatore è praticamente uguale a quello del riproduttore. L’unica differenza sta nel pin d’uscita del micro che nel caso del riproduttore è il RB7 (pin 13 del pic) mentre nel generatore è il RB3 (pin 9) e nell’assenza dei diodi led. Questo suggerisce di poter riutilizzare il pcb del riproduttore realizzando un ponticello tra il pin 9 e il pin 13 essendo questo disattivo per il progetto del generatore.

Taratura

La taratura del circuito deve essere fatta in due fasi: taratura in frequenza e controllo delle forme d’onda. Per la prima fase è necessario utilizzare un frequenzimetro. Dopo aver collegato il probe del frequenzimetro sul pin 15 del micro, mediante un cacciavite per RF, bisogna agire su C4 ruotandolo in modo da leggere la frequenza del quarzo utilizzato più vicina al suo valore nominale. Se per qualche motivo non si riesca ad accentrare il valore del quarzo, si può cambiare i valori di C3 o C4. Per verificare l’esattezza dello SPLIT premendo UP/DOWM dovreste trovare un valore maggiore/minore di frequenza rispetto a quel letto prima del pressione sul tasto.
Per la taratura della forma d’onda bisogna collegare un oscilloscopio al pin d’uscita del circuito e visualizzare le varie forme d’onda per verificarne ampiezza, forma e frequenza. Vista la bassa frequenza di lavoro è possibile utilizzare i tanti oscilloscopi realizzati mediante il PC con scheda audio presente in rete avendo cura di interporre tra il probe dell’oscilloscopio e l’uscita del circuito buffer di tensione (realizzato per esempio con uno stadio del LM324 o simili).

La forma d’onda "custom" e le costanti del circuito

Come detto prima è possibile caricare una forma d’onda custom ovvero definita dall’utente. Per esempio si può pensare di generare un segnale con andamento randomico (per esempio rumore bianco, oppure segnali impulsivi spike), segnali video ecc, segnali di trigger e cosi via. La mappatura di questo segnale è fatta sul codice in 256 punti con quantizzazione dei campioni a 8 bit..Per inserire i valori relativi alla forma custom bisogna intervenire direttamente sul file sigen.hex relativo al progetto e cambiare i valori che vanno dalla locazione 500h a 5FFh mediante un programma come icprog che permette di editare il file hex. Il valore da inserire nel file hex è 34xx dove xx è il valore in esadecimale del campione del segnale. Per default, come forma d’onda custom, e’ mappato un segnale costante alla tensione di 2,5 V.

Definizioni delle costanti

Per funzionamento del circuito è necessario definire delle costanti che possono essere cambiate intervenendo sul file sigen.hex in determinate locazioni. Le costanti da definire sono: SPLIT e INI che definiscono rispettivamente lo step di incremento/decremento della frequenza per ogni operazione di UP/DWN e la frequenza del segnale allo start up del circuito.
Le locazioni relative alla costante INI sono: 77h e 79h. Il valore da mettere è: 30xx dove xx è il valore esadecimale della costante. (77h per la MSb e 79h per la LSb di INI)
Le locazioni relative alla costante SPLIT sono: 7Bh e 7Dh. Il valore da mettere è: 30xx dove xx è il valore esadecimale della costante. (7Bh per la MSb e 7Dh per la LSb di SPLIT).
Nel riquadro successivo è mostrato come calcolare i valori di INI e SPLIT per una frequenza iniziale di 1000 Hz e uno split di 100 Hz ( valori di default)

Esempio della definizione di INI e SPLIT

Fissati XTAL =20 MHz; N=8, Ncycle =191 => CLK = 25.906 KHz;

STEP = 0.4 Hz:

Vogliamo che il valore iniziale di Fo sia 1 KHz e ∆Fo = 100 Hz.
Utilizzando le formule della prima sezione si ha:

1) Fo = INI* STEP => 1000 = FCW * .4

2) INI =Fo / STEP = 1000 / .4= 2500

3) Convertiamo in hex INI = 9C4

4) Scrivere 3009 nella locazione 77h

5) Scrivere 30C4 nella locazione 79h

Per il calcolo di SPLIT si procede così:

1) ∆Fo = SPLIT * STEP => 100 = SPLIT * .4;

2) SPLIT = 100 / .4 = 250

3) Convertiamo in hex SPLIT = FAh =>

4) Scrivere 3000 nella locazione 7Bh

5) Scrivere 30FA nella locazione 7Dh