Part Number: TIDM-BUCKBOOST-BIDIR
Other Parts Discussed in Thread: SFRA
Champs,
I am asking this for our customers.
1) In "BuckBoostBiDir-DPL.asm", below code, why do you use Boost0Count to count 256 times and then force PWM2A to high and low?
INC @_Boost0Count
AND @_Boost0Count,#0x00FF
B PWM_UPDATE_BUCK,GT
; MOV AL,#0x7AE1
; MOV AH,#0x0014
; MOVL @_DutyBoost, ACC
MOVW DP,#_EPwm2Regs.AQCSFRC
MOV @_EPwm2Regs.AQCSFRC,#0x0002 ; Force a 1 on PWM 2A
RPT #0xF || NOP
MOV @_EPwm2Regs.AQCSFRC,#0x0001 ; Force a 0 on PWM 2A
MOV @_EPwm2Regs.AQCSFRC,#0x0000 ; resume PWM operation
2) Likewise, in below codes, why do you use Buck100Count to count 256 times and then force PWM1A to low and then high?
INC @_Buck100Count
AND @_Buck100Count,#0x00FF
B PWM_UPDATE_BUCK,GT
; MOV AL,#0x851F
; MOV AH,#0x00EB
; MOVL @_DutyBuck, ACC
MOVW DP,#_EPwm1Regs.AQCSFRC
MOV @_EPwm1Regs.AQCSFRC,#0x0001 ; Clear EPWM1 pin
RPT #0xF || NOP
MOV @_EPwm1Regs.AQCSFRC,#0x0002 ; Make EPWM1 pin high
MOV @_EPwm1Regs.AQCSFRC,#0x0000 ; resume PWM operation
3) How do you get the initialized coefficients of 3P3Z? Have you used any math modeling by R, C, L, etc of the power stage to calculate those coefficients?
If yes, would you please share with me the math modeling or methods?
4) How do you calculate input/output voltage/current like Vout_Rref, Vout_Read, etc? For example, if I want to output 50V, how do I set Vout_Rref?
5) Do you have any conversion calculation between PID and 3P3Z?
6) Buck/Boost switch is done by variable, Duty, which is calculated by Vout_Ref and Vout_Read via 3P3Z. As we know, Vin>Vout is Buck, Vin<Vout is Boost. Why is Vin not involved in the control?
Wayne Huang