Home
Documento PDF - Università degli Studi di Padova
Contents
1. 136 WRITE3 begin 137 start_wb_cyc lt l b0 138 if got_ack 139 state lt WRITE4 140 else 141 state lt WRITE3 142 end 143 144 LEGGO LO STATUS REGISTER in attesa del TIP 145 WRITE4 begin 146 add_reg lt SR 147 w_rn lt l b0 148 start_wb_cyc lt l bl 149 state lt WRITE5 150 end 151 152 WRITE5 begin 153 start_wb_cyc lt l b0 154 if got_ack begin 155 data_i lt wb_dat_i 156 state lt WRITE6 157 end 158 else 159 state lt WRITE5 160 161 162 163 164 165 166 167 168 169 170 EH 172 173 174 IS 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione end WRITE6 begin if data_i 1 if data_i 7 state lt WRITE7 else state lt STOP_ERR1 else state lt WRITE4 end SCRIVO IL DATO NEL TRANSMIT REGISTER WRITE7 begin add_reg lt TXR data_o lt amp_value worn lt l bl start_wb_cyc lt l bl state lt WRITE8 end WRITE8 begin start_wb_cyc lt 1 b0 1f got_ack sta
2. stata dettata principalmente dalla necessit di far ritornare all occorrenza il sistema a una condizione precedente in maniera rapida Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione Il funzionamento di questo controller non infatti lineare poich complicato notevolmente dal frequente inserimento di istruzioni condizionali che costringono il sistema a saltare da uno stato ad un altro processi di questo tipo diventerebbero ingestibili se non si utilizzasse l approccio della macchina a stati 3 5 1 OpenCores 1 C Controller Si tratta di un modulo generico per la gestione del protocollo 1 C nel progetto del polarizzatore molte delle funzionalit di cui dotato non sono state sfruttate nel nostro caso l operazione che ci interessa eseguire nell ambito del bus 1 C solamente la scrittura Infatti richiamando quanto detto nei capitoli precedenti l FPGA non deve far altro che scrivere nel chip HV892 un valore AMP di dimensione 1 byte proporzionale all ampiezza dell onda quadra generata in uscita a tutto il sistema Pertanto almeno in questa prima fase di prototipo non c la necessit di effettuare letture dallo slave 1 C Il funzionamento del modulo 1 C Master basato su macchine a stati finiti ed implementato a pi livelli di astrazione crescente Questo si pu constatare notando che la entity i2c_master_top v dotata di altri due moduli annidati che svolgono funzion
3. Questa entity si occupa della proiezione sul display delle informazioni sullo stato del sistema pi articolata perch contiene a sua volta diversi moduli e un driver che provvede ad inizializzare e pilotare il display e un rallentatore di clock specifico per il display e un codificatore di stringhe Il driver il nucleo di questa entity quello che continua DISPLAY LCD_top v Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione effettivamente comunica con il display il rallentatore di clock necessario poich si tratta di un LCD economico a basse prestazioni e non sarebbe in grado di funzionare ad una frequenza elevata come quella dell oscillatore interno alla board che lavora a 50MHz Il codificatore di stringhe la entity che si occupa di tradurre il dato che voglio visualizzare in una forma compatibile con l input del driver per svolgere questa operazione ci si serve anche di un convertitore binario BCD che consente di gestire agevolmente le singole cifre di un numero decimale Questa sezione del codice adibita alla decodifica e alla corretta interpretazione dei segnali di input provenienti dai pin fisici dello switch a ruota In aggiunta al modulo principale che deve rilevare le rotazioni e stabilire se siano orarie antiorarie oppure se la ruota sia stata INTERFACCIA premuta al centro sono presenti altre caratteristiche knob_interface v prima di
4. e CG RAM 2 Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione DD RAM Display Data Ram Questa memoria contiene 80 locazioni individuate ciascuna da un indirizzo esadecimale ognuna di esse contiene un carattere del display tuttavia soltanto 32 degli 80 totali vengono visualizzati Gli altri vengono tenuti in memoria e possono comparire ad esempio qualora si effettui uno scorrimento del testo in particolare la prima linea del display visualizza i caratteri contenuti nelle locazioni da 00 a OF mentre la seconda da 40 a 4F a 27 A 67 40 CG ROM Character Generator Rom Si tratta di una memoria in sola lettura che contiene la mappatura di tutti i possibili caratteri visualizzabili a display ni le Come mostrato in figura quando si vuole THAT ogpoooo Ee n n Li RI i visualizzare un determinato carattere nel bt g diood aol display non occorre far altro che eseguire 444 T TET F a Ei l algoritmo di scrittura caricando il codice u001 binario a 8 bit del simbolo nella locazione di u09040 memoria DDRAM desiderata ERE Ad esempio se voglio visualizzare il simbolo 0101 UA s a in basso a destra nel display vado a og J 33559 play suore E EFUIF scrivere l indirizzo relativo a tale simbolo cio si 0111 01000000 nella locazione di memoria f se DOO DDRAM 4P Fx 1001 Fax 1010 Aa 17 MX XK 1100 xxxx 1101 HKHX 111710 x
5. end de begin if GenBusy state lt 1 else state lt 2 end 23 begin LCDUpdate lt 1 Refresh lt 0 if LCDACckK 1 begin state lt 3 LCDUpdate lt 0 end else state lt 2 end SE begin if LCDACcK 0 state lt 0 else state lt 3 end default state lt 0 endcase endmodule Nella testa del codice si possono individuare tre moduli che vengono istanziati LCDCIock LCDStringGen ed LCDDriver Modulo LCDClock Contiene un divisore di clock strutturalmente uguale a quello utilizzato per il sistema antirimbalzo La sua presenza necessaria per il corretto funzionamento del display infatti nei capitoli precedenti si era fatto presente che I LCD in dotazione alla Spartan fosse molto lento e che pertanto non sarebbe stato in grado di sostenere direttamente la velocit dell oscillatore di sistema In fase di progettazione si scelto di dividere il clock utilizzando un contatore a 11 bit valori pi elevati sarebbero stati un inutile dispendio di prestazioni mentre per valori pi bassi si era constatato un funzionamento scorretto del display dato che la stessa inizializzazione non aveva SUCccCesso Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione Modulo LCDStringGen Tale generatore di stringhe ha lo scopo di preparare il dato per essere inviato al display nel formato idoneo le operazioni che svolge sono le seguenti 1 Converte il valore binario
6. Master quel blocco che in relazione alle esigenze del progetto comanda e coordina tutti i compiti da svolgere in termini specifici lo Slave in grado di realizzare le singole scritture e letture nel bus 1 C mentre il Master opera a un livello pi alto scegliendo in quale ordine e in quale momento tali operazioni debbano essere eseguite Come gi precisato pi volte il funzionamento del polarizzatore in versione prototipo prevede che l unica operazione da effettuare nel bus 1 C sia quella di trasmettere il valore di AMP nel dispositivo 1 C Slave Supertex HV892 Quindi il Wishbone Master deve semplicemente scrivere il valore AMP nel Wishbone Slave provvedendo a trasmetterlo nuovamente ogni qualvolta il suo valore venga modificato dall input dell utente Input Generazione Wishbone Wishbone utente AMP Master Slave Fig 3 14 Schema a blocchi del sistema Come evidenziato dalla fig 3 14 nello schema a blocchi complessivo del sistema non sono previste frecce di ritorno cio letture dal dispositivo 1 C Slave Il codice Verilog che realizza il modulo Wishbone Master il seguente Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione include timescale v include define v IISAASASSATAESLIFITSAPLIIATSSATSIILTTALIPISEISAOTTDRISTLATPICISLILISALISLVISLATILASTSALTA CONTROLLER Funziona da wishbone master nei confronti del modulo i2c_master_ top che il wis
7. analizzandolo per prima cosa a scatola chiusa possibile farsi un idea del suo compito e del comportamento che ha Dichiarazione Verilog knob_interface module knob_interface input ROTA CLOCK AMP 7 0 input ROTB MODE input ROTC RESET input MODE ROTA input RESET ROTB input CLOCK ROTC ___ REFRESH output 7 0 AMP output REFRESH INTERFACE Il modulo knob_interface riceve in ingresso 4 input provenienti da pin dell FPGA associati a switch meccanici MODE corrisponde allo switch a scorrimento SWO che consente di selezionare tra la modalit di funzionamento continua oppure a 2 livelli come verr successivamente spiegato ROTA ROTB sono i segnali provenienti dalla manopola girevole e sono direttamente dipendenti dalla rotazione della stessa ROTC proviene anch esso dalla ruota e indica se questa stata premuta al centro oppure no mentre all uscita ci sono soltanto 2 segnali AMP un bus ad 8 bit che pu variare da 0 a 255 vale a dire gli stati che pu assumere il polarizzatore REFRESH tale segnale vale normalmente 0 ad eccezione di quando viene azionato uno degli switch meccanici poich si genera un impulso strobe che viene poi propagato a tutti i blocchi logici successivi affinch possano aggiornare il proprio stato ad esempio ogni volta che si rinnova il valore di AMP si genera uno strobe che permette al display di aggiornare il valore visualizzato Scendendo di un
8. caso tuttavia la radiazione riflessa che si ottiene polarizzata perpendicolarmente alla superficie di passaggio da osservare che i due fenomeni appena descritti polarizzazione per riflessione e rifrazione sono stati riportati solo allo scopo di accennare quali possono essere le fonti naturali di luce polarizzata dovendo progettare un filtro le soluzioni in trasmissione sono senza dubbio preferibili sia per la loro comodit che per la maggiore efficacia polarizzante La luce riflessa oppure rifratta infatti presenta solitamente un certo grado di polarizzazione che tuttavia non elevato come nel caso di un filtro trasmissivo appositamente studiato Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione 4 2 Cristalli liquidi Nel progetto del polarizzatore elettronico viene impiegato un filtro trasmissivo di tipo attivo che si basa sulla tecnologia LCD Con il termine cristalli liquidi si indicano dei composti organici dotati di propriet fisiche particolari la definizione stessa suggerisce che essi presentino caratteristiche appartenenti ad ambedue gli stati solido e liquido al punto che viene loro attribuito uno stadio intermedio tra questi detto mesofase Questi materiali sono formati da molecole ellissoidali la cui disposizione pur essendo vincolata ad un certo ordine geometrico come avviene nei solidi cristallini permette comunque un certo grado di libert spaziale delle molecole ad
9. di dimensioni molto ridotte grazie all utilizzo di un microcontrollore in luogo dell FPGA Tuttavia in questa prima fase di progetto l utilizzo di una evaluation board come quella della Xilinx risultata molto pi conveniente data la flessibilit offerta infatti per prima cosa l operazione di programmazione della Fig 2 1 Xilinx Spartan 3A FPGA tramite USB molto veloce agevolando quindi le operazioni di debug Come ulteriore vantaggio tutto il restante hardware necessario ad esempio gli switch e il display gi presente direttamente sulla board Porte e componenti della Spartan 3A utilizzate FPGA XC35S700A FG484 Oscillatore al quarzo a 50 MHz Porta di download JTAG USB LED Switch a ruota Switch a scorrimento Switch a pulsante Display LCD a 16 caratteri x 2 linee ie e Di seguito vengono analizzate alcune di queste componenti evidenziando le caratteristiche fondamentali i principi di funzionamento i loro limiti e gli accorgimenti che sono stati presi in fase di programmazione per consentirne un uso corretto Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione 2 1 1 XC3S700A O TXILINX SPARTAN XC35700A Informazioni su data D1427722A e lotto di 4C ES livello di velocit TAI WAN Fig 2 2 Xilinx Spartan 3A XC3S700A FPGA 2 1 2 Oscillatore al quarzo La board include un oscillatore al quarzo che opera alla frequ
10. esempio esse sono in grado di ruotare e traslare l una rispetto all altra in seguito a sollecitazioni meccaniche o elettriche Le propriet che tornano pi utili nelle applicazioni ottiche sono senza dubbio l anisotropia elettrica e la possibilit di regolarne l ordine mediante l applicazione di campi magnetici ed elettrici I cristalli liquidi sono classificabili in tre mesofasi 1 NEMATICA le molecole si presentano tutte parallele tra loro ma posate su piani casuali 3 gradi di libert traslazione in x y z 2 SMECTICA le molecole sono ancora parallele tra loro ma posano su piani ben definiti 2 gradi di libert per ogni piano traslazione in x z 3 COLESTEROLICA le molecole sono parallele tra loro a piani alterni 2 gradi di liberta per ogni piano traslazione in x z ANTO Pa tn zanna AN OPERE lito A AAN LAN NE CPF WTA zinin nAn e pp JULU S Eenes SG GIOULOJD O JUH Zotina 1 NEMATICA 2 SMECTICA 3 COLESTEROLICA Fig 4 1 Mesofasi pi comuni dei cristalli liquidi Azione del campo elettrico Le molecole elissoidali dei cristalli liquidi reagiscono all applicazione di un campo elettrico trasformandosi in dipoli indotti con le cariche concentrate alle estremit Il campo elettrico agisce dunque sulle molecole come una coppia di forze e tende ad orientarle con l asse parallelo alle linee di forza Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmission
11. h00 AMP_value lt 8 h00 end end MODE 1 modalit 2 livelli if next 1 amp amp mode 1 begin refresh lt 1 if left 0 amp amp temp_amp 8 h00 begin temp_amp lt STEP1 AMP_value lt STEP1 end if left 0 amp amp temp_amp STEP1 begin temp_amp lt STEP2 AMP_value lt STEP2 end if left amp amp temp_amp STEP2 begin temp_amp lt STEP1 AMP_value lt STEP1 end end else begin if rotc begin refresh lt 1 temp_amp 7 0 lt 8 h00 AMP_value lt 8 h00 end end end Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione 3 3 Approfondimento Wishbone Bus Wishbone un sistema di interconnessione tra pi moduli funzionali detti core appartenenti a uno stesso circuito integrato la sua ideazione risponde all esigenza dei vari progettisti di poter condividere porzioni di descrizione hardware senza difficolt di integrazione e compatibilit La sua applicazione trova particolare utilit nel campo dei dispositivi logici programmabili PLD dove l hardware pu essere condiviso sotto forma di linguaggio descrittivo dell hardware HDL anzich sotto forma di schematici Infatti mentre uno schematico descrive un dispositivo gi a livello fisico e realizzativo un codice HDL Verilog VHDL solo una descrizione comportamentale della funzione che il circuito andr a svolgere e pu essere reso specific
12. il clock dell oscillatore e ridurlo a quello desiderato per la linea SCL vale a dire il clock del bus 1 C Tale calcolo va eseguito in accordo con la formula fornita nelle specifiche del Controller 1 C Ba 1 Clock sistema __ p 5 Frequenza SCL Applicando tale formula al caso specifico del progetto il clock di sistema quello proveniente dall oscillatore al quarzo e vale 50Mhz mentre la frequenza della linea SCL desiderata di 100Kbps come precisato al capitolo 2 Il fattore di prescale risulta pertanto pari a 99peco in alternativa 63pex proprio per consentire una maggiore regolabilit del clock 1 C che il valore di prescale viene memorizzato in due registri anzich uno cos permettere numeri fino a 16 bit TRANSMIT REGISTER il registro utilizzato dal Wishbone Master per trasmettere il valore da scrivere nel Wishbone Slave L accesso consentito solamente in scrittura e pu contenere 1 byte di dati Nel caso in cui si stia inizializzando la connessione con un dispositivo 1 C Slave il byte a disposizione viene utilizzato per comunicare l indirizzo del dispositivo fisico nei primi 7 bit pi significativi mentre il LSB viene sfruttato per indicare se si intender leggere 1 o scrivere 0 nello slave RECEIVE REGISTER In questo registro accessibile in sola lettura viene presentato il byte proveniente dall I C Slave in risposta ad una richiesta di lettura da parte del Wishbone Maste
13. in via di progettazione aumentandone cos le prestazioni Le tecnologie utilizzate la metodologia di assemblaggio ed il costante controllo di produzione garantiscono qualit ed alte perfomance di tutti i prodotti Attraverso le pi moderne tecnologie ottiche elettroniche e meccaniche Adaptica realizza soluzioni opto elettroniche all avanguardia che trovano applicazione nel campo ottico astronomico dell imaging dell automazione e delle misure e delle lavorazioni laser Alcuni dei prodotti di Adaptica Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione IDEA II sistema complessivo realizza un polarizzatore ottico nel corso del tirocinio tuttavia coerentemente con le competenze del corso di studi l attenzione primaria stata rivolta alla parte di controllo elettronico che rappresenta il driver al quale viene connesso successivamente l elemento ottico ossia la cella LCD che fa da polarizzatore vero e proprio Una delle possibili applicazioni del prodotto finale potrebbe essere nell ambito della fotografia in quanto questo polarizzatore potrebbe essere facilmente integrato nelle fotocamere compatte e controllato attraverso il software interno ad esempio tramite un men a video Il progetto stato sviluppato come prototipo allo scopo di validare l idea di base del polarizzatore elettronico questo coincide con la prima fase di progetto del prodotto commerciale che solo uno studio di fa
14. individuabili due grandi moduli controller_top v ed i2c_master_top v e i2c master top il nucleo del controller complessivo in quanto esegue tutte le comunicazioni secondo lo standard 1 C e controller top funziona da master secondo lo standard Wishbone nei confronti della entity precedente si occupa quindi di comandare quali comunicazioni debbano essere eseguite nel bus C OSSERVAZIONE 1 Dalla figura si vuole rimarcare ancora una volta la differenza tra Wishbone e IC mentre il Wishbone serve a connettere due moduli interni all FPGA il bus I C si utilizza nelle connessioni fisiche verso l esterno quando vengono coinvolti due dispositivi distinti in questo caso la evaluation board da un lato e l integrato HV892 dall altra OSSERVAZIONE 2 Il modulo i2c_master_top funziona contemporaneamente da master nei confronti del protocollo IC mentre funziona da slave nei confronti del Wishbone Questo perch dal fronte Wishbone deve ricevere le indicazioni su quali operazioni compiere e conseguentemente sul fronte 1 C le deve eseguire Supertex HV892 controller_top v i2c_master_top v nejs a UOgusi Mm IC Master 1 C Slave OpenCores org IPCORE Wishbone master Controller IC FPGA Fig 3 10 Schema riassunitvo del Controller PC implementato con FPGA Scendendo nei dettagli realizzativi del controller quasi tutta la logica stata costruita basandosi sul sistema delle macchine a stati finiti tale scelta
15. interfacciare con il resto della logica che lo circonda Questo comprende nomenclatura unificata dei segnali esterni tutte le connessioni del modulo devono attenersi a un preciso formato ad esempio il nome wb_rst_ i sta ad indicare 1 chesitratta di un segnale compatibile con il Wishbone prefisso wb_ 2 che ha la funzione di reset sincrono nome rst 3 che sitratta di un segnale in ingresso suffisso _i documentazione in essa viene descritto il modulo con particolare attenzione sulla sua funzionalit impiego e sulle dimensioni dei vari bus questo per favorire la condivisione e il riutilizzo del core stesso scopo primario del Wishbone Nel caso specifico di questo progetto si potuto riscontrare in termini pratici l utilit del protocollo Wishbone Infatti per la gestione della linea 1 C si fatto uso di una entity di terza parte gi sviluppata e testata Il fatto che aderisse alla convenzione Wishbone Wishbone Compliant ha reso il processo di integrazione molto pi agevole dato che anche con una scarsa comprensione del suo funzionamento interno stato sufficiente considerare gli ingressi e le uscite verificandone il comportamento attraverso il documento delle specifiche Wishbone Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione 3 4 Approfondimento 1 C Bus 3 4 1 Introduzione L I C uno standard di trasmissione dati seriale tra circuiti integrati
16. interrupts are serviced SCL sS Sr or 8 1 Z 3 8 9 or Sr P ACK ACK START or STOP or repeated START repeated START condition condition Acknowledge bit Trasmissione di un byte 8 bit bit diavvenuta ricezione Fig 3 9 Trasmissione completa di un byte Per ogni byte che viene trasmesso deve seguire uno speciale bit detto acknowledge bit che ha lo scopo di confermare l accettazione del dato da parte del dispositivo la verifica ha successo se mentre il dispositivo trasmittente master genera la 9 scansione di clock nella linea SCL il dispositivo ricevente slave mantiene la linea dati SDA a livello logico basso Nel caso di una trasmissione non corretta compito del master decidere se annullare completamente l invio o se ripetere l operazione Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione TRASFERIMENTI DI DATI Il primo byte dopo la condizione di start ha generalmente la funzione di specificare quale dispositivo slave sar coinvolto nella prossima trasmissione dati In esso sono infatti contenute informazioni riguardo a e L indirizzo del dispositivo slave che si vuole contattare e Il tipo di trasferimento da eseguire lettura oppure scrittura Questa indicazione avviene nel protocollo 1 C tramite l invio di un byte speciale cos strutturato MSB LSB 1 2 3 4 5 6e 7 E Indirizzo di destinazione 0 scrittura R W 1 lettura
17. la gerarchia dei moduli LCD _E LED RAY Update Di seguito si riporta il codice del modulo top Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione module LCD_top input clk input rst input Update input mode input 7 0 Data output 11 8 LCD_Data output LCD_E output LCD_RS output LCD_RW wire C1lkDiv wire LCDACck wire GenBusy wire 8 16 1 DisplayData reg LCDUpdate reg 2 0 state reg 7 0 AMP reg Refresh reg oldUpdate LCDEncoder LCDStringGen CLK clk RST rst Refresh Refresh yy Raw_Input AMP Busy GenBusy LCD_Output DisplayData clock_slower2 LCDClock clk clk i reset ESE slow_clk CIkDiv LCDDisplay LCDDriver C1k ClkDiv Jy Rst rst Vj LCDUpdate LCDUpdate Mode mode La LCD_Data_In DisplayData Je LCDAck LCDAckK LCD_Data LCD_Data Va LCD_E LCD_E P LCD_RS LCD_RS Fa LCD_RW LCD_RW always posedge clk or posedge rst if rst begin LCDUpdate lt 0 state lt 0 AMP lt 0 Refresh lt 0 oldUpdate lt 0 end else case state 0 begin Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione oldUpdate lt Update if Update 1 amp amp oldUpdate 0 begin state lt 1 AMP 7 0 lt Data Refresh lt 1 end else state lt 0
18. livello gerarchico si trovano tutte le altre sotto entity che costituiscono questo blocco e che combinati insieme ne vanno a costruire la funzionalit complessiva Si utilizzata la entity di tipo debounce per realizzare il sistema antirimbalzo dei pulsanti poich il rimbalzo riguarda ogni switch meccanico stato necessario istanziare una copia del modulo per ogni dispositivo 4 copie Poi ancora si trova clock_slower che fornisce una versione rallentata del clock di sistema utilizzata dall antirimbalzo Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione L entity knob invece quella che realizza la decodifica effettiva dei segnali verificando se l utente stia compiendo una rotazione della manopola in senso orario oppure antiorario Il blocco ampgen svolge una funzione che non rientra propriamente nella categoria dell interfaccia tuttavia si scelto di inserirlo qui per evitare di creare un ulteriore blocco a s stante che avrebbe frammentato eccessivamente il progetto knob_interface 1 7 x debounce knob ampgen ROTA in r D out i clock r di direction clock r di AMP_value 7 0 AMP 7 0 slowclock 4 reset LI let_ _ A rota _ ___ mode Deb_A rotb next next d A ese Knob_Control rote retesh REFRESH __ 4 AMP_Generator debounce debounce ROTB in out in di out slow
19. questo permette di fare interagire tra loro dispositivi allocati nello stesso circuito stampato anche se provenienti da diversi produttori purch siano omologati a questo standard Intuitivamente l idea quella che i vari produttori insegnino ad ogni dispositivo a parlare la stessa lingua in modo che una volta collegati possano dialogare nativamente senza nessun interprete principali vantaggi di questa soluzione sono e interconnessioni semplificate e maggiore flessibilit INTERCONNESSION SEMPLIFICATE L I C un sistema di trasmissione seriale a 2 canali un canale dati e un canale clock Questa caratteristica ha diversi vantaggi a livello di complessit strutturale prima di tutto per quanto riguarda l occupazione fisica poich il numero di pin nei circuiti integrati e di piste nei circuiti stampati risulta minimizzato Inoltre si guadagnano ulteriori spazio e risorse dall eliminazione della cosiddetta glue logic letteralmente logica collante che si occupa di coordinare e gestire la comunicazione tra dispositivi con interfacce non unificate ne sono un esempio tutti i decodificatori di indirizzo Integrato Integrato Produttore A Produttore B Circuito stampato Fig 3 5 Universalit dell C Bus MAGGIORE FLESSIBILIT L adozione dello standard 1 C nei propri sistemi garantisce oltretutto pi semplicit per aggiornamenti e modifiche futuri infatti se voglio sostituire un i
20. uscita del convertitore boost DC DC Come si pu notare tale Vour va direttamente sul carico poich rappresenta il valore logico alto del ponte H all ultimo stadio realizzato il logica CMOS statica PONTE H Ridisegnando il ponte H presente nello schema a blocchi precedente in una forma pi chiara ottengo il seguente circuito Vout ouTi OUT2 Fig 2 8 Ponte H realizzato in logica CMOS Ci non altro che una coppia di inverter con gli ingressi complementari le cui uscite sono collegate ai capi opposti della capacit di carico che nello specifico del progetto la cella LCD fondamentale notare prima di tutto che il source dei pMOS collegato alla Vour cio la tensione fornita dal convertitore DAC questo significa che quando Vour viene portata ad una delle due uscite OUT1 oppure OUT2 per l accensione del relativo pMOS in essa inclusa automaticamente anche l informazione che originariamente era stata ricevuta dal bus 1 C cio il valore AMP che rappresenta l ampiezza dell onda quadra generata Tale circuito pu assumere solamente due stati Fig a pagina seguente Quando IN assume valore logico basso il pMmOS di sinistra si accende aprendo un cammino conduttivo tra OUT1 e Vour in questo modo dopo un tempo finito e non nullo richiesto per caricare scaricare le capacit parassite l uscita si porter al valore Vour Allo stesso modo si accende anche l nMOS di destra che sempre dopo aver caricato o sc
21. variabilie incrementi di uno ad ogni pressione di un pulsante la presenza dei rimbalzi far si che ad ogni singola pressione si verifichino molti pi incrementi rispetto a quelli desiderati rendendo impreciso ed imprevedibile il comportamento logico del circuito Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione MANSIONE ideale transizione reale 031 130 Fig 2 3 Transizioni logiche negli switch senza e con rimbalzo Questo problema pu essere ignorato nel caso in cui le aziende produttrici degli switch abbiano gi previsto l inserimento di un antirimbalzo hardware Tuttavia i componenti presenti sulla evaluation board non sono dotati di questo sistema pertanto compito del progettista introdurre nella FPGA della logica aggiuntiva che corregga questo problema La soluzione adottata nel progetto viene presentata successivamente nella sezione dedicata ai moduli Verilog 2 1 4 Rotary knob Manopola Un po pi complesso il funzionamento della manopola a rotazione questa costituita da una una camma che va ad agire su due pulsanti distinti Il principio fondamentale che questi pulsanti si attiveranno necessariamente in due momenti distinti ed a seconda dell ordine con cui vengono azionati si riesce a dedurre se la rotazione da parte dell utente sia oraria o antioraria Dal punto di vista elettronico questa periferica restituisce due segnali detti A e B mappat
22. Il lavoro stato svolto all interno dell azienda Adaptica Srl nell ambito dello stage formativo previsto nel piano di studi L azienda nasce nel febbraio 2009 all interno di M31 incubatore privato di aziende innovative operante nel settore delle tecnologie dell informazione Adaptica raccoglie le scoperte e le tecnologie innovative sviluppate da un ADAPTICA gruppo di ricercatori dell Universit di Padova nel campo dell ottica e dell optoelettronica Durante il percorso accademico di ricerca e progettazione il team si specializzato nell integrazione di sistemi di ottica adattiva in particolare nelle comunicazioni a singolo fotone ottimizzate con specchi deformabili gli effetti non lineari e gli impulsi ultrabrevi Adaptica progetta e produce specchi deformabili e dispositivi opto elettronici per l ottimizzazione e il miglioramento di sistemi ottici componenti ed i sistemi di ottica adattiva di Adaptica rappresentano una soluzione in tutti quei settori in cui l immagine ottenuta dai sistemi ottici deve mantenere nitidezza fuoco e fedelt anche nei dettagli La tecnologia ed il sistema di lenti sviluppate da Adaptica riducono infatti le distorsioni e le aberrazioni garantendo immagini pi definite e nitide Questi componenti non solo potenziano le capacit del sistema ottico in cui vengono inseriti ma risultano essere anche la soluzione di ottica adattiva che per dimensioni e costi ridotti meglio si integra in sistemi ottici
23. Molto spesso capita di dover inserire nel medesimo sistema pi dispositivi identici tuttavia non si pu accettare che questi presentino lo stesso indirizzo identificativo per evitare ovvi problemi di conflitto Questa esigenza pu essere soddisfatta componendo gli indirizzi con una parte fissa che indichi il tipo di dispositivo e una parte variabile per poter comunicare univocamente a quale delle diverse copie si sta facendo riferimento Ad esempio se considero il seguente indirizzamento a 7 bit secondo tale logica MSB LSB 1 2 3 I 5 67 h Indirizzo Indirizzo fisso variabile i quattro bit di indirizzo fisso permettono di individuare un determinato modello di dispositivo mentre con gli altri 3 bit posso distinguere tra al massimo 2 8 copie dello stesso prodotto inserite nel sistema Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione 3 5 Controller 1 C La parte pi consistente di tutta l architettura dell FPGA senza dubbio quella riguardante l interfaccia 1 C Come gi accennato infatti il chip Supertex HV892 che si vuole pilotare tramite la Spartan 3A in grado di comunicare con l esterno attraverso il bus 1 C si dovuto quindi implementare un modulo nella FPGA che fosse in grado di scrivere e leggere i dati trasmessi con tale bus La figura seguente consente di capire meglio l architettura del controller 1 C realizzato tramite FPGA all interno sono
24. Universit degli Studi di Padova o N TA A i DSS TILL Nii F e Dia K m R n A y a N N z IE VS Facolt di Ingegneria Corso di laurea triennale in Ingegneria Elettronica TESI DI LAUREA Modulatore di polarizzazione ottico tramite tecnologia LCD in trasmissione STUDENTE Nicol Zogno RELATORE Prof Gaudenzio Meneghesso fA ADAPTICA Progetto realizzato presso Adaptica S r l Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione INDICE 1 Introduzione 2 Componenti 2 1 Spartan 3A Evaluation Board 2 1 1 XC3S700A 2 1 2 Oscillatore al quarzo 2 1 3 Switch meccanici 2 1 4 Rotary knob 2 1 5 Sitronix ST7066U LCD controller 2 2 Supertex HV892 3 Progetto Verilog 3 1 Mappa della struttura 3 2 Acquisizione degli input 3 2 1 Progettazione dell antirimbalzo 3 2 2 Decodifica dei segnali fisici 3 2 3 Generazione del valore di AMP 3 3 Approfondimento Wishbone Bus 3 4 Approfondimento 1 C Bus 3 5 Controller 1 C 3 5 1 OpenCores 1 C Controller Wishbone Slave 3 5 2 Wishbone Master 3 6 Visualizzazione su display 3 7 Risorse utilizzate 4 Polarizzatore 4 1 Polarizzazione 4 1 1 Classificazione delle onde 4 1 2 Onde polarizzate 4 2 Cristalli liquidi 4 3 Cella LCD 5 Test 6 Conclusioni 7 Riferimenti Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione Capitolo 1 INTRODUZIONE L AZIENDA
25. a 7bit di AMP nelle rispettive cifre BCD che sono un formato compatibile con la mappa caratteri del controller LCD 2 Aggiunge la parte testuale al dato distinguendo a seconda che il sistema sia in standby resettato oppure in funzionamento normale 3 Porta il dato a 128bit 16 caratteri ciascuno di 8 bit in uscita Il codice che lo implementa il seguente module LCDEncoder input RST input CLK input Refresh input 7 0 Raw_Input output reg Busy output reg 8 16 1 LCD Output wire 11 0 BCD_Output Scritta gt NIX Standby parameter STANDBY 128 BOI1l001110 parameter RESET_STRING 128 B0O1001110 Bin2BCD Converter Binary Raw_Input BCD BCD Output always posedge CLK or posedge RST if RST begin Busy lt 1 LCD_Output lt RESET_STRING end else if Refresh begin Busy lt 1 if Raw_Input 8 h00 LCD_Output lt STANDBY else begin Scritta gt NIX OUT LCD_Output 128 65 lt 64 B0O1001110 Livello polarizzazione es 255 LCD_Output 64 61 lt 4 B0011 LCD_Output 60 57 lt BCD_Output 11 8 LCD_Output 56 53 lt 4 B0011 LCD_Output 52 49 lt BCD_0Output 7 4 LCD_Output 48 45 lt 4 B0011 LCD_Output 44 41 lt BCD_Output 3 0 Spazi finali gt LCD_Output 40 1 lt 40 B00100000 Sviluppo di un modulatore di polarizzazione ottica tramite tecnolo
26. alli liquidi compatibile con il sistema Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione CONCLUSIONI Al termine del tirocinio gli obiettivi prefissi sono stati interamente rispettati la realizzazione del prototipo stata completata sviluppando tutte le funzionalit pensate originariamente ed inoltre stata aggiunta una modalit utile in fase di debug con la quale possibile aumentare lo step di incremento decremento dell ampiezza nell onda quadra in uscita Questa funzionalit risulta utile per stressare maggiormente la componente dinamica del sistema Dal punto di vista personale ritengo che il tirocinio si sia svolto in maniera soddisfacente principalmente per due motivi anzitutto dal punto di vista tecnico avendo avuto l opportunit di entrare in contatto con la parte pi concreta e commerciale dell elettronica infatti mi sono fatto un idea pi chiara di come vengano costruiti i sistemi elettronici servendosi di componenti di vari produttori opportunamente interfacciati tra loro A questo proposito stato fondamentale investire del tempo per reperire ed analizzare accuratamente i data sheet degli integrati e le documentazioni dei bus standard 1 C Wishbone Questa esperienza assume ancora pi valore poich avendo frequentato una scuola superiore ad orientamento umanistico e del tutto priva della componente tecnico pratica ho potuto acquisire familiarit con a
27. appati sui pin fisici dell FPGA 2 il top quel modulo che si occupa di richiamare e interconnettere le varie entities a livello gerarchico inferiore tale operazione viene detta istanza Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione Nello specifico il progetto di Nix cos strutturato core_logic_top v TOP LCD top v DISPLAY LCDENncoderv Bin2BCD v clock_slower2 v LCDDisplay v LCDiInterface v LCDentrl v LCDDriverv knob_interface v INTERFACCIA clock _slowerv debounce v knob v ampgenv controller_top v WISHBONE MASTER i2c_master_top v WISHBONE SLAVE i2c_master_byte_ctrl v i2c_master_bit_ctrl v Nella seguente tabella viene riportato un rapido riassunto della funzione svolta dai blocchi pi importanti ENTITIES PRINCIPALI DESCRIZIONE Si trova al livello gerarchico pi elevato la sua funzione principale quella di connettere i vari blocchi inferiori e di interfacciarsi con i pin fisici A tale scopo gli viene associato un file con lo stesso nome ma di estensione ucf che permette di specificare a quali pin della FPGA debbano essere associati gli ingressi e le uscite del progetto In questo caso il modulo top praticamente vuoto cio non contiene alcuna logica aggiuntiva oltre alle consuete istanze dei moduli e a 2 buffer tristate che pilotano le linee SDA e SCL TOP core_logic_top v
28. aricato le capacit parassite porta OUT2 a massa Quando al contrario IN assume valore logico alto si verifica la situazione complementare rappresentata in figura B Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione IN 0 IN 1 IN 1 IN 0 OUTI1 OUT2 Vout OUT1 OUT2 Vout Vi V da 2 JA OUTI ANA Le Fig A Fig B L utilit di questo circuito si pu intuire proprio da questo fatto partendo da una tensione Vour positiva e avendo a disposizione l ingresso IN che pu assumere due valori alto e basso ma comunque anch essi positivi si in grado di applicare al carico una tensione con il segno voluto cio Vour Nel caso specifico del chip Supertex HV892 il ponte H collegato ad un oscillatore con frequenza four nel range 1 2 kHz che genera un onda quadra di ampiezza 2 Vour picco picco VouT Fig 2 9 Forma d onda generata in uscita del chip ai capi del carico Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione Capitolo 3 PROGETTO VERILOG Introduzione In questa sezione verr analizzata tutta la logica interna all FPGA che stata descritta e sviluppata mediante linguaggio HDL La scelta del linguaggio ricaduta sul Verilog soprattutto per coerenza ed omogeneit con i precedenti progetti sviluppati da Adaptica Questa fase di progettazione
29. averso le seguenti porte del modulo e wb adr i Input Tramite questo bus a 3bit possibile selezionare l indirizzo del registro con il quale si intende interagire e wb dat i Input amp wb dat_o Output Questi due bus a 8bit trasportano il byte coinvolto nell operazione in particolare quando si intende scrivere in un registro viene utilizzato il primo mentre nel caso di lettura si impiega il secondo i2c_master_top wb_adr_i 2 0 wb_dat_0 7 0 wb_dat_i 7 0 arst_i scl_pad_i scl_padoen_o scl_pad_o sda_pad_i wb_clk_i wb_eyc_i sda_padoen_o sda_pad_o wb_rst_i wb_stb_i wb_we_i A wb_ack_o wb_inta_o WISHBONE_ slave Fig 3 13 Schematico RTL Viene presentata qui di seguito una panoramica di tutti i registri a disposizione evidenziandone la funzione la tipologia di operazioni che consentono e l indirizzo che li individua Nome Codice Indirizzo Dimensione Accesso Prescale Pneu oxo Soit Read Write PRER_hi 0x01 8 bit Control CTR 0x02 8 bit Read Write Transmit TXR 0x03 8 bit Write Receive RXR 0x03 8 bit Read Command CR 0x04 8 bit Write Status SR 0x04 8 bit Read Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione PRESCALE REGISTER Questo registro va solitamente settato all inizializzazione del sistema dal momento che il suo valore viene utilizzato come fattore di scala per dividere
30. b0 if got_ack state lt IDLEO Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione 80 else 81 state lt INIT3 82 end 83 84 IDLE la fsm resta in attesa di operazioni 85 IDLEO begin 86 oldtrigger lt trigger 87 if oldtrigger 0 amp amp trigger 1 88 state lt ENABLEO 89 else 90 state lt IDLEO 91 end 92 93 ARBILITO IL CORE 94 ENABLEO begin 95 add_reg lt CTR 96 data_o lt 8 b10000000 97 w_rn lt l bl 98 start_wb_cyc lt l bl 99 state lt ENABLEl 100 end 101 102 ENABLE1 begin 103 start_wb_cyc lt l b0 104 if got_ack 105 state lt WRITEO 106 else 107 state lt ENABLE1 108 end 109 110 SCRIVO L INDIRIZZO DELLO SLAVE 111 WRITEO begin 112 add_reg lt TXR 113 data_o lt 7 b0100011 l b0 114 w_rn lt l bl 115 start_wb_cyc lt l bl 116 state lt WRITEl 117 end 119 WRITE1 begin 120 start_wb_cyc lt l b0 121 if got_ack 122 state lt WRITE2 123 else 124 state lt WRITE 125 end 126 127 SCRIVO NEL COMMAND REGISTER LA CONDIZIONE DI START 128 WRITE2 begin 129 add_reg lt CR 130 data_o lt 8 b10010000 131 w_rn lt l bl 132 start_wb_cyc lt l bl 133 state lt WRITE3 134 end
31. capacitive dei due dispositivi Un primo approccio a scatola chiusa del dispositivo consente di capire meglio come sia stato integrato all interno del sistema Di seguito vengono descritti i pin presenti sull integrato Vin Tensione di ingresso Voo Tensione esterna di riferimento per il bus 1C SCL Bus C linea di clock SDA Bus C linea dati HV892 GND1 Massa per il convertitore DC DC OUT1 GND2 Massa per il resto del circuito HV Alta tensione in uscita dal boost integrato f OUT2 OUTI1 Uscite del driver vanno connesse alle due GND1 GNDZ OUT2 armature della capacit di carico Senza considerare alimentazioni e masse e tenendo solo i segnali di dati il funzionamento del chip il seguente il dispositivo che fa da host pilota l HV892 tramite l interfaccia 1 C ingressi SDA SCL trasmettendogli un codice univoco che corrisponde ad una tensione ben precisa ai capi della capacit di uscita che poi la cella LCD L interfaccia 1 C del chip pu funzionare a 3 livelli di velocit e Normal 100Kbps e Fast 400Kbps e High speed 3 5Mbps LI Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione Vista la ridotta mole di dati che deve essere trasmessa nel presente progetto si deciso di predisporre l integrato per il funzionamento a 100Kbps SCHEMA A BLOCCHI gt CLENS driver 100 200pF Fig 2 7 Schema a blocchi del circuito inte
32. clock alli slowclock E __ A Di Deb_B Deb_Switch MODE clock_slower debounce CLOCK PA clk slow_clk PA in out a RESET reset slowclock Clock_divider Deb_C ROTC INTERFACE Fig 3 2 Rappresentazione esplosa della entity knob_interface 3 2 1 Progettazione dell antirimbalzo La soluzione pi semplice veloce e funzionale per implementare un antirimbalzo stata quella di sintetizzare un latch che campioni il segnale di ingresso contaminato dai rimbalzi all uscita soltanto sul fronte di salita di un clock rallentato restituendo cos un segnale praticamente pulito Il codice Verilog che realizza questo blocco estremamente compatto riportato di seguito module debounce input in input slowclock output reg out always posedge slowclock out lt in endmodule Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione La generazione della versione di clock rallentata slowclock avvenuta nel blocco clock_slower precedentemente citato tramite il seguente codice module clock_slower input clk input reset output slow_clk reg 15 0 contatore assign slow_clk contatore 15 always posedge clk or posedge reset if reset contatore lt 0 else contatore lt contatore 1 endmodule Il principio di funzionamento molto semplice il vettore a 16 bit contatore viene incrementato di un unit ad ogni front
33. e molecole gt D d gt CD Fig 4 2 Azione del campo elettrico sulle molecole dei cristalli liquidi 4 3 Cella LCD La cella impiegata nel progetto contiene cristalli liquidi di tipo nematico dunque tutte le molecole che lo compongono sono disposte casualmente nello spazio con l unico vincolo di essere a riposo parallele tra loro secondo l asse longitudinale La sezione di tale cella consente di capire meglio quanti strati la compongono e quale funzione essi svolgano Strato in vetro Film conduttivo esterno Strato interno Strato di cristalli liquidi rigato Fig 4 3 Sezione di una cella a cristalli liquidi Tale cella cos costruita e interno riempito di cristalli liquidi e 2 pareti esterne in vetro e 2 strati interni di allineamento e 2 strati intermedi conduttivi e trasparenti Le due pareti poste all esterno del dispositivo hanno il solo scopo di contenere fisicamente tutti gli altri componenti Appena pi internamente vengono collocati due sottilissimi film caratterizzati da elevata conducibilit elettrica cos facendo una volta collegati ai capi di un generatore di tensione si induce un campo elettrico uniforme su tutta la superficie della cella Nella parte interna della cella viene posto uno strato di cristalli liquidi in forma nematica che tuttavia non va a contatto direttamente con le lamine conduttive infatti viene interposto un ulteriore st
34. e comunque trasversali Con il termine polarizzazione si va ad indicare il processo di trasformazione di un generico fascio luminoso in un onda polarizzata operazione che si pu effettuare in diversi modi ad esempio 1 Polarizzazione per trasmissione 2 Polarizzazione per riflessione 3 Polarizzazione per rifrazione TRASMISSIONE La tecnica pi comune per polarizzare un fascio di luce quello di farlo passare attraverso un filtro come ad esempio il Polaroid Il materiale di questi filtri in grado di far passare solamente le onde che oscillano su di un piano ben definito assorbendo con buona efficacia tutte le altre Questa caratteristica riconducibile ad una propriet chimica di tale materiale esso infatti costituito da lunghe catene di molecole che vengono stirate per tutta l estensione del filtro e disposte in maniera omogenea sulla sua superficie Come test per il funzionamento possibile sovrapporre due filtri Polaroid in modo che i loro assi di polarizzazione siano perpendicolari il risultato che il primo filtro restituisce un onda che oscilla su un piano e il secondo filtro avendo asse di polarizzazione ortogonale la assorbe completamente pertanto l azione combinata di questi due filtri quella di oscurare la radiazione iniziale Il Polaroid rappresenta l esempio pi comune di un filtro polarizzatore in trasmissione di tipo passivo nel caso del progetto del polarizzatore elettronico si scelto di utiliz
35. e positivo del clock di sistema L uscita slow_clock non altro che il bit pi significativo di contatore tant che viene effettuata un assegnazione in continua Infatti per un generico vettore n dimensionale che consente 2 combinazioni il bit pi significativo vale 0 per i primi 2 incrementi mentre vale 1 per i successivi 2 Il settaggio critico per il corretto funzionamento del sistema antirimbalzo blocco slowclock blocco debounce dato appunto dalla scelta del numero corretto di bit per il vettore contatore Dopo alcune prove pratiche si scelto come valore migliore 16 bit Questo si rivelato il compromesso migliore tra affidabilit e prontezza dal momento che e scegliendo valori minori di 16 il sistema presentava ancora problemi di rimbalzo e scegliendo valori maggiori il sistema non era in grado di catturare tutti gli input costringendo l utente a ripremere pi volte gli switch 3 2 2 Decodifica dei segnali fisici In questo blocco logico vengono analizzati i segnali rota e rotb provenienti dalla manopola girevole determinando se si tratta di una rotazione oraria oppure antioraria Questa informazione viene poi conservata e portata all uscita tramite il registro direction che vale 0 se si tratta di una rotazione oraria oppure 1 se la rotazione antioraria A livello di linguaggio Verilog la soluzione stata la seguente module knob input clock input reset input rota input rotb output r
36. e si occupa di scriverli singolarmente sul display Si fa presente che il display al momento dell inzializzazione stato preconfigurato in modo da spostare automaticamente il cursore a destra di una posizione dopo ogni carattere scritto Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione 3 7 Risorse utilizzate L ambiente di sviluppo Xilinx ISE ci consente nella fase successiva alla progettazione di avere un report stimato sull utilizzo delle risorse fisiche utile per avere un indice di quanto efficientemente stato descritto l hardware Nel nostro caso i riepiloghi di utilizzo in fase di sintesi valori stimati e implementazione valori reali sono stati i seguenti SINTESI sea vatone OSIC il atio lizatio Number of Slices 640 5888 IMPLEMENTAZIONE tal Number o put LUT 1 number used store aa O O O Number used asa roweru a CE E Average Fanout of Non ok nes a2 Come si pu osservare dai riepiloghi l utilizzo delle risorse a disposizione nel complesso contenuto In ogni caso trattandosi di un prototipo e considerando che le versioni successive del prodotto non saranno implementate mediante FPGA non ci sarebbe motivo per effettuare un operazione di revisione del codice per ottimizzare lo sfruttamento delle risorse Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione Capitolo 4 POLARIZZATORE 4 1 Polarizzazio
37. ea riviste naturalmente sotto un profilo pi pratico e commerciale nel corso del progetto infatti si sono utilizzate componenti di vari produttori pertanto si dovuto effettuare uno studio delle relative specifiche tecniche allo scopo di garantirne la compatibilit con il resto del sistema Le competenze conseguite oppure approfondite nel corso del tirocinio sono sostanzialmente Ambito PROGETTAZIONE ELETTRONICA Linguaggio di descrizione dell hardware Verilog al termine del tirocinio ho raggiunto una buona dimestichezza con l utilizzo di tale linguaggio prima completamente sconosciuto Questo studio mi ha permesso di estendere le conoscenze gi introdotte nel corso di Laboratorio di Elettronica Digitale in cui si trattava il linguaggio VHDL Introduzione allo standard Wishone la conoscenza di questo standard per l integrazione di blocchi logici stata fondamentale per potermi servire dei progetti resi disponibili dalla community OpenCores che si occupa di promuovere l hardware open source Introduzione al bus 1 C il funzionamento di questo standard di comunicazione estremamente diffuso stato studiato servendomi del documento ufficiale rilasciato dalla Philips Semiconductors azienda ideatrice e promotrice di tale bus Ambito ECONOMICO GESTIONALE Analisi della concorrenza come attivit extra rispetto al progetto del polarizzatore elettronico e vista la mia curiosit anche verso la parte commerciale della prod
38. eg next output reg direction SD UU DSWNF Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione 8 9 10 reg oldmerged 11 assign merged rota rotb T2 13 always posedge clock 14 if reset 15 begin 16 oldmerged lt 0 17 next lt 0 18 direction lt 0 19 end 20 else 21 begin 22 23 oldmerged lt merged 24 25 if oldmerged 0 amp amp merged 1 26 begin 27 next lt 1 28 if rota 1 amp amp rotb 0 29 direction lt 0 30 if rota 0 amp amp rotb 1 31 direction lt 1 32 end 33 else 34 next lt 0 S 36 end 37 38 endmodule Il primo passo stato quello di assegnare a merged la funzione logica OR tra i due segnali rota e rotb oraria antioraria Fig 3 3 OR logico tra A e B NB il grafico va letto da sinistra a destra nel caso di rotazione oraria mentre da destra a sinistra nel caso di rotazione antioraria questo spiega perch ciascuno scatto della ruota sia associato ad un fronte positivo del segnale A OR B Come visibile nella figura 3 3 questo segnale ausiliario risulta essere molto utile poich ogni suo fronte di salita corrisponde ad uno scatto della manopola girevole anche se non ci informa in alcun modo sulla direzione della rotazione Sulla base di questa osservazione il passo successivo stato quello di inserire un costrutto logico che vada a verif
39. enza di 50MHz con un margine d errore di circa 2500Hz L uscita di questo componente un onda quadra di periodo 20ns con la quale si sincronizzano la gran parte dei processi dell FPGA La frequenza di questo oscillatore sufficiente a soddisfare tutti i requisiti di velocit dei vari blocchi logici sincroni presenti nel progetto anzi in molti casi il problema stato contrario infatti si dovuti ricorrere a dei divisori per ottenere un clock rallentato che si potesse adattare ai limiti di velocit imposti da certe componenti 2 1 3 Switch meccanici Gli switch a scorrimento e i pulsanti sono idealmente molto semplici come funzionamento infatti forniscono in uscita un segnale logico 1bit che assume valore logico basso quando sono nella condizione di riposo e diventa valore logico alto quando sono attivi STATO VALORE LOGICO Inattivo Basso 0 Attivo Alto 1 Il problema dei rimbalzi Tuttavia a causa della non idealit dei componenti e dei tempi di transizione finiti rappresentati dalla pressione dei tasti da parte dell utente tale segnale non pulito e non si comporta come un gradino Nel tempo in cui lo switch si trova in una posizione intermedia tra due livelli logici stabili questo inizier ad oscillare rendendo i fronti instabili questa caratteristica pu creare problemi qualora vi sia della logica sensibile ai fronti o ai livelli dello switch ad esempio se voglio che una determinata
40. gia LCD in trasmissione end end else Busy lt 0 endmodule Modulo LCDDriver Rappresenta il blocco logico che si interfaccia fisicamente con il display ovvero che ha il controllo diretto dei relativi pin sull FPGA Secondo le specifiche della Xilinx il controller pu interfacciarsi con il display utilizzando a scelta la modalit a 4 oppure ad 8 bit Dato l utilizzo relativamente leggero che si fa del display e visto che non ci sono particolari vincoli di velocit tale interfaccia stata implementata utilizzando il bus a 4 bit restanti pin corrispondenti ai bit meno significativi sono stati collegati direttamente a livello logico alto in modo da predisporre questa modalit di funzionamento a bus ridotto L architettura del modulo trattandosi sempre di una scrittura ricalca quella del modulo Wishbone Slave precedentemente analizzata che ha lo scopo di scrivere i dati nel bus 1 C Analogamente a prima infatti sono individuabili all interno del modulo diverse macchine a stati finiti che operano a livelli di dati diversi Tale modulo si presenta gerarchicamente cos suddiviso LCDDriver LCDDisplay v LCDiInterface v LCDentrl v LCDDriverv LCDDriver e LCDCntrl sono le entities che lavorano a basso livello completando la scrittura nel seguente modo LCDCntrl riceve la parola a 128 bit e in sequenza invia pacchetti da 8 bit corrispondenti ad un singolo carattere nella mappatura del display a LCDDriver il qual
41. gin state lt LOOP end default state lt INITO endcase end PIVLAAATIAMTIIESTILSIITIT ODA VERRA Macchina inferiore interfaccia al wishbone bus LISCASTATTTMATATI STILISTA FISSO PRA if wb_rst_i begin wb_adr_o lt 3 h0 wb_dat_o lt 8 h00 wb_we_o lt 1 b0 wb_stb_o lt 1 b0 wb_cyc_o lt l b0 got_ack lt 1 b0 end else begin if start_wb_cyc l bl begin Start Wishbone Cycle wb_stb_o lt l bl wb_cyc_o lt l bl wb_adr_o lt add_reg wb_dat_o lt data_o wb_we_o lt w_rnj got_ack lt 1 b0 end else if wb_stb_o 1 bl amp amp wb_ack_i l b1 begin End Wishbone cycle wb_stb_o lt l1 b0 wb_cyc_o lt l b0 wb_we_o lt 1 b0 got_ack lt l bl 1f wb_we_o begin data_i lt wb_dat_i end end end end endmodule II codice implementa una macchina a stati finiti che compie un ciclo di scrittura quando l apposito segnale di trigger presenta un impulso Tale macchina a stati viene qui rappresentata in forma compatta condensando gli stati simili per non appesantire troppo l impatto grafico Ad esempio i 13 stati per completare la scrittura WRITEO WRITE13 sono riuniti sotto un unico stato WRITE Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione SI ack trigger 0 trigger 0 1 a e Fig 3 15 Macchina a stati finiti sintetica not F Ciascuno dei blocchi i
42. grato Supertex HV892 Nello schema precedente il blocco host controller comprende il pcb su cui alloggiato il chip e l evaluation board stessa Il dispositivo host invia un comando preventivamente codificato secondo il protocollo 1 C tramite le due linee SDA e SCL e viene ricevuto dal blocco control Questo si occupa di decodificarlo e trasformarlo da segnale seriale ad array di 8 bit tale codice che viene contrassegnato come AMP quello che mi consente di regolare l ampiezza dell onda quadra in uscita Poich si tratta di un vettore ad 8 bit ci permette di tarare l uscita in 25 256 stati differenti secondo la seguente tabella Codice AMP Descrizione esadecimale Modalit STANDBY risparmio energetico L intero dispositivo si porta ad uno stato di basso OOH consumo in cui il convertitore boost il ponte H e l oscillatore sono spenti mentre i pin di uscita vengono connessi a massa Entro questo range di valori del vettore AMP l ampiezza dell uscita viene modulata 01H FFH La ricezione di uno qualsiasi tra questi 255 valori comporta automaticamente l interruzione dalla modalit di risparmio energetico Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione La modulazione dell ampiezza di uscita avviene in 255 differenti livelli con passo costante secondo l equazione dove Vour l uscita del convertitore DAC ottenuta combinando il segnale AMP con l
43. hbone slave dh SALECL LLULL EAEL AIALA UALL AAA LUELLA TUILL module controller_top input trigger input 7 0 amp_value input wb_clk_i input wb rst i output reg 2 0 wb_adr_o output reg 7 0 wb_dat_o output reg wb_we_o output reg wb_stb_o output reg wb_cyc_o input wb_ack_i input wb_inta_i input 7 0 wb_dat_i Registri interni reg 4 0 state FSM states reg start_wb_cyc trigger for wishbone cycle reg got_ack Set when ack has been received from wbm reg 2 0 add_reg Register Address reg 7 0 data_o Data register trasmission reg 7 0 data_i Data register reception reg w_rn Type of operation reg mem reg oldtrigger always posedge wb_clk_i or posedge wb_rst_i begin MSF principale if wb_rst_i begin start_wb_cyc lt 1 b0 state lt INITO add_reg lt 3 h0 data_o lt 8 h00 data_i lt 8 h00 w_rn lt l b0 end else begin case state INIZIALIZZAZIONE registro di prescale INITO begin add_reg lt PRERlo data_o lt PRESCALE w_rn lt l bl start_wb_cyc lt l bl state lt INIT1 end INIT1 begin start_wb_cyc lt 1 b0 1f got_ack state lt INIT2 else state lt INIT end INIT2 begin add_reg lt PRERhi data_o lt 8 H00 w_rn lt l bl start_wb_cyc lt l bl state lt INIT3 end INIT3 begin start_wb_cyc lt 1
44. ht A Zajac Addison Wesley
45. i sempre pi a basso livello 1 LIVELLO WORD i2c_master_top in grado di gestire la comunicazione direttamente a livello di parole sfruttando le macchine a livello pi basso 2 LIVELLO BYTE i2c_master_byte_ctrl ogni volta che viene interpellato compie la scrittura di un byte sullo slave 1 C 3 LIVELLO BIT i2c_master_bit_ctrl il livello gerarchico pi basso ed esegue singole operazioni di lettura scrittura su bit singoli WORD LEVEL BYTE LEVEL BIT LEVEL LIVELLO DI ASTRAZIONE Fig 3 11 Livelli di astrazione delle entities PC Master Nel diagramma seguente Fig 3 12 presentato uno schema a blocchi del funzionamento interno del blocco 1 C Master che include tutti i registri interni e i blocchi i2c_master_byte_ctrl i2c_master_bit_ctrl Come si pu osservare la linea IC viene modificata effettivamente soltanto dal blocco i2c_master_bit_ctrl che essendo a livello pi basso gerarchicamente quello progettato per compiere le operazioni di trasmissione pi elementari Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione Wishbone Master SCL SDA Fig 3 12 Schema a blocchi del funzionamento interno di 12C Master Questo modulo mette a disposizione del master una serie di registri che possono essere scritti o letti attraverso il quale vengono realizzate tutte le operazioni Tali registri possono essere modificati o interrogati attr
46. i su degli appositi pin della FPGA che si comportano come nella figura seguente Rotazione oraria _T_ gt gt Rotazione antioraria Fig 2 4 Andamento dei segnali A e B durante la rotazione Ognuno di questi segnali indica lo stato di ciascuno dei due pulsanti ad attivazione sfasata La figura evidenzia innanzitutto come sia presente anche qui il fenomeno dei rimbalzi Le due condizioni critiche sono evidenziate in verde e in rosso e si individua una rotazione di tipo Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione 1 ORARIO quando il segnale A compie una transizione 0 1 mentre il segnale B stabile a 0 2 ANTIORARIO quando il segnale B compie una transizione 0 1 mentre il segnale A stabile a 0 2 1 5 Sitronix display controller La board include un semplice display a cristalli liquidi che pu visualizzare fino ad un massimo di 16 caratteri per ciascuna delle 2 linee Si tratta di un prodotto economico ed a basse prestazioni sia per la risoluzione che per il comportamento dinamico che presenta una frequenza di refresh molto limitata se paragonata a quella dell oscillatore al quarzo Tuttavia risulta perfetto per gli scopi del progetto in quanto viene utilizzato soltanto per dare un breve riscontro scritto sullo stato del sistema L interfaccia con il display costituita da 4 segnali e LCD_E il segnale di enable che abilita o disabi
47. icare lo stato di rota e rotb ad ogni fronte positivo di merged Quest operazione situata tra le righe 28 e 31 del codice presentato e la sua validit pu essere facilmente verificata riferendosi nuovamente alla figura 3 3 Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione In sintesi le uscite di questo blocco sono e next un segnale impulsivo che si attiva ad ogni scatto della manopola e direction che vale 0 quando la rotazione oraria e 1 quando antioraria 3 2 3 Generazione del valore di AMP Come gi detto in precedenza questo modulo non rientra propriamente nel blocco di acquisizione degli input il suo compito quello di mandare in uscita un valore binario a 8 bit aggiornandolo in accordo con gli input ricevuti Di default all inizializzazione il valore AMP pari a 00xH e corrisponde allo stato di basso consumo energetico dell integrato Supertex HV892 La entity ampgen stata programmata in modo che il valore AMP di uscita risponda agli input con il seguente criterio e cresce ruotando la manopola in senso orario e diminuisce ruotando in senso antiorario e ritorna al valore di default premendo la ruota al centro e il passo di incremento decremento viene cambiato a seconda dello stato dello switch a scorrimento La parte di codice molto semplice da interpretare dal momento che fa uso esclusivamente di costrutti condizionali 1 module ampgen 2 input clock 3 in
48. lcuni aspetti di base dell elettronica che risultano invece banali o scontati per chi proviene da un istituto superiore di tipo tecnico In secondo luogo l altro vantaggio derivante dalla frequentazione del tirocinio e che ritengo non meno importante dei progressi didattici raggiunti stato quello di poter osservare e toccare in prima persona lo svolgimento dell attivit aziendale trovandomi sempre in contatto con il personale infatti ho avuto modo di familiarizzare con le dinamiche e i problemi che si affrontano quotidianamente nell attivit produttiva Oltretutto il tirocinio si svolto in un azienda fondata da poco il che stato senza dubbio un vantaggio poich parallelamente alla realizzazione del progetto assegnatomi avevo la possibilit di seguire da vicino la produzione principale che al momento particolarmente intensa dato che l impresa in fase di sviluppo Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione RIFERIMENTI Fonti e Manuale utente Spartan 3A Kit http www xilinx com support documentation boards_and_ kits ug334 pdf e Specifiche OpenCores 1 C Controller Core http www opencores org project i2c e Wishbone Specification edizione Settembre 2002 http www opencores org downloads wbspec_b3 pdf e Specifiche Bus I C Philips edizione 2 1 Gennaio 2000 http www nxp com acrobat _download2 literature 9398 39340011 pdf e Optics E Hec
49. lita il display e ICD_DB ilbusa8 bit nel quale viaggiano i dati da o verso il display Pu essere anche utilizzato come bus a 4 bit semplicemente agganciando i 4 bit meno significativi a un valore logico alto e LCD_RS indica se attraverso il bus a 8 bit stanno passando dati o istruzioni di registro e LCD_RW permette di selezionare se si intende effettuare una lettura o una scrittura Prima di poter utilizzare il display necessario eseguire una sequenza di operazioni con lo scopo di stabilire il protocollo di comunicazione Il processo richiede alcune decine di millisecondi e va eseguito una volta sola dopo l accensione della evaluation board Sequenza di inizializzazione del display 1 Attendere 15 ms dopo la configurazione dell FPGA circa 750 000 cicli di clock a 50Mhz Scrivere LCD_DB lt 7 4 gt 0x3 e LCD_E 1 per 12 cicli di clock Attendere almeno 4 1 ms circa 205 000 cicli di clock Scrivere LCD_DB lt 7 4 gt 0x3 e LCD_E 1 per 12 cicli di clock Attendere almeno 100 us circa 5 000 cicli di clock Scrivere LCD_DB lt 7 4 gt 0x3 e LCD_E 1 per 12 cicli di clock Attendere almeno 40 us circa 2 000 cicli di clock Scrivere LCD_DB lt 7 4 gt 0x3 e LCD_E 1 per 12 cicli di clock Attendere almeno 40 ps circa 2 000 cicli di clock Ata All interno del controller Sitronix sono presenti 3 regioni di memoria alle quali si pu accedere soltanto ad inizializzazione compiuta e DD RAM e CG ROM
50. n oscilloscopio digitale collegato ai morsetti OUT1 e OUT2 dell integrato HV892 Dal momento che l uscita OUT1 quella che produce la semionda quadra positiva e OUT2 quella negativa sono state connesse ciascuna ad un canale dell oscilloscopio e successivamente mediante le funzioni matematiche messe a disposizione dello strumento si generato un segnale virtuale dato dalla somma dei due canali che corrisponde all onda quadra cercata Tutte le misurazioni successive sono state effettuate considerando direttamente questo segnale virtuale OUT Ch 1 Ch 2 Nella seguente tabella riassuntiva vengono riportati i parametri che sono risultati pi significativi per valutare l accuratezza dell onda quadra prodotta Alcune di queste grandezze come evidenziato presentano un certo scostamento dal valore nominale riportato nelle specifiche questo problema da ricondursi al fatto che con l oscilloscopio utilizzato le sonde corredate presentavano un impedenza di ingresso di 1MOQ a differenza dei 10MQ che venivano suggeriti nel datasheet della Supertex per le eventuali misurazioni Parametro Valore rilevato Range datasheet Frequenza 1 42 kHz 1 0 2 0 kHz Ampiezza AMP 00xH 0 15 Vrms O Vrms Ampiezza AMP FFxH 56 Vrms 58 5 65 5 Vrms TEST OTTICI I test su banco ottico non sono stati al momento effettuati a causa dell impossibilit di reperire in tempo utile la cella a crist
51. nda di propagarsi nel vuoto questa una caratteristica tipica delle onde e ettromagnetiche vale a dire quelle onde prodotte da una carica elettrica in movimento bene notare che le onde elettromagnetiche dal punto di vista vettoriale sono date dalla composizione di un campo elettrico e di un campo magnetico questo coerente dal punto di vista fisico con il fatto che derivino da cariche elettriche in moto Tutti i tipi di onde meccaniche non sono in grado di propagarsi nel vuoto ma richiedono un mezzo fisico attraverso il quale potersi spostare 4 1 2 Onde polarizzate Se considero un fascio di luce proveniente da una sorgente qualsiasi ad esempio una lampadina con tutta probabilit esso sar costituito da una moltitudine di singole onde dove ciascuna oscilla su di un piano ben definito mantenendo comunque una direzione di propagazione comune Si tratta dunque di un fascio di onde non polarizzato Se invece prendo in esame una sola di queste onde l oscillazione avviene in un unico piano e tale onda viene detta polarizzata In generale la luce proveniente da sorgenti naturali quasi sempre non polarizzata visto che causata dalla vibrazione di cariche elettriche in molte direzioni casuali Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione Richiamando il paragrafo precedente il concetto di polarizzazione ha senso solamente se si sta facendo riferimento ad onde elettromagnetiche
52. ndicati nel diagramma contiene al suo interno un certo numero di stati ma sostanzialmente il principio di avanzamento della macchina si basa ovunque sullo stesso algoritmo 1 Scegliere l indirizzo del registro con cui si vuole operare Eseguire l operazione sul Wishbone Slave che pu essere una scrittura o una lettura 3 Attendere l acknowledge ossia la conferma che l operazione ha avuto successo e in base a questo far progredire o meno lo stato della macchina m 3 6 Visualizzazione su display Il blocco adibito alla scrittura sul display lavora in maniera parallela rispetto al Controller del bus Fe AE In Quindi il sistema provvede a scrivere ogni nuovo valore di _Datalr 0 LED Data 11 8 AMP contemporaneamente sia nel dispositivo HV892 sia nel sk display O me Per raggiungere questo risultato si scelto di aggiornare il Li LED_RS display sul fronte di salita del segnale Update che lo stesso segnale impulsivo ad entrare nel modulo Wishbone Master con il nome trigger __A In definitiva ogni volta che l utente applica un input al DISPLAY sistema mediante gli switch a disposizione il blocco knob_interace restituisce in uscita un segnale di trigger impulsivo e un valore aggiornato di AMP tale coppia di segnali va in input sia al controller 1 C sia al controller LCD Sul piano tecnico anche il modulo LCD_top stato implementato mediante macchine a stati finiti annidate con livello di astrazione crescente con
53. ne In questo paragrafo sono trattate alcune informazioni di base riguardo la luce e la polarizzazione per poter inquadrare meglio il campo di applicazione del progetto Per raggiungere questo scopo prima della polarizzazione verranno dati alcuni richiami sulle onde elettromagnetiche 4 1 1 Classificazione delle onde Il primo passo per avvicinarsi al polarizzatore ottico quello di classificare i vari tipi di onda evidenziando per ciascuno di essi se abbia senso o meno parlare di polarizzazione Una classificazione di base delle onde pu essere effettuata osservando due caratteristiche fondamentali 1 La direzione in cui si muovono le singole particelle del mezzo di propagazione 2 La capacit dell onda di propagarsi nel vuoto Una prima distinzione delle onde viene effettuata appunto a seconda della direzione in cui si muovono le particelle del mezzo in cui questa si propaga Prima di tutto bene notare che con l espressione direzione di propagazione ci si riferisce alla direzione nella quale avviene il trasporto di energia Le onde in generale possono essere ongitudinali oppure trasversali rientrano nel primo caso quei tipi di onda in cui le particelle del mezzo si muovono in direzione coincidente a quella di propagazione le onde trasversali invece sono quelle in cui il tale movimento del mezzo avviene in direzione perpendicolare a quella di propagazione La seconda distinzione che si compie riguarda la capacit di un o
54. ntegrato pi recente non sar necessario riprogettare l intero sistema Questo possibile perch tutti i dispositivi 1 C hanno sempre gli stessi due canali e pertanto se voglio aggiornare un determinato dispositivo non necessario riprogettare tutto il sistema ma basta sostituirlo direttamente Supponiamo ad esempio di voler aggiornare un dispositivo integrato in un sistema che non adotti la convenzione 1 C nel caso in cui il numero o la funzionalit dei pin nel package sia variato non c pi compatibilit con il resto del circuito e va rivisto integralmente Si dice pertanto che un sistema basato su interfaccia 1 C indipendente dai dispositivi connessi Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione Sistema basato su 1 C bus Fig 3 6 Indipendenza dai dispositivi connessi 3 4 2 Funzionamento Il bus I C costituito fisicamente da due linee SDA e SCL i dati effettivi passano attraverso la linea SDA serial data line in successione temporale scandita dai fronti del clock presente nella linea SCL serial clock line Come regola generale la linea SDA viene considerata valida solamente durante il livello HIGH valore logico 1 della linea SCL e di conseguenza eventuali commutazioni del suo valore devono verificarsi solo durante lo stato LOW di SCL Clock alto 1 dato stabile Clock basso 0 commutazione dato consentita Fig 3 7 Com
55. o per una determinata architettura soltanto dopo un processo di sintesi quindi il codice HDL gode di un elevatissima portabilit e riutilizzabilit Il Wishbone nasce per rendere pi semplice l inserimento dei core di terza parte nei propri circuiti integrati rendendosi particolarmente attraente in ambito open source Si dice pertanto che Wishbone uno standard per l integrazione System On Chip SOC Il concetto del Wishbone non va confuso con quello dell I C Bus mentre l I C uno standard di comunicazione tra circuiti distinti il Wishbone riguarda moduli funzionali nello stesso circuito Interfaccia Wishbone IP Core TO a IP Core i 5 wb_sigl_o wb_sigl i wb_sigl_o wb_sigl i Circuito integrato Fig 3 4 Interfaccia Wishbone tra due Core Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione vantaggi pi importanti derivanti dall impiego dell interfaccia Wishbone sono 1 3 Diffusione l utente pu integrare direttamente blocchi logici sviluppati da altri progettisti Ottimizzazione non c bisogno di logica collante glue logic per rendere compatibile l hardware esterno Tempo si possono riutilizzare moduli funzionali di terza parte con un approccio a scatola chiusa senza dover spendere tempo ad addentrarsi nei loro dettagli realizzativi Nella pratica il Wishbone si traduce in un insieme di regole e convenzioni riguardanti il modo in cui un core si deve
56. portamento della linea SDA in funzione della SCL CONDIZIONI DI INIZIO E FINE TRASMISSIONE Per delimitare una ben precisa sessione di trasmissione dati il protocollo 1 C prevede l utilizzo di due condizioni univoche di inizio e fine START e STOP cos definite e START se SDA ha una transizione 1 gt 0 mentre SCL stabile a 1 e STOP se SDA ha una transizione 0 gt 1 mentre SCL stabile a 1 Queste due condizioni rappresentano le uniche eccezioni consentite alla regola sulla validit dei segnali in quanto prevedono commutazioni di SDA quando SCL alto Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione START STOP Fig 3 8 Condizioni di start e stop della trasmissione NB In alternativa possibile anche la condizione di repeated START ossia uno start ripetuto qualora il master voglia comunicare nuovamente con lo slave a questo scopo sufficiente che il master in luogo dello STOP invii un altro segnale di START TRASMISSIONE DEL DATO Il protocollo 1 C trasmette pacchetti di dati a dimensione variabile racchiusi entro le due condizioni di START e STOP i pacchetti seppur non abbiano limite di lunghezza sono sempre costituiti dalla successione di uno o pi byte p p g 1 P 7a V VO SR SA Ci I OO ONC A P __ MSB acknowledgement acknowledgement Sr signal from slave signal from receiver byte complete interrupt within slave i clock line held low while
57. put next 4 input reset 5 input mode 6 input left 7 input rotg 8 output reg 7 0 AMP_value 9 output reg refresh 10 11 12 reg 7 0 temp_amp 13 reg mode_copy 14 15always posedge clock or posedge reset 16 if reset I7 begin 18 temp_amp 7 0 lt 8 h00 19 AMP_value lt 8 h00 20 refresh lt 0 21 end 22 else 23 begin 24 refresh lt 0 25 26 Non appena attivo il modo 1 mi porto in standby 27 mode_copy lt mode 28 if mode_copy 0 amp amp mode 1 29 begin 30 temp_amp 7 0 lt 8 h00 31 AMP_value lt 8 h00 32 refresh lt 1 33 end 34 if mode_copy 1 amp amp mode 0 35 begin 36 refresh lt 1 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 TI 72 73 74 75 76 Vari 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 endmodule Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione end MODE 0 modalit continua if next 1 amp amp mode 0 begin refresh lt 1 if left 0 amp amp temp_amp 8 hFF begin temp_amp lt temp_amp 1 AMP_value lt temp_amp 1 end if left 1 amp amp temp_amp 8 h00 begin temp_amp lt temp_amp 1 AMP_value lt temp_amp 1 end end else begin if rotg begin refresh lt 1 temp_amp 7 0 lt 8
58. r COMMAND REGISTER Si tratta di un registro accessibile in sola lettura che il Wishbone Master utilizza per gestire la comunicazione Il significato degli 8 bit che lo compongono riassunto nel seguente prospetto Bit Descrizione 7 Genera la condizione di start 6 Genera la condizione di stop 5 Lettura dallo slave 4 Scrittura allo slave 3 ACK il WBM scrive 0 quando ha ricevuto un dato 2 1 Utilizzo riservato 0 IACK il WBM scrive 1 per ripristinare dopo un interruzione Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione STATUS REGISTER Viene consultato in sola lettura dal Wishbone Master per aggiornarsi sullo stato della comunicazione nell I C Bus Anche in questo caso ogni bit ci d informazioni su una precisa situazione secondo il prospetto Bit Descrizione 7 ACK va a 0 quando la comunicazione con l I C Slave ha avuto successo 6 BUSY vale 1 nell intervallo tra uno Start e uno Stop 5 Non utilizzato Arbitraggio 4 2 Utilizzo riservato 1 TIP vale 1 durante un trasferimento 0 quando terminato 0 IF interrupt flag va a 1 quando il trasferimento non ha avuto successo 3 5 2 Wishbone Master Questo modulo funziona in modo complementare al Wishbone Slave appena presentato mentre lo Slave non altro che uno strumento in grado di svolgere tutte le operazioni possibili nell ambito del bus 1 C il
59. rato che viene opportunamente abraso Tale abrasione viene praticata in modo molto leggero e avviene ovunque nella stessa direzione la Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione finalit di questa operazione quella di conferire un orientamento preferenziale alle molecole dei cristalli liquidi Infatti essendo questi a diretto contatto con la parete succede che tendono ad adagiarsi su di essa seguendo proprio l orientamento dettato da questi graffi in assenza di campo elettrico quindi si pu pensare che tutte le molecole dei cristalli liquidi abbiano una direzione ordinata Bisogna precisare che non solo le molecole a contatto con la superficie graffiata si orientano bens l intera massa dei cristalli liquidi trattandosi infatti di una variet nematica le molecole tenderanno ad assumere un orientamento omogeneo anche nella parte pi interna dello strato e a restare sempre parallele tra loro Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione Capitolo 5 TEST Nel seguente capitolo vengono riportate le osservazioni conseguenti i vari test a cui stato sottoposto il sistema nella fase finale TEST ELETTRONICI Una prima verifica del corretto funzionamento stata quella di controllare se l onda quadra generata all uscita dell elettronica di controllo rispettasse tutti i parametri indicati nelle specifiche A tale scopo si utilizzato u
60. stata assistita dal software Xilinx ISE 11 Webpack in dotazione con la evaluation board Si tratta di un ambiente di sviluppo integrato che funziona da editor di testo tool di simulazione sintetizzatore di linguaggio ed interfaccia con la board 3 1 Mappa della struttura La logica del progetto suddivisa in diversi blocchi interconnessi secondo una gerarchia questi blocchi sono detti entities poich ciascuno di essi realizza in maniera indipendente una precisa funzionalit Questo sistema si rivela molto produttivo ai fini della progettazione semplificandola e rendendola pi chiara dal momento che consente di lavorare in maniera compartimentata concentrandosi volta per volta nello sviluppo di una singola porzione della funzionalit complessiva Ci che si ottiene un progetto che include al suo interno diversi sotto progetti fusi insieme tra loro Questa suddivisione puramente concettuale nel senso che al momento della sintesi il software della FPGA Xilinx provvede a tradurre queste strutture astratte in un insieme di interconnessioni e porte logiche elementari perdendo le informazioni sulle varie entities che si erano create in fase di realizzazione La struttura tipica prevede la presenza di un modulo principale detto top questo viene posto al livello gerarchico pi alto caratteristica che gli conferisce due importanti funzioni 1 i suoi ingressi e uscite sono quelli diretti all esterno pertanto possono essere m
61. te lt WRITE9 else state lt WRITE8 end SCRIVO NEL COMMAND REGISTER LA CONDIZIONE WRITE9 begin add_reg lt CR data_o lt 8 b01010000 w_rn lt l bl start_wb_cyc lt l bl DI state lt WRITE10 end WRITE10 begin start_wb_cyc lt 1 b0 if got_ack state lt WRITE11 else state lt WRITE10 end LEGGO LO STATUS REGISTER bis WRITE11 begin add_reg lt SR w_rn lt l b0 start_wb_cyc lt l bl state lt WRITE12 end WRITE12 begin start_wb_cyc lt 1 b0 1f got_ack begin data_i lt wb_dat_i state lt WRITE13 end else state lt WRITE12 end WRITE13 begin if data_i 1 if data_i 7 state lt DISABLEO else state lt STOP_ERR1 else state lt WRITE11 end BBILITO IL CORE DISABLE0 begin add_reg lt CTR data_o lt 8 b00000000 w_rn lt l bl start_wb_cyc lt l bl STOP e WR BIT N D 0 D0HDUDWNLO Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione state lt DISABLEl1 end DISABLEl begin start_wb_cyc lt 1 b0 1f got_ack state lt IDLEO else state lt DISABLEl end In caso di mancanza di ACK dello slave mando lo STOP di chiusura STOP_ERR1 begin state lt STOP_ERR1l end LOOP be
62. ttibilit ma che non tiene conto di alcuni vincoli che dovranno invece essere rispettati nella versione definitiva In primo luogo non stata rispettata alcuna particolare specifica riguardo alle dimensioni essendo irrilevante qualora si stia analizzando solo la funzionalit complessiva del sistema Per questo motivo si potuta utilizzare una scheda di sviluppo per FPGA Spartan 3A senza alcun problema PROGETTO Per poter mettere in pratica questa idea si costruito un driver elettronico costituito dalle seguenti componenti v Scheda di sviluppo Xilinx Spartan 3A v Circuito integrato Supertex HV892 alloggiato su un opportuno stampato mentre il polarizzatore ottico in senso stretto dato da una cella a cristalli liquidi connessa a tale elettronica di controllo Il chip Supertex HV892 costituisce gi di per s il driver della LCD tuttavia l FPGA necessaria in quanto una volta programmata funziona da ambiente di prova Quindi l HV892 viene connesso alla Spartan e da questa viene comandato mediante i vari switch a disposizione dell utente In questo modo la scheda di sviluppo Spartan simula un possibile ambiente di utilizzo ad esempio una fotocamera e funziona da interfaccia per l utente Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione OBIETTIVI CONSEGUITI Nel corso del tirocinio sono stati approfondite ed ampliate le conoscenze derivanti dal corso di laur
63. tutto di fondamentale importanza il sistema antirimbalzo che limita i danni provocati dalle transizioni non ideali dei segnali fisici provenienti dai sistemi di input meccanici Oltre a questo nella entity interfaccia inglobato anche un blocco logico che genera il valore di AMP inviato successivamente al dispositivo slave tramite 1 C Il blocco Wishbone Master coordina il rispettivo Slave comunicandoli quali operazioni effettuare nel caso specifico del nostro progetto lo WISHBONE Slave deve solo effettuare scritture nell I C bus ogni volta che si MASTER aggiorna il valore di AMP controller_top v Pertando questa entity stata implementata con una macchina a stati finiti che esegue un ciclo di scrittura sullo slave ogni volta che AMP cambia Questo modulo pur essendo lo slave rispetto all interfaccia WISHBONE Wishbone si comporta da master rispetto al protocollo 1 C SLAVE stato fornito pronto all uso da OpenCores community con lo scopo i2c_master_top v di condividere hardware open source e promotore del bus Wishbone Display 1 C Master gt Interfaccia Slave Logica FPGA Fig 3 1 Schema riassuntivo delle varie entities Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione 3 2 Acquisizione degli input Il blocco gerarchico pi elevato di questa sezione knob_interface v
64. uzione l azienda mi ha proposto la redazione di un documento incluso nel business plan con lo scopo di confrontare i maggiori concorrenti di Adaptica e fornire una veloce panoramica sulla tecnologia proposta dai diversi produttori di strumenti per l ottica adattiva specchi deformabili correttori di fronte d onda ecc z Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione Capitolo 2 COMPONENTI Introduzione Il progetto completo costituito fondamentalmente da una parte elettronica e da una parte ottica la parte ottica data dalla singola cella a cristalli liquidi mentre la parte elettronica un insieme di pi componenti Per il pilotaggio della cella ci si avvalsi di un circuito integrato prodotto dall azienda americana Supertex interfacciato mediante bus 1 C alla scheda di sviluppo Xilinx Spartan 3A Di quest ultima in particolare modo sono stati sfruttati i dispositivi di input meccanici switch pulsanti ruote e il display integrato il tutto gestito dall FPGA Spartan XC3S700A che una volta programmato costituisce il blocco logico del progetto 2 1 Scheda di sviluppo Xilinx Spartan 3A Trattandosi di un prototipo per studiare la validit del progetto si scelta l implementazione mediante una scheda di sviluppo basata su FPGA infatti l intero progetto una volta terminate tutte le procedure di test ed ottimizzazione pu essere completamente contenuto in un pcb
65. xxx 1111 Latine ii E f 8 o ETE Fig 2 5 Mappatura dei simboli visualizzabili CG RAM Character Generator Ram Questa porzione di memoria non stata utilizzata nel progetto Consente all utente di memorizzare 8 simboli aggiuntivi custom identificandoli con una matrice di 8x5 che corrisponde graficamente alla matrice di pixel che costituiscono un carattere Per ogni posizione viene scritto un 1 dove si vuole che il corrispondente pixel sia acceso e uno 0 dove lo si vuole spento Sviluppo di un modulatore di polarizzazione ottica tramite tecnologia LCD in trasmissione 2 2 Supertex HV892 Liquid lens driver Per realizzare la parte relativa al pilotaggio della cella LCD il progetto si avvale del chip HV892 prodotto dalla Supertex Questo dispositivo stato originariamente concepito come driver per lenti liquide il suo scopo sarebbe dunque quello di regolare la forma di una lente agendo sulla sua concavit menisco Tuttavia lecito utilizzare tale dispositivo anche per i nostri scopi infatti sia la lente liquida che la cella LCD si comportano come un carico capacitivo al quale vogliamo applicare una differenza di potenziale tra le armature per modificare il campo elettrico L unico accorgimento da tenere presente quello che la capacit dell LCD deve rientrare nel range fornito dalle specifiche vale a dire al massimo 200pF MW DI Lente liquida Cella LCD Fig 2 6 Equivalenza tra le strutture
66. zare un filtro trasmissivo di tipo attivo vale a dire una cella LCD Come verr spiegato pi avanti anche i cristalli liquidi possono ricoprire la stessa funzione del Polaroid con la differenza che l asse di polarizzazione pu essere variato per via elettronica senza dover necessariamente agire meccanicamente sul filtro RIFLESSIONE E RIFRAZIONE Un altro modo per ottenere luce polarizzata a partire da un generico fascio luminoso quello di sottoporla a riflessione da parte di una superficie non metallica La radiazione riflessa risulter polarizzata parallelamente alla superficie bene notare che l efficacia della trasformazione dipende principalmente dall angolo d incidenza del fascio originale e dal materiale della superficie riflettente Come specificato in precedenza le superfici metalliche non si prestano per funzionare da polarizzatori in riflessione questo si spiega considerando che i metalli una volta raggiunti da una radiazione elettromagnetica sono in grado di rifletterla in una variet di direzioni differenti Un buon esempio di luce polarizzata riflessa quella proveniente dalle superfici d acqua in fotografia infatti cosa frequente impiegare dei polarizzatori ottici proprio allo scopo di eliminare i riflessi indesiderati provenienti dal mare o altri specchi d acqua Un fenomeno simile si verifica quando il fascio non polarizzato viene rifratto nel passaggio tra due materiali aventi densit differente in questo
Download Pdf Manuals
Related Search
Related Contents
交換玉座セット 型式:6600-F Electrolux JLBIOS608 User's Manual Multiquip MB1000 User's Manual Pentax 3, 3 Plus Printer User Manual TDSHーBA 東芝電球ペンダン ト取扱説明書 保管用【 歩車間 株式会社パナソニックシステムネットワークス開発研究所 ematrix manual Samsung Samsung I8730 Наръчник за потребителя Capitolato speciale d`appalto Copyright © All rights reserved.
Failed to retrieve file