Hi,
HV_SOLAR_DC_DC_Rev1,in the DPL_ISR function in the file Solar_DC_DC-DPL-ISR.asm,the following code:
;---------------------------------------------------------
.if(INCR_BUILD = 2)
ADCDRV_1ch 1 ; Ipfc
ADCDRV_1ch 2 ; Vpfc
ADCDRV_1ch 3 ; VL_fb
ADCDRV_1ch 4 ; VN_fb
CNTL_2P2Z 1
PWMDRV_1ch_UpDwnCnt 1 ; PWM1A
PWMDRV_1ch_UpDwnCnt 2 ; PWM2A
;PWMDRV_LLC_ComplPairDB 3 ;
MATH_EMAVG 1 ;
MATH_EMAVG 2
PWMDRV_1ch_UpDwnCnt 4 ; PWM4A
.endif
;----------------------------------------------
In build2 mode,first read the AD value of voltage and current,Next, control functions such as PID and data filtering are implemented by calling the CNTL_2P2Z function.The output of CNTL_2P2Z is stored in CNTL_2P2Z_Out(Q24) and CNTL_2P2Z_DBUFF(Q30).
_PWMDRV_1ch_UpDwnCnt_Duty and _PWMDRV_1ch_UpDwnCnt_Duty are input variables to the function PWMDRV_1ch_UpDwnCnt.
No relationship was found between the functions PWMDRV_1ch_UpDwnCnt and CNTL_2P2Z.
I don't know how the function PWMDRV_1ch_UpDwnCnt passes the output of CNTL_2P2Z is used to set the duty cycle.How is the current closed loop realized, from ad sampling to PID control, to the calculation and setting of the duty cycle?
Regards,
Ren