电脑连接示波器读取数据

这篇具有很好参考价值的文章主要介绍了电脑连接示波器读取数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

示波器型号:北京普源的RIGOL MSO4034

首先连接示波器:
电脑连接示波器读取数据
连接线与示波器相连的端口如上图USB DEVICE所示,是一个比较奇怪的方形接口。连接线的另一端是标准的USB typeA接口,可以直接插在电脑上,当示波器和电脑连接时,电脑会提示安装驱动。

该型号示波器端口是业界通用的标准驱动VISA设计,可以使用SCPI命令控制。

首先下载NI的Ultra Sigma软件,安装,启动。下载链接:https://pan.baidu.com/s/1K8u5ZoB2D31aix76tGqZcg
提取码:ngr7

如果和示波器的连接正常,就如下图显示:
电脑连接示波器读取数据
可以打印当前示波器屏幕。右键型号,操作,打印,步骤如下图所示:
电脑连接示波器读取数据
打印出来的是个bmp图片,存在电脑的硬盘中。
电脑连接示波器读取数据

在打印步骤的菜单中,选择复制地址“Copy address”,可以把仪器的地址复制到剪切板中,例如我的示波器地址为:USB0::0x1AB1::0x04B1::DS4C193400320::INSTR

用matlab编写程序,通过发送SCPI命令控制示波器,具体的编程手册可以在普源官网找到,这里就简单的读取数据并做个FFT吧。

clear all

%创建设备。第一个参数为销售商参数,可以为agilent、NI或tek,第二个参数为资源描述符。创建后需要设置设备的属性,本例中设置输入缓存的长度为2048。
mso4000 = visa( 'NI','USB0::0x1AB1::0x04B1::DS4C193400320::INSTR' );
mso4000.InputBufferSize = 2048;

%打开设备。
fopen( mso4000 );

%请求数据。
% fprintf(mso4000, ':WAVeform:POINts?');%查询采样总点数
% [data1,len1]= fread( mso4000, 2048 );%返回的是1400的ascii码
fprintf(mso4000, ':WAVeform:DATA?');
[data,len]= fread( mso4000, 2048 );
fprintf(mso4000, ':WAVeform:XINCrement?');%查询时间刻度
[taudata,~]= fread( mso4000, 2048 );
tau=str2double(char(taudata)');%字节转换成数字

fprintf(mso4000, ':WAVeform:YINCrement?');%查询电压刻度
[Vscaledata,~]= fread( mso4000, 2048 );
Vscale=str2double(char(Vscaledata)');%字节转换成数字

fprintf(mso4000, ':WAVeform:YREFerence?');%查询电压参考线位置
[Vrefdata,~]= fread( mso4000, 2048 );
Vref=str2double(char(Vrefdata)');%字节转换成数字

fprintf(mso4000, ':WAVeform:YORigin?');%查询电压偏移
[Vbiasdata,~]= fread( mso4000, 2048 );
Vbias=str2double(char(Vbiasdata)');%字节转换成数字

%关闭设备。
fclose( mso4000 );
delete(mso4000);
clear mso4000;

%数据处理。读取的波形数据含有TMC头,对于MSO4000/DS4000/DS6000其长度为11个字节,其中前2个字节分别为TMC头标志符#和宽度描述符9,接着的9个字节为数据长度,然后是波形数据,最后一个字节为结束符0x0A。所以,读取的有效波形数据点为12到倒数第2个点。
wave = data(12:len-1);
wave = wave';
wave=wave-Vref-Vbias;%减去参考线的位置再减去偏移
wave=wave.*Vscale;%幅度乘以电压刻度
wavelen=length(wave);
t=0:tau:(wavelen-1)*tau;

subplot(211);
plot( t,wave );
title("示波器上的数据")
xlabel("时刻/s")
ylabel("电压/v")
grid on

fs=1/tau;%采样速率
f=(0:wavelen-1)*fs/wavelen; %真实频率
X=abs(fft(wave));
subplot(212);
plot(f(1:wavelen/2),X(1:wavelen/2)*2/wavelen);%单边频谱 
xlabel("f/Hz")
ylabel("幅度")
xlim([-fs/20,fs/2])%显示出0频
grid on

代码第三行的visa函数的第二个参数应该用自己的示波器地址。

这是运行后的结果:
电脑连接示波器读取数据
可以看出,拿示波器实现了频谱仪的效果。方波是1kHz的,频谱图显示信号包含直流、1kHz频率及其高次谐波,与实际情况吻合。

如果有警告:
警告: The EOI line was asserted before SIZE values were available.
‘visa’ unable to read all requested data. For more information on possible reasons, see VISA Read
Warnings.
不用担心,这是因为我们请求了2048字节的数据,但是返回的数据没那么长导致的。文章来源地址https://www.toymoban.com/news/detail-402332.html

到了这里,关于电脑连接示波器读取数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数字示波器设计】——基于FPGA的数字示波器实现

    【数字示波器设计】——基于FPGA的数字示波器实现 数字示波器是电子技术领域中非常重要的仪器之一,可以用来观察电信号的波形,是电子工程师必备的工具。而基于FPGA的数字示波器则具有高速、高精度和可编程性强等优势,成为了现代电子工程师常用的示波器。 本文将介

    2024年01月20日
    浏览(45)
  • 示波器带宽

    示波器有很多不同规格,确定了可捕获和测量信号的准确度。但是示波器的主要规格是其带宽。 所有示波器都具有以较高频率展示的低通频率响应,如下图所示。大多数带宽规格为 1 GHz 以及更低的示波器通常具有高斯频率响应。示波器高斯频率响应近似于单极点低通滤波器

    2024年02月13日
    浏览(44)
  • ThunderScope开源示波器

    4CH,1GSa/S 开源示波器。前端很简洁,BUF802+LMH6518,ADC是HMCAD1511,用Xilinx A7 FPGA进行控制,数据通过PCIE总线传输到上位机处理。目前这个项目已经被挂到了Xilinx官网,强。 设计日志:https://hackaday.io/project/180090-thunderscope 开源地址:https://github.com/EEVengers/ThunderScope discord讨论组:

    2024年02月16日
    浏览(49)
  • STM32示波器设计

    目录 前言 1、硬件模块 2、示波器基础知识 2.1 当头一棒就是,波形的概念 2 .2 第二就是需要观察的波形参数 2.3 第三就是示波器参数 2.3.1 采样率 2.3.2 带宽 2.3.4 刷新率 3、ADC采集和DAC输出 3.1 ADC 采集实现 3.1.1 配置ADC采集为定时触发DMA采集模式 3.1.2 配置ADC关联的定时器 3.1.3 转

    2023年04月14日
    浏览(97)
  • LabVIEW虚拟数字示波器

    1、简易版 1.1、生成虚拟数据 1.2、 数据参数信息 1.3、 调节时间和幅度 1.4、 调节直流偏置和增益 1.5、 数据信号频域分析 1.6、数据信号滤波 1.7、 保存波形数据 1.8、加载波形数据 1.9、停止运行 2、复杂版 2.1、调节数据信号频率、幅度、相位、偏移量和占空比 2.2、调节时

    2024年02月03日
    浏览(52)
  • 嵌入式开发----示波器入门

    对于嵌入式工程师来说,示波器的使用极为重要,他就像是“电子工程师的眼睛”,把被测信号的实际波形显示在屏幕上,以供工程师查找定位问题或评估系统性能等,利用示波器能观察各种不同信号幅度随时间变化的波形曲线,还可以用来测试电量,如电压、电流、频率、

    2024年01月18日
    浏览(55)
  • 基于FPGA的示波器设计

    目录 一、设计要求 二、系统架构设计         本次基于FPGA的示波器设计主要技术要求包含以下内容: 系统能够实现模数转换功能,即包含ADC驱动模块; 系统能够实现ADC采集数据的缓存功能; 系统包含辅助测试模块,DAC数模转换模块; 系统能够实现ADC数据和LCD液晶显示数

    2024年02月14日
    浏览(41)
  • 用MATLAB/Simulink对实验/仿真示波器保存的数据进行THD分析、MATLAB自定义横纵坐标轴绘图

    最近年底和师兄交流了数据分析、波形处理问题。一个是将示波器导出的csv数据放到MATLAB中进行THD分析,另一个是自定义横纵坐标轴进行绘图,就这两个问题记录一下。 不需要背代码,简单、易于理解,使用过程中截个图就行了。 1、导入数据至MATLAB,修改变量名和数据类型

    2024年01月22日
    浏览(71)
  • 示波器的 带宽、采样率、存储深度

    带宽:示波器上标注的带宽是可测量信号的最大带宽 数字示波器带宽一般都是指其前段放大器的模拟带宽。这里的放大器相当于一个低通滤波器。 示波器的带宽决定了其能测量多大的带宽,也决定了示波器的价格。 如果需要测试100M信号,需要多大带宽的示波器呢? 五倍法

    2024年02月06日
    浏览(38)
  • 简单使用示波器485通讯抓波形

    串口通讯经常要用到示波器抓波形分析数据,很多人都熟悉232通讯抓波形,但是不清楚要怎么给485抓包,其实很简单 首先先准备一个120欧和一个33欧的电阻(没有阻值一样的可以使用阻值差不多的) 然后按下图接入到485通讯线上 然后将示波器的触发方式改为欠压   最后将示

    2024年02月16日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包