ECO DIGITALE

Posted in: Elettronica,Pic Micro,Schemi e Progetti |

Introduzione

Salve.
Un mese fa circa, sempre sulle pagine di questo sito, vi ho parlato di alcune mie prove fatte col 16F1705, che per le sue dimensioni e per le sue potenzialità ho definito “il piccolo gigante”. Non poteva non esserci un seguito, quindi, adesso desidero tornare sull’argomento per illustrarvi alcuni ampliamenti al progetto precedente, che lo rendono ancora più accattivante.
Infatti, oltre all’attivazione del DAC che abbiamo già visto, attivando anche l’interfaccia SPI e l’ADC del pic, e con l’aggiunta di una memoria esterna di tipo SRAM, è stato possibile ottenere un “Eco digitale”.

Descrizione

In poche parole, un segnale audio inviato all’ingresso dell’ADC del pic, viene campionato e memorizzato nella SRAM esterna, e successivamente dopo un tempo prefissato, riletto dalla SRAM per essere inoltrato al DAC del pic, ottenendo in questo modo una riproduzione del segnale precedentemente registrato, traslato nel tempo con un ritardo impostabile.

L’effetto finale, per tempi inferiori a 100mS, potrebbe risultare anche gradevole. Per darvi un’idea di cosa si ascolta, ho inviato ad un amplificatore sia il segnale diretto sia quello ritardato, e qui potete ascoltare il file audio che ho registrato, dove ogni dieci secondi noterete un incremento del tempo di ritardo.

All’inizio della registrazione il ritardo è di 11 mS, mentre alla fine di 165 mS circa. Non sono andato oltre con la registrazione, anche se con la memoria usata il ritardo massimo ottenibile e di 3 sec circa, e con tali valori non si ascolta più un eco ma due fonti sonore distinte contemporaneamente.

Col diagramma di flusso che segue, intendo illustrarvi ciò che accade ai dati durante l’elaborazione.
Ovviamente maggiore sarà la porzione di memoria utilizzata, maggiore sarà il tempo di ritardo dell’eco.

EcoDiagramma

Una piccola curiosità, collegando con una resistenza da 10 Kohm circa, l’uscita del DAC con l’ingresso del ADC, si realizza un anello chiuso, ottenendo in questo modo più echi che si susseguono l’un l’altro che si affievoliscono fino ad annullarsi.

Fin qui per grandi linee le caratteristiche di funzionamento del circuito, che potete osservare nella figura che segue, dove ho inserito qualche riferimento in più per renderlo maggiormente leggibile. I due pulsanti se premuti, incrementano o decrementano il tempo di ritardo con step di 11 mS, mentre il led segnala col suo impulso luminoso l’avvenuta variazione. Infine in basso a destra il connettore per la programmazione del pic in modalità ICSP.

EcoSch

Nella foto che segue è visibile il PCB, che ho eseguito evidentemente con metodi tradizionali. Se il PCB non è venuto più ingarbugliato di quanto lo è già, non è stato per merito mio, ma per merito di una interfaccia che non conoscevo e che si chiama PPS “peripheral pin select”.

EcoPcbComp

EcoPcbRame

Attivando questa interfaccia, mi è stato possibile infatti, assegnare un qualunque pin del pic, ad una qualunque interfaccia interna del pic. In questo modo, durante la fase di realizzazione del PCB, per evitare degli incroci o ingarbugliamenti con le piste di collegamento tra pic e SRAM, è stato possibile assegnare ad un pin piuttosto che ad un’altro, il collegamento alla periferica SPI, al DAC e all’ ADC del pic.
Anche se potrebbe sembrarlo, non è affatto complicato gestire la PPS del pic, e per ulteriori approfondimenti vi invito a leggere il datasheet del pic in questione.

Voglio precisare che la fedeltà dell’audio riprodotto è buona. Anche se ogni campione è di 8 bit e la frequenza di campionamento si aggira intorno ai 25 KHz, il segnale è perfettamente intellegibile.

Non escludo la possibilità di far lavorare la SPI con un clock maggiore, al fine di aumentare la frequenza di campionamento, o di usare un ADC ed un DAC a 16 bit, al fine di ottenere una qualità audio migliore. Ma questo mio scritto vuole essere solo uno stimolo ed uno spunto per chi volesse cimentarsi in progetti più complessi ed elaborati.

Clicca qui per il file asm
Clicca qui per il file hex

Buon divertimento.
Saluti.

Francesco.
it9dpx
#135

(Articolo visitato: 1.606)

Lascia un Commento!