Embedded Systems surround us in the form of gadgets and devices that we use. There is no aspect of human lives, which is untouched by such devices at home or for health diagnostics, transportation, entertainment. Learning out Embedded Systems will give the skills to design and manufacture embedded system products of the future which will help participants towards better employability. This course teaches embedded system design using a building block approach, which allows one to visualize the requirement of an embedded system and then to design it efficiently. The course will teach embedded system design using a microcontroller, namely Texas Instruments MSP430 low power microcontroller. The course will introduce various interfacing techniques for popular input devices including sensors, output devices and communication protocols. It will teach power supply design for embedded applications. It will also teach effective embedded programming techniques in C and how to maintain code using GIT. It will have a significant practical component, which will be achieved through a MSP430 microcontroller kit, to be distributed for free, to selected participants.
INTENDED AUDIENCE :Undergraduate students in engineering and science.
PREREQUISITES :Anyone with understanding of basic electronic components and circuits, digital electronics and C programming.
INDUSTRIES SUPPORT :Supported by Texas Instruments.
COURSE LAYOUTWeek 1: Introduction to Embedded Systems and Computer Systems Terminology. Modular approach to Embedded System Design using Six-Box model: Input devices, output devices, embedded computer, communication block, host and storage elements and power supply.
Week 2: Microcontroller Based Embedded System Design. Salient Features of Modern Microcontrollers. Elements of Microcontroller Ecosystem and their significance.
Week 3: Design of Power Supply for Embedded Systems. Linear Regulator Topologies. Switching Power Supply Topologies. Power Supply Design Considerations for Embedded Systems.
Week 4: Introduction to MSP430 Microcontroller. MSP430 CPU Architecture. Programming Methods for MSP430. Introduction to Lunchbox Platform.
Week 5: Fundamentals of Physical Interfacing. Connecting Input Devices:Switches, Keyboard and Output devices: LEDs, Seven Segment Displays(SSD). Assignment: MCQ/MSQ
Week 6: Advanced Physical Interfacing: Driving load - high side, low side and H-bridge. Multiplexing displays including Charlieplexing. Shaft encoder.
Week 7: Programming the MSP430. Basics of version control system - Git. Installing and using Code Composer Studio(CCS). Introduction to Embedded C. Interfacing LEDs and Switches with MSP430 using Digital Input and Output.
Week 8: MSP430 Clock and Reset System. MSP430 Clock sources and distribution. Types of Reset sources. Handling Interrupts in MSP430. Writing efficient Interrupt Service Routine (ISR).
Week 9: Interfacing Seven Segment Displays and Liquid Crystal Displays with MSP430. Low Power Modes in MSP430. Introduction to MSP430 Timer Module and it’s Modes of Operation.
Week 10: Generating Pulse Width Modulation (PWM) using Timer Capture Mode. ADC operation in MSP430. Interfacing analog inputs. Generating random numbers using LFSR and other methods. Adding DAC to MSP430. Custom Waveform generation using MSP430.
Week 11: Timer Capture Modes. Measuring frequency and time period of external signals and events. Serial Communication Protocols: UART, SPI, I2C. Interfacing Universal Serial Communication Interface (USCI) Module of the MSP430 for UART Communication. Advanced Coding Exercises based on Interrupt driven Programming. Building an Electronics Project.
Week 12: Circuit Prototyping techniques. Designing Single Purpose Computers using Finite State Machine with Datapath (FSMD) approach. MSP430 Based Project Design and Implementation. Recap of Course Coverage.