Esercitazione : CONVERTITORE A/D Strumenti utilizzati Strumento Marca e modello Caratteristiche Alimentatore Scheda ALTERA Fotocamera digitale Topward electronics TPS- 4000 ALTERA Max EPM7128SLC84-15 Olympus C-40 zoom Alimentatore stabilizzato con tensione variabile 0 20 V su due canali accoppiabili ALTERA University Program Fotocamera digitale con sensore 4 Mpixel Descrizione sintetica degli obiettivi - Realizzazione di un convertitore analogico digitale dal software MAX Plus II. Con tale progetto sarà possibile visualizzare su un display luminoso, un valore di tensione variabile attraverso un potenziometro. - Utilizzo del blocco logico in un file.gdf necessario per la decodifica. - Simulazione attraverso il tool Waveform di MAX Plus II. - Download del firmware sulla scheda ALTERA Max EPM7128SLC84-15. 1 Piattaforma elettronica 1.1 Struttura digitale T analogico IN ELABORAZIONE OUT analogico A/D (DSP/FPGA/FPAA) D/A Page 1 of 7
1.2 Struttura A/D 2 Sistema completo 2.1 Struttura CLK Base Tempi Delay DATA OUT Serial 2 Parallel 8 Latch 8 Count Display Praticamente si vuole ottenere una struttura di onde come quelle in figura al fine di far funzionare correttamente il convertitore: Page 2 of 7
3 Schema progetto 3.1 Schema totale 3.2 Descrizione vari sottoblocchi Blocco BASETEMPI: Si parte da una frequenza di Global Clock presente internamente alla scheda ALTERA di circa 25MHz e attraverso una serie di flip-flop si arriva alla frequenza di 10KHz utilizzata come. Il segnale ncs, che fungeva come da protocollo per il funzionamento del convertitore, viene ottenuto attraverso una divisione in frequenza del segnale di 10KHz. Blocco SER2PAR: DATA_OUT corrisponde alla successione logica di 8 bit che codificano il segnale analogico in ingresso. Tale successione di valori viene shiftata ad ogni colpo di clock dell e in questo modo è possibile prelevare ogni singolo valore sapendo che il primo bit inviato dal convertitore AD rappresenta il MSB. Page 3 of 7
Blocco LATCH: Tale blocco LATCH risulta indispensabile siccome occorre poter immagazzinare i valori parallelizzati dal blocco logico precedente. Sono stati utilizzato 8 flip-flop di tipo D tutti bloccati dal medesimo segnale ovvero ncs. I segnali di uscita sono stati per comodità inseriti in un bus e la loro spedizione avveniva quando lo stato logico del segnale ncs risultava essere alto. Volendo i segnali di uscita potevano anche essere presi singolarmente e creare quindi un blocco con 8 output; tale operazione è stata eseguita successivamente quando si è iniziato ad affrontare il problema della decodifica dove per semplificare il progetto, venivano ignorati i due segnali meno significativi Page 4 of 7
Blocco COUNT: Per decodificare il segnale in uscita dal blocco di LATCH, è stata fatta una approssimazione che ha portato a trascurare i due bit meno significativi. Si è passati in questo modo da un segnale a 8 bit (256 combinazioni) ad un segnale a 6 bit (64 combinazioni possibili). Per problemi di tempo è stata eseguita solo la decodifica del primo display ovvero solamente delle unità di Volt ignorando quelle dei decimi di Volt. Per il momento la decodifica delle unità non avveniva del tutto correttamente in quanto bisognava cercare di spalmare al meglio tutti i 6 bit sul range ricoperto dal segnale analogico in ingresso ovvero 5 Volt. Infatti il blocco COUNT era in grado di visualizzare anche oltre i reali 5 V (arrivava esattamente sino a 6.3V) proprio per il motivo precedentemente descritto. Page 5 of 7
4 Prova al banco 4.1 Verifica con l oscilloscopio Una prima verifica è stata quella di osservare il corretto funzionamento di tutti i singoli blocchi precedentemente implementati attraverso MAX Plus II, sulla scheda ALTERA. Si è verificata la correttezza del blocco che doveva effettuare la divisione in frequenza e in più si è osservato se il segnale in uscita dal convertitore rispettava le specifiche fisiche imposte. Infatti si voleva che tale convertitore a 8 bit, lavorasse con segnali analogici (imposti tramite l utilizzo di un potenziometro da 1KΩ) in un range di 0 5 V. Tutti i bit a 1 -> 11111111 Tutti i bit a 0 -> 00000000 Codifica in bit di 10100110 DATA OUT DATA OUT DATA OUT ncs ncs ncs 4.2 Verifica funzionamento LATCH Per verificare il corretto funzionamento del blocco LATCH, si è utilizzato il tool Waveform dove sono stati distribuiti i vari ingressi e le varie uscite del progetto. Il segnale DATA_OUT rappresentante la stringa di valori logici seriali, è stato fissato manualmente al valore in binario 10000000 corrispondente in decimale a 128. Tale valore è stato comunque fissato solamente nell istante in cui il livello logico del segnale ncs risultava basso. E possibile osservare che lo shiftamento del MSB avviene correttamente nella successione di flip-flop che compongono il blocco SER2PAR. Anche il blocco di LATCH, non appena lo stato logico di ncs varia, memorizza, per la intera durata di 8 colpi di clock, il valore numerico in uscita dal blocco SER2PAR. Page 6 of 7
4.3 Download firmware Prima di scaricare il firmware, si è dovuta apportare una leggera modifica al circuito per un semplice motivo dettato dal fatto che, nella scheda ALTERA Max EPM7128SLC84-15, il pilotaggio dei led (rappresentanti le uscite), avviene in pull-up. Ciò significa che per accendere il led, occorre un segnale a livello logico basso ovvero a 0 e non a 1. Una volta alimentata la scheda a +9V, si è passati alla fase di scaricamento del firmware attraverso il cavo di interfaccia opportunamente collegata con il PC attraverso la porta parallela. Anche in questa fase occorre però alimentare la scheda ad una tensione continua di +9V. Onde evitare sbalzi di tensione tali da poter danneggiare la scheda, occorre ricordare sempre di collegare tutti i cavi, prima di alimentare il tutto. Page 7 of 7