FAQs
Below is a list of the most common questions you might have. If you have question which is not answered here, please contact us.
Frequently Asked Questions
What are the 'board requirements' for implementing IEEE802.15.4e?
- uC/radio interconnection:
- (essential) the uC must be able to trigger the radio to send a packet at a deterministic time
- (essential) the radio must be able to interrupt the uC when it receives the SFD of a packet
- Timing:
- (essential) a stable clock source (<50ppm, 10ppm ideal). A 32KHz crystal oscillator which drives the MSP430’s ACLK is perfect.
- a timer clocked from that clock source with
- (essential) one compare register
- (nice to have) one capture register
- (nice to have) the radio’s interrupt line (which fires when it receives an SFD) causes a timer capture.
- Debug environment:
- (essential) being able to JTAG/TRACE into the platform for debug.
- (important) some GPIOs to time the different event with a scope/logic analyzer. We have been using 6 GPIOs.
- (nice to have) Some LEDs to verify the status of the board. We have been using 3 LEDs.
What's the memory footprint of IEEE802.15.4e?
The list of global variables (which sit in RAM memory during execution) is listed in FAQs. The RAM footprint is the sie of a ieee154e_vars_t
structure, or 17 bytes.
While the IEEE802.15.4e state machine is somewhat complex, each of the activities is very simple and requires little flash memory. The flash footprint of the complete OpenWSN stack is 30kB.
What operating system do I need on my computer?
The project was developed using IAR, which runs on MS Windows. Once the hardware has been flashed with the firmware, however, the remainder of the tools (python scripts) can be run on any OS.
Do I need a crystal on my board?
The quick answer is yes. We used a 32KHz external crystal to ensure low-power use while feeding the slot timers of the TSCH module. A good crystal should have a drift of about 10p.p.m. if the motes are to remain synchronized efficiently.
How do I port the OpenWSN code onto my platform.
This is a very broad question. Contact Thomas Watteyne if you have specific questions.
In general, porting the code consists is adapting the files in the bsp directory. The most important/tricky are:
- the radio drivers (radio.c ). Check out the TschRadio page for a plain-English description of what those drivers should do.
- the timer drivers (ieee154etimer.c ). Check out the FAQs page for a plain-English description of what those drivers should do.
I'm lost. Can somebody help me?
Sure, see FAQs.