CSE 466
Software for Embedded Systems
Credits
4.0
Lead Instructor
Joshua Smith
Textbook
- MSP430 Microcontroller Basics, John H. Davies
Course Description
Software issues in the design of embedded systems. Microcontroller architectures and peripherals, embedded operating systems and device drivers, compilers and debuggers, timer and interrupt systems, interfacing of devices, communications and networking. Emphasis on practical application of development platforms.
Prerequisites
either CSE 352 or CSE 378; either CSE 303 or CSE 333.
CE Major Status
Selected Elective
Course Objectives
Understanding of basic microcontroller architecture and the motivation for their special features
that distinguish them from microprocessors.
Understanding of interfacing techniques for connecting microcontrollers to a variety of sensors and
actuators (both digital and analog).
An appreciation for the different considerations and constraints that software developers for
embedded systems must deal with.
Appreciation of power management methods.
Understanding of basic communication protocols both wired and wireless.
Facility with a complete set of tools for embedded systems programming and debugging.
Experience with implementing several embedded systems with particular focus on their interaction
between multiple devices and between devices and general-purpose computers.
ABET Outcomes
(a) an ability to apply knowledge of mathematics, science, and engineering
(b) an ability to design and conduct experiments, as well as to analyze and interpret data
(c) an ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
(d) an ability to function on multi-disciplinary teams
(e) an ability to identify, formulate, and solve engineering problems
(f) an understanding of professional and ethical responsibility
(g) an ability to communicate effectively
(h) the broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context
(i) a recognition of the need for, and an ability to engage in life-long learning
(j) knowledge of contemporary issues
(l) knowledge of probability and statistics
Course Topics
- Embedded Systems: applications and platforms
- Microcontrollers: architectures, peripheral units, memory systems
- Interrupts: interrupt architectures, device drivers, timers
- Interfacing: basics of interfacing including GPIO, D/A, A/D, serial ports
- Communication Protocols: serial and parallel communication methods
- Introduction to Sensor Networks: basics of sensor networks including networking protocols
- Sensor Node Software: embedded and real-time OS issues, modularity
- Radio Protocols: common radio protocols and emerging standards
- Project Design: developing the specification of the final project (flock, soccer, etc.)
- TinyOS Case Study: bottom-up design of an embedded operating system
- Industry Guest Lectures: lectures from local companies developing mobile and embedded systems
- Special Topics: on-going embedded systems research projects at UW