• Non ci sono risultati.

3 Set-up sperimentale

SER SRCLK SRCLR RCLK OE FUNZIONE

3.6.2 Descrizione Software realizzato

Il software realizzato in questo lavoro di tesi è stato progettato con lo scopo di poter acquisire i segnali relativi alle tre variabili di stato di quattro Chua con una topologia all-to-all, con la possibilità di variare la resistenza e la capacità relative al singolo link. Dopo aver effettuato l'acquisizione si ricava una valutazione dello stato sincrono dei circuiti attraverso un indice, che verrà approfondito successivamente. Dunque l'obiettivo è quello di permettere una scansione automatica dei valori di resistenza di link possibili al fine di trovare il particolare valore di soglia tra lo stato sincrono e quello asincrono.

Il programma, oltre a fornire la possibilità di impostare i parametri più opportuni per le acquisizioni, consente due modalità di esecuzione: Scan mode e Control

mode. Analizziamo nel dettaglio le sub-Vi con le quali è stato realizzato: Create Task.vi

Come anticipato, è la prima Sub-Vi ad essere eseguita quando si lancia il programma, e consente di avere un'interfaccia molto intuitiva riguardo ai parametri inerenti alla fase di acquisizione:

Come si può osservare dall'immagine, attraverso il Front Panel è possibile scegliere il numero di circuiti che si intende utilizzare e il numero di segnali da acquisire per circuito, in modo da poter ottimizzare il numero di campioni e la frequenza di acquisizione in funzione di essi rendendo inoltre tali dati disponibili ai blocchi successivi.

È inoltre stato scelto di eseguire un'acquisizione in modalità Finite Sample, ovvero con un numero di campioni fisso per ogni ciclo, per evitare di riempire il buffer ciclico su cui vengono inviati, con conseguente perdita di dati utili.

Va precisato che LabView mette a disposizione delle librerie di sub-Vi con le quali

fig. 3.23: Sezione del Front Panel per la creazione del task di acquisizione

è possibile variare tali parametri, ma tale operazione può essere eseguita solo agendo dal Block Diagram essendo tali parametri espressi sotto forma di stringhe di valore costante. Per avere un'interfaccia disponibile sul Front Panel è stato necessario modificare tali sub-Vi, ottenendo come risultato quello riportato in figura:

Control Mode

Questa modalità di esecuzione è essenzialmente strutturata in tre blocchi, ognuno contenuto in una sezione di una stacked sequence, che viene ripetuta ciclicamente durante tutta l'esecuzione. I tre blocchi corrispondono alla fase di creazione del task di acquisizione e visualizzazione dei segnali, eventuale setting delle resistenze di link, ed eventuale salvataggio delle forme d'onda visualizzate.

Come mostrato in figura 3.25, il flusso dei dati è tale per cui la prima operazione eseguita è la creazione del task di acquisizione (Acquisition Task.vi) in funzione dei valori ricevuti dalla sub-VI Create Task.vi. Viene quindi generata una matrice contenente le forme d'onda dei segnali acquisiti, la quale viene processata per il calcolo dell'indice di sincronizzazione, che verrà approfondito successivamente, oltre che per la visualizzazione in modalità XY di due segnali (fig.3.26) a scelta e la visualizzazione di tutte le forme d'onda con la possibilità di separarle (Split

signals), come mostrato in figura 3.26.

È utile sottolineare che la visualizzazione delle forme d'onda è stata pensata in modo da poter scegliere quali segnali tra quelli disponibili si intende graficare, che

lo “split signals” agisce a prescindere dall'ampiezza dei segnali stessi e che è possibile ridurre il numero di campioni da visualizzare per ottenere un ingrandimento delle forme d'onda.

fig. 3.26: Segnali acquisiti

Il secondo blocco della stacked sequence viene eseguito solo quando dal Front Panel (fig. 3.27) viene dato l'input di Setting :

Come si vede dalla figura, il valore di resistenza da impostare può essere unico per tutti i resistori disponibili (common setting) o diverso per ogni resistore (individual

setting), sono presenti inoltre due controlli relativi al resistore di Offset

eventualmente presente ed al valore di capacità inserito sulla scheda per poter salvare i dati con un riferimento a questi parametri. Il vettore contenente le resistenze effettivamente settate tiene conto sia dell'Offset che delle resistenze parassite degli switch con cui sono realizzate.

Si riporta in figura 3.28 la sezione di Block Diagram relativa al secondo ed al terzo passo della stacked sequence, relativo al salvataggio delle forme d'onda (opzionale) visualizzate al tempo di esecuzione.

fig. 3.27: Sezione del Front Panel relativa al setting delle impedenze di link

Scan mode

Nella modalità Scan è possibile eseguire in maniera automatica una scansione al variare dei valori di resistenza di link, con la possibilità di impostare il valore iniziale, quello finale e lo step (con una risoluzione massima di 50 Ohm). Per ogni valore di resistenza vengono effettuate cinque acquisizioni di 2500 campioni l'una, per ognuna delle quali viene calcolato l'indice di sincronizzazione e ne viene fatta una media, viene generato inoltre un file .lvm che contiene i segnali acquisiti (in formato numerico) per ogni step di resistenza, ed il cui nome viene generato in funzione del valore di capacità impostato e del valore di resistenza relativo. Al

termine del ciclo viene generato un ulteriore file contenente tutti i valori di resistenza interessati e gli indici delle tre variabili di stato per ognuno di tali valori.

Set Link Resistor.vi

Rispetto alla versione Control, nella modalità Scan il codice relativo al setting delle resistenze è stato ottimizzato per una esecuzione più rapida. Ciò si è reso necessario in quanto riutilizzando la stessa sub-VI progettata per la versione

Control la scansione sui valori di resistenza richiede un tempo di esecuzione pari a

circa due ore, rendendo proibitiva l'acquisizione dei relativi indici. La versione ottimizzata per lo Scan, a differenza dell'altra, genera la sequenza di bit da inviare al modulo UM245R in un unico ciclo per ogni valore di resistenza da impostare. In tal modo non sono più necessarie otto inizializzazioni dell'interfaccia USB per ogni step, ed il tempo necessario alla scansione è stato ridotto ad un ottavo circa delle due ore necessarie in precedenza.

Il cerchio in rosso in figura (3.30) corrisponde alla sequenza di bit necessari per impostare il valore di un unico resistore presente sulla scheda. Per consentire la possibilità di settare i resistori a valori anche diversi tra loro, questo blocco viene eseguito otto volte ogni qual volta viene richiamata la sub-VI Set resist.vi in modalità Control.

Come anticipato, per velocizzare la scansione visto l'elevato numero di acquisizioni necessarie, tale sub-VI è stata modificata per l'esecuzione in Scan mode:

fig. 3.30: Setting resistenze, versione per la modalità "Control"

In tal caso infatti questo blocco di operazioni viene eseguito un'unica volta, mentre è la sequenza di bit ad essere calcolata per tutti e otto i resistori (passando da 20 a 160 byte), rinunciando alla possibilità di settare i resistori a valori diversi ma con un guadagno in termini di velocità pari a otto volte (circa) rispetto alla versione precedente.

Documenti correlati