Tags
Language
Tags
April 2024
Su Mo Tu We Th Fr Sa
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 1 2 3 4

Mastering Microcontroller: Timers, Pwm, Can, Low Power(Mcu2) (updated 3/2023)

Posted By: ELK1nG
Mastering Microcontroller: Timers, Pwm, Can, Low Power(Mcu2) (updated 3/2023)

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

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