Course Highlights
  • 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
Curriculum

5 Topics
About the instructor
what are we going to do in this course ?
Important Note
Source Code and Slides
Rating and Review

4 Topics
About the development board used in this course
Board Details and Locating Documents
ST-Link Driver Installation
ST Link Firmware Upgrade

1 Topic
Hardware/Software Requirements

1 Topic
Which IDE to use for this course?

2 Topics
Note
Migrating to STM32CubeIDE

4 Topics
Downloading and Installing OpenSTM32 System-Workbench
Installing OpenSTM32 System-Workbench
About CubeMX version
STM32 CUBE mx installation

11 Topics
Introduction to STM32 Cube Project Architecture
Creating and Importing Project into OpenSTM32 System Workbench – Part1
Understanding Project Hierarchy
Project Layers Interaction
STM32 Cube framework program flow-1
STM32 Cube framework program flow-2
HAL_Init()
Understanding main.c msp.c and it.c
Peripheral Handle Structure
Linking Handle Structure and Peripheral
STM32 HAL Header File Hierarchy

19 Topics
Importing Source Codes
Project Creation
Low level Processor specific hardware initialization: Part 1
Low level Processor specific hardware initialization: Part 2
Low level Processor specific hardware initialization: Part 3
Peripheral High Level Initialization
Peripheral Low Level Initialization
Peripheral Low Level Initialization : configuring Pin Packs
Peripheral Low Level Initialization : Alternate function settings
Peripheral Low Level Initialization : IRQ settings
STM32 HAL Peripheral data handling APIs
UART Data TXing : Part 1
UART Data TXing : Part 2
UART Data RXing: Intro
Implementing UART DATA RXing in Polling mode
UART Data RXing in Interrupt Mode : Part 1
UART Data RXing in Interrupt Mode : Part 2
UART Data RXing in Interrupt Mode : Part 3
UART Data RXing in Interrupt Mode : Part 4

14 Topics
Introduction to different clock sources of the microcontroller
Understanding methods to configure the SYSCLK
Exploring clock handling APIs in RCC driver files
Exercise : OSC Init and HSE bypass
Exercise : Clock init implementation
Exercise : SYSTICK configuration and summary
Exercise : Testing
Understanding HSI calibration
PLL introduction and working principle
Exercise : PLL Configuration via HSI Part 1
Exercise : PLL Configuration via HSI Part 2
Exercise : PLL Configuration via HSE
Exercise : PLL Configuration for 180MHz
Exercise : PLL Configuration for 180MHz implementation

13 Topics
Introduction to Timers
Types of Timers
Timer Availability in STM32 MCUs
Timer Availability in STM32 MCUs : Summary
STM32 Basic Timer Assembly
Timer Exercise : Project creation
Timer Exercise : Understanding Timer Clock (TIMx_CLK)
Timer Exercise : Understanding Prescaler and Period(ARR)
Timer Exercise : Period Value Calculation
Timer Exercise : MSP Init Implementation
Timer Exercise : Test
Timer Exercise : Interrupt Mode
Timer Exercise : 10 Micro timer base generation

12 Topics
Timer with input capture block
Input Capture Exercise : working principle
Input Capture Exercise : time base init
Input Capture Exercise : Channel Configuration
Input Capture Exercise : Channel Configuration Coding
LSE Configuration
Testing of LSE on MCO1 Pin
Timer Input Capture Callback Implementation
Input Capture Exercise : Testing
Input Capture Exercise : Update on HSE
Input Capture Exercise : with 4Mhz external signal
Input Capture Exercise : with 50KHz external signal

7 Topics
Timer Output compare Introduction
Output Compare Exercise : Project Creation
Output Compare Exercise Coding : Part 1
Output Compare Exercise Coding : Part 2
Output Compare Exercise Coding : Part 3
Output Compare Exercise Coding : Part 4
Output Compare Assignment

10 Topics
PWM Introduction
PWM Exercise : Part 1
PWM Exercise : Part 2
PWM Exercise : Part 3
PWM Exercise : Part 4
PWM Exercise : Part 5
PWM Exercise : Part 6
PWM Exercise : Part 7
LED brightness control using PWM signal: Part 1
LED brightness control using PWM signal: Part 2

9 Topics
CAN section introduction
Introduction to CAN
CAN's most attractive features
Summary of CAN features
Understanding a CAN and its parts
CAN single ended signals Vs Differential signal
Understanding CAN differential signals
CAN Dominant and Recessive Signal states
CAN signalling summary

6 Topics
CAN Message format explanation : Arbitration field
Standard CAN Vs Extended CAN
CAN Message format explanation : ACK bit
ACK Summary
CAN Message format explanation : EOF IFS and SOF
CAN remote frame

1 Topic
Understanding CAN bit wise arbitration

13 Topics
STM32 bxCAN introdcution
STM32 bxCAN block diagram
STM32 bxCAN self test modes
Exercise : CAN loop back mode : Project Creation
CAN bit timing calculation
Exercise : CAN loop back mode : Coding init function
Exploring bxCAN TX path
Exercise : CAN loop back mode : Coding Tx function
understanding bxCAN operating modes
Exercise : CAN loop back mode : MSP code implementation
CAN loopback connection details
Exercise : CAN loop back mode : Testing and Protocol decoding
STM32 bxCAN RX block diagram and acceptance filters

4 Topics
Understanding bxCAN acceptance filtering with examples
Exploring filtering data structures
Exercise : CAN loop back mode : Coding RX function
Exercise : CAN filter config implementation and testing TX-RX

3 Topics
Understanding STM32 bxCAN Interrupt requests (IRQs)
CAN LOOPBACK interrupt mode implementation Part -1
CAN LOOPBACK interrupt mode implementation Part -2

14 Topics
Exercise : CAN Normal Node Introduction - Part-1
Exercise : CAN Normal Node Project Creation- Part-2
Exercise : CAN Normal Node Code Implementation - Part-3
Exercise : CAN Normal Node Code Implementation - Part-4
Exercise : CAN Normal Node Code Implementation - Part-5
Exercise : CAN Normal Node Testing TX - Part-6
Exercise : CAN Normal Node Testing TX - Part-7
Exercise : CAN Normal Node RX Code implementation- Part-8
Exercise : CAN Normal Node RX Code implementation- Part-9
Exercise : CAN Normal Node Sending Remote Frame Part-10
Exercise : CAN Normal Node Testing- Part-11
Exercise : CAN Normal Node Testing TX at 1Mbit/sec - Part-12
Exercise : CAN Normal Configuring acceptance filtering - Part-13
Exercise : CAN Normal Configuring acceptance filtering - Part-14

11 Topics
Section Introduction
MCU low power modes introduction
Processor specific low power modes
Entering normal and deep sleep modes
Entering sleep mode using SLEEPONEXIT feature
Exercise : Usage of SLEEPONEXIT feature
waking up from SLEEPONEXIT feature
Exercise : test SLEEPONEXIT feature -creating a project
Exercise : Implementation and current measurement without SLEEPONEXIT feature
Current measurement with SLEEPONEXIT feature
SLEEPONEXIT Exercise summary

6 Topics
Tips to reduce current consumption
Current measurement with increased HCLK frequency
Current measurement with increased UART baudrate
Clock gating and RCC Low power register settings
IO analog mode and effect on current consumption
Current measurement in IO analog mode

12 Topics
Understanding WFI instruction
WFI Exercise Introduction
WFI Exercise Implementation
Understanding WFE and event register of ARM Cortex Mx processor
WFE wake-up behavior and Comparison with WFI
WFE exercise introduction
WFE project explanation
Generating Peripheral events in STM32 MCU
WFE project implementation-Part1
WFE project implementation-Part2
Difference and similarity between WFI and WFE
When to use WFE and WFI ?

2 Topics
MCU specific low power modes
STM32 MCU voltage domains

2 Topics
STM32 voltage regulator and its modes
Voltage regulator Over Drive and Power Down mode

4 Topics
Current measurement with core-mark in Run mode-Part1
Current measurement with core-mark in Run mode-Part2
Run mode current measurement + HCLK180MHz+ all peripherals enabled
Run mode current measurement + HCLK180MHz + all peripherals enabled + ART

2 Topics
SLEEP mode current measurement
SLEEP mode and Voltage regulator settings to save current

3 Topics
STOP mode and wake-up latency
STOP mode current measurement
Microcontroller wake-up Pins discussion

5 Topics
Understanding STM32 BACKUP SRAM
Different types of MCU resets
BACKUP SRAM exercise Intro
Backup SRAM Exercise implementation part 1
Backup SRAM Exercise implementation part 2

10 Topics
RTC Introduction
RTC BCD programming example
RTC block diagram and RTC Clock selection
RTC and STM32 device HAL APIs explanation
Exercise : RTC Calendar Part-1
Exercise : RTC Calendar Part-2
Exercise : RTC Calendar Part-3
Exercise : RTC Calendar Part-4
Exercise : RTC Calendar Testing
Exercise : RTC Calendar Testing with system reset and STANDBY exit

2 Topics
RTC Alarm Introduction
STM32 CUBE APIs for RTC Alarm Handling

2 Topics
RTC Interrupts and IRQ numbers
RTC Interrupts Summary

7 Topics
RTC Alarm Exercise-1
RTC Alarm Exercise-1 Testing
RTC Alarm Exercise-2
RTC Alarm Exercise-2 Testing
RTC Alarm Exercise-3
RTC Alarm Exercise-4
BONUS LECTURE

  Write a Review

Mastering Microcontroller: Timers, PWM, CAN, Low Power(MCU2)

Go to Paid Course