SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler offline
UNIVERSITÀ DEGLI STUDI DI CATANIA
DIPARTIMENTO DI INGEGNERIA ELETTRICA, ELETTRONICA E INFORMATICA
CORSO DI LAUREA IN INGEGNERIA INFORMATICA
Nunzio Meli
PROGETTAZIONE E SVILUPPO DI UN SOFTWARE PER L'ELABORAZIONE
DI TRACE DI MISURE SU DISPOSITIVI POWERLINE.
Tesi di Laurea
Relatore:
Chiar.ma Prof.ssa Lucia Lo Bello
Correlatore:
Ing. Gaetano Patti
ANNO ACCADEMICO 2012/13
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
2
I N D I C E
1 INTRODUZIONE.............................................................................................................3
2 IL RUOLO DEL SOFTWARE ST7580 ANALYZE NELL’ANALISI DEI DATI..........5
2.1 Il software ST7570 GUI utilizzato nelle fasi di misurazione. ...........................................5
2.2 Metodo di misura ..............................................................................................................6
2.3 Motivi per cui è utile condurre un’analisi con il software ST7580 Analyze .....................7
3 IL MODEM ST7580 PRODOTTO DA ST MICROELETRONICS ................................8
3.1 Il modem. ..........................................................................................................................8
3.2 Struttura delle frame powerline.........................................................................................9
3.2.1 Struttura della Physical frame .................................................................................10
3.2.2 Struttura della Data link frame ................................................................................10
3.2.3 Struttura dei Security service frame ........................................................................12
3.3 UART Port e frame locali ...............................................................................................12
3.3.1 Tipi di frame............................................................................................................14
3.3.2 Protocollo di comunicazione. ..................................................................................14
3.3.3 Struttura delle Frame locali .....................................................................................14
3.3.4 Acknowledgement delle Frame locali .....................................................................15
3.3.5 Messaggi di stato.....................................................................................................15
3.3.6 Ruoli dei dispositivi connessi alla porta locale........................................................15
3.3.7 Delimitazione dei caratteri della local frame...........................................................16
3.3.8 Regole di comunicazione dall’ST7580 all’host esterno. .........................................17
3.3.9 Regole di comunicazione dall’host esterno all’ST7580. .........................................18
4 IL SOFTWARE ST7580 ANALYZE .............................................................................19
4.1 Analisi dei requisiti .........................................................................................................19
4.2 Scelte progettuali.............................................................................................................19
4.3 Diagramma UML delle classi fondamentali....................................................................20
4.4 Le classi...........................................................................................................................21
4.5 I file di configurazione ....................................................................................................22
4.6 Le fasi di testing dell’applicativo ....................................................................................24
4.6.1 Analisi manuale della prima frame del file..............................................................25
4.6.2 Analisi manuale della seconda frame del file..........................................................27
4.6.3 Analisi manuale della terza frame del file ...............................................................29
4.6.4 Analisi del file di test svolta mediante l’utilizzo del software.................................31
4.7 L’interfaccia grafica ........................................................................................................32
4.7.1 Il Menu....................................................................................................................33
4.7.2 Il Grafico .................................................................................................................34
4.7.3 La tabella.................................................................................................................34
4.8 Esempio di analisi svolta con il tool ST7580 Analyze ....................................................36
5 CONCLUSIONI..............................................................................................................39
6 APPENDICE A – TABELLE DELLE SPECIFICHE ST7580.......................................40
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
3
1 INTRODUZIONE
Le Powerline Communication (PLC) negli ultimi anni stanno attraendo l’interesse
di molte aziende, grazie ai vantaggi economici che tale tecnologia permette di
ottenere, è infatti possibile utilizzare un solo cavo sia per l’alimentazione che per
la trasmissione dei dati, con notevoli vantaggi di natura economica.
Le smart grid sono reti elettriche, che possono integrare intelligentemente il
comportamento e le azioni di tutti gli utenti connessi, al fine di garantire la
fornitura di energia elettrica in modo efficace, sostenibile, economico, e
sicuro.[7]. Le smart grid utilizzano una combinazione di software e hardware e
consentono un routing più efficiente dell'energia, permettendo ai consumatori di
gestire direttamente la domanda di energia. [7]
Le tecnologie di comunicazione a supporto delle smart grid non devono
necessariamente utilizzare le powerline communication, infatti possono sfruttare
varie tecnologie come la fibra ottica, le tecnologie wireless (ad esempio, IEEE
802.11 [14] e IEEE 802.15.4 [15] ) e altre tecnologie wired (ad esempio, Ethernet
[13]).
Tuttavia, le tecnologie powerline presentano vari benefici dovuti al fatto che
l’infrastruttura di rete è già presente. Le PLC, infatti, permettono una sensibile
riduzione dei costi di installazione e manutenzione dell’infrastruttura di rete [5].
Per tali motivi le powerline communication sono già utilizzate nelle reti di
distribuzione elettrica per applicazioni di energy management e di smart
metering.[8].
Questo lavoro di tesi si è concentrato sullo sviluppo di un software per l’analisi di
file di trace ottenuti da misure su dispositivi powerline ST7580. Nel Capitolo 2 si
discuterà il ruolo del software ST7580 Analyze nell’analisi dei dati relativi alle
misure effettuate. Nel Capitolo 3, verrà introdotto il protocollo di comunicazione,
utilizzato dal powerline modem ST7580 prodotto da STMicroelectronics,
analizzando la struttura e i meccanismi di trasmissione e ricezione delle frame.
Nel Capitolo 4 verrà affrontato il design del software ST7580 Analyze e verrà
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
4
descritta l’architettura del software tramite diagrammi UML delle classi, oltre a
una dettagliata descrizione delle stesse. Verranno poi analizzate alcune scelte
progettuali e sarà quindi fornita una guida all’utilizzo del software, con un
esempio di analisi basata su dati di prova.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
5
2 IL RUOLO DEL SOFTWARE ST7580 ANALYZE NELL’ANALISI
DEI DATI.
Il software ST7580 Analyze nasce dall’esigenza di avere uno strumento che, in
modo veloce e intuitivo, permetta di analizzare un file contente le frame scambiate
tra modem ST7580, al fine di ricavare informazioni quantitative sulla qualità delle
trasmissioni.
In particolare, esso deve fornire all’utente un metodo per leggere le informazioni,
relative a una o un gruppo di frame, in un linguaggio facilmente comprensibile.
I file da analizzare derivano da misurazioni su canali powerline. L’obiettivo del
software è quello di fornire all’utente, che effettua le misurazioni, uno strumento
utile, che gli permetta di effettuare il confronto tra misure svolte con vari tipi di
modulazione, al fine di valutare il BER in funzione del SNR.
Nei paragrafi seguenti, verrà introdotto il software in dotazione con l’Evalkit
ST7580 (kit composto da un microcontrollore, un modem ST7580 e un’ unità di
alimentazione), chiamato ST7580 GUI [12], che permette di inviare e ricevere
local frame e di esportare un file di trace contenente la lista delle frame scambiate.
Inoltre verrà trattata una metodologia di analisi e confronto delle varie
modulazioni supportate dal modem ST7580.
2.1 Il software ST7570 GUI utilizzato nelle fasi di misurazione.
La Figura 1 presenta la finestra principale dell’applicativo, che può essere divisa
in due sezioni:
 Console, che mostra tutti i messaggi scambiati con i nodi. I messaggi
possono essere cancellati o salvati in un file .txt, mediante l’utilizzo delle
opzioni nel menu ‘tool’ nella toolbar [2].
 Node panel: usato principalmente per impostare le configurazioni per la
connessione con il pc e scegliere le caratteristiche delle frame trasmesse
[2].
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
6
Figura 1 [2] – Finestra principale del software ST7580 GUI
2.2 Metodo di misura
Le misure vengono effettuate in laboratorio su un canale powerline, con il testbed
mostrato in Figura 2:
Figura 2 – Testbed
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
7
IL testbed è composto da due modem (host) collegati ad una rete elettrica
controllata e un generatore di segnale [4].
I due host (host A e host B) sono collegati all’evalkit ST7580 mediante porta USB
ed hanno installato il software ST7580 GUI.
Scelto un determinato tipo di modulazione, mediante il modem ST7580 e il
software ST7580 GUI si trasmettono diverse frame con lo stesso payload. In un
secondo momento, si introduce, mediante un generatore di segnale, un rumore
variabile all’interno del canale. Dopo aver inserito nel canale i vari tipi di rumore,
si procede all’esportazione del file, contenente il trace dell’intera comunicazione,
mediante l’ST7580 GUI. Si ripete quindi l’intero processo per ogni tipo di
modulazione.
A tal punto, sono presenti tutti i dati per condurre un’analisi mediante
l’applicativo ST7580 Analyze.
2.3 Motivi per cui è utile condurre un’analisi con il software ST7580
Analyze
Il file di trace, estratto mediante ST7580 GUI, contiene la struttura di ogni local
frame, ovvero, la frame scambiata tra l’host e il tranceiver del PLM contenente le
frame che vengono scambiate tra i due modem, in formato esadecimale e i
comandi di controllo del tranceiver.
Spesso si è interessati al rapporto segnale-rumore (SNR) misurato dal modem
ricevente in seguito alla trasmissione di una frame. Senza l’ausilio del software
ST7580 Analyze, sarebbe necessario conoscere la posizione del dato all’interno
dello stream di byte e convertire il valore esadecimale dell’SNR in decimale, il
che comporterebbe un notevole spreco di tempo. Se invece si utilizza il software,
tutte queste operazioni sono automatizzate, per ogni singola local frame sarà
possibile visualizzare il tipo di comando, il payload e il parsing dei campi per
quello specifico comando. Inoltre l’applicazione fornirà il grafico dell’andamento
del BER in funzione del SNR. Maggiori dettagli sulla struttura e il funzionamento
del software ST7580 Analyze, verranno forniti nel Capitolo 5.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
8
3 IL MODEM ST7580 PRODOTTO DA ST MICROELETRONICS
Il modem ST7580, prodotto da STMicroelectronics, è un dispositivo powerline,
rivolto ad applicazioni di metering, che può operare nelle bande CENELEC A (da
35 kHz a 91 kHz), e nelle bande CENELEC B (da 95 kHz a 125 kHz) [6].
In questo capitolo verranno esposte le principali caratteristiche del modem e del
protocollo utilizzato per comunicare con l’applicazione host [1].
3.1 Il modem.
Il dispositivo è composto da un physical layer e da alcuni servizi di livello data
link layer per la comunicazione powerline. Il Physical (PHY) layer, che risiede nel
PHY processor, supporta sette modulazioni, ossia, BFSK, BPSK, QPSK, 8PSK,
BPSK-coded, QPSK-coded e BPSK-coded_PNA.
Il Data Link (DL) layer offre servizi per la trasmissione e ricezione di frame,
servizi per la correzione degli errori, e inoltre un servizio di sicurezza, basato
sull’algoritmo AES a 128 bit, per la criptazione e la decriptazione dei frame.
Il Management Information Base(MIB) è un database, che contiene i dati richiesti
per le configurazioni del sistema. La sua struttura è mostrata in Tabella 1.
Index Nome Lunghezza [Byte]
00h Modem Configuration 1
01h PHY Configuration 14
02h SS Key 16
03h Reserved 1
04h Last data indication 4
05h Last TX confirm 5
06h PHY_Data 10
07h DL_Data 8
08h SS_data 10
09h Host Interface Timeout 3
0Ah Firmware version 4
Tabella 1 [1] – MIB objects
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
9
L’Host interface rende disponibili all’host esterno, mediante la porta UART, i
servizi PHY, DL e MIB.
Il modem è dotato di due interfacce di comunicazione:
 Local Port (UART);
 Analog Port.
La local port è una porta UART, che consente all’ host esterno, connesso a tale
porta, di impartire comandi di configurazione o che permettano di demandare al
dispositivo l’invio di frame lungo il canale powerline.
La analog port è connessa direttamente al mezzo trasmissivo in cui si vuole
istaurare una comunicazione powerline [1].
La struttura del modem ST7580 è mostrata in Figura 3.
Figura 3 [1] – Schema ST7580
3.2 Struttura delle frame powerline
Il dispositivo ST7580 può essere configurato per l’invio e la ricezione di tre
differenti tipi di frame lungo il canale powerline [1] :
 Physical Frame (richiede il payload come unico parametro esterno e
costruisce automaticamente il campo lunghezza).
 Data link Frame (richiede il payload come unico parametro esterno e
costruisce automaticamente la lunghezza ed i campi CRC).
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
10
 Security service Frame (richiede il payload e la lunghezza dell’intestazione
come parametri esterni, costruisce automaticamente: lunghezza, CRC e
campo HL, decide arbitrariamente un vettore di inizializzazione e cripta il
messaggio).
3.2.1 Struttura della Physical frame
Figura 4 [1] – PHY Frame
La frame in Figura 4 è costituita dai seguenti campi:
 Il campo Preamble, che contiene una sequenza di bit 1 e 0 richiesti dal
ricevitore per ottenere la sincronizzazione.
 Il campo Unique Word, ovvero una sequenza di bit predefinita usata per
contrassegnare l’inizio di una frame ed effettuare una stima sul SNR della
word ricevuta.
 Il campo PSK Mode, che specifica la modulazione PSK utilizzata.
 Il campo Length, che contiene la dimensione in byte del campo payload.
 Il campo Payload, che contiene il messaggio di livello fisico trasmesso in
chiaro.
3.2.2 Struttura della Data link frame
Scegliendo una struttura delle frame di tipo Data Link, all’ host esterno è
consentito di scegliere l’uso di un codice di rilevazione degli errori ovvero, il
codice a ridondanza ciclica (CRC).
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
11
Il livello data link usa un codice CRC per il rilevamento degli errori. Esso calcola
il campo CRC e trasmette la frame.
Quando il modem di destinazione riceve la frame, ricalcola il codice CRC sui dati
ricevuti e lo confronta con il campo CRC. Accetta la frame solo se i due valori
sono uguali. Un’ulteriore caratteristica della configurazione di ricezione del
modem è lo sniffer flag: se attivato, l'ST7580 notifica all'host le frame ricevute,
anche nel caso in cui il CRC calcolato è errato [1].
In Figura 5 è mostrata la struttura di una data link frame.
Figura 5 [1] – DL Frame
La frame è costituita dai seguenti campi:
 Il campo Length, che contiene la dimensione in byte del campo payload e
CRC [3].
 Il campo Payload, che contiene il messaggio in chiaro.
 Il campo CRC. La sua lunghezza, l’ordine dei byte ed i campi coinvolti nel
calcolo(lunghezza e carico utile, o solo payload) possono essere scelti dal
host esterno [3].
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
12
3.2.3 Struttura dei Security service frame
In Figura 6 è mostrata la struttura di una security service frame:
Figura 6 [1] – SS Frame
Le security service frame forniscono un meccanismo di crittografia dei dati,
basato su un algoritmo di cifratura AES con chiavi da 128 bit. La chiave utilizzata
è quella salvata nell’oggetto MIB 02h. La stessa chiave deve essere usata sia in
trasmissione che in ricezione [1].
La frame è costituita dai seguenti campi:
 Il campo Header, che contiene la parte del messaggio trasmessa in chiaro.
 Il campo Encrypted Payload, che contiene la parte del messaggio criptata.
 Il campo Intialization Vector (IV), che contiene l’Inizialization Vector
utilizzato dall’algoritmo AES-CTR.
 Il campo Header Length (HL), che contiene la lunghezza del campo
Header.
 Il campo Digest, che contiene il codice Hash calcolato con l’algoritmo
AES-CMAC su Header, Encrypted payload, IV e Header Length.
3.3 UART Port e frame locali
La comunicazione tra i due dispositivi può avvenire solo in modalità half-duplex
asincrona. Lo schema di connessione è evidenziato in Figura 7
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
13
Figura 7 [1] – UART Port
L’interfaccia UART ha due canali per i dati:
 TXD: trasporta i dati dall'ST7580 all’ host.
 RXD: trasporta i dati dall’host all’ST7580.
 T_REQ: è un segnale di controllo,che generalmente deve essere mantenuto
in high level. Quando, invece, l’host esterno vuole chiedere il
trasferimento di una frame verso ST7580, deve essere mantenuto in low
level.
Il codice di linea usato nella trasmissione è un NRZ unipolare. Il bit 1 può essere
indicato con 5 o 3.3 V, mentre il bit 0 è indicato con 0 V. Ogni singolo byte che
viene scambiato deve essere delimitato da un bit di start e un bit di stop [1].
Le frame che vengono scambiate sono composte da caratteri, ognuno dei quali è
composto da un bit di start, otto bit e un bit di stop, come mostrato in Figura 8.
Figura 8 [1] – Character format
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
14
3.3.1 Tipi di frame.
Tutte le risorse e i servizi del ST7580 (PHY layer, DL layer e gestione MIB) sono
disponibili attraverso i comandi locali e possono essere gestiti dall’ host esterno
tramite l'interfaccia seriale di comunicazione locale ed i comandi definiti nei
paragrafi seguenti [1].
3.3.2 Protocollo di comunicazione.
Il protocollo di comunicazione, implementato nel dispositivo, supporta le seguenti
feature:
 Il formato delle frame.
 Il meccanismo di ricezione.
 Il meccanismo di acknowledgement.
 La gestione dei timer.
 Il controllo degli errori.
3.3.3 Struttura delle Frame locali
La struttura di una local frame è mostrata in Figura 9:
.
Figura 9 [1] – Struttura di una local frame.
La frame in Figura 9 è costituita dai seguenti campi:
 Il campo STX della dimensione di 1 byte, che può assumere uno dei due
valori tra 02h e 03h e che indica l’inizio di una local frame.
 Il campo Length della dimensione di 1 byte, che contiene la lunghezza in
byte del campo Data.
 Il campo Command Code, che contiene il codice del comando utilizzato.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
15
 Il campo Data, che contiene i dati da trasmettere.
 Il campo Checksum, che contiene il risultato della somma degli elementi
della frame, dal campo lunghezza all’ultimo byte del campo data o fino
all’ultimo byte del comando, se non c’è nessun byte di dati.
3.3.4 Acknowledgement delle Frame locali
Dopo aver ricevuto una frame, sia l’host esterno che l’ST7580 devono inviare un
messaggio di acknowledgement positivo (ACK) o negativo (NACK), che può
essere indicato mediante uno dei due codici mostrati in Tabella 2:
Simbolo Definizione Codice
Ack Acknowledgement 06h
Nack Not acknowledgement 015h
Tabella 2 [1] – Codici di riscontro.
3.3.5 Messaggi di stato
I messaggi di stato sono trasmessi quando il pin T_REQ è down. Ogni messaggio
di stato è composto da due byte, di cui il primo byte è sempre il codice
esadecimale 3Fh, il restante byte, invece, viene interpretato in accordo con la
Tabella 3 [1].
Bit Index Descrizione
0 Configuration status
1 Transmission status
2 Reception status
3-4 Active layer
5 Overcurrent flag
6-7 Estimated ST7580
temperature
Tabella 3 [1] –Composizione dei messaggi di stato.
3.3.6 Ruoli dei dispositivi connessi alla porta locale
Il dispositivo ST7580 è sempre il master della comunicazione. Esso può avviare
una comunicazione locale senza prendere in considerazione lo stato dell'host
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
16
esterno, mentre, se è l’host esterno a voler trasmettere una frame, deve prima
espletare una richiesta di trasmissione mediante il pin T_REQ. In quest’ultimo
caso il dispositivo ST7580 risponderà con un messaggio di stato, che consentirà o
meno la trasmissione [1].
3.3.7 Delimitazione dei caratteri della local frame
I dati provenienti dalla porta seriale UART sono un flusso di dati asincrono.
Allo scopo di identificare le frame all’interno del flusso di byte, il protocollo di
comunicazione del ST7580 usa due metodi: lunghezza e timeout.
Quando il flusso di byte raggiunge la lunghezza attesa di una frame, in accordo
con le caratteristiche del tipo di frame, la ricezione della frame è terminata.
L’intervallo di tempo tra due caratteri consecutivi, in una local frame, non deve
eccedere il tempo Tic (timeout_inter_character), trascorso il quale né la parte
ricevente del ST7580, né quella dell’host esterno accetteranno alcun carattere.
Una rappresentazione grafica è fornita in Figura 10:
Figura 10 [1] – Tic (timeout-inter-character)
Il tempo Tic è impostato solitamente a 10 ms, ma può essere modificato andando
ad agire sul MIB (object 09h). Se lunghezza e checksum sono corrette la frame è
accettata, altrimenti tutti i caratteri precedentemente letti per quella relativa frame
vengono scartati [1].
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
17
3.3.8 Regole di comunicazione dall’ST7580 all’host esterno.
Quando l’ ST7580 necessita di trasmettere una frame ad un host, esso può inviarla
senza alcuna richiesta preventiva. La frame locale è automaticamente costruita
con un valore del campo STX pari a 02h.
Se la lunghezza e la checksum della local frame sono corrette, l’host esterno
risponde con un ACK, altrimenti risponde con un NACK.
Se si verifica uno di questi casi nella linea RXD:
 Ricezione NACK
 Ricezione di una qualsiasi altra frame
 Nessuna frame nell’intervallo Tack (ossia, il tempo oltre il quale un
eventuale ACK non verrà preso in considerazione).
il dispositivo ST7580 ripete l’invio della frame, dopo un ritardo corrispondente al
Tack, cambiando il valore di STX a 03h.
Il riconoscimento delle frame ritrasmesse è considerato positivo di default, anche
se l’host risponde con un NACK, cioè, se si invia per la prima volta una frame e si
verifica uno dei casi esposti precedentemente nella linea RXD, si considera la
frame come recapitata, anche se si riceve un NACK [1].
Un possibile scenario è mostrato in Figura 11:
Figura 11 [1] – Scenario di trasmissione dall’ ST7580, all’host esterno.
Lungo la linea TXT il modem ST7580 inizia la trasmissione di una frame. Entro
un tempo Tack viene ricevuto un NACK lungo la linea RXD e, di conseguenza, il
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
18
modem ST7580 procede al re-invio della frame lungo la linea RXD.
Successivamente la frame viene ricevuta dall’host esterno, che la riscontra con
una frame di ACK lungo la linea RXD.Regole di comunicazione dall’host esterno
all’ST7580.
3.3.9 Regole di comunicazione dall’host esterno all’ST7580.
Quando l’host esterno necessita di instaurare un trasferimento dati con ST7580,
deve settare il segnale T_REQ a un livello basso. Quando il dispositivo ST7580
non è occupato risponde con un messaggio di stato, confermando o negando la
disponibilità del canale. Se la comunicazione è stata accettata l’host esterno può
iniziare la trasmissione della local frame (costruendola con il valore 02h nel
campo STX della frame locale) entro il tempo Tsr.(ovvero, l’intervallo di tempo
successivo alla ricezione del messaggio di stato, in cui l’ST7580 accetta o meno la
comunicazione) Non appena la frame è stata inviata, il segnale T_REQ è posto ad
un livello alto. Se il primo byte della frame non è ricevuto prima del tempo Tsr,
l’ST7580 ignora la frame [1].
Un possibile scenario è mostrato in Figura 12:
Figura 12 [1] – Scenario di trasmissione dall’ host esterno, all’ST7580
L’host esterno intende instaurare una comunicazione con l’ST7580, quindi
imposta il pin T_REQ a un valore basso. Il modem ST7580 risponde con un
messaggio di stato, accettando la comunicazione. Successivamente l’host inizia la
trasmissione della local frame, inviandone il primo byte entro un intervallo Tsr.
Viene quindi ricevuto un ACK entro un intervallo Tack.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
19
4 IL SOFTWARE ST7580 ANALYZE
In questo capitolo verranno esposte le varie fasi di progettazione del software,
dall’analisi dei requisiti alle procedure adottate per il testing dell’applicativo.
4.1 Analisi dei requisiti
Il software ST7580 Analyze deve essere in grado di effettuare il parsing di un file
di trace di misure, esportato tramite il software ST7580 GUI.
Deve essere inoltre in grado di condurre un’analisi dei dati, che è considerata la
funzionalità più importante che il software deve possedere.
Inoltre sono richieste funzionalità di esportazione dei dati in diversi formati,
soprattutto nel formato .csv, in modo da consentire un’ importazione dei dati in
Matlab.
In fine è richiesta la possibilità di graficare l’andamento del BER in funzione del
rapporto segnale-rumore.
4.2 Scelte progettuali
L’applicativo è stato progettato per essere multipiattaforma, per tale motivo il
linguaggio utilizzato è il Java [10].
Il software è dotato di un’interfaccia grafica, che permette di semplificare al
massimo l’uso del programma. Mediante l’interfaccia sarà, infatti, possibile aprire
un file, condurre un’analisi e, quindi, esportare i dati dell’analisi in diversi
formati.
Il software è completamente flessibile a variazioni del set di comandi del modem
ST7580. Si è, infatti, optato per inserire all’interno di un file ‘.xml’ formato e
istruzioni per la decodifica di ogni singolo comando. Pertanto, se in una nuova
versione dell’ST7580, verrà inserito o eliminato un nuovo comando, non sarà
necessario intervenire sul codice sorgente, ma bisognerà solamente modificare il
file ‘.xml’.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
20
4.3 Diagramma UML delle classi fondamentali
Il diagramma UML delle classi è mostrato in Figura 13.
Figura 13 – Diagramma UML
Il software è costituito da cinque classi fondamentali:
 FileHanlder;
 LocalFrameHandler;
 CommandHandler;
 Command;
 LocalFrame.
Le classi LocalFrameHandler e CommandHandler estendono la classe
FileHandler e fanno rispettivamente uso degli oggetti LocalFrame e Command
nelle strutture dati di tipo Map, che istanziano. All’apertura del file contenente il
trace di misure, vengono caricate le frame in una struttura di tipo Map del tipo
Map<Integer,LocalFrame>(in cui la chiave è un numero progressivo), mediante il
metodo loadValue(). Successivamente, vengono caricati i comandi in una struttura
di tipo Map<String,Command>(dove la chiave è rappresentata dal codice di
comando), sempre mediante il metodo loadValue(). A tal punto possono essere
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
21
usati vari metodi della classe LocalFrameHandler per operare sui dati contenuti
nella Map delle LocalFrame.
4.4 Le classi
Index.java
La classe Index estende la JFrame e contiene essenzialmente il metodo main e
initComponent(). Mediante quest’ultimo vengono inizializzati gli oggetti della
form principale e i relativi eventi mediante i Listener.
ConfigurationPanel.java
La classe ConfigurationPanel estende la classe JFrame e implementa la form delle
impostazioni.
File Handler.java
La classe FileHandler consente l’apertura e la chiusura di un file, le comuni
operazioni di lettura e scrittura su file, i metodi per la lettura di documenti xml e,
soprattutto, il metodo loadValue(), che permette il caricamento dei dati di un file,
secondo un criterio di parsing. Tale metodo non è implementato e quindi deve
essere reso tale dalle classi che ereditano la classe in questione.
LocalFrame.java
La classe LocalFrame rappresenta la struttura di una frame, contiene tutti i campi
della frame, ciascuno dei quali dotato dei rispettivi metodi get e set. Qualora
venisse modificata la struttura delle frame, bisognerà intervenire sul seguente
oggetto.
LocalFrameHandler.java
La classe LocalFrameHandler opera a un livello più basso rispetto alla classe
FileHandler. Mentre quest’ultima è adatta al caricamento per righe o per tag dei
dati contenuti nel file (il primo metodo permette di leggere ogni singola riga del
file mediante il metodo loadValue(), mentre con il secondo è possibile leggere il
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
22
contenuto di un tag all’interno del file mediante il metodo: getTagValues(String
sTag)), la LocalFrameHandler opera sulle frame contenute all’interno del file,
facendo un override del metodo loadValue() , che permette di caricare in maniera
corretta le frame all’interno di una struttura di tipo Map, in cui la chiave è
rappresentata da un numero progressivo e il dato è l’oggetto LocalFrame.
Qualora venissero introdotte delle modifiche sulla struttura del file, contenente le
frame, il metodo da aggiornare sarà il metodo loadValue(). Tale classe contiene
anche i metodi, che consento di effettuare le più comuni operazioni su una o un
gruppo di frame.
Command.java
La classe Command rappresenta un comando con le sue istruzioni per il parsing,
come specificate nel file ‘command.xml’ all’interno dei tag <command>(come
discusso nella sezione 4.5).
CommandHandler.java
La classe CommandHandler, strutturata in maniera simile alla
LocalFrameHandler, estende la classe FileHandler, facendo un override del
metodo loadValue(), che permette il caricamento dei comandi dal file
‘command.xml’. I comandi vengono caricati in una struttura di tipo Map, dove la
chiave è rappresentata dal codice di comando e il dato dall’oggetto Command.
JGraphPanel.java
La classe JGraphPanel estende la JPanel e implementa i metodi per aggiungere o
rimuovere punti al grafico. Sostanzialmente è un wrapper delle classi XYSeries,
XYSeriesCollection, JFreeChart, ChartPanel, facenti parte della libreria esterna
JFreeChart [11].
4.5 I file di configurazione
I file di configurazione sono due:
 command.xml
 config.xml
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
23
Il file ‘command.xml’ contiene le istruzioni per il parsing di ogni singolo
comando, come mostrate in Figura 14.
Figura 14 – Tag file: command.xml
Ogni comando deve essere delimitato dal tag <command>.
 Il codice del comando è delimitato dal tag <code>.
 Il nome del comando è delimitato dal tag <title>.
 I campi da leggere in sequenza sono separati da virgola e delimitati dal tag
<match>.
 Il numero di bit da leggere in sequenza sono separati da virgola, specificati
nello stesso ordine dei campi a cui si riferiscono e contenuti all’interno del
tag <parse>.
 I dati delimitati dal tag <format> specificano in che formato ogni singola
sequenza di bit deve essere decodificata. Ogni formato è separato da
virgola. I formati di decodifica sono espressi nello stesso ordine dei campi
a cui si riferiscono.
 All’interno del tag <mib> è contenuto un valore booleano, che specifica se
il comando in questione è un comando di configurazione.
 All’interno del tag <csvExportEnable> è contenuto un valore booleano,
che specifica se il comando in questione deve essere o non essere inserito
nel file .csv, che può essere esportato dal menu file.
 All’interno del tag <berComputationEnable> è contenuto un valore
booleano che specifica se deve essere effettuato il calcolo dei bit errati sul
payload del comando in questione.
Il file ‘config.xml’ contiene i dati relativi alle impostazioni dell’applicazione, in
modo che possano essere recuperati anche in seguito alla chiusura
dell’applicazione. Nella versione attuale del software, vi è una sola opzione: la
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
24
stringa per il calcolo del numero di bit errati, specificata all’interno del tag
<code>, come mostrato in Figura 15.
Figura 15 – Tag file: config.xml
4.6 Le fasi di testing dell’applicativo
La fase di testing dell’applicativo è stata effettuata creando un file di misure di
piccole dimensioni, mostrato in Tabella 4, composto dalle local frame, che
statisticamente sono maggiormente presenti nei file di misure.
02 0E 52 - 4C 09 00 67 00 00 01 23 45 67 89 AB CD EF - DC 04
(DLDataIndication)
02 0B 50 - 44 00 2F 01 23 45 67 89 AB CD EF - 8E 04 (DLDataRequest)
02 05 51 - 74 74 00 04 A9 - EB 01 (DLDataConfirm)
Tabella 4 –File di misure.
In un primo momento sono stati effettuati i calcoli manualmente, dopo di che, si è
passati al confronto con quelli ottenuti mediante il software ST7580 Analyze.
Per la conversione da stringa esadecimale a stringa binaria si è costruita la Tabella
5 di conversione:
Valore Binario Valore esadecimale
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Tabella 5 – Tabella di conversione.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
25
Mentre per il parsing di una local frame si è fatto riferimento al paragrafo 3.3.3.
4.6.1 Analisi manuale della prima frame del file
La prima local frame da analizzare ha la struttura mostrata in Tabella 6.
02 0E 52 - 4C 09 00 67 00 00 01 23 45 67 89 AB CD EF – DC 04
Tabella 6 – Local Frame uno.
Il codice comando è il 52h. Osservando la Tabella 17, si evince che si tratta di una
DLDataIndication.
Si procede, quindi, alla conversione da esadecimale a binario del campo payload
della local frame ed il risultato è mostrato in Tabella 7:
Command
Header
Command
Payload
01001100
00001001
00000000
01100111
00000000
00000000
00000001
00100011
01000101
01100111
10001001
10101011
11001101
11101111
Tabella 7 – Local Frame Payload: in rosso il payload del comando
DLDataIndication.
In seguito, è stato effettuato il parsing di una DLDataIndication, in accordo con la
Tabella 18. I risultati sono mostrati nella Tabella 8.
Campo Valore binario Valore intero
Frame Modulation 010 2 (8-PSK)
RX Channel 0 0
PGA value 1100 12
SNR 00001001 9
ZC delay 0000000001100111 103
Payload * 00000123456789ABCDEF
Tabella 8 – Analisi prima frame
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
26
Il DLDataIndication è un comando che serve al modem ST7580 per recapitare
all’host l’avvenuta ricezione di una powerline frame. I vari campi che
costituiscono l’header del comando sono elencati in Tabella 8 e sono:
 Frame modulation: la modulazione utilizzata per trasmettere la powerline
frame.
 RX Channel: il canale RX utilizzato
 PGA value: il valore di PGA utilizzato. Il PGA è un guadagno, che può
amplificare o attenuare il segnale di ingresso in base alla tensione picco-
picco in ingresso.
 SNR: rapporto segnale /rumore stimato sulla ricezione della Unique Word.
 ZC delay: ritardo tra la trasmissione dell’ultimo bit della Unique word e il
momento in cui la corrente attraversa il valore nullo.
 Payload: messaggio ricevuto.
Sul payload di una DLDataIndication, il tool effettua il calcolo del BER, quindi,
per questo tipo di frame, si procede anche al calcolo manuale del BER. Il risultato
del calcolo dei bit errati è mostrato in Tabella 9.
Valori BitErrati
00000000
00000001
1
00000000
00100011
3
00000001
01000101
2
00100011
01100111
2
01000101
10001001
4
01100111
10101011
4
10001001
11001101
2
Tabella 9 – Bit errati prima frame.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
27
Valori BitErrati
10101011
11101111
2
11001101
11101111
Tabella 10 – Bit errati prima frame (continuo).
In rosso sono segnati i bit della stringa trasmessa, in nero, invece, vi sono i bit
ricevuti corrispondenti al payload della DLDataIndication.
Si evince che:
TotBitErrati = 20
TotBitTrasmessi = 64
Quindi, applicando ai dati la (1) si ottiene il BER.
4.6.2 Analisi manuale della seconda frame del file
La seconda local frame da analizzare ha la struttura mostrata in Tabella 11.
02 0B 50 - 44 00 2F 01 23 45 67 89 AB CD EF - 8E 04
Tabella 11 – Local Frame due.
Il codice comando è il 50h. Osservando la Tabella 17, si evince che si tratta di una
DLDataRequest.
Si procede, quindi, alla conversione da esadecimale a binario del campo payload
della local frame ed il risultato è mostrato in Tabella 12:
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
28
Command
Header
Command
Payload
01000100
00000000
00101111
00000001
00100011
01000101
01100111
10001001
10101011
11001101
11101111
Tabella 12 – Local Frame Payload: in rosso il payload del comando
DLDataRequest.
In seguito è stato effettuato il parsing di una DLDataRequest, in accordo con la
Tabella 19. I risultati sono mostrati nella Tabella 13.
Campo Valore binario Valore intero
Custom/MIBFrequency 0 0
Frequency overwrite 1 1
Frequency set 0 0
Gain selector 0 0
Frame Modulation 010 2 (8-PSK)
Zero crossing
synchronization
0 0
TX Frequency 000000000010111100000001 12033
TX Gain 00100 4
Payload * 456789ABCDEF
Tabella 13 – Analisi seconda frame.
Il DLDataRequest è un comando che serve all’host esterno per richiedere la
possibilità di inviare una powerline frame. I vari campi che costituiscono l’header
del comando sono elencati in Tabella 13 e sono:
 Custom/MIBFrequency: permette di decidere se usare la frequenza settata
nell’oggetto MIB PHY_Config o specificarla in byte nel campo TX
Frequency. Può assumere solo due valori ‘1’ e ‘0’. Se vale ‘1’ si vuole
usare la frequenza specificata nel campo TXFrequency, se invece è ‘0’ si
vuole usare quella specificata all’oggetto MIB PHY_Config.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
29
 Frequency overwrite: viene preso in considerazione solo se il campo
Custom/MibFrequency è impostato a ‘1’. Può assumere solo due valori ‘0’
e ‘1’. Se è ‘1’ la frequenza specificata nel campo TX Frequency
sovrascrive quella specificata nell’oggetto MIB PHY_Config, se invece è
‘0’ non viene sovrascritta.
 Frequency set: permette di scegliere quali delle due frequenze contenute
nell’ oggetto MIB PHY_Config utilizzare. Può assumere solo due valori
‘1’ e ‘0’.
 Gain selector: permette di settare il guadagno del segnale in uscita. Può
assumere solo due valori ‘0’ e ‘1’. Se è ‘1’ il guadagno è specificato nel
campo TX Gain, mentre se è ‘0’ viene utilizzato quello impostato
nell’oggetto MIB PHY_Config.
 Frame Modulation: modulazione da utilizzare per trasmettere la powerline
frame.
 Zero crossing synchronization: Può assumere solo due valori ‘0’ e ‘1’. Se
è ‘1’ la trasmissione parte dopo un ZC Delay definito nell’oggetto MIB
PHY_Config, mentre se è ‘0’ la trasmissione della frame può iniziare in un
qualsiasi istante.
 TX Frequency: valore di frequenza (in Hz), viene preso in considerazione
solo se il campo Custom/MIBFrequency è impostato a 1.
 TX Gain: Guadagno del segnale trasmesso, viene preso in considerazione
solo se il campo Gain selector è impostato a 1.
4.6.3 Analisi manuale della terza frame del file
La terza local frame da analizzare ha la struttura mostrata in Tabella 14.
02 05 51 - 74 74 00 04 A9 - EB 01
Tabella 14 – Local Frame tre.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
30
Il codice comando è il 51h. Osservando la Tabella 17, si evince che si tratta di una
DLDataComfirm.
Si procede, quindi, alla conversione da esadecimale a binario del campo payload
della localframe e il risultato è mostrato in Tabella 15.
Command
Header
01110100
01110100
00000000
00000100
10101001
Tabella 15 – Local Frame Payload.
Questa tipologia di comando non prevede un campo payload.
In seguito è stato effettuato il parsing di una DLDataConfirm, in accordo con la
Tabella 21. I risultati sono mostrati nella Tabella 16:
Campo Valore binario Valore intero
Max. temp. 01 1
Max. gain. 11010 26
Unused 0 0
Min. Temp 01 1
Min. Gain 11010 26
Unused 0 0
Overcurrent events number 0000000 0
Overcurrent notification 0 0
ZC delay 0000010010101001 1193
Tabella 16 – Analisi frame tre.
Il DLDataConfirm è un comando che serve all’ST7580 per confermare all’host
esterno una richiesta di trasmissione effettuata mediante una DLDataRequest. I
vari campi che costituiscono l’header del comando sono discussi in Tabella 16 e
sono:
 Max.Temp: massima temperatura raggiunta durante la trasmissione della
powerline frame.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
31
 Max. gain: se la funzione di controllo della corrente è stata attivata
nell’oggetto MIB PHY_Config, il campo specifica il massimo guadagno
utilizzato in trasmissione. Se invece la funzione di controllo della corrente
non è attiva, viene indicato il guadagno dell’ultima trasmissione.
 Min. Temp: minima temperatura raggiunta durante la ricezione della
powerline frame.
 Min. Gain: se la funzione di controllo della corrente è stata attivata
nell’oggetto MIB PHY_Config, il campo specifica il minimo guadagno
utilizzato in trasmissione. Se invece la funzione di controllo della corrente
non è attiva viene indicato il guadagno dell’ultima trasmissione.
 Overcurrent events number: numero di sovracorrenti che si sono verificate
durante la trasmissione. Valido solo se la funzione di controllo della
corrente è stata attivata nell’oggetto MIB PHY_Config.
 Overcurrent notification: Notifiche circa il numero di sovracorrenti
raggiunte durante l’ultima trasmissione. Valido anche se la funzione di
controllo della corrente non è attiva. Può assumere due valori ‘0’ e ‘1’. Se
è ‘0’ il valore massimo di correnre in uscita non è stato raggiunto, se
invece è ‘1’ il valore massimo di corrente in uscita è stato raggiunto.
 ZC delay: ritardo tra la trasmissione dell’ultimo bit della Unique word e il
momento in cui la corrente attraversa il valore nullo.
4.6.4 Analisi del file di test svolta mediante l’utilizzo del software
Viene svolta l’analisi del medesimo file mediante il software ST7580 Analyze.
Esportando in formato ‘txt’ i risultati dell’analisi, otteniamo il file mostrato in
Figura 16.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
32
Figura 16 – File esportato in txt
Confrontando i risultati con quelli trovati in Tabella 8 per la DLDataIndication, in
Tabella 13 per la DL_DataRequest e in Tabella 16 per la DLDataConfirm, si
evince che il test ha avuto esito positivo poiché si sono ottenuti gli stessi valori.
4.7 L’interfaccia grafica
Gli elementi dell’interfaccia sono essenzialmente cinque e sono mostrati in Figura
17 con riquadri di colore diverso.
Figura 17 – L’interfaccia grafica
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
33
Essi sono:
 Il menu, che permette di selezionare alcune operazioni fondamentali, come
l’apertura o l’esportazione di un file.
 Il grafico del BER(bit error rate) in funzione del SNR (rapporto segnale
/rumore), evidenziato con un riquadro rosso, in alto a destra.
 La tabella, che elenca le frame caricate in seguito all’operazione di
parsing, indicata con un riquadro verde, in alto a sinistra.
 Il menu a tendina per le operazioni di filtraggio sulla tabella, che permette
di visualizzare solo le frame di un certo tipo, evidenziato con un riquadro
blu, in alto a sinistra.
 I parametri riguardati il BER e il SNR, nel riquadro marrone, in basso a
destra.
 Il campo payload, espresso in esadecimale, per ogni singola frame
selezionata, indicato dal riquadro color oro, in basso a sinistra.
4.7.1 Il Menu
Il menu, mostrato in Figura 18, è diviso nelle sezioni File ed Edit.
Figura 18 – Il menu
La sezione File è suddivisa nelle seguenti sotto categorie:
 Open (permette di aprire un nuovo file di analisi)
 Export csv (permette di esportare l’analisi in formato CSV)
 Export txt (permette di esportare l’analisi in formato TXT)
La sezione Edit è suddivisa nelle seguenti sotto categorie:
 Configuration Panel (permette di settare le configurazioni del software, tra
cui la possibilità di inserire la stringa di confronto per il calcolo del BER).
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
34
4.7.2 Il Grafico
Il grafico(Figura 19), presente nel riquadro in alto a destra della Figura 17, mostra
l’andamento del BER in funzione del SNR.
Figura 19 – Il grafico – BER in scala logaritmica, SNR in scala lineare.
Sono disponibili delle funzioni di zoom del grafico, per ingrandire o rimpicciolire
alcuni particolari.
L’ingrandimento si effettua premendo il tasto sinistro del mouse e rilasciandolo,
dopo aver fatto un movimento da sinistra verso destra.
Il restringimento si effettua premendo il tasto sinistro del mouse e rilasciandolo,
dopo aver fatto un movimento da destra verso sinistra.
4.7.3 La tabella
La tabella (Figura 20) elenca le frame che erano presenti nel file di misure ed è
costituita da sei colonne:
 Code(Identifica univocamente la frame).
 Timestamp (Istante temporale in cui è avvenuta la trasmissione o la
ricezione della frame).
 Mode (Indica se la frame è stata ricevuta o trasmessa).
 Length (dimensione in esadecimale del campo payload della frame).
 CommandCode (codice in esadecimale del comando utilizzato).
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
35
 Checksum.
Figura 20 – La tabella
Con un singolo click, in una qualsiasi riga della tabella, è possibile visualizzare il
contenuto del campo payload della frame selezionata. Esso verrà visualizzato nel
riquadro in basso a sinistra, come mostrato in Figura 21:
Figura 21 – Local frame payload
Con un doppio click, in una qualsiasi riga della tabella, verrà mostrata una
finestra di dialogo, in cui sono contenute tutte le informazioni della frame
selezionata, come mostrato in Figura 22.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
36
Figura 22 – Risultati del parsing, del campo payload di una local frame
Il campo payload, in Figura 22, si riferisce al campo payload del comando
analizzato e, pertanto, non va confuso con quello in Figura 21, che invece, si
riferisce al campo payload di una local frame.
4.8 Esempio di analisi svolta con il tool ST7580 Analyze
In questo paragrafo verrà descritto come condurre un’analisi mediante il software
ST7580 Analyze.
La prima operazione da effettuare, una volta aperto il software, è quella di settare
la stringa, che è stata utilizzata in trasmissione, cliccando su Edit -> Configuration
Panel. Verrà dunque visualizzata una finestra come in Figura 23.
Figura 23 – Finestra delle impostazioni del software ST7580 Analyze
Bisogna quindi inserire la stringa e cliccare su save. Il software utilizzerà la
stringa settata per il calcolo del BER per tutti quei comandi ove tale calcolo è
abilitato (si veda il paragrafo 4.5).
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
37
A tal punto si procede all’apertura del file, il software caricherà tutte le frame e
traccerà il grafico, come in Figura 24.
Figura 24 – Finestra principale del software ST7580 Analyze in un esempio
di analisi
Si rilevano i seguenti dati:
 SNR(max)=13 db
 SNR (avg)=8.1 db
Questi parametri sono visualizzati per offrire un veloce termine di paragone con
un’altra misura da analizzare. Tuttavia, se lo si desidera, è possibile anche
visualizzare i dettagli per ogni singola frame, come già evidenziato in Figura 22.
Se si osserva il grafico in Figura 24 si vede come, all’aumentare del rapporto
segnale-rumore misurato dal dispositivo, il BER diminuisce.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
38
Procediamo all’esportazione del file .txt, cliccando su: File -> Export Txt. I
Il risultato è mostrato in Figura 25.
Figura 25 – Esportazione di un file txt in un esempio di analisi.
In tal modo, si ottengono i parametri per ogni singola frame, elencati l’uno sotto
l’altro e separati da quelli di un'altra frame dalla stringa: ‘--’.
Se si desidera successivamente importare i dati in Matlab [9], è, invece,
necessario esportare i dati dell’analisi in formato .csv ,cliccando su File -> Export
Csv. Il risultato sarà un file come in Figura 26
Figura 26 – Esportazione di un file csv in un esempio di analisi
L’analisi può quindi considerarsi completata.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
39
5 CONCLUSIONI
Questo lavoro di tesi ha riguardato la definizione, la progettazione e
l’implementazione del software ST7580 Analyze, che permette di effettuare in
maniera semplice operazioni di parsing del file di trace ricavato da misure
effettuate con dispositivi Powerline reali e l’analisi di tali misure calcolando il
BER e mettendolo in relazione con il rapporto segnale-rumore. Sono stati discussi
i vantaggi per cui è utile far uso del Software ST7580 Analyze, che permette di
effettuare il parsing delle local frame e, quindi, dei comandi scambiati tra host e
ST7580 e analizzare i dati delle misure raccolte da i file di trace.
Partendo dallo studio dei protocolli supportati dal dispositivo ST7580, è stata
effettuata un’analisi dei requisiti, e dopo un’analisi delle varie possibili opzioni,
sono state evidenziate le scelte progettuali per l’implementazione del software
ST7580 Analyze.
In questo lavoro di tesi, si è quindi riusciti a sviluppare un software che offre
notevoli vantaggi all’utente. Grazie a un’interfaccia semplice e intuitiva, è
possibile analizzare velocemente i dati relativi alle misurazioni, stimare il BER in
funzione dell’SNR e visualizzarne il grafico con pochi click, senza dover ricorrere
a strumenti di calcolo avanzato. Inoltre vengono offerte funzionalità di
configurazione avanzate per permettere un’ ampia flessibilità di estensione del
software, ovvero, senza doverlo modificare al variare delle specifiche di
comunicazione. L’utente è libero di inserire o rimuovere alcuni comandi
solamente andando ad agire su alcuni file di configurazione e, sempre mediante
tali file, è possibile decidere su quale frame effettuare il calcolo del BER o quali
frame debbano essere inserite nel file .csv, che è possibile esportare con
l’applicativo.
Sviluppi futuri riguarderanno funzioni di filtraggio avanzate, come ad esempio la
possibilità di filtrare le frame in base al SNR o mediante il BER e l’introduzione
della possibilità di esportare script Matlab [9], che utilizzino altri algoritmi di
analisi dei dati.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
40
6 APPENDICE A – TABELLE DELLE SPECIFICHE ST7580
Codice commando Titolo comando
24 PHY_DataRequest
25 PHY_DataConfirm
26 PHY_DataIndication
50 DL_DataRequest
51 DL_DataConfirm
52 DL_DataIndication
5A DL_SnifferIndication
Tabella 17 – Tabella dei principali comandi.
Byte Index Bit Index Etichetta
0 0-2 Frame modulation
3 RX channel
4-7 PGA value
1 SNR
2-3 ZC delay
4-254 PHY payload
Tabella 18 [1] – DLDataIndication – Istruzioni per il parsing.
Byte Index Bit Index Etichetta
0 0 Custom / MIB
frequency
1 Frequency overwrite
2 Frequency set
3 Gain selector
4-6 Frame modulation
7 Zero crossing
synchronization
1-3 TX Frequency
4 (or 1) 0-4 TX Gain
5-7 Unused
Tabella 19 [1] – DLDataRequest – Istruzioni per il parsing.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
41
Byte Index Bit Index Etichetta
5..254
(or 1..254,
2..254,
4..254)
Payload
Tabella 20 [1] – DLDataRequest – Istruzioni per il parsing (continuo).
Byte Index Bit Index Etichetta
0 0-1 Max. temp.
2-6 Max. gain
7 Unused
1 0-1 Min. temp
2-6 Min. gain
7 Unused
2 0-6 Overcurrent
events
number
7 Overcurrent
notification
3-4 ZC delay
Tabella 21 [1] – DLDataConfirm – Istruzioni per il parsing.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
42
I N D I C E D E L L E F I G U R E
Figura 1 [2] – Finestra principale del software ST7580 GUI................................................. 6
Figura 2 – Testbed ............................................................................................................... 6
Figura 3 [1] – Schema ST7580.............................................................................................. 9
Figura 4 [1] – PHY Frame.................................................................................................. 10
Figura 5 [1] – DL Frame .................................................................................................... 11
Figura 6 [1] – SS Frame ..................................................................................................... 12
Figura 7 [1] – UART Port .................................................................................................. 13
Figura 8 [1] – Character format ......................................................................................... 13
Figura 9 [1] – Struttura di una local frame......................................................................... 14
Figura 10 [1] – Tic (timeout-inter-character)...................................................................... 16
Figura 11 [1] – Scenario di trasmissione dall’ ST7580, all’host esterno. .............................. 17
Figura 12 [1] – Scenario di trasmissione dall’ host esterno, all’ST7580 ............................... 18
Figura 13 – Diagramma UML............................................................................................ 20
Figura 14 – Tag file: command.xml.................................................................................... 23
Figura 15 – Tag file: config.xml.......................................................................................... 24
Figura 16 – File esportato in txt.......................................................................................... 32
Figura 17 – L’interfaccia grafica........................................................................................ 32
Figura 18 – Il menu............................................................................................................ 33
Figura 19 – Il grafico – BER in scala logaritmica, SNR in scala lineare. ............................. 34
Figura 20 – La tabella ........................................................................................................ 35
Figura 21 – Local frame payload........................................................................................ 35
Figura 22 – Risultati del parsing, del campo payload di una local frame............................. 36
Figura 23 – Finestra delle impostazioni del software ST7580 Analyze ................................ 36
Figura 24 – Finestra principale del software ST7580 Analyze in un esempio di analisi ....... 37
Figura 25 – Esportazione di un file txt in un esempio di analisi........................................... 38
Figura 26 – Esportazione di un file csv in un esempio di analisi .......................................... 38
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
43
I N D I C E D E L L E T A B E L L E
Tabella 1 [1] – MIB objects .................................................................................................. 8
Tabella 2 [1] – Codici di riscontro. ..................................................................................... 15
Tabella 3 [1] –Composizione dei messaggi di stato.............................................................. 15
Tabella 4 –File di misure. ................................................................................................... 24
Tabella 5 – Tabella di conversione...................................................................................... 24
Tabella 6 – Local Frame uno.............................................................................................. 25
Tabella 7 – Local Frame Payload: in rosso il payload del comando DLDataIndication. ...... 25
Tabella 8 – Analisi prima frame ......................................................................................... 25
Tabella 9 – Bit errati prima frame...................................................................................... 26
Tabella 10 – Bit errati prima frame (continuo)................................................................... 27
Tabella 11 – Local Frame due. ........................................................................................... 27
Tabella 12 – Local Frame Payload: in rosso il payload del comando DLDataRequest......... 28
Tabella 13 – Analisi seconda frame..................................................................................... 28
Tabella 14 – Local Frame tre.............................................................................................. 29
Tabella 15 – Local Frame Payload. .................................................................................... 30
Tabella 16 – Analisi frame tre. ........................................................................................... 30
Tabella 17 – Tabella dei principali comandi. ...................................................................... 40
Tabella 18 [1] – DLDataIndication – Istruzioni per il parsing............................................. 40
Tabella 19 [1] – DLDataRequest – Istruzioni per il parsing. ............................................... 40
Tabella 20 [1] – DLDataRequest – Istruzioni per il parsing (continuo). .............................. 41
Tabella 21 [1] – DLDataConfirm – Istruzioni per il parsing. .............................................. 41
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
44
BIBLIOGRAFIA
[1] UM0932 User Manual, “ST7580 FSK,PSK multi mode power line
networking system-on-chip”.
[2] UM1518 User manual, “ST7580 power line modem demonstration kit
graphical user interface (GUI).”
[3] Datasheet ST7580, “FSK, PSK multi-mode power line networking system-
on-chip”, Rev.1, http://www.st.com/st-
webui/static/active/en/resource/technical/document/datasheet/DM0004590
3.pdf, January 2012.
[4] G.Patti, G. Alderisi, L. Lo Bello, “Performance assessment of the PRIME
MAC layer protocol”, in Proc. of the the 11th
IEEE International
Conference of Industrial Informatics (INDIN 13), Bochum, Germany, 29-
31 July 2013.
[5] Fariba Aalamifar, “Viability of powerline communication for smart grid
realization”,2012.
[6] Dr. Vladimir Oksman, “New ITU-T Recommendations for Smart Grid in
home and access communication”, Lantiq, ETSI Smart Grid Workshops
Sophia Antipolis, France, April 2011.
[7] “Smart Grids and Networks of the Future EURELECTRIC Views”, Union
of the Electricity Industry – EURELECTRIC, May 2009.
[8] Stefano Galli, Anna Scaglione, Zhifang Wang, “For the Grid and
Through the Grid: The Role of Power Line Communications in the Smart
Grid”, June 2011.
[9] Matlab 2013 disponibile su
http://www.mathworks.it/programs/nrd/matlab-trial-
request.html?ref=ggl&s_eid=ppc_1833, 7 novembre 2013.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
45
[10] JDK 7 disponibile su:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-
downloads-1880260.html, 7 novembre 2013.
[11] JFreeChart 1.0.16 disponibile su:
http://www.jfree.org/jfreechart/download.html, 7 novembre 2013.
[12] ST7580 GUI disponibile su:
http://www.st.com/web/en/catalog/tools/PF257648, 7 novembre 2013.
[13] IEEE Standard 802.3-2012 – “IEEE Standard for Ethernet - Section 1”,
2012.
[14] IEEE Standard 802.11-2012, “IEEE Standard for Information technology-
-Telecommunications and information exchange between systems Local
and metropolitan area networks--Specific requirements Part 11: Wireless
LAN Medium Access Control (MAC) and Physical Layer (PHY)
Specifications”, 2012.
[15] IEEE Standard 802.15.4-2011, “Standard for Local and metropolitan area
networks - Part 15.4: Low-Rate Wireless Personal Area Networks (LR-
WPANs)” , 2011.
Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013

Mais conteúdo relacionado

Mais procurados

Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...Domenico Schillaci
 
Public Light Manager - Una GUI per la gestione remota di un impianto di illum...
Public Light Manager - Una GUI per la gestione remota di un impianto di illum...Public Light Manager - Una GUI per la gestione remota di un impianto di illum...
Public Light Manager - Una GUI per la gestione remota di un impianto di illum...Gianluca Ritrovati
 
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...Simone Fini
 
Predizione di malfunzionamenti in reti di telecomunicazioni con tecniche di m...
Predizione di malfunzionamenti in reti di telecomunicazioni con tecniche di m...Predizione di malfunzionamenti in reti di telecomunicazioni con tecniche di m...
Predizione di malfunzionamenti in reti di telecomunicazioni con tecniche di m...Francesco Occhioni
 
Tesi Laurea I Livello - Vaiano
Tesi Laurea I Livello - VaianoTesi Laurea I Livello - Vaiano
Tesi Laurea I Livello - VaianoMarco Vaiano
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...michael_mozzon
 

Mais procurados (10)

Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
 
AV_tesi_v5
AV_tesi_v5AV_tesi_v5
AV_tesi_v5
 
Public Light Manager - Una GUI per la gestione remota di un impianto di illum...
Public Light Manager - Una GUI per la gestione remota di un impianto di illum...Public Light Manager - Una GUI per la gestione remota di un impianto di illum...
Public Light Manager - Una GUI per la gestione remota di un impianto di illum...
 
Tesi Todone
Tesi TodoneTesi Todone
Tesi Todone
 
Elaborato
ElaboratoElaborato
Elaborato
 
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
 
Predizione di malfunzionamenti in reti di telecomunicazioni con tecniche di m...
Predizione di malfunzionamenti in reti di telecomunicazioni con tecniche di m...Predizione di malfunzionamenti in reti di telecomunicazioni con tecniche di m...
Predizione di malfunzionamenti in reti di telecomunicazioni con tecniche di m...
 
TesiEtta
TesiEttaTesiEtta
TesiEtta
 
Tesi Laurea I Livello - Vaiano
Tesi Laurea I Livello - VaianoTesi Laurea I Livello - Vaiano
Tesi Laurea I Livello - Vaiano
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
 

Semelhante a a1dddf507ce838f51f5349d2b2c25241

Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Luca Bressan
 
Digitalizzazione di un processo industriale
Digitalizzazione di un processo industrialeDigitalizzazione di un processo industriale
Digitalizzazione di un processo industrialeGiulioDeBiasio2
 
Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...
Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...
Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...Alessandro Umek
 
La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4Gianmarco Beato
 
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...TiborRacman
 
Progetto, realizzazione e caratterizzazione dell'elettronica di acquisizione ...
Progetto, realizzazione e caratterizzazione dell'elettronica di acquisizione ...Progetto, realizzazione e caratterizzazione dell'elettronica di acquisizione ...
Progetto, realizzazione e caratterizzazione dell'elettronica di acquisizione ...MarcoCautero1
 
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...guest12aaa586
 
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...danieledegan
 
Relazione progetto Compressione Dati
Relazione progetto Compressione DatiRelazione progetto Compressione Dati
Relazione progetto Compressione DatiGianmarco Beato
 
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...Davide Bravin
 
Monitoraggio di mac address in lan
Monitoraggio di mac address in lanMonitoraggio di mac address in lan
Monitoraggio di mac address in lanCe.Se.N.A. Security
 
Application_level_SLA_monitoring
Application_level_SLA_monitoringApplication_level_SLA_monitoring
Application_level_SLA_monitoringNicola Mezzetti
 
Realizzazione di una base di dati per la memorizzazione di dati provenienti d...
Realizzazione di una base di dati per la memorizzazione di dati provenienti d...Realizzazione di una base di dati per la memorizzazione di dati provenienti d...
Realizzazione di una base di dati per la memorizzazione di dati provenienti d...mfurlanetto
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerAlessandro Mascherin
 
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...Dario Crosera
 
Porting evolutivo dell'applicazione per la gestione dei dispositivi del Comun...
Porting evolutivo dell'applicazione per la gestione dei dispositivi del Comun...Porting evolutivo dell'applicazione per la gestione dei dispositivi del Comun...
Porting evolutivo dell'applicazione per la gestione dei dispositivi del Comun...ozacchig
 
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Francesco Komauli
 
Documentazione progetto software - IoSegnalo
Documentazione progetto software - IoSegnaloDocumentazione progetto software - IoSegnalo
Documentazione progetto software - IoSegnaloMarco Vaiano
 

Semelhante a a1dddf507ce838f51f5349d2b2c25241 (20)

Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
 
Digitalizzazione di un processo industriale
Digitalizzazione di un processo industrialeDigitalizzazione di un processo industriale
Digitalizzazione di un processo industriale
 
2013_10_Felici.PDF
2013_10_Felici.PDF2013_10_Felici.PDF
2013_10_Felici.PDF
 
Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...
Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...
Integrazione e sviluppo di una piattaforma per la gestione delle conformità a...
 
La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4
 
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
 
Progetto, realizzazione e caratterizzazione dell'elettronica di acquisizione ...
Progetto, realizzazione e caratterizzazione dell'elettronica di acquisizione ...Progetto, realizzazione e caratterizzazione dell'elettronica di acquisizione ...
Progetto, realizzazione e caratterizzazione dell'elettronica di acquisizione ...
 
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
SVILUPPO DI UNA APPLICAZIONE PER L’ACQUISIZIONE DI DATI DA SUPPORTO CARTACEO:...
 
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
 
PALUZZANO TESI
PALUZZANO TESIPALUZZANO TESI
PALUZZANO TESI
 
Relazione progetto Compressione Dati
Relazione progetto Compressione DatiRelazione progetto Compressione Dati
Relazione progetto Compressione Dati
 
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
 
Monitoraggio di mac address in lan
Monitoraggio di mac address in lanMonitoraggio di mac address in lan
Monitoraggio di mac address in lan
 
Application_level_SLA_monitoring
Application_level_SLA_monitoringApplication_level_SLA_monitoring
Application_level_SLA_monitoring
 
Realizzazione di una base di dati per la memorizzazione di dati provenienti d...
Realizzazione di una base di dati per la memorizzazione di dati provenienti d...Realizzazione di una base di dati per la memorizzazione di dati provenienti d...
Realizzazione di una base di dati per la memorizzazione di dati provenienti d...
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computer
 
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
 
Porting evolutivo dell'applicazione per la gestione dei dispositivi del Comun...
Porting evolutivo dell'applicazione per la gestione dei dispositivi del Comun...Porting evolutivo dell'applicazione per la gestione dei dispositivi del Comun...
Porting evolutivo dell'applicazione per la gestione dei dispositivi del Comun...
 
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
 
Documentazione progetto software - IoSegnalo
Documentazione progetto software - IoSegnaloDocumentazione progetto software - IoSegnalo
Documentazione progetto software - IoSegnalo
 

a1dddf507ce838f51f5349d2b2c25241

  • 1. UNIVERSITÀ DEGLI STUDI DI CATANIA DIPARTIMENTO DI INGEGNERIA ELETTRICA, ELETTRONICA E INFORMATICA CORSO DI LAUREA IN INGEGNERIA INFORMATICA Nunzio Meli PROGETTAZIONE E SVILUPPO DI UN SOFTWARE PER L'ELABORAZIONE DI TRACE DI MISURE SU DISPOSITIVI POWERLINE. Tesi di Laurea Relatore: Chiar.ma Prof.ssa Lucia Lo Bello Correlatore: Ing. Gaetano Patti ANNO ACCADEMICO 2012/13 Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 2. 2 I N D I C E 1 INTRODUZIONE.............................................................................................................3 2 IL RUOLO DEL SOFTWARE ST7580 ANALYZE NELL’ANALISI DEI DATI..........5 2.1 Il software ST7570 GUI utilizzato nelle fasi di misurazione. ...........................................5 2.2 Metodo di misura ..............................................................................................................6 2.3 Motivi per cui è utile condurre un’analisi con il software ST7580 Analyze .....................7 3 IL MODEM ST7580 PRODOTTO DA ST MICROELETRONICS ................................8 3.1 Il modem. ..........................................................................................................................8 3.2 Struttura delle frame powerline.........................................................................................9 3.2.1 Struttura della Physical frame .................................................................................10 3.2.2 Struttura della Data link frame ................................................................................10 3.2.3 Struttura dei Security service frame ........................................................................12 3.3 UART Port e frame locali ...............................................................................................12 3.3.1 Tipi di frame............................................................................................................14 3.3.2 Protocollo di comunicazione. ..................................................................................14 3.3.3 Struttura delle Frame locali .....................................................................................14 3.3.4 Acknowledgement delle Frame locali .....................................................................15 3.3.5 Messaggi di stato.....................................................................................................15 3.3.6 Ruoli dei dispositivi connessi alla porta locale........................................................15 3.3.7 Delimitazione dei caratteri della local frame...........................................................16 3.3.8 Regole di comunicazione dall’ST7580 all’host esterno. .........................................17 3.3.9 Regole di comunicazione dall’host esterno all’ST7580. .........................................18 4 IL SOFTWARE ST7580 ANALYZE .............................................................................19 4.1 Analisi dei requisiti .........................................................................................................19 4.2 Scelte progettuali.............................................................................................................19 4.3 Diagramma UML delle classi fondamentali....................................................................20 4.4 Le classi...........................................................................................................................21 4.5 I file di configurazione ....................................................................................................22 4.6 Le fasi di testing dell’applicativo ....................................................................................24 4.6.1 Analisi manuale della prima frame del file..............................................................25 4.6.2 Analisi manuale della seconda frame del file..........................................................27 4.6.3 Analisi manuale della terza frame del file ...............................................................29 4.6.4 Analisi del file di test svolta mediante l’utilizzo del software.................................31 4.7 L’interfaccia grafica ........................................................................................................32 4.7.1 Il Menu....................................................................................................................33 4.7.2 Il Grafico .................................................................................................................34 4.7.3 La tabella.................................................................................................................34 4.8 Esempio di analisi svolta con il tool ST7580 Analyze ....................................................36 5 CONCLUSIONI..............................................................................................................39 6 APPENDICE A – TABELLE DELLE SPECIFICHE ST7580.......................................40 Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 3. 3 1 INTRODUZIONE Le Powerline Communication (PLC) negli ultimi anni stanno attraendo l’interesse di molte aziende, grazie ai vantaggi economici che tale tecnologia permette di ottenere, è infatti possibile utilizzare un solo cavo sia per l’alimentazione che per la trasmissione dei dati, con notevoli vantaggi di natura economica. Le smart grid sono reti elettriche, che possono integrare intelligentemente il comportamento e le azioni di tutti gli utenti connessi, al fine di garantire la fornitura di energia elettrica in modo efficace, sostenibile, economico, e sicuro.[7]. Le smart grid utilizzano una combinazione di software e hardware e consentono un routing più efficiente dell'energia, permettendo ai consumatori di gestire direttamente la domanda di energia. [7] Le tecnologie di comunicazione a supporto delle smart grid non devono necessariamente utilizzare le powerline communication, infatti possono sfruttare varie tecnologie come la fibra ottica, le tecnologie wireless (ad esempio, IEEE 802.11 [14] e IEEE 802.15.4 [15] ) e altre tecnologie wired (ad esempio, Ethernet [13]). Tuttavia, le tecnologie powerline presentano vari benefici dovuti al fatto che l’infrastruttura di rete è già presente. Le PLC, infatti, permettono una sensibile riduzione dei costi di installazione e manutenzione dell’infrastruttura di rete [5]. Per tali motivi le powerline communication sono già utilizzate nelle reti di distribuzione elettrica per applicazioni di energy management e di smart metering.[8]. Questo lavoro di tesi si è concentrato sullo sviluppo di un software per l’analisi di file di trace ottenuti da misure su dispositivi powerline ST7580. Nel Capitolo 2 si discuterà il ruolo del software ST7580 Analyze nell’analisi dei dati relativi alle misure effettuate. Nel Capitolo 3, verrà introdotto il protocollo di comunicazione, utilizzato dal powerline modem ST7580 prodotto da STMicroelectronics, analizzando la struttura e i meccanismi di trasmissione e ricezione delle frame. Nel Capitolo 4 verrà affrontato il design del software ST7580 Analyze e verrà Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 4. 4 descritta l’architettura del software tramite diagrammi UML delle classi, oltre a una dettagliata descrizione delle stesse. Verranno poi analizzate alcune scelte progettuali e sarà quindi fornita una guida all’utilizzo del software, con un esempio di analisi basata su dati di prova. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 5. 5 2 IL RUOLO DEL SOFTWARE ST7580 ANALYZE NELL’ANALISI DEI DATI. Il software ST7580 Analyze nasce dall’esigenza di avere uno strumento che, in modo veloce e intuitivo, permetta di analizzare un file contente le frame scambiate tra modem ST7580, al fine di ricavare informazioni quantitative sulla qualità delle trasmissioni. In particolare, esso deve fornire all’utente un metodo per leggere le informazioni, relative a una o un gruppo di frame, in un linguaggio facilmente comprensibile. I file da analizzare derivano da misurazioni su canali powerline. L’obiettivo del software è quello di fornire all’utente, che effettua le misurazioni, uno strumento utile, che gli permetta di effettuare il confronto tra misure svolte con vari tipi di modulazione, al fine di valutare il BER in funzione del SNR. Nei paragrafi seguenti, verrà introdotto il software in dotazione con l’Evalkit ST7580 (kit composto da un microcontrollore, un modem ST7580 e un’ unità di alimentazione), chiamato ST7580 GUI [12], che permette di inviare e ricevere local frame e di esportare un file di trace contenente la lista delle frame scambiate. Inoltre verrà trattata una metodologia di analisi e confronto delle varie modulazioni supportate dal modem ST7580. 2.1 Il software ST7570 GUI utilizzato nelle fasi di misurazione. La Figura 1 presenta la finestra principale dell’applicativo, che può essere divisa in due sezioni:  Console, che mostra tutti i messaggi scambiati con i nodi. I messaggi possono essere cancellati o salvati in un file .txt, mediante l’utilizzo delle opzioni nel menu ‘tool’ nella toolbar [2].  Node panel: usato principalmente per impostare le configurazioni per la connessione con il pc e scegliere le caratteristiche delle frame trasmesse [2]. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 6. 6 Figura 1 [2] – Finestra principale del software ST7580 GUI 2.2 Metodo di misura Le misure vengono effettuate in laboratorio su un canale powerline, con il testbed mostrato in Figura 2: Figura 2 – Testbed Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 7. 7 IL testbed è composto da due modem (host) collegati ad una rete elettrica controllata e un generatore di segnale [4]. I due host (host A e host B) sono collegati all’evalkit ST7580 mediante porta USB ed hanno installato il software ST7580 GUI. Scelto un determinato tipo di modulazione, mediante il modem ST7580 e il software ST7580 GUI si trasmettono diverse frame con lo stesso payload. In un secondo momento, si introduce, mediante un generatore di segnale, un rumore variabile all’interno del canale. Dopo aver inserito nel canale i vari tipi di rumore, si procede all’esportazione del file, contenente il trace dell’intera comunicazione, mediante l’ST7580 GUI. Si ripete quindi l’intero processo per ogni tipo di modulazione. A tal punto, sono presenti tutti i dati per condurre un’analisi mediante l’applicativo ST7580 Analyze. 2.3 Motivi per cui è utile condurre un’analisi con il software ST7580 Analyze Il file di trace, estratto mediante ST7580 GUI, contiene la struttura di ogni local frame, ovvero, la frame scambiata tra l’host e il tranceiver del PLM contenente le frame che vengono scambiate tra i due modem, in formato esadecimale e i comandi di controllo del tranceiver. Spesso si è interessati al rapporto segnale-rumore (SNR) misurato dal modem ricevente in seguito alla trasmissione di una frame. Senza l’ausilio del software ST7580 Analyze, sarebbe necessario conoscere la posizione del dato all’interno dello stream di byte e convertire il valore esadecimale dell’SNR in decimale, il che comporterebbe un notevole spreco di tempo. Se invece si utilizza il software, tutte queste operazioni sono automatizzate, per ogni singola local frame sarà possibile visualizzare il tipo di comando, il payload e il parsing dei campi per quello specifico comando. Inoltre l’applicazione fornirà il grafico dell’andamento del BER in funzione del SNR. Maggiori dettagli sulla struttura e il funzionamento del software ST7580 Analyze, verranno forniti nel Capitolo 5. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 8. 8 3 IL MODEM ST7580 PRODOTTO DA ST MICROELETRONICS Il modem ST7580, prodotto da STMicroelectronics, è un dispositivo powerline, rivolto ad applicazioni di metering, che può operare nelle bande CENELEC A (da 35 kHz a 91 kHz), e nelle bande CENELEC B (da 95 kHz a 125 kHz) [6]. In questo capitolo verranno esposte le principali caratteristiche del modem e del protocollo utilizzato per comunicare con l’applicazione host [1]. 3.1 Il modem. Il dispositivo è composto da un physical layer e da alcuni servizi di livello data link layer per la comunicazione powerline. Il Physical (PHY) layer, che risiede nel PHY processor, supporta sette modulazioni, ossia, BFSK, BPSK, QPSK, 8PSK, BPSK-coded, QPSK-coded e BPSK-coded_PNA. Il Data Link (DL) layer offre servizi per la trasmissione e ricezione di frame, servizi per la correzione degli errori, e inoltre un servizio di sicurezza, basato sull’algoritmo AES a 128 bit, per la criptazione e la decriptazione dei frame. Il Management Information Base(MIB) è un database, che contiene i dati richiesti per le configurazioni del sistema. La sua struttura è mostrata in Tabella 1. Index Nome Lunghezza [Byte] 00h Modem Configuration 1 01h PHY Configuration 14 02h SS Key 16 03h Reserved 1 04h Last data indication 4 05h Last TX confirm 5 06h PHY_Data 10 07h DL_Data 8 08h SS_data 10 09h Host Interface Timeout 3 0Ah Firmware version 4 Tabella 1 [1] – MIB objects Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 9. 9 L’Host interface rende disponibili all’host esterno, mediante la porta UART, i servizi PHY, DL e MIB. Il modem è dotato di due interfacce di comunicazione:  Local Port (UART);  Analog Port. La local port è una porta UART, che consente all’ host esterno, connesso a tale porta, di impartire comandi di configurazione o che permettano di demandare al dispositivo l’invio di frame lungo il canale powerline. La analog port è connessa direttamente al mezzo trasmissivo in cui si vuole istaurare una comunicazione powerline [1]. La struttura del modem ST7580 è mostrata in Figura 3. Figura 3 [1] – Schema ST7580 3.2 Struttura delle frame powerline Il dispositivo ST7580 può essere configurato per l’invio e la ricezione di tre differenti tipi di frame lungo il canale powerline [1] :  Physical Frame (richiede il payload come unico parametro esterno e costruisce automaticamente il campo lunghezza).  Data link Frame (richiede il payload come unico parametro esterno e costruisce automaticamente la lunghezza ed i campi CRC). Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 10. 10  Security service Frame (richiede il payload e la lunghezza dell’intestazione come parametri esterni, costruisce automaticamente: lunghezza, CRC e campo HL, decide arbitrariamente un vettore di inizializzazione e cripta il messaggio). 3.2.1 Struttura della Physical frame Figura 4 [1] – PHY Frame La frame in Figura 4 è costituita dai seguenti campi:  Il campo Preamble, che contiene una sequenza di bit 1 e 0 richiesti dal ricevitore per ottenere la sincronizzazione.  Il campo Unique Word, ovvero una sequenza di bit predefinita usata per contrassegnare l’inizio di una frame ed effettuare una stima sul SNR della word ricevuta.  Il campo PSK Mode, che specifica la modulazione PSK utilizzata.  Il campo Length, che contiene la dimensione in byte del campo payload.  Il campo Payload, che contiene il messaggio di livello fisico trasmesso in chiaro. 3.2.2 Struttura della Data link frame Scegliendo una struttura delle frame di tipo Data Link, all’ host esterno è consentito di scegliere l’uso di un codice di rilevazione degli errori ovvero, il codice a ridondanza ciclica (CRC). Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 11. 11 Il livello data link usa un codice CRC per il rilevamento degli errori. Esso calcola il campo CRC e trasmette la frame. Quando il modem di destinazione riceve la frame, ricalcola il codice CRC sui dati ricevuti e lo confronta con il campo CRC. Accetta la frame solo se i due valori sono uguali. Un’ulteriore caratteristica della configurazione di ricezione del modem è lo sniffer flag: se attivato, l'ST7580 notifica all'host le frame ricevute, anche nel caso in cui il CRC calcolato è errato [1]. In Figura 5 è mostrata la struttura di una data link frame. Figura 5 [1] – DL Frame La frame è costituita dai seguenti campi:  Il campo Length, che contiene la dimensione in byte del campo payload e CRC [3].  Il campo Payload, che contiene il messaggio in chiaro.  Il campo CRC. La sua lunghezza, l’ordine dei byte ed i campi coinvolti nel calcolo(lunghezza e carico utile, o solo payload) possono essere scelti dal host esterno [3]. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 12. 12 3.2.3 Struttura dei Security service frame In Figura 6 è mostrata la struttura di una security service frame: Figura 6 [1] – SS Frame Le security service frame forniscono un meccanismo di crittografia dei dati, basato su un algoritmo di cifratura AES con chiavi da 128 bit. La chiave utilizzata è quella salvata nell’oggetto MIB 02h. La stessa chiave deve essere usata sia in trasmissione che in ricezione [1]. La frame è costituita dai seguenti campi:  Il campo Header, che contiene la parte del messaggio trasmessa in chiaro.  Il campo Encrypted Payload, che contiene la parte del messaggio criptata.  Il campo Intialization Vector (IV), che contiene l’Inizialization Vector utilizzato dall’algoritmo AES-CTR.  Il campo Header Length (HL), che contiene la lunghezza del campo Header.  Il campo Digest, che contiene il codice Hash calcolato con l’algoritmo AES-CMAC su Header, Encrypted payload, IV e Header Length. 3.3 UART Port e frame locali La comunicazione tra i due dispositivi può avvenire solo in modalità half-duplex asincrona. Lo schema di connessione è evidenziato in Figura 7 Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 13. 13 Figura 7 [1] – UART Port L’interfaccia UART ha due canali per i dati:  TXD: trasporta i dati dall'ST7580 all’ host.  RXD: trasporta i dati dall’host all’ST7580.  T_REQ: è un segnale di controllo,che generalmente deve essere mantenuto in high level. Quando, invece, l’host esterno vuole chiedere il trasferimento di una frame verso ST7580, deve essere mantenuto in low level. Il codice di linea usato nella trasmissione è un NRZ unipolare. Il bit 1 può essere indicato con 5 o 3.3 V, mentre il bit 0 è indicato con 0 V. Ogni singolo byte che viene scambiato deve essere delimitato da un bit di start e un bit di stop [1]. Le frame che vengono scambiate sono composte da caratteri, ognuno dei quali è composto da un bit di start, otto bit e un bit di stop, come mostrato in Figura 8. Figura 8 [1] – Character format Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 14. 14 3.3.1 Tipi di frame. Tutte le risorse e i servizi del ST7580 (PHY layer, DL layer e gestione MIB) sono disponibili attraverso i comandi locali e possono essere gestiti dall’ host esterno tramite l'interfaccia seriale di comunicazione locale ed i comandi definiti nei paragrafi seguenti [1]. 3.3.2 Protocollo di comunicazione. Il protocollo di comunicazione, implementato nel dispositivo, supporta le seguenti feature:  Il formato delle frame.  Il meccanismo di ricezione.  Il meccanismo di acknowledgement.  La gestione dei timer.  Il controllo degli errori. 3.3.3 Struttura delle Frame locali La struttura di una local frame è mostrata in Figura 9: . Figura 9 [1] – Struttura di una local frame. La frame in Figura 9 è costituita dai seguenti campi:  Il campo STX della dimensione di 1 byte, che può assumere uno dei due valori tra 02h e 03h e che indica l’inizio di una local frame.  Il campo Length della dimensione di 1 byte, che contiene la lunghezza in byte del campo Data.  Il campo Command Code, che contiene il codice del comando utilizzato. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 15. 15  Il campo Data, che contiene i dati da trasmettere.  Il campo Checksum, che contiene il risultato della somma degli elementi della frame, dal campo lunghezza all’ultimo byte del campo data o fino all’ultimo byte del comando, se non c’è nessun byte di dati. 3.3.4 Acknowledgement delle Frame locali Dopo aver ricevuto una frame, sia l’host esterno che l’ST7580 devono inviare un messaggio di acknowledgement positivo (ACK) o negativo (NACK), che può essere indicato mediante uno dei due codici mostrati in Tabella 2: Simbolo Definizione Codice Ack Acknowledgement 06h Nack Not acknowledgement 015h Tabella 2 [1] – Codici di riscontro. 3.3.5 Messaggi di stato I messaggi di stato sono trasmessi quando il pin T_REQ è down. Ogni messaggio di stato è composto da due byte, di cui il primo byte è sempre il codice esadecimale 3Fh, il restante byte, invece, viene interpretato in accordo con la Tabella 3 [1]. Bit Index Descrizione 0 Configuration status 1 Transmission status 2 Reception status 3-4 Active layer 5 Overcurrent flag 6-7 Estimated ST7580 temperature Tabella 3 [1] –Composizione dei messaggi di stato. 3.3.6 Ruoli dei dispositivi connessi alla porta locale Il dispositivo ST7580 è sempre il master della comunicazione. Esso può avviare una comunicazione locale senza prendere in considerazione lo stato dell'host Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 16. 16 esterno, mentre, se è l’host esterno a voler trasmettere una frame, deve prima espletare una richiesta di trasmissione mediante il pin T_REQ. In quest’ultimo caso il dispositivo ST7580 risponderà con un messaggio di stato, che consentirà o meno la trasmissione [1]. 3.3.7 Delimitazione dei caratteri della local frame I dati provenienti dalla porta seriale UART sono un flusso di dati asincrono. Allo scopo di identificare le frame all’interno del flusso di byte, il protocollo di comunicazione del ST7580 usa due metodi: lunghezza e timeout. Quando il flusso di byte raggiunge la lunghezza attesa di una frame, in accordo con le caratteristiche del tipo di frame, la ricezione della frame è terminata. L’intervallo di tempo tra due caratteri consecutivi, in una local frame, non deve eccedere il tempo Tic (timeout_inter_character), trascorso il quale né la parte ricevente del ST7580, né quella dell’host esterno accetteranno alcun carattere. Una rappresentazione grafica è fornita in Figura 10: Figura 10 [1] – Tic (timeout-inter-character) Il tempo Tic è impostato solitamente a 10 ms, ma può essere modificato andando ad agire sul MIB (object 09h). Se lunghezza e checksum sono corrette la frame è accettata, altrimenti tutti i caratteri precedentemente letti per quella relativa frame vengono scartati [1]. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 17. 17 3.3.8 Regole di comunicazione dall’ST7580 all’host esterno. Quando l’ ST7580 necessita di trasmettere una frame ad un host, esso può inviarla senza alcuna richiesta preventiva. La frame locale è automaticamente costruita con un valore del campo STX pari a 02h. Se la lunghezza e la checksum della local frame sono corrette, l’host esterno risponde con un ACK, altrimenti risponde con un NACK. Se si verifica uno di questi casi nella linea RXD:  Ricezione NACK  Ricezione di una qualsiasi altra frame  Nessuna frame nell’intervallo Tack (ossia, il tempo oltre il quale un eventuale ACK non verrà preso in considerazione). il dispositivo ST7580 ripete l’invio della frame, dopo un ritardo corrispondente al Tack, cambiando il valore di STX a 03h. Il riconoscimento delle frame ritrasmesse è considerato positivo di default, anche se l’host risponde con un NACK, cioè, se si invia per la prima volta una frame e si verifica uno dei casi esposti precedentemente nella linea RXD, si considera la frame come recapitata, anche se si riceve un NACK [1]. Un possibile scenario è mostrato in Figura 11: Figura 11 [1] – Scenario di trasmissione dall’ ST7580, all’host esterno. Lungo la linea TXT il modem ST7580 inizia la trasmissione di una frame. Entro un tempo Tack viene ricevuto un NACK lungo la linea RXD e, di conseguenza, il Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 18. 18 modem ST7580 procede al re-invio della frame lungo la linea RXD. Successivamente la frame viene ricevuta dall’host esterno, che la riscontra con una frame di ACK lungo la linea RXD.Regole di comunicazione dall’host esterno all’ST7580. 3.3.9 Regole di comunicazione dall’host esterno all’ST7580. Quando l’host esterno necessita di instaurare un trasferimento dati con ST7580, deve settare il segnale T_REQ a un livello basso. Quando il dispositivo ST7580 non è occupato risponde con un messaggio di stato, confermando o negando la disponibilità del canale. Se la comunicazione è stata accettata l’host esterno può iniziare la trasmissione della local frame (costruendola con il valore 02h nel campo STX della frame locale) entro il tempo Tsr.(ovvero, l’intervallo di tempo successivo alla ricezione del messaggio di stato, in cui l’ST7580 accetta o meno la comunicazione) Non appena la frame è stata inviata, il segnale T_REQ è posto ad un livello alto. Se il primo byte della frame non è ricevuto prima del tempo Tsr, l’ST7580 ignora la frame [1]. Un possibile scenario è mostrato in Figura 12: Figura 12 [1] – Scenario di trasmissione dall’ host esterno, all’ST7580 L’host esterno intende instaurare una comunicazione con l’ST7580, quindi imposta il pin T_REQ a un valore basso. Il modem ST7580 risponde con un messaggio di stato, accettando la comunicazione. Successivamente l’host inizia la trasmissione della local frame, inviandone il primo byte entro un intervallo Tsr. Viene quindi ricevuto un ACK entro un intervallo Tack. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 19. 19 4 IL SOFTWARE ST7580 ANALYZE In questo capitolo verranno esposte le varie fasi di progettazione del software, dall’analisi dei requisiti alle procedure adottate per il testing dell’applicativo. 4.1 Analisi dei requisiti Il software ST7580 Analyze deve essere in grado di effettuare il parsing di un file di trace di misure, esportato tramite il software ST7580 GUI. Deve essere inoltre in grado di condurre un’analisi dei dati, che è considerata la funzionalità più importante che il software deve possedere. Inoltre sono richieste funzionalità di esportazione dei dati in diversi formati, soprattutto nel formato .csv, in modo da consentire un’ importazione dei dati in Matlab. In fine è richiesta la possibilità di graficare l’andamento del BER in funzione del rapporto segnale-rumore. 4.2 Scelte progettuali L’applicativo è stato progettato per essere multipiattaforma, per tale motivo il linguaggio utilizzato è il Java [10]. Il software è dotato di un’interfaccia grafica, che permette di semplificare al massimo l’uso del programma. Mediante l’interfaccia sarà, infatti, possibile aprire un file, condurre un’analisi e, quindi, esportare i dati dell’analisi in diversi formati. Il software è completamente flessibile a variazioni del set di comandi del modem ST7580. Si è, infatti, optato per inserire all’interno di un file ‘.xml’ formato e istruzioni per la decodifica di ogni singolo comando. Pertanto, se in una nuova versione dell’ST7580, verrà inserito o eliminato un nuovo comando, non sarà necessario intervenire sul codice sorgente, ma bisognerà solamente modificare il file ‘.xml’. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 20. 20 4.3 Diagramma UML delle classi fondamentali Il diagramma UML delle classi è mostrato in Figura 13. Figura 13 – Diagramma UML Il software è costituito da cinque classi fondamentali:  FileHanlder;  LocalFrameHandler;  CommandHandler;  Command;  LocalFrame. Le classi LocalFrameHandler e CommandHandler estendono la classe FileHandler e fanno rispettivamente uso degli oggetti LocalFrame e Command nelle strutture dati di tipo Map, che istanziano. All’apertura del file contenente il trace di misure, vengono caricate le frame in una struttura di tipo Map del tipo Map<Integer,LocalFrame>(in cui la chiave è un numero progressivo), mediante il metodo loadValue(). Successivamente, vengono caricati i comandi in una struttura di tipo Map<String,Command>(dove la chiave è rappresentata dal codice di comando), sempre mediante il metodo loadValue(). A tal punto possono essere Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 21. 21 usati vari metodi della classe LocalFrameHandler per operare sui dati contenuti nella Map delle LocalFrame. 4.4 Le classi Index.java La classe Index estende la JFrame e contiene essenzialmente il metodo main e initComponent(). Mediante quest’ultimo vengono inizializzati gli oggetti della form principale e i relativi eventi mediante i Listener. ConfigurationPanel.java La classe ConfigurationPanel estende la classe JFrame e implementa la form delle impostazioni. File Handler.java La classe FileHandler consente l’apertura e la chiusura di un file, le comuni operazioni di lettura e scrittura su file, i metodi per la lettura di documenti xml e, soprattutto, il metodo loadValue(), che permette il caricamento dei dati di un file, secondo un criterio di parsing. Tale metodo non è implementato e quindi deve essere reso tale dalle classi che ereditano la classe in questione. LocalFrame.java La classe LocalFrame rappresenta la struttura di una frame, contiene tutti i campi della frame, ciascuno dei quali dotato dei rispettivi metodi get e set. Qualora venisse modificata la struttura delle frame, bisognerà intervenire sul seguente oggetto. LocalFrameHandler.java La classe LocalFrameHandler opera a un livello più basso rispetto alla classe FileHandler. Mentre quest’ultima è adatta al caricamento per righe o per tag dei dati contenuti nel file (il primo metodo permette di leggere ogni singola riga del file mediante il metodo loadValue(), mentre con il secondo è possibile leggere il Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 22. 22 contenuto di un tag all’interno del file mediante il metodo: getTagValues(String sTag)), la LocalFrameHandler opera sulle frame contenute all’interno del file, facendo un override del metodo loadValue() , che permette di caricare in maniera corretta le frame all’interno di una struttura di tipo Map, in cui la chiave è rappresentata da un numero progressivo e il dato è l’oggetto LocalFrame. Qualora venissero introdotte delle modifiche sulla struttura del file, contenente le frame, il metodo da aggiornare sarà il metodo loadValue(). Tale classe contiene anche i metodi, che consento di effettuare le più comuni operazioni su una o un gruppo di frame. Command.java La classe Command rappresenta un comando con le sue istruzioni per il parsing, come specificate nel file ‘command.xml’ all’interno dei tag <command>(come discusso nella sezione 4.5). CommandHandler.java La classe CommandHandler, strutturata in maniera simile alla LocalFrameHandler, estende la classe FileHandler, facendo un override del metodo loadValue(), che permette il caricamento dei comandi dal file ‘command.xml’. I comandi vengono caricati in una struttura di tipo Map, dove la chiave è rappresentata dal codice di comando e il dato dall’oggetto Command. JGraphPanel.java La classe JGraphPanel estende la JPanel e implementa i metodi per aggiungere o rimuovere punti al grafico. Sostanzialmente è un wrapper delle classi XYSeries, XYSeriesCollection, JFreeChart, ChartPanel, facenti parte della libreria esterna JFreeChart [11]. 4.5 I file di configurazione I file di configurazione sono due:  command.xml  config.xml Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 23. 23 Il file ‘command.xml’ contiene le istruzioni per il parsing di ogni singolo comando, come mostrate in Figura 14. Figura 14 – Tag file: command.xml Ogni comando deve essere delimitato dal tag <command>.  Il codice del comando è delimitato dal tag <code>.  Il nome del comando è delimitato dal tag <title>.  I campi da leggere in sequenza sono separati da virgola e delimitati dal tag <match>.  Il numero di bit da leggere in sequenza sono separati da virgola, specificati nello stesso ordine dei campi a cui si riferiscono e contenuti all’interno del tag <parse>.  I dati delimitati dal tag <format> specificano in che formato ogni singola sequenza di bit deve essere decodificata. Ogni formato è separato da virgola. I formati di decodifica sono espressi nello stesso ordine dei campi a cui si riferiscono.  All’interno del tag <mib> è contenuto un valore booleano, che specifica se il comando in questione è un comando di configurazione.  All’interno del tag <csvExportEnable> è contenuto un valore booleano, che specifica se il comando in questione deve essere o non essere inserito nel file .csv, che può essere esportato dal menu file.  All’interno del tag <berComputationEnable> è contenuto un valore booleano che specifica se deve essere effettuato il calcolo dei bit errati sul payload del comando in questione. Il file ‘config.xml’ contiene i dati relativi alle impostazioni dell’applicazione, in modo che possano essere recuperati anche in seguito alla chiusura dell’applicazione. Nella versione attuale del software, vi è una sola opzione: la Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 24. 24 stringa per il calcolo del numero di bit errati, specificata all’interno del tag <code>, come mostrato in Figura 15. Figura 15 – Tag file: config.xml 4.6 Le fasi di testing dell’applicativo La fase di testing dell’applicativo è stata effettuata creando un file di misure di piccole dimensioni, mostrato in Tabella 4, composto dalle local frame, che statisticamente sono maggiormente presenti nei file di misure. 02 0E 52 - 4C 09 00 67 00 00 01 23 45 67 89 AB CD EF - DC 04 (DLDataIndication) 02 0B 50 - 44 00 2F 01 23 45 67 89 AB CD EF - 8E 04 (DLDataRequest) 02 05 51 - 74 74 00 04 A9 - EB 01 (DLDataConfirm) Tabella 4 –File di misure. In un primo momento sono stati effettuati i calcoli manualmente, dopo di che, si è passati al confronto con quelli ottenuti mediante il software ST7580 Analyze. Per la conversione da stringa esadecimale a stringa binaria si è costruita la Tabella 5 di conversione: Valore Binario Valore esadecimale 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 2 3 4 5 6 7 8 9 A B C D E F Tabella 5 – Tabella di conversione. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 25. 25 Mentre per il parsing di una local frame si è fatto riferimento al paragrafo 3.3.3. 4.6.1 Analisi manuale della prima frame del file La prima local frame da analizzare ha la struttura mostrata in Tabella 6. 02 0E 52 - 4C 09 00 67 00 00 01 23 45 67 89 AB CD EF – DC 04 Tabella 6 – Local Frame uno. Il codice comando è il 52h. Osservando la Tabella 17, si evince che si tratta di una DLDataIndication. Si procede, quindi, alla conversione da esadecimale a binario del campo payload della local frame ed il risultato è mostrato in Tabella 7: Command Header Command Payload 01001100 00001001 00000000 01100111 00000000 00000000 00000001 00100011 01000101 01100111 10001001 10101011 11001101 11101111 Tabella 7 – Local Frame Payload: in rosso il payload del comando DLDataIndication. In seguito, è stato effettuato il parsing di una DLDataIndication, in accordo con la Tabella 18. I risultati sono mostrati nella Tabella 8. Campo Valore binario Valore intero Frame Modulation 010 2 (8-PSK) RX Channel 0 0 PGA value 1100 12 SNR 00001001 9 ZC delay 0000000001100111 103 Payload * 00000123456789ABCDEF Tabella 8 – Analisi prima frame Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 26. 26 Il DLDataIndication è un comando che serve al modem ST7580 per recapitare all’host l’avvenuta ricezione di una powerline frame. I vari campi che costituiscono l’header del comando sono elencati in Tabella 8 e sono:  Frame modulation: la modulazione utilizzata per trasmettere la powerline frame.  RX Channel: il canale RX utilizzato  PGA value: il valore di PGA utilizzato. Il PGA è un guadagno, che può amplificare o attenuare il segnale di ingresso in base alla tensione picco- picco in ingresso.  SNR: rapporto segnale /rumore stimato sulla ricezione della Unique Word.  ZC delay: ritardo tra la trasmissione dell’ultimo bit della Unique word e il momento in cui la corrente attraversa il valore nullo.  Payload: messaggio ricevuto. Sul payload di una DLDataIndication, il tool effettua il calcolo del BER, quindi, per questo tipo di frame, si procede anche al calcolo manuale del BER. Il risultato del calcolo dei bit errati è mostrato in Tabella 9. Valori BitErrati 00000000 00000001 1 00000000 00100011 3 00000001 01000101 2 00100011 01100111 2 01000101 10001001 4 01100111 10101011 4 10001001 11001101 2 Tabella 9 – Bit errati prima frame. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 27. 27 Valori BitErrati 10101011 11101111 2 11001101 11101111 Tabella 10 – Bit errati prima frame (continuo). In rosso sono segnati i bit della stringa trasmessa, in nero, invece, vi sono i bit ricevuti corrispondenti al payload della DLDataIndication. Si evince che: TotBitErrati = 20 TotBitTrasmessi = 64 Quindi, applicando ai dati la (1) si ottiene il BER. 4.6.2 Analisi manuale della seconda frame del file La seconda local frame da analizzare ha la struttura mostrata in Tabella 11. 02 0B 50 - 44 00 2F 01 23 45 67 89 AB CD EF - 8E 04 Tabella 11 – Local Frame due. Il codice comando è il 50h. Osservando la Tabella 17, si evince che si tratta di una DLDataRequest. Si procede, quindi, alla conversione da esadecimale a binario del campo payload della local frame ed il risultato è mostrato in Tabella 12: Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 28. 28 Command Header Command Payload 01000100 00000000 00101111 00000001 00100011 01000101 01100111 10001001 10101011 11001101 11101111 Tabella 12 – Local Frame Payload: in rosso il payload del comando DLDataRequest. In seguito è stato effettuato il parsing di una DLDataRequest, in accordo con la Tabella 19. I risultati sono mostrati nella Tabella 13. Campo Valore binario Valore intero Custom/MIBFrequency 0 0 Frequency overwrite 1 1 Frequency set 0 0 Gain selector 0 0 Frame Modulation 010 2 (8-PSK) Zero crossing synchronization 0 0 TX Frequency 000000000010111100000001 12033 TX Gain 00100 4 Payload * 456789ABCDEF Tabella 13 – Analisi seconda frame. Il DLDataRequest è un comando che serve all’host esterno per richiedere la possibilità di inviare una powerline frame. I vari campi che costituiscono l’header del comando sono elencati in Tabella 13 e sono:  Custom/MIBFrequency: permette di decidere se usare la frequenza settata nell’oggetto MIB PHY_Config o specificarla in byte nel campo TX Frequency. Può assumere solo due valori ‘1’ e ‘0’. Se vale ‘1’ si vuole usare la frequenza specificata nel campo TXFrequency, se invece è ‘0’ si vuole usare quella specificata all’oggetto MIB PHY_Config. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 29. 29  Frequency overwrite: viene preso in considerazione solo se il campo Custom/MibFrequency è impostato a ‘1’. Può assumere solo due valori ‘0’ e ‘1’. Se è ‘1’ la frequenza specificata nel campo TX Frequency sovrascrive quella specificata nell’oggetto MIB PHY_Config, se invece è ‘0’ non viene sovrascritta.  Frequency set: permette di scegliere quali delle due frequenze contenute nell’ oggetto MIB PHY_Config utilizzare. Può assumere solo due valori ‘1’ e ‘0’.  Gain selector: permette di settare il guadagno del segnale in uscita. Può assumere solo due valori ‘0’ e ‘1’. Se è ‘1’ il guadagno è specificato nel campo TX Gain, mentre se è ‘0’ viene utilizzato quello impostato nell’oggetto MIB PHY_Config.  Frame Modulation: modulazione da utilizzare per trasmettere la powerline frame.  Zero crossing synchronization: Può assumere solo due valori ‘0’ e ‘1’. Se è ‘1’ la trasmissione parte dopo un ZC Delay definito nell’oggetto MIB PHY_Config, mentre se è ‘0’ la trasmissione della frame può iniziare in un qualsiasi istante.  TX Frequency: valore di frequenza (in Hz), viene preso in considerazione solo se il campo Custom/MIBFrequency è impostato a 1.  TX Gain: Guadagno del segnale trasmesso, viene preso in considerazione solo se il campo Gain selector è impostato a 1. 4.6.3 Analisi manuale della terza frame del file La terza local frame da analizzare ha la struttura mostrata in Tabella 14. 02 05 51 - 74 74 00 04 A9 - EB 01 Tabella 14 – Local Frame tre. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 30. 30 Il codice comando è il 51h. Osservando la Tabella 17, si evince che si tratta di una DLDataComfirm. Si procede, quindi, alla conversione da esadecimale a binario del campo payload della localframe e il risultato è mostrato in Tabella 15. Command Header 01110100 01110100 00000000 00000100 10101001 Tabella 15 – Local Frame Payload. Questa tipologia di comando non prevede un campo payload. In seguito è stato effettuato il parsing di una DLDataConfirm, in accordo con la Tabella 21. I risultati sono mostrati nella Tabella 16: Campo Valore binario Valore intero Max. temp. 01 1 Max. gain. 11010 26 Unused 0 0 Min. Temp 01 1 Min. Gain 11010 26 Unused 0 0 Overcurrent events number 0000000 0 Overcurrent notification 0 0 ZC delay 0000010010101001 1193 Tabella 16 – Analisi frame tre. Il DLDataConfirm è un comando che serve all’ST7580 per confermare all’host esterno una richiesta di trasmissione effettuata mediante una DLDataRequest. I vari campi che costituiscono l’header del comando sono discussi in Tabella 16 e sono:  Max.Temp: massima temperatura raggiunta durante la trasmissione della powerline frame. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 31. 31  Max. gain: se la funzione di controllo della corrente è stata attivata nell’oggetto MIB PHY_Config, il campo specifica il massimo guadagno utilizzato in trasmissione. Se invece la funzione di controllo della corrente non è attiva, viene indicato il guadagno dell’ultima trasmissione.  Min. Temp: minima temperatura raggiunta durante la ricezione della powerline frame.  Min. Gain: se la funzione di controllo della corrente è stata attivata nell’oggetto MIB PHY_Config, il campo specifica il minimo guadagno utilizzato in trasmissione. Se invece la funzione di controllo della corrente non è attiva viene indicato il guadagno dell’ultima trasmissione.  Overcurrent events number: numero di sovracorrenti che si sono verificate durante la trasmissione. Valido solo se la funzione di controllo della corrente è stata attivata nell’oggetto MIB PHY_Config.  Overcurrent notification: Notifiche circa il numero di sovracorrenti raggiunte durante l’ultima trasmissione. Valido anche se la funzione di controllo della corrente non è attiva. Può assumere due valori ‘0’ e ‘1’. Se è ‘0’ il valore massimo di correnre in uscita non è stato raggiunto, se invece è ‘1’ il valore massimo di corrente in uscita è stato raggiunto.  ZC delay: ritardo tra la trasmissione dell’ultimo bit della Unique word e il momento in cui la corrente attraversa il valore nullo. 4.6.4 Analisi del file di test svolta mediante l’utilizzo del software Viene svolta l’analisi del medesimo file mediante il software ST7580 Analyze. Esportando in formato ‘txt’ i risultati dell’analisi, otteniamo il file mostrato in Figura 16. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 32. 32 Figura 16 – File esportato in txt Confrontando i risultati con quelli trovati in Tabella 8 per la DLDataIndication, in Tabella 13 per la DL_DataRequest e in Tabella 16 per la DLDataConfirm, si evince che il test ha avuto esito positivo poiché si sono ottenuti gli stessi valori. 4.7 L’interfaccia grafica Gli elementi dell’interfaccia sono essenzialmente cinque e sono mostrati in Figura 17 con riquadri di colore diverso. Figura 17 – L’interfaccia grafica Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 33. 33 Essi sono:  Il menu, che permette di selezionare alcune operazioni fondamentali, come l’apertura o l’esportazione di un file.  Il grafico del BER(bit error rate) in funzione del SNR (rapporto segnale /rumore), evidenziato con un riquadro rosso, in alto a destra.  La tabella, che elenca le frame caricate in seguito all’operazione di parsing, indicata con un riquadro verde, in alto a sinistra.  Il menu a tendina per le operazioni di filtraggio sulla tabella, che permette di visualizzare solo le frame di un certo tipo, evidenziato con un riquadro blu, in alto a sinistra.  I parametri riguardati il BER e il SNR, nel riquadro marrone, in basso a destra.  Il campo payload, espresso in esadecimale, per ogni singola frame selezionata, indicato dal riquadro color oro, in basso a sinistra. 4.7.1 Il Menu Il menu, mostrato in Figura 18, è diviso nelle sezioni File ed Edit. Figura 18 – Il menu La sezione File è suddivisa nelle seguenti sotto categorie:  Open (permette di aprire un nuovo file di analisi)  Export csv (permette di esportare l’analisi in formato CSV)  Export txt (permette di esportare l’analisi in formato TXT) La sezione Edit è suddivisa nelle seguenti sotto categorie:  Configuration Panel (permette di settare le configurazioni del software, tra cui la possibilità di inserire la stringa di confronto per il calcolo del BER). Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 34. 34 4.7.2 Il Grafico Il grafico(Figura 19), presente nel riquadro in alto a destra della Figura 17, mostra l’andamento del BER in funzione del SNR. Figura 19 – Il grafico – BER in scala logaritmica, SNR in scala lineare. Sono disponibili delle funzioni di zoom del grafico, per ingrandire o rimpicciolire alcuni particolari. L’ingrandimento si effettua premendo il tasto sinistro del mouse e rilasciandolo, dopo aver fatto un movimento da sinistra verso destra. Il restringimento si effettua premendo il tasto sinistro del mouse e rilasciandolo, dopo aver fatto un movimento da destra verso sinistra. 4.7.3 La tabella La tabella (Figura 20) elenca le frame che erano presenti nel file di misure ed è costituita da sei colonne:  Code(Identifica univocamente la frame).  Timestamp (Istante temporale in cui è avvenuta la trasmissione o la ricezione della frame).  Mode (Indica se la frame è stata ricevuta o trasmessa).  Length (dimensione in esadecimale del campo payload della frame).  CommandCode (codice in esadecimale del comando utilizzato). Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 35. 35  Checksum. Figura 20 – La tabella Con un singolo click, in una qualsiasi riga della tabella, è possibile visualizzare il contenuto del campo payload della frame selezionata. Esso verrà visualizzato nel riquadro in basso a sinistra, come mostrato in Figura 21: Figura 21 – Local frame payload Con un doppio click, in una qualsiasi riga della tabella, verrà mostrata una finestra di dialogo, in cui sono contenute tutte le informazioni della frame selezionata, come mostrato in Figura 22. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 36. 36 Figura 22 – Risultati del parsing, del campo payload di una local frame Il campo payload, in Figura 22, si riferisce al campo payload del comando analizzato e, pertanto, non va confuso con quello in Figura 21, che invece, si riferisce al campo payload di una local frame. 4.8 Esempio di analisi svolta con il tool ST7580 Analyze In questo paragrafo verrà descritto come condurre un’analisi mediante il software ST7580 Analyze. La prima operazione da effettuare, una volta aperto il software, è quella di settare la stringa, che è stata utilizzata in trasmissione, cliccando su Edit -> Configuration Panel. Verrà dunque visualizzata una finestra come in Figura 23. Figura 23 – Finestra delle impostazioni del software ST7580 Analyze Bisogna quindi inserire la stringa e cliccare su save. Il software utilizzerà la stringa settata per il calcolo del BER per tutti quei comandi ove tale calcolo è abilitato (si veda il paragrafo 4.5). Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 37. 37 A tal punto si procede all’apertura del file, il software caricherà tutte le frame e traccerà il grafico, come in Figura 24. Figura 24 – Finestra principale del software ST7580 Analyze in un esempio di analisi Si rilevano i seguenti dati:  SNR(max)=13 db  SNR (avg)=8.1 db Questi parametri sono visualizzati per offrire un veloce termine di paragone con un’altra misura da analizzare. Tuttavia, se lo si desidera, è possibile anche visualizzare i dettagli per ogni singola frame, come già evidenziato in Figura 22. Se si osserva il grafico in Figura 24 si vede come, all’aumentare del rapporto segnale-rumore misurato dal dispositivo, il BER diminuisce. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 38. 38 Procediamo all’esportazione del file .txt, cliccando su: File -> Export Txt. I Il risultato è mostrato in Figura 25. Figura 25 – Esportazione di un file txt in un esempio di analisi. In tal modo, si ottengono i parametri per ogni singola frame, elencati l’uno sotto l’altro e separati da quelli di un'altra frame dalla stringa: ‘--’. Se si desidera successivamente importare i dati in Matlab [9], è, invece, necessario esportare i dati dell’analisi in formato .csv ,cliccando su File -> Export Csv. Il risultato sarà un file come in Figura 26 Figura 26 – Esportazione di un file csv in un esempio di analisi L’analisi può quindi considerarsi completata. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 39. 39 5 CONCLUSIONI Questo lavoro di tesi ha riguardato la definizione, la progettazione e l’implementazione del software ST7580 Analyze, che permette di effettuare in maniera semplice operazioni di parsing del file di trace ricavato da misure effettuate con dispositivi Powerline reali e l’analisi di tali misure calcolando il BER e mettendolo in relazione con il rapporto segnale-rumore. Sono stati discussi i vantaggi per cui è utile far uso del Software ST7580 Analyze, che permette di effettuare il parsing delle local frame e, quindi, dei comandi scambiati tra host e ST7580 e analizzare i dati delle misure raccolte da i file di trace. Partendo dallo studio dei protocolli supportati dal dispositivo ST7580, è stata effettuata un’analisi dei requisiti, e dopo un’analisi delle varie possibili opzioni, sono state evidenziate le scelte progettuali per l’implementazione del software ST7580 Analyze. In questo lavoro di tesi, si è quindi riusciti a sviluppare un software che offre notevoli vantaggi all’utente. Grazie a un’interfaccia semplice e intuitiva, è possibile analizzare velocemente i dati relativi alle misurazioni, stimare il BER in funzione dell’SNR e visualizzarne il grafico con pochi click, senza dover ricorrere a strumenti di calcolo avanzato. Inoltre vengono offerte funzionalità di configurazione avanzate per permettere un’ ampia flessibilità di estensione del software, ovvero, senza doverlo modificare al variare delle specifiche di comunicazione. L’utente è libero di inserire o rimuovere alcuni comandi solamente andando ad agire su alcuni file di configurazione e, sempre mediante tali file, è possibile decidere su quale frame effettuare il calcolo del BER o quali frame debbano essere inserite nel file .csv, che è possibile esportare con l’applicativo. Sviluppi futuri riguarderanno funzioni di filtraggio avanzate, come ad esempio la possibilità di filtrare le frame in base al SNR o mediante il BER e l’introduzione della possibilità di esportare script Matlab [9], che utilizzino altri algoritmi di analisi dei dati. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 40. 40 6 APPENDICE A – TABELLE DELLE SPECIFICHE ST7580 Codice commando Titolo comando 24 PHY_DataRequest 25 PHY_DataConfirm 26 PHY_DataIndication 50 DL_DataRequest 51 DL_DataConfirm 52 DL_DataIndication 5A DL_SnifferIndication Tabella 17 – Tabella dei principali comandi. Byte Index Bit Index Etichetta 0 0-2 Frame modulation 3 RX channel 4-7 PGA value 1 SNR 2-3 ZC delay 4-254 PHY payload Tabella 18 [1] – DLDataIndication – Istruzioni per il parsing. Byte Index Bit Index Etichetta 0 0 Custom / MIB frequency 1 Frequency overwrite 2 Frequency set 3 Gain selector 4-6 Frame modulation 7 Zero crossing synchronization 1-3 TX Frequency 4 (or 1) 0-4 TX Gain 5-7 Unused Tabella 19 [1] – DLDataRequest – Istruzioni per il parsing. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 41. 41 Byte Index Bit Index Etichetta 5..254 (or 1..254, 2..254, 4..254) Payload Tabella 20 [1] – DLDataRequest – Istruzioni per il parsing (continuo). Byte Index Bit Index Etichetta 0 0-1 Max. temp. 2-6 Max. gain 7 Unused 1 0-1 Min. temp 2-6 Min. gain 7 Unused 2 0-6 Overcurrent events number 7 Overcurrent notification 3-4 ZC delay Tabella 21 [1] – DLDataConfirm – Istruzioni per il parsing. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 42. 42 I N D I C E D E L L E F I G U R E Figura 1 [2] – Finestra principale del software ST7580 GUI................................................. 6 Figura 2 – Testbed ............................................................................................................... 6 Figura 3 [1] – Schema ST7580.............................................................................................. 9 Figura 4 [1] – PHY Frame.................................................................................................. 10 Figura 5 [1] – DL Frame .................................................................................................... 11 Figura 6 [1] – SS Frame ..................................................................................................... 12 Figura 7 [1] – UART Port .................................................................................................. 13 Figura 8 [1] – Character format ......................................................................................... 13 Figura 9 [1] – Struttura di una local frame......................................................................... 14 Figura 10 [1] – Tic (timeout-inter-character)...................................................................... 16 Figura 11 [1] – Scenario di trasmissione dall’ ST7580, all’host esterno. .............................. 17 Figura 12 [1] – Scenario di trasmissione dall’ host esterno, all’ST7580 ............................... 18 Figura 13 – Diagramma UML............................................................................................ 20 Figura 14 – Tag file: command.xml.................................................................................... 23 Figura 15 – Tag file: config.xml.......................................................................................... 24 Figura 16 – File esportato in txt.......................................................................................... 32 Figura 17 – L’interfaccia grafica........................................................................................ 32 Figura 18 – Il menu............................................................................................................ 33 Figura 19 – Il grafico – BER in scala logaritmica, SNR in scala lineare. ............................. 34 Figura 20 – La tabella ........................................................................................................ 35 Figura 21 – Local frame payload........................................................................................ 35 Figura 22 – Risultati del parsing, del campo payload di una local frame............................. 36 Figura 23 – Finestra delle impostazioni del software ST7580 Analyze ................................ 36 Figura 24 – Finestra principale del software ST7580 Analyze in un esempio di analisi ....... 37 Figura 25 – Esportazione di un file txt in un esempio di analisi........................................... 38 Figura 26 – Esportazione di un file csv in un esempio di analisi .......................................... 38 Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 43. 43 I N D I C E D E L L E T A B E L L E Tabella 1 [1] – MIB objects .................................................................................................. 8 Tabella 2 [1] – Codici di riscontro. ..................................................................................... 15 Tabella 3 [1] –Composizione dei messaggi di stato.............................................................. 15 Tabella 4 –File di misure. ................................................................................................... 24 Tabella 5 – Tabella di conversione...................................................................................... 24 Tabella 6 – Local Frame uno.............................................................................................. 25 Tabella 7 – Local Frame Payload: in rosso il payload del comando DLDataIndication. ...... 25 Tabella 8 – Analisi prima frame ......................................................................................... 25 Tabella 9 – Bit errati prima frame...................................................................................... 26 Tabella 10 – Bit errati prima frame (continuo)................................................................... 27 Tabella 11 – Local Frame due. ........................................................................................... 27 Tabella 12 – Local Frame Payload: in rosso il payload del comando DLDataRequest......... 28 Tabella 13 – Analisi seconda frame..................................................................................... 28 Tabella 14 – Local Frame tre.............................................................................................. 29 Tabella 15 – Local Frame Payload. .................................................................................... 30 Tabella 16 – Analisi frame tre. ........................................................................................... 30 Tabella 17 – Tabella dei principali comandi. ...................................................................... 40 Tabella 18 [1] – DLDataIndication – Istruzioni per il parsing............................................. 40 Tabella 19 [1] – DLDataRequest – Istruzioni per il parsing. ............................................... 40 Tabella 20 [1] – DLDataRequest – Istruzioni per il parsing (continuo). .............................. 41 Tabella 21 [1] – DLDataConfirm – Istruzioni per il parsing. .............................................. 41 Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 44. 44 BIBLIOGRAFIA [1] UM0932 User Manual, “ST7580 FSK,PSK multi mode power line networking system-on-chip”. [2] UM1518 User manual, “ST7580 power line modem demonstration kit graphical user interface (GUI).” [3] Datasheet ST7580, “FSK, PSK multi-mode power line networking system- on-chip”, Rev.1, http://www.st.com/st- webui/static/active/en/resource/technical/document/datasheet/DM0004590 3.pdf, January 2012. [4] G.Patti, G. Alderisi, L. Lo Bello, “Performance assessment of the PRIME MAC layer protocol”, in Proc. of the the 11th IEEE International Conference of Industrial Informatics (INDIN 13), Bochum, Germany, 29- 31 July 2013. [5] Fariba Aalamifar, “Viability of powerline communication for smart grid realization”,2012. [6] Dr. Vladimir Oksman, “New ITU-T Recommendations for Smart Grid in home and access communication”, Lantiq, ETSI Smart Grid Workshops Sophia Antipolis, France, April 2011. [7] “Smart Grids and Networks of the Future EURELECTRIC Views”, Union of the Electricity Industry – EURELECTRIC, May 2009. [8] Stefano Galli, Anna Scaglione, Zhifang Wang, “For the Grid and Through the Grid: The Role of Power Line Communications in the Smart Grid”, June 2011. [9] Matlab 2013 disponibile su http://www.mathworks.it/programs/nrd/matlab-trial- request.html?ref=ggl&s_eid=ppc_1833, 7 novembre 2013. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013
  • 45. 45 [10] JDK 7 disponibile su: http://www.oracle.com/technetwork/java/javase/downloads/jdk7- downloads-1880260.html, 7 novembre 2013. [11] JFreeChart 1.0.16 disponibile su: http://www.jfree.org/jfreechart/download.html, 7 novembre 2013. [12] ST7580 GUI disponibile su: http://www.st.com/web/en/catalog/tools/PF257648, 7 novembre 2013. [13] IEEE Standard 802.3-2012 – “IEEE Standard for Ethernet - Section 1”, 2012. [14] IEEE Standard 802.11-2012, “IEEE Standard for Information technology- -Telecommunications and information exchange between systems Local and metropolitan area networks--Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications”, 2012. [15] IEEE Standard 802.15.4-2011, “Standard for Local and metropolitan area networks - Part 15.4: Low-Rate Wireless Personal Area Networks (LR- WPANs)” , 2011. Copiadidocumentoinformaticoarchiviatopressol'UniversitàdegliStudidiCatania(exart.23-bisD.Lgs82/2005)-Prot.2013-UNCTCLE-0124509del08/11/2013