您好,
1.下面的"ILPFC_Base-Settings.h"中有代码。 我想是将数字转换为Q24格式,但为什么要将4095相乘,而不是4096?
#define VBUS_OVP_TRHRSHLD (((Int32)(((VBS/VBUS_MAX_SENSE 435.0)*4095*4095)))</s>4095
2.在ILPFC-DPL-ISR.ASM中,对于电压和电流回路控制(INCR_Build = 3),软件流的结束方式为:
读取ADC结果--> PFC ICMD --> CNTL_2P2Z电流控制--> PWM1寄存器更新-->计算1/(Vrms*Vrms)-->计算平均Vbus --> CNTL_2P2Z电压控制-->计算电压。
该顺序似乎不合理,因为我们必须先实施CNTL_2P2Z电压控制并获得输出,然后才能实施CNTL_2P2Z电流控制。 我们必须在控制CNTL_2P2Z电压之前计算电压。
3. 对于正弦分析器,为什么我们不设置阈值=0,这样的阈值有什么好处?
//正弦分析器初始化
Sine_mainsV.Vin=0;
Sine_mainsV.Iin=0;
Sine_mains.SampleFreq=_IQ15 (1万.0);
Sine_mains.threshold=_IQ15 (0.1);//(0.015);//(0.02);