Embedded System Design
- What is Embedded System? Why?, Characteristics of Embedded System
- Embedded Programming environment, Applications of embedded system, Embedded Industry
Programming Concepts
- Review of C programming and Data structures, Memory Allocations, Introduction of Embedded C, Assembly language programming
Compiler Overview
8-bit MCU
8051 / PIC / AVR
- Design & Development process of Embedded System using MCU.
- Architecture, I/O port handling, Registers, Special Function Registers
- On-Chip Peripheral Simulation/debugging in real time ( ADC / UART / Timer / I/O, PWM / Interrupts).
- Memory Interfacing, Interrupts Handling.
Development
Tools
- Introduction to C cross compiler, Compilation process and Output files creations
- Language Extensions, Memory Models, Memory Type specifiers.
- Optimization, Mixing C and Assembly.
- Differences from ANSI C, Limitations of Compiler
- Byte Ordering, Simulators, Debugging, Porting the project to target
Hardware Interfacing
- Touch Screen, Graphical LCD Display(128x64)
- Interfacing LED, LCD(2x16), Seven Segment Display .
- Interfacing ADC & DAC, Stepper Motor, Relays .
- Real Time Clock, Serial EEPROM, Serial Ethernet PS/2(Keyboard Interface)
- Digital Temp Sensor(1-wire), Zigbee | Bluetooth | RF
Mini-Project
- Abstract
- Circuit construction
- Code Development
- Demo | Report
- Digital Temp Sensor(1-wire), Zigbee | Bluetooth | RF
32-bit Processors
ARM
- General Introduction to the ARM architectures: supported instructions sets (ARM32, Thumb, Thumb-2),
- conditional execution benefits, code sizes, types & alignments, pipeline, selected registers, interrupt handling
- Registers, Modes, Exception handling, Instruction sets, Supporting technologies
- ARM7TDMI and ARM9TDMI pipelines, Datapaths
- Instruction decoding, AHB Protocol, AHB Connection Architectures,
- AHB Workbook, Primecell VIC, Breakpoints and Watchpoints, Debug State, Debug Communications Channel, Application Debug, Embedded Trace Macrocell
Hardware Interfacing
- Touch Screen, Graphical LCD Display(128x64)
- Interfacing LED, LCD(2x16), Seven Segment Display
- Interfacing ADC & DAC, Stepper Motor, Relays
- Real Time Clock, Serial EEPROM, Serial Ethernet PS/2(Keyboard Interface)
- Digital Temp Sensor(1-wire), Zigbee | Bluetooth | RF
RTOS
- Introduction to OS, Process Management & Inter Process Communication, Memory management , I/O subsystem, File System Organization, Introduction to Real-Time /Embedded Operating Systems. Real Time Scheduling, Overview of other RTOS/EOS
Wireless
- Protocol Design and Validation
- Zigbee / Bluetooth
- Wireless Sensor Networks and ZigBee
- RFID GSM and GPRS / GPS
Project
- Presentation (New Technologies)
- Abstract
- Circuit construction
- Code Development
- Demo | Report
Embedded System Design
- Introduction to Embedded system
- Definition of ESD
- Market Trends
- Classification of ESD
- Application of ESD
- Embedded System Key Terminologies
- Types of Semiconductor Devices
- MCU : MCS51 | PIC | ARM | Freescale
- DSP : TI | Analog Devices
- VLSI : FPGA, CPLD
- Silicon Chip ( Packages)
- Hardware Design Considerations
- PCB | Comp selection | Assembly | Cost | Size..
- Embedded system Development Cycle
- Hardware Dev Cycle
- Requirement Collection
- Component Selection
- Design Hardware ( Prototype)
- Testing / Trouble Shoot
- Software Dev Cycle
- Requirement Collection
- S/W Selection
- Simulation / Debugging / Testing
- Integration Process
Compiler Overview
- Introduction to Cross Compiler
- What is Cross Compiler
- KEIL Introduction
- Demonstration
Development Tools Overview
- Introduction to Development Tools
- Software Tools
- IDE’s
- Cross-Compiler
- Language Extensions,
- Memory Models, Memory Type specifiers.
- Optimization, Mixing C and Assembly.
- Differences from ANSI C, Limitations of Compiler
- Simulator
- Debugger
- Linker | Locator
- Hardware Tools
- ICE (In-circuit Emulators)
- Debugger
- Programmer
- Logic Analyzer
8-Bit Controller Overview (8051)
Session 1
- Difference B/W MCU & Processors
- 8-bit MCU Features | Comparison
- MCS51- Intel 8051 Architectur
Session 2
- ATMEL | NXP | MaximDallas Features
- PIN Diagram | Port Details
- I/O Ports Structure & Operations
- Memory Organization
- CODE Memory | DATA Memory (Internal / External)
- Registers
- Basic registers | SFR | Acc | Data Pointer Register | PC |SP
Session 3
- On-Chip Peripherals-1
- Timers | Counters | Interrupts | UARTs
Session 4
- On-Chip Peripherals & Others
- PWM | ADC | FLASH Programming
8-Bit Controller Overview (PIC16F877)
Session 1
- 8-bit MCU Features | Comparison
- Microchip Architecture
- PIN Diagram | Port Details
- I/O Ports Structure & Operations
Session 2
- Memory Organization
- CODE Memory | DATA Memory (Internal / External)
- Registers
- Basic registers | SFR | Acc | Data Pointer Register | PC |SP
Session 3
- On-Chip Peripherals-1
- Timers | Counters | Interrupts | UARTs
Session 4
- On-Chip Peripherals & Others
- PWM | ADC | FLASH Programming
8-Bit Controller Overview (AVR)
Session 1
- 8-bit MCU Features | Comparison
- AVR Architecture
- PIN Diagram | Port Details
- I/O Ports Structure & Operations
Session 2
- Memory Organization
- CODE Memory | DATA Memory (Internal / External)
- Registers
- Basic registers | SFR | Acc | Data Pointer Register | PC |SP
Session 3
- On-Chip Peripherals-1
- Timers | Counters | Interrupts | UARTs
Session 4
- On-Chip Peripherals & Others
- PWM | ADC | FLASH Programming
Hardware Interfacing (8051/PIC/AVR)
Level - I (Brief Theory | Board Assembly | Code Development)
- Point LED Interface ( I/O configuration)
- UART (Serial Communication)
- Interrupt Study
- On-Chip ADC Study ( Temp Sensor | Potentiometer)
Level - II (Brief Theory | Board Assembly | Code Development)
- Character LCD Interface (2x16 | 4x20)
- Stepper Motor | DC Motor
- Matrix Keypad Interface
- 7-Segment Display
Level - III (Brief Theory | Board Assembly | Code Development)
- GLCD ( 128x64) Graphic LCD Interface
- I2C – RTC ( Real Time Clock), EEPROM ( Serial EEPROM)
- 1-Wire ( Digital Temp Sensor)
- Touch Screen Display Interface
Mini Project (8051/PIC/AVR)
Simple Project using 8-bit controller
- Abstract
- Hardware / Software Requirements
- Hardware Assembly
- Code Development
- Testing | Demonstration
32-Bit Processor Introduction
- History of ARM | ARM Overview
- Market Trends| Applications
- ARM Architecture Model
The Arm Architecture
Session – I
- Overview of ARM |Block Diagram | ARM operation modes
- ARM and Thumb Instruction Sets
- The ARM registers set | Register organization | Program Status Registers
Session – II
- Exception handling, vector table, automatic switch into ARM mode
- Instruction sets : ARM branches and subroutines
- ARM7TDMI core signals | Instruction Pipeline
Session – III
- Example ARM7TDMI system
- Overview of ARM9E-S, ARM10, StrongARM and Xscale
ARM Developer Suite (ADS) Overview
- RealView Compiler Introduction
- Create New Project | Header Files | Startup Files
- Peripheral Simulation | Debugging | Output File Creation
ARM / Thumb Interworking
- Switching between states
- Branch exchange | Mixing ARM and Thumb
- Interworking calls
ARM On-Chip Peripheral
- GPIO(Fast/slow) | Timers | Counters | PWMs | Interrupts
- USARTs | I2C | SPI
- ADC | DAC | USB | Real Time Clock
Hardware Interfacing (LPc21xx)
Level - I (Brief Theory | Board Assembly | Code Development)
- Point LED Interface ( I/O configuration)
- UART (Serial Communication) | Interrupt Study
- On-Chip ADC Study ( Temp Sensor | Potentiometer)
Level - II (Brief Theory | Board Assembly | Code Development)
- Character LCD Interface (2x16 | 4x20)
- DC Motor controlled by PWM
- Matrix Keypad Interface
- 7-Segment Display
Level - III (Brief Theory | Board Assembly | Code Development)
- GLCD ( 128x64) Graphic LCD Interface
- I2C – RTC ( Real Time Clock), EEPROM ( Serial EEPROM)
Wireless Medium
- Introduction to Wireless Medium
- Wireless Standards
- Range of Wireless (short | Long Range)
- Types of Wireless Technology
- RFiD | Zigbee | Bluetooth | Wi-Fi | GSM/GPRS
- AT Commands
- Simple ASK | FSK wireless communication
- Short Range communication
- Long Range Communication
Hardware Interfacing Wireless
Level - I (Brief Theory | Board Assembly | Code Development)
- Simple RF Wireless communication (433.92MHz)
- RFiD ( 125KHz) with MCU
Level - II (Brief Theory | Board Assembly | Code Development)
- Zigbee Board with MCU
- Bluetooth Board with MCU
- GSM/GPRS Device with MCU
Project (ARM/RTOS)
Simple Project using 8-bit controller
- Abstract
- Hardware / Software Requirements
- Hardware Assembly
- Code Development
- Testing | Demonstration
Real Time Operating Systems
Introduction to OS
- What is an OS?
- Necessitate for OS
- Issues in Communication Systems
- Application Scenarios
- Kernel
- Shell
Fundamentals of Real-time theory
- What's makes distributed, real-time, embedded multitasking systems challenging?
- Best effort, Hard real-time, Soft real-time
- Scheduling Class Taxonomy
- Best Effort scheduling (Round-Robin Time-slice Scheme )
- Intro to Fixed priority preemptive scheduling
- Intro to Dynamic priority scheduling
- Utility Curves
RTOS Architecture
- RTOS functionality
- RTOS Characteristics
- Layering and OS Typical Structure
Task Management
- Tasks and tasking
- Priority based
- Round-Robin Based
- Inter-task communication and synchronization
- Suspending and Resuming Task
Analysis and Design
- Real-time analysis
- Software Architectures
- Design
- Concurrency
- Meeting Constraints
Synchronization
- Critical-section
- Semaphores
- Monitors
- Deadlock prevention, avoidance and detection
Real-time service system integration and I/O
- Service Synchronization, Communication, and IO
- Using Message Queues to Sync Services and for Communication
- Using Binary Semaphores to Sync Services
- IO during Service Execution
- Overlapping CPU and IO Cycles - Latency Hiding
- Initial Release Input - Block DMA and FIFO Sensor Data
- Intermediate IO
- Memory-Mapped IO During Service Processing
- Hiding IO latency with Overlap
- I/O systems and Interfaces
- Pipes and I/O Drivers
- Polled I/O
- Interrupt Driven I/O
- Direct Memory Access
Watchdog timers
- Hardware Failure Recovery
Socket Programming
- RTOS Concept
- Kernel Structure
- Scheduling and Time Management
- Memory Management
- Mutex, Deadlock
- Priority Inheritance
- Semaphore, Message Queue, Mailbox
- Installation and RTOS Development
- Porting of UCOS-II on PS-C51-TYRO-Kit or PS-ARM7-TYRO-2148 Kits
- Sampling Multi-tasking through TWO LED blink tasks
- Priority Scheduling: Three UART Tasks with OSTimeDelay
- Plotting Room fever graphically in a GLCD
|