74
1 WSN RF LAB RF2500 NODES MSP430 CC

WSN RF LAB

  • Upload
    taline

  • View
    52

  • Download
    0

Embed Size (px)

DESCRIPTION

WSN RF LAB. RF2500 NODES MSP430 CC. PHY initialization. SimpliciTI. - PowerPoint PPT Presentation

Citation preview

Page 1: WSN RF LAB

1

WSN RF LAB

RF2500 NODES

MSP430 CC

Page 2: WSN RF LAB

2

Page 3: WSN RF LAB

3

Page 4: WSN RF LAB

4

Page 5: WSN RF LAB

5

Page 6: WSN RF LAB

6

Page 7: WSN RF LAB

7

Page 8: WSN RF LAB

8

Page 9: WSN RF LAB

9

Page 10: WSN RF LAB

10

Page 11: WSN RF LAB

11

Page 12: WSN RF LAB

12

Page 13: WSN RF LAB

13

PHY initialization

Page 14: WSN RF LAB

14

Page 15: WSN RF LAB

15

Page 16: WSN RF LAB

16

Page 17: WSN RF LAB

17

Page 18: WSN RF LAB

18

Page 19: WSN RF LAB

19

SimpliciTI

• Το SimpliciTI είναι ένα πρωτόκολλο δικτύου RF για μικρά RF δίκτυα. Έχει σχεδιαστεί για εύκολη εφαρμογή και ανάπτυξη με τα RF αναπτυξιακά εργαλεία της Texas Instruments όπως το eZ430-RF2500 υποστηρίζοντας τις οικογένειες πομποδεκτών CC1XXX/CC25XX/CC430. Όλα τα απαραίτητα εργαλεία(κώδικες κλπ) υπάρχουν διαθέσιμα και στο CD που περιέχεται στο πακέτο.

Page 20: WSN RF LAB

20

Page 21: WSN RF LAB

21

Page 22: WSN RF LAB

22

IEEE 802.15.4

Page 23: WSN RF LAB

23

Page 24: WSN RF LAB

24

Page 25: WSN RF LAB

25

Page 26: WSN RF LAB

26

Page 27: WSN RF LAB

27

Page 28: WSN RF LAB

28

Page 29: WSN RF LAB

29

Page 30: WSN RF LAB

30

Page 31: WSN RF LAB

31

Page 32: WSN RF LAB

32

Page 33: WSN RF LAB

33

Page 34: WSN RF LAB

34

Page 35: WSN RF LAB

35

Page 36: WSN RF LAB

36

Page 37: WSN RF LAB

37

Page 38: WSN RF LAB

38

eZ430-RF2500

Page 39: WSN RF LAB

39

Page 40: WSN RF LAB

40

eZ430-RF2500

• Το eZ430-RF2500 είναι ένα ολοκληρωμένο αναπτυξιακό εργαλείο που περιλαμβάνει όλο το υλικό και το λογισμικό που απαιτείται για την λειτουργία ενός ασύρματου συστήματος με τους MSP430 σε ένα USB stick. Χρησιμοποιεί τον MSP430F22x4 και τον CC2500, έναν πολυκάναλο πομποδέκτη RF για χαμηλής ισχύος ασύρματες εφαρμογές.

• Ο USB προγραμματιστής του eZ430-RF2500 προσφέρει έναν ελεγκτή UART δημιουργώντας μια θύρα για απευθείας σειριακή επικοινωνία με το αναπτυξιακό. Επίσης μπορεί να προγραμματίσει και τις εκδόσεις των eZ430-F2013 και eZ430-F2012.

Page 41: WSN RF LAB

41

eZ430-RF2500

Page 42: WSN RF LAB

42

MSP430F2274

Το χρησιμοποιούμενο MSP430F2274 έχει 40 ακροδέκτες:• Οι 4 χρησιμοποιούνται σε αναλογικές λειτουργίες

τροφοδοσίας• 2 χρησιμοποιούνται για εργοστασιακό έλεγχο • 2 χρησιμοποιούνται για την σύνδεση εξωτερικού

κρυστάλλου κάτι που δεν εφαρμόζεται στην πλατφόρμα eZ430-RF2500

• 32 ακροδέκτες οργανωμένους σε 4 ψηφιακές πόρτες

Page 43: WSN RF LAB

43

Page 44: WSN RF LAB

44

eZ430-RF2500 (σχηματικό διάγραμμα)

Page 45: WSN RF LAB

45

Ez430-RF2500 (BOM Bill of Materials)

Page 46: WSN RF LAB

46

Ο μικροελεγκτής MSP430 και ο πομποδέκτης CC2500 διασυνδέονται με SPI 4-wire (κόκκινες γραμμές) και με δύο γραμμές για interrupts (πράσινες διακεκομμένες).

Page 47: WSN RF LAB

47

Antenna

• Για όλους τους τύπους των κεραιών μία είναι η κοινή προδιαγραφή: πρέπει να διασφαλίζεται 50 Ohm σύνθετη αντίσταση μεταξύ πομποδέκτη και κεραίας ώστε να διασφαλίζεται η ελάχιστη εξασθένηση και η μέγιστη μεταφορά ισχύος (higher power efficiency).

• Δύο είναι οι γενικές κατηγορίες κεραιών : differential και single ended.

• Οι περισσότεροι πομποδέκτες έχουν διαφορικές εισόδους

Page 48: WSN RF LAB

48

Balunced-unbalanced (Balun)

Page 49: WSN RF LAB

49

Λεπτομέρειες για κεραίες….

• Οι Κεραίες με αναφορά σε ένα σημείο (Single ended antennas) οδηγούνται από ένα σήμα που αναφέρεται στην γή (σημείο αναφοράς του κόμβου). Επειδή οι πομποδέκτες (transceivers) έχουν διαφορικές εισόδους (differential inputs), είναι αναγκαίο ένα κύκλωμα για την σχετική μετατροπή (unbalanced to balanced και αντιστρόφως). Αυτό το κύκλωμα αναφέρεται σαν “balun” (BALanced - UNbalanced).

Page 50: WSN RF LAB

50

Τύποι κεραιών

Οι κεραίες που συνήθως χρησιμοποιούνται σε κόμβους ασυρμάτων δικτύων αισθητήρων είναι:

• Τυπωμένης πλακέτας (pcb antenna)• Σύρματος (wire antenna)• Κεραία τύπου ολοκληρωμένου (Chip

antenna)Μια κεραία τύπου chip χρησιμοποιείται στο

eZ430-RF2500

Page 51: WSN RF LAB

51

Page 52: WSN RF LAB

52

CC2500• Low-Cost Low-Power 2.4 GHz RF TransceiverAnalog Features• OOK, 2-FSK, GFSK, and MSK (minimum-shift keying) supported• Gaussian Frequency-Shift Keying (GFSK) is a type of Frequency

Shift Keying modulation that uses a Gaussian filter to smooth positive/negative frequency deviations, which represent a binary 1 or 0. It is used by DECT, Bluetooth[1], Cypress WirelessUSB, Nordic Semiconductor[2], Texas Instruments LPRF and z-wave devices. For Bluetooth the minimum deviation is 115 kHz.

• Suitable for frequency hopping and multichannel systems due to a fast settlingfrequency synthesizer with 90 us settling time

Page 53: WSN RF LAB

53

Page 54: WSN RF LAB

54

Page 55: WSN RF LAB

55

Απλό παράδειγμα TX/RX με RF2500

• Στόχος: Στο πρώτο παράδειγμα 2 RF2500 προγραμματίζονται με τον ίδιο κώδικα και παραμένουν σε κατάσταση Rx. Όταν πατηθεί ένα κουμπί σε οποιοδήποτε από τα δύο, στέλνει ένα μήνυμα και αλλάζει την κατάσταση (toggles) του κόκκινου LED. Ο κόμβος που λαμβάνει το μήνυμα ασύρματα αλλάζει την κατάσταση (toggles) του πράσινου LED.

Page 56: WSN RF LAB

56

Page 57: WSN RF LAB

57

Drivers…

• $PROJ_DIR$\..\drivers\bsp

• $PROJ_DIR$\..\drivers\bsp\drivers

• $PROJ_DIR$\..\drivers\bsp\boards\EZ430RF

• $PROJ_DIR$\..\drivers\mrfi

Page 58: WSN RF LAB

58

Drivers…

• Bsp (board support package) (αρχεία σχετικά με τις λεπτομέρειες των πλακετών των κόμβων π.χ. πόσα leds, σε ποιους ακροδέκτες ..)

• mrfi (minimal rf interface) (πως επικοινωνεί ο μικροελεγκτής με τον πομποδέκτη στην πλακέτα του κόμβου, πως υλοποιείται η SPI επικοινωνία…)

Page 59: WSN RF LAB

59

Drivers…

Additional include directories Defined symbols \bsp →Board Support Package Οδηγοί αρχικοποίησης \bsp\drivers →buttons & leds \bsp\boards\EZ430RF →Ορισμός συσκευής \mrfi →Minimal RF Interface Οδηγοί αρχικοποίησης

MRFI_CC2500

Ορισμός RF συσκευής

Page 60: WSN RF LAB

60

Απλό παράδειγμα TX/RX με RF2500

• INTERRUPT on button press (no debounce!!)

• LPM0 after servicing the interrupt

• Send data to the proper node (address, frequency channel )

Page 61: WSN RF LAB

61

#include "mrfi.h“ #include "radios/family1/mrfi_spi.h" int main(void){ BSP_Init(); P1REN |= 0x04; P1IE |= 0x04; MRFI_Init(); MRFI_WakeUp(); MRFI_RxOn(); __bis_SR_register(GIE+LPM4_bits);}void MRFI_RxCompleteISR(){ P1OUT ^= 0x02;}#pragma vector=PORT1_VECTOR__interrupt void Port_1 (void){ P1IFG &= ~0x04; mrfiPacket_t packet; packet.frame[0]=8+20; MRFI_Transmit(&packet, MRFI_TX_TYPE_FORCED); P1OUT ^= 0x01;}

Ο κώδικας…

Page 62: WSN RF LAB

62

• Line 4 is a function from the drivers (right-click on it, and choose Go to definition of "BSP_Init()" if you want to know) which disables the watchdog, initializes the MCLK at 8MHz, sets LED ports as outputs and the button port as input. Note that it does neither enables the internal resistor of the button, nor enables interrupts. This is done on lines 5 and 6.

•Line 7. MRFI stands for Minimal Radio-Frequency Interface; functions starting with MRFI are used to drive the CC2500 radio chip. MRFI_Init() initializes the 6 wires between the MSP430 and the CC2500, powers-up the CC2500 and configures the CC2500 47 registers and turns on interrupts from the CC2500;

•Line 8 wakes up the radio, i.e. it turns on the 26MHz crystal attach to it without entering Rx or Tx mode;

• Line 9 switches the radio to Rx mode; from this line on, it can receive packets, in which case the interrupt function MRFI_RxCompleteISR is called.

Ο κώδικας…

Page 63: WSN RF LAB

63

Ο κώδικας…

• BSP_Init() → Απενεργοποιεί τον watchdog timer, ορίζει συχνότητα λειτουργίας του MCLK στα 8MHz, τα Led σαν εξόδους και το button σαν είσοδο.

• MRFI_Init()→ Ενεργοποιεί την σύνδεση του μικροελεγκτή με τον πομποδέκτη μέσω (SPI) και αρχικοποιεί κατάλληλα τους καταχωρητές του CC2500.

• MRFI_WakeUp()→ Ξεκινά την RF επικοινωνία ενεργοποιώντας τον κρύσταλλο στο CC2500.

Page 64: WSN RF LAB

64

Page 65: WSN RF LAB

65

Ο κώδικας…

• Μπορούμε να αλλάξουμε την συχνότητα εκπομπής επιλέγοντας διαφορετικό κανάλι προσθέτοντας τις παρακάτω γραμμές κώδικα όπου χρειάζεται αφού τις συμπληρώσετε με τις κατάλληλες τιμές για την μεταβλητή ΧΧ που αντιστοιχεί στο κανάλι:

• #include "radios/family1/mrfi_spi.h"• . . . .• mrfiSpiWriteReg(CHANNR, XX );

Page 66: WSN RF LAB

66

Επιλέγοντας Συχνότητα

• Το CC2500 μπορεί να εκπέμψει στην περιοχή συχνοτήτων 2400.0-2483.5MHz της ISM ζώνης.

• Το chip υποδιαιρεί το φάσμα συχνοτήτων 2400.0-2483.5 MHz σε κανάλια με μια ρυθμιζόμενη απόσταση μεταξύ των καναλιών-channel spacing. Εξ’ ορισμού στο CC250 η απόσταση αυτή είναι 200kHz. Το channel 0 αντιστοιχεί στα 2433.0Mhz, το channel 1 στα 2433.2Mhz, και ούτω καθ’ εξής. Το κανάλι ρυθμίζεται με τον καταχωρητή CHANNR.

Page 67: WSN RF LAB

67

Page 68: WSN RF LAB

68

Page 69: WSN RF LAB

69

Μια μεταβλητή τύπου mrfiPacket_t είναι μια δομή που αποτελείται από δύο τμήματα:• packet.frame• packet.rxMetrics

Το packet.frame είναι το πλαίσιο (frame) που πρόκειται να εκπεμφθεί. Το πρώτο byte είναι το μήκος-Length της εκπεμπόμενης πληροφορίας-payload μαζί με τις διευθύνσεις του αποστολέα-source και του παραλήπτη- destination. Με την συγκεκριμένη υλοποίηση του οδηγού- driver οι διευθύνσεις κωδικοποιούνται σε4 bytes, με αποτέλεσμα το Payload length να είναι 20 bytes. Το CC2500 δεν πραγματοποιεί κάποιο είδος φιλτραρίσματος στις διευθύνσεις και επομένως δεν ασχολούμαστε με τις τιμές των πεδίων διεύθυνσης-address fields.

Ο κώδικας…

Page 70: WSN RF LAB

70

Το τμήμα packet.rxMetrics άφορά στατιστικά δεδομένα του λαμβανόμενου πακέτου.

Το πρώτο byte είναι η ένδειξη της έντασης του λαμβανόμενου σήματος Received Signal Strength Indicator (RSSI) κατά την ανίχνευση της λέξης συγχρονισμού- sync word detection. Είναι το επίπεδο του λαμβανόμενου σήματος σε dBm.

Το επόμενο bit δηλώνει αν ο έλεγχος Cyclic Redundancy Check (CRC) ήταν επιτυχής. Στην κανονική λειτουργία του το CC2500 απορρίπτει τα πακέτα με ανεπιτυχή CRC έλεγχο, επομένως στην πράξη αυτό το bit είναι πάντα1). Τα τελευταία 7 bits είναι η ένδειξη ποιότητας της ζεύξης Link Quality Indicator (LQI). Το LQI δίνει μια εκτίμηση ποιότητας συσσωρεύοντας τα σφάλματα αποδιαμόρφωσης των 64 συμβόλων για τα δεδομένα μετά την λέξη συγχρονισμού.

Ο κώδικας…

Page 71: WSN RF LAB

71

Συνεχόμενες εκπομπές

• Βάζοντας σχόλιο στην γραμμή 19, μόλις πιέζουμε τον διακόπτη στον κόμβο, ο κόμβος που θα στέλνει έναν ατελείωτο αριθμό μηνυμάτων. Αυτό οφείλεται στο ότι δεν “καθαρίζεται” η σημαία εξυπηρέτησης της δακοπής και εκτελείται ξανά και ξανά η σχετική ρουτίνα εξυπηρέτησης.

Page 72: WSN RF LAB

72

Page 73: WSN RF LAB

73

Page 74: WSN RF LAB

74