Embedded Systems

alternate site   http://db.tt/lwgCHUca

Course duration    : 2nd semester 2013
Lecturer                : Prabhas Chongstitvatana, Prof.
                            (office Chulalongkorn University, Eng build 4, Floor 18, room 13, tel 022186982, email: prabhas at chula dot ac dot th)
Lecture                : Mon 14.00-16.00, 16:00-18:00 at MUIC

The content of the course is a mixed between hardware and software.  Embedded systems are computer systems with special requirement on constraints such as low power, high integration, and real-time. This course explores Embedded systems design. On the hardware side, it includes embedded processors and low level programming, logic design, integrated circuits.  On the software side, it includes Operating systems scheduling, communication and real-time constraints.  Here are the list of topics:
 
Introduction to embedded systems
Microprocessor
Assembly level programming
Memory, Peripherals and Microprocessor interface
IC and Design technology (optional)
Control systems
Operating systems and task scheduling
Real-time systems and their requirements
Real-Time communication protocols

How we learn

We learn by doing both hardware and software.  The activities include embedded system model construction, some programming, and laboratory session. The assignments will be given out periodically throughout the term. After  Midterm, students are required to give their presentations on their small projects to the class.  Final exam will be the accumulation of your knowledge and practice during the course. The final exam is "open book" and has an element of system design plus some "pseudo" programming.

Discussion is on Facebook page  search  "Embedded Systems 2013, MUIC"

Announcement

22 Apr 2013   The course starts.
24 Apr 2013   Project page, please get all materials and be ready to start building things in a forthnight.
                       Please download and install Logicworks 5.  We will use it in the next class.  (Windows OS)
17 June 2013  Project is announced.
24 June 2013  Final exam is on 13 July 2013, class room, 9-10 project presentation, 10-12 written exam.

Timetable

April
Introduction
Microprocessor: assembly language S21  sample program
logic design  Basic Logic   Microprocessors
architecture:   Evolution of computer architecture
May
memory, peripherals and interface  memory and interrupt i/o     peripherals
integrated circuits  integrated circuit design    semiconductor device fabrication  (wiki)
Digital Integrated Circuits, design and manufacturing process (ppt by J. M. Rabaey, A. Chandrakasan, B. Nikolic)

Midterm
June
control systems  Control (ppt)
Operating systems and task scheduling  basic OS concepts,   Nos  (Nut Operating System)  Nos services 
semaphore:  flash demo from William Stallings, U. of Queensland
lecture from Matt Welsh, Harvard,   semaphores.pdf 
real-time systems RTOS      real-time scheduling    
July
Embedded Systems Communication
CAN

Network on Chip
    General introduction (IEEE computer, 2002) 
          http://infoscience.epfl.ch/record/165542/files/00976921.pdf
    Recent development (International Symposium on Computer Architecture, 2011)
          http://pages.cs.wisc.edu/~hestness/links/KNOC_ISCA11.pdf
    Commercial development
          http://www.design-reuse.com/articles/10496/a-comparison-of-network-on-chip-and-busses.html

Reliability and fault tolerance
          final exam

Project Page

Homework

22 Apr    Write an assembly program (s2) to find the maximum value from three variables.  Use assembler and simulator tools to run it. This is help you to learn how to use programming tools and how to debug assembly language programs.
29 Apr    1) Build a 2 by 2 bits input (plus one carry in) full adder, use Logicwork 5.  Run your circuit and make sure that it works correctly.
             2) Explain how an R-S flip flop work, from the timing diagram on the slide "Microprocessor" page 6-7.

Assignment

1.  Get the embedded board (MSP430) and build the first project.  (dice game, a running number 0-9 on 7 segment display). The aim is for you to practice "building" a real embed system.  If you encounter problems, please use FB page embed system https://www.facebook.com/EmbeddedSystems2013Muic  to communicate with me and your friends.  Most problems can be solved easily.  Debugging a real circuit is a new skill for all of you.  It is not easy but not hard.  You will find it enjoyable.

2.  Project:  Make a unique project of your two-person team using the small board.  Emphasize is on the innovative concept.  Show your project in the class in two weeks (8 July).  Please coordinate so that there is no duplicate project. You must hand-in a report.  A report consists of: what is your project, its motivation, the diagram of your system, the code and half a page of "advertisement", why we should be excited about your project.  For the class presentation, prepare the slides and demo for 10 min.  I will pick which project to be presented.  This work is counted as 20% of the score.

  Project hand-in includes:
  1)  presentation 5 min. (by ppt), what is your project, why it is good?
  2)  demonstration, show how it works
  3)  answer questions
  4)  a  written report (4-5 pages), describing your motivation, your method, and results (with codes).

Recommended Textbooks

My old list.  They are good.
1. Ball S, Embedded Microprocessor Systems: Real World Design 2nd edition, Newnes 2000
2. Vahid F, Givargis T, Embedded System Design: A Unified Hardware/Software Introduction, Wiley 2002
    The authors have a new text published.  here http://www.programmingembeddedsystems.com/ 2012 (NEW)
3. Kopetz H, Real-Time Systems: Design Principles for Distributed Embedded Applications, Kluwer 1997
For a newer textbook, this one is good
4. Jonathan W. Valvano, Introduction to embedded systems: interfacing to the Freescale 9S12, 2009.  You can get it at amazon, cost around $90.
There is a very new textbook from Berkeley.  It is a free download.  It is not at our class level, much more theoretical. 
5. Lee & Seshia: Introduction to Embedded Systems - A Cyber-Physical Systems Approach.  http://leeseshia.org/

Additional Materials

A story of emulation of HP48 calculator
S23 assembly language
Rz language and its compiler
In the class on control systems, I mentioned Norbert Wiener (at wiki)

Course Assessment

Assignments           10%
project                   20%
Midterm paper        30%
Final exam             40%

Tools

s21 tools :    assembler and simulator  s21.zip
Logicworks5
assembler for s23  as23-1.zip

Acknowledgement

Slides and presentations are kindly permitted by Setha Pan-gnam, Chalermek Intanagonwiwat

last update 26 June 2013