Catalog Description
Introduction to Embedded Systems. Microcontroller Hardware. ARM Processor. CPU Programming. Memory and I/O. Interfacing: Parallel and Serial Communication. A/D and D/A conversion Embedded system design methodologies. Specifications. Designing robust software for embedded systems. RTOS features.
Prerequisite: COE 301 and COE 203
Instructor
Dr. Ahmad Khayyat. Office: 22/150. Phone: 8234. Email: akhayyat@kfupm.edu.sa. Website: http://www.ccse.kfupm.edu.sa/~akhayyat
Office Hours
Sunday, Tuesday, Thursday 9 AM – 11 AM.
Course Website
https://blackboard.kfupm.edu.sa/
Textbook
Wayne Wolf, “Computers as Components: Principles of Embedded Computing System Design”, Third Edition, Morgan Kaufmann, 2012.
Course Learning Outcomes
-
Ability to apply knowledge of mathematics and science to design an embedded system using state-of-the-art microcontroller subsystems.
-
Ability to design a microcontroller-based embedded system to meet given specifications.
-
Ability to troubleshoot, debug, and test a microcontroller-based embedded system using learned debugging techniques and tools.
-
Ability to identify, formulate, and solve engineering problems in microcontroller-based embedded systems design.
Grading Policy
Assignments | 10% | |
Quizzes | 10% | |
Exam I | 15% | Sun. March 9, 2014, 6:30 PM |
Exam II | 15% | Mon. April 21, 2014, 6:30 PM |
Lab and project | 20% | |
Final Exam | 30% | Sun. May 18, 2014, 7 PM |
- Attendance will be taken regularly. For each missed 3 classes, a penalty of 0.5 will be deducted.
- Excuses for officially authorized absences must be presented no later than one week following resumption of class attendance.
- Late assignments will be accepted but you will be penalized 10% for each late day.
- A student caught cheating in any of the assignments will get 0 out of 10%. Any identical solutions are considered cheating.
- No makeup will be made for missing Quizzes or Exams.
Course Topics
Week 1: Introduction to Embedded Systems
Introduction to Embedded Systems; Requirements Analysis; Specifications; Design methodologies overview; Formalism.
Weeks 2 and 3: Microcontroller Organization
Structure of Microcontrollers, CPU, Memory and I/O Structure, Various Microcontrollers, ARM, PIC, and TI DSPs.
Weeks 4 and 5: CPU and Bus Systems
I/O and Memory mapping, Addressing modes, Interrupts and Traps, Bus protocols, DMA, System Bus Configurations, the AMBA and AHB Buses, Memory devices: RAM, ROM, SDRAM, Flash, Basic I/O Interfaces.
Weeks 6 through 9: Interfacing
Parallel Ports, LEDs, Pushbutton, Keypad, 7-Segment Display, LCD Display, Touchscreen, Timers and Counters, Serial Interface: UART RS-232, RS-422, RS-485, SPI, I2C, Synchronous, A/D and D/A conversion, Audio I2S, PWM, Input Capture, Servo and DC Motor Control, Networked Embedded Systems: Ethernet, WiFi and ZigBee.
Weeks 10 and 11: Embedded Programming Techniques
C-language primer, State machines, Streams, Circular buffers, Queues, Models of programs, Program Optimization, Using Compilers, Power-aware programming, Multitasking, Scheduling and Introduction to RTOS.
Week 12: Development and Debugging
Development Environment, Hardware/Software Debugging Techniques, Performance Analysis, The use of hardware debugging modules: ICE, JTAG, Scopes, Multimeters and Logic Analyzers, Verification and Tests, Testplan.
Week 13: Multiprocessor Embedded Systems
CPU and Hardware Acceleration, Mutiprocessor Performance Analysis, Using FPGAs, Case Study Consumer Electronics Architecture: Cell Phone, Digital Camera, Audio Player, DVD Player.
Week 14: System Design Techniques
Design Methodologies and Flows, Requirements Analysis, Specifications Description, System Analysis and Architecture Design, Quality Assurance.
Lab Topics
- Development environment: hardware and software
- General purpose input/output (GPIO)
- Interrupts
- Serial communication
- Analog-to-digital and digital-to-analog conversion
- Real-time clock
- External memory