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