You are on page 1of 8

Course Focus

Realizing the growth of embedded systems in day-to-day life and the need for trained
manpower in this promising area, C-DAC has launched a Diploma in Embedded Systems
Design (DESD) for Engineers in computers, electronics and IT. Embedded Systems is a
unique field, where engineers need to have sound knowledge in hardware and software
design. Keeping this aspect in view, C-DAC has designed the diploma giving equal emphasis
to hardware and software, enabling engineers to face challenges in the design and
development of state of the art embedded systems. The latest curriculum includes a module
on wireless embedded systems design, specifically focusing on wireless technologies and
Wireless Sensor Networks (WSN).
Course Highlights

Training by R & D Teams


Unique Curriculum designed by R&D experts
State of the art Laboratory
Creative Learning environment
Extensive Hands on sessions
Quality course content
Exposure to Soft Skills
Well equipped Library
Cooperative Learning

Eligibility Criteria

Qualification
1. Graduate in Engineering or equivalent (eg. BE/ B.Tech/ 4 years B. Sc
Engg./ AMIE/ AIETE/ DoEACC B level etc) in Electronics/ Electrical/ Computer
Science Engineering (CSE) or related areas.
2. PG in Engg. Sciences (eg. MCA/ M.Sc. Engg, M.Sc.(CS, IT, EE, Electronics,
Instrumentation etc)
3. The candidates must have secured a minimum of 55% marks in their
qualifying examination.

Course Fees

The total Fee of PG DESD course is of Rs. 69,000 (Rupees Sixty nine thousand
only). The Course fees is to be paid as per the schedule mentioned in the website.

Placement Initiatives

Placement Cell at respective center coordinates campus interviews. The selection


process is governed by the performance of the candidate during the course as well
as recruitment policies of visiting companies .

PG Diploma In Embedded Systems and Design (DESD) - Modules


Programming Concepts and Data Communication
Introduction to Embedded Systems Design
8/16/32 bit Microcontrollers and Interfacing
Real-Time Operating Systems (RTOS)
Embedded Systems Programming
Wireless Technologies and Mobile Programming
Digital Signal Processing
Project and Seminar

120
30
120
90
90
90
60
160

Hours
Hours
Hours
Hours
Hours
Hours
Hours
Hours

C & DS
Basics of Program Writing
Coding Practices
Overview of C Programming language
Embedding Assembly code in C program
Debugging and Optimization of C programs
handling portability issues in C
Introduction to Data Structures
Algorithms and abstract data types
Complexity of Algorithms
Linked lists types
Implementation and applications
Stacks Implementation and applications
Queues Types
Implementation and applications
Various Searching and Sorting Algorithms
Trees Types
Implementation and applications
OOPS Concepts
C++ Programming, Scripting languages
Introductory sessions on Graphs Implementation and applications
Software life cycle and various life cycle models
Project Management
Software Design for Embedded Systems Implementation
Optimization and testing
UML based
Embedded Design Methodology

90Hours

Data Communication

30Hours

Review of communication concepts


Circuit switching, Packet Switching
OSI and TCP/IP layered architectures
TCP, UDP, IP, ARP, RTP, RTCP, SIP, ICMP, PPP protocols
DHCP
LAN technologies: 802.2, 802.3, 802.4, 802.5

Socket programming
Introductory sessions on FDM
TDM
WDM multiplexing
PCM
WAN technologies: HDLC, Frame relay, ATM, FDDI
Application layer protocols: DNS, SMTP, HTTP, FTP, TELNET
Trends in Embedded Systems
Challenges and Design Issues in Embedded Systems
Assemblers
Compilers
Linkers
Loaders
Debuggers
Embedded In-Circuit Emulators and JTAG
Profilers and Test Coverage
Tools, Build Tools for Embedded Systems
Configuring and Building GNU
Cross-Toolchain

8-bit Processor and Interfacing

Processor Architecture (Princeton and Harvard)


RISC & CISC
Microcontrollers Features & Memories
Internal Architecture
Addressing Modes
Overview Instruction Set
Data Movement Instructions
Memory Instructions
Arithmetic & Bit Operation Instructions
Hardware Features
Reset & System Clock /Oscillators
Timers, Input Capture & Output Compare Modes
Firmware Design
Power, Oscillator & Reset Circuitry
I/O Ports
In-System Programming(ISP), In-Application Programming(IAP)
Interfacing LEDs, Switches & LCD
Parallel Interface
Interfacing Hardware to Microcontroller
Types of ADC and DAC
Example Interfacing of ADC & DAC to Microcontroller
Serial Interface through RS232
I2C

60Hours

SPI Communication
CAN Interfacing
USB or PCI Interfacing
Case Study on Designing one Embedded System using
Microcontroller
C programming for Microcontrollers
Debugging with JTAG

ARM Architecture and Organization

Introduction to 16/32-bit Processors


The ARM Architecture
Overview of ARM
Register Set and Modes
ARM Processor Core
ARM7TDMI & ARM 9TDMI
Data Path and Instruction Decoding
Comparison of ARM Series (ARM 10, ARM 11, Cortex)
Intelligent Energy Management & Trust Zone
ARM Instruction Set
Introduction to Exceptions
Conditional Execution
Branch, Branch Link and Branch Exchange
ARM Development Environment
Assembler and Compilers
Linkers and Debuggers
Software Interrupts
Data Processing Instructions
Multiple Register Transfer Instruction
Thumb Instruction Set
Mixing ARM & Thumb Instructions
Architectural Support for High Level Language
Data Types
Floating Point Data Types
Expressions, Conditional Statements and Loops
ARM MMU Architecture
Synchronization
Context Switching
Enhanced DSP Extension
Introduction to ARM Cortex family of processors and architecture
Operation Modes for Cortex-M3 (Thread and Handler Modes)
Registers and Memory Map of Cortex-M3
Introduction to Multi-Core Embedded Systems, Introduction to
FPGA

60Hours

Introduction to Operating Systems


OS services and goals, Types of Operating Systems
Process Management Process and Thread concept
Scheduling
Process Synchronization Mechanisms and Deadlocks
Memory Management Memory Allocation Problems
Paging Segmentation, Virtual Memory
Demand Paging
Page Replacement Algorithms
Thrashing
Working Set Model
File System Management File concepts
Allocation and Protection Mechanisms
I/O and Secondary Storage Management
Introduction to Linux Operating System
Architecture, Shell programming
System Call Interface
Processes and Signal API
POSIX thread API
IPC
Mechanisms (Pipes, FIFOs, Semaphores, Shared Memory, Message Queues and Sockets)
Introduction to Real time systems and Real time operating systems
Real Time OS Concepts, Introduction to RTAI
RTAI Architecture
Linux module programming
Introduction to basic RTAI kernel API
Real Time FIFO
Inter Process Communication between RT Task and Linux Process
IPC using shared memory
Mail boxes
Hard & Soft Interrupts
Interrupt Handling in RTAI
Performance parameters like Interrupt and Scheduling Latencies
Configuring and Compiling Overview and Comparison of various Real Time Operating
Systems

Introduction to Linux Device Driver, Classes of Device & Modules.


Kernel Modules Versus Applications, Symbol Table,
Using Resources (I/O Ports and I/O Memory)
Character Device Driver, Major and Minor Numbers,
File Operations & File Structure

Implementing Open, Read, Write & Release Operations


Device file system
Debugging Techniques, Overview of Techniques,
Case Study of any one Technique
Enhanced Char Drivers, ioctl, poll & select operations,
Asynchronous Notification
Concurrency and Race Conditions
Flow of Time, Jiffies, Delaying Execution, Timer Queues & Kernel
Timers
Hardware Management
Using I/O Ports, Using I/O Memory
Interrupt Handling, Installing & Implementing Interrupt Handler,
Tasklets and Bottom-Half Processing
USB/PCI Drivers
Introduction to Boot loaders and Board Support Packages
Overview of Block & Network Devices
KMOD & Advanced Modularization
Introduction to RTOS Concepts, Priority Assignment in Real Time
Systems, Priority Inversions, Real Time Task Specifications,
Schedulability Analysis of Real Time Tasks
Internal Kernel Structure of RTOS, TCB or PCB Structure in the RTOS,
Scheduling Algorithm used in RTOS
Task Management, Creation and Deletion of Task, Time Management,
Delaying & Resuming a Task
Inter Process Communication, Semaphores, Mutex, Mailboxes,
Message Queues
Porting of RTOS on one of the Target Boards

Wireless LAN 802.11 & WiMAX


RFID & Bluetooth
GSM & GPRS
Mobile Development Platforms (Android, Symbian, OpenMoko, J2ME)
Mobile Programming Languages
Design & Development of Mobile User Interfaces
Mobile Application Development & Debugging
Mobile WiFi and Bluetooth Applications
Mobile Location Based Services

DSP Fundamentals
Signals and their Classification, Sampling
Quantization
Nyquist

Criteria
Resolution
SQNR, LTI Systems
Transfer Function
Convolution
Correlation
Input-output equation
Frequency
Response
Impulse response
Fourier
Laplace and Z transforms
Discrete Fourier Transform
Fast Fourier Transform.
Octave Programming
Numeric Data Types
Strings
Variables
Expressions
Statements
Functions and Script Files
Error Handling, Debugging
Basic Input
and Output
C-Style I/O Functions
Multi dimensional plotting
Multiple plots
System Construction and Interface Functions.
Octave Demonstrations - Sampling and Smoothening
Modulation
Plotting poles & zeros
Impulse Response
Frequency Response
FIR, IIR and FFT Implementation
FIR Filter Design Concepts, Implementation of FIR Filter,
DSP based embedded Systems Design Process: Algorithms
IIR Filter Design Concepts, Implementation of IIR Filter, FFT
algorithm and Implementation
DTMF Generation and Detection using Octave
Audio Signal
Processing and Image Processing using Octave
Evolution & Brief overview of DSP processors (variants from Analog
Devices & Texas Instruments etc.)
Fixed and Floating point DSP's
DSP System Design & Development Tools
TMS320C55xx Architecture Overview

Functional Units, Memory


Space
Interrupts and Buses
Addressing Modes
DSP programming in Assembly and C
C55x
Instruction Set
Mixed C-and-Assembly Language Programming
Pipelining and Parallelism in TMS320C55x, C55x Peripherals,
Implementation of FIR Filter Using C55x
DSP Applications Introduction to data compression
Speech-Coding Techniques
introduction to CODECS

The students are assigned a project work for the duration of one month. Also, as a part of the
curriculum, they are required to give a seminar on a topic relevant to the Embedded Systems
Design. Special credit is given for the project work and seminar.
* Topics in this module to be covered parallel to other relevant modules
** Parallel with Programming Concepts Sub-Module