The Current Limiter models the behavior of an operational amplifier or comparator device at a high level of abstraction. All of its pins act as inputs; three of the four (pos_pwr, neg_pwr and out) also act as outputs.

The model takes as input a voltage value from the in pin. It then applies an offset and a gain, and derives from it an equivalent internal voltage Veq, which it limits to fall between pos_pwr and neg_pwr pins. If Veq is greater than the output voltage seen on the out pin, a sourcing current will flow from the output pin. Conversely, if the voltage is less than the output voltage seen on the out pin, a sinking current will flow into the output pin.

Depending on the polarity of the current flow, either a sourcing or a sinking resistance value (r_out_source, r_out_sink) is applied to govern the vout/i_out relationship. The chosen resistance will continue to control the output current until it reaches a maximum value specified by either i_limit_source or i_limit_sink. The latter mimics the current limiting behavior of many operational amplifier output stages.

During all operation, the output current is reflected either in the pos_pwr pin current or the neg_pwr pin current, depending on the polarity of i_out. Thus, realistic power consumption as seen in the supply rails is included in the model.

The user-specified smoothing parameters relate to model operation as follows:

v_pwr_range controls the voltage below pos_pwr and above neg_pwr inputs beyond which Veq [= gain * (vin + voffset)] is smoothed;

i_source_range specifies the current below i_limit_source at which smoothing begins, as well as specifying the current increment above i_out=0.0 at which i_pos_pwr begins to transition to zero;

i_sink_range serves the same purpose with respect to i_limit_sink and i_neg_pwr that i_source range serves for i_limit_source and i_pos_pwr;

r_out_domain specifies the incremental value above and below (veq-vout)=0.0 at which r_out will be set to r_out_source and r_out_sink, respectively. For values of (veq-vout) less than r_out_domain and greater than -r_out_domain, r_out is interpolated smoothly between r_out_source and r_out_sink.


Parameter Description Default Limits
in_offset Input offset. 0  
gain Gain. 1  
r_out_source Sourcing resistance. 1 min=1.0e-9 max=1.0e9
r_out_sink Sinking resistance. 1 min=1.0e-9 max=1.0e9
i_limit_source Current sourcing limit. 1.0e-2 min=1.0e-12
i_limit_sink Current sinking limit. 1.0e-2 min=1.0e-12
v_pwr_range Upper and lower power supply smoothing range. 1.0e-6 min=1.0e-15
i_source_range Sourcing current smoothing range. 1.0e-9 min=1.0e-15
i_sink_range Sinking current smoothing range. 1.0e-9 min=1.0e-15
r_out_domain Output resistance smoothing domain. 1.0e-9 min=1.0e-15