ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΧΕ ΙΑΣΜΟΥ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΚΥΚΛΩΜΑΤΩΝ ΜΕΓΑΛΗΣ ΚΛΙΜΑΚΑΣ (VLSI-DESIGN) Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών Τζιαμπάζη Δημήτριου του Ανδρέα Αριθμός Μητρώου: 7439 Θέμα Υλοποίηση του φυσικού επιπέδου πρωτοκόλλου 802.15.4 στα 2.4GHz Επιβλέπων Κουφοπαύλου Οδυσσέας Αριθμός Διπλωματικής Εργασίας: Πάτρα, Ιούνιος, 2016
2 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η Διπλωματική Εργασία με θέμα Υλοποίηση του φυσικού επιπέδου πρωτοκόλλου 802.15.4 στα 2.4GHz Του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Δημήτριου Τζιαμπάζη του Ανδρέα Αριθμός Μητρώου: 7439 Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις.../.../... Ο Επιβλέπων Ο Διευθυντής του Τομέα Κουφοπαύλου Οδυσσέας Καθηγητής Ευθύμιος Χούσος Καθηγητής
Αριθμός Διπλωματικής Εργασίας: Θέμα: Υλοποίηση του φυσικού επιπέδου πρωτοκόλου 802.15.4 στα 2.4GHz Φοιτητής: Δημήτρης Τζιαμπάζης Επιβλέπων: Οδυσσέας Κουφοπαύλου Καθηγητής i
I am always doing that which I cannot do, in order that I may learn how to do it. Pablo Picasso
Abstract IEEE 802.15.4 standard for wireless technology, was designed for interconnection of data communication using low data rate, low power and low complexity short range communication in a wireless personal area network (WPAN). In IEEE Std 802.15.4-2011 revision, it was enhanced for market applicability to remove ambiguities in the standerd, and the improvements learned from implementations of IEEE Std 802.15.4-2006 are included. This technology supports cost effective, low power, wireless network monitoring and control products based on open global standard. In this thesis, a IEEE 802.15.4 PHY (Physical Layer) implementation is explored. This thesis presents a FPGA implementation of the physical layer of a baseband transeiver. The baseband transceiver proposed in this thesis is based on IEEE 802.15.4 where the transceiver uses OQPSK modulation. DS spread spectrum and half sine pulse shaping is used for coding and baseband processing respectively. All of the signal processing tasks are performed on the FPGA. The transceiver is implemented in VHDL and later on simulated with MentorGraphics Modelsim simulator as well as with the Xilinx ISim. Subsequently the baseband transceiver system was realized on Virtex 5 FPGA using ISE design environment. The performance of the transceiver was analyzed through simulation. Following this the transceiver was implemented on Virtex 5 FPGA in ISE design environment. iii
Περίληψη Το IEEE 802.15.4 είναι ένα πρότυπο το οποίο καθορίζει το φυσικό στρώμα (Physical Layer - PHY) και τα μέσα ελέγχου πρόσβασης (Media Access Control - MAC) για χαμηλού ρυθμού, χαμηλής ενέργειας και χαμηλής πολυπλοκότητας προσωπικά ασύρματα δίκτυα (LP- WPANs). Το 802.15.4 προτίθεται να προσφέρει τα θεμελιώδη κατώτερα στρώματα δικτύου ενός τύπου ασύρματου δικτύου προσωπικής περιοχής (WPAN), τα οποία εστιάζουν σε χαμηλού κόστους και χαμηλής ταχύτητας επικοινωνία μεταξύ συσκευών. Η έμφαση δίνεται στην χαμηλή κόστους επικοινωνία μεταξύ κοντινών συσκευών με καμία ή ελάχιστη σχετική υποδομή, σκοπεύοντας να εκμεταλλευτεί αυτή τη χαμηλή κατανάλωση ακόμη περισσότερο. Είναι η βάση για τις προδιαγραφές γνωστών ασύρματων τεχνολογιών δικτύων, όπως το ZigBee, WirelessHART, ISA100.11a, MiWi, Thread και 6LoWPAN. Τα πρότυπα αυτά έχουν κοινό χαρακτηριστικό την ασύρματη δικτύωση συσκευών με χαμηλή κατανάλωση ενέργειας, το οποίο είναι το ζητούμενο, ώστε να λειτουργεί αποδοτικά ένα ασύρματο δίκτυο αισθητήρων σε χώρους όπου δεν υπάρχει η δυνατότητα εύκολης πρόσβασης στους κόμβους Στην τελευταία αναθεώρηση του IEEE Std 802.15.4, το 2011, το πρότυπο ενισχύθηκε όσο αφορά την εφαρμοσιμότητα του στην αγορά, διορθώθηκαν ασάφειες στο πρότυπο, και εισήχθησαν βελτιώσεις που αντλήθηκαν από τις ήδη υπάρχουσες εφαρμογές του IEEE Std 802.15.4. Η παρούσα διπλωματική πραγματεύεται την υλοποίηση του φυσικού στρώματος (PHY Layer) του IEEE 802.15.4 προτύπου. Παρουσιάζετε ο σχεδιασμός, η όλη μεθοδολογία της υλοποίησης του φυσικού στρώματος ενός τυπικού πομποδέκτη βασισμένο στο πρότυπο καθώς και ο έλεγχος του τελικού αποτελέσματος. Ο πομποδέκτης που παρουσιάζεται σε αυτή την διπλωματική, βασίζεται στο IEEE 802.15.4 πρότυπο και χρησιμοποιεί διαμόρφωση O-QPSK. Για την κωδικοποίηση χρησιμοποιείται ένας αλγόριθμος διευρυμένου φάσματος (DSSS - Direct Sequence Spread Spectrum) ενώ για την επεξεργασία του σήματος χρησιμοποιείται μία διαμόρφωση μισού ημιτόνου. Η οποιαδήποτε επεξεργασία σήματος ή και δεδομένων εκτελείται στην πλακέτα του FPGA. Ο εν λόγω πομποδέκτης υλοποιείται σε VHDL με την βοήθεια της σχεδιαστικής σουίτας που παρέχει η Xilinx - Xilinx ISE και εν συνεχεία προσομοιώνεται τόσο στο περιβάλλον της Mentor Grpahics - ModelSim Simulator όσο και στο περιβάλλον της Xilinx - Xilinx ISim. Ακολούθως ο εν λόγω πομποδέκτης υλοποιήθηκε σε πλατφόρμα Virtex 5 FPGA και με η σωστή λειτουργία του επαληθεύτηκε μέσα από την παρακολούθηση των εσωτερικών σημάτων της συσκευής.
Ευχαριστίες Η εργασία αυτή εκπονήθηκε στο Εργαστήριο Σχεδιασμού Ολοκληρωμένων Κυκλωμάτων του τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών του Πανεπιστημίου Πατρών. Στο σημείο αυτό θα ήθελα να ευχαριστήσω τον επιβλέποντα καθηγητή, κ.κουφοπαύλου για την πολύτιμη βοήθεια και την καθοδήγηση καθ όλη την διάρκεια της προσπάθειας εκπόνησης αυτής της διπλωματικής εργασίας. Επίσης, να ευχαριστήσω τον διδάκτορα κ.εμεριτλή Ανδρέα για την πολύτιμη βοήθεια του στην εκπόνηση της παρούσης εργασίας. Χωρίς την βοήθειά τους και τον ενθουσιασμό τους δεν θα μου δινόταν η ευκαιρία να ανακαλύψω το επιστημονικό ενδιαφέρον που παρουσιάζει το συγκεκριμένο αντικείμενο. Επίσης θα ήθελα να ευχαριστήσω τη σύντροφο μου, τους φίλους μου, και πρωτίστως την οικογένεια μου για την ηθική και ψυχολογική υποστήριξη που μου παρείχαν όλο αυτό το διάστημα. v
Κατάλογος Περιεχομένων Πιστοποίηση συγγραφής i Περίληψη iii Ευχαριστίες v Κατάλογος Σχημάτων Κατάλογος Πινάκων Ακρωνύμια viii ix x 1 Εισαγωγή 1 1.1 Προεπισκόπηση................................. 2 1.2 Ανασκόπηση βιβλιογραφίας.......................... 2 1.3 Σκοπός Διπλωματικής Εργασίας........................ 4 1.4 Δομή της Διπλωματικής Εργασίας....................... 4 2 Περίληψη IEEE 802.15.4 LR-WPAN 6 2.1 Εισαγωγή..................................... 6 2.2 Γενική περιγραφή IEEE 802.15.4........................ 7 2.2.1 Τύποι κόμβων δικτύου......................... 8 2.2.2 Τοπολογίες Δικτύου........................... 9 2.3 IEEE 802.15.4 PHY Layer............................ 10 2.3.1 Εύρος Συχνοτήτων Δεδομένων..................... 11 2.3.2 Αναθέσεις καναλιού........................... 11 2.3.3 Ανίχνευση ενέργειας.......................... 13 2.3.4 Δείκτης ποιότητας σύνδεσης (LQI)................... 14 2.3.5 Αξιολόγηση καναλιού (CCA)...................... 14 2.3.6 Δομή PPDU............................... 15 2.3.7 Bit-to-symbol mapping.......................... 16 2.3.8 Symbol-to-chip mapping......................... 17 2.4 IEEE 802.15.4 MAC Layer............................ 18 2.4.1 Carrier Sense Multiple Access Collision Avoidance CSMA/CA..... 19 2.4.2 MAC frame formats........................... 21 vi
Περιεχόμενα vii 2.4.2.1 Frame Control field...................... 22 2.4.2.2 Sequence Number field.................... 24 2.4.2.3 Addressing fields........................ 24 2.4.2.4 Frame Payload field...................... 25 2.4.2.5 FCS field............................ 25 2.4.3 Διασφάλιση Δεδομένων......................... 25 2.4.3.1 Cyclic Redundancy Check................... 26 2.5 Υψηλότερα επίπεδα IEEE 802.15.4....................... 28 2.6 Περίληψη..................................... 29 3 Σχεδιασμός και Υλοποίηση Πομποδέκτη 30 3.1 Direct Sequence Spread Spectrum (DSSS).................... 31 3.2 Διαιτητής συστήματος.............................. 33 3.3 Σχεδιασμός πομπού............................... 35 3.3.1 Είσοδος δεδομένων........................... 36 3.3.2 Μετατροπή Symbol σε Chip....................... 36 3.3.3 Μετατροπή σειριακου τμήματος σε παράλληλο............ 37 3.3.4 Διαμόρφωση παλμού μετάδοσης.................... 38 3.4 Σχεδιασμός δέκτη................................ 40 3.4.1 Chip σε Symbol mapping......................... 42 3.4.2 Ανάλυση πλαισίου PPDU........................ 43 3.5 Πακέτα προσομοίωσης.............................. 44 3.6 Υλοποίηση σε VIRTEX 5 FPGA......................... 44 3.6.1 ISE Design Suite............................. 44 3.6.2 VIRTEX 5 FPGA............................. 47 3.6.3 Synthesis Report............................. 48 3.7 Περίληψη..................................... 52 4 Μετρήσεις και Αποτελέσματα 54 4.1 Ανάλυση με ChipScope.............................. 54 5 Μελλοντική Εργασία 59 5.1 Μελλοντική Εργασία............................... 59 A Procedures and Functions 61 B System Top Module 67 C Transceiver module 70 D Arbiter 83 E System testbench 86 Βιβλιογραφία 89
Κατάλογος Σχημάτων 2.1 Τα λογικά επίπεδα του μοντέλου OSI...................... 7 2.2 Αρχιτεκτονική συσκευής LR-WPAN...................... 7 2.3 PHY Layer και Data link layer PDUs....................... 8 2.4 Τοπολογία Cluster-tree.............................. 9 2.5 Τοπολογία Star και Peer-to-peer δικτύου.................... 10 2.6 Τα MAC και PHY στρώματα.......................... 16 2.7 Διάγραμμα ροής αλγορίθμου unslotted CSMA - CA.............. 20 2.8 Παράδειγμα FCS................................. 27 2.9 Παράδειγμα CRC ελέγχου............................ 28 3.1 Πρότυπο διάγραμμα διαμόρφωσης O-QPSK PHY............... 31 3.2 DSSS....................................... 32 3.3 Transceiver State Machine............................. 33 3.4 RTL του μπλοκ διαιτησίας............................ 34 3.5 RTL του μπλοκ διαιτησίας............................ 34 3.6 System State Machine............................... 35 3.7 Pinout αναφορά................................. 35 3.8 Πρότυπο διάγραμμα πομπού O-QPSK PHY.................. 36 3.9 Μετατροπή σειριακού τμήματος σε σειριακό.................. 38 3.10 O-QPSK chip offsets............................... 38 3.11 Δείγμα διαμόρφωσης παλμού.......................... 39 3.12 Προσομοίωση Modelsim με ημιτονοειδή μορφοποίηση............. 40 3.13 Σχηματικό διάγραμμα υλοποίησης RTL δέκτη................. 41 3.14 Πρότυπο διάγραμμα δέκτη........................... 41 3.15 Μετατροπή παράλληλων τμημάτων σε σειριακό στο δέκτη.......... 41 3.16 Παράδειγμα chip mapping............................ 42 3.17 Σχηματικό διάγραμμα RTL οντότητας δέκτη................. 43 3.18 ChipScopePro................................... 47 3.19 Virtex-5 FPGA XC5VLX110T.......................... 48 3.20 Μπλόκ διάγραμμα πλακέτας Virtex-5 FPGA ML50x Evaluation Platform.. 49 3.21 Τελικό RTL Schematic πομποδέκτη....................... 53 4.1 Trigger Conditions................................. 55 4.2 ChipScope Pro εσωτερικά σήματα για το User_0................ 56 4.3 ChipScope Pro εσωτερικά σήματα για το User_1................ 57 4.4 ChipScope: Λειτουργία πομπού......................... 58 viii
Κατάλογος Πινάκων 2.1 Ζώνες συχνότητας και ταχύτητα δεδομένων.................. 12 2.2 Δομή του πλαισίου PPDU............................ 15 2.3 Δομή του πεδίου SFD.............................. 15 2.4 Δυνατές τιμές μήκους πλαισίου......................... 16 2.5 Symbol Values................................... 17 2.6 Πίνακας τιμών συμβόλων και chip....................... 18 2.7 Γενική δομή MAC πλαισίου........................... 22 2.8 Δομή πεδίου Frame Control........................... 23 2.9 Τιμές πεδίου Frame Type............................ 24 2.10 Δυνατές τιμές πεδίων Destination και Source Addressing Mode........ 24 3.1 Symbol-to-chip mapping............................. 37 3.2 Περιγραφή των pin ρολογιού της πλακέτας.................. 49 3.3 HDL options Summary.............................. 50 3.4 Synthesis Options Summary............................ 50 3.5 Device Utilization Summary............................ 51 3.6 Advance HDL Synthesis Report.......................... 51 3.7 Timing Summary................................. 52 ix
Ακρωνύμια ADC AES AGC AM APL APS AR ASDU ASIC ASK AWGN BE BER BLE BPM BPSK BRT BSN BTR BTT CAP CCA CFP CRC CRT Analog to Digital Converte Advanced Encryption Standard Automatic Gain Control Amplitude Modulation Application Layer Application Support Sublayer Acknowledgment Request APS Service Data Unit Application Specific Integrated Circuit Amplitude Shift Keying Additive White Gaussian noise Backoff Exponent Bit Error Rate Battery Life Extension Burst Position Modulation Binary Phase-Shift Keying Broadcast Retry Timer Beacon Sequence Number Broadcast Transaction Record Broadcast Transaction Table Contention Access Period Clear Channel Assessment Contention-Free Period Cyclic Redundancy Check Chinese Remainder Theorem x
Ακρωνύμια xi CS CSK CSMA-CA CSS CTR CWPAN DAA DCM DEMUX DPS DLL DSCDMA DSN DSSS DU ED EIRP ERP EVM FCS FEC FFD FH FHSS FM FPGA GFSK GTS HDL HDR I-phase I/O IB Continuous Spectrum Chirp-shift Keying Carrier Sense Multiple Access with Collision Avoidance Chirp Spread Spectrum Counter Mode Chinese Wireless Personal Area Network Detect And Avoid Digital Clock Manager De-multiplexer Dynamic Preamble Selection Data Link Layer Direct-sequence Code Division Multiple-access Data Sequence Number Direct Sequence Spread Spectrum Data Unit Energy Detection Effective Isotropic Radiated Power Effective Radiated Power Error Vector Magnitude Frame Check Sequence Forward Error Correction Full-Function Device Frequency Hopping Frequency Hopping Spread Spectrum Frequency Modulation Field Programmable Gate Array Gaussian Frequency-shift Keying Guaranteed Time Slot Hardware Description Language Header In Phase Input/Output Information Base
Ακρωνύμια xii IFS IFS ISM ISI LBT LIFS LOS LPDU LQI LR-WPAN LSB MAC MFR MHR MIC MLME MPDU MPSK MSB MSDU MSK NB NF NHLE NIB NLDE NLME NPDU NSDU NWK O-QPSK OCDM OSI Interframe Space Or Spacing Interframe Spacing Industrial, Scientific, and Medical Inter, Symbol, and Interference Listen before Talk Long Interframe Spacing Line-of-sight Logical Link Control Protocol Data Unit Link Quality Indicator Low-Rate Wireless Personal Area Network Least Significant Bit Medium Access Control MAC Footer MAC Header Message Integrity Code MAC Layer Management Entity MAC Protocol Data Unit M-ary Phase Shift Keying Most Significant Bit MAC Service Data Unit Minimum Shift Keying Number of Backoffs Noise Figure Next Higher Layer Entity Network Layer Information Base Network Layer Data Entity Network Layer Management Entity Network Layer Protocol Data Unit Network Service Data Unit Network Layer Offset Quadrature Phase-Shift Keying Orthogonal Code Division Multiplexing Open Systems Interconnection
Ακρωνύμια xiii PAN PC PD PD-SAP PDU PER PHR PHY PIB PICS PLL PLME PLME-SAP PN POS PPDU PRF PSD PSDU PSSS Q-phase QOS RF RFD RNS RREP RREQ RSSI RX SAP SFD SHR SIFS Personal Area Network Personal Computer PHY Data PHY Data Service Access Point Protocol Data Units Packet Error Rate PHY Header Physical Layer PAN Information Base Protocol Implementation Conformance Statement Phase-locked Loop Physical Layer Management Entity Physical Layer Management Entity Service Access Point Pseudo-random Noise Personal Operating Space PHY Protocol Data Unit Pulse Repetition Frequency Power Spectral Density PHY Service Data Unit Parallel Sequence Spread Spectrum Quadrature Phase Quality Of Service Radio Frequency Reduced Function Device Residue Number System Route Reply Route Request Receive Signal Strength Indicator Receive or Receiver Service Access Point Start-of-Frame Delimiter Synchronization Header Short Interframe Spacing
Ακρωνύμια xiv SIR SKKE SNR SSP TRX TX UWB VHDL VLSI WLAN WPAN ZDO Signal-to-Interference Ratio Symmetric-Key Key Establishment Signal-to-Noise Ratio Security Service Provider Transceiver Transmit or Transmitter Ultra-wide Band VLSI Hardware Description Language Very Large Scale Integration Wireless Local Area Network Wireless Personal Area Network ZigBee Device Object
Αφιερωμένο στους γονείς μου xv
Κεφάλαιο 1 Εισαγωγή Η ραγδαία ανάπτυξη της τεχνολογίας, έχει καταστήσει απαραίτητη την επικοινωνία των διαφόρων συσκευών που έχουν σα βασική λειτουργία τη συγκέντρωση, την επεξεργασία και τη μεταφορά δεδομένων. Έχει επιτρέψει έτσι την ανάπτυξη ασύρματων δικτύων αισθητήρων (Wireless Sensor Networks - WSNs), δηλαδή δικτύων με μεμονωμένο αριθμό κόμβων που καταγράφουν και επεξεργάζονται την πληροφορία η οποία συλλέγεται. Η ανταλλαγή πληροφορίας σε αυτά τα δίκτυα γίνεται μέσω ασύρματης επικοινωνίας και βασίζεται σε πρωτόκολλα επικοινωνίας. Η ραγδαία αυτή ανάπτυξη των ασύρματων επικοινωνιών οδήγησε τις τεχνολογίες επικοινωνίας μικρής εμβέλειας, οι οποίες παρέχουν μεγάλη ευελιξία και κινητικότητα, να αναπτυχθούν με έναν γοργό ρυθμό. Ο τρόπος αυτός επικοινωνίας ενδείκνυται για πρόσβαση σε δίκτυα και υπηρεσίες χωρίς καλώδια. Σημαντικά πλεονεκτήματα αυτής της τεχνολογίας είναι ο δυναμικότητα που παρέχεται στο σχηματισμό του δικτύου και το χαμηλό κόστος και η ευκολία στην εφαρμογή του. Υπάρχουν πολλά διαφορετικά πρότυπα, τα οποία χρησιμοποιούνται για τέτοιου είδους, μικρής εμβέλειας επικοινωνία. Ανάμεσα σε πολλές τεχνολογίες, αυτές οι οποίες βασίζονται στο IEEE 802.15.4 πρότυπο, μπορούν πολύ πιο εύκολα να ικανοποιήσουν ένα ευρύ πεδίο απαιτήσεων της βιομηχανίας. Αυτό το πετυχαίνουν κυρίως λόγω της μεγάλης διάρκειας ζωής, της πολύ χαμηλής κατανάλωσης μπαταρία και της ευρεία χρήση και αξιοπιστία σε αρχιτεκτονικές δικτύων τύπου mesh. Τα Wireless Personal Area Networks (WPANs) μεταφέρουν μικρά μηνύματα όπως εντολές σε μικρές αποστάσεις και απαιτεί πολύ μικρή υποδομή για την ανταλλαγή δεδομένων. Αυτό το χαρακτηριστικό επιτρέπει την δημιουργία τεχνολογιών όπως το Zigbee για μικρές, ενεργειακά οικονομικές και φτηνές λύσεις να υλοποιηθούν σε ένα ευρύ φάσμα ασύρματων συσκευών. Η ανάπτυξη του πρωτοκόλλου Zigbee και των προιόντων του γίνονται απο την Zigbee Alliance, η οποία αποτελείτε απο περισσότερες απο 270 εταιρείες 1
Κεφάλαιο 1. Εισαγωγή 2 συμπεριλαμβανομένων των Freescale, Ember, Mitsubishi, Philips, Honeywell, και Texas Instruments [1]. Το πρότυπο 802.15.4 ορίζει τις προδιαγραφές του φυσικού επιπέδου Physical(PHY) και του υπο-επιπέδου Ελέγχου Προσπέλασης στο Μέσο Μετάδοσης (Medium Access Control - MAC), για χαμηλού ρυθμού μετάδοσης ασύρματα δίκτυα (LR-WPAN) που αποτελούνται από σταθερές ή κινητές συσκευές, τροφοδοτούμενου απο κάποια περιορισμένη πηγή ενέργειας. Η χαμηλή κατανάλωση ενέργειας είναι το μεγαλύτερο πλεονέκτημα του προτύπου αυτού και αυτό έγκειται στο γεγονός, ότι οι κόμβοι του δικτύου την περισσότερη ώρα βρίσκονται σε αδρανή κατάσταση (sleep mode). 1.1 Προεπισκόπηση Το ΙΕΕΕ 802.15.3 πρότυπο σχεδιάστηκε συγκεκριμένα για να αντιμετωπιστεί η ανάγκη για πολύ χαμηλού κόστους υλοποιήσεις ασύρματων δικτύων με χαμηλό ρυθμό δεδομένων και πολύ χαμηλή κατανάλωση. Με απλοποιημένα πρωτόκολλα επικοινωνίας και ενα χαμηλό ρυθμό δεδομένων καταφέρνει να μειώσει το κόστος υλοποίησης. Σε σχέση με άλλα πρότυπα είναι ένα εύκολα υλοποιήσιμο πρωτόκολλο αφού οι προϋποθέσεις που απαιτεί για την υλοποίηση του είναι πολύ μικρές σε σχέση με άλλα πρωτοκολλά όπως το IEEE 802.11 και το Bluetooth. Αυτό μειώνει την πολυπλοκότητα και το κόστος υλοποίησης ενός πομποδέκτη βασισμένο σε ένα τέτοιο πρωτόκολλο. Το χαρακτηριστικό αυτό του πρωτοκόλλου έχει βοηθήσει στην εφαρμογή ασύρματων δικτύων αισθητήρων για περισυλλογή καταγραφή πληροφοριών από αισθητήρες όπως θερμοκρασία, υγρασία, πίεση, ροή, δόνηση, ποιότητα κατάστασης μιας μηχανής και άλλες φυσικές παραμέτρους. Καινούργιες στρατηγικές υλοποίησης για την παρούσα τεχνολογία σε πραγματικό χρόνο έχουν σκοπό κατά κύριο λόγο την μείωση του μεγέθους που καταλαμβάνει το ολοκληρωμένο κύκλωμα. Για αυτό το λόγο ένα από τα πιο χρήσιμα εργαλεία που έχουμε στην διάθεση μας για υλοποίηση ολοκληρωμένων κυκλωμάτων είναι τα FPGA's [2]. Εφόσον το VIR- TEX 5 FPGA έχει ευρύ φάσμα ιδιοτήτων και χρησιμοποιείται ευρέως σε εφαρμογές της βιομηχανίας για υλοποίηση και έλεγχο σχεδίων υλικού. Ως εκ τούτου, στην παρούσα εργασία ο πομποδέκτης υλοποιήθηκε σε πλακέτα VIRTEX 5 FPGA. 1.2 Ανασκόπηση βιβλιογραφίας Τα τελευταία χρόνια έχει σημειωθεί σημαντική αύξηση στην σχεδίαση πομποδεκτών όσο και των επιμέρους μελων του, πομπών και δεκτών, χρησιμοποιώντας διάφορες μεθοδολογίες και εργαλεία. Πολλές από αυτές τις μελέτες χρησιμοποιούν Matlab, VHDL ακόμα και σχηματικές αναπαραστάσεις (schematics). Στην εποχή αυτή το να σχεδιάζει
Κεφάλαιο 1. Εισαγωγή 3 κάποιος πλέον με schematic δεν είναι καθόλου πρακτικό όταν το κύκλωμα προς σχεδίαση είναι πολύπλοκο. Το εργαλείο της Matlab αν και πολύ βοηθητικό δυστυχώς μπορεί να χρησιμοποιηθεί μόνο στην περίπτωση που χρειάζεται μοντελοποίηση και προσομοίωση. Όταν χρειάζεται να περιγραφεί η συμπεριφορά ενός μοντέλου ενός ψηφιακού σχεδίου, η πιο αποδοτική λύση σε σχέση με τις άλλες επιλογές, είναι οι περιγραφικές γλώσσες υλικού (HDL). Πολύ σημαντικό πλεονέκτημα των HDL γλωσσών, είναι οτι ο κώδικας μπορεί να προσομοιωθεί και να υλοποιηθεί κατευθείαν σε FPGA η σε ένα συγκεκριμένου σκοπού ολοκληρωμένο κύκλωμα (ASIC) [1]. Υπάρχουν πολλές μελέτες, στον τομέα της υλοποίησης ασύρματων πρωτοκόλλων ειδικά δικτύων μικρής εμβέλειας, σε FPGA όσο και σε ASIC. Το πεδίο αυτό φαίνεται να αποκτά όλο και περισσότερο ενδιαφέρον για τους ερευνητές τα τελευταία χρόνια. Οι επόμενες παραγράφοι αναφέρουν κάποιες απο αυτές τις μελέτες. Πολλοί μελετητές προσπαθούν να αναπτύξουν και να υλοποιήσουν σε υλικό, για εφαρμογές πραγματικού χρόνου, το πρότυπο Zigbee οπου το PHY και MAC επίπεδα του είναι βασισμένα στο 802.15.4 πρότυπο της επιτροπής IEEE. Ο λόγος είναι τα πολλά πλεονεκτήματα στα οποία υπερτερεί έναντι άλλων πρωτοκόλλων, στο τομέα της ασύρματης επικοινωνίας μικρής εμβέλειας. Οι Di Stefano et al.[3] σχεδίασαν μία απλή αρχιτεκτονική ενός δέκτη χρησιμοποιώντας Matlab, Simulink και VHDL. Η αρχιτεκτονική αυτή αποτελείται απο τέσσερις μόνο οντότητες και ο σχεδιασμός της υλοποιήθηκε σε Spartan3-200 FPGA. Ενα χαμηλοπερατό φίλτρο μειώνει τον θόρυβο στο σήμα και στο κανάλι. Ο αποδιαμορφωτής OQPSK λειτουργεί σαν ανιχνευτής φάσης. Ο αρχική κωδικοποιημένη πληροφορία ανακτάται μεσω της της οντότητας που συγχρονίζει τα εισερχόμενα bits και της οντότητας της συσχέτισης της πληροφορίας. Μέσω τον δύο αυτών οντοτήτων βρίσκεται ο σωστός χρονισμός και η φάση με κάθε λήψη του frame preamble. Το πεδίο της πληροφορίας αποκωδικοποιείτε απο την οντότητα επεξεργασίας του λαμβανόμενου frame πριν να αποσταλει στο MAC υποεπιπεδο. Η διαρρύθμιση αυτή του Zigbee χρησιμοποίησε λιγότερα απο 200 slices στα 22Mhz συχνότητα δειγματοληψίας. Οι Oh και Lee [4] υλοποίησαν ενα 2.4GHz ραδιο-πομποδέκτη για WPAN σε 0.18-μm CMOS τεχνολογία. Σε αυτο το πομποδέκτη με Offset Quadrature Phase Shift Keying pulse shaping υλοποιήθηκε μια ζώνη 2.4 GHz για το πρότυπο IEEE 802.15.4. Άλλες υλοποιήσεις Zig- Bee transceivers για WPAN σε ζώνες 868/915 MHz πρότειναν οι Wang et. al [5] με τους διαμορφωτές και αποδιαμορφωτές να παρουσιάζονται σε διαφορετικό άρθο[6] και να στοχεύουν σε ιατρικές εφαρμογές. Οι Wang et al.[7] σχεδίασαν ακόμα ένα ψηφιακό δέκτη Zigbee για ζώνη των 2.4 GHz. Οι συγγραφείς υλοποίησαν την σχεδίαση αυτή του δέκτη σε FPGA και την κατασκεύασαν
Κεφάλαιο 1. Εισαγωγή 4 χρησιμοποιώντας τεχνολογία 0.18 µm CMOS technology. Η αρχιτεκτονική περιλαμβάνει οκτώ οντότητες και είναι αρκετά πολύπλοκη. Ο ανιχνευτής πακέτων διακρίνει εάν το εισερχόμενο σήμα είναι δεδομένα η απλά θόρυβος. Ο ανιχνευτής φάσης διακρίνει την διαφορά φάσης για κάθε δεδομένων που περιλαμβάνει. Ο αποδιαμορφωτής χρησιμοποιεί το πρότυπο το οποίο περιλαμβάνει τον minimum shift keying (MSK) αλγόριθμο για να κάνει την αναδιαμόρφωση. Ο αλγόριθμος αυτός είναι πολύ συγγενής και μοιάζει σε αρκετά σημεία του με τον OQPSK. Ακολούθως της αποδιαμόρφωσης υπάρχει η οντότητα preamble όπου βρίσκει και αφαιρεί το προοίμιο απο το πακέτο του PPDU που έλαβε. Τo επόμενο μπλόκ σχεδίασης αντιστοιχίζει το κάθε σύμβολο από data που λαμβάνει με την ανάλογη PN chip ακολουθία. Το μπλόκ SFD αφού πάρει το PSDU πλαίσιο απο το προηγούμενο μπλόκ, επιβεβαιώνει την ορθότητα του ολασίο και ενημερωνει ότι έλαβε το σωστό μπλόκ απο δεδομένα. Τα αποτελέσματα της υλοποίησης δείχνουν ότι η συχνότητα PER είναι λιγότερη απο 1% στα 8 MHz (ρολόι συστήματος). 1.3 Σκοπός Διπλωματικής Εργασίας Tο κύριο θέμα της εργασίας είναι ο σχεδιασμός και η υλοποίηση ενός πομποδέκτη βασισμένο στο πρότυπο IEEE 802.15.4 για μικρής εμβέλειας ασύρματο σύστημα επικοινωνίας. Οι υλοποιήσεις του προτύπου μπορούν να χρησιμοποιηθούν σε εφαρμογές ασύρματων δικτύων αισθητήρων ανάλογα με τις ανάγκες της εκάστοτε επιχείρησης, όπως σε βιομηχανία αυτοματισμών, ιατρικές εγκαταστάσεις και στρατιωτικές εφαρμογές. Η διπλωματική αυτή πραγματεύεται την επεξεργασία και υλοποίηση της βασικής ζώνης ενός πομποδέκτη μέχρι πριν το αναλογικό κομμάτι. Οι στόχοι της διατριβής αυτής που εμπλέκονται με την σχεδίαση περιλαμβάνουν. Περιγραφή του φυσικού στρώματος του προτύπου σε γλώσσα υλικού HDL (Hardware description language) και προσομοίωση σε διάφορα περιβάλλοντα προσομοίωσης. Υλοποίηση σχεδιασμού σε πλακέτα Virtex 5 FPGA. Ανάλυση των αποτελεσμάτων της υλοποίησης του σχεδιασμού. 1.4 Δομή της Διπλωματικής Εργασίας Η ενότητα αυτή παρουσιάζει τη διάρθρωση της παρούσας διπλωματικής. Η εργασία χωρίζεται σε πέντε κεφάλαια, εκ των οποίων τα εναπομείναντα τέσσερα περιγράφονται πιο κάτω.
Κεφάλαιο 1. Εισαγωγή 5 Κεφάλαιο 2: Περίληψη IEEE 802.15.4 LR-WPAN Τα βασικά χαρακτηριστικά για το πρότυπο 801.15.4 της επιτροπής IEEE, το οποίο περιγράφει εκτενώς τα επίπεδα PHY και MAC σε ασύρματα δίκτυα χαμηλής κατανάλωσης ενέργειας και ρυθμού μετάδοσης δεδομένων, περιγράφονται σε αυτό το κεφάλαιο. Γίνεται αναφορά στις βασικές έννοιες, στην αρχιτεκτονική που υποστηρίζονται το πρότυπο. Επιπρόσθετα, γίνεται αναφορά στους αλγόριθμους που χρησιμοποιεί το O-QPSK PHY επίπεδο, όπως ο DSSS, ο τρόπος διαμόρφωσης και επεξεργασίας των bits. Τέλος ο τρόπος διαμόρφωσης που χρησιμοποιείται για ένα πομποδέκτη επίσης συζητείται σε αυτό το κεφάλαιο. Τέλος, πραγματοποιείται περιληπτικά μία συγκριτική αναφορά στις διάφορες εκδόσεις του πρωτοκόλλου. Κεφάλαιο 3: Σχεδιασμός και Υλοποίηση Πομποδέκτη Η υλοποίηση της σχεδίασης του πομποδέκτη σε FPGA εξηγείται σε αυτό το κεφάλαιο. Ο πομπός και ο δέκτης πρώτα περιγράφονται με γλώσσα υλικού (HDL) και ακολούθως προσομοιώνονται σε περιβάλλον της Xilinx [8] όσο και της MentorGraphics [9]. Ο πομπός αποτελείται απο τις οντότητες, bit to symbol, symbol to chip, chip to stream και τελικώς το κύκλωμα διαμόρφωσης της πληροφορίας που θα μεταδοθεί. Κάθε μία απο τις οντότητες του πομπού προσομοιώνεται ανεξάρτητα. Ακολούθως το όλο σύστημα υλοποιείται στο Virtex 5 FPGA. Παρομοίως ο δέκτης αποτελείται απο τις οντότητες, stream to chip και αποδιαμόρφωσης πληροφορίας. Επίσης ο δέκτης προσομοιώνεται με προσομοιωτή της Xilinx και ύστερα υλοποιείται στη πλατφόρμα FPGA. Το κεφάλαιο επιπλέον καλύπτει όλες τις λεπτομέρειες των VLSI οντοτήτων του πομποδέκτη, των κυκλωμάτων ρολογιού καθώς και περιγραφές των εισόδων και εξόδων της κάθε μονάδας. Κεφάλαιο 4: Συμπεράσματα και Μελλοντική Εργασία Στο τέταρτο κεφάλαιο παρουσιάζονται τα αποτελέσματα της υλοποίησης σε πλατφόρμα FPGA, τα οποία πάρθηκαν απο προγράμματα της Xilinx. Πραγματοποιείται συγκριτική αξιολόγηση των αποτελεσμάτων της σχεδίασης που υλοποιήθηκε, με άλλες ήδη υπάρχουσες υλοποιήσεις του ιδίου προτύπου, οι οποίες αναφέρθηκαν σε προηγούμενες ενότητες. Σκοπός του κεφαλαίου αυτού δεν είναι να κατατάξει την συγκεκριμένη υλοποίηση σε καλύτερη ή χειρότερη απο άλλες αλλά δε να δούμε εαν είναι λειτουργικό, εάν πραγματικά καλύπτει τις ανάγκες που πρέπει σαν πρότυπο και αν τα αποτελέσματα της σχεδίασης είναι λογικά και αποδεκτά εν συγκρίση πάντα με την βιβλιογραφία. Επίσης θα παρουσιαστούν κάποιοι περιορισμοί της σχεδίασης καθώς και μελλοντικές σκέψεις για την εργασία αυτή.
Κεφάλαιο 2 Περίληψη IEEE 802.15.4 LR-WPAN 2.1 Εισαγωγή Η IEEE 802.15 είναι μία ομάδα που δημιουργήθηκε απο την επιτροπή της IEEE για να καθορίσει τα πρότυπα για τα προσωπικά ασύρματα δίκτυα επικοινωνίας (WPAN). Η ομάδα IEEE 802.15.4 καθορίζει ένα χαμηλού ρυθμού WPAN με 20kbps, 40kbps kai 250kbps για διαφορετικές ζώνες συχνοτήτων όπως θα δούμε στη συνέχεια. Το πρότυπο 802.15.4 της επιτροπής IEEE ειναι ένα πρότυπο το οποίο περιγράφει το φυσικό επίπεδο και το MAC υποεπίπεδο για χαμηλού ρυθμού μετάδοσης ασύρματα προσωπικά δίκτυα. Η πρώτη έκδοση του προτύπου αυτού είχε ανακοινωθεί το 2003. Μέσα απο το πέρας των χρόνων το πρότυπο αναθεωρείται και βελτιωμένες εκδόσεις του προτύπου ανακοινώνονται. Οι πιο σημαντικές εξ αυτών είναι του 2006 και του 2011. Το πρότυπο αυτό εξυπηρετεί, σαν PHY και MAC επίπεδα, για τις περισσότερες απο τις πιο γνωστές ασύρματες τεχνολογίες δικτύων, όπως: ZigBee [10], ISA100.11a [11], WirelessHART [12] [13], MiWi [14], Thread [15] και μπορεί να χρησιμοποιηθεί ακόμα και με το 6LoWPAN. Αυτές οι τεχνολογίες επέκτειναν το πρωτόκολλο συμπεριλαμβάνοντας και άλλα επίπεδα τα οποία δεν περιγράφονται στο συγκεκριμένο πρότυπο της ομάδας 802.15. Συσκευές που χρησιμοποιούν τέτοιες τεχνολογίες χρησιμοποιούνται για να μεταδώσουν πληροφορίες σε σχετικά μικρές αποστάσεις και χρειάζονται, σε αντίθεση με τα WLAN's δίκτυα, πολύ μικρότερη ή και καθόλου υποδομή. Αυτό το τόσο σημαντικό χαρακτηριστικό επιτρέπει την δημιουργία μικρών, ενεργειακά αποδοτικών και φτηνών λύσεων για ενα τεράστιο εύρος συσκευών. Το βασικό πρότυπο υποστηρίζει επικοινωνία μέχρι και δέκα μέτρα και διαφορετικούς ρυθμούς μεταφοράς δεδομένων και συχνοτήτων. Αυτά ορίζονται απο τα διαφορετικά φυσικά επίπεδα που ορίζονται και εξηγούνται απο το πρότυπο. 6
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 7 F 2.1: Μοντέλο OSI και τύποι δεδομένων Αριστερά φαίνονται το είδος των δεδομένων που επεξεργάζεται το κάθε επίπεδο. 2.2 Γενική περιγραφή IEEE 802.15.4 Όπως προαναφέρθηκε, ο στόχος του ΙΕΕΕ 802.15.4 προτύπου είναι να καθορίσει το PHY επίπεδο και το MAC υποεπίπεδο, που πολλές φορές αναφέρεται σαν επίπεδο ζεύξης δεδομένων, Data Link Layer (DLL), για ασύρματα δίκτυα χαμηλού ρυθμού μετάδοσης τα οποία αποτελούνται από σταθερές ή κινητές συσκευές. Οι συσκευές αυτές τροφοδοτούνται από μπαταρίες ή κάποια άλλη πηγή περιορισμένης ενέργειας. Τα PHY και MAC επίπεδα περιγράφονται απο το μοντέλο OSI, σχήμα 2.1, το οποίο περιγράφει και χαρακτηρίζει τις εσωτερικές λειτουργίες των λογικών επιπέδων που το αποτελούν. Όπως φαίνεται και στην εικόνα 2.2, το κάθε επίπεδο εξυπηρετείτε απο το επίπεδο που βρίσκεται απο κάτω του. F 2.2: Αρχιτεκτονική συσκευής LR-WPAN - Τα τελευταία δύο επίπεδα του μοντέλου OSI
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 8 Το OSI μοντέλο καθορίζει επτά διαφορετικά επίπεδα, με το πιο πιο πάνω επίπεδο να είναι το επίπεδο εφαρμογής και φτάνει μέχρι το τελευταίο που είναι το φυσικό επίπεδο. Για την επικοινωνία χρησιμοποιείται πάντα το φυσικό επίπεδο αφού πρώτα ετοιμαστεί απο το πιο πάνω επίπεδο το πλαίσιο με τις απαραίτητα δεδομένα (PDUs). Στην εικόνα 2.3 βλέπουμε μια εικονική αναπαράσταση του τι ακριβώς εννοούμε, και πως το πλαίσιο της προηγούμενης βαθμίδας μαζί με κάποιες επιπλέον επικεφαλίδες είναι βασικά η πληροφορία της επόμενης. Αυτή η διαδικασία επαναλαμβάνεται σε όλα τα επίπεδα εώς ώτου να φτάσουμε στο πιο χαμηλό επίπεδο. F 2.3: Το πλαίσιο του PHY Layer περιέχει την πληροφορία του Data link layer PDU 2.2.1 Τύποι κόμβων δικτύου Σε ένα IEEE 802.15.4 δίκτυο μπορούν να λάβουν μέρος δύο ειδών συσκευές οι οποίες καθορίζονται απο το πρότυπο. Πλήρους λειτουργίας: Μία συσκευή FFD μπορεί να εξυπηρετεί τον σκοπό του κεντρικού συντονιστή σε ένα δίκτυο PAN, ενός τοπικού συντονιστή ή τον σκοπό μίας απλής συσκευής. Μειωμένης λειτουργίας: Μία συσκευή RFD δεν μπορεί να εξυπηρετεί τον σκοπό του συντονιστή PAN ή ενος απλού συντονιστή. Μία συσκευή RFD προορίζεται για εφαρμογές που είναι εξαιρετικά απλές όπως ένας διακόπτης μίας λάμπας, όπου η αποστολή μεγάλων ποσοτήτων δεδομένων δεν είναι απαραίτητη. Συνεπώς μία συσκευή RFD μπορεί να λειτουργήσει σαν απλή συσκευή και να υλοποιηθεί με ελάχιστους πόρους και χωρητικότητα μνήμης. Ενα LR-WPAN που ικανοποιεί το παρών πρότυπο αποτελείτε απο δύο ή περισσότερες συσκευές εκ των οποίων μία εξ αυτών πρέπει να είναι FFD η οποία λειτουργεί σαν
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 9 συντονιστής δικτύου PAN. Οι συσκευές FFD έχουν την δυνατότητα να επικοινωνούν με άλλες συσκευές FFDs ή RFDs και αποτελούν τον βασικό κορμό του δικτύου, ενώ οι RFD συσκευές δεν μπορούν να επικοινωνούν παρά με μόνο μία FFD συσκευή [16] κάθε φορά. Οι συσκευές μπορούν να χρησιμοποιηθούν για να σχηματίσουν οποιοδήποτε απο τα τρία είδη τοπολογίας (star, mesh/p2p, cluster-tree) που φαίνονται στα σχήματα 2.4 και 2.5. F 2.4: Παράδειγμα τοπολογίας Cluster-tree 2.2.2 Τοπολογίες Δικτύου Ανάλογα με τις απαιτήσεις τις κάθε εφαρμογής, ένα IEEE 802.15.4 LR-WPAN μπορεί να λειτουργήσει σε δύο τοπολογίες: σε τοπολογία αστέρα και σε peer-to-peer τοπολογία. Και οι δύο φαίνονται στο σχήμα 2.5. Στην τοπολογία αστέρα δημιουργείται η επικοινωνία μεταξύ των συσκευών και ενός PAN coordinator, στον ρολο του κεντρικού ελεγκτή. Μία συσκευή συνήθως έχει κάποιες εφαρμογές που πρέπει να εκτελεί όπως την εκκίνηση ή τον τερματισμό δρομολόγησης της επικοινωνίας του δικτύου. Ο PAN coordinator του δικτύου πέρα από αυτές τις εφαρμογές των συσκευών που εκτελεί, μπορεί να εκτελεί και εργασίες όπως η δρομολόγηση επικοινωνίας.ο PAN coordinator είναι ο κυρίως ελεγκτής του δικτύου. Όλες οι συσκευές που βρίσκονται σε ένα τέτοιο δίκτυο έχουν μία μοναδική διεύθυνση που αναφέρεται σαν extended address. Μία συσκευή μπορεί να χρησιμοποιήσει είτε την extended address για άμεση επικοινωνία μέσα στο PAN είτε ή την short address που της έχει ανατεθεί απο τον PAN coordinator. Στη συγκεκριμένη τοπολογία ο PAN coordinator μπορεί να είναι συνεχώς συνδεδεμένος με κάποια πηγή ενέργειας, ενώ οι υπόλοιπες συσκευές μπορούν να έχουν ως
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 10 πηγή μπαταρίες. Στην τοπολογία peer-to-peer υπάρχει και πάλι ένας PAN coordinator με την διαφορά ότι όλες οι συσκευές μπορούν να επικοινωνούν μεταξύ τους, αρκεί να βρίσκονται σε επιτρεπτή εμβέλεια. Η τοπολογία αυτή καταστεί σύνθετες υλοποιήσεις δικτύων δυνατές όπως την mesh networking τοπολογία. Σε τομείς που ασχολούνται με έλεγχο και παρακολούθηση σε βιομηχανίες, υλικών, εργαλείων καθώς και μηχανημάτων, σε επιχειρήσεις για έξυπνη γεωργία και πολλοί άλλοι τομείς θα επωφελούνταν απο την εφαρμογή μίας τέτοιας τοπολογίας. Ένα τέτοιο δίκτυο επιτρέπει τα πολλαπλά άλματα για τη δρομολόγηση των μηνυμάτων που ανταλλάζουν οι συσκευές. Κάθε PAN έχει ένα μοναδικό προσδιοριστικό που του επιτρέπει να επικοινωνεί μεταξύ των συσκευών ενός δικτύου χρησιμοποιώντας μικρού μήκους διευθύνσεις και επιτρέπει ακόμη την μετάδοση μεταξύ συσκευών που βρίσκονται σε διαφορετικά δίκτυα. F 2.5: Παράδειγμα τοπολογίας Star και Peer-to-peer δικτύου. 2.3 IEEE 802.15.4 PHY Layer Το φυσικό επίπεδο (εν συντομία θα αναφέρεται σαν PHY) παρέχει μια διασύνδεση μεταξύ του MAC layer και του φυσικού ασύρματου καναλιού μέσω του λογισμικού των κυκλωμάτων ραδιοσυχνότητας (RF) και των RF του υλικού. Eίναι δηλαδή η διεπαφή αυτή που επιτρέπει την μετάδοση ψηφίων (bit streams) από το φυσικό μέσο επικοινωνίας. To PHY layer παρέχει δύο οντότητες υπηρεσιών. Την PHY υπηρεσία δεδομένων και την διαχείριση υπηρεσιών διασύνδεσης μέσω του διαχειριστικού φορέα (PLME), του φυσικού επιπέδου. Η PHY υπηρεσία δεδομένων επιτρέπει τη μετάδοση και υποδοχή των μονάδων πρωτοκόλλου δεδομένων (PPDU) σε όλο το φυσικό ασύρματο κανάλι. Οι διεργασίες που πρέπει να υποστηρίζει ένα ολοκληρωμένο φυσικό επίπεδο, και περιγράφονται στο πρότυπο, είναι: Ενεγοποίηση και απερνεργοποίηση του ραδιο-πομποδέκτη,
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 11 Ένδειξη ποιότητας σύνδεσης (LDI), Επιλογή καναλιού, Ανίχνευση ενέργειας (ED) Αξιολόγηση του καναλιού - Clear Channel Assesment (CCA), Μετάδοση και λήψη πακέτων σε όλο το φυσικό μέσο 2.3.1 Εύρος Συχνοτήτων Δεδομένων Το πρότυπο καθορίζει πολλές επιλογές PHY που βασίζονται σε διαφορετικές ζώνες συχνοτήτων, ταχύτητες αλλά και τρόπους διαμόρφωσης και αποδιαμόρφωσης. Τα PHYs που ορίζονται στο πρότυπο αντιπροσωπεύουν μή αδειοδοτημένες ζώνες συχνοτήτων. Η ζώνη των 2.4GHz είναι διαθέσιμη και λειτουργεί σε παγκόσμιο επίπεδο και χρησιμοποιείται ευρέως για μικρού μήκους ασύρματες επικοινωνίες. Η περιοχή 2.4GHZ αναφέρεται σαν ISM - industrial scientific and medical band (bιομηχανική, επιστημονική και ιατρική μπάντα). Οι μπάντες των 868 και 915 MHz χρησιμοποιούνται αντίστοιχα σε Ευρώπη και Βόρειο Αμερική. Η επιλογή αυτών των χαρακτηριστικών έγκειται στον κάθε σχεδιαστή, ανάλογα με τα χαρακτηριστικά που θέλει να εκμεταλλευτεί. Τα διάφορα PHYs και ζώνες συχνοτήτων στα οποία μπορεί να λειτουργήσει μία συσκευή συνοψίζονται στο πίνακα 2.1. Ως προς το εύρος ζώνης υπάρχουν αρκετές τεχνολογίες που μπορεί κάποιος να συναντήσει στο φυσικό επίπεδο σε δίκτυα αισθητήρων. Η τεχνολογία ευρέως φάσματος, ανάμεσα σε άλλες, αποδεικνύετε καταλληλότερη για δίκτυα αισθητήρων αφού ελαττώνει την κατανάλωση ενέργειας ενώ ταυτόχρονα μειώνει τον ήδη ψηλό ρυθμό σφαλμάτων. Η παρούσα διπλωματική πραγματεύεται ένα πομποδέκτη που ο οποίος χρησιμοποιεί OQPSK διαμόρφωση στην 2,45GHz ζώνη συχνοτήτων και με ρυθμό διάδοσης 250kbit/s. 2.3.2 Αναθέσεις καναλιού Όπως προαναφέρθηκε, οι διάφορες ζώνες διαφέρουν στα χαρακτηριστικά τους οπότε και στον τρόπο που θα μπορούν να χρησιμοποιηθούν. Ανάλογα με την ζώνη που θα χρησιμοποιήσει κάποιος μπορεί να διαφέρει η ακτίνα μετάδοσης, η ευαισθησία σε παρεμβολές που μπορεί να έχει ακόμα και η ταχύτητα μεταφοράς δεδομένων μεταξύ άλλων. Το εύρος που παρέχει κάθε ζώνη συχνοτήτων διαιρείται με την σειρά του σε κανάλια. Η ζώνη της βιομηχανικής, επιστημονικής και ιατρικής μπάντας (industrial scientific and medical - ISM), η περιοχή των 2.4GHz, διαιρείται όπως φαίνεται και παρακάτω σε δεκαέξι κανάλια μεταξύ 2.400GHz και 2.483GHz. Μεταξύ των γειτονικών καναλιών που δημιουργούνται
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 12 T 2.1: Ζώνες συχνότητας και ταχύτητα δεδομένων [16] υπάρχει αρκετός χώρος, περι των 5MHz, τέτοιος ώστε θεωρητικά δεκαέξι εκπομποί να μπορούν να χρησιμοποιήσουν την ίδια μπάντα την ίδια στιγμή. Όπως υπολογίζεται απο τον πίνακα 2.1 οι κεντρικές συχνότητες των διαφόρων συχνοτήτων παρουσιάζονται πιο κάτω: Για τις ζώνες συχνοτήτων, 780 MHz, έχουμε ένα σύνολο από 8 κανάλια, αριθμημένα από 0 έως 7. Η κεντρική συχνότητα αυτών των καναλιών καθορίζεται ως εξής: F c = 780 + 2k σε megahertz, για k = 0,, 3 F c = 780 + 2(k 4) σε megahertz, για k = 4,, 7 όπου, k είναι ο δείκτης του καναλιού.
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 13 Για τις ζώνες συχνοτήτων, 868 MHz, 915 MHz, και 2450 MHz, έχουμε ένα σύνολο από 27 κανάλια, αριθμημένα από 0 έως 26. Για τη ζώνη των 2450 MHz έχουμε 16 κανάλια στη διάθεση μας, 10 στη 915 MHz και 1 στη 868 MHz. Η κεντρική συχνότητα αυτών των καναλιών καθορίζεται ως εξής: F c = 868.3 σε megahertz, για k = 0 F c = 906 + 2(k 1) σε megahertz, για k = 1, 2,, 10 και F c = 2405 + 5(k 11) σε megahertz, για k = 11, 12,, 26 όπου, k είναι ο δείκτης του καναλιού. Για τις ζώνες συχνοτήτων, 950 MHz, έχουμε ένα σύνολο από 22 κανάλια, αριθμημένα από 0 έως 21. Τα κανάλια 0 7 χρησιμοποιούνται για 1mW BPSK, τα 8 9 χρησιμοποιούνται για 10mW BPSK, και τα 10 21 για GFSK. Η κεντρική συχνότητα αυτών των καναλιών καθορίζεται ως εξής: F c = 951.2 + 0.6k σε megahertz, για k = 0,, 7 F c = 954.4 + 0.2(k 8) σε megahertz, για k = 8, 9 και F c = 951.1 + 0.4(k 10) σε megahertz, για k = 10,, 21 όπου, k είναι ο δείκτης του καναλιού. Για όλα τα υπόλοιπα PHYs εκτός απο το UWB PHY, οι μικρότερες περιόδοι LIFS και SIFS περιγράφονται απο τις πιο κάτω μεταβλητές και είναι: maclifsperiod: 40 symbols macsifsperiod: 12 symbols 2.3.3 Ανίχνευση ενέργειας Το φυσικό επίπεδο θα πρέπει να παρέχει μία μέθοδο για την ανίχνευση της ενέργειας όσο και για την καταμέτρηση της. Αποτελεί ένα σημαντικό κομμάτι του επιπέδου δικτύου και του αλγόριθμου επιλογής καναλιού. Ο ED είναι η εκτιμώμενη τιμή απο την ανίχνευση της έντασης του σήματος που λήφθηκε απο τον δέκτη. Καμία προσπάθεια δεν γίνεται για να αποκρυπτογραφηθεί το σήμα. Η μικρότερη τιμή που μπορεί να λάβει ο ED είναι 0 (μηδέν) και υποδηλώνει οτι η ένταση του ανιχνευόμενου σήματος είναι λιγότερο απο 10dB πάνω απο το επιτρεπόμενο όριο για τον δέκτη για το κάθε PHΥ. Ανάλογα με την τιμή της έντασης του εισερχόμενου σήματος σε db, λαμβάνει μέρος μία αντιστοίχιση των db σε τιμές για το ED. Η αντιστοίχιση έχει γραμμική συμπεριφορά, με μία ακρίβεια ±6dB.
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 14 2.3.4 Δείκτης ποιότητας σύνδεσης (LQI) Το πρότυπο περιγράφει το LQI σαν μία περιγραφή της έντασης και ποιότητας του ληφθέντος σήματος. Η μέτρηση της ισχύος και της ποιότητας μιας ζεύξης, της τιμής δηλαδή του LQI, μπορεί να γίνει με τη βοήθεια του ED του δέκτη, με μία εκτίμηση του ποσοστού σήματος προς τον θόρυβο, ή ένα συνδυασμό αυτών. Η χρησιμότητα όμως του LQI στα ανώτερα επίπεδα, στρώματα δικτύου και εφαρμογής, δεν καθορίζεται πλήρως από το 802.15.4. Μία μέτρηση LQI πρέπει να παρθεί για κάθε εισερχόμενο πλαίσιο δεδομένων και η τιμή του πρέπει να κυμαίνεται απο 0x00 μέχρι 0xFF. Θα πρέπει να καθοριστούν ομοιόμορφα στο εύρος αυτό, τουλάχιστον οκτώ μοναδικές τιμές για το LQI. 2.3.5 Αξιολόγηση καναλιού (CCA) Το φυσικό επίπεδο πρέπει να παρέχει την δυνατότητα αξιολόγησης του εκάστοτε καναλιού ή CCA (clear channel assessment). Το προτυπο παρέχει έξι τρόπους με τους οποίους μπορεί να επιτευχθεί ο έλεγχος αδράνειας καναλιού. CCA Mode 1: Με ανίχνευση στάθμης ενέργειας. Η τιμή του ED ελέγχεται και εάν η ενέργεια έχει ξεπεράσει ένα συγκεκριμένο όριο τότε το CCA θεωρεί το κανάλι κατειλημμένο. CCA Mode 2: Με ανίχνευση φέροντος (Carrier Sense). Το κανάλι θα θεωρείτε κατειλημμένο εάν ανιχνευθεί σήμά με την ίδια διαμόρφωση και τα ίδια χαρακτηριστικά διασποράς 2.3.8 του PHY που χρησιμοποιεί η συσκευή εκείνη τη στιγμή και ορίζονται απο το πρότυπο. CCA Mode 3: Με ανίχνευση φέροντος και ανίχνευση στάθμης ενέργειας. Το κανάλι θα θεωρείτε κατειλημμένο εάν ισχύει κάποιος συνδυασμός των δύο πρώτων τρόπων αξιολόγησης. CCA Mode 4: ALOHA. O CCA πάντα θα δείχνει ότι το κανάλι είναι διαθέσιμο. CCA Mode 5: Ανίχνευση UWB preamble βάσει του πεδίου SHR του πλαισίου. Ο CCA θα αναφέρει κατειλημμένο μέσο εάν ανιχνευθεί ένα συγκεκριμένο πεδίο όπως αναφέρεται στο πρότυπο [16]. Ο CCA θα αναφέρει ελεύθερο μέσο εάν δεν ανιχνευθεί καθόλου preamble πεδίο για ένα χρονικό διάστημα μεγαλύτερο απο το μέγιστο χρόνο αποστολής ενός πακέτου και την μέγιστη περίοδο για ένα πακέτο acknowledgment 2.3.6. CCA Mode 6: Ανίχνευση UWB preamble βάσει των πεπλεγμένων περιεχόμενα του preamble πεδίου απο τα δεδομένα των πεδίων PHR και PSDU.
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 15 2.3.6 Δομή PPDU Το πλαίσιο PPDU (Physical Protocol Data Unit) είναι το πλαίσιο το οποίο περιλαμβάνει τα δεδομένα που θα μεταδωθούν. Για κάθε PHY που περιγράφεται στο πρότυπο, το PPDU διαφοροποιείται ανάλογα με τις απαιτήσεις της κάθε περιγραφής. Το PPDU για το O-QPSK PHY, όπου υλοποιεί και η παρούσα εργασία, αποτελείται απο τρία πεδία με διαφορετικές λειτουργίες το καθένα. Πρώτα έχουμε το synchronization header (SHR), το οποίο επιτρέπει σε μια συσκευή που λαμβάνει δεδομένα να συγχρονίζεται με το ρεύμα από bits που δέχεται. Aκολούθως το PHY header, το οποίο περιέχει πληροφορίες για το μήκος του πλαισίου και τελικώς το PHY payload, ένα μεταβλητού μήκους πεδίο, το οποίο μεταφέρει τα πλαίσια του MAC υποστρώματος. Για ευκολία το προτυπο ορίζει και παρουσιάζει όπως φαίνεται και στο σχήμα 2.2 το πλαίσιο με τέτοιο τρόπο ώστε το πεδίο που βρίσκεται αριστερότερα από τα υπόλοιπα να είναι εκείνο που μεταδίδεται ή λαμβάνεται πρώτο. Όλα τα πεδία οκτάδων (από bits) θα μεταδίδονται ή θα λαμβάνονται με βάσει τη λιγότερη σημαντική οκτάδα και από κάθε οκτάδα θα μεταδίδεται ή θα λαμβάνεται το λιγότερο σημαντικό bit (LSB least significant bit). Η δομή του πλαισίου φαίνεται στο επόμενο σχήμα: T 2.2: Δομή του πλαισίου PPDU Synchronization header SHR Το πεδίο SHR αποτελείτε απο πέντε οκτάδες και συντάσσεται απο δύο υπο-πεδία. Χρησιμοποιείται κατα την διάρκεια παραλαβής ενός πακέτου για σκοπούς συγχρονισμού. Το πρώτο πεδίο απο το οποίο αποτελείται είναι το preamble πεδίο. Το μήκος του Preamble πεδίου στο O-QPSK PHY, πρέπει να είναι 8 σύμβολα (αποτελείται απο τέσσερα οctets δηλαδή) και τα bits στο πεδίο αυτό είναι όλα μηδενικά. Ακολουθεί το SFD πεδίο με μήκος μία οκτάδα, το οποίο υποδηλώνει το τέλος του πεδίου SHR και την αρχή του PHR. Το σχήμα 2.3 παρουσιάζει τη μορφή που πρέπει να έχει το SFD πεδίο. T 2.3: Δομή του πεδίου SFD
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 16 PHY header PHR Ακολούθως του SHR, υπάρχει το PHY header, το οποίο αποτελείται απο μία οκτάδα. Τα τελευταία επτά bits καθορίζουν το συνολικό αριθμό από οκτάδες που εμπεριέχεται στο PSDU. Η τιμή του μήκους του πλαισίου (Frame Length), κυμαίνεται απο 0 εώς 127, όπου είναι και το μεγαλύτερο μήκος που μπορεί να έχει το ωφέλιμο φορτίο. Το πρώτο MSB της οκτάδας είναι κρατημένο και αντικαταστείτε με μηδέν. PHY φορτίο PSDU Το πεδίο PSDU όπως προαναφέρθηκε και στην προηγούμενη παράγραφο, έχει μέγιστο μήκος 127 οκτάδες. Η μεταβλητή amaxphypacketsize περιγράφει την μέγιστη τιμή των 127 οκτάδων και φαίνεται και στο πίνακα 2.4. Το πεδίο αυτό περιέχει όλα τα ωφέλιμα δεδομένα του πλαισίου PPDU. T 2.4: Δυνατές τιμές μήκους πλαισίου F 2.6: Τα MAC και PHY στρώματα. 2.3.7 Bit-to-symbol mapping Όταν πρόκειται να μεταδοθούν τα δυαδικά δεδομένα που αποτελούν το πλαίσιο PPDU, πρέπει πρώτα να κωδικοποιηθούν χρησιμοποιώντας τις κατάλληλες τεχνικές διαμόρφωσης και διασποράς που ορίζονται απο το πρότυπο. Το πρώτο πράγμα που γίνεται ώστε να επιτευχθεί αυτός ο τρόπος είναι να αντικατασταθούν τα bits σε σύμβολα (symbols). Πρώτα
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 17 διαμορφώνονται τα λιγότερα σημαντικά ψηφία (LSB) και τελευταία τα πιο σημαντικά ψηφία (MSB). Τα τέσσερα LSBs b 0, b 1, b 2, b 3 της κάθε οκτάδας αντικαθιστώνται με ένα σύμβολο, και τα υπόλοιπα τέσσερα MSBs, b 4, b 5, b 6, b 7 αντικαθιστώνται με το επόμενο σύμβολο. Ο πίνακας 2.5 δείχνει τις τιμές με τις οποίες αντιστοιχεί κάθε ροή τεσσάρων bit. Κάθε οκτάδα του πλαισίου PPDU περνάει απο την ίδια διαμόρφωση σειριακά, ξεκινώντας απο τα οκτώ σύμβολα του Preamble πεδίου και τελειώνοντας με τη τελευταία οκτάδα του PSDU. T 2.5: Τιμές κάθε συμβόλου 2.3.8 Symbol-to-chip mapping Για κάθε σύμβολο που έχει δημιουργηθεί όπως περιγράφηκε στην προηγούμενη παράγραφο 2.3.7 που θέλουμε να μεταδώσουμε, θα πρέπει επίσης να το διαμορφώσουμε. Αυτή η διαμόρφωση αναφέρεται και σαν διασπορά (spreading) και οι ψευδοτυχαίες ακολουθίες θορύβου, που θα διαμορφώσουν τα δεδομένα, σαν chip values. Στην ζώνη των 2450
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 18 MHz κάθε σύμβολο χρησιμοποιείται προκειμένου να επιλέξει μία απο τις δεκαέξι 32-chip ορθογώνιες ψευδοτυχαίες ακολουθίες θορύβου (PN sequences), όπως ορίζονται στον πίνακα 2.6 οι οποίες θα θα αντικαταστήσουν το σύμβολο που θα μεταδοθεί. Οι ψευδοτυχαίες αυτές ακολουθίες θορύβου, συσχετίζονται μεταξύ τους μέσα απο κυκλικές μεταθέσεις και/ή άλλες αλλαγές (π.χ αναστροφή των bits των μονών τιμών ακολουθιών) χρησιμοποιώντας την O-QPSK διαμόρφωση. Στις ζώνες των 915 MHz, 868 MHz, και 780 MHz κάθε σύμβολο δεδομένων αντικαταστείτε με μία 16-chip PN ακολουθία. T 2.6: Πίνακας χαρτογράφησης Symbol-to-Chip για την μπάντα των 2450 MHz. 2.4 IEEE 802.15.4 MAC Layer To δεύτερο επίπεδο του OSI μοντέλου είναι το επίπεδο συνδέσμου μετάδοσης δεδομένων (Data Link Layer-DLL) το οποίο αποτελείται απο δύο επίπεδα, το επίπεδο MAC- ελέγχου προσπέλασης μέσου - και το επίπεδο ελέγχου λογικού συνδέσμου LLC (Logical Link Control). Η υπηρεσία δεδομένων του MAC υποεπιπέδου επιτρέπει την αποστολή και λήψη του πλαισίου δεδομένων του ΜΑC υποεπιπέδου (MPDU) στη PHY υπηρεσία δεδομένων του PHY επιπέδου. Το MAC υποεπίπεδο διαχειρίζεται την πρόσβαση στο κανάλι μέσω διαφόρων μηχανισμών και είναι υπεύθυνο για τις ακόλουθες διεργασίες:
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 19 Δημιουργία beacons δικτύου εάν η συσκευή είναι συντονιστής. Συγχρονισμό μεταξύ των beacons του δικτύου Υποστήριξη του μηχανισμού ενσωμάτωσης ή όχι στο PAN Υποστήριξη ασφάλειας της συσκευής Ενεργοποίηση του CSMA-CA μηχανισμού για πρόσβαση στο κανάλι Χειρισμό του του μηχανισμού GTS Παροχή αξιόπιστης σύνδεσης μεταξύ δύο MAC οντοτήτων Επιπρόσθετα, το MAC υποεπίπεδο παρέχει δυνατότητες για υλοποίηση μηχανισμών ασφαλείας για τις εκάστοτε εφαρμογές. Παρέχονται δύο μηχανισμοί για πρόσβαση στο κανάλι. Πρώτος τρόπος είναι με χρήση του contention-based μηχανισμού που χρησιμοποιεί έναν CSMA-CA αλγόριθμο. Επίσης υπάρχει και η μέθοδος πρόσβασης στο κανάλι χωρίς contention η οποία ελέγχεται πλήρως από τον συντονιστή ΡΑΝ με χρήση GTSs. Είναι σημαντικό να τονιστεί ότι η σχεδίαση που θα περιγραφεί στο επόμενο κεφάλαιο και θα υλοποιηθεί σε υλικό, δεν υλοποιεί όλες τις λειτουργίες του MAC υποεπιπέδου, παρά μόνο κάποιες πολύ συγκεκριμένες. Με την συγκεκριμένη σχεδίαση το MAC υποεπίπεδο, που περιγράφετε στο επόμενο κεφάλαιο, λειτουργεί σαν interface μεταξύ του LLC και του PHY, χρησιμοποιεί CSMA-CA για την μετάδοση δεδομένων, παρέχει φιλτράρισμα στην λήψη των δεδομένων και μπορεί να ετοιμάσει και να προωθήσει μόνο acknowledge πακέτα. 2.4.1 Carrier Sense Multiple Access Collision Avoidance CSMA/CA Το MAC υποεπίπεδο, χρησιμοποιεί το πρωτόκολλο Πολλαπλής Πρόσβασης με Ανίχνευση Φέροντος και Αποφυγή Συγκρούσεων ή CSMA-CA για να αποφασίσει σε ποια χρονική στιγμή θα εκπέμψει μία συσκευη ή θα λάβει. Στο MAC υποεπίπεδο του IEEE 801.15.4 LR- WPAN γίνεται χρήση δύο μηχανισμών πρόσβασης στο κανάλι, του μηχανισμού θυριδωτής (slotted) πρόσβασης καναλιού CSMA-CA και μή θυριδωτής (unslotted) πρόσβασης καναλιού CSMA-CA. Το Slotted CSMA-CA, συνηθίζεται να χρησιμοποιείται σε τοπολογίες αστέρα όπου ένας κύριος κόμβος (master) έχει επικοινωνία με πολλούς κόμβους slave. Στην εικόνα 2.7 φαίνεται ο αλγόριθμος που περιγράφεται απο το πρότυπο. Ο αλγόριθμος που θα χρησιμοποιηθεί στην υλοποίηση περιγράφετε στο επόμενο κεφάλαιο υπο την μορφή FSM. Ο unslotted CSMA-CA ανιχνεύει το κανάλι πρίν να μεταδώσει δεδομένα. Αν το κανάλι είναι αδρανές, τότε μεταδίδει τα δεδομένα. Κατα την μετάδοση ο αλγόριθμος δεν ανιχνεύει το κανάλι και απλα στέλνει όλο το πακέτο. Εαν το πακέτο, σταλεί ή καταστραφεί αυτό θα αποφασιστεί απο την μετέπειτα επικοινωνία. Εάν το κανάλι είναι κατειλημμένο ο
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 20 αποστολές αναβάλλει την μετάδοση του πακέτου του μέχτο υο κανάλι να γίνει αδρανές όπου και αρχίζει την αποστολή. Αναιξερέτως μηχανισμού πρόσβασης στο κανάλι, εάν συμβεί κάποια σύγκρουση, ο αλγόριθμος χρησιμοποιεί μια χρονική μονάδα αποκαλούμενη Περίοδος Υποχώρησης (Backoff Period-BP), η οποία είναι ίση με aunitbackoffperiod= 20 σύμβολα. F 2.7: Διάγραμμα ροής αλγορίθμου unslotted CSMA - CA Εάν χρησιμοποιείται unslotted CSMA-CA, οι BP περίοδοι μιας συσκευής δεν χρειάζεται να συγχρονιστούν με τις BP περιόδους μιας άλλης συσκευής, αντιθέτως με την περίπτωση του
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 21 slotted CSMA-CA αλγόριθμου όπου επιβάλλεται. Κάθε συσκευή πρέπει να διατηρεί τρεις μεταβλητές σε καθε προσπάθεια μετάδοσης: NB, CW, και BE. Η μεταβλητή CW χρησιμοποιείται μόνο σε slotted CSMA-CA. NB είναι ο αριθμός των προσπαθειών του αλγόριθμου CSMA-CA να αποκτήσει πρόσβαση στο κανάλι. Αρχικοποιείται στο 0 (NB=0) πριν από κάθε προσπάθεια εκπομπής κάθε πακέτου. Η μεταβλητή ΒΕ χρησιμοποιείται για τον υπολογισμό του χρόνου υποχώρησης, η οποία είναι μια τυχαία μεταβλητή ομοιόμορφης κατανομής που λαμβάνει τιμές στο διάστημα (0, (2 1)). Το διάγραμμα στην εικόνα 2.7 περιγράφει τα βήματα για την unslotted εκδοχή του αλγόριθμου CSMA-CA. Βήμα 1: Καταρχήν οι μεταβλητές NB και BE αρχικοποιούνται. Η ΝΒ αρχικοποείται με 0 και η ΒΕ με μία σταθερά που καθορίζεται απο το πρότυπο, macminbe. Βήμα 2: Αναμονή τυχαίου χρόνου για αποφυγή σύγκρουσης. Οι περιόδοι καθυστέρησης δημιουργούνται μέσα στο διάστημα (0, (2 1)). Βήμα 3: Έλεγχος αδράνειας καναλιού. Μετά τη τυχαία καθυστέρηση, εκτελείται ο έλεγχος εαν είναι αδρανές το κανάλι ή όχι. Εάν το κανάλι βρεθεί να είναι απασχολημένο, τότε ο αλγόριθμος πηγαίνει στο βήμα 4, διαφορετικά πηγαίνει στο βήμα 5. Βήμα 4: Το κανάλι είναι απασχολημένο. Τότε τα ΝΒ και ΒΕ θα αυξηθούν κατα ένα. Το ΒΕ έχει μέγιστη τιμή την amaxbe όπου είναι ο αριθμός 8 (προκαθορισμένη τιμή ίση με 5). Εάν το ΝΒ πάρει τη μέγιστη τιμή του (macmaxcsmabackoffs=5, προκαθορισμένη τιμή=4), δηλαδή το κανάλι έχει βρεθεί 5 φορές απασχολημένο, τότε ο αλγόριθμος επιστρέφει αδυναμία να στείλει το πακέτο αλλιώς, επιστρέφει στο βήμα 2 και η διαδικασία επαναλαμβάνεται. Βήμα 5: Το κανάλι είναι αδρανές και το πλαίσιο που είναι να μεταδωθεί, μπορεί να συνεχίσει και να προχωρήσει προς την μετάδοση. Δίνεται Ο κόμβος δηλαδή αποπειράται να μεταδώσει. Εάν ο αλγόριθμος τελειώνει στο Success, το MAC δικαιούται να ξεκινήσει αμέσως την μετάδοση του πλαισίου. 2.4.2 MAC frame formats Αυτό το υποκεφάλαιο περιγράφει την δομή του πλαισίου MAC (MPDU). To MPDU είναι το PHY payload και για αυτό έχει μέγιστο μήκος 127 οκτάδες. Τα πλαίσια του επιπέδου MAC διαφέρουν ανάλογα με τις ανάγκες τις κάθε εφαρμογής. Το πλαίσιο ορίζεται σαν μία ακολουθία απο συγκεκριμένα πεδία. Τα πεδία παρουσιάζονται με την σειρά με την οποία μεταδίδονται απο το PHY, απο το αριστερά προς τα δεξιά, όπου το αριστερότερο bit μεταδίδεται πρώτο και είναι το LSB. Τα bits σε κάθε πεδίο είναι αριθμημένα απο 0 μέχρι k 1 όπου k είναι το μήκος του πεδίου του πεδίου.
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 22 Όπως φαίνεται και στον πίνακα 2.7 το MAC πλαίσιο αποτελείται απο τα πεδία MHR, MAC Payload και MFR. Το πεδίο MHR αποτελεί ένα πεδίο ελέγχου και περιέχει πληροφορίες για τον τύπο πλαισίου που περιέχεται στο MAC payload, για την αρίθμηση του πλαισίου καθώς και για την διευθυνσιοδότηση. Στο πίνακα 2.7 τα πεδία του MHR φαίνονται να είναι με συγκεκριμένη σειρά ωστόσο, σε κάποια MAC πλαίσια τα πεδία της διευθυνσιοδότησης μπορεί να μην υπάρχουν. Τα δεδομένα που περιέχονται στο MAC payload πεδίο διαφέρουν σε κάθε τύπο του MAC πλαισίου. Το πρότυπο 802.15.4 υποστηρίζει τέσσερα είδη πλαισίων: Data frame, Beacon frame, acknowledgement frame και MAC command frame. Τα μόνα είδη πλαισίου που περιέχουν πληροφορία που στέλνονται απο τα υψηλότερα επίπεδα είναι το data frame και beacon frame. T 2.7: Γενική δομή MAC πλαισίου 2.4.2.1 Frame Control field To πεδίο Frame Control (FCF) αποτελεί τα δύο πρώτα οκτάδες του πλαισίου MPDU. Περιλαμβάνει πληροφορίες που καθορίζουν τον τύπου του πλαισίου, εάν η ασφάλεια του πεδίου είναι ενεργή, πεδία διευθυνσιοδότησης κ.α. Το Frame Control πεδίο πρέπει να έχει την δομή που έχει ο πίνακας 2.8. Τα πρώτα 3 bits του FCF περιγράφουν το τύπο του πλαισίου προς αποστολήν. Οι τύποι του πλαισίου που καθορίζονται απο το IEEE 802.15.4-2011 πρότυπο, συνοψίζονται στον πίνακα 2.9. Αυτά τα πρώτα bits χρησιμοποιούνται για το πρώτο στάδιο φιλτραρίσματος, όπου μόνο τα πλαίσια με έγκυρο τύπο πλαισίου (απο 0 εώς τρία) περνάνε το φίλτρο. Το bit 3 είναι το πεδίο πεδίο που καθορίζει εαν η ασφάλεια του όλου πλαισίου απο το MAC είναι ενεργοποιημένη. Εάν τεθεί στο 1, άρα ενεργοποιημένη, τότε στο MHR πρέπει να υπάρχει το πεδίο Auxiliary Security Header, αλλιώς για να απενεργοποιηθεί μπορεί να τεθεί στο 0. To bit 4 είναι το πεδίο που καθορίζει εάν η συσκευή που μεταδίδει έχει κι άλλα δεδομένα για να στείλει στον λήπτη. Εάν έχει τότε το πεδίο πρέπει να τεθεί σε 1 αλλιώς σε 0. Θα πρέπει να ενεργοποιείται μόνο σε πλαίσια τύπου beacon ή σε πλαίσια τα οποία
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 23 T 2.8: Δομή πεδίου Frame Control αποστέλλονται κατα την διάρκεια CAP περιόδου απο συσκευές που λειτουργούν σε beaconenabled PAN ή οποιαδήποτε στιγμή απο συσκευές που λειτουργούν σε nonbeacon-enabled PAN. Σε οποιαδήποτε άλλη περίπτωση ο transmitter θα πρέπει να θέσει αυτό το πεδίο σε 0 και ο receiver να το αγνοεί. To bit 5 είναι το πεδίο αιτήματος acknowledgement. Το bit καθορίζει εάν μία εντολή δεδομένων ή MAC θα πρέπει να γίνει acknowledged μετά την παραλαβή της. Εάν τεθεί σε 1 ο δέκτης θα πρέπει να στείλει ένα acknowledge πλαίσιο μετά την παραλαβή μόνο εάν το πλαίσιο που παραλήφθηκε έχει περάσει τον έλεγχο του φιλτραρίσματος που περιγράφεται στο υποκεφάλαιο 5.1.6.2 του ΙΕΕΕ 802.15.4 προτύπου [16]. To bit 6 καθορίζει εάν το MAC πλαίσιο θα σταλεί περιέχοντας μόνο ένα απο τα PAN αναγνωριστικά πεδία (Destination PAN identifier, Source PAN identifier) όταν και τα δύο είναι παρών. Εάν το πεδίο τεθεί σε 1 και τα δύο αναγνωριστικά είναι παρών, το πλαίσιο θα περιέχει μόνο το Destination PAN identifier και το Source PAN identifier θα θεωρείτε το ίδιο με το Destination PAN. Τα bits 7,8,9 είναι κατειλημμένα και θα τεθούν σε 0 απο τον transmitter και θα αγνοηθούν απο το παραλήπτη. Τα bits 10, 11 και 14, 15 καθορίζουν τον τρόπο λειτουργίας της διεύθυνσης Destination και Source αντίστοιχα. Σύμφωνα με το πρότυπο πρέπει να πάρουν μία απο τις τιμές που παρουσιάζονται στον πίνακα 2.10. Εαν το πεδίο είναι ίσο με 0 και ο τύπος του πλαισίου δεν είναι πλαίσιο acknowledgment ή beacon, το Source Addressing Mode πεδίο θα πρέπει να τεθεί σε μή μηδενικό, υποδηλώνοντας έτσι ότι το πλαίσιο προορίζεται για τον συντονιστή PAN. Τα επόμενα δύο bits, 12 και 13 αποτελούν το Frame version πεδίο και υποδηλώνουν την έκδοση του όλου πλαισίου. Εάν το πλαίσιο είναι έκδοσης του ιδίου προτύπου του 2003 τότε τα bits τίθενται στο σε 0x00 αλλιώς σε 0x01. Όλες οι άλλες δυνατές τιμές είναι κρατημένες απο το πρότυπο και δεν χρησιμοποιούνται.
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 24 T 2.9: Τιμές του πεδίου Frame Type. T 2.10: Δυνατές τιμές πεδίων Destination Addressing Mode και Source Addressing Mode. 2.4.2.2 Sequence Number field To Sequence Number πεδίο δηλώνει το αναγνωριστικό για το κάθε πλαίσιο. Έτσι ένα συγκεκριμένο πλαίσιο μπορεί να αναγνωριστεί με αποτέλεσμα διπλά πλαίσια τα οποία αποστέλονται να ανιχνεύονται. Για ένα beacon πλαίσιο το Sequence Number πεδίο προσδιορίζεται απο ένα BSN. Για τα υπόλοιπα είδη πλαισίων, το πεδίο προσδιορίζεται απο ένα DSN. 2.4.2.3 Addressing fields Tα επόμενα πεδία του γενικού MAC πλαισίου, αποτελούν τα πεδία διευθυνσιοδότησης. Η σειρά με την οποία μεταδίδονται είναι όπως φαίνεται και στο σχήμα 2.7. Η γενική διεύθυνση προορισμού αποτελείται απο το PAN id και ακολούθως την διεύθυνση της συσκευής της οποίας πρέπει να φτάσει η οποία αποτελείται απο 16 ή 64 bits. Αντίστοιχα η γενική διεύθυνση του πομπού αποτελείται απο το PAN id και ακολούθως την διεύθυνση του πομπού. Τα Destination και Source PAN Identifier πεδία, περιλαμβάνονται στα MAC πλαίσια μόνο εάν τα αντίστοιχα Destination και Source Addressing Mode πεδία έχουν τεθεί σε κάτι μή μηδενικό.
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 25 Το πεδίο Auxiliary Security Header, είναι ένα πεδίο μεταβλητού μήκους το οποίο περιέχει πληροφορία που απαιτείται για την ασφάλεια του πλαισίου. Το πεδίο αυτό είναι παρών μόνο εάν το πεδίο του Security Enable έχει τεθεί σε ένα. 2.4.2.4 Frame Payload field Στο πεδίο αυτό περιέχεται η κύρια πληροφορία που πρέπει να μεταφέρει το κάθε είδος πλαισίου. Εάν το bit ασφάλειας έχει τεθεί σε ένα, τότε η πληροφορία αυτή είναι κρυπτογραφημένη οπότε και προστατευμένη όπως και περιγράφεται στο κεφάλαιο Security του IEEE 802.15.4-2011 [16]. 2.4.2.5 FCS field Το πεδίο MFR περιέχει μονάχα το πεδίο FCS, το οποίο με την σειρά του περιέχει ένα 16-bit ITU-T CRC. Τα δύο bytes πληροφορίας του πεδίου αυτού υπολογίζονται απο το τα πεδία MHR και MAC payload του εκάστοτε πλαισίου και παρέχουν ακεραιότητα στο μήνυμα που αποστέλλεται. Περισσότερες πληροφορίες για το πως δημιουργούνται τα περιεχόμενα αυτού του πεδίου υπάρχουν στο υποκεφάλαιο 2.4.3.1. 2.4.3 Διασφάλιση Δεδομένων Ένα απο τα πιο σημαντικά πράγματα που πρέπει να διασφαλίσουμε κατα την διάρκεια μίας επικοινωνίας, είναι η ασφάλεια της πληροφορίας που μεταφέρεται, έναντι επιθέσεων τρίτων ή απο φθορά απο το περιβάλλον. Όταν ανταλλάζετε πληροφορία μεταξύ συσκευών, πρέπει να διασφαλιστεί ότι η πληροφορία που λήφθηκε απο το άλλο άκρο δεν έχει αλλοιωθεί κατά την διάρκεια της μετάδοσης είτε από ηλεκτρομαγνητικό θόρυβο, περιβαλλοντικούς κινδύνους όπως ραδιενέργεια ή απο επίθεση τρίτου. Το 802.15.4 για να παρέχει ασφάλεια και ακεραιότητα στα δεδομένα, χρησιμοποιεί την τεχνική που περιγράφεται πιο κάτω. Η ακεραιότητα δεδομένων μπορεί να επιτευχθεί προσθέτοντας ένα επιπλέον μήνυμακώδικα ακεραιότητας στο τέλος κάθε μηνύματος που θα αποσταλεί. Το σώμα του κώδικα ακεραιότητας δημιουργείται απο τα περιεχόμενα του όλου μηνύματος προς αποστολήν. Για παράδειγμα ένας εύκολος τρόπος για δημιουργία κώδικα για ακεραιότητα είναι το άθροισμα (checksum) της πληροφορίας του μηνύματος [17]. Το checksum σπάει το μήνυμα σε λέξεις (words) και προσθέτονται οι δυαδικές τιμές των επιμέρως λέξεων και αποθηκεύεται στο τέλος σαν ο κώδικας για διασφάλιση της ακεραιότητας. Λόγω της υψηλής πιθανότητας ένα λάθος μήνυμα να αποδεχτεί σαν σωστό, αυτός ο τρόπος δεν
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 26 χρησιμοποιείται ευρέως παρά μόνο σε κάποια βασικά πρωτόκολλα. Για να επιτευχθεί πραγματική διασφάλιση της ακεραιότητας της πληροφορίας, λαμβάνουν μέρος πιο πολύπλοκες τεχνικές όπως και αυτη που χρησιμοποιείται στο διπλωματική αυτή. Σε κάποια πρωτόκολλα χρησιμοποιούνται ακόμα πιο πολύπλοκες κρυπτογραφικές τεχνικές όπως οι hash functions. 2.4.3.1 Cyclic Redundancy Check Αφού έχει ήδη θίχτεί το θέμα της σημαντικότητας της διασφάλισης της πληροφορίας που θα μεταδοθεί, θα αναλυθεί ο κυκλικός έλεγχος πλεονασμού (CRC). Αυτή η μέθοδος χρησιμοποιείται για να επιβεβαιωθεί ότι το πακέτο που θα μεταδοθεί δεν έχει αλλοιωθεί κατα την μετάδοση. O CRC είναι μία τεχνική ανίχνευσης σφαλμάτων που χρησιμοποιείται συχνα στις τηλεπικοινωνίες και στις συσκευές αποθήκευσης. Οι τεχνικές CRC είναι ευρέως χρησιμοποιημένες λόγω της σχετικά εύκολης υλοποίησης τους σε υλικό, της ευκολίας τους να αναλυθούν μαθηματικά και των καλών αποτελεσμάτων τους στο να βρίσκουν σφάλματα τα οποία έχουν προκληθεί απο θόρυβο στο κανάλι. Εκτός της ευκολίας υλοποίησης των συγκεκριμένων τεχνικών έχουν το μεγάλο πλεονέκτημα του να ανιχνεύουν καλά τα σφάλματα καταιγισμού (burst errors), σφάλματα τα οποία συναντώνται πολύ συχνα στις τηλεπικοινωνίες. Συνήθως ένας CRC μήκους n-bits μπορεί να ανιχνεύσει οποιοδήποτε σφάλμα μέγιστου μήκους n-bits, απο οποιουδήποτε μήκους μήνυμα. Σε γενικές γραμμές, το κομμάτι των δεδομένων και ο CRC μπαίνουν σε ένα πλαίσιο, προσυμφωνημένου μήκους, και ακολούθως αποστέλλεται στον παραλήπτη ο οποίος μπορεί να έλεγξει εάν το ληφθέν πλαίσιο περιέχει σφάλματα. Ο CRC βασίζεται σε μία γεννήτρια πολυώνυμου, η οποία καταλήγει να χρησιμοποιείται ως διαιρέτης σε μία πολυωνυμική διαίρεση. Ο διαιρετέος σε αυτή την διαίρεση είναι ολόκληρο το μήνυμα. Το πηλίκο αυτής της πράξης δεν μας ενδιαφέρει καθόλου, για αυτό και δεν χρησιμοποιείται και πετάγεται, ενώ το υπόλοιπο της διαίρεσης θεωρείτε το αποτέλεσμα. Το άθροισμα του κυκλικού ελέγχου CRC, το οποίο προσκολλάται στο κάθε πακέτο και στέλνεται με το υπόλοιπο μήνυμα, είναι αυτό το υπόλοιπο. Η διαδικασία της τεχνικής CRC αρχίζει όταν ο πομπός υπολογίζει το κυκλικό έλεγχο πλεονασμού των δυαδικών δεδομένων και τον στέλνει στον παραλήπτη μαζί με το δυαδικά δεδομένα. Ο δέκτης όταν λάβει την τα δεδομένα ξαναυπολογίζει τον κυκλικό έλεγχο πλεονασμού και τον συγκρίνει με τον ήδη υπάρχοντα CRC τον οποίο έχει δεκτεί. Ο δέκτης τότε μπορεί να αποφασίσει εάν τα δεδομένα που έλαβε είναι σωστά ή όχι. Εάν οι CRC είναι οι ίδιοι τότε τα δεδομένα είναι σωστά, αλλιώς τα δεδομένα που λήφθηκαν είναι λάθος.
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 27 Η τεχνική αυτή δεν παρέχει αυθεντικοποίηση, αφου ένας εισβολέας μπορεί να αλλάξει το μήνυμα καθώς και τον υπολογισμό του CRC, χωρίς ο λήπτης να καταλάβει την διαφορά. Επιπλέον, ο CRC είναι μία γραμμική τεχνική όπου ισχύει: crc(x y z) = crc(x) crc(y) crc(z) Έστω και αν η πληροφορία στο μήνυμα είναι κρυπτογραφημένη με κάποιον αλγόριθμο, το μήνυμα μπορεί να αλλοιωθεί χωρίς την γνώση του αλγόριθμου. Αυτό είναι και ένα απο τα γνωστά ελαττώματα της WEP κρυπτογράφησης. Yπολογισμός CRC στο ΙΕΕΕ 802.15.4 Ένα απο τα χαρακτηριστικά που πρέπει να παρέχει το MAC υποεπίπεδο είναι ο έλεγχος σφαλμάτων. Η υπηρεσία αυτή προσφέρεται τόσο και στο επίπεδο σύνδεσης όσο και στο επίπεδο μεταφοράς. Στο ΙΕΕΕ 802.15.4 MPDU τα τελευταία δύο bytes είναι το FCS 2.4.2.5 πεδίο, το οποίο υποδεικνύει σφάλματα διάδοσης των υπολοίπων πεδίων του MAC frame. To FCS πεδίο βασίζεται σε ένα CRC μήκους 16 bits, ο οποίος καλείται 16-bit ITU-T CRC. Ο ITU-T CRC υπολογίζεται βάσει της προκαθορισμένης γεννήτριας πολυωνύμου 16ου βαθμού που φαίνεται στην εξίσωση (2.1). G 16 (x) = x 16 + x 12 + x 5 + 1 (2.1) Για κάθε μετάδοση το FCS πεδίο πρέπει να υπολογιστεί βάσει του ακόλουθου αλγόριθμου: 1. Έστω ότι το M(x) = b 0 x k 1 + b 1 x k 2 +... + b k 1 είναι το πολυώνυμο που θα αντιπροσωπεύει την ακολουθία των bits που θα μεταδώσουμε. F 2.8: Παράδειγμα FCS 2. Ακολούθως, πολλαπλασιάζουμε το M(x) επι x 16 ή αλλιώς αυτή η ακολουθία μετατοπίζεται 16 θέσεις προς τα αριστερά. 3. Τελικώς, διαιρούμε το x 16 M(x) modulo 2 με την γεννήτρια πολυωνύμου, G 16 (x) (2.1), ώστε να πάρουμε το υπόλοιπο, R(x) = r 0 x 15 + r 1 x 14..r 14 x + r 15 (2.2)
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 28 οι συντελεστές του οποίου είναι ταυτόχρονα και το πεδίο FCS. Παρόλο που η διαίρεση αυτή μπορεί να γίνει με λογισμικό, συνήθως υλοποιείται με πύλες XOR και shift registers. Η υλοποίηση ενός CRC σε υλικό είναι πολύ πιο απλή απο την υλοποίηση σε λογισμικό. Στην εικόνα 2.8 φαίνεται μία τυπική υλοποίηση σε υλικό ενός CRC μήκους 16 bits. F 2.9: Παράδειγμα CRC ελέγχου 2.5 Υψηλότερα επίπεδα IEEE 802.15.4 Άλλα πιο ψηλά επίπεδα και υποεπίπεδα είναι εκτός του πεδίου αυτού του προτύπου και για αυτο το λόγο δεν αναλύονται εδω. Τεχνολογίες όπως 6LoWPAN και ZigBee, ακόμα και λειτουργικά συστήματα πραγματικού χρόνου είναι κτισμένα πάνω στο πρότυπο ΙΕΕΕ 802.15.4 ή χρησιμοποιούν κάποια χαρακτηριστικά του. Μία απο τις πιο γνωστές και ευρέως χρησιμοποιούμενες τεχνολογίες που είναι κτισμένες πάνω στο πρότυπο ΙΕΕΕ 802.15.4 είναι το Zigbee. Είναι μία ομάδα πρωτοκόλλων επικοινωνίας υψηλού επιπέδου που απώτερος τους σκοπός είναι η δημιουργία προσωπικών δικτύων επικοινωνίας. Προσθέτει πάνω στο πρότυπο IEEE 802.15.4 ακόμα τέσσερα επίπεδα ώστε να δημιουργήσει ένα ολοκληρωμένο σύστημα.
Κεφάλαιο 2. Περίληψη IEEE 802.15.4 LR-WPAN 29 2.6 Περίληψη Η ανάλυση του ΙΕΕΕ 802.15.4 για μικρού μήκους ασύρματη επικοινωνία περιγράφθηκε σε αυτο το κεφάλαιο. Η ανάλυση αυτή περιλάμβανε τοπολογίες δικτύωσης που επιτρέπει το πρότυπο, διάφορες μεθόδους αποστολής δεδομένων και σύντομη περιγραφή των χαρακτηριστικών του φυσικου επιπέδου καθώς και του MAC υποεπιπέδου του DLL, για την 2.45GHz μπάντα του IEEE 802.15.4 προτύπου. Ενώ σε αυτό το κεφάλαιο περιγράφετε η συχνότητα εισόδου δεδομένων, η μετατροπή και ο χειρισμός των δυαδικών δεδομένων, στο επόμενο κεφάλαιο αξιολογείται και υλοποιείται.
Κεφάλαιο 3 Σχεδιασμός και Υλοποίηση Πομποδέκτη Η κύρια αιτία κατανάλωσης ενέργειας είναι για την λειτουργία του κυκλώματος του πομποδέκτη. Η κατανάλωση αυτή είναι σταθερή ενώ κατα την μετάδοση μεταβάλλεται ανάλογα με τις απώλειες που μπορεί να έχει το κανάλι, τις οποιεσδήποτε παρεμβολές και την απόσταση στην οποία θα μεταδοθούν τα δεδομένα. Η ελάττωση στην κατανάλωση, γίνεται στο φυσικό επίπεδο με αποτέλεσμα την αύξηση της διάρκειας ζωής του δικτύου ασύρματων αισθητήρων. Κατα την μετάδοση των δεδομένων, απαιτείται διαμόρφωση των δεδομένων με απώτερο σκοπό την επίτευξη υψηλών πιθανοτήτων επιτυχών μεταδόσεων κάτω απο διάφορες συνθήκες. Υπάρχουν διάφορα είδη διαμορφώσεων για αυτό το σκοπό. Οι διαμορφώσεις που έχουν αναπτυχθεί ελαττώνουν την κατανάλωση ενέργειας της μετάδοσης αλλά και του ίδιου του κυκλώματος του πομποδέκτη. Για την μπάντα των 2.4 GHz, δεκαέξι κανάλια είναι διαθέσιμα με 5 MHz απόσταση μεταξύ κάθε καναλιού. Το πρότυπο IEEE 802.15.4 για να μεταδώσει ένα σήμα χρησιμοποιεί μία μέθοδο διαμόρφωσης του, την DSSS. Η μέθοδος αυτή χρησιμοποιεί ακολουθίες από ψευδό-τυχαίο θόρυβο που θα παρουσιαστούν πιο κάτω. Η διαδικασία η οποία ακολουθείται για την αποστολή ενός πακέτου περιγράφεται βηματικά παρακάτω. Καταρχήν σχηματίζεται το πλαίσιο του PPDU. Το πλαίσιο επιβεβαίωσης, acknowledgment frame, που θα αποσταλεί περιλαμβάνει 11 οκτάδες (88 bits), τόσο είναι το μήκος του πλαισίου PPDU. H δυαδική πληροφορία τότε του πλαισίου PPDU εισάγεται στο μπλόκ του CRC 2.4.3.1, για τον εντοπισμό σφαλμάτων κατά τη μετάδοση. Όπως προαναφέρθηκε στο ωφέλιμο φορτίο του PHY, το FCS πεδίο χρησιμοποιεί ένα CRC 16-bit για να την δημιουργία του. 30
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 31 Στη συνέχεια, κάθε τέσσερα bits από κάθε οκτάδα του PPDU αντιστοιχίζονται σε ένα σύμβολο δεδομένων. Η αντιστοίχηση αυτή, γίνεται σε ένα μπλοκ το οποίο καλείται bit-to-symbol, όπως και η λειτουργία που επιτελεί. Τα τέσσερα λιγότερο σημαντικά bits, (b 0, b 1, b 2, b 3 ) κάθε οκτάδας αντιστοιχίζονται σε μια ακολουθία ψηφίων και τα τέσσερα πιο σημαντικά bits (b 4, b 5, b 6, b 7 ) κάθε οκτάδας αντιστοιχίζονται με το επόμενο σύμβολο. Κάθε οκτάδα της PPDU επεξεργάζεται διαδοχικά μέσα απο το bitto-symbol μπλοκ, αρχίζοντας με το preamble πεδίο και τελειώνοντας με την τελευταία οκτάδα του PSDU. Τέλος, η μέθοδος διαμόρφωσης 3.1 OQPSK εφαρμόζεται στα δεδομένα. Η μέθοδος διαμόρφωσης OQPSK αντιμετωπίζει τις μετατοπίσεις φάσης κατά 180 που υπάρχουν στην μέθοδο QPSK. F 3.1: Πρότυπο διάγραμμα διαμόρφωσης O-QPSK PHY 3.1 Direct Sequence Spread Spectrum (DSSS) Όταν τα δεδομένα είναι έτοιμα για μετάδοση μέσω του αέρα το σήμα που θα ταξιδέψει μεταδίδεται μέσω ταλάντωσης. Το σήμα διαμορφώνεται πάνω σε ένα κύμα που λέγεται φορέα. Αυτό που θα λάβει ο δέκτης είναι το άθροισμα του κύματος-φορέα και του σήματος. Τότε ο δέκτης αφαιρεί το κύμα-φορέα από την ληφθείσα πληροφορία και έτσι προκύπτει το αρχικό σήμα που θέλαμε αρχικά να σταλεί. Ανάλογα με το πώς η πληροφορία θα αλλάξει το κύμα-φορέα για να μεταφερθούν τα ψηφιακά δεδομένα παίρνει και την ανάλογη ονομασία. Τυπικές διαμορφώσεις είναι η διαμόρφωση πλάτους και αναφέρεται ως AM και η διαμόρφωση συχνότητας που αναφέρονται ως FM. Μία πιο πολύπλοκη μέθοδος χρησιμοποιείται για να μεταδοθούν τα ψηφιακά δεδομένα, στο πρότυπο αυτό και περιγράφεται παρακάτω. Η βασική ιδέα της DSSS μετάδοσης που χρησιμοποιείται στο IEEE 802.15.4 είναι η χρησιμοποίηση περισσότερου εύρους ζώνης από ό,τι είναι αναγκαίο, διαδίδοντας έτσι το σήμα σε μία ευρύτερη ζώνη συχνοτήτων. Αυτό επιτυγχάνεται με την αντικατάσταση της εισερχόμενης ακολουθίας bit σε μια ακολουθία bit δεδομένων υψηλότερου ρυθμού μετάδοσης. Πολύ απλά δεδομένου ότι το σήμα απλώνεται πάνω από σε ένα μεγαλύτερο εύρος ζώνης, παρεμβολές μικρής ζώνης (μετά την διαμόρφωση) θα αλλοιώνουν ένα μικρότερο ποσοστό σήματος, επιτρέποντας έτσι στον δέκτη να ανακτήσει το σήμα.
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 32 Πιο αναλυτικά η μέθοδος DSSS χρησιμοποιεί μία ακολουθία από τυχαία ψευδό-νούμερα τα οποία προστίθεται στην ροή δεδομένων που πρόκειται να μεταδοθεί, με τέτοιο τρόπο ώστε τα τυχαία νούμερα να έχουν υψηλότερο ρυθμό μετάδοσης δηλαδή να αλλάζουν γρηγορότερα από τις τιμές της ροής δεδομένων. Ο δέκτης θα πρέπει να γνωρίζει τα ψευδό-νούμερα, από έναν αλγόριθμο κρυπτογράφησης, τα αφαιρεί από τη λαμβανόμενη ροή δεδομένων και λαμβάνει το καθαρό σήμα. Το αποτέλεσμα της μεθόδου αυτής είναι η επίδραση των παρεμβολών να περιορίζεται σε ένα πολύ μικρό εύρος του φάσματος αφού το φάσμα του μεταδιδόμενου σήματος διευρύνεται υπερβολικά. Επίσης δεν είναι προφανές σε κάποιον που ακούει το κανάλι ότι εκτελείται κάποια μετάδοση αφού λόγω των τυχαίων ψευδό-νούμερων το μεταδιδόμενο σήμα μοιάζει με θόρυβο. Ακόμα και αν κάποιος γνωρίζει πως κάποια μετάδοση λαμβάνει μέρος, μπορεί να την ακούσει μόνο αν γνωρίζει ποια ακολουθία DSSS χρησιμοποιήθηκε από τον πομπό. Η DSSS μέθοδος είναι πολύ γνωστή και χρησιμοποιείται ευρέως εκτός απο τα ασύρματα δίκτυα, σε GPS και UMTS. F 3.2: Spreading: Κάθε bit του μηνύματος περιέχει ολόκληρη την ακολουθία PN. Στο παραπάνω διάγραμμα 3.2, παρουσιάζεται ένα παράδειγμα της βασικής ιδέας λειτουργίας ενός DSSS. Στην πρώτη γραμμή φαίνεται η πληροφορία του μηνύματος υπο την μορφή της κυματομορφής αριστερά, m(t), ενώ στην δεξιά πλευρά της εικόνας, τα bits που χρησιμοποιούνται για την κρυπτογράφηση (κυματομορφή p(t)). Απο κάτω φαίνεται το κρυπτογραφημένο πλέον σήμα, m(t) p(t), το οποίο περιέχει την ίδια πληροφορία bits με την προηγούμενη p(t) ακολουθία, όσο το σήμα δεδομένων είναι 1. Σε αντίθετη περίπτωση υπάρχει αντιστροφή των bits. Μπορούμε να δούμε αυτό που αναφέρθηκε πιο πάνω, ότι η ακολουθία αλλάζει πολύ γρηγορότερα από ότι τα δεδομένα.
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 33 3.2 Διαιτητής συστήματος Στο προηγούμενο κεφάλαιο περιγράφηκε το πρότυπο ΙΕΕΕ 802.15.4 και το γιατί ο σχεδιασμός του πομποδέκτη μας είναι βασισμένος σε αυτό. Σε αυτό το κεφάλαιο θα συνοψισθεί και θα περιγραφεί βήμα προς βήμα πως σχεδιάσθηκε, πως λειτουργεί και απο ποια κομμάτια αποτελείται η σχεδίαση του πομποδέκτη αυτού. Η περιγραφή του σχεδιασμού θα ακολουθήσει την top-down προσέγγιση. Πρώτα παρατηρώντας απο ένα υψηλό σημείο τον όλο σχεδιασμό και ακολούθως θα περιγράφοντας τα επιμέρους στοιχεία της αρχιτεκτονικής και ο τρόπος με τον οποίο υλοποιήθηκαν διάφορα κομμάτια τα οποία απαρτίζουν το σύστημα. F 3.3: Απλοποιημένο Transceiver State Machine Όπως αναφέρθηκε και στο προηγούμενο κεφάλαιο όταν μια συσκευή θέλει να μεταφέρει δεδομένα σε ένα δίκτυο που δεν έχει ενεργοποιημένο τον μηχανισμό με τα beacons, μεταδίδει τα δεδομένα προς το διαχειριστή χρησιμοποιώντας το μηχανισμό CSMA-CA χωρίς θυρίδες (unslotted). Λόγω του γεγονότος ότι το φυσικό επίπεδο δεν περιγράφει τρόπο διαιτησίας της αποστολής δεδομένων απο ένα πομποδέκτη σε ένα άλλο, σχεδιάστηκε ένας διαιτητής βάση του αλγορίθμου CSMA-CA που περιγράφηκε στο 2.4.1 και αναλύετε περαιτέρω πιο κάτω. Η συνάρτηση αυτή χρησιμοποιώντας σήματα τα οποία θα λαμβάνει και θα στέλνει, απο και προς τους πομποδέκτες, θα μπορεί να ελέγχει όλη την λειτουργία του συστήματος ανάλογα με το ποιος πομποδέκτης θέλει να αποστείλει δεδομένα. Το σχήμα 3.3 παρουσιάζει ένα απλοποιημένο διάγραμμα καταστάσεων στο οποίο μπορεί να βρίσκεται ο πομποδέκτης κάθε χρονική στιγμή. Η κατάσταση του πομποδέκτη μπορεί να αλλάξει μεταξύ πέντε καταστάσεων. Ανάλογα με την φυσική θέση που έχουν δύο συγκεκριμένα pins στο board του FPGA ο κάθε πομποδέκτης
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 34 F 3.4: RTL του μπλοκ διαιτησίας αλλάζει κατάσταση. Αφού ο διαιτητής ελέγξει την παρούσα κατάσταση του πομποδέκτη 3.6, μετέπειτα, ανάλογα και με το αποτέλεσμα της επιβεβαίωσης παραλαβής πακέτου, αλλάζει και την κατάσταση, εάν πρέπει, στην οποία πρέπει να πάει ο κάθε πομποδέκτης. F 3.5: RTL του μπλοκ διαιτησίας Το σύστημα το οποίο περιγράφεται σε αυτό το κεφάλαιο είναι δύο πομποδέκτες οι οποίοι ανταλλάζουν πακέτα ανάλογα με μία εξωτερική διέγερση μέσω κάποιας εξωτερικής διέγερσης. Η εικόνα 3.5 δείχνει μία προσομοίωση του συστήματος αυτού και της λειτουργίας του διαιτητή. Η διέγερση αυτή προκαλείται απο κάποια pins του FPGA. Η διεργασία αυτή λαμβάνει μέρος υπο την διαιτησία ενός CSMA-CA αλγορίθμου. Το σύστημα μπορεί να αλλάξει μεταξύ τριών καταστάσεων: Στην κατάσταση όπου κανένας απο τους πομποδέκτες δεν στέλνει κάποιο πακέτο, στην κατάσταση όπου ο ένας απο τους πομποδέκτες(user_0) θέλει να στείλει κάποιο πακέτο και στην τρίτη κατάσταση όπου ο άλλος πομποδέκτης(user_1)θα στείλει το πακέτο του. Η κατάσταση μπορεί να αλλάξει ανάλογα με την εξωτερική διέγερση όπου εισάγει ο χρήστης στο FPGA. Τα pins AC24 και AC25 δίνουν την διέγερση αυτή. Σε αυτά ανατεθηκαν τα σήματα τα οποία ελέγχουν για το ποιος θα αποστείλει το επόμενο πλαίσιο. Το pin AC25 αντιστοιχεί στην αίτηση αποστολής πακέτου του πομποδέκτη 0 ενώ το AC24 στην αίτηση αποστολής πακέτου του πομποδέκτη 1 όπως φαίνεται και στην εικόνα 3.7 που παρουσιάζεται η αναφορά pinout. Εάν κανείς απο τους δύο πομποδέκτες δεν θέλουν να
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 35 F 3.6: State Machine του συστήματος στείλουν το σύστημα παραμένει κατάσταση αδράνειας, idle, και ενεργοποιείται μόνο εάν κάποιος απο τους δύο πομποδέκτες θέλει να αποστείλει κάτι. Αν και οι δύο πομποδέκτες θέλουν να στείλουν και οι δύο πακέτο την ίδια ώρα προτεραιότητα παίρνει ο πομποδέκτης που έχει δεν έχει στείλει τελευταίος. Στα επόμενα κεφάλαια θα περιγραφεί το πως ένας πομποδέκτης στέλνει και λαμβάνει ένα πλαίσιο acknowledgment. F 3.7: Pinout αναφορά 3.3 Σχεδιασμός πομπού H διαδικασία που περιγράφεται στο παράρτημα A, MPDU_frame, είναι υπεύθυνη για την δημιουργία του MPDU πεδίου που θα ενσωματωθεί στο πλαίσιο PPDU που πρόκειται να σταλεί. Το πεδίο αυτό αποτελείται απο 40 bits. Τα δεδομένα στέλνονται στην συνάρτηση PPDU_func όπου ετοιμάζει την μονάδα δεδομένων του φυσικού στρώματος. Τα δεδομένα εισάγονται στο επόμενο μπλόκ, όπως περιγράφεται και στην εικόνα 3.8 και το συνολικό πλαίσιο περιλαμβάνει πλέον 22 σύμβολα. Κάθε σύμβολο δεδομένων που εξάγεται απο το bit-to-symbol μπλοκ αντιστοιχίζεται σε μία 32-chip PN ακολουθία χρησιμοποιώντας την μεθοδο DSSS. Έτσι τα δεδομένα εξόδου, όπως φαίνεται και απο την εξίσωση παρακάτω, αποτελούνται απο 704 chips και μεταδίδονται με συχνότητα 2 MHz. [ 88bits ]symbols 32 = 704chips 4
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 36 Το κάθε chip θα μπορούσε να καταχωρηθεί σαν chip0, chip1 chip704. Κρατώντας την συχνότητα σταθερή τα δεδομένα θα εξάγονταν σε δύο ροές δεδομένων, I-phase και Q- phase. Κάθε ένα τμήμα αποτελείται απο 352 chips συνολικά. Αυτά τα chips δεδομένων θα εισαχθούν στο επόμενο μπλόκ που βρίσκεται στον receiver. 3.3.1 Είσοδος δεδομένων Όλα τα δυαδικά δεδομένα που θα περιέχονται στο πλαίσιο PPDU και θα αποσταλούν, θα πρέπει να κωδικοποιηθούν και να περάσουν απο όλα τα μπλόκ που φαίνονται στην εικόνα 3.1. Αυτή η παραγράφος περιγράφει πώς η δυαδική πληροφορία αντιστοιχίζεται σε σύμβολα δεδομένων. F 3.8: Πρότυπο διάγραμμα αλυσίδας διεργασιών πομπού O-QPSK PHY. Ο ρυθμός με τον οποίο τα δεδομένα εισάγονται στην είσοδο της διεργασίας είναι 250kbps. Τα τέσσερα λιγότερο σημαντικά bits, (b 0, b 1, b 2, b 3 ) κάθε οκτάδας αντιστοιχίζονται σε μια ακολουθία ψηφίων και τα τέσσερα πιο σημαντικά bits (b 4, b 5, b 6, b 7 ) κάθε οκτάδας αντιστοιχίζονται με το επόμενο σύμβολο δεδομένων. Η χαρτογράφηση αυτή γίνεται στο πρώτο μπλοκ, Bit-to-Symbol και οι τιμές και οι αντιστοιχίσεις τους φαίνονται στην εικόνα 3.1. Κάθε οκτάδα της PPDU επεξεργάζεται διαδοχικά μέσα απο το bit-to-symbol μπλοκ, αρχίζοντας με το preamble πεδίο και τελειώνοντας με την τελευταία οκτάδα του PSDU. 3.3.2 Μετατροπή Symbol σε Chip Στην συνέχεια κάθε σύμβολο δεδομένων που έχει δημιουργηθεί απο το προηγούμενο μπλόκ θα αντιστοιχιστεί σε μια ακολουθία 32 ψευδο-νουμέρων (PN). Κάθε μία ακολουθία αποτελείται απο 32 chips σε σειρά. Το μπλοκ Symbol-to-chip εκτελεί το DSSS όπου κάθε σύμβολο αντιστοιχίζεται σε μία 32- chip ΡΝ ακολουθία. Το σχήμα 3.8 δείχνει τα μπλοκ RTL επεξεργασίας σήματος του πομπού. Το μπλοκ Symbol-to-chip παίρνει τα τετράμπιτα σύμβολα απο το εισερχόμενο φορτίο, όπου κάθε ένα απο αυτά αντιστοιχίζεται σε μία απο τις 32-chip ακολουθίες που φαίνονται στο πίνακα 2.6. Για παράδειγμα, αν το εισερχόμενο byte είναι 0x14, χωρίζεται σε δύο τετράμπιτα σύμβολα, 0x1 και 0x4. Το πρώτο 0x1 σύμβολο αντιστοιχίζεται στο chip 11101101100111000011010100100010b ή ED9C3522h σε δεκαεξαδικό, και το δεύτερο 0x4
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 37 T 3.1: Symbol-to-chip mapping για την μπάντα 2450 MHz. σύμβολο αντιστοιχίζεται στο chip 01010010001011101101100111000011b, 522ED9C3h. Ο ρυθμός του ρολογιού αυξάνεται από 250kbps σε 2Mchips/s στην έξοδο του μπλόκ. Κατα την διάρκεια αποστολής ενός συμβόλου, το λιγότερο σημαντικό ψηφίο, c_0, μεταδίδεται πρώτο και το πιο σημαντικό ψηφίο c_31 τελευταίο. 3.3.3 Μετατροπή σειριακου τμήματος σε παράλληλο Τα δεδομένα στην συνέχεια μπαίνουν στο επόμενο μπλόκ όπου οι 32-chip PN ακολουθίες σπάνε σε 2 ακολουθίες των 16 chips όπως παριστάνει και το σχήμα 3.9. Για παράδειγμα, το chip 522ED9C3h (01010010001011101101100111000011b), θα χωριστεί στα ακόλουθα καινούργια τμήματα: Ι: 0001011110101001b και Q: 1100001011011001b.
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 38 Τα ψηφία με μονό δείκτη ανήκουν στο ένα τμήμα (Q) και τα ψηφία με ζυγό δείκτη ανήκουν στο άλλο τμήμα (Ι). Ο ρυθμός μετάδοσης μειώνεται κατά έναν παράγοντα του δύο, από 2Mchips/s που ήτανε στην έξοδο του Symbol-to-Chip, σε 1Msymbol/s στην έξοδο. F 3.9: Μετατροπή σειριακού τμήματος σε σειριακό στο πομπό. 3.3.4 Διαμόρφωση παλμού μετάδοσης Η μέθοδος διαμόρφωσης [18] OQPSK είναι μια ειδική έκδοση του QPSK. Το μειονέκτημα της διαμόρφωσης QPSK, στο οποίο το μεταδιδόμενο σήμα δεν έχει καμία διαμόρφωση πλάτους έχει σαν αποτέλεσμα την μετατόπιση 180 στη φάση και η μέθοδος OQPSK λύνει το πρόβλημα αυτό. Αυτή η μέθοδος επεξεργάζεται το σήμα με τέτοιο τρόπο ούτως ώστε να αποφευχθούν αιφνίδιες αλλαγές φάσης. Στη OQPSK μέθοδο το εισερχόμενο σήμα που λαμβάνεται χωρίζεται στο μπλόκ του διαμορφωτή σε δύο τμήματα, ροές δεδομένων, inphase (Ι) και quadrature (Q), τα οποία στη συνέχεια μεταδίδονται με διαφορά διάρκειας μισού σύμβολου. Έτσι δεν υπάρχουν μετατοπίσεις φάσης κατά 180, όπως στην QPSK. F 3.10: O-QPSK chip offsets Οι ακολουθίες των chip που αντιπροσωπεύουν τα σύμβολα δεδομένων διαμορφώνονται με τον φορέα χρησιμοποιώντας το O-QPSK με μισό ημιτονοειδή παλμό. Τα ψηφία του Q τμήματος διαμορφώνονται με τον φορέα Q (που σε κάποιες υλοποιήσεις είναι ένα cosine) και τα ψηφία του I τμήματος (Ι) διαμορφώνονται με τον φορέα Ι (που σε κάποιες υλοποιήσεις είναι ένα sine). Η διαμόρφωση γίνεται με απλή αντικατάσταση των αστερισμών του QPSK,
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 39 σε ένα θετικό παλμό μισού ημιτόνου ή ένα αρνητικό παλμό μισού ημιτόνου ανάλογα με τα δεδομένα. Στο OQPSK PHY layer που υλοποιείται εδώ, ο παλμός του μισού ημιτόνου που χρησιμοποιείται για να αντιπροσωπεύσει το κάθε chip δίνεται απο: sin(π t 2T p(t) = c ), όταν 0 t 2T c 0, αλλού Στην εικόνα φαίνεται ένα παράδειγμα της ακολουθίας μηδέν με την διαμόρφωση του μισού ημιτονοειδη παλμού. F 3.11: Δείγμα διαμόρφωσης παλμού Για παράδειγμα, όταν τα δεδομένα σε κάποιο απο τα I ή Q τμήματα βρίσκεται σε υψηλό δυναμικό, '1', θα αντικαταστήται σε θετικό παλμό. Εάν είναι '-1', θα αντιστοιχιστεί σε ένα αρνητικό μισό ημιτονοειδή παλμό. Στην εικόνα 3.12 φαίνεται ένα παράδειγμα πως διαμορφώνονται τα I και Q τμήματα ανάλογα με την πληροφορία. Σε κάποιες εργασίες ο αριθμός των παλμών που χρησιμοποιείται για να αντικαταστήσει την πληροφορία είναι μεγαλύτερος του ενός, με αποτέλεσμα ο ρυθμός μετάδοσης να αυξάνεται κατά ένα συντελεστή ανάλογο με τον αριθμό των παλμών που χρησιμοποιείται. Στην εικόνα 3.11 φαίνεται ένα στιγμιότυπο απο τα διαμορφωμένα I και Q τμήματα κατα την διάρκεια προσομοίωσης στο Modelsim [9]. Φαίνεται η διαμόρφωση του μισού ημιτονοειδή παλμού ανάλογα με τα δεδομένα που υπάρχουν καθώς και οι τιμές που ορίστηκαν για τα look up tables των τριγωνομετρικών συναρτήσεων. Οι πίνακες για τις τιμές για των τριγωνομετρικών συναρτήσεων αποτελούνται απο 20 τιμές έκαστος και είναι των 8 ψηφίων. Είναι ένας απο τους λόγους που στην ανάλυση των αποτελεσμάτων μετά έχουμε αυξημένη χρήση Block απο RAM 3.5. Τέλος, προκειμένου να δημιουργηθεί το σήμα O-QPSK από το σήμα QPSK, τα διαμορφωμένα δεδομένα του Q τμήματος καθυστερούν σε σχέση με τα διαμορφωμένα δεδομένα του I τμήματος κατα το μισό χρόνο του συνολικού χρόνου που απαιτείται για να σταλεί ένα σύμβολο (2Tc), ή με άλλα λόγια κατα χρόνο ενός chip (Tc). Η διαδικασία αυτή φαίνεται και στην εικόνα 3.10 Επειδή κάθε σύμβολο δεδομένων αντιπροσωπεύεται από μια
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 40 ακολουθία 32-chips, ο ρυθμός chip είναι 32 φορές μεγαλύτερος απο τον ρυθμό συμβόλων, έτσι ώστε ο χρόνος αποστολής (π.χ μίας οκτάδας) να παραμένει ο ίδιος. F 3.12: Προσομοίωση Modelsim με ημιτονοειδή μορφοποίηση 3.4 Σχεδιασμός δέκτη Αυτή η ενότητα επικεντρώνεται στο σχεδιασμό βασικής ζώνης για σύγχρονη ανίχνευση πομπού ο οποίος χρησιμοποιεί το πρότυπο υπο μελέτη. Όλα τα δεδομένα που εισέρχονται σε ένα πομποδέκτη διαχειρίζονται απο τον δέκτη. Παρόλο που ένα ραδιο-πομποδέκτης ακούει πάντα για πιθανά εισερχόμενα πλαίσια, η έν λόγω ψηφιακή υλοποίηση του δέκτη, τον κάνει να είναι ενεργός μόνο όταν το state machine είναι σε κατάσταση λήψης, άρα σε κατάσταση αποστολής του άλλου πομποδέκτη. Όταν κατα την διάρκεια της λήψης που ο δέκτης ακούει, εάν ανιχνευθεί ένα SFD τότε περιμένει να διαβάσει τα υπόλοιπα πεδία του εισερχόμενου πεδίου. Στο τέλος, αφού και το τελευταίο byte του πλαισίου έχει παραληφθεί, και έχει επιβεβαιωθεί ότι έχει έγκυρο CRC, ενημερώνει το state machine έτσι ώστε οι ανάλογες καταστάσεις να τεθούν στους δύο πομποδέκτες. Η είσοδος στον δέκτη είναι τα chips των καναλιών I και Q, και όχι η διαμόρφωση σήματος παλμού από τον πομπό όπως αναφέρθηκε στο 3.3.4. Η διαμόρφωση παλμού που εκτελείτε στον πομπό μειώνει τις παρεμβολές ISI. Εχει υποτεθεί ότι τα chips των καναλιών I και Q και όχι το σήμα διαμόρφωσης παλμού είναι το σήμα βασικής ζώνης, οπότε και δεν χρειάζεται μετά η αναδιαμόρφωση στο δέκτη. Ο σχεδιασμός του δέκτη περιέχει την ανίχνευση των I και Q δεδομένων, ένα μπλόκ όπου η λειτουργία του είναι η μετατροπή των παράλληλων δεδομένων σε σειριακά, το μπλόκ chip-to-symbol και τέλος symbol-to-bit και η λειτουργία όπου η πληροφορία που μεταδόθηκε ανακτάτε. Ο δέκτης έχει σχεδιαστεί σε VHDL όπως και ο πομπός, και το διάγραμμα λειτουργίας του παρουσιάζεται στο σχήμα 3.14. Εδώ, θεωρείτε ότι υπάρχει ένα συγχρονισμένο σύστημα επικοινωνίας. Απο το λαμβανόμενο σήμα, απο τα δύο παράλληλα τμήματα Ι και Q που λαμβάνονται, τα μονά και ζυγά bits
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 41 F 3.13: Σχηματικό διάγραμμα υλοποίησης RTL δέκτη. διαβάζονται. Στην συνέχεια τα bits συνδυάζονται έτσι ώστε να δημιουργηθεί ένα σειριακό σήμα με ρυθμό 2Mbps/s και την με την ίδια πληροφόρία που υπηρχε και στον πομπό 3.15. Διότι η συγκεκριμένη εργασία δεν ασχοληθηκε με την RF υλοποίηση του προτύπου, τα δεδομένα στάλθηκαν κατευθείαν στην ενοποιημένη τους μορφή. Σε πιο αρχικό στάδιο της διπλωματικής τα I και Q σήματα αναθέτονταν σε 16μπιτους καταχωρητές αντίστοιχα και ακολούθως συνδιάζονταν. F 3.14: Πρότυπο διάγραμμα λειτουργιών δέκτη F 3.15: Μετατροπή παράλληλων τμημάτων σε σειριακό στο δέκτη.
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 42 3.4.1 Chip σε Symbol mapping Σε αυτή την υποενότητα τα σειριακά δεδομένα που λήφθηκαν αποθηκεύονται σε ένα καταχωρητή 32 bit με τη βοήθεια του clk_2mhz σήματος ρολογιού. Το ρολόι του clk_2mhz δημιουργείται απο την διαίρεση του clk το οποίο δημιουργείται απο τον εσωτερικό κρύσταλο του FPGA ο οποίος έχει σαν μέγιστη συχνότητα τα 100Mhz. Εδώ ο πίνακα αναζήτησης (look up table) είναι ο ίδιος που χρησιμοποιήθηκε και στο μπλόκ του πομπού, Symbol-to-chip. Στο σχήμα 3.16 παρουσιάζεται αυτή η διαδικασία αντιστοίχισης. Η διαφορά είναι ότι εδώ θα χρησιμοποιηθεί για την αντίστροφη λειτουργία. Για την αναδιαμόρφωση των δεδομένων που φυλάγονται στους καταχωρητές, τα δεδομένα αυτά συγκρίνονται με τις ακολουθίες των chips του look up table και αντικαθιστώνται με τα αντίστοιχα σύμβολα. Στην εικόνα 3.16 φαίνεται η προσομοίωση της λειτουργίας αυτής στο Xilinx isim και η ανάκτηση των bits. Στην εικόνα 3.16 βλέπουμε ένα μετρητή chip_counter ο οποίος μετράει τα λαμβανόμενα σειριακά chips και κάθε 32, δηλαδή κάθε 4 250 khz s μηδενίζεται και δίνει το σήμα στον πολυπλέκτη για εξαγωγή του συμβόλου. φαίνεται ότι απο όλες τις πιθανές ακολουθίες chips για έξοδο, Επίσης του αντίστοιχου μεταδιδόμενου συμβόλου, αυτή με την καλύτερη πιθανότητα είναι αυτό που ονομάζεται i_symbol_out. F 3.16: Παράδειγμα chip mapping.
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 43 3.4.2 Ανάλυση πλαισίου PPDU Τα εισερχόμενα δεδομένα σε αυτό το μπόκ αποτελούνται απο τα πλεόν αποδιαμορφωμένα bit των προηγούμενων σταδίων. Τα δεδομένα αυτα για ένα acknowledgement frame αποτελούνταν απο 22 σύμβολα. Για κάθε σύμβολο, τα εισερχόμενα δεδομένα αντιστοιχίζονταν σε 4 bit δεδομένων. Με μία συχνότητα 250khz ο συνολικός αριθμός των bits που παράγονται και έρχονται προς επεξεργασία απο το τελικό στάδιο του δέκτη, και στην ουσία αποτελούν το πλαίσιο PPDU είναι: 22 symbols 4 = 88 bits Η εικόνα 3.17 δείχνει σχηματικά το μπλόκ το οποίο έχει σαν είσοδο την συχνότητα η οποία αναπαριστάται απο το clk_250khz και είναι 250khz, τα σειριακά δεδομένα, ppdu_bit, το γενικού σκοπού σήμα reset και RX_enable, και σάν έξοδο τον έλεγχο και την επιβεβαίωση εάν το λαμβανόμενο πακέτο αποκτήθηκε σωστά ή όχι απο τα received_frame και check_frame. Το μπλόκ αυτό αφού έχει ενεργοποιηθεί και έχει βγεί απο την κατάσταση F 3.17: Σχηματικό διάγραμμα RTL οντότητας δέκτη. αδράνειας απο τον arbiter, περιμένει να διαβάσει απο τα δεδομένα που λαμβάνει το πεδίο SFD. Το πεδίο SFD είναι το πεδίο που υποδεικνύει το τέλος του SHR ενός O-QPSK PHY και την αρχή του πακέτου δεδομένων. Για την συγκεκριμένη υλοποίηση το πεδίο SFD είναι 000000000e5h. Εάν δεν λάβει το πεδίο αυτό όπως είναι τότε δεν προχωράει σε περαιτέρω επεξεργασία των υπόλοιπων πεδίων. Όταν το πεδίο SFD ληφθεί σωστά τότε η σημαία SFD_en σηκώνεται και το επόμενο πεδίο διαβάζεται και αναγνωρίζεται το πλήθος των δεδομένων (bits), μέσω ολίσθησης 7 bit, απο τα οποία αποτελείται το πεδίο PSDU.
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 44 Το PSDU αποτελείται απο 40 bits τα οποία αποθηκεύονται στον καταχωρητή temp_frame. Το πεδίο ακολούθως στέλνεται στην συνάρτηση crc_func. Εκεί θα εφαρμοστεί ο αλγόριθμος CRC στο πεδίο MHR και θα επιστραφεί το πεδίο FCS. Ανεξαρτήτως τιμής του πεδίου FCS, η σημαία received_frame θα πάρει θετική τιμή για να δείξει στο χρήστη ότι έχει παραληφθεί ένα πλαίσιο. Η σημαία και το σήμα εξόδου check_frame εξαρτάται αποκλειστικά απο την τιμή του πεδίο FCS. Εάν το πεδίο έχει οποιαδήποτε τιμή εκτός του 0000000000000000b τότε το πλαίσιο που έχει ληφθεί δεν είναι έγκυρο. 3.5 Πακέτα προσομοίωσης Το πακέτο receiver_pkg περιέχει πολλές συναρτήσεις και διαδικασίες που βοηθάνε στην παραγωγή και την προσομοίωση του δέκτη. Χρησιμοποιώντας αυτό το πακέτο μπορούν να δημιουργηθούν πλαίσια ώστε να καταστεί δυνατή μια προσομοίωση αποστολήςπαραλαβής. Για περισσότερες πληροφορίες σχετικά με αυτή την ενότητα μπορεί να μελετηθεί ο πηγαίος κώδικας στο παράρτημα A. 3.6 Υλοποίηση σε VIRTEX 5 FPGA 3.6.1 ISE Design Suite Το περιβάλλον ανάπτυξης που χρησιμοποιήθηκε ονομάζεται Integrated Software Environment Design Suite ISE Design Suite. Το εργαλείο αυτό παρέχει πολλά εργαλεία τα οποία δημιουργούν το ολοκληρωμένο περιβάλλον σχεδίασης. Απο τα κυριότερα εργαλεία, χρησιμοποιήθηκαν κατα κύριο λόγο τα εξής: ISE Project Navigator όπου και γίνεται η ανάπτυξη των IP cores. ISE Simulator. Προσομοιωτής υλοποιημένης σχεδίασης. Chipscope Pro. Βοηθάει στην λογική ανάλυση, για παρατήρηση σημάτων της πλατφόρμας. Βοηθάει στην εύρεση και διόρθωση σφαλμάτων στις υλοποιημένες σχεδιάσεις. ISE Project Navigator Καταρχήν δημιουργείτε ένα ISE project και ο πηγαίος κώδικας. Ο HDL κώδικας είναι γραμμένος σε VHDL. Αφού δημιουργηθεί η σχεδίαση ακολουθεί η σύνθεση της σχεδίασης. Με την σύνθεση παράγετε το netlist, η λεγόμενη συνδεσμολογία του κυκλώματος, αφού γίνει μεταγλώττιση του κώδικα. Για να παραχθεί το netlist της σχεδίασης λαμβάνεται η αρχιτεκτονική του της πλατφόρμας FPGA που έχει οριστεί κατά
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 45 την δημιουργία του project. Η σύνθεση γίνεται είτε με χρήση του Xilinx Synthesis Technology XST που παρέχεται απο την σουίτα. Το εργαλείο XST εκτελεί την σύνθεση αλλά και την βελτιστοποίηση στο FPGA. Κατα την διάρκεια αυτής της διαδικασίας, τα ακόλουθα βήματα λαμβάνουν μέρος για το σχεδιασμό, την σύνθεση και την βελτιστοποίηση: Χαρτογράφηση και βελτιστοποίηση για κάθε οντότητα ξεχωριστά. Βελτιστοποίηση για ολόκληρο τον σχεδιασμό. Το XST μπορεί αυτόματα να αλλοιώσει το σχεδιασμό για να πάρει τα καλύτερα δυνατά αποτελέσματα βελτιστοποιώντας τα όρια της κάθε οντότητα που έχει δημιουργήσει ο εκάστοτε σχεδιαστής. Εδώ κρατάμε την ιεραρχία του σχεδιασμού μας ενεργοποιώντας τον περιορισμο keep_hierarchy, στις επιλογές της σύνθεσης. Για αριθμητικές πράξεις, το εργαλείο XST παρέχει τα ακόλουθα στοιχεία: Adders, Subtractors και Adder/Subtractors Cascadable Binary Counters Accumulators Incrementers, Decrementers και Incrementer/Decrementers Signed και Unsigned Multipliers Τυπικά ακολουθεί η εισαγωγή περιορισμών (constraints), όπου στο στάδιο αυτό ορίζονται χρονικοί και χωρικοί περιορισμοί. Στην παρούσα διπλωματική διατριβή δεν εισάχθηκε κανένας περιορισμός. Επίσης, γίνεται χαρτογράφηση των pins του FPGA σε σχέση με τα σήματα εισόδου και εξόδου της σχεδίασης. Στην εικόνα 3.7 φαίνονται τα σήματα εισόδου και εξόδου της σχεδίασης τα οποία, με το εργαλείο ChipScope Pro, επιβεβαίωσαν την ορθή λειτουργία του συστήματος. Όπως αναφέρθηκε και στο κεφάλαιο 3.2 τα pin AC25 και AC24 ανατέθηκαν για την εξωτερική διέγερση αίτησης αποστολής πακέτου. Το pin AF13 και AG23, είναι δύο απο τις εξόδους του συστήματος οι οποίες θα γίνουν θετικές μόνο και μόνο όταν ληφθεί ένα πακέτο δεδομένων και έχει ληφθεί σωστά. Το pin AH15 έχει ανατεθεί στο ρολοί του συστήματος, ενώ το U25 στο σήμα Reset. ISE Simulator Η σύνθεση (synthesis) και η συνδεσμολογία του κυκλώματος που παράγονται, δεν είναι παρά το ενδιάμεσο βήμα. Προβήματα με το μέγεθος και τον χρονισμό του υλικού μπορεί να προκύψουν κατα την διάρκεια της όλης δημιουργίας της σχεδίασης, για αυτό το λόγο, η προσομοίωση χρησιμοποιείται για έλεγχο της λογικής της σχεδίασης, αν
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 46 είναι συναρτησιακά ορθή. Με αυτό τον τρόπο επιβεβαιώνεται ότι οι σωστές έξοδοι θα εμφανιστούν για τις εισόδους που δόθηκαν σαν δοκιμαστικός έλεγχος. Η προσομοίωση της σχεδίασης γίνεται κατα κύριο λόγο με χρήση του ISE Simulator, καθώς επίσης και με τον προσομοιωτή της MentorGraphics, Modelsim. Έχει παρατηρηθεί ότι η προσομοίωση ιδίων σχεδιάσεων με περισσοτέρων του ενός προσομοιωτές, μπορεί να διορθώσει προβλήματα που ο ένας προσομοιωτής να παραβλέπει. Το isim (ISE Simulator εν συντομία) δίνει την δυνατότητα όπως και άλλοι προσομοιωτές να εισάγει breakpoints στου κώδικα, ή να εκτελέσει τον κώδικα γραμμή προς γραμμή για debugging. Να σημειωθεί ότι με την προσομοίωση αυτή (functional simulation) γίνεται λειτουργικός έλεγχος όσον αφορά τον σχεδιασμό με θεωρητικές τιμές χρονισμού. Η πραγματική προσομοίωση μπορεί να απέχει κατα πολύ απο την θεωρητική. Προσομοιώσεις μπορούν να λάβουν μέρος σε όλα τα στάδια της σχεδίασης. Μπρορούν επίσης να λάβουν μέρος παράλληλα πολλές προσομοιώσεις ολόκληρης της σχεδίασης ή και μόνο μέρος αυτής. Τα αρχεία τα οποία θα τροφοδοτούν την σχεδίαση με δεδομένα δοκιμής, για επαλήθευση της λειτουργικότητας, ονομάζονται testbenches. Τα δεδομένα που τροφοδοτούν τα αρχεία αυτά είναι τιμές σημάτων μας ενδιαφέρει να διεγρείρουμε. Οι τιμές των σημάτων εξόδου αυτών των διεγέρσεων, εμφανίζονται με την μορφή κυματομορφής στο γραφικό περιβάλλον του isim. Πριν να υλοποιηθεί η σχεδίαση, γίνεται αντιστοίχηση των λογικών στοιχείων που περιγράφηκαν σε πραγματικές θέσεις μέσα στο FPGA και δρομολόγηση όλων των σημάτων. Η διαδικασία αυτής της μετάφρασης ονομάζεται Placement and Routιng. Μετά απο το στάδιο αυτό ακολουθεί η υλοποίηση, όπου αποτέλεσμα της είναι η δημιουργία μιας ακολουθίας απο bits (bitstream), η οποία θα χρησιμοποιηθεί για προγραμματισμό του FPGA. Τα αποτελέσματα της υλοποίησης αναλύονται και αξιολογείται η απόδοση του συστήματος που σχεδιάστηκε σε σχέση με τους οποιοσδήποτε περιορισμούς που μπορεί να έχει θέσει ο σχεδιαστής (π.χ πόρους, χρονική συμπεριφορά, area κ.α). Για τον απευθείας ή έμμεσο προγραμματισμό του FPGA, χρησιμοποιείται το εργαλείο im- PACT, το οποίο εκκινεί και λειτουργεί παράλληλα με το Project Navigator. Chipscope Pro Ο On-chip έλεγχος ορθής λειτουργίας μεσω ενσωματωμένου λογικού αναλυτή (ChipScope Pro) [19] είναι ένα πολύ χρήσιμο εργαλείο της σουίτας ISE, παρέχοντας τα μέσα, έτσι ώστε ο σχεδιαστης να μπορεί να παρατηρεί την λειτουργία του σχεδιασμού και να επιβαιβεώσει την ορθή λειτουργία του πάνω στο FPGA. Αυτό είναι πολύ σημαντικό καθώς με την λειτουργική προσομοίωση δεν λαμβάνονται υπόψην οι πραγματικές τιμές χρονισμού. Για να ελέγχθούν οι πραγματικές τιμές του FPGA, θα έπρεπε να εφαρμόσουμε φυσικά στα pin εξόδου κάποιον
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 47 εξωτερικό παλμογράφο. Το ChipScope δίνει τη δυνατότητα στον προγραμματιστή να ενσωματώσει ένα λογικό αναλυτή (Integrated Logic Analyzer - ILA) στον σχεδιασμό και να τον χαρτογραφήσει εντός του FPGA. Ο πυρήνας αυτός συνδέεται με τις εξόδους του σχεδιασμού και, μέσω του ChipScope, τις δειγματοληπτεί, ενώ παράλληλα τις παρουσιάζει και στον υπολογιστή. Η παρατήρηση των σημάτων γίνεται μέσω του Chipscope Pro Analyzer το οποίο φαίνεται και στην εικόνα 3.18. Από εκεί μπορούν να παραμετροποιηθούν και οι συνθήκες οι οποίες θα ξεκινούν την δειγματοληψία (trigger setup) ώστε να διευκολυνθεί η αποσφαλμάτωση. Ο πυρήνας κατασκευάζεται εκ των προτέρων και κατόπιν συνδέεται με τον σχεδιασμό. Αυτό όμως επηρεάζει ελαφρώς το κρίσιμο μονοπάτι και αυξάνει την τελική επιφάνεια για αυτό το λόγο απαραίτητη προϋπόθεση για να εισαχθούν IP cores είναι να υπάρχουν επαρκείς διαθέσιμοι πόροι στο FPGA. F 3.18: ChipScopePro 3.6.2 VIRTEX 5 FPGA Η γενική σκοπού αναπτυξιακή πλακέτα από την Xilinx που ενσωματώνει τον Virtex 5 FPGA και έχει χρησιμοποιηθεί είναι η ML505. Η ML505 περιέχει την συσκευή Virtex- 5 XC5VLX110T, η οποία περιέχει μπλοκς απο RAM, μπλοκς DSP, clock manager κ.α.
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 48 Ανάμεσα απο όλες τις συσκευές από την οικογένεια Virtex 5 FPGA, η XC5VLX110T FPGA έχει υψηλότερη λογική ικανότητα από άλλες. Οι διαθέσιμοι πόροι για την LX110T είναι: 69120 Flipflops 69120 LUTs 17280 slices και 148 blocks of RAM F 3.19: Virtex-5 FPGA XC5VLX110T Η πλακέτα περιέχει ένα ταλαντωτή με κρύσταλλο με συχνότητα 100 MHz και τροφοδοτείτε απο μία τροφοδοσία 3.3V. Αυτή η συχνότητα επιλέχθηκε από το pin AH15 του FPGA για την παραγωγή των υπολοίπων κυκλωμάτων του ρολογιού. Περιγραφή των pin ρολογιού της πλακέτας Virtex 5 παρουσιάζεται στον πίνακα 3.2 [20]. 3.6.3 Synthesis Report Ο πίνακας 3.4 παρουσιάζει τις επιλογές στις ρυθμίσεις που έχουν επιλεχθεί για τη σύνθεση του σχεδιασμού σε FPGA.
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 49 T 3.2: Περιγραφή των pin ρολογιού της πλακέτας Virtex 5. F 3.20: Μπλόκ διάγραμμα πλακέτας Virtex-5 FPGA ML50x Evaluation Platform
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 50 HDL options summary Input File Name "Transceiver.xise" Ignore Synthesis Constraint File No Safe Implementation No Automatic FSM Extraction Yes FSM Encoding Algorithm Auto FSM Style LUT RAM Extraction Yes RAM Style Auto ROM Extraction Yes ROM Style Auto Automatic BRAM Packing No Mux Extraction Yes Mux style Auto Decoder Extraction Yes Priority Encoder Extraction Yes Shift Register Extraction Yes Logical Shifter Extraction Yes Resource Sharing Yes Use DSP Block Auto T 3.3: HDL Options Summary. Synthesis options summary Optimization Goal Speed Optimization Effort Normal Use Synthesis Constraints File Yes Keep Hierarchy Yes Generate RTL Schematic Yes T 3.4: Synthesis Options Summary. Ο πίνακας 3.3 παρουσιάζει τις επιλογές στις ρυθμίσεις που έχουν επιλεχθεί για τη σύνταξη του πηγαίου κώδικα VHDL. Ο πίνακας 3.5 παρουσιάζει συνοπτικά το ποσοστό των πόρων της συσκευής που αξιοποιήθηκαν. Ο πίνακας αυτός είναι η έξοδος της HDL σύνθεσης για την εκτίμηση του αριθμού των slices, του αριθμού των flip-flops και IOBs που έχουν καταληφθεί. Ο πίνακας 3.6 παρουσιάζει μία πιο αναλυτική έκθεση, η οποία περιλαμβάνει μία επιπρόσθετη επεξεργασία που γίνεται απο το εργαλείο XST. Η επιπρόσθετη αυτή επεξεργασία βελτιώνει τις μακροεντολές που αναγνωρίστηκαν κατά το στάδιο της σύνθεσης HDL, με τη δημιουργία νέων, πιο σύνθετων μακροεντολών, όπως δυναμικούς καταχωρητές ολίσθησης.
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 51 Device Utilization Summary Slice Logic Utilization Used Available Utilization Number of Slice Registers 1,009 69,120 1% Number of Slice LUTs 962 69,120 1% Number used as logic 766 69,120 1% Number used as Memory 186 17,920 1% Number of Occupied Slices 649 17,280 3% Number of Bonded IOBs 6 640 1% Number of BlockRAM/FIFO 102 148 68% Number of BUFG/BUFGCTRLs 4 32 12 % T 3.5: Device Utilization Summary. Advance HDL Synthesis Report Macro Statistics Number of FSMs 1 Number of ROMs 2 16x32-bit ROM 2 Number of Counters 14 2-bit down counter 2 3-bit up counter 2 5-bit up counter 5 6-bit up counter 2 8-bit up counter 3 Number of Registers 521 Flip-Flops 521 Number of Comparators 4 3-bit comparator greater 2 8-bit comparator equal 2 Number of Multiplexers 2 1-bit 32-to-1 multiplexer 2 T 3.6: Advance HDL Synthesis Report Πιο αναλυτικά, η FPGA Macro γεννήτρια παρέχει στην XST HDL έναν κατάλογο με λειτουργίες. Αυτός ο κατάλογος με τις λειτουργίες δημιουργείται από τη μηχανή εξαγωγής συμπερασμάτων από την περιγραφή της γλώσσας περιγραφής υλικού (HDL) ή αλλιώς του κώδικα που έχουμε γράψει. Οι λειτουργίες που μεταφράστηκαν απο την HDL περνάνε απο την γεννήτρια macro για βελτιστοποίηση. Η πολυπλοκότητα των λειτουργιών κυμαίνεται απο λειτουργίες απλής αριθμητικής όπως αθροιστές, συσσωρευτές, μετρητές και πολυπλέκτες εώς και πιο πολύπλοκα μπλόκς λογικής όπως πολλαπλασιαστές, δυναμικούς καταχωρητές ολίσθησης και μνήμες. Οι λειτουργίες αυτές βελτιστοποιούνται έτσι ώστε να έχουν τα υψηλότερα δυνατά επίπεδα απόδοσης για την επιλεγμένη αρχιτεκτονική του Virtex 5, και στη συνέχεια να ενσωματώνονται στον υπόλοιπο σχεδιασμό.
Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 52 Timing Summary Speed Grade: -1 Minimum period: Maximum Frequency: Minimum input arrival time before clock: Maximum output required time after clock: 4.081ns 245.038MHz 3.713ns 3.259ns T 3.7: Timing Summary Στο FPGA Virtex 5 LX110T ο σχεδιασμός έχει μέγιστη συχνότητα χρονισμού των 245.038 MHz και μέγιστος απαιτούμενος χρόνος είναι 3.259 ns. Οι αναφορές που εξάγονται από την υλοποίηση του σχεδιασμού, συγκρίθηκαν με άλλες παρόμοιες υλοποιήσεις όπως των Rafidah et al. [21] και Somya Goel et al [22] όπως επίσης και του Kumar Muni [23]. Η όσο λεπτομερής σύγκριση μπορούσε να γίνει, (η σχεδίαση δεν είναι ακριβώς η ίδια), έδειξε ότι η υλοποίηση της εργασίας αυτής είναι σε αποδεκτά επίπεδα, όσο αφορά τις αναφορές Device Utilization Summary και Advance HDL Synthesis Report, καθώς θα μπορούσε να γίνει καλύτερη αξιοποίηση των πόρων και της μνήμης του FPGA. 3.7 Περίληψη Ο σχεδιασμός του πομποδέκτη για το πρότυπο IEEE 802.15.4 υλοποιήθηκε μέσα από διάφορα στάδια τα οποία περιλαμβάνουν. Το σύστημα περιγράφεται στη γλώσσα περιγραφής υλικού VHDL και προσομοιώνεται τόσο στο ΜentorGraphics Modelsim όσο και στο Xilinx isim. Tελικά υλοποιείται σε FPGA Virtex 5 χρησιμοποιώντας το ISE περιβάλλον σχεδιασμού. Το σύστημα λειτούργησε όπως προβλεπότανε με ικανοποιητική απόδοση και κατανάλωση. Μετά από αυτό, στην υλοποίηση του FPGA, τα σήματα ρολογιού 250 KHz και 2 MHz παράχθηκαν με την βοήθεια του σήματος ρολογιού 100 MHz που είναι διαθέσιμο στην πλατφόρμα Virtex 5 FPGA. Επιπρόσθετα, τα αποτελέσματα της σύνθεσης του σχεδιασμού μαζί με τα εσωτερικά σήματα της πλατφόρμας αναλύθηκαν για επαλήθευση. Το πιο ψηλό RTL σχηματικό επίπεδο αυτού του πομποδέκτη που εξάγει το περιβάλλον σχεδιασμού ISE παρουσιάζεται στην εικόνα 3.21.
TRX_request(1:0) reset clk prescaler250(0) prescaler250(1) prescaler250(2) prescaler250(3) prescaler250(4) prescaler250(5) prescaler250(6) prescaler250(7) I O clk_250khz_cmp_eq0000 D CE C I Q I3 I2 I1 I0 I4 O O D CE C TRX_request(1:0) clk_250khz FrReceived0 FrReceived1 reset Q RX0_enable RX1_enable TX0_enable TX1_enable port_data port_clk port_data port_clk bitin_rx clk_2mhz clk_250khz reset RX_enable TX_enable bitin_rx clk_2mhz clk_250khz reset RX_enable TX_enable port_q port_q bitout_tx Frame_Verif received_frame bitout_tx Frame_Verif received_frame Frame_Verif0 Frame_Verif1 Κεφάλαιο 3. Σχεδιασμός και Υλοποίηση Πομποδέκτη 53 System:1 inv inv fde COUNTER:1 clk_250khz_not0001_imp_clk_250khz_not00011 clk_2mhz_not0001_imp_clk_2mhz_not00011 COUNT up clk_2mhz prescaler21 clk_250khz_cmp_eq0000_imp and5b2 arbiter COUNTER:2 COUNT up prescaler2_cmp_eq0000_imp_prescaler2_cmp_eq00001 U_arbiter clk_250khz_cmp_eq0000_imp prescaler2501 fde Transceiver clk_250khz U_User0 Transceiver U_User1 System F 3.21: Top level RTL Schematic του υλοποιημένου πομποδέκτη
Κεφάλαιο 4 Μετρήσεις και Αποτελέσματα Σε αυτό το τελευταίο κεφάλαιο, θα παρουσιασθεί μια περίληψη της διατριβής και των αποτελεσμάτων της καθώς και μελλοντικές βελτιώσεις. Με τη σχεδίαση αυτή παρέχουμε ένα τρόπο υλοποίησης του κύριου μέρους του φυσικού επιπέδου του προτύπου ΙΕΕΕ 802.15.4. Η υλοποίηση του σχεδιασμού δείχνει πώς μία εφαρμογή επεξεργασίας σήματος όπως το IEEE 802.15.4 PHY layer μπορεί να ενσωματωθεί μέσα σε FPGA. Αυτό επιτρέπει στους προγραμματιστές να επωφεληθούν από τους πόρους του FPGA και να ολοκληρώσουν μία γρήγορη υλοποίηση της σχεδίασης αφού τις περίπλοκες λειτουργίες επεξεργασίας σήματος τις φροντίζει το υλικό. 4.1 Ανάλυση με ChipScope Τα εσωτερικά σήματα μαζί με τα ληφθέντα δεδομένα αναλύθηκαν μέσω ChipScope Pro ChipScope Pro 3.6.1. Στην εικόνα 4.1 μπορούμε να δούμε τις συνθήκες που πρέπει να ικανοποιούνται και λειτουργούν σαν έναυσμα έτσι ώστε να αρχίσει οι το εργαλείο Chipscope να δειγματοληπτεί. Τα σήματα που θα χρησιμοποιηθούν και οι τιμές που πρέπει να πάρουν για να διεγείρουν το εργαλείο πρέπει να ικανοποιούν την πιο κάτω εξίσωση: M0 AND M1 = 1 όπου, M0: (TRX_request_1 = 1) AND (TRX_request_0 = 0), και M1: reset = 0 Στην εικόνα 4.2 παρουσιάζονται τα εσωτερικά σήματα ενός δέκτη. Στην αριστερή στήλη, άξονας-υ, παρουσιάζονται τα σήματα τα οποία θα δειγματοληφθούν απο το εργαλείο και 54
Κεφάλαιο 4. Μετρήσεις και Αποτελέσματα 55 F 4.1: Trigger Conditions θα αποθηκευτούν προσωρινά. Η αποθήκευση αυτών των τιμών γίνεται σε ένα προσωρινό τμήμα μνήμης το οποίο καλείται buffer και έχει μέγιστο μέγεθος τα 65536 δείγματα. Αυτό φαίνεται και στην εικόνα, στον άξονα-χ. Σημαντική πληροφορία όσον αφορά το debugging με αυτό το εργαλείο, είναι να έχει υπολογισθεί απο πριν ο χρόνος που απαιτείται για να δεί ο καε προγραμματιστής τα σήματα του και ότι αυτό μπορεί να γίνει με τον μέγιστο επιτρεπτό χρόνο που δίνεται απο το εργαλείο. Για παράδειγμα εδώ γίνεται να καταχωρηθούν στην μνήμη 65536 δείγματα. Το ρολόι με το οποίο μετρούνται αυτά τα δείγματα είναι το ρολόι του συστήματος άρα ο μέγιστος χρόνος για τον οποίο μπορεί να φυλαχθούν δεδομένα είναι: 65536 1 100 3 seconds. Η αλλαγή των σημάτων που θέλουμε να δούμε, απο τη στιγμή που ικανοποιούνται οι συνθήκες μέχρι την στιγμή που γεμίζει ο buffer απο δεδομένα, πρέπει να γίνει σε αυτό το χρόνο. Όταν τα σήματα TRX_request_1 και TRX_request_0 πάρουν τις τιμές 0 και 1 αντίστοιχα, και το σήμα reset την τιμή μηδέν, τότε αυτό θα διεγείρει το εργαλείο, αφού θα ικανοποιηθεί η πιό πάνω εξίσωση και ο χρήστης user_1 θα αποστείλει ένα πλαίσιο δεδομένων ενώ ο χρήστης user_0 θα λάβει το πλαίσιο. Στην αριστερή στήλη φαίνεται το σήμα ΤΧ1_enable το οποίο γίνεται 1 καθώς και αντίστοιχα το σήμά του χρήστη user_0, RX_enable, γίνεται high. Φαίνονται τα bits που λαμβάνονται απο τον δέκτη καθώς και τα σημαίες αναγνώρισης των πεδίων SFD και PSDU. Στο τέλος της λίστας σημάτων φαίνεται το πεδίο FCS όπου η τιμή που πέρνει στην αρχή έιναι FFFFh,
Κεφάλαιο 4. Μετρήσεις και Αποτελέσματα 56 η οποία δείχνει ότι τα δεδομένα του πλαισίου που έχουν παραληφθεί μεχρι στιγμής δεν ικανοποιούν τον αλγόριθμο CRC. Ακολούθως η τιμή του πεδίου αυτού αλλάζει, περνώντας την τιμή 0000h όπου δείχνει ότι το πλαίσιο που παραλήφθηκε και υπάρχει αποθηκευμένο εκείνη ητν στιγμή έιναι σωστό. Το σήμα received_frame0 υποδεικνύει την παραλαβή ενός πλαισίου (ανεξαρτήτως εάν το πλαίσιο αυτο παραλήφθηκε ορθά ή όχι), ενώ το Frame_Verif0 που είναι άμεσα συσχετισμένο με το σήμα fcs_check, πάει σε υψηλό δυναμικό μόνο και μόνο εάν το πλαίσιο που παραλήφθηκε, παραλήφθηκε σωστά, εννοώντας ότι το πεδίο του πλαισίου FCS επέστρεψε μηδενική τιμή απο τον αλγόριθμο CRC. F 4.2: ChipScope Pro εσωτερικά σήματα για το User_0 Η αντίστοιχη λειτουργία της παραλαβής ενός acknowledgment πλαισίου απο το χρήστη user_1, φαίνεται στην εικόνα 4.3. Στην εικόνα 4.4, φαίνεται η λειτουργία του πομπού και τα κυριότερα σήματα του καθώς περνάνε απο τις διάφορες μεταποιήσεις και χαρτογραφήσεις. Η έξοδος του πολυπλέκτη απο όπου επιλέγονται τα bits που αποτελούν το PPDU πλαίσιο, φαίνονται με στον buffer του εσωτερικού σήματος i_mux_in. Τα bits αυτά χαρτογραφούνται και αποστέλλονται στον δέκτη σαν ένα κανάλι απο chips όπως φαίνεται και απο τα σήματα i_symbol_out και i_chip_out.
Κεφάλαιο 4. Μετρήσεις και Αποτελέσματα 57 F 4.3: ChipScope Pro εσωτερικά σήματα για το User_1
Κεφάλαιο 4. Μετρήσεις και Αποτελέσματα 58 F 4.4: ChipScope: Λειτουργία πομπού