sponsored by Investigation of ZigBee Sensor Network Platforms Bradford Peyton / Anoop Gojanur Supervisor - Dr. Kevin McCarthy Freescale™ and Freescale Logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are properties of their respective owners. Slide design by Bradford Peyton
What is a Wireless Sensor Network? • Network of low-power wireless devices • Monitors physical or environmental conditions • Each network node is equipped with a radio transceiver • Often used in industrial control systems February 9th, 2007 Bradford Peyton / Anoop Gojanur 2
February 9th, 2007 Bradford Peyton / Anoop Gojanur 3
What is ZigBee? • High-level communications protocol which uses IEEE 802.15.4 standard digital transceivers for a wireless personal area network (WPAN) • Low power, long-lifetime sensors • Operation band centered at 868 MHz in Europe, 915 MHz in the USA, and 2.4 GHz in most countries worldwide February 9th, 2007 Bradford Peyton / Anoop Gojanur 4
The ZigBee Stack February 9th, 2007 Bradford Peyton / Anoop Gojanur 5
ZigBee Network Specification Common Name "ZigBee" 802.15.4 IEEE standard 250 kbps* Max Data Rate 30+ mA TX power 3 µA Standby Supply Current Star, Cluster, Mesh Network Type 132 bytes Max Packet Size > 1200 meters** Range 8-60 kB*** ZigBee Stack Size * At 2.4 GHz operation ** Line Of Sight (LOS), MAX_POWER *** SMAC stack = Application protocol February 9th, 2007 Bradford Peyton / Anoop Gojanur 6
Security Sensor February 9th, 2007 Bradford Peyton / Anoop Gojanur 7
Project Goals � Characterization of 13213-SRB device � Website host for live data � HyperTerminal Console – PC to SRB � PER Test for SRB-to-SRB communication � Wireless data-logging application � User interface – Visual Basic / Win32 � Fully functional wireless weather station February 9th, 2007 Bradford Peyton / Anoop Gojanur 8
Skills Learned • How to establish a wireless sensor network • Microcontroller programming – ANSI-C – Assembly • LaTeX syntax • Communication using HyperTerminal • Standard project management skills February 9th, 2007 Bradford Peyton / Anoop Gojanur 9
Software Utilized ‘app_status = RX_STATE’ ‘app_status = RX_STATE’ • CodeWarrior IDE MCU State • TestTool • Triax SCITransmitStr(“data line") SCITransmitStr(“data line") • HyperTerminal • MiKTeX – LaTeX base system • TeXnicCenter – LaTeX editor February 9th, 2007 Bradford Peyton / Anoop Gojanur 10
1321X SRB (Sensor Reference Board) February 9th, 2007 Bradford Peyton / Anoop Gojanur 11
What is the 1321X SRB? • Single port dual-layer reference design → Bi-directional data transfer. RX switch On for LNA control (receiving) → Rx switch Off for Tx PA control (transmitting) (void)MLMEMC13192PAOutputAdjust(OUTPUT_POWER); //Set MAX power setting (void)MLMEMC13192PAOutputAdjust(OUTPUT_POWER); //Set MAX power setting /* MLMEMC13192PAOutputAdjust(MIN_POWER); //Set MIN power setting */ /* MLMEMC13192PAOutputAdjust(MIN_POWER); //Set MIN power setting */ /* MLMEMC13192PAOutputAdjust(NOMINAL_POWER); //Set Nominal power setting */ /* MLMEMC13192PAOutputAdjust(NOMINAL_POWER); //Set Nominal power setting */ • Contains 8 general purpose I/O pins connected directly to the Analogue-to-Digital Converter (“ATD1SC”) in MCU package • F-Antenna: 2 Antennas spaced ¼ wavelength apart • 26 General purpose I/O pins (Analogue/Digital) • On-Board Sensors: – Accelerometer: MMA7260Q Triple-Axis linear output accelerometer – Temperature: LM61B 3-pin digital output sensor February 9th, 2007 Bradford Peyton / Anoop Gojanur 12
MC13213 MCU •SiP combination of transceiver and µC •8 channel Analogue-to-Digital Converter •60kB Flash and 4kB RAM •Sensors connected to ‘PTB0-7’ •LEDs connected to ‘PTD4-7’ •Switches connected to ‘PTA2-5’ February 9th, 2007 Bradford Peyton / Anoop Gojanur 13
Communications • P&E Background Debug Module (BDM) Multilink – Flash! MCU peripherals and memory • Serial Peripheral Interface (SPI) • OTAP (Over-the-air-Protocol): SRB-to- SRB • HyperTerminal February 9th, 2007 Bradford Peyton / Anoop Gojanur 14
**************************************************************/ Freescale 13213SRB SRTISC=SRTISC&~0x07; //Disable wake up timer. SPMSC2=SPMSC2&~0x03; //Enable deep sleep mode stop3. TPM1SC = 0x0F; //Timer divide by 128. (16uS timebase LED1 LED2 LED3 LED4 for 8MHz bus clock). ATD1PE=0x4C; //enable desired ADC channels SW1 SW2 SW3 SW4 (AD2,AD3, AD4, AD7 on) ATD1C=0xE1; //set prescale to 4 Temperature sensor Acclerometer Analog/Digtal I/O KB_INIT_MACRO ATD1SC = 2; //read x-axis data on ch2 ATD1SC = 3; //read y-axis data on ch3 Humidity Light ATD1SC = 4; //read z-axis data on ch4 Sensor Sensor PTBDD_PTBDD6 = DDIR_INPUT //set PortB pin6 as I/P to read temperature SCITransmitStr("N:"); while((ATD1SC & 0x80) != 0x80){} (void)int2string((UINT32) packet_count, App_String); SCITransmitStr(App_String); Temperature = (ATD1RH * 300) / 256; //Since 3V = 300 degrees = 256 count, multiply by 300/256 temperature = (UINT8)(MLMETEMP_R()/2); //Read the temperature reading. tx_data_buffer[4] = Temperature & 0xFF; SCITransmitStr(" Temperature=-"); tx_data_buffer[7] = 0x30; (void)int2string((UINT32) temperature, App_String); tx_packet.dataLength = 12; SCITransmitStr(App_String); for (i=0; i<retries; i++) { HyperTerminal u8status = MCPSDataRequest(&gsTxPacket); // transmit data} February 9th, 2007 Bradford Peyton / Anoop Gojanur 15
SCITransmitStr("N:"); (void)int2string((UINT32) packet_count, App_String); SCITransmitStr(App_String); link_quality = (UINT8)(MLMELinkQuality()/2); //Read the link quality of the last received packet. SCITransmitStr(" LQI=-"); (void)int2string((UINT32) link_quality, App_String); SCITransmitStr(App_String); SCITransmitStr(" CRC=1 Data="); SCITransmitFormattedArray(rx_packet.pu8Data, rx_packet.u8DataLength); app_status = RX_STATE; February 9th, 2007 Bradford Peyton / Anoop Gojanur 16
PER Test Operation • Burst of 1000 packets sent from remote 13213-SRB unit • PC-connected 13213-SRB logs packets received in HyperTerminal • Link Quality Index (LQI) gives measure of the Packet Error Rate (PER) February 9th, 2007 Bradford Peyton / Anoop Gojanur 17
PER Test – Lab, Obstructions Average Link Quality Index vs. Fixed Location February 9th, 2007 Bradford Peyton / Anoop Gojanur 18
PER Test – Hall, Line of Sight Average Link Quality Index vs. Linear Distance February 9th, 2007 Bradford Peyton / Anoop Gojanur 19
Live Data Feed (Wireless Weather Station Model) Uploaded via macro through Excel VBA February 9th, 2007 Bradford Peyton / Anoop Gojanur 20
Design For All Competition Entry “Sensor Networks: Wireless Punching Bag” On-board application uses accelerometer to output impact force to external sensor for display February 9th, 2007 Bradford Peyton / Anoop Gojanur 21
Roadblocks • Licensing – inability to debug or compile new applications • Documentation – primarily directed at sister device (13192) • ‘New’ technology – Limited research resources available February 9th, 2007 Bradford Peyton / Anoop Gojanur 22
Project Timeline (Gantt Chart) February 9th, 2007 Bradford Peyton / Anoop Gojanur 23
Questions? • For future project updates, kindly refer to the project website at http://zigbee.zimtok5.com/ 13213-NCB & Background Debug Module (BDM) February 9th, 2007 Bradford Peyton / Anoop Gojanur 24
Recommend
More recommend