routing_per_rete_wireless - Università degli Studi di Trieste

UNIVERSITÁ DEGLI STUDI DI TRIESTE
DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA
CORSO DI LAUREA TRIENNALE IN ELETTRONICA
CURRICULUM TELECOMUNICAZIONE
PROTOCOLLO DI COMUNICAZIONE E
ALGORITMO DI ROUTING PER UNA RETE DI
SENSORI WIRELESS CON APPLICAZIONI
MEDICHE
TESI DI LAUREA PRESSO ELCON ELETTRONICA
Relatore:
Prof. Sergio Carrato
Correlatore:
Sr.Luaciano Generali
Laureando:
Benedito osvaldo Xona
Anno Academico 2011-2012
Obiettivi ed applicazioni
• Obiettivo
 Realizzazione di un protocollo di comunicazione
di un algoritmo di routing per WSN
 Non standard e proprietario
• Applicazione
 Mediche
Requisiti necessari
•
•
•
•
•
•
Ridotte dimensioni
Basso consumo energetico
Basso costo
Utilizzo di bande non Lincenziate
Scalabilità, Flessibilità
Certeza dato ricevuto
WSN e le tecnologie di comunicazione
802.11/Wi-fi
802.15.1/Bluetooth
802.15.4/Zigbee
Copertura(single-hop)
100m
10m
10-100m
Troughput(Mbps)
2-30
1-2
0.25
Consumo energetico
Medio
Basso
Molto basso
Autonomia
Minuti/ore
Diverse ore/giorni
Giorni /anni
Bit Rate
2.1Mbit/s
11/54Mbit/s
250Kbit/s
Sicurezza
Bassa
Media
Alta
Costo
Alto
Medio
Basso
Dimensione
Medie
Piccole
Molto piccole
Topologie di Rete
Rete a Stella
Rete Mesh
Rete ad Albero
La nostra applicazione
• Useremo la topologia di tipo Mesh/Albero
• I nodi sono suddivisi in




Capo Maglia (Nodo Base)
Nodi Interni
Nodi di Frontiera
Nodi Mobili
Formato dei pacchetti
• Ogni tecnologia di rete ha un proprio formato per i
messaggi
• In ogni caso, un messaggio contiene:
Dati utili
Informazione di controllo
SRC
[2]
DST
[2]
TYPE RSSI
[5]
[1]
SYNCH
[1]
HOP
[1]
LP
[1]
IndNd
[4]
PAYLOAD
[127]
CRC
[1]
Struttura dei Frame
• Il protocollo definisce 4 tipi di frame:
Frame di Faro
• Generato dal coordinatore della rete per trasmettere il
segnale di faro ai nodi
• L’indirizzo DST è in Broadcast
SRC
DST
FR
RSSI
LP
CRC
Struttura dei Frame
Frame di Acknowledgment
• generato dal capo maglia e dai nodi una volta ricevuto
un paccheto.
• I nodi memorizzano una coppia dei vari pacchetti
ricevuti e la rimuovono soltanto dopo aver ricevuto
l’ACK.
• ACK può assumere il valore 1 o 0
SRC
DST
ACK
RSSI
HOP
LP
IndNd
CRC
Struttura dei Frame
Frame dei Dati
• Genetaro dai nodi ogni volta che devono
trasmettere i dati rilevati.
SRC
DST
DATA
RSSI
SYNCH
HOP
LP IndNd
PAYLOAD
CRC
Struttura dei Frame
Frame di controllo
generato dai nodi al primo inserimento in rete,
ogni volta che vuole comunicare con altri nodi
Nel campo DST l’indirizzo è in Broadcast
SRC
DST
BROAD
RSSI
LP
PAYLOAD
CRC
Nodo Sensore
Sensore
Memoria
MCU
Alimentazione
Ricetrasmettitore
Schema Elettrico
R8C/27 e CC2520
• R8C/27
 Elevata velocità di
elaborazione(20MHz di clock
interno)
 Consumo energetico
 Typ. 10 mA (VCC = 5.0 V, f(XIN) =
20 MHz)
 Typ. 6 mA (VCC = 3.0 V, f(XIN) =
10 MHz)
 Typ. 2.0 µA (VCC = 3.0 V, wait
mode (f(XCIN) = 32 kHz)
 Typ. 0.7 µA (VCC = 3.0 V, stop
mode)
 Tensione variabile 3.0-5.5 V
R8C/27 e CC2520
• CC2520
Permette comunicazione in banda ISM che va da 2400
a 2483,3 MHz
Bassa tensione che varia da 1,8 a 3,8 V
Bit rate 250 Kbit/s
Modilazione DSSS
Ridotto consumo energetico
RX: 18 Ma, TX: 33 mA e sleep mode 1uA
Potenza di trasmissione programmabile in 32 livelli
Elevata sensibilità in ricezione(-98dBm)
R8C/27 e CC2520
• Ha dei tempi di accensione molto
veloci
• Insieme di Hardware per
 Gestione e trattamento dei frame
dati
 Crittografia dei dati e
autenticazione(AES)
 Disponibilità del canale(CCA)
 Indicazione qualità
collegamento(RSSI/LQI)
 Gestire frame ACK e tempo
d’attesa
Algoritmo di Routing
Inizializzazione di un Nodo Sensore
Nodo in trasmissione
• Prenota il canale
• Controlla se è un nodo interno
Se NdX=NdInt;
Regola PALL, e comunica con il CM
Attende l’ack
Qualora non è un nodo interno
Trasmette il frame di controllo ed attende l’Ack di
conferma
Se il N°risp<1 riprova incrementando PALL=PALL+3
Se il N°risp>=1, legge l’RSSI dei vari nodi
Nodo in trasmissione
Se RSSI<50% ritrasmette incrementando PALL
Se RSSI>=50% seleziona i nodi
Controlla il campo SYNCH
Se SYNCH=1 , comunica con il NdF
 Attende l’Ack
Se SYNCH=0, comunica con i nodi selezionati cioè NdE
 Attende l’Ack
Se entro Dmax l’Ack non arriva ritrasmette il
pacchetto
Nodi in ricezione
• Quando un nodo riceve un frame controlla il
campo type.
Se Type=Data, ritrasmette il messaggio
Se Type=FR; trasmette l’Ack al CM
Se Type=ACK, controlla il campo IndNd
Se IndNdDST=DST&&HOP=0; controlla Ack
 Se Ack=1 ok;
 Se Ack=0 non ok; ritrasmette il pacchetto.
Se non verificata IndNdDST=DST&&HOP=0
 Controlla in memoria l’indirizzo del NextNd
 Ritrasmette a quest’ultimo e cancella frame
Se Type=BROAD
Legge RSSI
Regola PALL e invia l’Ack
Timer
• Dopo le operazioni elencate il nodo controlla:
se ci sono portanti in zona oppure altre operazioni
da eseguire
Se si esegue le oprazioni necessarie
Se non ci sono attiva il timer
Entra in standy-by e attende TO=3TFR
Dopo TO si sveglia e trasmette un frame Broad
Durata Nodo
• Senza il Timer
MCU+ RADIO ON in TX (-18dBm) ; consumo
corrente = 22,2 mA.
Batteria di 3000mAh; Durata del nodo= 135 ore
• Con il Timer,
Durata del nodo≈3778 ore
Capo Maglia in Tramissione
Capo Maglia in Ricezione
Grazie per l’attenzione