|
|
səhifə | 14/16 | tarix | 27.10.2017 | ölçüsü | 500 b. | | #15525 |
| 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 - 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
|
|
|