123

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
129:406995a91322
Parent:
112:4a96133a1311
Child:
197:7a05523bf588
diff -r 1e4675a36c93 -r 406995a91322 Dither_Reg.c
--- a/Dither_Reg.c	Mon Apr 11 11:04:34 2016 +0000
+++ b/Dither_Reg.c	Tue Apr 12 11:10:49 2016 +0000
@@ -46,7 +46,7 @@
 //коэфф.деления N вибропривода (период колебаний) ВП = T_Vibro длительность импульса вибропривода>>
 
 
-    Device_blk.Str.VB_N = Output.Str.T_Vibro;
+  //  Device_blk.Str.VB_N = Output.Str.T_Vibro;
     LPC_MCPWM->LIM0 = (Output.Str.T_Vibro*MULT_7680_12500)>>SHIFT_7680_12500;//#define 	SHIFT_7680_12500		15	  смешение для конвертации частоты из 7680 в 12500
 #if defined DITHERSIM
     6565  LIM0 = (Output.Str.T_Vibro*86)>>16;
@@ -323,27 +323,27 @@
 
 void clc_Noise_regulator(void)
 {
-    int temp;
+   /* int temp;
     static uint32_t Flag = 0;
     static int PeriodCount = 0, Tnoise = 0;
 
     if ( PeriodCount >= Tnoise ) {
         PeriodCount = 0;
-        srand(Device_blk.Str.VB_N);// Srand(период колебаний ВП) -инициализация генератора случайных чисел с зерном (VB_N)
+     //   srand(Device_blk.Str.VB_N);// Srand(период колебаний ВП) -инициализация генератора случайных чисел с зерном (VB_N)
         //заданный период ошумления
-        Tnoise = add( Device_blk.Str.VBN_Tzd,     mult_r(Device_blk.Str.VBN_Ran, rand())); // Tnoise = Device_blk.Str.VBN_Tzd + MULT_RND_SAT( Device_blk.Str.VBN_Ran, rand() );
+       // Tnoise = add( Device_blk.Str.VBN_Tzd,     mult_r(Device_blk.Str.VBN_Ran, rand())); // Tnoise = Device_blk.Str.VBN_Tzd + MULT_RND_SAT( Device_blk.Str.VBN_Ran, rand() );
         if ( Flag ) {                                                                      //e. calculation +dF/-dF //r. расчет +dF/-dF
-            temp = Device_blk.Str.VBN_k;                                                     //r. 25 - заданная константа ошумления
+           // temp = Device_blk.Str.VBN_k;                                                     //r. 25 - заданная константа ошумления
         } else {
-            temp = -Device_blk.Str.VBN_k;
+           // temp = -Device_blk.Str.VBN_k;
         }
 ///Длительность импульса до ошумления
-        Device_blk.Str.VB_tau = add(VB_tau_Ins, (mult_r( VB_tau_Ins, temp ) << 1)); // VB_tau = VB_tau_Ins + VB_tau_Ins * temp; with saturation
+    //    Device_blk.Str.VB_tau = add(VB_tau_Ins, (mult_r( VB_tau_Ins, temp ) << 1)); // VB_tau = VB_tau_Ins + VB_tau_Ins * temp; with saturation
         Saturation(Device_blk.Str.VB_tau, Device_blk.Str.VB_Tmax, Device_blk.Str.VB_Tmin);	//e. checking upper and lower levels of control range //r. проверка верхнего диапазона регулирования
         Flag = !Flag;
     } else {
         PeriodCount++;
-    }
+    }*/
 
 } // clc_Noise_regulator
 /******************************************************************************
@@ -370,21 +370,21 @@
     //счетчик времени и регистр период канала 0.
 
     LPC_MCPWM->TC0 = 0;// инициализация (обнуление) таймера 0;
-    LPC_MCPWM->LIM0 = (Device_blk.Str.VB_N*MULT_7680_12500)>>SHIFT_7680_12500; //период ШИМ(Виропривода).
+   // LPC_MCPWM->LIM0 = (Device_blk.Str.VB_N*MULT_7680_12500)>>SHIFT_7680_12500; //период ШИМ(Виропривода).
 
-    LPC_MCPWM->MAT0 = (Device_blk.Str.VB_N*MULT_7680_12500)>>SHIFT_7680_12500;	  // set LPC_MCPWM->MAT0  for defineteness  						                          |  установление временных интервалов
-    LPC_MCPWM->MAT2 = (Device_blk.Str.VB_tau*MULT_7680_12500)>>SHIFT_7680_12500;	// pulse width of the PhA dither drive                                          |  (MAT) при достижении которых
-    LPC_MCPWM->MAT1 = ((Device_blk.Str.VB_N - Device_blk.Str.VB_tau)*MULT_7680_12500)>>SHIFT_7680_12500;	// pulse width of the PhB dither drive  at first time   |  таймером, что то происходит.
+    //LPC_MCPWM->MAT0 = (Device_blk.Str.VB_N*MULT_7680_12500)>>SHIFT_7680_12500;	  // set LPC_MCPWM->MAT0  for defineteness  						                          |  установление временных интервалов
+ //   LPC_MCPWM->MAT2 = (Device_blk.Str.VB_tau*MULT_7680_12500)>>SHIFT_7680_12500;	// pulse width of the PhA dither drive                                          |  (MAT) при достижении которых
+ //   LPC_MCPWM->MAT1 = ((Device_blk.Str.VB_N - Device_blk.Str.VB_tau)*MULT_7680_12500)>>SHIFT_7680_12500;	// pulse width of the PhB dither drive  at first time   |  таймером, что то происходит.
 
     LPC_MCPWM->DT &= ~0x3FF; //e. reset dead timer register
     LPC_MCPWM->INTEN_SET = 1;	//e. enable lim0 interrupt
 
     LPC_MCPWM->CON_SET |= (1<<8) |1 |(1<<16);	  //start PWM channel 0,1,2
 
-    VB_tau_Ins = Device_blk.Str.VB_tau;         // VB_tau_Ins - внутреннее значение контура регулирования Тау
+  //  VB_tau_Ins = Device_blk.Str.VB_tau;         // VB_tau_Ins - внутреннее значение контура регулирования Тау
 
-    Output.Str.L_Vibro = Device_blk.Str.VB_tau;  //to update the period and pulse duration for displaying
-    Output.Str.T_Vibro = Device_blk.Str.VB_N;    //запись в выходной масив длительности и периуда импульсов для отображения
+ //   Output.Str.L_Vibro = Device_blk.Str.VB_tau;  //to update the period and pulse duration for displaying
+ //   Output.Str.T_Vibro = Device_blk.Str.VB_N;    //запись в выходной масив длительности и периуда импульсов для отображения
     return;
 }
 /******************************************************************************
@@ -400,12 +400,12 @@
 {
 
     init_VibroReduce(); // расчет коэфициентов (вибро апертуры)
-    Device_blk.Str.VB_N = 29538; //коэфф.деления N вибропривода (период колебаний) ВП (? задается только сдесь но используется уже при вычислении Vibro_Filter_Aperture в предъидущей функции)
+  // Device_blk.Str.VB_N = 29538; //коэфф.деления N вибропривода (период колебаний) ВП (? задается только сдесь но используется уже при вычислении Vibro_Filter_Aperture в предъидущей функции)
     VibroDither_Init();// Выбор ножек для двух каналов ШИМ(1-2(Канал 0 тоже определен)),период ШИМ,режим и тд.
     VibroDither_SwitchOn(); //LPC_MCPWM->CON_SET = 1<<8; старт таймера 1. выставление 8 бита mscon_set изменяет 8 бит в регистре mscon (PDF CTP. - 526)
     init_BandPass(1.0/(float)Vibro_Filter_Aperture, 100.0/(float)DEVICE_SAMPLE_RATE_HZ, DUP);	//линейный фильтр (то же самое что и в СРП)полософой фильтр для выделения частоты колебания.
     MaxDelay = Vibro_Filter_Aperture >> 1; //r. макс. задержка меандра вибропривода (Vibro_Filter_Aperture определяетс в init_VibroReduce();)
-    CounterIquiryCycle_Init((Device_blk.Str.VB_N*Vibro_2_CountIn)>>SHIFT_C_7680_12500);  //задание периода сброса счетчика, запрет прерывания.
+    //CounterIquiryCycle_Init((Device_blk.Str.VB_N*Vibro_2_CountIn)>>SHIFT_C_7680_12500);  //задание периода сброса счетчика, запрет прерывания.
 }
 /******************************************************************************
 **                            End Of File