STM32 MCSDK Single Shunt Phase Shift (new in V5.Y)


1. Single shunt phase shift overview

In the context of a single shunt topology, the purpose of the phase-shifting is to shift one or two duty cycles to be able to sample the current signal in the boundary zones instead of inserting a distortion window.

The benefits are:

  • Fewer commutations
  • Less switching losses


2. Phase shift principle

Boundary zone 1:

  • The firmware shifts on the right the smallest duty cycle by TMIN (minimum window time for sampling)
STM32 MC Image 008.png


Boundary zone 2:

  • The firmware shifts on the right the most middle duty cycle by TMIN (minimum window time for sampling)
STM32 MC Image 009.png


Boundary zone 3:

  • The firmware shifts on the right the smallest duty cycle and on the left the highest duty cycle by TMIN (minimum window time for sampling)
STM32 MC Image 010.png


3. Peripheral usage

Phase-shifting needs the following peripherals to create the shifting. According to the advanced timer capabilities, one or two DMA channels will be used

MCU TIM DMA IRQ
F0 TIM1 DMA1_Ch5 DMA1_Ch4 DMA1_Ch5 HT and TC
G0 TIM1 DMA1_Ch4 DMA1_Ch4 HT and TC
F3 TIM1 DMA1_Ch4 DMA1_Ch4 HT and TC
TIM8 DMA1_Ch2 DMA1_Ch2 HT and TC
F4 TIM1 DMA2_stream4 DMA2_stream5 DMA_stream5 HT and TC
TIM8 DMA2_stream7 DMA2_stream1 DMA_Stream1 HT and TC
G4 TIM1 DMA1_Ch1 DMA1_Ch1 HT and TC
TIM8 DMA2_Ch1 DMA2_Ch4 HT and TC
L4 TIM1 DMA1_Ch4 DMA1_Ch4 HT and TC
TIM8 DMA2_Ch2 DMA2_Ch2 HT and TC
F7 TIM1 DMA2_stream4 DMA2_Stream4 HT and TC
TIM8 DMA2_stream7 DMA2_Stream7 HT and TC

4. Single shunt phase shift scheduling example

6 channels advanced timer and execution rate = 1 (G0,G4,F3,L4,F7)

STM32 MC Image 016.png

5. Single shunt phase shift in the STM32 MC SDK

Single shunt is implemented by r1_ps_pwm_fdbk.c (and .h) processed when the STM32 MC project uses a MCU.