虚拟示波器的设计与实现
摘 要
针对传统示波器功能单一、不方便更新升级的缺陷,本文基于虚拟仪器软件LabVIEW和NI PCI-6221数据采集卡设计并实现了一种多功能虚拟示波器,该虚拟示波器不仅具有采集和显示实际信号时域波形的功能,还具有信号产生、波形存储等功能。
测试结果表明,该虚拟示波器既能够产生和显示正弦波、三角波、方波和锯齿波等四种常见仿真信号,又能够采集和显示实际物理信号,还可以实现波形的存储和回放,同时具有双综显示、通道选择、波形平移与缩放、触发方式选择和信号时域参数测量等功能。与传统示波器相比,具有功能多、更新升级方便和操作方便等优点,可广泛应用于信号时域分析和课程教学等场合。
关键词:虚拟仪器;虚拟示波器;数据采集卡;LabVIEW
ABSTRACT
Aiming at the defects of single function and inconvenient upgrade of traditional oscilloscopes, this paper designs and implements a multi-functional virtual oscilloscopes based on LabVIEW and Ni PCI6221 data acquisition card. The virtual oscilloscopes not only have the functions of collecting and displaying the time domain waveform of actual signals, but also have the functions of signal generation and waveform storage.
The test results show that the virtual oscilloscope can not only generate and display four common simulation signals, such as sine wave, triangle wave, square wave and sawtooth wave, but also collect and display the actual physical signals. It can also realize the storage and playback of waveforms. At the same time, it has the functions of dual display, channel selection, waveform translation and scaling, trigger mode selection and signal time domain parameter measurement. Compared with the traditional oscilloscope, it has many advantages, such as multi-function, convenient update and operation. It can be widely used in signal time domain analysis and course teaching.
Key words: Virtual instrument,Virtual oscilloscope,Data acquisition card,LabVIEW
目 录
摘 要............................................................................................. I
ABSTRACT..................................................................................... II
目 录.......................................................................................... III
1 引 言...................................................................................... 1
1.1 研究背景及意义................................................................ 1
1.2 研究现状............................................................................ 2
1.3 研究内容............................................................................ 3
2 课题相关基础知识.................................................................. 4
2.1 虚拟仪器技术的产生和发展........................................... 4
2.2 LabVIEW编程的基础知识.............................................. 5
2.2.1 虚拟仪器程序设计.................................................... 5
2.2.2 LabVIEW调试工具与方法....................................... 5
3 总体设计方案.......................................................................... 7
3.1 工作原理............................................................................ 7
3.2 驱动软件............................................................................ 8
3.3 NI PCI-6221数据采集卡的性能参数............................... 8
3.3.1 PCI总线简介.............................................................. 9
3.3.2 NI PCI-6221数据采集卡性能指标......................... 10
4 虚拟示波器的软件设计........................................................ 15
4.1.1 主程序...................................................................... 15
4.2 前面板设计...................................................................... 15
4.3 程序框图设计.................................................................. 17
4.3.1 登录程序设计.......................................................... 17
4.3.2 DAQ数据采集模块的设计..................................... 17
4.3.3 通道选择功能模块.................................................. 18
4.3.4 触发功能模块.......................................................... 19
4.3.5 波形显示模块.......................................................... 19
4.3.6 参数测量模块.......................................................... 20
4.3.7 存储与回放模块...................................................... 21
5 程序的调试与验证................................................................ 22
5.1 虚拟示波器的性能指标.................................................. 22
5.1.1 采样率与示波器带宽.............................................. 22
5.1.2 采样精度.................................................................. 22
5.1.3 其它性能指标.......................................................... 22
5.2 程序的调试结果.............................................................. 23
5.3 数据的保存与查询.......................................................... 25
5.3.1 数据保存.................................................................. 25
5.3.2 数据查询.................................................................. 25
6 总结与展望............................................................................ 27
7 致 谢...................................................................................... 28
8 参考文献................................................................................ 29
虚拟示波器技术是一种快捷技术,目前主要在虚拟显示系统上使用,同时朝着更加智能、高精度的方向不断革新。起初,由于各国对虚拟示波器设备的需求极高,同时给予了很多优秀的设想和建议,而且研究出了很多至关重要的新技术。因为世界科学技术和人类文明的不断发展和创新,虚拟示波器设备不管是在功能上还是在销量上都得到了前所未有的的发展和提高,逐渐变成当今社会人们必不可缺的日常工具,从而改善了人们的生活方式。
但是伴随着人们的生活条件和经济水平不断改善,市场对虚拟示波器性能的需求也在急剧增加,特别是大中及沿海城市,用在采集分析显示控制系统等设备中。虚拟示波器被普遍应用在各式各样的大型设备上,特别是工业领域。
现如今我国大多数城市,伴随着人口数量和人口流动量也在不断提升,对虚拟示波器要求更高,逐渐成为行业的发展趋势。现在我国的虚拟示波器的稳定性和其精度性能已经得到了前所未有的进步,虚拟示波器也趋于完善,性能也趋向完美,以目前的技术来达到对虚拟示波器的设计和实现是完全可以实现的,随着国外在开发性能上的提高,再加上完善的控制技术,就能够达到对虚拟示波器的智能化和准确度,这个是很重要的。随着电子技术的发展和智能控制系统的革新,我们要逐步实现虚拟示波器的精确性是当今社会的发展方向,引领电机新的航向。
-
- 研究现状
展望过去的几年时光,虚拟示波器在工业自动化领域中起到了举足轻重的作用。现如今虚拟示波器也逐渐成为各大公司技术、生产、运输、测试过程中的重要工具。
我国的虚拟示波器技术在20世纪70年代中期也取得了前所未有的进步,因为虚拟技术的革新。不同的虚拟示波器,如春季雨后的青笋,逐渐应用于国家的所有企业。欧美等发达国家在虚拟示波器技术方面有先进的水平,他们在20世纪60年代开始对虚拟示波器技术控制系统方面展开深入的研究,在1980年之后,研究人员就基本实现了对虚拟示波器的自动化控制,在20世纪末期,开始对虚拟示波器技术的控制模块进行批量生产。然而现如今,我们对虚拟示波器进行分析时要与众多因素相结合进行考虑。但因为对于设备的标准要求逐渐增高,对于虚拟示波器的稳定性要求较高,也因此需要想到许多额外的因素。经过分析可知,为了保证大规模的设备保持运行时的稳定性,我们要把虚拟示波器的设计开发放在首位。
我国在虚拟示波器技术控制系统方向的研发力度不够,而且很晚,然而随着近几年来我国虚拟示波器行业的蓬勃发展,虚拟示波器技术的需求数量也在快速增加,同样的对虚拟示波器高性能、高质量的需求量也急剧增加。即使国外在虚拟示波器技术控制方面研究比较突出,但我国的实际需求情况比较复杂,并不能完全的应用此项技术,虚拟示波器种类较多,没有一致规范,而且消费习惯也不一样,达到虚拟示波器高度要求还有一定的距离,但是虚拟示波器控制系统在国内的还是有宽广的未来。
国内虚拟仪器最早的研究也是从引进消化NI 的产品开始。国家自然科学基金委员会也曾将虚拟仪器研究作为现代机械工程科学前沿学科之一,列入为“十五”期间优先资助领域。目前有些研究已取得可喜成绩,如863项目“虚拟仪器关键技术的研究及其产业化”,所研制的“一体化虚拟仪器”就是一种不同于欧美虚拟仪器的技术。这项成果表明我国在虚拟仪器方面走出一条自主创新的路子,并成为国际上嵌入式一体化虚拟仪器研发的先行者。
-
- 研究内容
选用合适的数据采集设备,以虚拟仪器软件LabVIEW为编程工具,模拟传统示波器的面板和功能,完成多功能虚拟示波器的设计、实现和系统调试。该多功能虚拟示波器不仅能够采集和显示实际信号,还能够产生和显示多种常见仿真信号波形,并具有波形存储功能。
本课题的主要研究内容包括:
(1)数据采集设备的选择与配置;
(2)波形存储模块的设计;
(3)信号产生模块的设计;
(4)虚拟示波器前面板和程序框图的设计。
完整论文+labview仿真+程序点击如下链接下载:
https://download.csdn.net/download/weixin_45905610/80622429https://download.csdn.net/download/weixin_45905610/80622429
相关文章:

虚拟示波器的设计与实现
摘 要 针对传统示波器功能单一、不方便更新升级的缺陷,本文基于虚拟仪器软件LabVIEW和NI PCI-6221数据采集卡设计并实现了一种多功能虚拟示波器,该虚拟示波器不仅具有采集和显示实际信号时域波形的功能,还具有信号产生、波形存储等功能。 测试…...

ImgPlus:基于CodeFormer的图片增强
背景 最近参与了华为云开发者大会AI赛道,做了一个AI图片增强作品,本片文章来简单介绍一下。 正文 作品名称:ImgPlus 赛题技术领域选择: AI,图片增强 使用技术名称: CodeFormer,ECS࿰…...
2024华为校招面试真题汇总及其解答(二)
6.【算法题】三步问题 题目: 三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。 示例1: 输入:n = 3 输出:4说明: 有四种走法示例2: 输入:n = 5输出:1…...

编译链接(Compile Link)
文章目录 前言一、翻译环境1、概念2、翻译环境的组成3、什么是编译链接? 二、编译1、编译的阶段2、预编译3、编译1、什么是语法分析?2、什么是词法分析?3、什么是语义分析?4、什么是符号汇总? 4、汇编1、符号表展示 三…...
14 幂等生产者和事务生产者
kafka消息交付可靠性保障和精确一次语义处理 消息交付可靠性保障,指的kafka对Producer和Consumer要处理的消息提供什么样的承诺。总共就三种:at most once 、at least once、axactly once kafka默认提供的是 at least once。原因是只有Broker提交消息并…...

zabbix部署与监控
目录 一、什么是zabbix? 二、zabbix 监控原理 三、Zabbix 新特性 三、Zabbix 功能组件 四、部署 zabbix zabbix的服务端部署 zabbix的客户端部署 zabbix的服务端部署 一、什么是zabbix? zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络…...
Python 编程基础 | 第五章-类 | 5.8、运算符重载
一、运算符重载 1、Python类内置方法 Python常用内置方法,如下: __init__: 构造函数,在生成对象时调用__del__: 析构函数,释放对象时使用__repr__: 打印,转换__setitem__࿱…...
【前端设计模式】之解释器模式
解释器模式是一种行为设计模式,它用于解释特定语言或规则的表达式。在前端开发中,解释器模式可以用于处理复杂的逻辑或规则,并将其转化为可执行的代码。 解释器模式特性 定义语言规则:解释器模式通过定义语言规则来解析和执行表…...

TiDB 7.4 发版:正式兼容 MySQL 8.0
MySQL 是全球最受欢迎的开源数据库,长期位于 DB-Engines Ranking 排行榜第二名,在世界范围内拥有数量庞大的企业用户和开发者。然而,随着时间的推移,MySQL 用户正面临新挑战。Oracle 官宣将在 2023 年 10 月终止 MySQL 5.7 版本的…...
QT 网络编程 服务端 客户端 QTcpServer
服务端的创建 //创建服务端QTcpServer对象 server new QTcpServer(this);//设置服务端,端口,这里绑定的是主机的所有网卡, server->listen(QHostAddress::Any, 8080);//绑定连接信号与槽 connect(this->server, &QTcpServer::new…...

Stm32_标准库_16_串口蓝牙模块_手机与蓝牙模块通信_手机传入信息能对芯片时间日期进行更改
实现了手机发送信息给蓝牙模块,程序对数据进行分析拆解,并更新自身数据 main.c: #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" #include "Serial.h" #include "Ti…...

137.【SpringCloud-快速搭建】
微服务框架搭建 (一)、SpringCloud-Parent1.创建一个SpringBoot项目2.导入我们的依赖 (二)、SpringCloud-API (实体类)1.创建一个SpringBoot项目2.导入我们的依赖3.创建我们的实体类 (三)、SpringCloud-dept (业务A)1.创建一个SpringBoot项目2.导入我们的依赖3.配置我们的配置信…...

计算机网络第2章-CDN(4)
视频流和内容分发网 HTTP流和DASH 在HTTP流中,视频只是存储在HTTP服务器中作为一个普通的文件,每个文件有有一个特定的URL。当用户要看视频时,客户与服务器之间创建一个TCP连接并发送HTTP GET请求。 HTTP流具有严重缺陷,即所有…...

Linux常见的指令合集
Linux指令合集 认识linuxlinux基础指令1.pwd 命令2. ls 命令3.cd 命令4. man 命令5. grep 命令6. ps 命令7. kill 命令8. netstat 命令9. date 查看当前系统时间10. echo 打印选项 -e linux文件操作指令1. mkdir 命令2. rmdir 命令3. touch 命令4. rm 命令5. mv 命令6. cp 命令…...
字符串_哈希
参考文章: E. Compress Words(字符串hash)_z听歌的小孩z的博客-CSDN博客 字符串哈希 - OI Wiki (oi-wiki.org) 板子: #include<bits/stdc.h> using namespace std; const int N2e450; typedef long long ll; const int mod1e97; typedef unsig…...

python 之enumerate()函数
文章目录 enumerate() 是 Python 中的一个内置函数,它用于在遍历可迭代对象(如列表、元组、字符串等)时同时获取每个元素的索引和值。这个函数非常有用,因为它允许您在迭代过程中轻松地访问元素的索引,而不需要手动维护…...

【LeetCode刷题(数据结构与算法)】:用队列实现栈
请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty) 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶 int pop() 移除并返回栈顶元素 int top() 返…...
“客户端到服务器的数据传递”和“服务器上的数据传递”这两种数据传递的方式的区别
“客户端到服务器的数据传递”和“服务器上的数据传递”这两种数据传递方式的主要区别如下: 数据的流动方向: 在“客户端到服务器的数据传递”中,数据是从客户端(如浏览器)流向服务器。在“服务器上的数据传递”中&…...
LCR 181 字符串中的单词反转
题目来源: leetcode题目,网址:LCR 181. 字符串中的单词反转 - 力扣(LeetCode) 解题思路: 倒叙遍历,获得每个单词的起始位置与终止位置,然后将每次遇到的单词插入结果中。 解题…...

百度OCR识别图片文本字符串——物联网上位机软件
一、开发背景 根据项目需求,我们需要完成LED显示屏实时显示歌词的效果。最优的方法是调用歌曲播放器的API获取歌词,但是由于这个开发资格不是很好申请,因此我们采用其他方案,即通过OCR识别获取歌词,并投射到LED显示屏上…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...

向量几何的二元性:叉乘模长与内积投影的深层联系
在数学与物理的空间世界中,向量运算构成了理解几何结构的基石。叉乘(外积)与点积(内积)作为向量代数的两大支柱,表面上呈现出截然不同的几何意义与代数形式,却在深层次上揭示了向量间相互作用的…...