VCO-Tri - Voltage Controlled Triangle Wave Oscillator
Model Kind
General
Model Sub-Kind
Spice Subcircuit
SPICE Prefix
X
SPICE Netlist Template Format
@DESIGNATOR %1 %2 %3 %4 @MODEL #|PARAMS:| ?LOW|LOW=@LOW| ?HIGH|HIGH=@HIGH| ?C1|C1=@C1| ?F1|F1=@F1| ?C2|C2=@C2| ?F2|F2=@F2| ?C3|C3=@C3| ?F3|F3=@F3| ?C4|C4=@C4| ?F4|F4=@F4| ?C5|C5=@C5| ?F5|F5=@F5| ?CYCLE|CYCLE=@CYCLE|
Parameters (definable at component level)
The following component-level parameters are definable for this model type and are listed on the Parameters tab of the Sim Model dialog. To access this dialog, simply double-click on the entry for the simulation model link in the Models region of the Component Properties dialog.
Low | peak output low value (in Volts). |
High | peak output high value (in Volts). |
C1 | input control voltage point 1 (in Volts). |
F1 | output frequency point 1 (in Hertz). |
C2 | input control voltage point 2 (in Volts). |
F2 | output frequency point 2 (in Hertz). |
C3 | input control voltage point 3 (in Volts). |
F3 | output frequency point 3 (in Hertz). |
C4 | input control voltage point 4 (in Volts). |
F4 | output frequency point 4 (in Hertz). |
C5 | input control voltage point 5 (in Volts). |
F5 | output frequency point 5 (in Hertz). |
Cycle | duty cycle. Possible values can lie in the range 0 to 1. |
Notes
The parameters C1, C2,... and F1, F2,...
define the voltage to frequency conversion function. The C
values define input voltage levels and the F
values set the respective output frequencies generated for these input levels. Linear interpolation is used to define input/output values between the set points.
The voltage controlled triangle wave oscillator is not one of the built-in SPICE engine models. It is a complex device and, as such, is defined using the hierarchical sub-circuit syntax.
All of the parameters will normally have a default value assigned. The default should be applicable to most simulations. Generally you do not need to change this value. Entering a value for a parameter on the Parameters tab of the Sim Model dialog will override its specified value in the sub-circuit file.
To check the default values of the model, open the associated sub-circuit (.ckt
) file. You can view the content of this file for the model specified on the Model Kind tab of the Sim Model dialog, by clicking on the Model File tab at the bottom of the dialog. The default parameter values are listed in the .SUBCKT
line.
The simulation-ready voltage controlled triangle wave oscillator component (VCO-Tri
) can be found in the Simulation Special Function integrated library (\Library\Simulation\Simulation Special Function.IntLib
).
Examples
Consider the voltage controlled triangle wave oscillator in the above image, with the following characteristics:
- Pin1 (positive controlling node) is connected to net
IN
- Pin2 (negative controlling node) is connected to net
GND
- Pin3 (positive output node) is connected to net
OUT
- Pin4 (negative output node) is connected to net
GND
- Designator is
V1
- The linked simulation sub-circuit file is
TRIVCO.ckt
, with the following content:
*Voltage Controlled Triangular Wave Oscillator
* LOW = Peak output low value
* HIGH = Peak output high value
* CYCLE = Duty cycle
* C1 = Input control voltage point 1
* C2 = Input control voltage point 2
* C3 = Input control voltage point 3
* C4 = Input control voltage point 4
* C5 = Input control voltage point 5
* F1 = Output frequency point 1
* F2 = Output frequency point 2
* F3 = Output frequency point 3
* F4 = Output frequency point 4
* F5 = Output frequency point 5
* Connections:
* In+
* | In-
* | | Out+
* | | | Out-
* | | | |
.SUBCKT TRIVCO 1 2 3 4 PARAMS: C1=0 C2=1 C3=2 C4=3 C5=4
+ F1=0 F2=1k F3=2k F4=3k F5=4k LOW=-5 HIGH=5 CYCLE=0.5
A1 %vd(1,2) %vd(3,4) ATRIVCO
.MODEL ATRIVCO triangle(cntl_array=[{C1} {C2} {C3} {C4} {C5}]
+ freq_array=[{F1} {F2} {F3} {F4} {F5}] out_low={LOW}
+ out_high={HIGH} duty_cycle={CYCLE})
.ENDS TRIVCO
If no overriding values for the parameters are entered on the Parameters tab of the Sim Model dialog the entries in the SPICE netlist would be:
*Schematic Netlist:
XV1 IN 0 OUT 0 TRIVCO
.
.
*Models and Subcircuit:
.SUBCKT TRIVCO 1 2 3 4 PARAMS: C1=0 C2=1 C3=2 C4=3 C5=4 F1=0 F2=1k F3=2k F4=3k
+ F5=4k LOW=-5 HIGH=5 CYCLE=0.5
A1 %vd(1,2) %vd(3,4) ATRIVCO
.MODEL ATRIVCO triangle(cntl_array=[{C1} {C2} {C3} {C4} {C5}] freq_array=[{F1}
+ {F2} {F3} {F4} {F5}] out_low={LOW} out_high={HIGH} duty_cycle={CYCLE})
.ENDS TRIVCO
The Netlister will evaluate the formulae in the sub-circuit definition using the default parameter values, as defined in the TRIVCO.ckt
file.