ECE 473 – Embedded Systems
Final Project Description
The Task
General Description of Embedded
Systems
Project Ideas
Project Requirements
Additional Requirements
for 4 Credit Students
Project Grading
Basic Task
The task of this project is to design and implement your own embedded
system and Real-Time operating system (RTOS). A general description
of embedded systems is found below, as well as several project ideas and
requirements.
This project should be done in groups of two. A group of three
may be permitted in some circumstances when the workload is appropriate.
Embedded Systems - General Description
Electronic systems based on a microcontroller and designed for a specific
application are called embedded systems. An embedded system can range in
complexity from rather trivial to exceedingly complex. Embedded systems
control everything from the blinking lights in athletic shoes to flight
control systems for high performance military aircraft. An embedded system
is a microcomputer system whose hardware and software are specially designed
and optimized to solve a single problem efficiently. Typically, an embedded
system continually interacts with its environment to monitor or control
some process.
The term embedded refers to the fact that the microcomputer is enclosed
or embedded in a large system and its existence as a microcomputer may
not be apparent. In some homes, the average non-computer user uses as many
as ten or more embedded systems each day. The microcomputers embedded in
these systems control household appliances, such as: televisions, VCRs,
cloths washers, dryers, food processors, thermostats, alarm systems and
cordless telephones. Even a general purpose personal computer (PC) contains
embedded microcomputers in its keyboard, monitor, and peripheral devices,
in addition to the main CPU in the PC.
Unlike a PC, embedded systems are not programmed by the end user. An
embedded system's application program is an integral part of the system
and must include software to control and interact with the system's peripheral
devices at the most detailed, or lowest, hardware level.
Many embedded systems are real-time systems. A real-time system must
respond, within a constrained time interval, to external events by executing
the task associated with each event. Real-time systems can be characterized
as soft or hard. A complex embedded system may utilize an operating system
to support the execution of its application program. When an operating
systems is used, it is most likely a real-time operating system (RTOS).
A RTOS is an operating system designed and optimized to handle the strict
time constraints associated with events in real-time applications.
Back to Top
Project Ideas
-
Weather Station Design – The primary functions of the weather station
to be developed are to display wind speed and wind direction on both digital
displays and on a CRT display. We will be discussing this project idea
in more detail in class.
The following lists the specifications for this particular
weather station:
-
The station must display the current wind speed in miles-per-hour at suitable
location on the CRT screen with a message to identify the number as wind
speed. The message must be updated at least every 150 millisecond (ms).
-
The station must display the wind direction as one of eight directions
at a suitable location on the CRT screen. The wind direction must be updated
at least every 110 ms.
-
The computer must control the CRT display using a serial communication
rate of 9600 baud.
-
A display unit consisting of eight lights arranged in a circle will indicate
wind direction. A "no-wind" light near the wind direction lights will be
illuminated to indicate that the wind direction can not be displayed. The
direction lights must be updated at least every 110 ms.
-
A header message must be displayed on the CRT screen at system startup.
This message must identify the CRT as a weather station.
-
As an optional addition to the design, put in an analog temperature sensor.
Then modify the weather station to display the temperature on the CRT and
update the display at least every 150 ms.
-
Burglar alarm System
-
Lawn Sprinkler System
-
Global Positioning System (GPS) receiver
-
A game
Back to Top
Requirements for all Projects
-
Your design must be new work. You cannot simply use a design from
another class.
-
Your design may be an extension to work already done for another class.
-
Your design must involve a microcontroller such as the 68HC11.
-
You must design your own RTOS for use in this system. See notes below
on the RTOS requirements.
-
Your software design must adhere to a modular, layered approach (as explained
in Ch. 2 of our text). Among other things, this means that all
interfaces to the hardware must be done in driver software.
-
The design must be implemented using either C or the assembly language
appropriate for the processor you have chosen.
-
A final report for the project must be submitted. This report will
contain your system specification, the high-level software design approach
and your self-documenting code. These are described in more detail
below.
-
Your project must be demonstrated to the instructor on or before the final
due date.
Notes on the Requirements:
Minimum RTOS requirements:
-
It must replace Buffalo (or whatever other operating system your unit uses)
-
It must be capable of supporting at least three tasks running at different
rates (for example a "main" and two different ISRs)
System Specification (Part of Final Report) Includes:
-
What the system should do and any response-time constraints
-
What system hardware is required
High-Level Software Design (Part of Final Report) Includes:
-
Diagram showing how the software modules follow a layered approach
-
A description and diagrams of the RTOS structure (foreground/background,
round-robin, etc.)
-
A list of all modules, what their function is and what their "public" interfaces
are (this is basically a self-documenting .h file)
Additional Requirements for
4 Credit Hour Students
In addition to meeting all other project requirements, 4 credit
hour students must have a multi-threaded application. This means
having at least two different tasks that are not ISRs, and an RTOS capable
of scheduling these tasks in some manner.
Back to Top
Project Grading
The grading for the project will be broken down as follows:
-
Final Report:
35% (divided up as shown below)
-
System Specification:
10%
-
High-level SW Design:
15%
-
Final Self-Documenting Code: 10% (this portion grades only
the documentation within the code)
-
Project Functionality
65%
In addition, a relative degree of difficulty (Average, Average+, Difficult)
will be assigned. This will not affect your score, but a more difficult
project will positively affect your final grade if you are a border-line
case.
Back to Top