Professor Rajesh K. Gupta, EBU3B 2120, 858 822-4391,
Course Code: 662013 Class meets TuTh 5:00 PM – 6:20 PM, EBU3B-2154
NO CLASS 11/17. WE MEET ON THURSDAY 11/19 AT
4:00 PM IN CSE 2217
Check class webpage on WEBCT.UCSD.EDU
for class discussions, recordings, and to submit your homework.
Join Class Page on Facebook at http://www.facebook.com/group.php?gid=146512741243
Course Overview and Goals:
Given the constrained nature of the embedded system designs related to size,
timing, power, reliability and mobility issues, software for embedded systems
goes beyond traditional programming approaches to building software for
embedded real and non-real time systems. A systems design perspective is
needed that evaluates software cost-performance tradeoffs subject to various
optimization criteria and tools. This course presents architectural design
issues, system analysis and CAD tools for use in building systems and
application software for use in embedded systems.
The goal of this course is to understand design and implementation of building
software for embedded systems, management of design constraints related to
size, power, and performance and its formulation into specific optimization
problems.
Course Outline:
Lecture Notes: Tentative
|
Project Title |
Project Team |
Optimization/Evaluation Criteria |
Resources/References |
|
Mixed MOC implementation of skin detector |
Matt Jacobsen, Mike Rose |
Limited Bandwidth communication
between components. Optimize processing to match input datarate. |
Xilinx FPGA board with Microblaze, Linux Host -- Mixed
hardware/software implementations, profiling and highlevel partitioning of
application codes. |
|
Wireless health monitoring on mPlatform |
Kristian Oftedal |
Event driven design for maximized battery life. Network topology. |
mPlatform (2 MSP430 modules), 1 ARM7 module, heart rate sensor, temperature sensor |
|
Power-efficient compression |
Sathyanaryanan Kuppuswamy |
Minimize power use through combination of compression and transmission |
Stargate platform |
|
Task Scheduler on SHiMmer |
Edoardo Regini, Philippo Seracini |
RT scheduling in a energy harvested sensor platform. |
Look up PAL OS.
Explore Time-Triggered options. |
|
Packet processing on software processors |
Erik Rubow |
Packet processing rate measured against FPGA resources. |
NetFPGA -- Binary
optimizations for FPGAs (Vahid) |
|
Improving localization through assisted GPS |
Hayden Gomes |
Precision rated against processing/power |
Android/G1 |
|
Integration of 6LoWPAN monitors on mobile device for power monitoring |
Derick Johnson <open, looking
for a partner> |
Scalability of the monitoring network |
Android/G1, electrical power monitoring with wireless interface |
|
Network Booting of an Embedded Device |
Jonathan Brackbill |
Device response time on the network? |
Intel DBPXA272?/mPlatform/PSOC? |
|
Mobile Console to Industrial Control System |
Feng Zhang Dustin Medeiros |
Real-time monitoring and response to data from PLC |
Android/G1 |
|
GPS augmentation? |
Ashwini P |
|
|
|
Lighweight Remote Invocation for Sensornets? |
Chris Lei |
|
|
|
Discovery and match of pictures with Facebook data |
Benjamin Cichy |
|
Connect with Jim
Fowler |
Here is a pointer to past projects and reports.
Pointer to some projects from MIT. Spring 08.
Here is a pointer to project
suggestions by Prof. Yoav Freund on his Wiki page. While he looks for FPGA
implementations, it is mainly because of reasons for embedding these. Can also
be implemented on embedded platforms.
Here
is a partial list of resources available for projects. This is only a starting
point, if you need additional parts, allow for enough time to obtain these in
your project plans.
Cypress
PSOC:
3210
Evaluation Boards
3210
SDCARD Module Evaluation Kit
3214
Capsensing Evaluation Boards
3242
I2C Port Expander Evaluation Ki
3236
Pyroelectric Infrared Motion Sensor Evaluation Kit
3240
I2C-USB Bridge Kit
Intel
DBPXA272 Development Stations: this platform is designed for experimenting
with embedded wireless multimedia applications. Your project can also be
implemented using PXA27x DVK. We provide the DVK and a PC running windows and
Linux. You are responsible for arranging for any other resources you need to
complete the project. The tutorial file with instruction about how to configure
the board, install the bootloader, operating system and how to execute
applications on the board can be found at Mainstore_Setup.pdf.
GPS related hardware : Belkin, Garmin
OpenMoko Development Kit
iButton devices
Lego Mindstorms
Stargate2
Recommended
Primary References
1. Burns and Wellings, "Real-time Systems and Programming Languages", Addison-Wesley, 1997. Primary text related to programming language issues. A more recent version of this book is 2001 that goes into real-time Java.
2. M. Barr, A. Massa, “Programming Embedded Systems”, Second Edition, O’Reilly 2006. Available online. Practical tips.
3. Daniel Lewis, "Fundamentals of Embedded Software", Prentice-Hall, 2001. Practical tips a bit more formal that Barr but not much.
4. G. C. Buttazzo, Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications, Second Edition, Springer, 2005. A good text on Real-time scheduling (EDF and rate monotonic scheduling, etc).
5. H. Kopetz, "Real-time Systems," Kluwer, 1997.
6. S. Allworth, "Introduction to Real-time Software Design," Springer-Verlag, 1984.
Secondary References
7. A. Jantsch, Modeling Embedded Systems and SoCs - Concurrency and Time in Models of Computation: Morgan Kaufmann, 2003. Emphasis on modeling, with various MoCs (synchronous, process networks, FSMs, ...) and discussion of heterogeneous mixtures. Describes ForSyDe, a Ptolemy-like framework for heterogeneous MoCs (timed models, synchronous models and untimed models).
8. W. Wolf, “Computers as Components: Principles of Embedded Computer Systems Design,” Morgan Kaufman, 2000. Focus on processor architectures.
9. Gregory
Pottie and William Kaiser, Principles of Embedded Networked Systems Design:
10. Gomaa, "Software Design Methods for Concurrent and Real-time Systems," Addison-Wesley, 1993. Provides an overview of the software process design. Written from the point of view of a specific software system.
11. R. Gupta, "Co-synthesis of Hardware and Software for Embedded Systems," Kluwer 1995. My thesis. Written from the pov of a hardware designer.
12. Peter Marwedel, G. Goosens, "Code Generation for Embedded Processors," Kluwer Academic Publishers, 1995.
13. C. M. Krishna, K. Shin, "Real-time Systems," Mc-Graw Hill, 1997.
14. A. S. Berger, Embedded Systems Design: An Introduction to Processes, Tools, & Techniques: CMP Books, 2002. Low level programming, ICE, JTAG, etc.