Skip to main content

The UWASA Node Introduction Lectures

Basic Information

In this lectures we are aiming to give a comprehensive introduction to the UWASA node. The course will be given on three full days 9-16 o'clock, during 13-15 of December, in Seminar room AS1023, TUAS building, Otaniementie 17. Lectures are given by Yusein Ali from University of Vaasa. For more information about the node see the UWASA node page.

Another tutorial course with more focus on programming and practical issues will be arranged in the beginning of 2010.

Objective

The students are expected to gain an acquaintance with the following components of the UWASA platform:

  1. Its basic pre-requisites,
  2. The hardware,
  3. The software.

Due to complicated nature of the platform, the course content is limited to the introduction level.

Requirements

The course contains lectures and small exercises, where the nodes are programmed. If you have a laptop available, bring it with you to the course and install the sotware listed below.

Required Software

The following list specifies the required software packages. Students participating in the course must install these software to be able to program in the exercises.

  1. Microsoft Visual Studio 2008:
    The platform software has a PC port, which contains all necessary modules, and provides an easy way to start application development.
  2. IAR Systems Embedded Workbench for ARM:
    Main controller software is developed using the specified compiler. 45 days trial version can be downloaded from http://www.iar.com/website1/1.0.1.0/68/1/.
  3. IAR Systems Embedded Workbench for 8051:
    RF Controller software is developed using the specified compiler. 45 days trial version can be downloaded from http://www.iar.com/website1/1.0.1.0/244/1/.
  4. Segger J-Link Driver and Documentation:
    Main Controller has JTAG emulator interface, hence it is debugged using one of the JTAG debug emulators. We recommend and use Segger J-Link for this purpose. Its MS Windows drivers can be downloaded from http://www.segger.com/cms/jlink-software.html. You may want to check “J-Link EDU” version of J-Link.

Required Hardware

The following list specifies the required hardware components:

  1. The UWASA Development Board
  2. The UWASA Main Module
  3. Segger J-Link for ARM

The course will provide these items.

Course Content

The course will be completed in 3 days. Lectures are given 9-12 o'clock and 13-16 o'clock with a lunch break at 12-13 o'clock. The content of each day is as follows.

The slides are available in the group intranet pages.

1st Day, Mon 13.12

  • a) Introduction to Sensor Network Platforms
    • i) Basic Hardware components
    • ii) Basic software components
  • b) Introduction to the UWASA platform hardware
    • i) Basic Hardware Modules
    • ii) The Development/Debug Board
  • c) Introduction to UWASA platform software
    • i) Basic software components
    • ii) Directory hierarchy
    • iii) Application development software
  • d) Introduction to FreeRTOS
    • i) Common RTOS definitions
    • ii) Basic capabilities of FreeRTOS
    • iii) Introduction to FreeRTOS API
  • e) FreeRTOS exercise
    • i) Inter-task communication and signaling using MS windows simulator (Visual Studio Project)

2nd Day, Tue 14.12

  • a) Detailed Description of UWASA platform software
    • i) Configuration
    • ii) Drivers
    • iii) (Middle)ware like APIs
    • iv) General in-node communication
  • b) Introduction to Serial Communication
    • i) Common Bus Types
    • ii) Common hardware supported software interfaces
    • iii) General serial communication software state machine
    • iv) Basic software components
      • (1) RTOS related requirements
      • (2) Buffers
  • c) Introduction to Buffer Structures
    • i) Ring Buffers – vs – FIFO buffers (or both?)
    • ii) Packaging
    • iii) Memory management
    • iv) Indirection and signaling
  • d) Introduction to the HCP API
    • i) Basic HCP structure
    • ii) How to generalize?
    • iii) Generalization examples
  • e) Console API
    • i) Basic structure
  • f) Serial Communication Exercise

3rd Day, Wed 15.12

  • a) In-node communication basics
    • i) Messaging
      • (1) Mailboxes
      • (2) Push – Pull (Get – Set ) Architecture
    • ii)  State updating
      • (1) Related Management Drivers
        • (a) Power control
        • (b) Time management (calibration routine)
    • iii) Data Exchange Architecture
    • iv) Discovering
  • b) Introduction to Nanostack
  • c) Wireless communication Tutorial
    • i) Sending mailbox data over wireless link
    • ii) Sending slave data over wireless link (slave)
    • iii) Sending master data over wireless link