Definitions and background



Yüklə 500 b.
səhifə14/16
tarix27.10.2017
ölçüsü500 b.
#15525
1   ...   8   9   10   11   12   13   14   15   16

Peripheral components:

  • DMA controller
  • fopur 10-bit ADC inputs
  • serial ports (RS232, SPI, I2C, SIO)
  • 42 multiplexed general purpose I/O pins


The communication subsystem is connected to the processing subsystem through a SPI interface

  • The communication subsystem is connected to the processing subsystem through a SPI interface

    • CC2420 RF transceiver
    • when an RF message has been successfully received, the SPI interface enables the radio to wake up a sleeping processor
    • the processor subsystem controls the communication subsystem by either turning it off or putting it in sleep mode


Designed for a specific application, namely, to monitor pig production

  • Designed for a specific application, namely, to monitor pig production

  • Motivation:

    • monitors movements of a sow to predict onset of estrus
      • so that appropriate care can be given for pregnant sows
    • detecting cough or limping to monitor illness




The processing subsystems consists of :

  • The processing subsystems consists of :

    • microcontroller
      • performs less complex, less energy intensive tasks
      • initializes the FPGA and functions as an external timer and an ADC converter to it
    • Field Programmable Gate Array


There are a number of interfaces supported by the processing subsystem, including

  • There are a number of interfaces supported by the processing subsystem, including

    • the I2C interface for the sensing subsystem
    • the SPI interface for the communication subsystem
    • the JTAG interface for in-system programmability and debugging
    • the serial (RS232) interface for interaction with a PC




Functional Aspects

  • Functional Aspects

    • Data Types
    • Scheduling
    • Stacks
    • System Calls
    • Handling Interrupts
    • Multithreading
    • Thread-based vs. Event-based Programming
    • Memory Allocation
  • Non-Functional Aspects

    • Separation of Concern
    • System Overhead
    • Portability
    • Dynamic Reprogramming
  • Prototypes

    • TinyOS
    • SOS
    • Contiki
    • LiteOS
  • Evaluation



An operating System is

  • An operating System is

    • a thin software layer
    • resides between the hardware and the application layer
    • provides basic programming abstractions to application developers
  • Its main task is to enable applications to interact with hardware resources



Operating systems are classified as: single-task/multitasking and single-user/multiuser operating systems

  • Operating systems are classified as: single-task/multitasking and single-user/multiuser operating systems

    • multi-tasking OS - the overhead of concurrent processing because of the limited resources
    • single task OS - tasks should have a short duration
  • The choice of a particular OS depends on several factors; typically functional and non-functional aspects



Functional Aspects

  • Functional Aspects

    • Data Types
    • Scheduling
    • Stacks
    • System Calls
    • Handling Interrupts
    • Multithreading
    • Thread-based vs. Event-based Programming
    • Memory Allocation
  • Non-Functional Aspects

    • Separation of Concern
    • System Overhead
    • Portability
    • Dynamic Reprogramming
  • Prototypes

    • TinyOS
    • SOS
    • Contiki
    • LiteOS
  • Evaluation



Interactions between the different subsystems take place through:

  • Interactions between the different subsystems take place through:

    • well-formulated protocols
    • data types
  • Complex data types have strong expression power but consume resources - struct and enum

  • Simple data types are resource efficient but have limited expression capability - C programming language



Two scheduling mechanisms:

  • Two scheduling mechanisms:

    • queuing-based scheduling
      • FIFO - the simplest and has minimum system overhead, but treats tasks unfairly
      • sorted queue - e.g., shortest job first (SJF) - incurs system overhead (to estimate execution duration)
    • round-robin scheduling
      • a time sharing scheduling technique
      • several tasks can be processed concurrently


Regardless of how tasks are executed, a scheduler can be either

1   ...   8   9   10   11   12   13   14   15   16




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin