Python示例:使用16-bit垂直分辨率的SDG2000X / SDG6000X构建任意波形

时间:2024-07-15来源:鼎阳硬件设计与测试智库

鼎阳科技SDG2000X和SDG6000X具有16-bit垂直分辨率。它提供了多达65,535个离散电压等级,覆盖了输出电压的整个范围(高压负载为20 Vpp),本文将应用Python 2.7和PyVISA1.8来创建一个斜坡波形,这个斜坡波形由通道1输出的0到65535的最低有效位的步长合成。

2、正文
鼎阳科技SDG2000X和SDG6000X具有16-bit垂直分辨率。它提供了多达65,535个离散电压等级,覆盖了输出电压的整个范围(高压负载为20 Vpp),通过信号源输出的微小变化波形可有效测试A / D转换和其他测量系统。
本文将应用Python 2.7和PyVISA 1.8来创建一个斜坡波形,这个斜坡波形由通道1输出的0到65535的最低有效位的步长合成。
SDG2000X和SDG6000X还实现了TrueArb功能,支持输入特定的采样率并且确保逐点输出存储器中任意波形的每一个波形数据点,可精确地生成低抖动的任意波形。
注意:用户需要改变机器的ID来匹配连接特定的仪器。建议在打开仪器输出之前就设置好振幅和其他参数。
下图是设置好信号源参数并打开通道1输出的图片:
 
图1
下图是示波器捕获信号源输出信号的界面显示:
 
图2
点击这个链接可以下载Zipped 版本的.PY文件:
https://www.siglentamerica.com/wp-content/uploads/2018/03/SiglentSDG16BBitSteps.zip

附这段程序的文本:
##
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
import visa #Uses PyVISA 1.8 and NI-VISA runtime Engine 15.5
import time
import binascii
#设备的USB 
rm = visa.ResourceManager()
device = rm.open_resource(‘USB0::0xF4EC::0x1101::SDG6XBAQ1R0071::INSTR’)  #CHANGE TO MATCH YOUR INSTRUMENT ID
#Little endian, 16位2的补码
# 创建一个波形
wave_points = []
for pt in range(0x8000, 0xffff, 1):
wave_points.append(pt)
wave_points.append(0xffff)
for pt in range(0x0000, 0x7fff, 1):
wave_points.append(pt)
def create_wave_file():
#创建要给文件
f = open(“wave1.bin”, “wb”)
for a in wave_points:
b = hex(a)
#打印波形
b = b[2:]
len_b = len(b)
if (0 == len_b):
b = ‘0000’
elif (1 == len_b):
b = ‘000’ + b
elif (2 == len_b):
b = ’00’ + b
elif (3 == len_b):
b = ‘0’ + b
b = b[2:4] + b[:2] #将big-endian改为little-endian
c = binascii.a2b_hex(b) #十六进制整数到ASCii编码的字符串
f.write(c)
f.close()
def send_wave_data(dev):
#将波形1文件发送到设备
f = open(“wave1.bin”, “rb”) #wave1.bin 是要被发送的波形
data = f.read()
print (“write bytes:”,len(data))
dev.write_raw(“C1:WVDT WVNM,wave1,FREQ,2000.0,TYPE,8,AMPL,4.0,OFST,0.0,PHASE,0.0,WAVEDATA,%s” % (data))
#”X” series (SDG1000X/SDG2000X/SDG6000X/X-E)
dev.write(“C1:ARWV NAME,wave1”)
f.close()
if __name__ == ‘__main__’:
create_wave_file()
send_wave_data(device)
device.write(“C1:SRATE MODE,TARB,VALUE,333333,INTER,LINE”) #Use TrueArb and fixed sample rate to play every point
###

关键词: Python 垂直分辨率 SDG2000X SDG6000X 任意波形

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版