#ifndef __PfcSET_H_
#define __PfcSET_H_

#include <Myproject.h>

 #define PFC_ValueX(Curr_Value)            (Curr_Value * PFC_RSHUNT * PFC_AMPGAIN / (HW_ADC_REF))
 #define PFC_Value(Curr_Value)             _Q15(PFC_ValueX(Curr_Value))

/*PFC参数设置------------------------------------------------------------------*/
 #define PFCEnable                      (0)                                     //       PFC使能
 #define PFCPWM_FREQUENCY               (16.0)   //80                               // (kHz) 载波频率    //高频41K，低频16K
 #define PFCPWM_ARR                     (uint16)(MCU_CLOCK * 500 / PFCPWM_FREQUENCY)
 
  /*AC电压采样分压电路参数*/
 #define ACRV1                          (420.0)                                 // (kΩ) AC电压分压电阻1
 #define ACRV2                          (200.0)                                 // (kΩ) AC电压分压电阻2
 #define ACRV3                          (3.3)                                   // (kΩ) AC电压分压电阻3
 #define ACRV                           ((ACRV1 + ACRV2 + ACRV3) / ACRV3)       //      AC电压分压比    
 #define HW_BOARD_ACVOLT_MAX            (HW_ADC_REF * ACRV)                     // (V)  ADC可测得的最大母线电压   

 /* PFC电流采样电阻参数设置 */
 #define PFC_RSHUNT                     (0.01) //0.005
 #define PFC_AMPGAIN                    (9.56)

 /* PFC过流设置 */
 #define PFCOverCurrentProtectEnable    (1)                                      // 使能PFC过流保护
 #define PFCOverCurrentValue            (18.0)                                   // (A) DAC模式下的PFC过流值  19
 
 #define PFCOVERCURRENT                 (0)                                      //过流
 #define PFCOVERCURRENTLimt             (1)                                      //限流
 #define PFCOverCurrentProtectMode      (PFCOVERCURRENTLimt)                     //过流保护选择
 
 #define PFC_UDCREF_Selct               (1)                                       // 目标电压选择方式
 #define PFC_UDCREF_ZengL               (15)                                      // 在原基础电压上增加此值，作为PFC的目标电压值
 #define PFC_UDCREF                     _Q15(350.0 / HW_BOARD_VOLT_MAX)           //PFC目标电压
 #define PFC_UDCREF_Max                 _Q15(380.0 / HW_BOARD_VOLT_MAX)           //PFC目标电压最大值
 #define PFC_UDCREF_Min                 _Q15(300.0 / HW_BOARD_VOLT_MAX)           //PFC目标电压最大值
 #define PFC_VOLTAGEPROTECT             _Q15(420.0 / HW_BOARD_VOLT_MAX)                                     //PFC交流输入保护电压
 #define PFC_VOLTAGEPROTECT_RECOVER     _Q15(395.0 / HW_BOARD_VOLT_MAX)           //PFC交流输入恢复电压
 #define PFC_VOLTAGEPRO_RECOVEREN       (1)                                       //保护恢复使能位
 #define PFC_UDCREFINC                  (1)
 #define PFC_OUTINC                     (2)                                    //15

 
 
 /*PFC电压环PI*/
 #define PFC_UKP                         _Q10(4.003) //0.018 
 #define PFC_UKI                         _Q15(0.0508) //_Q15(0.0005) 
 #define PFC_UKPL                        _Q10(0.0001)  
 #define PFC_UKIL                        _Q15(0.0001) //_Q15(0.0005) 
 
 /*PFC电压环输出限制*/
 #define PFC_UOUTMAX                    _Q15(0.98)     // 电压环最大限幅值  PFC_Value(Curr_Value)
 #define PFC_UOUTMIN                    _Q15(0.00)     // 电压环最小限幅值

 /*PFC电流环PI*///高频适时P：5.0.  I：0.1
 #define PFC_IKP                        _Q10(3.0)
 #define PFC_IKI                        _Q15(0.3)//太大，有电感啸叫 太小小功率时电压波动
 #define PFC_IKPL                       _Q10(3.0)
 #define PFC_IKIL                       _Q15(0.3)
 

/*PFC电流环输出限制*/
 #define PFC_IOUTMAX                    _Q15(0.97)   // 电流环最大限幅值
 #define PFC_IOUTMIN                    _Q15(0.00)    //0.02

 #define KmSetValue                     (60)//60

 #define SAMPLEDIV0                     (1)                                     // UAC采样频率=载波频率
 #define SAMPLEDIV2                     (2)                                     // UAC采样频率=载波频率/2
 #define SAMPLEDIV4                     (4)                                     // UAC采样频率=载波频率/4
 #define SAMPLEDIV8                     (8)                                     // UAC采样频率=载波频率/8
 #define SAMPLEFREQ                    	(SAMPLEDIV4)  

 #define UAC_N                          (int8)(1000 * PFCPWM_FREQUENCY / (SAMPLEFREQ * 65 * 32)) // PFC载波频率/65/采样频率系数

#endif