Feedback simulation, and DCM modeling
Do the following problems:
- Textbook problem 11.3
- Textbook problem 11.4
- The attached simulation problem
Some notes regarding simulation of closed-loop systems:
SPICE and other simulators often have convergence problems when simulating closed-loop systems. When performing an ac analysis, SPICE first runs a dc analysis to find the dc operating point. If this dc analysis does not converge, then SPICE is unable to proceed with the ac analysis. Divergence might occur because the system itself is mathematically unstable or has multiple possible operating points, or because the numerical algorithm employed by SPICE encounters an instability. The following steps can help SPICE to converge to the dc operating point of a closed-loop switching converter:
- Limit the duty cycle. Nonphysical values of duty cycle (outside the range 0 to 1) should not be allowed, and it may be necessary to further restrict the duty cycle to 0 < d(t) < Dmax. One way to do this is with the LIMIT function; for example, the value of a dependent voltage source Ex can be set to a range (Vmin, Vmax) with a statement such as
Ex 1 0 value={limit(v(2), Vmin, Vmax)}
In the above, dependent voltage source is connected between nodes 1 and 0, and is equal to the voltage at node 2 over the range (Vmin, Vmax). It saturates outside that range. - Start the dc analysis with initial conditions near the correct operating point. You probably know (or can estimate) the dc conditions at the intended operating point. Even when a circuit has multiple stable operating points (such as in a flip-flop), you may be able to get SPICE to converge to the correct dc operating by setting the initial conditions close to that point. The nodeset command is a good way to do this. For example, to set the initial voltage at node 3 to 5, use the following netlist statement:
.nodeset v(3)=5
The PSpice/Allegro schematic capture program includes a nodeset component in the SPECIAL library that can be used to specify the initial condition. - Loosen the convergence criteria. Your can use the .options statement to increase convergence parameters such as RELTOL, VNTOL, or ABSTOL. Increasing RELTOL from 0.001 to 0.01 may help:
.options reltol=1e-2
For further information see Step-by-step procedures help you solve Spice convergence problems. It is recommended that you try the the previous options before attempting this one.
RWE update 2/20/09