configured ADC sync signals at fastest possible frequency: 1.75 MHz
This commit is contained in:
44
Src/main.c
44
Src/main.c
@ -171,8 +171,25 @@ int main(void)
|
||||
MX_TIM4_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
Init_params();
|
||||
HAL_TIM_Base_Start(&htim11);
|
||||
HAL_TIM_PWM_Start(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator
|
||||
//HAL_TIM_Base_Start(&htim11);
|
||||
//HAL_TIM_PWM_Start(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator
|
||||
|
||||
|
||||
//TIM4,11 clocks = 92 MHz
|
||||
|
||||
//ADC clock
|
||||
//TIM4 -> ARR = 60; // for 1.5 MHz
|
||||
//TIM4 -> ARR = 91; // for 1 MHz
|
||||
//TIM4 -> ARR = 45; // for 2 MHz
|
||||
TIM4 -> ARR = 53; // for 1.735 MHz. It`s the highest frequency for correct ADC work. At higher freq artifacts (voltage peaks) appears.
|
||||
|
||||
TIM4 -> CCR3 = (TIM4 -> ARR +1)/2 - 1;
|
||||
|
||||
|
||||
//Mach-Zander clock (should be half of ADC clock freq)
|
||||
TIM11 -> ARR = (TIM4 -> ARR +1)*2 - 1;
|
||||
TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1;
|
||||
|
||||
/*
|
||||
if (HAL_GPIO_ReadPin(INP_0_GPIO_Port, INP_0_Pin) == 0){
|
||||
|
||||
@ -363,6 +380,25 @@ int main(void)
|
||||
switch (task.task_type)
|
||||
{
|
||||
case TT_CHANGE_CURR_1:
|
||||
|
||||
|
||||
//calculating timer periods for ADC clock and Mach-Zander modulator
|
||||
//ADC clock
|
||||
//TIM4 -> ARR = 60; // for 1.5 MHz
|
||||
//TIM4 -> ARR = 91; // for 1 MHz
|
||||
//TIM4 -> ARR = 45; // for 2 MHz
|
||||
|
||||
//online calculation for debug purposes:
|
||||
//manually varying TIM4 -> ARR by debugger while running
|
||||
//TIM4 -> CCR3 = (TIM4 -> ARR +1)/2 - 1;
|
||||
|
||||
|
||||
//Mach-Zander clock (should be half of ADC clock freq)
|
||||
//TIM11 -> ARR = (TIM4 -> ARR +1)*2 - 1;
|
||||
//TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1;
|
||||
|
||||
|
||||
|
||||
Set_LTEC(TT_CHANGE_CURR_2, task.curr);
|
||||
(void) MPhD_T(TT_CHANGE_TEMP_1);
|
||||
LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1);
|
||||
@ -1472,9 +1508,9 @@ static void MX_TIM11_Init(void)
|
||||
|
||||
/* USER CODE END TIM11_Init 1 */
|
||||
htim11.Instance = TIM11;
|
||||
htim11.Init.Prescaler = 0;
|
||||
htim11.Init.Prescaler = 1;
|
||||
htim11.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||
htim11.Init.Period = 183;
|
||||
htim11.Init.Period = 91;
|
||||
htim11.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||
htim11.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
|
||||
if (HAL_TIM_Base_Init(&htim11) != HAL_OK)
|
||||
|
||||
Reference in New Issue
Block a user