राष्ट्रीय इलेक्ट्रॉनिकी एवं सूचना प्रौद्योगिकी संस्थान

National Institute of Electronics & Information Technology

Ministry of Electronics & Information Technology
Government of India
Course Calendar

ED 500 – Post Graduate Diploma in Embedded System Design

Course : Post Graduate Diploma in Embedded System Design
Code : ED500
Starting Date : 16 August,2017
Last Date To Apply : 14 August,17
Course Coordinator :

EMail: shoukath@calicut.nielit.in , shoukath@nielit.gov.in
Phone : 0495 2287266(Ext 223)
Mob : 9447423306

Course Preamble

To better compete in the global market, successful companies are finding that investments in hardware and software are no longer enough. Human elements with specialized engineering and design skills have become the essential part of the equation. 

Embedded systems are ubiquitous. We find them everywhere- at our homes, offices, in shopping malls, in hospitals, in cars, in air craft and so on. They monitor and control everything from spacecraft to robots, microwave ovens, automobiles, consumer electronics and much more. They control virtually everything that is electronic in our lives.

Embedded systems are normally built around Microcontrollers, FPGAs and SOCs. This Embedded System Design course focuses on the architecture and programming of embedded devices such as Microcontrollers and FPGAs and also on embedded and Real-Time Operating Systems.

Course Objective

The objective of the course is to provide understanding of the techniques essential to the design and implementation of embedded systems using appropriate hardware and software tools. This course offers a range of topics of immediate relevance to industry and makes the participants exactly suitable for Embedded Industry.

Course Outcome

On completion of the Course, the Participants shall get 

  •     Exposure with different families and architectures of Embedded System tools such as ARM Microcontrollers, FPGAs etc.
  •     Expertise required to design any embedded system (H/w or S/w or both) based on any of the above devices.
  •     Expertise in Embedded Software particularly in real-time programming with industry standard RTOS.

Course Structure

The ED500 course contains eight modules. After completing the first seven modules, the students have to do a six weeks project using any of the topics studied to get the PG Diploma certificate

ED 500 Module Name Weeks
ED501 Embedded C and ARM Cortex Microcontrollers 4
ED502 Embedded Linux 2
ED503 Embedded RTOS 4
ED504 Porting on ARM Cortex Microcontrollers 2
ED505 IoT (Internet of Things) 2
ED 506 System Design using FPGAs 2
ED 507 Embedded Product Design 2
ED 508 Project Work 6
Total   24

Course Contents

ED501 : Embedded C and ARM Cortex Microcontrollers ( 20 Days )

Module Duration : 20 Days

Objectives

This module is framed to set the required background in embedded system concepts and ‘C’ language for the rest of the modules. It aims at familiarizing the students in embedded concepts and programming in ‘C’. This module covers the advanced topics in ‘C’ such as Memory management, Pointers, Data structures which are of high relevance in embedded software is considered in depth. This module makes use of KEIL C Compiler along with ARM Cortex Microcontrollers.

This module covers the architecture of the popular 32-bit bit Microcontroller such as ARM. The ARM Cortex processor is the industry-leading 32-bit processor for highly deterministic real-time applications, specifically developed to enable partners to develop high-performance low-cost platforms for a broad range of devices including microcontrollers, automotive body systems, industrial control systems and wireless networking and sensors.

Course Description

Embedded Concepts

Introduction to embedded systems, Application Areas, Categories of embedded systems, Overview of embedded system architecture, Specialties of embedded systems, recent trends in embedded systems, Architecture of embedded systems, Hardware architecture, Software architecture, Application Software, Communication Software, Development and debugging Tools.

 ‘C’ and Embedded C

Introduction to ‘C’ programming, Storage Classes, Data Types, Controlling program flow, Arrays, Functions, Memory Management, Pointers, Arrays and Pointers, Pointer to Functions and advanced topics on Pointers, Structures and Unions, Data Structures, Linked List, Stacks, Queues, Conditional Compilation, Preprocessor directives, File operations, Variable arguments in Functions, Command line arguments, bitwise operations, Typecasting.

Introduction to ARM Cortex Architecture

Introduction to 32-bit Processors, The ARM Architecture, Overview of ARM, Overview of Cortex Architecture, Cortex M3 Register Set and Modes, Cortex M3 Processor Core, Data Path and Instruction Decoding, ARM Cortex M3 Development Environment, Assembler and Compiler, Linkers and Debuggers, ARM, Thumb & Thumb2 instructions, Mixing ARM & Thumb Instructions, Memory hierarchy, Memory Mapping, Cache.

Cortex M3 Microcontrollers & Peripherals

Cortex M3 based controller architecture, Memory mapping, Cortex M3 Peripherals – RCC, GPIO, Timer, System timer, UARTs, LCD, ADC, Cortex M3 interrupt handling – NVIC. Application development on Cortex M3 controllers using standard peripheral libraries.

Text Books:

Embedded/Real Time Systems Concepts, Design and Programming Black Book, Prasad, KVK.
Let us C by Yashwant Kanetkar.
The Definitive Guide to the ARM Cortex M3, Joseph Yiu, Newnes.
Reference Books:

  1. Embedded Systems Architecture Programming and Design: Raj Kamal, Tata McGraw Hill.
  2. Embedded C, Pont, Michael J
  3. Embedded Systems an Integrated Approach: Lyla B Das, Pearson
  4. C Programming by Worthington, Steve
  5. C Programming language, Kernighan, Brian W, Ritchie, Dennis M
  6. Art of C Programming, JONES, ROBIN,STEWART, IAN
  7. C Programming for Embedded systems, Zurell, Kirk
  8. Assembly language Programming ARM Cortex-M3, Vincent Mahout, Wiley
  9. Embedded Linux: Hardware, Software, and Interfacing, Hollabaugh, Craig.
  10. Embedded/Real-Time Systems: Concepts, Design and Programming: The Ultimate Reference, Dr. K.V.K.K. Prasad, Published by Wiley DreamTech, 2003
  11. ARM System Developer’s Guide – Designing and Optimizing System Software by: Andrew N Sloss, Dominic Symes, Chris Wright; 2004, Elseiver.
  12. Cortex M3 Reference manual.
  13. STM32Ldiscovery datasheets, reference
  14. Chibi-OS / RT API reference manuals & documents.
English

ED 502:Embedded Linux ( 10 Days )

Module Duration : 10 Days

Objectives

The objective of the course is to provide understanding of the techniques essential to the design and implementation of embedded systems with embedded operating systems.

Course Description

Introduction

Basic Operating System Concepts
Linux as Embedded Operating System
Comparison of Embedded OS
Embedded OS Tools and Development
Discussion on Embedded OS Applications and Products

System architecture of a Basic OS

Internals of Linux OS
System Calls, Linux Compiler options, Make
Process, Multithreading and Synchronization
Serial port and Network programming with Embedded Linux
Kernel module programming and Device drivers

Inter Process Communication

Pipe and FIFOs, Shared memory, Sockets

Getting Linux on a device

Linux boot sequence, Building Kernel, Building Boot image

Practical Sessions

Embedded Linux Applications

Learning Outcomes

After successful completion of the module, the students shall be able to:

  • Understand the Embedded operating systems that is needed to run embedded systems
  • Understand Embedded Linux and its internals
  • Build embedded systems using Embedded Linux operating systems

 Reading List

  1. GNU/LINUX Application Programming, Jones, M Tims
  2. Embedded Linux: Hardware, Software, and Interfacing, Hollabaugh, Craig,
  3. Building Embedded Linux Systems: Yaghmour, Karim
  4. Embedded Software Primer: Simon, David E.
  5. Linux Kernel Internals: Beck, Michael At Al
  6. UNIX Network Programming : Steven, Richard
  7. Linux: The Complete Reference: Petersen, Richard
  8. Linux Device Drivers: Rubini, Alessandro, Corbet, Jonathan
  9. Linux Kernel Programming: Algorithms and Structures of version 2.4: Beck, Michael At Al
  10. Linux Kernel Development: Love, Robert
  11. Operating System Concepts, Peter B. Galvin, Abraham Silberschatz, Gerg Gagne, Wiley Publishers
English

ED 503: Embedded RTOS (20 Days)

Module Duration : 20 Days

Objectives

The objectives of the course is to provide the students with an understanding of the aspects of the Real-time systems and Real-time Operating Systems and to provide an understanding of the techniques essential to the design and implementation of real-time embedded systems. This course covers two popular real time operation systems VxWorks and RTLinux.

Course Description

Introduction

  • Embedded Software – Real-time Vs Non Real-time
  • Introduction to Real-time systems and Embedded Real-time Systems
  • Discussion of popular RTOS like RTLinux and VxWorks
  • Comparison of Embedded RTOSs (RTLinux and VxWorks)
  • Design Goals for Real-time software
  • Discussion on Embedded Real-time applications
  • Considerations for real-time programming

System architecture of RTLinux

  • Introduction RTLinux
  • Thread Creation and Management
  • Thread Synchronization Mechanisms
  • IPC – RTFIFO, Shared Memory
  • Interrupt Handling

System Architecture of VxWorks

  • Introduction to VxWorks
  •  Task Creation and management
  •   Inter Task Communication Mechanisms
  •   Semaphores, Message Queues, Pipes
  •  Interrupts, Tornado tools

Practical Sessions

  • Application Development under RTLinux and VxWorks

Learning Outcomes

After successful completion of the module, the students shall be able to:

  • Understand the Embedded Real Time software that is needed to run embedded systems
  • Understand the RTLinux RTOS and their commands
  • Understand the VxWorks RTOS and realtime application programming with it.
  • Build real-time embedded systems using RTLinux and VxWorks real-time operating systems

Reading List

  • Embedded Systems Architecture Programming and Design: Raj Kamal, Tata McGraw Hill
  • Embedded/Real Time Systems Concepts, Design and Programming Black Book, Prasad, KVK
  • Software Design for Real-Time Systems: Cooling, J E Proceedings of 17the IEEE Real-Time Systems Symposium December 4-6, 1996 Washington, DC: IEEE Computer Society
  • Real-time Systems – Jane Liu, PH 2000
  • Real-Time Systems Design and Analysis : An Engineer’s Handbook: Laplante, Phillip A
  • Structured Development for Real – Time Systems V1 : Introduction and Tools: Ward, Paul T & Mellor, Stephen J
  • Structured Development for Real – Time Systems V2 : Essential Modeling Techniques: Ward, Paul T & Mellor, Stephen J
  • Structured Development for Real – Time Systems V3 : Implementation Modeling Techniques: Ward, Paul T & Mellor, Stephen J
  • Monitoring and Debugging of Distributed Real-Time Systems: TSAI, Jeffrey J P & Yang, J H
  • Embedded Software Primer: Simon, David E.
English

ED 504: Porting on ARM Cortex Microcontrollers (10 Days)

Module Duration: 10 days

Objectives

ARM is a family of instruction set architectures for computer processors based on a reduced instruction set computing (RISC) architecture developed by British company ARM Holdings. In 2005, about 98% of all mobile phones sold used at least one ARM processor. The low power consumption of ARM processors has made them very popular: 37 billion ARM processors have been produced as of 2013, up from 10 billion in 2008. The ARM architecture (32-bit) is the most widely used architecture in mobile devices, and most popular 32-bit one in embedded systems The ARM Cortex processor is the industry-leading 32-bit processor for highly deterministic real-time applications, specifically developed to enable partners to develop high-performance low-cost platforms for a broad range of devices including microcontrollers, automotive body systems, industrial control systems and wireless networking and sensors.

The processor delivers outstanding computational performance and exceptional system response to events while meeting the challenges of low dynamic and static power constraints. The processor is highly configurable enabling a wide range of implementations from those requiring memory protection and powerful trace technology to cost sensitive devices requiring minimal area.

In this module the development of Application on ARM Cortex Microcontrollers by Porting chibi-OS is detailed.

Course Description

Porting RTOS to ARM Cortex Microcontrollers

Building root file system, Kernel Compilation for ARM, Porting of OS to ARM. Overview of open source RTOS (Chibi-OS / FreeRTOS / MicroC-OS etc.), Porting open source – Embedded OS (Linux) & other RTOS (Chibi-OS / FreeRTOS / MicroC-OS etc.) on ARM Cortex Microcontrollers. RTOS based applications development on Cortex Microcontrollers.

 Text Books:

  1. The Definitive Guide to the ARM Cortex M3, Joseph Yiu, Newnes
  2. Real-Time Embedded Multithreading, Edward L Lamie, CMP Books

 Reference Books:

  1. Assembly language Programming ARM Cortex-M3, Vincent Mahout, Wiley
  2. Embedded Linux: Hardware, Software, and Interfacing, Hollabaugh, Craig.
  3. Embedded/Real-Time Systems: Concepts, Design and Programming: The Ultimate Reference, Dr. K.V.K.K. Prasad, Published by Wiley DreamTech, 2003
  4. ARM System Developer’s Guide – Designing and Optimizing System Software by: Andrew N Sloss, Dominic Symes, Chris Wright; 2004, Elseiver.
  5. Cortex M3 Reference manual.
  6. STM32Ldiscovery datasheets, reference manuals & Application notes.
  7. Chibi-OS / RT API reference manuals & documents.
Undefined

ED 505: IoT (Internet of Things) Applications (10 Days)

Module Duration: 10 days

Objectives

The Internet of Things (IoT) is a scenario in which objects, animals or people are provided with unique identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction. The Internet of Things (IoT, sometimes Internet of Everything) is the network of physical objects or “things” embedded with electronics, software, sensors and connectivity to enable it to achieve greater value and service by exchanging data with the manufacturer, operator and/or other connected devices. Each thing is uniquely identifiable through its embedded computing system but is able to interoperate within the existing Internet infrastructure. Experts estimate that the IoT will consist of almost 50 billion objects by 2020.

The participants of this module will learn about IoT Architecture and Layering Concepts, IoT platform, Wireless sensor networks and IoT Application development.

Course Description

  • Introduction to IoT, WoT and M2M
  • Basics of Internet & Review of Internet protocols
  • Data logging /IoT Layering concepts
  • Wireless PAN (Bluetooth & Zigbee), GSM, Wifi
  • Introduction to Wireless Sensor Networks
  • Routing Protocols in WSN
  • Database Management

 Learning Outcomes

After successful completion of this module, students should be able to:

  • Understand the IoT Architecture and Layering Concepts.
  • Understand the IoT platform hardware and software.
  • Understand how to Implement IoT Applications.

Reading List

  1. Data and Computer Communications; By: Stallings, William; Pearson Education Pte. Ltd., Delhi, 6th Edition
  2. Computer Networks; By: Tanenbaum, Andrew S; Pearson Education Pte. Ltd., Delhi, 4th Edition
  3. Asoke K Talukder and Roopa R Yavagal, “Mobile Computing,” Tata McGraw Hill, 2010.
  4. Designing the Internet of Things , Adrian McEwen (Author), Hakim Cassimally
  5. Internet of Things (A Hands-on-Approach), Vijay Madisetti , Arshdeep Bahga
  6. The Internet of Things: From RFID to the Next-Generation Pervasive Networked Lu Yan, Yan Zhang, Laurence T. Yang, Huansheng Ning
  7. Interconnecting Smart Objects with IP: The Next Internet, Jean-Philippe Vasseur, Adam Dunkels, Morgan Kuffmann
  8. Internet of Things: Converging Technologies for Smart Environments and Integrated Ecosystems, Dr. Ovidiu Vermesan, Dr. Peter Friess, River Publishers
  9. 6LoWPAN: The Wireless Embedded Internet, Zach Shelby, Carsten Bormann, Wiley
  10. Adelstein and S.K.S. Gupta, “Fundamentals of Mobile and Pervasive Computing,” McGraw Hill, 2009.
  11. Cloud Computing Bible, Barrie Sosinsky, Wiley-India, 2010
  12. Cloud Security: A Comprehensive Guide to Secure Cloud Computing, Ronald L. Krutz, Russell Dean Vines, Wiley-India, 2010

 

English

ED 506: System Design Using FPGAs (10 Days)

Module Duration:10 days

Objective

FPGAs are the present day tool for implementing many embedded applications. A basic understanding of digital electronics is very useful for the proper understanding of this topic. Basics of communication is also covered for further applications.
The course is structured to include the learning of VHDL syntax and the architecture of most prominent vendor in the FPGA market, Xilinx FPGAs. Hands own experiments and a mini-project are included in the module.

Course Description

Review of Basic Electronics (Digital Electronics + Communication)
Introduction to VHDL
VHDL Concepts, Types & Operators
Sequential & Concurrent Statements
VHDL Simulation
XILINX FPGA Architecture
Synthesis & Implementation on FPGAs
Mini Project using FPGAs

Learning Outcomes

On completion, the participants will learn about:

  • Writing the VHDL Programs
  • Architecture of Xilinx FPGAs
  • Programming of Xilinx FPGAs using VHDL

Reading List:

  1. VHDL Analysis and Modeling of Digital Systems – Navabi, Zainalabedin, MGH, New York
  2. VHDL Primer – Bhasker, J, PHI Learning, New Delhi
  3. Guide to VHDL Syntax – Bhasker, J, PH, New Jersey
  4. VHDL – Perry, Douglas L, MGH, New York
  5. Digital Systems Design with VHDL and Synthesis : An Integrated Approach – Chang, K C, IEEE Computer Society Press, California
  6. Designer’s guide to VHDL – Ashenden, Peter J, Harcourt India, New Delhi
  7. Introductory VHDL: From Simulation to Synthesis – Yalamanchili, Sudhakar, Pearson Education (Singapore) PTE. Ltd., Delhi
  8. VHDL for Digital Design – Vahid, Frank,Lysecky, Roman, John Wiley & Sons, Inc., New Jersey
  9. VHDL for Engineers, Short, Kenneth L, Dorling Kindersley (India), Delhi
  10. Design Warrior’s Guide To FPGAs: Devices, Tools And Flows – Maxfield, Clive Max – Elsevier, New Delhi
  11. FPGA Based System Design – Wolf, Wayne, Pearson Education (Singapore) PTE. Ltd., Delhi
  12. Programmable Logic Databook – Xilinx Inc.
English

ED 507: Embedded Product Design (10 days)

Module Duration : 10 Days

Objective

The objective of this module is to help fresh graduates and practicing engineers to enhance their knowledge and skills of embedded product design covering various dimensions of product development, Quality principles and tools, Project Management etc and discussion with suitable case study.

Course Description

  • Quality principles and tools
  • Product Development Process
  • System level design using hardware and software
  • Hardware and software integration issues and testing
  • Hardware and software coverification
  • Component cost and costing in product design
  • Case studies of real life designs
  • Industrial Design
  • Project Management (PERT/CPM) MS Project
  • Interconnection design & EDA tools
  • Thermal Design
  • Documentation
  • Team work and communication
  • Embedded Product design Syndicate
  • EMI/EMC
  • Case study of Microcontroller based Design
  • Project Design phase
  • Hardware design and construction
  • Software design and development
  • Integration and debugging of hardware and software
  • Final testing
  • ORCAD Schematic and PCB Layout
  • Mini Project

Learning Outcomes

After successful completion of the module, the students shall be able to understand and practice quality principles and tools in product development process, right from identifying customer requirements and translating them into product specifications and realization of the product specifications through electronics, mechanical and industrial design, product engineering and meeting the cost and development time constraints through better project management.

Students shall Design and Develop a standalone Data Acquisition System using Microcontroller. Conceptual design, PCB Design, PCB Assembly, Testing, Integration etc. are covered in the mini project.

Reading List

  1. Product Design & Development – Karl T Ulrich & Steven D. Eppinger; Mc Graw Hill
  2. Total quality management Besterfield, Dale H
  3. Relevant Data sheets and application notes
English

ED 508: Project Work ( 30 Days )

Module Duration : 30 Days

Course Description

The students can select hardware, software or system level projects. The project can be implemented using Microcontroller or DSP or FPGA or RTOS tools which students have studied and used during the course. A total product or project can be selected.

English

Course Fees

Total course fee is 70,000 + Service Tax

Eligibility

  • M.E./M.Tech or B.E./B.Tech in Electronics/ Electronics & Communication/ Electrical/ Electrical and Electronics/Instrumentation/ Biomedical /Computer Science/Information Technology or MSc in Electronics/ Instrumentation/ Computer Science/Information Technology. 
  • Candidates who have appeared in the qualifying examination and awaiting results may also apply.
  • On the date of counseling/admission, the candidate must produce the original mark lists up to the last semester/year of examination

Important Dates

More Details

For more details like How to Apply, Placement, Hostel, etc please see the Course Calendar or Course Brochure(485 kB)

For further information if any, you may Contact the Course Coordinator : shoukath@calicut.nielit.in , shoukath@nielit.gov.in .  Ph:0495 2287266(Ext 223)