Back end digitale programmabile modulare basato su FPGA. SPECTRA-1 (SPECTRum Analyzer 1)



Documenti analoghi
BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

IRSplit. Istruzioni d uso 07/10-01 PC

Lettore di badge Nexus

Versione 2.0. Manuale d uso. Software per la gestione. degli applicativi Bticino. TiManager 03/07-01 PC

GUIDA UTENTE MONEY TRANSFER MANAGER

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

Guida rapida Vodafone Internet Box

Istruzioni operative instal azione FirmaVerifica3.0 Pag.1 di 27

Manuale di programmazione BerMar_Drive_Software

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Installazione di Zelio Soft 2 su Microsoft Windows Vista

Esame di INFORMATICA

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Programma applicativo di protezione LOCK Manuale per l utente V2.22-T05

Architettura hardware

INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014)

Procedure per l upgrade del firmware dell Agility

CTVClient. Dopo aver inserito correttamente i dati, verrà visualizzata la schermata del tabellone con i giorni e le ore.

Scheda IEEE Versione 1.0

Gui Gu d i a d ra r p a i p d i a V d o a d f a one Int fone In e t r e net rnet Box Key Mini

LaCie Ethernet Disk mini Domande frequenti (FAQ)

La memoria centrale (RAM)

OSCILLOSCOPIO SOFTWARE

Mac Application Manager 1.3 (SOLO PER TIGER)

FIRMA DIGITALE RETAIL

EM Camera Web con microfono

BMSO1001. Orchestrator. Istruzioni d uso 02/10-01 PC

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Per cosa posso utilizzarlo?

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

C. P. U. MEMORIA CENTRALE

Fatti Raggiungere dal tuo Computer!!

Guida di Pro Spam Remove

Infrastruttura wireless d Ateneo (UNITUS-WiFi)

COME COLLEGARSI DA REMOTO AD UN PLC S7-300/400 via MPI Indice

Sistemi operativi. Esempi di sistemi operativi

Come usare P-touch Transfer Manager

TERM TALK. software per la raccolta dati

Guida all utilizzo della postazione virtuale (VDI)

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

STRUMENTI PER L ACCESSIBILITÀ DEL COMPUTER.

ARCHITETTURA DI RETE FOLEGNANI ANDREA

PORTALE CLIENTI Manuale utente

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

ATTENZIONE: note rilasciate dalla Regione Lazio (produttore del Software FLUR2014) e che si prega di leggere attentamente:

Corso di Informatica

MANUALE EDICOLA 04.05

Guida alla registrazione on-line di un DataLogger

SISTEMA INFORMATIVO AGRICOLO REGIONALE

Kroll Ontrack Servizi RDR Guida rapida

GUIDA ALL UTILIZZO DEL SOFTWARE SCANPROT

Elettronica dei Sistemi Programmabili

(Guida operativa per lo specialista cardiologo)

FPf per Windows 3.1. Guida all uso

ZFIDELITY - ZSE Software & Engineering Pag.1 / 11

Guida dell utente. NVIDIA SLI Come configurare un PC con soluzioni

PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO

Aggiungere le funzionalità ACN in Iatros

Informatica 1 Lezione 1

L amministratore di dominio

MANUALE PARCELLA FACILE PLUS INDICE

Connessione di RStone al computer tramite RKey

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti.

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Guida di Pro PC Secure

Gestione delle Cartelle dei Messaggi di Posta Elettronica

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

HDSL640 ADSL USB Modem

Dispensa di Informatica I.1

Configurare una rete con PC Window s 98

Organizzazione della memoria

Creazione e configurazione della macchina virtuale

Manuale per l utilizzo dell applicazione Client per il controllo remoto di apparecchiature da laboratorio

Capitolo 1 Installazione del programma

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Dispositivo Firma Digitale

bolt PC-Suite (Guida all installazione)

Memoria Secondaria o di Massa

Utilizzo della chiavetta SE 50UMTS per la navigazione Web tramite PC

Dispositivo wireless Interfaccia Ethernet in tecnologia ZigBee

BMSO1001. Management Utilities. Istruzioni d uso 02/10-01 PC

Sistema operativo: Gestione della memoria

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Manuale riferito alla versione 1.2.0

P-660HW-D Series. Guida Rapida g Wireless Gateway ADSL porte. Versione /2006 Edizione 1

INSTALLAZIONE PROCEDURA 770/2011

FRANCESCO MARINO - TELECOMUNICAZIONI

I componenti di un Sistema di elaborazione. CPU (central process unit)

ARGOSCAN Argo Software S.r.l. -

MANUALE UTILIZZO NUOVO PORTALE AGG.TI Multiconsult PADOVA

1 -Introduzione MODULO L1

MT2 e MT3: Schede e sistemi di controllo motori passo passo

Informatica. Teoria. L architettura dei PC Storia dell informatica Periferiche Reti - Software. Marco Brama

Manuale Utente Guglielmo MILESTONE

Crotone, maggio Windows. Ing. Luigi Labonia

Manuale Utente MyFastPage

Guida all installazione e utilizzo del software Airbag Crash Cleaner

ANALISI SOSPENSIONI Modalità Base

Transcript:

Back end digitale programmabile modulare basato su FPGA SPECTRA-1 (SPECTRum Analyzer 1) Luca Zoni (IRA/INAF), Marco Bartolini (IRA/INAF), Stelio Montebugnoli (IRA/INAF), Andrea Maccaferri (IRA/INAF). Rapporto interno IRA/INAF IRA 427/09 Lo strumento è stato realizzato nell'ambito del Progetto ITASEL (P.I.: C.B. Cosmovici) con contratto ASI I/R/059/04 (Project Manager : E.Flamini).

Architettura Hardware Lo SPECTRA-1 (Spectrum Analyzer-1) è un back-end digitale modulare e programmabile per osservazioni radioastronomiche basato su FPGA. Il sistema è costituito fisicamente da un cestello da 19 a 7 unità standard, basato su back-plane compact PCI. Il back-plane stesso è a 64 bit / 66 MHz per una banda lorda di 4.2 Gbps. La banda netta del bus non è definibile a priori in quanto dipendente dall overhead del sistema operativo. SPECTRA-1 è gestito da una single board computer (SBC) della AdLink basata su processore Pentium M a 1.6 GHz. La connettività è garantita da diverse interfacce: Rete ethernet 10/100 Mbit Rete ethernet 1 Gbit USB Accesso locale: tastiera, mouse, uscita video. All interno del crate sono presenti un unità disco fisso di 250 GB e un unità CD-RW per il backup dei dati. L accessibilità di tutti i connettori è possibile sia da front panel che dalla parte posteriore, facilitando così il cablaggio dei componenti. Il sistema operativo che sovrintende il funzionamento dello SPECTRA-1 è Linux con kernel 2.4.22. La scelta di questo è stata dettata dall esigenza di stabilità, affidabilità e personalizzazione di tutta l infrastruttura software a basso livello. Il core di elaborazione hardware del sistema è una scheda basata su FPGA della Xilinx. La banda elaborabile da questa scheda è di 125 MHz. E possibile installare fino a quattro moduli, per una banda netta elaborabile di 500 MHz. Modulo di elaborazione Figura 1 - Il sistema riconfigurabile Spectra-1 con un modulo installato, durante i test

Schema a blocchi del modulo base Figura 2 - Schema a blocchi del modulo di elaborazione Figura 3 - Il modulo di elaborazione

La Figura 2 mostra lo schema a blocchi del modulo di elaborazione hardware di Spectra-1, mentre la Figura 3 inquadra la prototipizzazione. I componenti principali sono: ADC Sono convertitori A/D della Analog Devices (AD9445). Questi possono operare ad una sampling rate di 125 MHz, permettendo quindi di campionare una banda complessa di 125 MHz. Le uscite degli ADC sono segnali LVDS differenziali, direttamente connessi a FPGA1 e FPGA2. Questo fatto porta alla possibilità di elaborare i segnali in maniera concorrente aumentando così la capacità di calcolo e la flessibilità. FPGA1-4 Sono logiche programmabili della Xilinx della famiglia Virtex-II. In particolare le FPGA2-4 sono delle XC2V3000-FG676-5. Questi tre chip hanno 3 milioni di gate e 676 pin. Tolte le alimentazioni e i pin dedicati rimangono disponibili 484 pin di I/O suddivisi in 8 banchi. La frequenza massima di funzionamento si aggira sui 130 MHz dipendentemente dall architettura implementata a bordo. La FPGA1 è siglata XC2V4000-FP1517-5. Ha 4 milioni di gate e 1517 pin di cui utilizzabili 912 a livello utente. La programmazione delle logiche avviene per mezzo degli opportuni tools forniti dalla Xilinx o da compagnie partner. L accessibilità delle stesse è possibile tramite interfacce JTAG. Per ulteriori informazioni su questi chip si rimanda ai rispettivi datasheet. FIFOs Hanno il compito di allineare il flusso dati fra i motori di elaborazione e l acceleratore PCI di cui sotto. Sono chip della Cypress operanti in maniera totalmente asincrona fra le porte di lettura e scrittura. Raggiungono velocità di clock di 100 MHz. L FPGA1 gestisce un ulteriore banco di 8 FIFO utilizzato come memoria di transito locale dei dati per implementare filtri FIR ad elevato numero di tappe. CLK management system Riceve il clock proveniente dal maser e lo distribuisce ai vari dispositivi sulla board dopo averlo opportunamente moltiplicato/diviso in frequenza e riallineato nei fronti. La distribuzione avviene per mezzo di livelli LVDS che consentono di raggiungere elevate velocità e precisioni di commutazione. La distribuzione dei clock viene controllata da FPGA1 tramite interfaccia SPI verso il chip di distribuzione. Acceleratore PCI E adibito all interfaccia con il backplane PCI. Questo chip regola l accesso al modulo hardware da parte della CPU centrale, prendendosi carico della corretta gestione dei cicli DMA per il trasferimento dei dati.

I Bus Sono presenti quattro bus: Il bus PCI E il bus residente sul backplane, gestito dalla CPU centrale. Provvede al trasferimento finale dei dati in memoria centrale tramite cicli DMA, al fine di non occupare tempo CPU utile alla post elaborazione e memorizzazione dati Il Local Bus E formato dalle line dati, indirizzi e controlli locali. Viene gestito dall acceleratore PCI che è il dispositivo master del Local Bus. L FPGA4 si occupa della gestione dei segnali di controllo provenienti dal PCI accelerator. Gestisce i cicli di bus in modalità burst da/verso il bridge PCI. Il bus ausiliario Interconnette tutte le FPGA al fine della sincronizzazione e interscambio dei dati e controlli. Tramite questo bus vengono impartiti i comandi ai core di elaborazione e vengono trasferiti i dati alla FPGA4 che li passa al PCI accelerator. Il memory bus Gestisce i cicli di lettura/scrittura verso la memoria SDRAM presente a bordo. Come si può notare il bus è raddoppiato per permettere la tecnica del page swapping. Questa consente di mantenere il realtime nelle operazioni di accesso concorrente alla memoria da parte di dispositivi in pipeline sui dati.

Componenti hardware implementati sulle FPGA Al momento sono stati sviluppati i seguenti moduli hardware. Sono stati tutti inseriti in librerie per consentire un agevole riutilizzo del software. Dove possibile è stato utilizzato il linguaggio VHDL, il quale presenta un ottima portabilità su architetture differenti. I moduli attualmente implementati sono elencati nella tabella seguente: Modulo SPI Config. Distrib. Clock FFT (1-16 kch) Polyphase Filter Bank (1 16 kch) Acquisizione nel dominio del tempo Integratore su interfaccia DPRAM Integratore su interfaccia Xilinx RAM-BLOCK Interfaccia FIFO Cypress Decimated FIR Rom + tool di generazione Sync generator Libreria componenti standard Interfaccia PLX9656 (PCI Accelerator) Decimatore Interfaccia memorie SDRAM DDR Linguaggio VHDL + schema Schema + Xilinx Core Generator + VHDL Verilog (Mock generator) Verilog (Mock generator) Schema + Xilinx Core Generator + VHDL VHDL+schema VHDL+schema VHDL VHDL+schema VHDL+ C VHDL VHDL VHDL + schema + Xilinx Core Generator VHDL + schema VHDL

Applicazioni Le applicazioni correntemente sviluppate sono le seguenti: Spettrometria (varie configurazioni in dinamica e risoluzione) Acquisizione nel dominio del tempo Total Power Correlazione 2 canali

Modalità di configurazione La programmazione dello strumento avviene tramite il tool Impact della Xilinx. Il tool permette di accedere, tramite l interfaccia posta sul front-panel, alla programmazione delle FPGA e delle EEPROM di configurazione delle stesse. Le EEPROM relative alle FPGA1 e 4 sono già programmate per avere un analizzatore di spettro polifase a 4k canali, cosicchè all accensione della macchina questa è la configurazione di default. Se si desidera programmare diversamente la macchina occorre procedere come segue. 1. Collegare il cavo di programmazione Collegare il Parallel Cable III della Xilinx alla porta parallela del PC e al connettore frontale relativo alla FPGA che si vuole programmare. I connettori sono numerati da 1 a 4 relativamente alle FPGA come da schema a blocchi. 2. Avviare Impact All avvio viene presentata la schermata di Figura 4. Figura 4 - Avvio di Impact 3. Cliccare su Cancel per avere accesso alla schermata principale del programma.

4. Fare doppio clic su Boundary Scan nel navigator in alto a sinistra 5. Fare clic col tasto destro sulla finestra principale e selezionare Initialize chain. In questo modo parte il riconoscimento della cascata JTAG formata dalla EEPROM e dalla FPGA. Se il cavo è collegato correttamente e non ci sono problemi hardware nella finestra di Impact compariranno i due dispositivi e verrà aperta la finestra di dialogo per la scelta dei file di configurazione come in Figura 5. Figura 5 - Scelta dei file di configurazione Per le EEPROM, con sigla XCF***, il file di configurazione ha estensione.mcs, mentre per le FPGA l estensione è.bit. Una volta assegnati i file di configurazione ai dispositivi è possibile effettuare varie operazioni in funzione del dispositivo selezionato. Cambiando la programmazione delle EEPROM la configurazione del sistema diventa non volatile, mentre programmando direttamente l FPGA, se si spegne il sistema si perde la configurazione. La scelta di programmare l una o l altra è in alternativa, ferma restando la caratteristica di volatilità del programma in funzione del dispositivo scelto. La scrittura della configurazione su EEPROM, ovviamente è distruttiva del precedente contenuto. In altri termini la configurazione precedente viene persa.

6. Programazione della EEPROM Una volta assegnato il file.mcs alla EEPROM si deve provvedere alla programmazione fisica della stessa. Per fare questo selezionare la EEPROM e fare doppio clic su Program nel navigator a sinistra. Viene così aperto un form per la scelta delle opzioni di programmazione (Figura 6). In questo form selezionare le seguenti caselle: Erase before programming Così facendo la memoria viene azzerata prima della programmazione per consentire una corretta programmazione Load FPGA Al termine della programmazione della EEPROM il programma viene trasferito anche sulla logica programmabile Parallel mode La lettura della EEPROM da parte della FPGA avviene tramite bus parallelo, velocizzando così la configurazione del dispositivo. Figura 6 - Opzioni di configurazione Dando l OK alla finestra di dialogo partono le operazioni sul dispositivo, segnalate da una barra di avanzamento. Al termine delle operazioni viene rilasciato un messaggio di successo/insuccesso. Attenzione! Utilizzando il sistema operativo Windows XP, probabilmente a causa di un baco nei driver del Parallel Cable III, i primi tentativi di programmazione falliscono con un errore di DONE pin did not go high. Tentando nuovamente il problema dovrebbe rientrare.

7. Programmazione dell FPGA (in alternativa alla precedente) Se occorre effettuare dei test di applicazioni è raccomandabile non utilizzare la EEPROM in maniera intensiva. Questo per risparmiare il numero di cicli di scrittura della stessa. Diventa molto utile ed immediato avere la possibilità di programmare direttamente l FPGA con il bitstream.bit generato dai tool di progettazione. La procedura di programmazione, una volta che il file è stato assegnato alla FPGA (vedi punto 4) è la seguente. Occorre selezionare l FPGA e successivamente fare doppio click su Program nel navigator a sinistra dello schermo. Si apre la finestra di dialogo di figura 7. Figura 7 - Opzioni di programmazione diretta dell'fpga Selezionare l opzione Pulse PROG, che consente di resettare la memoria interna della FPGA prima di trasferire il bitstream. Dando l OK la programmazione ha luogo segnalata da una barra di avanzamento.

Accesso al sistema Spectra-1 è accessibile localmente tramite la canonica finestra di login di Linux o remotamente utilizzando un client SSH. In entrambi i casi occorre essere in possesso delle credenziali di accesso al sistema (username e password). Una volta all interno del sistema è possibile utilizzare i tool di interfaccia col modulo harware per effettuare le operazioni di start/stop delle acquisizioni e trasferimento dati. I tool di interfaccia sono programmi che si appoggiano ai driver forniti dalla PLX, compagnia produttrice dei chip bridge PCI montati sui moduli di elaborazione. Utilizzando le funzioni dei driver si gestiscono i cicli di trasferimento dati in DMA. Una volta trasferiti, i dati vengono elaborati e salvati dipendentemente dall applicazione. Attualmente si sono sviluppati due tool per il trasferimento dati: DSlave E un tool di debug, molto semplice, che acquisisce i dati e li salva su file in formato raw ascii. Prevede la possibilità di mediare i dati acquisiti e di salvarli in bit-reversed mode. Tale caratteristica è molto utile quando si lavora con spettri forniti da motori di calcolo hardware. Il programma è un ottimo punto di partenza per lo sviluppo di nuovi programmi di acquisizioneelaborazione in quanto è un applicazione molto leggera che provvede già alla configurazione della board e alla gestione dei cicli di trasferimento dati. Spectra E un tool complesso per applicazioni di spettrometria. Può essere comandato remotamente (vedi rapporto interno dedicato) ed acquisisce gli spettri calcolati dal modulo di elaborazione curandosi di gestire timeout ed errori sulle risorse DMA. Il tool permette di impostare il numero di spettri da mediare ed il formato di salvataggio dei dati. Nello specifico, i formati correntemente supportati sono tre:.obs E un formato dati analizzabile mediante il tool Mspec0 Post Processor..fits Formato dati standard utilizzato da vari programmi di riduzione dati radioastronomici..txt Dati grezzi in formato ascii. Utilizzato per applicazioni di debug e per acquisizioni veloci.

Prova comparativa In occasione dei test preliminari dell apparecchiatura è stata effettuata una prova comparativa fra lo spettrometro a FFT MSpec0 e Spectra-1 programmata come spettrometro a banco di filtri polifase. La prova consiste nell osservazione parallela del maser W3OH. Per rendere significativo il test è opportuno operare nelle medesime condizioni di setup dei due strumenti in termini di frequenza di campionamento, banda, numero di canali ed integrazioni. In particolare il setup degli strumenti era il seguente: 4k canali Banda 8 MHz Sampling rate: MSpec0 16 MHz, Spectra-1 20 MHz Integrazione di 10000 spettri Dalla lista di setup di cui sopra si può notare una differenza nella frequenza di sampling. Questo deriva dalle diverse possibilità di moltiplicazione del clock maser dei due strumenti. In questa configurazione occorre, quindi, tenere in considerazione la piccola differenza di risoluzione dei due strumenti, che risulta di 1.9 khz per MSpec0 e di 2.4 khz per Spectra-1. La radiosorgente, osservata con l antenna parabolica di Medicina, aveva un elevazione di 20.5 quindi non ottimale in termini di condizione osservativa. Figura 8: Sulla sinistra spettro acquisito con Spectra-1. A destra spettro calcolato con MSpec0 La Figura 8 mostra le differenze fra gli spettri calcolati dai due strumenti. Anche se il setup di Spectra-1 presupponeva una risoluzione leggermente inferiore, si può notare il maggior livello di

dettaglio dello spettro a sinistra, calcolato mediante banco di filtri polifase. Si ricorda che una delle caratteristiche del banco di filtri polifase, rispetto i tradizionali motori a FFT, è il maggiore isolamento fra i canali. Tale peculiarità fa si che la potenza ricevuta all interno di un certo canale non si sparpagli sugli altri, aumentando così la fedeltà intrinseca dell analisi. Un altra caratteristica migliorativa di uno spettrometro a banchi polifase rispetto ai banchi a FFT è lo shaping dei canali del banco. Mentre nella FFT ogni bin ha una funzione di trasferimento ricurva, in un banco di filtri polifase tale funzione è piatta con un basso ripple, dipendente dal numero di tappe derivanti dalla struttura del banco stesso. Tale fatto rende molto migliore l equalizzazione in banda dei singoli canali. La Figura 9 mostra tali differenze. Dalla Figura 8 si può notare anche il miglior rapporto segnale-rumore nello spettro calcolato da Spectra1. Tale caratteristica è sempre conseguenza dell elevato isolamento fra canali, che evita lo sparpagliamento della potenza ricevuta, mantenendola concentrata nei canali effettivamente interessati. In tal modo aumenta l efficacia dell operazione di integrazione degli spettri, che abbatte in maniera ancor più significativa la componente stocastica (noise) del segnale ricevuto. In altri termini, la componente deterministica del segnale (in questo esperimento il maser) non si distribuisce su tutto lo spettro ma rimane confinata nei propri canali, cosicchè la media degli spettri opererà al meglio abbattendo il livello del noise dove non è presente in banda la radiosorgente. Figura 9: Differenza fra la f.d.t. di un bin di una FFT e di un PFB (Polyphase Filter Bank)

Test di sensibilità: osservazione della sonda Voyager-1 Per testare la sensibilità dello strumento si è provato ad osservare la portante radio della sonda Voyager-1. Tale oggetto si trovava, al momento del test, ad una distanza di 106 UA ed è l oggetto più lontano, che trasmette una portante radio, costruito dall uomo. Al momento del lancio (5 settembre 1977) montava un trasmettitore di potenza pari a 12 W. Al momento dell osservazione è difficile stimare la reale potenza trasmissiva dell apparato radio ma, a causa dell invecchiamento dell elettronica e delle specifiche costruttive di quel tempo, si può tranquillamente affermare che la potenza reale è nettamente inferiore a quella nominale. Il test è stato, ancora una volta, effettuato in parallelo con il nuovo Spectra-1 (PFB) e con il tradizionale spettrometro MSpec0 (FFT). La figura 10 mostra il risultati del test. Portante principale Figura 10: Voyager-1: il tono è rilevato da Spectra-1 (spettro inferiore), ma non da MSpec0 (spettro superiore)

La figura mostra gli spettri acquisiti dagli strumenti ed evidenzia come sia stato possibile rilevare la portante in trasmissione con Spectra-1 utilizzando il banco polifase mentre MSpec0 utilizzando la tradizionale FFT non ha rilevato il segnale. Tale fatto si è verificato in virtù del maggiore isolamento del un banco polifase di Spectra-1 rispetto a quello ad FFT utilizzato da MSpec0. Il rapporto segnale-rumore all interno dei singoli canali di un banco di filtri polifase è enormemente maggiore. Analiticamente tale indice è superiore di una quantità pari all isolamento stesso.