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

Learn STM32 Timers, CAN, RTC, PWM, Low Power embedded systems and program them using STM32 Device HAL APIs step by step.

Ratings: 4.57 / 5.00




Description

Update: English closed captions have been added, transcript available

Course 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 mode

2. Timer interrupts and IRQ numbers, ISR implementation, callbacks, etc

3. General-purpose timer

4. Working with Input Capture channels of General-purpose timer

5. Interrupts, IRQs, ISRs, callbacks related to Input Capture engine of the general purpose timer

6. Working with output capture channels of the General purpose timer

7. Interrupts, IRQs, ISRs, callbacks related to Output Capture engine of the general purpose timer

8. PWM generation using output capture modes

9. PWM Exercises

10. Step by Step code development process will help you to master the TIMER peripheral


In CAN Section the course covers,

1. Introduction to the CAN protocol

2. CAN frame formats

3. Understanding a CAN node

4. CAN signaling (single-ended signals vs differential signals ) \

5. CAN Bus recessive state and dominant state

6. CAN Bit timing Calculation \

7. CAN network with Transceivers

8. Exploring inside view of CAN transceivers

9. CAN Self-test modes such as LOOPBACK, SILENT LOOPBACK, etc with code exercises.

10. Exploring STM32 bXCAN peripheral

11. self-testing of bxCAN peripheral with exercises

12. bXCAN block diagram

13. Tx/Rx path of the bxCAN Peripheral

14. CAN frame filtering and executrices

15. CAN in Normal Mode

16. Communicating between 2 boards over CAN

17. Code exercises


In the Power Controller Section the course covers,

1. ARM Cortex Mx Low Power Modes Normals Vs DeepSleep

2. STM32 SLEEP mode

3. STOP mode

4. STANDBY mode

5. Current measurement with different submode

6. Waking up MCU by using wakeup pins, EXTI, RTC, etc

7. Backup SRAM

8. Step by Step coverage with lots of code exercises.


In RTC Section the course covers,

1. RTC functional block diagram

2. RTC clock management

3. RTC calendar unit

4. RTC Alarm unit

5. RTC wake-up unit

6. RTC Time Stamp Unit

7. waking up MCU using RTC events

8. RTC interrupts

9. and lots of other details with step by step code exercises.


STM32 Device HAL framework

1. STM32 Device Hal framework details

2. APIs details

3. Interrupt handling

4. Callback implementation

5. Peripheral Handling and configurations

6. Step by Step explanation with code exercises.


==> Important note: This course is NOT about auto-generating code using STM32CubeMx software<==


Hardware used :

STM32F446RE-NUCLEO Board

CAN Transceivers for CAN Exercises


IDE used :

Eclipse-based OpenSTM32 SystemWorkbench


Learning 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)

What You Will Learn!

  • You will learn from scratch about STM32 Timers : Basic and General Purpose Timers
  • Understand General purpose timer's Input capture apnd Output compare unit handling and Exercises
  • Handling of Timer interrupts : Time base interrupts, capture interrupts, compare interrupts
  • Understand about CAN filtering
  • You will learn from scratch CAN Protocol, CAN Signalling, CAN Transceivers , Bus Access procedures
  • 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

Who Should Attend!

  • 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