0 Technical University of Crete Νικόλαος Αγαδάκος Iωάννης Παπαμεντζελόπουλος Iανουάριος 2011 ΤΗΛ 412: Ανάλυση & Σχεδίαση Τηλεπικοινωνιακών Διατάξεων CSMA/CA in C8051 Telecom Labs - TUC
1 Technical University of Crete 1 CSMA/CD(Carrier Sense Multiple Access / Collision Detection) – Η Βασική Ιδέα Υλοποίηση στον Microcontroller C8051 Αποτελέσματα & Απόδοση του αλγορίθμου Προβλήματα υλοποίησης Συμπεράσματα / to do Περιεχόμενα
2 Technical University of Crete 2 CSMA/CD – Βασική ιδέα Υπάρχει πρόβλημα? - Ναι Αν όλοι οι κόμβοι εκπέμπουν στο ίδιο κανάλι υπάρχουν συγκρούσεις κατά την μετάδοση!
3 Technical University of Crete Carrier Sense Multiple Access H μέθοδος που χρησιμοποιεί και το Ethernet για κοινή πρόσβαση πολλών κόμβων στο κοινό κανάλι επικοινωνίας. Κάθε κόμβος που επιθυμεί να μεταδώσει κάποιο πακέτο πρώτα ακούει το κανάλι αν είναι ελεύθερο η όχι. Ελεύθερο είναι το κανάλι αν δεν ληφθεί κάποιο σήμα με φέρον(carrier) στην συχνότητα επικοινωνίας των κόμβων. Στο Ethernet δίκτυο γίνεται ανίχνευση της τιμής του ρεύματος στο καλώδιο. Κάθε κόμβος που βρίσκει το κανάλι ελεύθερο μεταδίδει και εν συνεχεία ακούει το κανάλι. Υπάρχει πιθανότητα σύγκρουσης? ΝΑΙΛΥΣΗ: Collision Detection
4 Technical University of Crete Collision Detection ΑΝΙΧΝΕΥΣΗ –Ethernet: από την τιμή του ρεύματος στο καλώδιο. –Wireless: ACKs (Acknowledgements), επιβεβαιώσεις από τον κεντρικό σταθμό. ΕΠΙΛΥΣΗ –Binary Exponential Back-off Algorithm (Αλγόριθμος Δυαδικής Υποχώρησης) Κάθε κόμβος που ανιχνεύει σύγκρουση του πακέτου του αναμένει για τυχαίο χρόνο επιλέγοντας έναν τυχαίο αριθμό. O χρόνος αναμονής είναι : Όπου k ο αριθμός των συγκρούσεων που έχουν γίνει. PROP = χρόνος μετάδοσης ενός πακέτου μέσα στο κανάλι. PROC = χρόνος επεξεργασίας πακέτου, θεωρητικά αμελητέος
5 Technical University of Crete 5 Κάθε πακέτο που αποστέλλεται περιέχει extra πληροφορία την οποία χρησιμοποιούμε για το Carrier Sense. Sync word : βρίσκεται στην αρχή του κάθε πακέτου και λειτουργεί ως quality factor του πακέτου για τον παραλήπτη. Χρησιμοποιείται για να «ακούμε» το κανάλι. Addressing: βρίσκεται πριν τα data κάθε πακέτου και περιέχει τις πληροφορίες αποστολέα-παραλήπτη κτλ. Πακέτα που δεν ανήκουν στον κόμβο απορρίπτονται. Low Power mode: κάθε κόμβος μετά από καθορισμένες,συνεχείς και επιτυχείς μεταδώσεις «κοιμάται» για χαμηλότερη κατανάλωση. Υλοποίηση στον C8051 με cc2500-radio transceiver
6 Technical University of Crete Algorithm CHECK CHANNEL FOR 2 SLOTS IF CLEAR yes TRANSMIT PACKAGE TX- MODE WAIT FOR ACK - RX MODE IDLE MODE FOR RAND TIME CONFIRMED PACKAGE no CHECK ACK Collision or lost ACK Wrong package MESSAGE FINISHED SLEEP MODE Received ACK yes not
7 Technical University of Crete Radio transceiver cc2500 Data rates: 250 Kbaud Filter Bandwidth : 540 KHz CRC enabled Sync word : 30/32 No Preamble Packet length variable with max 255
8 Technical University of Crete 8 Αποτελέσματα 1 message = 3 packages slot time = 0,1 sec
9 Technical University of Crete Node statistics with srand Idle times
10 Technical University of Crete 10 Technical University of Crete Οι PROC(process) χρόνοι θεωρητικά είναι αμελητέοι μπροστά στην ταχύτητα μετάδοσης (PROP=απόσταση/ transfer_rate) μέσα από το κανάλι. Μετρήθηκε ο χρόνος αλλαγής από RX σε ΤΧ για την εκτέλεση του ενδεικτικού κώδικα κατά αντιστοιχία στα 200μsec περίπου. Carrier Sense : H αυτόματη ρύθμιση του ραδιοφώνου cc2500 για τον έλεγχο του καναλιού μέσω μόνο της κεραία του, δεν υλοποιήθηκε ακόμη. Για την χρήση τυχαίων χρόνων στον back off Algorithm χρησιμοποιήθηκε η pseudorandom συνάρτηση rand και srand. Οι οποίες ευνοούν κάποιους κόμβους. Η χρήση του RSSI (Receiver Signal Strength Indicator) δεν προτείνεται γιατί η τιμή του ανανεώνεται με αρκετά χαμηλή συχνότητα, 1,8 msec περίπου. Προβλήματα Υλοποίησης
11 Technical University of Crete To do Fair random times: Υπάρχουν γενικότερα καλύτερες σχετικά γεννήτριες τυχαίων αριθμών από τις rand (μέτρησης θορύβου κτλ). SLEEP Mode on demand: Ο Base Station αποστέλλει μήνυμα εντολής για SLEEP mode σε όσους κόμβους θεωρεί ότι έχουν ευνοηθεί από την rand() και γενικότερα για χαμηλότερη κατανάλωση. Wake on with CS(Carrier Sense): Η κεραία του ραδιοφώνου μπορεί να ακούει το κανάλι ακόμη και σε SLEEP mode αν ενεργοποιηθεί το CS σωστά. Strong Signal Paths: Μέσω του RSSI μπορεί να υπολογιστούν έξυπνα μονοπάτια αποστολής ενός πακέτου, διαλέγοντας τους καλύτερους κόμβους.