Embedded Systems
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
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