0% found this document useful (0 votes)
84 views8 pages

Embedded Systems: Course Description

vvvv

Uploaded by

KhDaniyal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
84 views8 pages

Embedded Systems: Course Description

vvvv

Uploaded by

KhDaniyal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

University of Engineering and Technology, Lahore Spring 2019

MCT-222: Embedded Systems


INSTRUCTOR: Misbah ur Rehman
PLACE: Lecture Room no 302, 301
LAB: Computer Lab
TIME: Sec A: Thu, 01:00 p.m – 04:00 p.m
Sec B : Tue, 01:00 p.m – 04:00 p.m
CONTACT HRS: Thu, 12:00 p.m – 03:00 p.m

Course Description
Embedded systems are involved in almost every function of modern life. All modern
luxury equipment like Digital Cameras, Mobile Phones, GPS Devices, Cars, Bikes,
Televisions, DVD Players, Video Games and consoles, Answering Machines,
Microwave Ovens, Network Routers, Photocopy Machines, Music Synthesizers, Mobile
Phones, Planes, Spacecraft, and Boats represent some of the devices that utilize
Embedded Systems.

Now-a-days automobiles may contain as many as 65 embedded microprocessors,


controlling tasks such as Antilock braking, climate control, engine control, audio system
control, airbag deployment etc. A lot of research is being put up for development of the
driverless vehicles. A typical home may incorporate 10 ~ 50 sensors and their control
via embedded processors. Logic analyzers and digital storage oscilloscopes utilize
embedded processors to support real-time operation. Even PCs, which are designed
around powerful CPU such as the core i7, contain embedded systems. Floppy and hard
disk drives, CD-RW and DVD-ROM drives, and external peripherals such as printers,
scanners, and other SCSI, USB, or IEEE 1394 devices all contain embedded
processors.

The tremendous number of applications for embedded computing has given rise to high
demand for engineers with experience in designing and implementing embedded
systems. This course is an introductory level capstone course in embedded systems
and their design using PIC and AVR microcontrollers. The students work their way from
the basic architectural understanding of embedded systems and programming of PIC18
series microcontrollers in Assembly and C language. The interfacing and control of
different input/output devices is included in the later stages of the course, along with
working on Arduino development board. The design projects in Lab augment the
theoretical learning and provide hands-on experience in development of embedded
systems.
University of Engineering and Technology, Lahore Spring 2019

Course Outline
The course has been divided into four modules. For an easier understanding the
modules are kept as independent from one-another as possible. While the basic
structure of the course will follow the outline as mentioned, the contents may vary
slightly as decided by the instructor.

Module 1: Introduction to Embedded Systems (2 weeks)

▪ Definition and components of an embedded system


▪ Types of embedded systems
▪ Introduction to processors, digital memory, and their types
▪ Embedded Systems I/O
▪ Input/output interface chips
▪ Applications of embedded systems

Module 2: Low-level programming (Using Assembly with PIC18) (6 weeks)

▪ Microcontroller architecture
▪ Introduction to Assembly programming for PIC18
▪ Branch, Call, and Time delay Loops
▪ Arithmetic, Logic Instructions and Programs
▪ Table processing and Bank switching
▪ Hardware connections, configuration bits and ROM loaders
▪ ADC and PWM programming

Module 3: Higher Level programming (C programming with PIC18) (4~6 weeks)

▪ ADC programming and serial communication


▪ PWM and Interrupts
▪ LCD and servo interfacing
▪ I2C communication and smart sensors

Module 4: introduction to more advanced concepts (2~4 weeks)

▪ Working with Arduino


▪ GUI and interface in MATLAB
▪ RTOS
▪ Energy aware computing
▪ Internet of Things
▪ Safety and Dependability in Embedded Systems
University of Engineering and Technology, Lahore Spring 2019

Course Learning Objectives


On successful completion of this course, students will be able to:

c2 CLO1 Explain the general architecture of microcontrollers along with their PLO1
programming framework.
c3 CLO2 Program basic functions in microcontrollers. PLO1
c3 CLO3 Interface multiple sensors and actuators with the microcontrollers. PLO3
c4 CLO4 Design basic embedded systems using microcontrollers giving due PLO3
consideration to energy-awareness, safety and reliability.
c3 CLO5 Apply basic motor control techniques for mechatronic applications. PLO1

Lab CLOs
p4 CLO6 Design and implement application specific embedded system in a group PLO9
project.
p4 CLO7 Design and fabricate single and dual-sided PCBs for embedded system PLO5
implementation, using software tools (e.g. EaglePCB Design, Proteus
etc.)

Prerequisites
▪ MCT-212: Digital Logic Design
▪ MCT-143: Computer Programming- I

Suggested Text
Owing to a wide scope of course contents, multiple books are consulted, as under. The
course material may also suggest some additional text from time to time.

Text Books:

1. Muhammad Ali Mazidi , ‘PIC Microcontrollers and Embedded Systems’. 2008


2. David Russel, ‘Introduction to Embedded Systems: Using ANSI C and the
Arduino Development Environment’.

Reference Books:
▪ Tim Wilmshurst, ‘Designing Embedded Systems,with PIC Microcontrollers’,
2nd Edition. Newnes
▪ E. A. Lee and S. A. Seshia, ‘Introduction to Embedded Systems - A Cyber-
Physical Systems Approach’, Edition 1.5
▪ John Peatman, ‘Embedded Design with PIC18f452’.
University of Engineering and Technology, Lahore Spring 2019

▪ Tim Wilmshurst, ‘Designing Embedded Systems with PIC Microcontrollers’,


Newnes.
▪ ‘Getting Started with the Internet of Things: Connecting Sensors and
Microcontrollers to the Cloud’.
▪ Microchip cor., ‘PIC ICSP guide’, Microchip™

Online Resources:
▪ http://www.microchip.com/
▪ http://arduino.cc/

The lecture notes and assignments will be uploaded on the following link:

▪ https://groups.yahoo.com/neo/groups/MCE_2016/

Tentative Lecture Plan


The following outline is a tentative plan of instructions. The sequence may vary, if a
need arises. However, the contents will remain the same.

Week Topics Covered CLO


Week Introduction to Embedded Systems & Embedded processor
concepts.
1 o Definition and components of an embedded system CLO1
o Types of embedded systems
o Introduction to processors, digital memory, and their types
Week o Embedded Systems I/O
o Input/output interface chips CLO1
2 o Applications of embedded systems
Week PIC overview & PIC instruction set & assembly Language.
o PIC history & features
3 o PIC18 Program ROM types CLO2
o PIC18 Internal Architecture & Data Memory organization
o PIC Data format & Directives
Week o I RISC & CISC Architecture
o PIC18 Instruction set (Types of Instructions)
4 I/O Port programming & ALU instructions.
CLO2
o Role of TRISX, LATX & PORTX registers
o RAW Data dependency & Time delay
o Branch Penalty & Multistage Execution pipelining
Week Arithmetic & logical Instructions
o Addition of unsigned numbers
5 o Subtraction, Multiplication & Division
CLO2
o Logic & Arithmetic Instructions
University of Engineering and Technology, Lahore Spring 2019

Direct & Indirect modes of Memory Addressing


o Immediate & Direct addressing modes
o Bank switching
Week Embedded System development through C programming.
o I/O port programming in C
6 o Logic Operations in C
CLO1,
CLO2
o Data Serialization, ROM & RAM Space Allocation

Week Time interval measurements through PIC Timer programming


CLO2
7
Week Quiz
8
MID-SEMESTER EXAM

Week ADC and PWM Programming


CLO3
9
Week Interrupts & Interrupt timing, Interrupt priority & Interrupt flags
CLO4
10
Week Programming Arduino using Arduino IDE
CLO3,
o Programming basics and I/Os
11 o ADC programming and serial communication
CLO5

Week o PWM and Interrupts CLO4,


o LCD and servo interfacing CLO5
12
Week I2C communication and smart sensors
CLO3
13
Week GUI and interface in MatLab
RTOS CLO1
14 Embedded Software Design
Week Embedded Networks
Energy aware computing
15 Internet of Things
CLO3
Safety and Dependability
END-SEMESTER EXAM
University of Engineering and Technology, Lahore Spring 2019

Lab Work
The course is designed as a hands-on learning experience, where the students will be
introduced to hardware based tasks along with simulations to implement the theoretical
concepts. The lab is aimed at complementing the learning process in the theory
lectures, as well as enabling the students to program and use PIC microcontroller, and
Arduino Board for their projects, and as a general data acquisition device. The Lab will
utilize the MPLab IDE, its assembly and C language for programming for PIC, and the
Arduino IDE / Processing for programming Arduino. The programs will be simulated and
tested using Proteus ISIS™.

The semester projects are designed to increase the understanding, design and
implementation of embedded systems. The students will be required to complete three
projects during the semester. The design and manufacturing of Printed Circuit Boards
will also be discussed. To enhance the learning process, the students are encouraged
to design and implemented their projects using PCBs.

On successful completion of this lab course, students will be able to:

▪ Use PIC controller and program it using MPLab IDE.


▪ Use Arduino based AVR boards and program using Arduino IDE.
▪ Interface multiple types of passive, active and smart sensors to the
microcontrollers, and subsequently to the computer.
▪ Interface different output devices with the microcontroller.
▪ Understand basic multi-layered PCB design and its implementation.

Lab Schedule
Lab Title Details
#
1 Introduction: o Introduction about the lab
General Lab Rules o Getting the students familiar with the equipment present in the
and Work Safety lab and discussing about work safety (working with voltages,
component shielding)
2 Introduction to o The students will learn about using Proteus as a design and
Proteus Design simulation tool for electronic circuits.
3 Introduction to PCB o Single and Dual sided PCB design will be learned and a basic
Design design of PIC18F452 microcontroller PCB will be implemented.
4 Introduction to o Introduction to PIC18F452/PIC18F4550 and its peripherals
MPLAB 18F452 o Learn about MPLab IDE (interface and basics)
5 I.O control using o Implement the basic starting circuit for the
PIC18F452 PIC18F452/PIC18F4550.
o Write a code for manipulating I/O ports.
University of Engineering and Technology, Lahore Spring 2019

o Use the .hex file for simulation in Proteus.


6 Seven Segment o Extend I/O programming to handle multiple pins at the same
Displays and Time time.
Multiplexing o Interfacing a 7-segment display with PIC18F452/PIC18F4550
7 Arithmetic o To understand how to use switches and push buttons with the
Operations using microcontroller.
PIC18F452 o To understand and design some logic functions like ‘addition’,
‘subtraction’, and Multiplication using PIC18F452/PIC18F4550.
8 PIC18 Programming o To implement the I/O programming in PIC18 using C language.
in C language o To compare the use of C language and Assembly language
9 Analog to Digital o To understand the process of analog-to-digital conversion
Conversion and o To use the ADC in the microcontrollers to capture simple analog
PWM data from sensors
o To use PWM technique to control the average voltage.
10 Interrupt o Programming interrupts and understanding the interrupt based
Programming program flow in microcontrollers.
o Get introduced to the basics of task scheduling.

11 Introduction to o Get introduced to the Arduino platform as an alternate


Arduino and microcontroller development platform.
Arduino IDE o Learn about the basics of programming Arduino

12 7-Segment Displays o Extend I/O programming in arduino to handle multiple pins at


and PWM using the same time.
Arduino o Learn how to use analogWrite() function to create PWM.

13 AnalogRead and o Use the analogRead() function to read analog signals.


Serial o Send the data to Arduino ‘serial monitor’ using serial library.
Communication

14 Arduino and o Use MATLAB and MS Excel to visualize the saved data.
MATLAB: Data o Use MATLAB to program Arduino in MATLAB environment
Visualization using Arduino support package for MATLAB

15 Interrupt o Program interrupts using Arduino


programming in
Arduino

16 Servo Motor Control o Learn how servo motors works


and LCD interfacing o Use the servo library to control servo motors.
o Use the Liquid Crystal Library to display sensor data on an LCD

17 GUI with MATLAB o Use MatLab’s GUIDE tool to generate Graphical User Interface.
o Use Arduino with MatLab through a GUI.
University of Engineering and Technology, Lahore Spring 2019

18 Lab Project – I o Lab project-I involves manufacturing a PCB for PIC18


19 Lab Project – II microcontroller platform for easier testing and development.
o Mid-semester project requires the students to use the use of
time-multiplexing technique to interface MUX 7-segment
displays or a dot-Matrix display with the microcontroller
20 Lab Project – III
o The students should work in a group project to use the embedded
development techniques they have learned to implement a
mechatronic system incorporating sensors and actuators.

Grading Policy
This is a 3 + 1 credit hour course

Theory Lab
Class Participation 10% Lab Evaluations 30%
Quizzes 20% Projects 50%
Mid-Sem. Exam 30% Viva 20%
End-Sem. Exam 40%

Document v_4 drafted by Misbah ur Rehman, dated: Jan 19th 2017

You might also like