电子头条

SIMETRIX 探头和测量

2024-09-23
    阅读数:

SIMETRIX 探头

随着工作的调整仿真那是越用越多了,在做仿真的时候我们对结果往往都需要做一些测量,怎么样让我们的测量更加的高效呢?

我们也从做中学,从学中做,仿真主要还是培养对电路的直觉虽说讲的是工具还是从电路做起,在做电路过程中把工具学了。

现在我要做个东西变频的东西,我想看看频率是怎么变化的,如果直接看输出波形那可有点麻烦,但我们可以使用SIMTERIX中的VCO组件,Voltage control oscillator 压控震荡器。

首先了解一个新的东西最好的方式就是看ta的帮助 help。

图1:SIMETRIX的VCO

Ta有两种VCO一种是固定占空比50%的,另外一种是占空比可以变化的,我们的Probe既要看Duty变化也要看Freq变化,所以我们选择第一种。可以在View里面点出part selector 如图2所示。

图2:View -- show part selector

图3:放置VCO

图4:设置VCO属性

VF代表输入电压=当VF=1V时候CLK就输出100Hz的频率

OFF当OFF PIN 输入电压高于3V时候停止工作,当低于2V时候开始工作

RTN 就是参考地

构建基本图纸如下:

图5:VCO基本电路

因为C1使用了IC=0所以C1的初始电压是0,所以C1上的电压是慢慢变到5V,最终的输出电压应该慢慢变化到500Hz的

图6:使用voltage probe的效果

图7:使用Measure 测量

使用Measure测量时候他的测量结果在右下角显示,如果需要测量的没有可以看到A More Functions 里面有没有,如下图8所示。

图8: Measure --A More Functions

测量功能已经较为直观的展示测量Freq--Frequency,但是我们这个是变频的,频率如何变化并不是很直观,所以我们可以使用Freq Probe去测量频率的变化。

View--> Show Part Selector-->Probe-->Per Cycle Voltage Probes

选择Frequency探头直接去测量Ramp即可。

图9:Freq Probe效果

看到Freq的变化和U1-VF的变化是相同的,但是这里不太明显,可以调大VCO本身的Gain,调整为10Khz/V看看效果,调整VCO的Gain后仿真效果如下图10所示。

图10:VCO Gain 设置

图11:波形细节

可以使用Ramp组合Compare去做PWM调频,Ramp的最大值在1V左右是我们当初设置的,可以变的更大例如5V,剩下的自己去摸索吧!

仿真代码:

.options PSP_NPT=10001 POP_ITRMAX=20 POP_OUTPUT_CYCLES=5 SNAPSHOT_INTVL=0 SNAPSHOT_NPT=11+ MIN_AVG_TOPOLOGY_DUR=1a AVG_TOPOLOGY_DUR_MEASUREMENT_WINDOW=128.tran 2 0C1 4 0 10u IC=0.PRINT V(2).GRAPH :2 axisType="owngrid" persistence=-1 curveLabel="RAMP" analysis="tran|pop"+ xLog="auto" yLog="auto" nowarn=true disabled=false PROBEREF=Probe1 .PRINT V(5).GRAPH :5 axisType="owngrid" persistence=-1 curveLabel="CLK" analysis="tran|pop" xLog="auto"+ yLog="auto" nowarn=true disabled=false PROBEREF=Probe2 .PRINT V(6).GRAPH :6 axisType="owngrid" persistence=-1 curveLabel="VDIS" analysis="tran|pop"+ xLog="auto" yLog="auto" nowarn=true disabled=false PROBEREF=Probe3 .PRINT V(2).GRAPH "PerCycleTiming(:2,'frequency','stepped',1)" curveLabel="Per Cycle Frequency(PROBE4-neg)"+ ylog="lin" xlog="auto" yLabel="Freq" axisType="grid" axisname="Freq" nowarn="true"+ yUnit="Hz" analysis="tran|pop" disabled=false .PRINT V(4).GRAPH :4 curveLabel= U1-VF nowarn=true ylog=auto xlog=auto analysis=tran|pop disabled=false+ PROBEREF=Probe5 R1 4 3 1KX$U1 4 0 2 5 6 0 SIMPLIS_OSC101_BB$1V1 3 0 5.subckt SIMPLIS_OSC101_BB$1 9313 9309 9314 9310 9311 9308.NODE_MAP VF 9313.NODE_MAP OFF 9309.NODE_MAP RAMP 9314.NODE_MAP CLK 9310.NODE_MAP V_DICH 9311.NODE_MAP RTN 9308.NODE_MAP V_C_OSC 9312.KEEP -**V.KEEP -**I.REQUIRED_VERSION 8.00RBB9301 9313 9308 1GGBB9311 9308 9312 RBB9301 1.02040816326531e-05C_OSC 9312 9308 1e-09 IC=1.101VBB9313 9303 9308 0.6X$UBB9314 9302 9304 9308 9312 9303 SIMPLIS_LOGIC_COMP$3$2EBB9315 9301 9308 C_OSC 1RBB9316 9301 9314 10 EBB9317 9310 9308 9302 9308 1EBB9321 9306 9308 RBB9301 1X$UBB9322 9305 9308 9306 9310 SIMPLIS_SWITCH_VCVS$2GBB9323 9307 9308 9305 9308 0.000510204081632653VHBB124$TP_CCVS 9312 9307 0HBB9324 9311 9308 VHBB124$TP_CCVS 980X$SBB9331 9312 9308 9309 9308 SIMPLIS_VC_SWITCH$1ROFF 9309 9308 1G.subckt SIMPLIS_VC_SWITCH$1 1 2 3 4.NODE_MAP P 1.NODE_MAP N 2.NODE_MAP CP 3.NODE_MAP CN 4S1 1 2 3 4 SW IC=OPEN.MODEL SW VCSW ROFF=1e+009 RON=1 TH=2.5 HYSTWD=1 LOGIC=POS.ends SIMPLIS_VC_SWITCH$1
.subckt SIMPLIS_SWITCH_VCVS$2 9922 9900 9901 9902.NODE_MAP VOUT 9922.NODE_MAP RTN 9900.NODE_MAP VSENSE 9901.NODE_MAP CNTL 9902EBB9901 9911 9900 9901 9900 1SBB9902 9912 9900 9902 9900 MSWM IC=CLOSE.MODEL MSWM VCSW ROFF=384 RON=128 TH=2.5 HYSTWD=1 LOGIC=NEGRBB9903 9911 9912 128EBB9904 9921 9900 9912 9900 4EBB9905 9922 9921 9901 9900 -2.ends SIMPLIS_SWITCH_VCVS$2
.subckt SIMPLIS_LOGIC_COMP$3$2 201 202 100 101 102.NODE_MAP OUT 201.NODE_MAP OUT_BAR 202.NODE_MAP RTN 100.NODE_MAP INP 101.NODE_MAP INN 102!DCOMP 2000 100 101 102 MCOMP IC=1.MODEL MCOMP COMP RIN=1e+009 ROUT=1024 VOL=0 VOH=1 HYSTWD=1 DELAY=0IOUT 100 201 0GOUT 100 201 2000 100 0.5ROUT 201 100 10IOUTB 100 202 0.5GOUTB 100 202 2000 100 -0.5ROUTB 202 100 10.ends SIMPLIS_LOGIC_COMP$3$2
.ends SIMPLIS_OSC101_BB$1
.end


今天就先到这了--拜拜

要休息也要更新,我姐家的小米糕看看咯↓


展开↓