fixed relative phases in Mach-Zander and ADC clocks. ADC clock delayed to move ADC sampling time far from the start of modulated period. Now there is 400 ns time reserve.

This commit is contained in:
2025-04-18 17:05:26 +03:00
parent 9974606734
commit f20ad2301b
2 changed files with 11 additions and 5 deletions

View File

@ -425,7 +425,7 @@ int main(void)
HAL_TIM_PWM_Stop(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator
HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3); //start modulating by Mach-Zander modulator
HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3); //start ADC clock
TIM11 -> CR1 &= ~(1 << 3); //disables one-pulse mode
TIM4 -> CR1 &= ~(1 << 3); //disables one-pulse mode
@ -435,7 +435,13 @@ int main(void)
TIM4 -> CNT = 0;
HAL_TIM_PWM_Start(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator
HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_3); //start modulating by Mach-Zander modulator
HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_3); //start ADC clock
//TIM4 -> CNT = 0;
TIM4 -> CNT = TIM4 -> ARR - 20; // not zero to make phase shift that will be robust to big delay in RF subsystem (up to ~400 ns)
TIM11 -> CNT = 0;
while (task.current_param < task.max_param)
{
if (TIM10_coflag)
@ -485,7 +491,7 @@ int main(void)
//but one-pulse mode should be disabled
//HAL_TIM_PWM_Stop(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator
//HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3); //start modulating by Mach-Zander modulator
//HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3); //start ADC clock