802.15.4 MAC/PHY och transceiver CC2420



Relevanta dokument
Systemkonstruktion SERIEKOMMUNIKATION

Switch Driver 5. Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software

UPPDATERING MJUKVARA FÖR PALTRONIC SYSTEMS

DIGITALA PROJEKT Väderstation

Installationsanvisning för kursens programvara på egen dator

Kom igång med din SMART Board. Det praktiska

Smartair System. TS1000 Version 4.23

Digitalteknik: CoolRunner-II CPLD Starter Kit

AVRflash. Program. Handbok

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

Svensk version. Inledning. Installation av maskinvara. LC202 Sweex Powerline Ethernet-adapter 200 Mbps

Digitala Projekt (EITF11)

Lathund för att arbeta med pdf

Teckentavlor. Inställning av styrsätt med programvalsratten

AVR Studio 4 Och AVRFLASH

LABORATIONSINSTRUKTION

TSIU50 Mikrodatorprojekt. LAB1 AVR-introduktion och logikanalysator

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for PIC

Datorlaboration 0, Programmering i C++ (EDAF30)

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.

SwemaAir 50 Bruksanvisning vers 1.13 MB

Pulsmätare med varningsindikatorer

LC Sweex trådlös bredbandsrouter 11g

Instruktioner för uppdatering av enheter med ISP

FÄLTMÄTINSTRUKTION TESTO 174H

Öppen/Fri programvara

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

ASSA Smartair. Användarmanual Programmeringsenhet till TS1000. ASSA ABLOY, the global leader in door opening solutions.

LEGO NXT Robotprogrammering

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Datorsystem Laboration 2: Minnesmappade bussar

Installations och drifthandbok

Inledning. Viktiga säkerhetsinstruktioner. Svensk version. LD Sweex Powerline USB-adapter

Software Translator 6.1 Manual

Vägledning till Autodesk Subscription Center

Dela, samarbeta, byt. Bruksanvisning för administratörer

Net id OEM Användarhandbok för Windows

PCI ETHERNET CARD 100 MB

Programmeringsguide Picolo Porttelefon

Svensk version. Inledning. Installation av maskinvara. Installation av Windows XP. LW057V2 Sweex trådlösa LAN PCI-kort 54 Mbps

Komma igång med E-Line RIO

Selma - Manual Programtillfälle

Manual för motionscykel Extreme XT 3,3

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for AVR

MSR Gjutarevägen Stenkullen

TimeLox HCU handterminal. Användarguide. ASSA ABLOY, the global leader in door opening solutions.

ELMIA WLAN (INTERNET)

Lathund för överföring av rapporter och ljudfiler

Manual Jourläkarschema Närhälsan V7 - Version 1.0

Manual. Abelko M-Bus Device Creator (MBDC)

Komma igång med Eventor

[MANUAL TILL LUVITS GRUNDFUNKTIONER]

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

SPEECHMIKE TM 2.2 PROGRAMVARUHANDBOK PHI

Frågebanker, frågeuppsättningar och slumpvisa block

Installationsguide. För att installera mjukvara och hårdvara, följ nedanstående anvisningar.

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

WIQ MK2 WIQ MK2. Snabbstartsguide

Bruksanvisning. Bestic software version Äthjälpmedel. Internet:

Introduktion. Markera den gröna bocken. Skriv in URL:en Klicka på knappen Platser.

Presenterar. Mustek Systems, Inc.

IR-Sändare Control 10 Svensk bruksanvisning

Manual för deltagare kursen Bakgavellyft Så går du kursen Bakgavellyft

Reviderad Servicemanual Foxguard Alkolås A1,A2 och A3

Maximum T 541 VA. Bruksanvisning. Viktigt! Läs den här bruksanvisningen innan du ansluter Maximum-mottagaren.

Din manual SHARP MX-M260

088U0240 / 088U0245. Instruktion för huvudstyrenheten CF-MC

K8048 PIC PROGRAMMER BOARD

Det finns en hemsida. Adressen är

Egenskaper och inställningar för QuickScan och förhandsgranskningsfönstret

Modbus. Supportdokument. Lathund för att använda Modbus över RS XXX eller TCP/IP.

HDMI Extender över Ethernet

Till assemblersystemet Zuper 80 Assembler krävs en SPECTRAVIDEO 328/318+minst 16K ram extra.

Quick start manual. Smart-House Rev 2.0

Mobil lagerhantering med streckkodsskanner

Tack för att du köpt vår digitala MP3-spelare. Innan du använder spelaren, läs igenom den här användarhandboken så att du vet hur spelaren fungerar.

Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke Sida 1 av 12

802.11b/g WLAN USB-adapter. med Wi-Fi-detektor. Guide för installation

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot

TRUST WIRELESS KEYBOARD & MOUSE

Elmia Mässkatalog för PocketPC

4 Installation av drivrutiner

Installation av. Vitec Online

Fotoballonger. Manual

MANUAL NETALERT FÖR ANDROID VERSION 3.3

Användarguide för anslutning till Treserva och TES Användarguide för anslutning till Treserva och TES

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...

En handledning för studerande på Högskolan Kristianstad

Antivirus Pro Snabbguide

Kontakt: Mikael Forsman Användarmanual för VIDAR 4.0

Konfigurera Xenta från Point

6 ACS-Systemet (Advanced Control System)

Att komma igång med FirstClass (FC)!

FileMaker. Köra FileMaker Pro 10 på Citrix Presentation Server

Lathund GUL Lärare. Allmänt. Hur du presenterar Dig själv för kursdeltagarna. Hur du lägger upp din kontaktlista

Smartair System TS1000

DS-2900S2/PAL. DVB-S/S2 till PAL med grannkanalmodulator. Bruksanvisning

Användarmanual CallPad och VoicePad

Föreläsning 1 & 2 INTRODUKTION

Transkript:

Trådlösa system IK1330 07/08 Laboration 4 802.15.4 MAC/PHY och transceiver CC2420 Mål Hårdvara Mjukvara Referenser Redovisning Denna laboration avser att visa både hårdvara och mjukvara för radiodelen i ett ZigBee-nätverk. Du får också en inblick i standarden för MAC/PHY enligt IEEE 802.15.4. Chipcon CC2420 demonstration board (DB). Chipcon CC2420 development kit (DK) används som sniffer. IEEE 802.15.4 Packet Sniffer WinAVR med Programmer Notepad (editor) och GNU GCC C-kompilator AVR Studio CC2420 IEEE 802.15.4 MAC/PHY software layers Datablad CC2420 2.4 GHz IEEE 802.15.4 / ZigBee-ready RF Transeiver User manual CC2420DBK Demonstration Board Kit Product description CC2420 IEEE 802.15.4 MAC/PHY software layers User manual CC2420DK:Packet Sniffer for IEEE 802.15.4 and ZigBee 802.15.4 IEEE standard Part 15.4 Redovisning av uppgifter enligt nedan. Förberedelsuppgifter F1 Studie av datablad för CC2420 Besvara följande frågor med hjälp av databladet. 1. Vilket frekvensområde är kretsen avsedd för? 2. Hur stort är frekvenssteget mellan kanalerna enligt 802.15.4? 3. Vad är transmit bit rate? 4. Vad är transmit chip rate? 5. Hur många bitar är en symbol 6. Till hur många bitar sprids en symbol? 7. Vilken uteffekt har sändaren? 8. Vilken modulationsmetod används? 2007-12-05 Bengt Molin 1 (8)

På sidan 34 i databladet visas IEEE 802.15.4 frame format. 9. Vilka delar består PPDU av? 10. Vilka delar av PPDU genereras av hårdvara i kretsen? Förklara följande förkortningar: 11. PDU 12. MAC 13. SFD 14. FCF 15. FCS 16. FIFO 17. RSSI 18. Hur beräknas FCS? 19. På vilken del av PPDU beräknas FCS? 20. FCF består av 16 bitar. Vad används dessa till? 21. Vilka data överförs från radiokretsen via SPI till microcontroller? 22. Vad är LQI? 2007-12-05 Bengt Molin 2 (8)

F2 Besvara följande frågor Bifogat finns radiotrafiken mellan enheterna när nätverket startas dokumenterat med hjälp av sniffern (se sidan 7 i detta lab-pm). 1. Vilken enhet är det som startar radiotrafiken? 2. Hur särskiljs det vilken typ av paket som sänds (kommando, data, acknowledge eller beacon)? 3. Vad menas med beacon? 4. Vad sänds i en beacon? 5. Hur kan en enhet veta om koordinatorn tillåter att associera till nätverket? 6. Vad gör enheten om koordinatorn tillåter enheter att associera? 7. På vilket sätt tilldelas en enhet en adress i nätverket? 8. Vad innebär det att en adress är 0xFFFF? 9. Vad innebär det att en adress är 0xFFFE? 10. Adresser och data sänds i little endian format. Vad innebär det? L1 Test av ett enkelt färdigt program för temperaturmätning I denna uppgift skall ett program som i sin ursprungliga version är ett programexempel rf_blink_led från Chipcon för CC2420DB. Ursprungligen visar det en enkel trådlös dimmer där spänning från en potentiometer läses av, värdet överförs och styr pulsbreddsmodulering av spänning till en lysdiod. Programmet har modifierats för att istället mäta temperatur från en temperaturgivare placerad på CC2420 DB och sända över mätvärdet. Programmen ligger i katalogerna \Mina Projekt\apps\basic_rf\rf_temp_master repektive \Mina Projekt\apps\basic_rf\rf_temp_slave Den microcontroller som finns på CC2420 DB är en Atmel Atmega 128L. Det finns en bootloader inlagd i kretsarna som gör att det går att programmera microcontrollerns flashminne via serieporten på datorn. Detta gör du på följande sätt: Anslut seriekabel mellan datorns serieport och CC2420 DB. Anslut matningsspänning 4-10 V till DB. Använd lämpligen 5V. På DB finns en spänningsstabilisator som omvandlar till 3V. Tryck ned reset och tryckknapp S2 samtidigt. Släpp reset när du fortfarande har S2 nedtryckt. I AVR studio väljer du Tools/AVR prog Om allt fungerar får du nu upp ett fönster så att du kan välja fil med filtyp.hex som skall programmeras i flash. Fungerar det inte har bootloadern blivit förstörd på något sätt och måste programmeras in på nytt. Vill du ändra i programmen förfar du enligt följande: Starta Programmers Notepad under WinAVR i startmenyn. 2007-12-05 Bengt Molin 3 (8)

Välj File / Open och öppna C-filen. Ändra i filen och spara. Välj i menyn Tools / [WinAVR] Make all Om kompileringen går igenom utan fel laddar du ned hex-filen enligt ovan. Vi har två sniffers som kan köras på två olika datorer. För att inte störa varandras sniffer bör de nätverk som skall sniffas ligga på olika kanaler, vilket innebär att du måste göra ändringar i programmen: Sniffer 1 avlyssnar kanal Sniffer 2 avlyssnar kanal Kanaler på 2,4 GHz-bandet kan vara 11till 26 decimalt, 0x0B till 0x1A hexadecimalt. Kom överens inom labgrupperna om vilka kanaler som skall användas. Programmera ett kort som master och två kort som slave. Besvara följande frågor med hjälp av C-programlistorna: 1. Hur upprättas förbindelsen? 2. Hur skapar man i programmet olika adresser till slavarna? Mastern kan kopplas till serieporten på en PC-dator och visa temperaturen på skärmen med ett terminalprogram (t.ex. HyperTerminal). Inställningar för asynkron kommunikation är: 38400 bitar per sekund, åtta databitar, ingen paritet, en stoppbit och flödesreglering i maskinvara. Starta programmen och studera resultatet på RF Packet Sniffer. 3. Beskriv med ord vad som händer och i vilken riktning kommunikation sker när förbindelse upprättas och data överförs. Anslut ett 9 V batteri på undersidan av kortet och tag en promenad i och utanför lablokalen för att undersöka räckvidden. Studera LQI eller RSSI med sniffern. Resultat? L2 Studie av ett program som använder programvara från Chipcon som uppfyller standarden enligt IEEE 802.15.4 CC2420 IEEE 802.15.4 MAC/PHY software layers För att du skall kunna genomföra denna del av laborationen skall du ha undertecknat licensavtalet från Chipcon. Du garanterar där att du inte kommer att använda programvaran på radiokretsar med annat fabrikat än Chipcon och att du inte sprider programvaran vidare. 2007-12-05 Bengt Molin 4 (8)

I katalogen \Chipcon_MAC_0_71\apps\mac\mac_blink_led finns källkoden för programmet mac_blink_led. En introduktion av programmet finns också i avsnitt 9.1 i manualen för CC2420 IEEE 802.15.4 MAC/PHY software layers. Ändra kanalnummer i programmet och kompilera om det så att du använder samma kanal som i uppgift L2 ovan för att inte kollidera med annan labgrupp. Studera programlistan för programmet och paketen på sniffern. Beskriv hur kommunikationen mellan enheterna går till i både beacon och non-beacon mode. L3 Studie av IEEE 802.15.4 MAC/PHY software layers och 802.15.4 IEEE standard Besvara följande frågor med hjälp av manualen för CC2420 IEEE 802.15.4 MAC/PHY software layers och 802.15.4 IEEE standard Part 15.4 Det finns fyra olika MAC-primitiv. Ange för var och en vad som görs och i vilken riktning anropet sker; från övre lager till MAC eller från MAC till övre lager. 1. Requests 2. Confirms 3. Indications 4. Responses 5. Hur löses callbacks från MAC-lagret programmässigt? Förklara följande förkortningar: 6. MLME 7. SAP 8. Vad är en IEEE-adress? 9. Vad innehåller MPDU i en beacon frame (avsnitt 5.4.3.1 i standarden)? 10. Vad innehåller superframe specification (avsnitt 7.2.2.1.1 i standarden)? 11. Vad är GTS? 12. Vad beskrivs i GTS specification field? 13. Vad innehåller MPDU i en dataframe? 2007-12-05 Bengt Molin 5 (8)

14. Vad innehåller MPDU i en acknowledgement frame? 15. Vad innehåller MPDU i en MAC command frame? 16. Vad heter den funktion som begär att en enhet skall associera med en koordinator? 17. Vad heter den funktion som begär att sända data? 18. Vad är MAC PIB? 19. Vilka funktioner läser respektive sätter attribut i PIB? L4 Modifiera programexemplet mac_rf_modem Programmet är i sin originalversion gjort så att en enhet är koordinator och den andra enheten associeras till koordinatorn. Endast en enhet kan associeras till koordinatorn. a) Din uppgift är att modifiera programmet så att flera enheter kan associeras till samma koordinator. Tecken som matas in i terminalprogrammet på PC som är kopplad till enheterna skall visas på den PC som är ansluten till koordinatorn. Tecken som sänds från koordinatorn skall endast tas emot av den enhet som först har associerats till PAN. b) Utveckla programmet så att tecken som sänds från koordinatorn sänds till alla enheter som är anslutna på nätverket. Uppgift a kräver endast smärre ändringar om analyserar den givna programkoden. Uppgift b är till för dig som önskar en större utmaning och kräver lite mer ändringar i programmet. Minimikrav för att bli godkänd på laborationen är alltså att du löser uppgift a. Arbetsgång Jobba i labgrupper om 2-3 studenter. Analysera den kod som delats ut och notera vilka ändringar som behöver göras. Tänk till ett tag innan du sätter dig vid datorn. De funktioner som används beskrivs närmare i standarden eller i källkoden som du hittar i katalogen \Chipcon_MAC_0_71\lib\mac\atmega128. Inför ändringarna med Programmers editor. Kompilera koden och programmera in hexkoden i microcontrollern på CC2420DB med bootloadern. Det kan bli viss köbildning att få testa men förhoppningsvis blir inte alla färdiga samtidigt. 2007-12-05 Bengt Molin 6 (8)

Nätverket startas genom att aktivera koordinator och därefter aktivera enheten som skall anslutas: I programmet initieras en enhet som koordinator när joysticken trycks ned. // Reset mlmeresetrequest(true); // Update PIB attributes mlmesetrequest(mac_short_address, (BYTE*) &myaddress); setattributevalue = TRUE; mlmesetrequest(mac_rx_on_when_idle, &setattributevalue); mlmesetrequest(mac_association_permit, &setattributevalue); // Start as a coordinator for a non-beacon enabled PAN mlmestartrequest(panid, CHANNEL, 15, 15, TRUE, FALSE, FALSE, FALSE); Om röda knappen (S2) trycks ned på den andra enheten börjar den med att söka efter koordinatorer att associera med: // Reset mlmeresetrequest(true); // Scan for coordinators status = mlmescanrequest(active_scan, (UINT32) 1 << CHANNEL, 5, &scanresult); if (status!= SUCCESS) EXCEPTION(0x1); Först nu startar radiotrafik som sniffern kan uppfatta: Raw data (hex): 03 08 65 FF FF FF FF 07 Raw data (hex): 00 80 6D EF BE CD AB FF CF 00 00 Raw data (hex): 23 C8 66 EF BE CD AB FF FF 10 32 54 76 98 BA DC FE 01 0E Raw data (hex): 02 00 66 Raw data (hex): 63 C8 67 EF BE CD AB 10 32 54 76 98 BA DC FE 04 Raw data (hex): 12 00 67 Raw data (hex): 63 CC 98 EF BE 10 32 54 76 98 BA DC FE EF CD AB 89 67 45 23 01 02 34 12 00 Raw data (hex): 02 00 98 2007-12-05 Bengt Molin 7 (8)

Sänder Hej från ena till den andra: Raw data (hex): 61 88 68 EF BE CD AB 34 12 01 48 Raw data (hex): 02 00 68 Raw data (hex): 61 88 69 EF BE CD AB 34 12 02 65 Raw data (hex): 02 00 69 Raw data (hex): 61 88 6A EF BE CD AB 34 12 03 6A Raw data (hex): 02 00 6A Sänder Hej från andra till den ena: Raw data (hex): 61 88 99 EF BE 34 12 CD AB 01 48 Raw data (hex): 02 00 99 Raw data (hex): 61 88 9A EF BE 34 12 CD AB 02 65 Raw data (hex): 02 00 9A Raw data (hex): 61 88 9B EF BE 34 12 CD AB 03 6A Raw data (hex): 02 00 9B Om en enhet redan är associerad till koordinatorn och vi försöker starta ytterligare enheter: Raw data (hex): 03 08 BF FF FF FF FF 07 Raw data (hex): 00 80 6E EF BE CD AB FF 4F 00 00 2007-12-05 Bengt Molin 8 (8)