Mastering Electric Vehicle Technology with Embedded System– 120 hrs.
Level-1: Duration – 60 Hrs
Level-2: Duration – 60 Hrs
Modules
- Level 1 – Embedded System programming – 60 hrs.
- Module: Embedded Protocols and Peripherals Programming with LPC 1768
- Level 2 – Mastering EV Technologies: Architecture, Battery, and Safety – 60 Hrs.
- Introduction to Electric Vehicle Architecture and Safety Measures
- Low Voltage System Architecture
- Battery Technology
- EV Charging Technology and Infrastructure
- EV Drivetrain and Power Converters
- HV Safety, Protections, and Compliance
Program Outcomes
- Build skills in ARM Cortex-M3 programming & peripheral interfacing.
- Learn communication protocols (UART, SPI, I2C, CAN, LIN).
- Understand EV architecture, battery tech, charging systems & safety.
- Gain industry-ready exposure through real-time projects.
Experiential Project Based Learning
- A prototype embedded System development using LPC1768 and KEIL IDE
- EV projects: Powertrain modeling, CAN communication, BMS design, Smart charging
Tools / Platform:
- LPC1768, Keil μVision, Embedded C
- MATLAB/Simulink, CANoe/Vector Tools
- Battery simulation & EV charging demo kits
Level 1: Embedded Hardware and C programming (60 Hours) | ||
---|---|---|
Module 1: Embedded Hardware and Microcontroller Fundamentals | ||
Signal Conditioning Circuits:
| Analog-to-Digital Converters (ADCs)- Purpose, Types, Key Specs, Digital-to-Analog Converters (DACs), Oscillator Circuits: Crystal Oscillator, RC Oscillator | Power Management Circuits: Voltage Regulators, Power-on Reset (POR) / Brown-out Reset (BOR) Circuits, Current Limiting Circuits, MOSFETS/BJTs (as switches), Motor Driver ICs (e.g., H-bridges) |
Digital Logic: Logic gates (AND, OR, NOT, XOR, NAND, NOR, XNOR) and truth tables. | Basic combinational logic: ADDERS, MUX, DEMUX, ENCODER, DECODER | Basic Sequential logic: FLIP-FLOPS, SHIFT REGISTERS, COUNTERS |
Microcontroller Architecture & Fundamentals: CPU Core, Clocking System, Power Management, Reset System | Reading and Interpreting Hardware Documentation: Datasheets, Reference Manuals, Schematics | Basic Debugging & Measurement Tools: Multimeter, Oscilloscope, Logic Analyzer, JTAG/SWD Debugger |
Module 2: Mastering C and Embedded-C | ||
Literals, Data types, qualifiers, variables operators: Unary, Binary and Ternary, Presidency and associativity of operators evaluation | Control flow statements: Selective structures:: if-else, switch, Iterative structures: while, do-while, for loop, use of break and continue in loop | Modular Programming using functions: Function statemnts- function declaration, function definition, function call, parameter passing techniques: call by value, call by address |
Numeric Arrays : 1D and 2D arrays: Array declaration and Initialization, Input , processing and output of array data | Character Arrays, String functions, Storing string in R?W memory, RO memory, programming | Bitwise Operations: AND, OR, XOR, NOT, left shift, right shift. (Crucial for register manipulation) |
Storage classes: auto, static, extern register, Pointers: Declaration, Initialization, Types of pointers, Poiter arithmetic, void pointer, NULL pointer | Pointers: Advanced pointer usage, pointers to functions, and their role in ISRs and callbacks. | Memory Management: malloc(), free(), stack vs. heap memory |
Data Structures: Structures, unions, enums, and their alignment in memory. | volatile and const keywords: Their importance in embedded | Macros and pre-processor directives: Conditional compilation (#ifdef, #ifndef), #define |
Compiler and Linker Concepts: cross-compilation, Startup code and reset sequence, Linker script and memory sections (.text, data, bss, etc.) | Good Coding Practices: Code style and conventions (MISRA C), Static analysis and code quality tools | Version control with Git and GitHub |
Level 2: Firmware Development Programming (60 Hours) | ||
Module 1: STM32 MCU Bare Metal Programming | ||
STM32F4XX MCU Architecture and Features: Cortex-M4 CPU with FPU & DSP Instructions, On-chip RAM, ROM, Peripherals, The NUCLEO Board Feature: Integrated Debugge/Programmer, Arduino Uno V3 Connectivity, ST Morpho Headers, Flexible Power Supply(3.3v, 5v, 7-12v), Softwares: STM32CubelDE and STM32CubeMX | GPIO (General Purpose Input/Output): Configuring GPIO pins for digital input, output, and interrupt, Blinking an LED using bare-metal register access, Interfacing a push button and controlling an LED. GPIO pins: Input, output, alternate function modes, Register-level programming: MODER, OTYPER, OSPEEDR, PUPDR, IDR, ODR registers, | |
Interrupts and NVIC (Nested Vector Interrupt Controller): Polling vs. interrupts, Interrupt service routines (ISRS, NVIC architecture and registers | Enabling and configuring interrupts for GPIO pins | ADC (Analog-to-Digital Converter): ADC principles: Resolution, sampling rate, conversion time, ADC configuration: Single conversion, continuous conversion, DMA mode, Reading analog |
Timers and PWM (Pulse Width Modulation): Timer modes: Up-counting, down-counting, PWM, input capture, Configuring timer registers: TIMx_CR1, TIMX_PSC, TIMX_ARR, TIMx_CCR, Generating PWM signals for sensor data motor control or LED dimming | ||
Module 2: Introduction to HAL and CubeMX: | ||
HAL and Driver Development | ||
Using the generated code and project structure, HAL APIs for GPIO, Timers, and ADC | STM32CubeMX and HAL APIs. | Generating a specific frequency square Controlling LED brightness using using wave using STM32CubeMX and HAL APIs. |
Interfacing a push button and controlling an LED using using STM32CubeMX and HAL APIS. | Driver architecture: Layered approach Writing a custom driver for a sensor or peripheral, Driver API design and best practices, Integrating the developed driver into a main application. | |
Module 3: Embedded Protocols | ||
UART/USART (Universal Asynchronous Receiver-Transmitter): UART protocol basics: Baud rate, data bits, stop bits, parity, UART communication using HAL and bare-metal (polling, interrupt, DMA) | I2C (Inter-Integrated Circuit): 12C protocol basics: Master/slave, start/stop conditions, ACK/NACK, Interfacing 12C devices (e.g., EEPROM, temperature sensor) | Introduction to RTOS and FreeRTOS: Tasks, threads, and concurrency, Task states: Running, ready, blocked, suspended, Task scheduling: Pre-emptive vs. co-operative |
Task Communication: Semaphores- Binary, counting, and mutexes for resource protection. | Using a mutex to protect a shared resource (e.g., a shared sensor value). | |
Module 4: | ||
SPI (Serial Peripheral Interface): SPI protocol basics: Master/slave, MOSI, MISO, SCLK, NSS, Interfacing SPI devices (e.g., SD card, external Flash memory, display) | FreeRTOS Programming | Introduction to FreeRTOS kernel, configuration, and porting, Creating a FreeRTOS project in STM32CubelDE and running multiple tasks. |
Event Groups: For task synchronization based on multiple events. | Software Timers: For periodic tasks. | Inter-Task Communication: Queues - For message passing between tasks. Implementing a task communication system using queues to process data from a sensor. |