你好
上下文:
我试图源自定义波形使用凯斯利2635B源。使用trigger属性listv
和timer属性delaylist
很容易做到,但会出现意外的行为。你知道吗
正如您在所附图片上看到的,我正在寻找一个非常简单的方形信号(具有相同延迟的两点+A
和–A
),并使用smua.trigger.arm.count = <Periods>
重复多次。注意信号在每个新周期开始时是如何稳定的吗?它只发生在跨越0时,如果我添加一个偏移量,使信号保持相同的符号,就没有问题。这个平台有一个非常一致的持续时间125µs,无论我尝试来源于哪个频率。它的影响是不可忽视的高频了。你知道吗
下面是代码的重要部分。上游的代码只处理用户给定的各种参数(频率、振幅、偏移量等),以创建适当的listv
和delaylist
。发送到Keithley的Lua命令用WRITE()
函数包装,以便程序的其余部分可以用Python编写。你知道吗
# Source V
K.WRITE("smua.source.func = smua.OUTPUT_DCVOLTS")
# Configure actions to start immediately.
K.WRITE("smua.trigger.arm.stimulus = 0")
K.WRITE("smua.trigger.source.stimulus = 0")
K.WRITE("smua.trigger.endpulse.stimulus = 0")
# Configure the source action.
K.WRITE("smua.trigger.source.action = smua.ENABLE")
K.WRITE("smua.trigger.endpulse.action = smua.SOURCE_HOLD")
K.WRITE("smua.trigger.source.listv(%s)" %SourceArray)
K.WRITE("smua.trigger.arm.count = %d" %Periods)
K.WRITE("smua.trigger.count = %d" %PointsPerPeriod)
# Delay between outputs
K.WRITE("trigger.timer[1].reset()")
K.WRITE("trigger.timer[1].delaylist = {}".format(DelayArray))
K.WRITE("trigger.timer[1].stimulus = smua.trigger.SOURCE_COMPLETE_EVENT_ID")
K.WRITE("smua.trigger.measure.stimulus = trigger.timer[1].EVENT_ID")
# Start the trigger to generate the AC signal then turn off the output when done.
K.WRITE("smua.source.output = 1")
K.WRITE("smua.trigger.initiate()")
K.WRITE(“waitcomplete()”)
K.WRITE("smua.source.output = 0")
问题:
源表文件表明
in cases where the first sweep point is a nonzero value, it may be necessary to pre-charge the circuit so that the sweep will return a stable value for the first measured point without penalizing remaining points in the sweep.
所以我假设我看到的高原是每次重复开始时的预充电。有没有办法禁用它?提前谢谢。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐