1 / 25

Project Wisdom Stone Networking using MiWi

Project Wisdom Stone Networking using MiWi. Done By: Amnon Balanov & Yosef Solomon Supervisor: Boaz Mizrachi Project ID: d02310. Project Wisdom Stone. Small sensors, with very low power consumption Planted under roads Performing monitoring of road maintenance status.

golda
Download Presentation

Project Wisdom Stone Networking using MiWi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Project Wisdom StoneNetworking using MiWi Done By: Amnon Balanov & Yosef Solomon Supervisor: Boaz Mizrachi Project ID: d02310

  2. Project Wisdom Stone • Small sensors, with very low power consumption • Planted under roads • Performing monitoring of road maintenance status This information will save money by decreasing maintenance costs and time!

  3. Project Wisdom Stone • Based on a PIC24 micro-processor • Networking (two alternatives): • 2.4 GHz enabled by a MRF24J40 IEEE 802.15.4 Tx/Rx. • 433 MHz enabled by a MRF49XA Tx/Rx. • Networking will run MiWi (Microchip propriatory S/W stack) ***All components are made by Microchip.

  4. Project Goals The design and implementation of a networking S/W stack who’s functions will be: • Transmissions of aquired data to a PC via similar unit • Parsing commands received from PC station • WAKE interrupts from sleep - for sensing sessions

  5. System I/O • Tx/Rx • Communications with the PC unit • microSD memory chip • Stores aquired data • PIC interrupts • Wake/Transmission interrupts

  6. Extra Board PICtail Evaluation Board – Explorer 16 Sensor Array General HW Scheme MicroCTRL - PIC24FJ256GB110 Networking MRFJ40MB OR MRF49XA SPI SPI MEM- Flash & SRAM SPI MEM- microSD

  7. PIC-24FJ256GB110 • Internal flash Program Memory- 256kB • Current tests show 10% usage • SRAM Data Memory- 16kB • Current tests show 10% usage • We will have a double buffer, a block length each, for communications (block=1kB; currently) • 3 SPI Ports • We will use one for the MRF & one for the µSD.

  8. MRFJ40MB • Uses 2.4GHz RF • Uses O-QPSK modulation. • Receiver FIFO- 144 byte, interrupts when a whole packet was received. • Transmitter FIFO- 128 byte. • Packet header length ~20 Bytes (TBD) • Power: 19-23 mA Working • ~2 µA Sleeping

  9. MRF49XA • Uses 433MHz RF • Uses FSK modulation. • Receiver FIFO- 16 bit, interrupts when full up to a certain point (configurable). • Transmitter Registers- two 1-byte Registers, similar use to the PIC double buffer. • Packet header length ~10 Bytes (TBD) • Power: 11-15 mA Working 0.3 µA Sleeping

  10. System Speeds • MRF24J40 • 250 kbps transmission speed • MRF49XA • 115.2 kbps digital transmission speed • 256 kbps analog transmission speed • PIC24FJ256GB110 • computational power of 16 MIPS • sampling rate of 500 ksps • microSD • reads and writes are in the MB/s range

  11. General Software Layers Diagram

  12. Sample / Transmit working modes • Definition and support the following working modes: • Store samples (SS): Samples are stored in non-volatile memory for long period. • Transmit samples (TS): Samples are read and transmitted from non-volatile memory through Wireless/UART/USB. • Online sample and transmit (OST): Samples are read from sensor and then transmitted through UART/USB/Wireless, using internal SRAM memory (double buffer mechanism), without access to non-volatile memory.

  13. CLI Commands • The device is activated using a well defined CLI (Command Line Interface). • The command line strings are received from either: • TXRX wireless port • USB port • UART port • Internal ROM table (Configuration table) • Each command will be executed, and a prompt prefix, followed by the command result, will be returned to the command origin source (TXRX, USB or UART).

  14. CLI Commands Parsing • We will write a parser converting the different commands to a short field divided command. • Work on the parser is in its early stages. • For example: • eeprom <sub command> <optional parameters> • |5 bit command code| |3 bit sub-command| |8-bit optional|

  15. MiWi SW Stack • As was decided, we use the MiWi SW Stack. • MiWi is a proprietary stack designed by Microchip, free to use. • The stack is implemented as general as possible and suits to the proposed HW networking modules. • We use the MiWi P2P protocol.

  16. MiWi Protocol (Cont.) • The MiWi Protocol is divided into two parts: • MiApp - upper level used to connect our application with the MiWi P2P protocol • MiMAC - Using the MiMAC layer, we can easily switch between different RF transceivers such as MRF24J40 and MRF49XA.

  17. MiWi Protocol Layers

  18. MiApp Layer • This layer will give 5 major interfaces: • Initialization- allows configuration of selected hardware. • Hand-shaking-allows discovering and connecting to peers and network. • Receiving- allows receiving information over the air. • Transmitting- allows sending information over the air. • Extended Functionality-allows environment noise and power saving control.

  19. MiMAC Layer • The MiMAC Layer allows us the abstraction of the Transceiver driver- we use it regardless of the driver used (at least in theory) • Mainly implements the MiApp API

  20. Configuration File • Allows the easy configuration of the whole application: • Switching between Transceivers • Enabling/Disabling different functions of the SW stack • Further Development- Allows choosing the Protocol

  21. TXRX Commands- Main Loop API • TXInit() • Initialize network parameters. • The sensor creates a network. • TXBatchInit() • Initialize a new batch. • TXBlock() • Transmits block of size 1KB. • TXStop() • Ends transmission. • TXRXDeviceTasks() • This function will take care of the transceiver periodic tasks (handle TX and RX tasks).

  22. Network Diagram The sensor side PC side INIT INIT Send Command Interpret command & Send Data Receive Data Go To Sleep New/End Session

  23. Coordination in the WiStone • In order to comply with time constraints of other parts of the WiStone we will test to see how big a payload we can use. • In case we see a packet’s transmission cannot be interrupted and in order to allow easy coordination, we will make the transmission of a packet atomic (non-preemptive).

  24. Sleep • The two Transceivers support a sleep mode. • They save the current status on configuration registers to allow easy wake up. • The only way to wake up the transcievers is through pre-programmed timers on the transceivers or the PIC. • We need to figure out how to allow access not at a pre-determined time.

  25. Estimated Schedule • Finishing software development & basic testing (3 weeks)- • Completing code for: • The Main Loop functions. • Writing and documenting the parser (1 week) • Outdoors Testing (1 week)-Testing the network capabilities under simulated conditions. • Wrap-Up (1-2 weeks)- • End of term presentation • End of Project Report* Est. Total: 6-7 weeks. *Might be delayed because of Exam period

More Related