Mastering Microcontroller: Timers, Pwm, Can, Low Power(Mcu2)
Last updated 3/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 14.31 GB | Duration: 21h 24m
Last updated 3/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 14.31 GB | Duration: 21h 24m
Learn STM32 Timers, CAN, RTC, PWM, Low Power embedded systems and program them using STM32 Device HAL APIs step by step.
What you'll learn
You will learn from scratch about STM32 Timers : Basic and General Purpose Timers
Understand General purpose timer's Input capture and Output compare unit handling and Exercises
Handling of Timer interrupts : Time base interrupts, capture interrupts, compare interrupts
You will learn from scratch CAN Protocol, CAN Signalling, CAN Transceivers , Bus Access procedures
Understand CAN LOOPBACK mode, SILENT mode and NORMAL mode
Understand about CAN filtering
Learn about CAN interrupts
CAN Peripheral programming using STM32 device HAL drivers
You will master Low power modes of the MCU : SLEEP,STOP and STANDBY
You will understand different power domains of the MCU : VDD domain, 1.2V domain, backup domain
Understand Microcontroller Wakeup Procedures using : RTC, wakeup pins,EXTI,etc.
You will master RTC Features : CALENDAR, ALARM , TIME STAMP,WAKEUP UNIT
RTC interrupts and wake up procedures
Mastering Microcontroller Clocks Handling : HSE,HSI,LSE,LSI,PLL
Understand phase locked loop (PLL) programming
Learn PWM mode and Master through step by step code exercises
You should be able to quickly develop applications which involves STM32 Device HAL layer
Requirements
Basic knowledge of C Programming and Microcontroller could be added advantage but not mandatory
Description
Update: English closed captions have been added, transcript availableCourse code: MCU2>>Welcome to the course which teaches you advanced Micro-controller programming. In this course you are going to learn and master Timers , PWM, CAN, RTC, Low Power modes of STM32F4x Micro-controller with step by step guidance. Highly recommended if you are seeking a career in the domain of Embedded software. <<In this course, you will understand behind the scene working of peripherals with supportive code exercises. I have included various real-time exercises which help you to master every peripheral covered in this course and this course thoroughly covers both theory and practical aspects of Timers, PWM, CAN, RTC, Low Power modes of STM32F4x Micro-controller.In Timer Section the course covers,1. Simple time-based generation using the basic timer in both polling and interrupt mode2. Timer interrupts and IRQ numbers, ISR implementation, callbacks, etc3. General-purpose timer4. Working with Input Capture channels of General-purpose timer5. Interrupts, IRQs, ISRs, callbacks related to Input Capture engine of the general purpose timer6. Working with output capture channels of the General purpose timer7. Interrupts, IRQs, ISRs, callbacks related to Output Capture engine of the general purpose timer8. PWM generation using output capture modes9. PWM Exercises10. Step by Step code development process will help you to master the TIMER peripheralIn CAN Section the course covers,1. Introduction to the CAN protocol2. CAN frame formats3. Understanding a CAN node4. CAN signaling (single-ended signals vs differential signals ) \5. CAN Bus recessive state and dominant state6. CAN Bit timing Calculation \7. CAN network with Transceivers8. Exploring inside view of CAN transceivers9. CAN Self-test modes such as LOOPBACK, SILENT LOOPBACK, etc with code exercises.10. Exploring STM32 bXCAN peripheral11. self-testing of bxCAN peripheral with exercises12. bXCAN block diagram13. Tx/Rx path of the bxCAN Peripheral14. CAN frame filtering and executrices15. CAN in Normal Mode16. Communicating between 2 boards over CAN17. Code exercisesIn the Power Controller Section the course covers,1. ARM Cortex Mx Low Power Modes Normals Vs DeepSleep2. STM32 SLEEP mode3. STOP mode4. STANDBY mode5. Current measurement with different submode6. Waking up MCU by using wakeup pins, EXTI, RTC, etc7. Backup SRAM8. Step by Step coverage with lots of code exercises.In RTC Section the course covers,1. RTC functional block diagram2. RTC clock management3. RTC calendar unit4. RTC Alarm unit5. RTC wake-up unit6. RTC Time Stamp Unit7. waking up MCU using RTC events8. RTC interrupts9. and lots of other details with step by step code exercises.STM32 Device HAL framework1. STM32 Device Hal framework details2. APIs details3. Interrupt handling4. Callback implementation5. Peripheral Handling and configurations6. Step by Step explanation with code exercises.==> Important note: This course is NOT about auto-generating code using STM32CubeMx software<==Hardware used :STM32F446RE-NUCLEO BoardCAN Transceivers for CAN ExercisesIDE used :Eclipse-based OpenSTM32 SystemWorkbenchLearning order of FastBit Embedded Brain Academy Courses,If you are a beginner in the field of embedded systems, then you can take our courses in the below-mentioned order. This is just a recommendation from the instructor for beginners. 1) Microcontroller Embedded C Programming: absolute beginners(Embedded C)2) Embedded Systems Programming on ARM Cortex-M3/M4 Processor(ARM Cortex M4 Processor specific)3) Mastering Microcontroller with Embedded Driver Development(MCU1)4) Mastering Microcontroller: TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)5) Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL(MCU3)6) Embedded System Design using UML State Machines(State machine)7) Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)8) ARM Cortex M Microcontroller DMA Programming Demystified(DMA)9) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)10) Embedded Linux Step by Step using Beaglebone Black(Linux)11) Linux device driver programming using Beaglebone Black(LDD1)
Overview
Section 1: Introduction
Lecture 1 what are we going to do in this course ?
Lecture 2 Important Note
Lecture 3 Source Code and Slides
Lecture 4 Rating and Review
Section 2: Development board details
Lecture 5 Note for the students
Lecture 6 About the development board used in this course
Lecture 7 Board Details and Locating Documents
Lecture 8 ST-Link Driver Installation
Lecture 9 ST Link Firmware Upgrade
Section 3: Hardware/Software Requirements
Lecture 10 Hardware/Software Requirements
Section 4: Installing OpenSTM32 System-Workbench
Lecture 11 Note for the students
Lecture 12 Downloading and Installing OpenSTM32 System-Workbench
Lecture 13 Installing OpenSTM32 System-Workbench
Lecture 14 STM32 CUBE mx installation
Section 5: STM32 HAL and Project Architecture
Lecture 15 Introduction to STM32 Cube Project Architecture
Lecture 16 Creating and Importing Project into OpenSTM32 System Workbench – Part1
Lecture 17 Understanding Project Hierarchy
Lecture 18 Project Layers Interaction
Lecture 19 STM32 Cube framework program flow-1
Lecture 20 STM32 Cube framework program flow-2
Lecture 21 HAL_Init()
Lecture 22 Understanding main.c msp.c and it.c
Lecture 23 Peripheral Handle Structure
Lecture 24 Linking Handle Structure and Peripheral
Lecture 25 STM32 HAL Header File Hierarchy
Section 6: Understanding STM32 HAL program flow with UART exercise
Lecture 26 Importing Source Codes
Lecture 27 Project Creation
Lecture 28 Low level Processor specific hardware initialization: Part 1
Lecture 29 Low level Processor specific hardware initialization: Part 2
Lecture 30 Low level Processor specific hardware initialization: Part 3
Lecture 31 Peripheral High Level Initialization
Lecture 32 Peripheral Low Level Initialization
Lecture 33 Peripheral Low Level Initialization : configuring Pin Packs
Lecture 34 Peripheral Low Level Initialization : Alternate function settings
Lecture 35 Peripheral Low Level Initialization : IRQ settings
Lecture 36 STM32 HAL Peripheral data handling APIs
Lecture 37 UART Data TXing : Part 1
Lecture 38 UART Data TXing : Part 2
Lecture 39 UART Data RXing: Intro
Lecture 40 Implementing UART DATA RXing in Polling mode
Lecture 41 UART Data RXing in Interrupt Mode : Part 1
Lecture 42 UART Data RXing in Interrupt Mode : Part 2
Lecture 43 UART Data RXing in Interrupt Mode : Part 3
Lecture 44 UART Data RXing in Interrupt Mode : Part 4
Section 7: Clocks and PLL Programming
Lecture 45 Introduction to different clock sources of the microcontroller
Lecture 46 Understanding methods to configure the SYSCLK
Lecture 47 Exploring clock handling APIs in RCC driver files
Lecture 48 Exercise : OSC Init and HSE bypass
Lecture 49 Exercise : Clock init implementation
Lecture 50 Exercise : SYSTICK configuration and summary
Lecture 51 Exercise : Testing
Lecture 52 Understanding HSI calibration
Lecture 53 PLL introduction and working principle
Lecture 54 Exercise : PLL Configuration via HSI Part 1
Lecture 55 Exercise : PLL Configuration via HSI Part 2
Lecture 56 Exercise : PLL Configuration via HSE
Lecture 57 Exercise : PLL Configuration for 180MHz
Lecture 58 Exercise : PLL Configuration for 180MHz implementation
Section 8: Timers
Lecture 59 Introduction to Timers
Lecture 60 Types of Timers
Lecture 61 Timer Availability in STM32 MCUs
Lecture 62 Timer Availability in STM32 MCUs : Summary
Lecture 63 STM32 Basic Timer Assembly
Lecture 64 Timer Exercise : Project creation
Lecture 65 Timer Exercise : Understanding Timer Clock (TIMx_CLK)
Lecture 66 Timer Exercise : Understanding Prescaler and Period(ARR)
Lecture 67 Timer Exercise : Period Value Calculation
Lecture 68 Timer Exercise : MSP Init Implementation
Lecture 69 Timer Exercise : Test
Lecture 70 Timer Exercise : Interrupt Mode
Lecture 71 Timer Exercise : 10 Micro timer base generation
Section 9: General Purpose Timer: Input Capture Unit
Lecture 72 Timer with input capture block
Lecture 73 Input Capture Exercise : working principle
Lecture 74 Input Capture Exercise : time base init
Lecture 75 Input Capture Exercise : Channel Configuration
Lecture 76 Input Capture Exercise : Channel Configuration Coding
Lecture 77 LSE Configuration
Lecture 78 Testing of LSE on MCO1 Pin
Lecture 79 Timer Input Capture Callback Implementation
Lecture 80 Input Capture Exercise : Testing
Lecture 81 Input Capture Exercise : Update on HSE
Lecture 82 Input Capture Exercise : with 4Mhz external signal
Lecture 83 Input Capture Exercise : with 50KHz external signal
Section 10: Timer's Output Compare unit
Lecture 84 Timer Output compare Introduction
Lecture 85 Output Compare Exercise : Project Creation
Lecture 86 Output Compare Exercise Coding : Part 1
Lecture 87 Output Compare Exercise Coding : Part 2
Lecture 88 Output Compare Exercise Coding : Part 3
Lecture 89 Output Compare Exercise Coding : Part 4
Lecture 90 Output Compare Assignment
Section 11: PWM
Lecture 91 PWM Introduction
Lecture 92 PWM Exercise : Part 1
Lecture 93 PWM Exercise : Part 2
Lecture 94 PWM Exercise : Part 3
Lecture 95 PWM Exercise : Part 4
Lecture 96 PWM Exercise : Part 5
Lecture 97 PWM Exercise : Part 6
Lecture 98 PWM Exercise : Part 7
Lecture 99 LED brightness control using PWM signal: Part 1
Lecture 100 LED brightness control using PWM signal: Part 2
Section 12: Controller Area Network Fundamentals
Lecture 101 CAN section introduction
Lecture 102 Introduction to CAN
Lecture 103 CAN's most attractive features
Lecture 104 Summary of CAN features
Lecture 105 Understanding a CAN and its parts
Lecture 106 CAN single ended signals Vs Differential signal
Lecture 107 Understanding CAN differential signals
Lecture 108 CAN Dominant and Recessive Signal states
Lecture 109 CAN signalling summary
Section 13: CAN frame formats
Lecture 110 CAN Message format explanation : Arbitration field
Lecture 111 Standard CAN Vs Extended CAN
Lecture 112 CAN Message format explanation : ACK bit
Lecture 113 ACK Summary
Lecture 114 CAN Message format explanation : EOF, IFS and SOF
Lecture 115 CAN remote frame
Section 14: CAN Bus Arbitration
Lecture 116 Understanding CAN bit wise arbitration
Section 15: STM32 bxCAN
Lecture 117 STM32 bxCAN introdcution
Lecture 118 STM32 bxCAN block diagram
Lecture 119 STM32 bxCAN self test modes
Lecture 120 Exercise : CAN loop back mode : Project Creation
Lecture 121 CAN bit timing calculation
Lecture 122 Exercise : CAN loop back mode : Coding init function
Lecture 123 Exploring bxCAN TX path
Lecture 124 Exercise : CAN loop back mode : Coding Tx function
Lecture 125 understanding bxCAN operating modes
Lecture 126 Exercise : CAN loop back mode : MSP code implementation
Lecture 127 CAN loopback connection details
Lecture 128 Exercise : CAN loop back mode : Testing and Protocol decoding
Lecture 129 STM32 bxCAN RX block diagram and acceptance filters
Section 16: bxCAN Frame filtering
Lecture 130 Understanding bxCAN acceptance filtering with examples
Lecture 131 Exploring filtering data structures
Lecture 132 Exercise : CAN loop back mode : Coding RX function
Lecture 133 Exercise : CAN filter config implementation and testing TX-RX
Section 17: CAN interrupts
Lecture 134 Understanding STM32 bxCAN Interrupt requests (IRQs)
Lecture 135 CAN LOOPBACK interrupt mode implementation Part -1
Lecture 136 CAN LOOPBACK interrupt mode implementation Part -2
Section 18: CAN normal mode and exercise
Lecture 137 Exercise : CAN Normal Node Introduction - Part-1
Lecture 138 Exercise : CAN Normal Node Project Creation- Part-2
Lecture 139 Exercise : CAN Normal Node Code Implementation - Part-3
Lecture 140 Exercise : CAN Normal Node Code Implementation - Part-4
Lecture 141 Exercise : CAN Normal Node Code Implementation - Part-5
Lecture 142 Exercise : CAN Normal Node Testing TX - Part-6
Lecture 143 Exercise : CAN Normal Node Testing TX - Part-7
Lecture 144 Exercise : CAN Normal Node RX Code implementation- Part-8
Lecture 145 Exercise : CAN Normal Node RX Code implementation- Part-9
Lecture 146 Exercise : CAN Normal Node Sending Remote Frame Part-10
Lecture 147 Exercise : CAN Normal Node Testing- Part-11
Lecture 148 Exercise : CAN Normal Node Testing TX at 1Mbit/sec - Part-12
Lecture 149 Exercise : CAN Normal Configuring acceptance filtering - Part-13
Lecture 150 Exercise : CAN Normal Configuring acceptance filtering - Part-14
Section 19: Low Power Modes
Lecture 151 Section Introduction
Lecture 152 MCU low power modes introduction
Lecture 153 Processor specific low power modes
Lecture 154 Entering normal and deep sleep modes
Lecture 155 Entering sleep mode using SLEEPONEXIT feature
Lecture 156 Exercise : Usage of SLEEPONEXIT feature
Lecture 157 waking up from SLEEPONEXIT feature
Lecture 158 Exercise : test SLEEPONEXIT feature -creating a project
Lecture 159 Exercise : Implementation and current measurement without SLEEPONEXIT feature
Lecture 160 Current measurement with SLEEPONEXIT feature
Lecture 161 SLEEPONEXIT Exercise summary
Section 20: Current reduction tips and tricks
Lecture 162 Tips to reduce current consumption
Lecture 163 Current measurement with increased HCLK frequency
Lecture 164 Current measurement with increased UART baudrate
Lecture 165 Clock gating and RCC Low power register settings
Lecture 166 IO analog mode and effect on current consumption
Lecture 167 Current measurement in IO analog mode
Section 21: WFI and WFE
Lecture 168 Understanding WFI instruction
Lecture 169 WFI Exercise Introduction
Lecture 170 WFI Exercise Implementation
Lecture 171 Understanding WFE and event register of ARM Cortex Mx processor
Lecture 172 WFE wake-up behavior and Comparison with WFI
Lecture 173 WFE exercise introduction
Lecture 174 WFE project explanation
Lecture 175 Generating Peripheral events in STM32 MCU
Lecture 176 WFE project implementation-Part1
Lecture 177 WFE project implementation-Part2
Lecture 178 Difference and similarity between WFI and WFE
Lecture 179 When to use WFE and WFI ?
Section 22: STM32 Low Power modes and Voltage domains
Lecture 180 MCU specific low power modes
Lecture 181 STM32 MCU voltage domains
Section 23: STM32 Voltage Regulator
Lecture 182 STM32 voltage regulator and its modes
Lecture 183 Voltage regulator Over Drive and Power Down mode
Section 24: Current Measurement and datasheet comparison : RUN Mode
Lecture 184 Current measurement with core-mark in Run mode-Part1
Lecture 185 Current measurement with core-mark in Run mode-Part2
Lecture 186 Run mode current measurement + HCLK180MHz+ all peripherals enabled
Lecture 187 Run mode current measurement + HCLK180MHz + all peripherals enabled + ART
Section 25: Current Measurement and datasheet comparison : SLEEP Mode
Lecture 188 SLEEP mode current measurement
Lecture 189 SLEEP mode and Voltage regulator settings to save current
Section 26: Current Measurement and datasheet comparison : STOP Mode
Lecture 190 STOP mode and wake-up latency
Lecture 191 STOP mode current measurement
Lecture 192 Microcontroller wake-up Pins discussion
Section 27: STM32 BACKUP SRAM and STANDBY MODE effect
Lecture 193 Understanding STM32 BACKUP SRAM
Lecture 194 Different types of MCU resets
Lecture 195 BACKUP SRAM exercise Intro
Lecture 196 Backup SRAM Exercise implementation part 1
Lecture 197 Backup SRAM Exercise implementation part 2
Section 28: RTC and RTC Calendar Block
Lecture 198 RTC Introduction
Lecture 199 RTC BCD programming example
Lecture 200 RTC block diagram and RTC Clock selection
Lecture 201 RTC and STM32 device HAL APIs explanation
Lecture 202 Exercise : RTC Calendar Part-1
Lecture 203 Exercise : RTC Calendar Part-2
Lecture 204 Exercise : RTC Calendar Part-3
Lecture 205 Exercise : RTC Calendar Part-4
Lecture 206 Exercise : RTC Calendar Testing
Lecture 207 Exercise : RTC Calendar Testing with system reset and STANDBY exit
Section 29: RTC Alarm
Lecture 208 RTC Alarm Introduction
Lecture 209 STM32 CUBE APIs for RTC Alarm Handling
Section 30: RTC Interrupts
Lecture 210 RTC Interrupts and IRQ numbers
Lecture 211 RTC Interrupts Summary
Section 31: RTC Alarm Exercises
Lecture 212 RTC Alarm Exercise-1
Lecture 213 RTC Alarm Exercise-1 Testing
Lecture 214 RTC Alarm Exercise-2
Lecture 215 RTC Alarm Exercise-2 Testing
Lecture 216 RTC Alarm Exercise-3
Lecture 217 RTC Alarm Exercise-4
Lecture 218 BONUS LECTURE
Professionals interested in exploring Embedded systems,Anyone who wants to start career in Embedded Systems,Anyone who wants to learn Microcontroller programming in depth,Students in the domain of Embedded Systems