Hello.
We are developing a Li-ion battery charger and we took the TIDM-BUCKBOOST-BIDIR reference design as a starting point because it satisfied most of our requirements.
I would like to better understand a couple of things related to how the duty cycles are calculated. Here are my doubts (it is assumed closed loop operation and forward mode):
-First of all, why is the Duty variable multiplied by 2 in _DPL_Func before calculating the duty cycles (it is implemented in assembly code as a shift: LSL ACC,#1)? I understand that under closed loop operation, it would just act as a gain in the loop, but does it have a particular reason to be?
-Is it really needed to do MOVL ACC,@XAR0 at the beginning of each mode?
-Could you explain why it is used the approach with the constants C1, C2 and C3 instead of a simpler division to achieve the expected gain (based on Vo/Vi=Dbu/(1-Dbo))? Is it to avoid divisions because of the CPU load involved in that? Furthermore, how are those coefficients supposed to be obtained? I saw the spreadsheets but I did not understand the procedure. Should we experiment with different values for those coefficients and see the efficiency for each case or is there a more methodical way to proceed?
Thank you in advance.