<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > Python示例:使用16-bit垂直分辨率的SDG2000X / SDG6000X構(gòu)建任意波形

          Python示例:使用16-bit垂直分辨率的SDG2000X / SDG6000X構(gòu)建任意波形

          作者: 時間:2024-07-15 來源:鼎陽硬件設(shè)計與測試智庫 收藏

          鼎陽科技具有16-bit。它提供了多達65,535個離散電壓等級,覆蓋了輸出電壓的整個范圍(高壓負載為20 Vpp),本文將應(yīng)用 2.7和PyVISA1.8來創(chuàng)建一個斜坡波形,這個斜坡波形由通道1輸出的0到65535的最低有效位的步長合成。

          2、正文
          鼎陽科技具有16-bit。它提供了多達65,535個離散電壓等級,覆蓋了輸出電壓的整個范圍(高壓負載為20 Vpp),通過信號源輸出的微小變化波形可有效測試A / D轉(zhuǎn)換和其他測量系統(tǒng)。
          本文將應(yīng)用 2.7和PyVISA 1.8來創(chuàng)建一個斜坡波形,這個斜坡波形由通道1輸出的0到65535的最低有效位的步長合成。
          還實現(xiàn)了TrueArb功能,支持輸入特定的采樣率并且確保逐點輸出存儲器中任意波形的每一個波形數(shù)據(jù)點,可精確地生成低抖動的任意波形。
          注意:用戶需要改變機器的ID來匹配連接特定的儀器。建議在打開儀器輸出之前就設(shè)置好振幅和其他參數(shù)。
          下圖是設(shè)置好信號源參數(shù)并打開通道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
          #設(shè)備的USB 
          rm = visa.ResourceManager()
          device = rm.open_resource(‘USB0::0xF4EC::0x1101::SDG6XBAQ1R0071::INSTR’)  #CHANGE TO MATCH YOUR INSTRUMENT ID
          #Little endian, 16位2的補碼
          # 創(chuàng)建一個波形
          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():
          #創(chuàng)建要給文件
          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) #十六進制整數(shù)到ASCii編碼的字符串
          f.write(c)
          f.close()
          def send_wave_data(dev):
          #將波形1文件發(fā)送到設(shè)備
          f = open(“wave1.bin”, “rb”) #wave1.bin 是要被發(fā)送的波形
          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
          ###

          本文引用地址:http://www.ex-cimer.com/article/202407/461004.htm


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();