• Non ci sono risultati.

Ad esclusivo supporto della C6713Compact, e prodotta anch’essa dalla ditta tedesca Orsys, è la Power Supply Board sulla quale, tramite il connettore micro- line, è montata la prima.

N/A
N/A
Protected

Academic year: 2021

Condividi "Ad esclusivo supporto della C6713Compact, e prodotta anch’essa dalla ditta tedesca Orsys, è la Power Supply Board sulla quale, tramite il connettore micro- line, è montata la prima. "

Copied!
16
0
0

Testo completo

(1)

Capitolo 3

La piattaforma di sviluppo ed il partizionamento del progetto

Nel presente capitolo è descritta la scheda C6713 utilizzata come piattaforma di sviluppo per il sistema di emulazione. La rilevante potenza di calcolo, la grande quantità di memoria disponibile e, non da ultima, la notevole disponibilità di logica programmabile, la rendono un ottimo strumento nello sviluppo di progetti complessi ed in cui sono richieste alte prestazioni in termini di velocità di elaborazione e trasferimento dati.

Ad esclusivo supporto della C6713Compact, e prodotta anch’essa dalla ditta tedesca Orsys, è la Power Supply Board sulla quale, tramite il connettore micro- line, è montata la prima.

Infine si definisce il partizionamento del sistema di emulazione tra hardware e software.

3.1 La scheda Orsys Micro-Line C6713Compact

La C6713Compact, fig. 3.1, è una scheda di elaborazione dati, basata su un DSP ad elevate prestazioni, che monta, in particolare:

¾ un FPGA Xilinx Virtex-II dalla complessità di 1Mgate, sul quale implementare la sezione di logica programmabile;

¾ un DSP floating point Texas Instruments TMS320C6713, a 225 MHz, dotato di una

grande potenza di calcolo (1800 MIPS o 1350 MFLOPS) e di 256k di RAM interna;

(2)

¾ un chipset per la gestione della comunicazione via Firewire su due porte;

¾ una gran quantità di memoria esterna, sotto forma di Flash EPROM (32Mbyte, organizzata a 16 bit) e SDRAM (64Mbyte organizzata 32 bit).

Fig. 3.1 : La scheda Orsys C6713Compact.

Alla C6713 va poi affiancata una scheda di supporto per l’alimentazione e la comunicazione seriale.

Sono necessari, per lo sviluppo, il debug e la programmazione della scheda, i seguenti tool aggiuntivi:

¾ un PC per lo sviluppo;

¾ un emulatore JTAG quale lo XDS510PP Plus, della Spectrum Digital Inc, scelto in questa sede;

¾ il software Code Composer Studio, per la programmazione del software del DSP.

(3)

3.1.1 Struttura Hardware

Un diagramma a blocchi della struttura della C6713Compact è riportato in fig. 3.2, mentre nella fig. 3.3 sono riportate le proiezioni schematiche delle due facce della scheda.

Fig.3.2 : Diagramma a blocchi della C6713Compact dell’Orsys.

3.1.2 I connettori

La C6713Compact è dotata di:

¾ un connettore micro-line®;

(4)

¾ un connettore JTAG;

¾ due connettori IEEE1394 utilizzabili tramite cavi standard a 6 pin;

Ci si sofferma brevemente nella descrizione dei primi due connettori (di cui si è fatto uso durante lo sviluppo del progetto), rimandando ai riferimenti bibliografici per ulteriori approfondimenti, [28].

Fig.3.3 : Component side (in alto) e bottom side (in basso) della scheda C6713 dell’Orsys

(5)

3.1.2.1 Il connettore micro-line®

Il connettore micro-line® è il connettore principale della board; risulta diviso in 6 gruppi di 32 pin ciascuno, 2 gruppi da 8 pin e 3 gruppi da 4 pin..

Come precedentemente accennato, esso è realizzato in modo da permettere un’agevole connessione in pila di schede dotate dello stesso standard; è quanto accade ad esempio nel caso della power supply board, posta subito al di sotto della C6713, ed alla quale è connessa proprio tramite tale connettore.

I segnali legati al connettore micro-line possono essere suddivisi in tre gruppi:

¾ Power supply

¾ Segnali di interfaccia col DSP o con la board.

¾ Segnali direttamente legati all’FPGA.

Uno standard micro-line attribuisce a ciascun pin del connettore un compito ed un collegamento specifici; tuttavia è prevista la possibilità di riconfigurare quasi tutte le connessioni secondo le esigenze dell’utente.

3.1.2.2 Connettore JTAG

Il connettore JTAG viene utilizzato durante lo sviluppo delle applicazioni ed è associato alle interfacce JTAG di DSP ed FPGA; di conseguenza è usato sia nella fase di debugging, sia per il download di applicazioni nel DSP che, infine, per il salvataggio nella memoria flash di codice per il DSP o per la programmazione dell’FPGA.

L’interfaccia JTAG del DSP è utilizzabile insieme ad un emulatore JTAG ed al software Code Composer Studio.

Per quanto riguarda l’FPGA, nella fase di sviluppo è possibile scaricare velocemente il codice di programmazione tramite il JTAG, in modo da consentirne un test immediato.

Nell’utilizzo finale il codice è salvato nella memoria flash e caricato sull’ FPGA per mezzo del

DSP.

(6)

3.1.3 Componenti Hardware ed Interfacce

3.1.3.1 FPGA

L’FPGA, dalla complessità di 1Mgate, oltre a garantire una notevole quantità di logica programmabile, è reso estremamente versatile dalla flessibilità delle connessioni permesse alla scheda: infatti molti dei pin di ingresso/uscita dell’FPGA possono essere legati a quelli del connettore micro-line e all’interfaccia del DSP.

Fig. 3.4 : Principali possibilità di connessione per l’FPGA

Più in dettaglio l’FPGA ha accesso a:

¾ DSP EMIF (External Memory InterFace): bus dati, bus indirizzi, segnali di controllo;

¾ Pin del connettore micro-line;

(7)

¾ Data mover del Link Layer Controller per l’interfaccia IEEE1394;

¾ Periferiche del DSP: HPI, McASP,GPIO…

¾ Bus driver control (data, address, HPI data);

¾ Interfaccia JTAG;

¾ Interrupts del DSP;

In fig. 3.4 è mostrato uno schema di possibili connessioni per l’FPGA; gli utilizzi indicati tra parentesi accanto ai gruppi di pin del connettore micro-line sono quelli definiti dallo standard, ma possono essere completamente riconfigurati dall’utente.

3.1.3.2 Memoria Flash

La C6713 Compact utilizza una memoria flash EEPROM Am29LV256 a 32 Mbyte (organizzata a 16 bit), per la memorizzazione non volatile di codice, applicativo per il DSP e di programmazione per l’FPGA.

All’accensione o al reset, il boot loader interno del DSP carica il primo Kbyte contenuto nella memoria flash, partendo dall’indirizzo 0, e lo esegue. In questo segmento di codice è normalmente contenuta la direttiva di effettuare un secondo boot loader, per caricare il resto dell’applicazione, solitamente di dimensioni maggiori di 1Kbyte.

La memoria flash viene logicamente suddivisa in 32 segmenti di 1Mbyte ciascuno; questi sono accessibili in modo mutuamente esclusivo: i 5 bit più significativi del registro FSR del PLD controllano quale segmento della memoria sia correntemente accessibile.

3.1.3.3 PLD

Il PLD costituisce la glue-logic della scheda: consente infatti, mediante i suoi registri, di

accedere alle varie parti hardware della board e di configurarne alcune opzioni, fig. 3.5.

(8)

Figura 3.5: Registri del PLD

Oltre al già citato FSR, è utile evidenziare i seguenti:

¾ FPGA Control Register (FCR) : viene utilizzato dalle applicazioni per caricare il codice sull’FPGA;

¾ HardWare ConFiGuration register (HWCFG) : contiene informazioni sui settaggi hardware della board: dimensioni della memoria RAM, velocità massima della CPU, abilitazione dell’interfaccia HPI del DSP, funzionamento della C6713Compact in modo master o slave;

¾ Module Control Register (MCR): contiene, tra gli altri, un bit per il reset software della scheda;

Altri registri controllano varie altre impostazioni possibili per la scheda; tra cui quelle riguardanti il routing dei segnali di interrupt per il DSP.

Sulla C6713Compact due linee di interruzione sono gestite dal PLD e due dall’FPGA,

come evidenziato in fig. 3.6.

(9)

Fig. 2.26 : Routing delle interruzioni sulla C6713Compact.

3.1.3.4 Memoria esterna (SDRAM)

La C6713Compact utilizza una memoria esterna (SDRAM) da 64Mbyte organizzata a 32 bit. L’accesso alla memoria avviene tramite l’EMIF clock, a 90MHz; ne consegue che, pur costituendo un valido appoggio per la memorizzazione dei dati, nelle applicazioni ad alta velocità è consigliabile l’uso, finché possibile, della memoria interna del DSP, che invece risulta essere più veloce; in questa valutazione grava anche la constatazione che l’EMIF sia una risorsa condivisa con altri componenti (tra cui l’UART).

3.1.3.5 EEPROM seriale

Sulla scheda è presente anche una memoria EEPROM seriale di 256 byte, integrata con il sensore di temperatura della C6713; essa può utilmente contenere il serial number ed altri parametri. I driver software per questa memoria sono forniti con la documentazione della C6713Compact.

La EEPROM è connessa al PLD tramite un’interfaccia I2C, e vi si può accedere tramite

l’I2C bus control register.

(10)

3.1.3.6 Sensore di temperatura

La scheda contiene un sensore, con interfaccia I2C, che consente di misurare la sua temperatura durante l’utilizzo, con un range tra –55 e +125 0C e la risoluzione di un grado centigrado. Qualora la C6713 operi in un ambiente in cui sia esposta a temperature elevate, tale sensore può divenire indispensabile al fine di evitare condizioni di rischio. La temperatura interna della CPU risulta essere, al massimo, 15 gradi superiore a quella misurata dal sensore. I driver software per il sensore sono forniti con la documentazione della scheda.

3.1.3.7 Interfaccia UART / RS-232

L’interfaccia RS-232 è realizzata tramite il dispositivo UART Texas Instruments TL16C550, connesso al line driver RS-232.

Tale interfaccia è comunemente utilizzata come forma generica di comunicazione (ad esempio la ricezione di parametri da un host computer) oppure come connessione a periferiche remote.

L’interfaccia consiste dei segnali TxD (Transmit Data), RxD (Receive Data), RTS (Request To Send) e CTS (Clear To Send). Questi segnali sono disponibili anche su pin dedicati del connettore micro-line.

3.1.3.8 Il DSP e le sue periferiche

Il DSP montato sulla C6713Compact è il TMS320C6713 della Texas Instruments. E’ un processore di ultima generazione dotato di una notevole potenza di calcolo: 1800 milioni di istruzioni per secondo (MIPS) o 1350 milioni di operazioni floatig-point per secondo (MFLOPS).

La C6713 utilizza un’architettura basata su cache a due livelli: il primo di 4KByte ed il secondo di 256KByte di cui 192Kbyte utilizzabili come mapped SRAM.

Il DSP montato sulla C6713Compact possiede un gran numero di periferiche integrate, tra

(11)

cui:

¾ un generatore di clock con oscillatore e PLL;

¾ una External Memory InterFace (EMIF);

¾ due Multichannel Audio Serial Ports (McASP);

¾ due Multichannel Buffered Serial Ports (McBSPs);

¾ due timers;

¾ un controller enhanched DMA (EDMA);

¾ una Host Port Interface (HPI);

¾ un modulo dedicato al General-Purpose Input/Output (GPIO).

In particolare il generatore di clock, a mezzo di un oscillatore interno e di un PLL, può effettuare opportune moltiplicazioni e divisioni al fine di fornire specifici clock, come quello per il funzionamento dell’EMIF o quello del processore stesso.

L’EMIF è, invece, l’interfaccia principale verso tutte le periferiche; ha infatti accesso a:

¾ Memoria esterna (SDRAM e flash);

¾ Periferiche on-board: UART, LLC, e PLD;

¾ Tutte le periferiche interne al DSP;

¾ Connettore micro-line attraverso bus driver;

L’ultima modalità ed un appropriato design dell’FPGA consentono di accedere ad eventuali periferiche esterne collegate alla scheda tramite appositi connettori.

In fig. 3.7 è mostrato un diagramma funzionale a blocchi del processore TMS320C6713.

3.1.3.9 LED

Sulla scheda sono inoltre montati sei LED suddivisi in tre gruppi:

¾ Due LED programmabili dall’utente, controllati dal PLD, che possono essere utilizzati dalle applicazioni software per mostrare determinati eventi o stati;

¾ Due LED, sempre programmabili dall’utente, ma controllati dall’FPGA, con funzioni

(12)

definite dal design dell’FPGA stesso;

¾ Due LED di stato legati all’interfaccia IEEE1394.

Per ulteriori dettagli sull’hardware on board si rimanda alla bibliografia [28].

Fig. 3.7 : Diagramma funzionale a blocchi del processore TMS320C6713.

3.2 La scheda di alimentazione

La scheda di alimentazione (Power Supply Board), sempre fornita dalla ditta Orsys, è

costruita in modo da potersi adattare, in maniera modulare, allo standard dei connettori micro-

line, quali quelli presenti sulla C6713Compact. Essa provvede a fornire alla scheda di

elaborazione tutte le tensioni d’alimentazione necessarie al suo corretto funzionamento,

fig.3.8.

(13)

Fig. 3.8: La Power Supply Board.

A partire dall’alimentazione di rete (230V, 50Hz), mediante un adattatore AC/DC universale (che fornisce in uscita al massimo 12V DC e 9.6VA), ed un regolatore di tensione switching, vengono prodotti i +5V necessari alla C6713Compact. La massima corrente erogabile dall’uscita a 5V è 2.5A, di conseguenza risulta essere molto superiore a quella richiesta dalla sola C6713Compact; questo trova giustificazione nel fatto che la Power Supply Board è stata pensata per essere utilizzata come scheda di alimentazione per più board impilate modularmene tramite il connettore micro-line.

Sulla Power Supply Board sono inoltre presenti:

¾ un pulsante di reset;

¾ un LED di power-on;

¾ un connettore RS-232 SUB-D 9, collegato ad adeguati pin del connettore micro-line, che consente la comunicazione seriale con la scheda C6713Compact;

¾ componenti per la protezione da interferenze elettro-magnetiche.

(14)

3.3 Partizionamento Hardware-Software

Come già accennato nel precedente capitolo, una prima visione del sistema, prevedeva la realizzazione di 60 canali, programmabili individualmente, atti ad emulare i segnali provenienti dalla Detection Board. La loro realizzazione tramite altrettanti contatori dotati di caricamento sincrono ed opportunamente pilotati da registri LFSR

1

, ha indotto un primo livello di partizionamento del progetto: l’implementazione in hardware di questi contatori, dei rispettivi registri di pilotaggio e di eventuali registri di appoggio, demandando al software del computer remoto il calcolo dei parametri di configurazione del sistema di emulazione.

Nel seguito sono specificate le funzioni realizzate dal DSP e dall’FPGA,

3.3.1 La partizione tra le risorse della C6713

Un’ulteriore partizione delle funzioni da svolgere è stata effettuata a livello della C6713.

E’ stato previsto, infatti, di implementare su FPGA le strutture fisse quali contatori e registri, lasciando al DSP la gestione delle interfacce necessarie per la configurazione.

In particolare l’FPGA deve:

¾ ricevere i parametri di configurazione;

¾ prevedere un protocollo di sincronizzazione dei dati provenienti da DSP;

¾ produrre in uscita i segnali di stimolo per la DPB;

Questi ultimi devono essere disponibili sui pin A1:A30, C1:C30 del connettore micro-line, essendo questi stessi gli ingressi della scheda di elaborazione dati, fig. 3.9.

1

L’architettura sarà presentata nel dettaglio nel capitolo 4.

(15)

FPGA

Parameters from/to DSP

Spada_signal to DPB

60

60 pad on microline

Pulse_generators Auxiliary registers

Data synchronization protocol

Fig.3.9 : Funzioni implementate sull’FPGA.

Al DSP è invece richiesto di, fig. 3.10:

¾ inizializzare l’hardware;

¾ caricare il codice sull’FPGA;

¾ gestire i trasferimenti tramite la porta seriale RS-232;

¾ gestire gli interrupt;

¾ gestire l’interfaccia EMIF e il clock dell’FPGA;

¾ passare all’FPGA i parametri di configurazione definiti dall’interfaccia software.

DSP

Hardware configuration

FPGA Code loading Interrupt

management

EMIF management

Memories management RS-232 transfers

Parameters handling

RS- 232

Remote Computer

To FPGA

Fig. 3.10 : Funzioni espletate dal DSP.

Per quanto stabilito risulta giustificata la scelta di utilizzare la C6713 nella configurazione che prevede il DSP come master di sistema e l’FPGA come slave.

3.3.2 L’interfaccia software

La gestione del sistema di emulazione dal computer remoto è affidata ad un’interfaccia

(16)

software tramite la quale è possibile impostare le modalità di testing della DPB. Al software è richiesto inoltre di generare i parametri di configurazione necessari al funzionamento dell’emulatore, fig. 3.11.

Remote Computer

Software

Test mode Parameters

RS-232

Fig. 3.11 : Funzioni espletate dall’interfaccia software.

Un confronto tra le frequenze di stimolo per la DPB, ed i risultati dei conteggi da essa

prodotti, visualizzabili a mezzo dell’interfaccia software che la pilota, potrà consentire di

rilevare eventuali malfunzionamenti della scheda di elaborazione dati.

Riferimenti

Documenti correlati

La ditta ha effettuato i lavori nei tempi e nei modi concordati; a tale riguardo il RUP ha rilasciato certificato di regolare esecuzione, per la redazione del quale sono stati

E infine, ancora a dimostrazione dell’autenticità della proposta di Rodari di far squadra con bambini e ragazzi e di dare significato profondo alla parola, viene riportata una

L’operazione che è stata fatta dal Comune, assieme alla ludoteca del Castello dei ragazzi, è stata quella di mettere in contatto le superiori degli istituti tecnici e professionali

- che l’Azienda si è riservata la gestione diretta dei servizi, quali ascensore, pulizia, riscaldamento, etc., con addebito dei relativi costi a carico dei conduttori, a seconda

Zaini e borse tecniche, “firmate” Ascom e Comune di Jesolo, uguali per tutti gli iscritti alle varie associazioni sportive della Città: è questo il regalo che hanno ricevuto i

A decorrere dalle date sopra indicate, le Amministrazioni non possono accettare fatture che non siano trasmesse in forma elettronica attraverso il Sistema di Interscambio e,

In base alla mappatura regionale delle strutture si cerca anche di assegnare un tetto di spesa con diverso incremento, in base alla distribuzione dei centri, tenendo

Trasparenza del processo di produzione delle norme e degli atti amministrativi, dell’iter per la conclusione dei procedimenti, trasparenza attraverso un linguaggio non