Short Term Courses (Including Project Work) Courses: 1.) Microcontrollers and Embedded C Programming (8051, PIC & ARM, includes a project on Robotics) 2.) DSP (Code Composer Studio & MATLAB, includes Embedded C Programming and a project on Image Processing) 3.) VLSI (VHDL & FPGAs, includes a project in VHDL and its synthesis using ISE) 4.) Real Time Operating System: VxWorks (Includes Embedded C Programming and a project work using Tornado IDE) Project Work (Applicable for all courses) Course participants are allowed to do a creative project by themselves in their own field of interest or can select a project from the project list given by KITES and do it in the lab. Project Report should be submitted after the completion of project for all the courses.
Course 1: Microcontrollers and Embedded C Programming (8051, PIC & ARM, includes a project on Robotics) Syllabus 8051 MICROCONTROLLER Introduction to Microcontrollers & Microprocessors Introduction to 8051 Features Architecture Pin Description Other 8051 Family Members Memory Organization 8051 Addressing Modes Instruction sets Introduction to KEIL IDE and Embedded C I/O Port Programming Port Functions Bit Manipulation Timer Programming & Modes Timer 0 Timer 1 Introduction to Serial Communication Interrupt Programming Interfacing Interfacing 7 Segment Display Interfacing an LCD Interfacing a Keyboard Interfacing a Stepper Motor Interfacing ADC & DAC
PIC MICROCONTROLLER Introduction to PIC Microcontrollers (Midrange Series) Architectural Features of PIC Midrange Series Instruction sets Introduction to MPLAB IDE Program Memory & Data Memory Organization Configuration of I/O Ports Port Functions Bit Manipulation Timer Programming in PIC Timer 0 Timer 1 Timer 2 Familiarization of USART module Introduction to ADC module Capture / Compare / PWM Mode Programming Interfacing Interfacing an LCD Interfacing a Keyboard Interfacing a GSM Modem Interfacing a RFID Reader Interfacing a Stepper Motor Communication Protocols SPI Protocol for Communication I2C Communication Protocol
ARM7 TDMI A Brief History of ARM Differences Between RISC and CISC Architectures Introduction to ARM7TDMI Architecture Operating Modes of ARM7TDMI Introduction to ARM Instruction Set Features of ARM Instructions Block Transfer Instructions Exception Handling in ARM Switching to THUMB MODE Introduction to THUMB Instruction set Introduction to KEIL IDE for ARM Microcontrollers Introduction to PHILIPS ARM Controllers Configuring Ports for Simple I/O Operations Timer Programming Serial Port Programming A to D Converter Programming Interrupt Programming PWM Programming Project on Robotics
Course 2: Digital Signal Processing and Digital Signal Processors (Code Composer Studio & MATLAB) (Includes Embedded C Programming and a project on Image Processing) Syllabus Introduction to DSP Fundamentals FFT, Filter Design Introduction to MATLAB DSP Programming using MATLAB Introduction to DSP processors Introduction to Code Composer Studio (CCS) Embedded C Programming using KEIL C with 8051 Microcontroller Architecture and Programming of TMS320 DSP Project Work on Image Processing using MATLAB
Course 3: VLSI (VHDL & FPGAs, includes a project in VHDL and its synthesis using ISE) Syllabus Session 1: Introduction 1.1. What is VHDL? 1.2. History 1.3. Capabilities 1.4. Hardware Abstraction Session 2: Fundamentals of VHDL 2.1. Basic Terminology 2.2. Entity Declaration 2.3. Architecture Body 2.3.1. Structural Style of Modeling 2.3.2. Dataflow Style of Modeling 2.3.3. Behavioral Style of Modeling 2.3.4. Mixed Style of Modeling 2.4. Configuration Declaration 2.5. Package Declaration 2.6. Package Body 2.7. Model Analysis 2.8. Simulation Session 3: Basic Language Elements 3.1. Identifiers 3.2. Data Objects 3.3. Data Types 3.3.1. Subtypes 3.3.2. Scalar Types 3.3.3. Composite Types 3.3.4. Access Types 3.3.5. Incomplete Types 3.3.6. File Types 3.4. Operators 3.4.1. Logical Operators 3.4.2. Relational Operators 3.4.3. Adding Operators 3.4.4. Multiplying Operators 3.4.5. Miscellaneous Operators
Session 4: Behavioral Modeling 4.1. Entity Declaration 4.2. Architecture Body 4.3. Process Statement 4.4. Variable Assignment Statement 4.5. Signal Assignment Statement 4.6. Wait Statement 4.7. If Statement 4.8. Case Statement 4.9. Null Statement 4.10. Loop Statement 4.11. Exit Statement 4.12. Next Statement 4.13. Assertion Statement 4.14. More on Signal Assignment Statement 4.14.1. Inertial Delay Model 4.14.2. Transport Delay Model 4.14.3. Creating Signal Waveforms 4.14.4. Signal Drivers 4.15. Other Sequential Statements 4.16. Multiple Processes Brochure: Short Term Courses Session 5: Dataflow Modeling 5.1. Concurrent Signal Assignment Statement 5.2. Concurrent versus Sequential Signal Assignment 5.3. Delta Delay Revisited 5.4. Multiple Drivers 5.5. Conditional Signal Assignment Statement 5.6. Selected Signal Assignment Statement 5.7. Block Statement 5.8. Concurrent Assertion Statement Session 6: Structural Modeling 6.1. An Example 6.2. Component Declaration 6.3. Component Instantiation 6.4. Other Examples 6.5. Resolving Signal Values Session 7: Generics and Configurations 7.1. Generics 7.2. Why Configurations? 7.3. Configuration Specification 7.4. Configuration Declaration
Session 8: Subprograms and Overloading 8.1. Subprograms 8.1.1. Functions 8.1.2. Procedures 8.1.3. Declarations 8.2. Subprogram Overloading 8.3. Operator Overloading Session 9: Packages and Libraries 9.1. Package Declaration 9.2. Package Body 9.3. Design Libraries 9.4. Design File 9.5. Order of Analysis 9.6. Implicit Visibility 9.7. Explicit Visibility 9.7.1. Library Clause 9.7.2. Use Clause Session 10: Advanced Features 10.1. Entity Statements 10.2. Generate Statements 10.3. Aliases 10.4. Qualified Expressions 10.5. Type Conversions 10.6. Guarded Signals 10.7. Attributes 10.7.1. User-Defined Attributes 10.7.2. Predefined Attributes 10.8. Aggregate Targets 10. 9. More on Block Statements Brochure: Short Term Courses Session 11: System Design Using FPGAs 11.1. Introduction to Xilinx FPGAs 11.2. CLBs 11.3. FPGA Synthesis using Integrated Synthesis Environment (ISE) Project Work
Course 4: Real Time Operating System: VxWorks (Includes Embedded C Programming and a project work using Tornado IDE) Session1: Introduction to RTOS Syllabus Introduction to Operating system concepts, Operating system functions, Process Management, File Management, Memory Management and I/O Management. Session 2: Real Time Multitasking & Scheduling Real time requirements, Multitasking, Task Management, Task Control Block (TCB), Task stack, Scheduling Model, Hard real time & Soft real time scheduling, Clock driven, Weighted round robin and Priority Driven approaches, Priority Inversion, Priority Inheritance, Path finder Example. Session 3: VxWorks Real Time Multitasking & Scheduling Task creation, Task Ids, Task Names, Task Priorities, Task Deletion, Task states, Task Suspend, Task Delay, Task Control APIs, Re-entrancy and Task Variables, Priority based Pre-emption, Round Robin Scheduling, Kernel Time Slicing. Session 4: Tornado IDE Demo Tornado IDE Key Features, Tornado Host Target Interaction, Tornado IDE Editor, Project Management, Compiler, WindSh Command Shell, Cross Wind Debugger, Cross Wind Logic Analyzer, VxSim Simulator. Session 5: Inter Process Communication Introduction to IPC, Shared memory, Message queues, Pipes and Semaphores Session 6: VxWorks Intertask Communication and Synchronization Creating message queues, Sending Messages, Receiving Messages, Deleting Message queues, Pipes, Creating pipes, Reading and Writing to a Pipe, Message queue Vs Pipes, Semaphores, Synchronization, Binary, Counting and Mutex, Creating a Semaphore, Taking a Semaphore, Giving a Semaphore.
Session 7: Memory management Memory Layout, Target Server and Memory pool, System Memory pool, Allocating / Releasing memory, Examining memory, System memory management routines, Creating Memory partition, Managing memory partition. Session 8: I/O management I/O System Interface, Device Creation, Basic I/O, File Descriptors, Standard I/O, Accessing Files, Read/Write, I/O Control, Standard I/O Functions, File Pointers, Standard I/O Buffers, Standard I/O Library, Formatted I/O. Session 9: Interrupts & Exception handling and Timers Exception Handling and Signals, Signal Handler, Interrupts, Handling an interrupt, Interrupts and Priorities, Interrupt Stack, ISR Restrictions, ISR Guidelines, Timers, System Clock, Watch Dog Timers, Creating and using WDT. Session 10: Device Driver Development of a serial device driver Session 11: Board Support Packages Session 12: VxWorks Boot Image and Mini Project Downloadable and Bootable Images, Boot Image Settings, Creating a VxWorks Bootable Floppy Project Work: Implement full duplex communication b/w two systems.