Esercitazione di Elettronica delle Comunicazioni...

12
1 Esercitazione di Elettronica delle Comunicazioni Digitali Ing. F. Iannuzzo - A.A. 2006/2007 Trasmettitore BPSK ver 1.0 In questa esercitazione si realizzerà un trasmettitore BPSK. Per fare ciò, si impiegherà, tra l’altro, il modulatore PWM realizzato nelle passate esercitazioni. Il circuito è riportato in figura: Si notino, fin da subito, alcune importanti differenze con i circuiti realizzati finora: 1. ci sono numerosi collegamenti apparentemente interrotti (Ck, msb, count[6..0]). Tali collegamenti, in realtà, avvengono per omonimia , attribuendo, cioè, lo stesso nome ai due monconi da collegare; 2. una linea tratteggiata aiuta la comprensione del flusso dati; 3. compaiono blocchi non reperibili in libreria (seno, pwm). Si imparerà, nell’arco dell’esercitazione, a realizzare blocchi personalizzati. Si crei un opportuno albero di directory, come segue: Nella directory BPSK andrà costruito il progetto. Nella directory PWM_lib verrà inserito il modulatore PWM prodotto nelle passate esercitazioni (per uniformità didattica, si scarichi quello messo a disposizione sul sito del docente, come indicato in seguito), opportunamente trasformato in libreria.

Transcript of Esercitazione di Elettronica delle Comunicazioni...

Page 1: Esercitazione di Elettronica delle Comunicazioni Digitaliwebuser.unicas.it/elettronica/iannuzzo/ElettronicaDComDig_2006/BPSK.pdfa lezione. La porta xor, infatti, è posta sull’ingresso

1

Esercitazione di Elettronica delle Comunicazioni Digitali Ing. F. Iannuzzo - A.A. 2006/2007

Trasmettitore BPSK ver 1.0

In questa esercitazione si realizzerà un trasmettitore BPSK. Per fare ciò, si impiegherà, tra l’altro, il modulatore PWM realizzato nelle passate esercitazioni.

Il circuito è riportato in figura:

Si notino, fin da subito, alcune importanti differenze con i circuiti realizzati finora:

1. ci sono numerosi collegamenti apparentemente interrotti (Ck, msb, count[6..0]). Tali collegamenti, in realtà, avvengono per omonimia, attribuendo, cioè, lo stesso nome ai due monconi da collegare;

2. una linea tratteggiata aiuta la comprensione del flusso dati;

3. compaiono blocchi non reperibili in libreria (seno, pwm). Si imparerà, nell’arco dell’esercitazione, a realizzare blocchi personalizzati.

Si crei un opportuno albero di directory, come segue:

Nella directory BPSK andrà costruito il progetto. Nella directory PWM_lib verrà inserito il modulatore PWM prodotto nelle passate esercitazioni (per uniformità didattica, si scarichi quello messo a disposizione sul sito del docente, come indicato in seguito), opportunamente trasformato in libreria.

Page 2: Esercitazione di Elettronica delle Comunicazioni Digitaliwebuser.unicas.it/elettronica/iannuzzo/ElettronicaDComDig_2006/BPSK.pdfa lezione. La porta xor, infatti, è posta sull’ingresso

2

Uso di un progetto come libreria Per prima cosa si imparerà a costruire una libreria. Una libreria in Quartus II® è, semplicemente, un progetto i cui elementi sono utilizzabili da altri progetti.

Per uniformare l’avanzamento dell’esercitazione, si scarichi il modulatore PWM dal sito del docente (file PWM_lib.zip), e lo si scompatti nella directory PWM_lib. Si lanci l’ambiente di sviluppo Quartus II®.

Per prima cosa, si crei un nuovo progetto nella directory C:\Elettronica\BPSK e si indichi bpsk come nome del file principale:

si prosegua. Alla prossima schermata, si scelga il tasto User Libraries… :

apparirà la finestra di scelta libreria:

Page 3: Esercitazione di Elettronica delle Comunicazioni Digitaliwebuser.unicas.it/elettronica/iannuzzo/ElettronicaDComDig_2006/BPSK.pdfa lezione. La porta xor, infatti, è posta sull’ingresso

3

si scelga la directory PWM_lib e si dia OK.

Si completi il wizard di creazione nuovo progetto, ricordando che il dispositivo da scegliere è l’EPM240T100C5.

Uso della Libreria

L’utilizzazione di un componente di libreria è molto semplice. Mediante il Symbol Tool attivare la finestra Symbol. A questo punto, apparirà la libreria C:/Elettronica/PWM_lib/, contenente il componente pwm.

Creazione della ROM Alcuni dispositivi, tra cui quello usato al corso, NON consentono la realizzazione di memorie ROM. Ciononostante, però, tale difficoltà è aggirabile con relativa semplicità. La ROM, infatti, è una particolare rete combinatoria e, pertanto, può essere realizzata con una semplice tabella di verità.

Page 4: Esercitazione di Elettronica delle Comunicazioni Digitaliwebuser.unicas.it/elettronica/iannuzzo/ElettronicaDComDig_2006/BPSK.pdfa lezione. La porta xor, infatti, è posta sull’ingresso

4

In ambiente Quartus II®, ciò è possibile mediante la redazione di un semplice file di testo, scritto in linguaggio di descrizione dell’hardware (AHDL – Altera Hardware Description Language). La sua struttura è di questo tipo:

Per agevolare la generazione di un simile file, sul sito del docente è disponibile il semplice script MATLAB® seno.m. Lo script produce l’equivalente di una ROM contenente un periodo di sinusoide campionato a passo e risoluzione arbitrarie.

Si scarichi lo script seno.m nella directory C:\Elettronica\BPSK e lo si esegua in MATLAB®. Si adotti n=7 (N=128) e m=5. Si dia seno come nome del file, e si verifichi l’avvenuta generazione del file seno.tdf.

E’ fortemente consigliabile eseguire alcune prove di generazione a varie risoluzioni e passi di campionamento.

Una volta generato il file .tdf, si ritorni in Quartus e lo si aggiunga al progetto, mediante il menu Project/Add/remove files in project… come segue:

Page 5: Esercitazione di Elettronica delle Comunicazioni Digitaliwebuser.unicas.it/elettronica/iannuzzo/ElettronicaDComDig_2006/BPSK.pdfa lezione. La porta xor, infatti, è posta sull’ingresso

5

A questo punto, occorre effettuare il passo finale: generare il simbolo grafico. Si apra il file:

e, dal menu File/Create/Update/Create symbol files for current file… si generi il file di simbolo. E’ ora possibile inserire la ROM così generata mediante il Symbol Tool :

Page 6: Esercitazione di Elettronica delle Comunicazioni Digitaliwebuser.unicas.it/elettronica/iannuzzo/ElettronicaDComDig_2006/BPSK.pdfa lezione. La porta xor, infatti, è posta sull’ingresso

6

Completamento del circuito

Si completi il circuito, badando in particolare alla correttezza dei nomi. Si adotti n=7 (N=128) e m=5. Si noti, inoltre, come è possibile elencare le linee di un bus, ordinatamente dall’msb all’lsb, mediante l’uso della virgola:

Si noti che l’implementazione suggerita è lievemente differente da quanto proposto a lezione. La porta xor, infatti, è posta sull’ingresso alla ROM anziché sull’uscita, e opera su un bit solo (“msb”) anziché su tutti. Se ne commenti la correttezza formale e il risparmio di risorse.

a) Per questa esercitazione si impiegherà una frequenza di clock di 3,6864MHz. Si verifichi il dimensionamento dei divisori, avendo assunto fOUT=1700Hz.

Simulazione

b) Si avvii lo strumento “Simulator Tool” dal menu Tools. Si scelga “Functional” come tipo di simulazione (cioè a tempi di propagazione nulli) e si generi la Funcional netlist (tasto apposito), necessaria alla simulazione. Si clicchi sul tasto per creare un file di simulazione .VWF. Dal menu Edit/End time… si scelga 5 millisecondi (qualche periodo a 1700Hz). si clicchi col tasto destro sulla sezione sinistra, Insert node or bus… e si scelga Node finder… . Si scelgano i seguenti segnali (per il segnale data si scelga unsigned Decimal):

Si imponga al segnale Ck una frequenza di 3,6864MHz e al segnale bitstream un livello basso. Si

chiuda il file e si esegua la simulazione .

c) Si verifichi la congruenza dei risultati (zoomando sul segnale Pwm_out si osserva un’onda a duty cycle variabile? La legge di variazione è coerente col segnale data?).

Predisposizione della basetta Per utilizzare l’oscillatore di clock ad alta frequenza (3.6864MHz), occorre predisporre il ponticello sul connettore J13 come indicato nella figura seguente. Tale impostazione fornisce al pin 64 del CPLD un clock a frequenza di 3.6864MHz.

Page 7: Esercitazione di Elettronica delle Comunicazioni Digitaliwebuser.unicas.it/elettronica/iannuzzo/ElettronicaDComDig_2006/BPSK.pdfa lezione. La porta xor, infatti, è posta sull’ingresso

7

E’ inoltre necessario prelevare con l’oscilloscopio il segnale prodotto dal circuito. Si connettano le sonde al connettore J12 come indicato in figura. La massa va collegata al pin 40 del connettore J12. Le due sonde vanno collegate ai pin 38 e pin 39 di J12. In questo modo, esse acquisiranno i segnali sui pin 51 e pin 50 del CPLD, rispettivamente. Alimentare la basetta.

Modifica del progetto Per effettuare la prova sperimentale del funzionamento, occorre alimentare il modulatore BPSK con un bitstream non costante.

Per prima cosa, occorre creare un simbolo che rappresenti tutto il precedente schema BPSK. Come visto per il file .tdf, mediante il menu File/Create/Update/Create symbol files for current file… si generi il file di simbolo bpsk.bsf. Da adesso in avanti, sarà possibile inserire l’intero trasmettitore BPSK con un semplice simbolo!

Si crei un nuovo file .bdf (non un nuovo progetto!!!!) e lo si chiami main.bdf. Un possibile circuito è il seguente:

Page 8: Esercitazione di Elettronica delle Comunicazioni Digitaliwebuser.unicas.it/elettronica/iannuzzo/ElettronicaDComDig_2006/BPSK.pdfa lezione. La porta xor, infatti, è posta sull’ingresso

8

Esso produce un bitstream alternante a 100simboli/s (verificare!) e lo invia al blocco bpsk. Si proceda all’assegnazione dei pin come in figura, tranne che per l’uscita data[4..0], utile ai soli fini simulativi.

Entità superiore di gerarchia Per compilare main.bdf, è ora necessario cambiare l’entità superiore di gerarchia (la “Top-level entity”). bpsk.bdf, infatti, è adesso una parte di main.bdf. Per fare ciò, occorre operare come in figura:

Salvare e compilare il progetto.

d) Si effettui la simulazione del circuito. Per fare ciò, occorrerà un nuovo file .vwf. Lo si denomini main.vwf. Ecco un possibile esempio:

Page 9: Esercitazione di Elettronica delle Comunicazioni Digitaliwebuser.unicas.it/elettronica/iannuzzo/ElettronicaDComDig_2006/BPSK.pdfa lezione. La porta xor, infatti, è posta sull’ingresso

9

Per simulare il nuovo file, occorre specificarlo come simulation input nel simulator tool.

Programmazione della basetta

Prima di programmare la basetta, non si dimentichi di assegnare i pin al nostro progetto.

Si faccia click sull’icona . Nella finestra che si aprirà, si controlli che appaia, come di seguito, la scritta ByteBlaster [LPT1] (se non compare, v.sotto).

e si programmi la basetta.

Analisi delle forme d’onda

Un utile strumento di analisi è rappresentato dal software Virtins Sound Card MultiInstrument, scaricabile dal sito, che consente di impiegare la scheda audio del PC per visualizzare segnali nella banda dell’udibile (come il nostro BPSK a 1700Hz!).

Collegare lo spinotto delle sonde all’ingresso Line-in (azzurro).

Note:

- le due sonde attenuano orientativamente di un fattore 10 (500mVpp corrispondono a 5Vpp). Tale incertezza è legata all’incertezza dell’impedenza di ingresso della scheda audio;

- il segnale pwm di uscita viene filtrato passa-basso dallo stadio di ingresso della scheda audio. Confrontare l’uscita ottenuta con il segnale registrato da un oscilloscopio.

Page 10: Esercitazione di Elettronica delle Comunicazioni Digitaliwebuser.unicas.it/elettronica/iannuzzo/ElettronicaDComDig_2006/BPSK.pdfa lezione. La porta xor, infatti, è posta sull’ingresso

10

e) Si provi a impostare il trigger sull’uscita bitstream, in modo da sincronizzarsi con i cambi di

fase.

f) Si modifichi il main.bdf, in modo da collegare l’ingresso a uno switch della basetta.

g) Si modifichi il main.bdf, in modo da mandare in uscita una stringa RS-232 alla pressione di un tasto.

Suggerimento: si utilizzi un registro a scorrimento, presettato con la sequenza opportuna.

Cambi di fase

Spettro del segnale Base dei

tempi Sensibilità verticale

Trigger delay (settare a -10%)

Frequenza di campionamento

Fronte di salita o discesa

Trigger su canale A o B

Page 11: Esercitazione di Elettronica delle Comunicazioni Digitaliwebuser.unicas.it/elettronica/iannuzzo/ElettronicaDComDig_2006/BPSK.pdfa lezione. La porta xor, infatti, è posta sull’ingresso

11

Appendice

Pin relativi agli switch on/off, ai display e ai led della basetta e assegnazioni suggerite.

Clock generator “standard”: PIN_14. Clock “veloce” a 3.6864MHz: PIN_64.

SW Pin del

CPLD

SW1 2

SW2 3

SW3 6

SW4 7

SW5 15

SW6 16

SW7 19

SW8 20

SW9 4

SW10 5

SW11 8

SW12 12

SW13 17

SW14 18

SW15 21

SW16 26

NB: tutti gli switch sono attivi BASSI (switch premuto pin a “0”)

LED Pin del CPLD

LED1 48

LED2 49

LED3 43

LED4 47

LED5 37

LED6 39

LED7 90

LED8 88

NB: tutti i led sono attivi BASSI (“0”

led acceso)

Out7…Out0

Page 12: Esercitazione di Elettronica delle Comunicazioni Digitaliwebuser.unicas.it/elettronica/iannuzzo/ElettronicaDComDig_2006/BPSK.pdfa lezione. La porta xor, infatti, è posta sull’ingresso

12

Segmento Pin del

CPLD

Segment A 33

Segment B 34

Segment C 35

Segment D 42

Segment E 41

Segment F 36

Segment G 38

Dot Point DP 40

Enable DISP 1 30

Enable DISP 2 29

Enable DISP 3 28

Enable DISP 4 27

NB: tutti i segmenti e i segnali di enable sono attivi BASSI (“0” segmento acceso)

end