(普源DS1000E),基于普源DS1000E实物示波器开发的上位机软件,本质上使用串口通信实现仪器的数据采集、分析和功能控制。 本篇博文将设计一款虚拟示波器(简易版+复杂版),不依托外部设备,通过LabVIEW内置的信号发生VI,生成各类型波形,通过上位机软件可以对波形进行分析。 项目工程下载请参见:LabVIEW虚拟数字示波器-嵌入式文档类资源-CSDN下载 1、简易版 简易版LabVIEW虚拟数字示波器,具备以下功能: 可实现2路通道数据采集(用户创建生成虚拟数据); 可查看两路通道参数信息 1.9、停止运行 项目工程下载请参见:LabVIEW虚拟数字示波器-嵌入式文档类资源-CSDN下载 2、复杂版 复杂版LabVIEW虚拟数字示波器,具备以下功能: 可实现2路通道数据采集(用户创建生成虚拟数据 调节数据信号频率、幅度、相位、偏移量和占空比 2.2、调节时间 2.3、调节幅度 2.4、设置、查看和调节数据信号滤波器 2.5、 显示波形和保持波形 项目工程下载请参见:LabVIEW虚拟数字示波器
毫无争议地,在相当长的未来,它还会继续主导测量仪器市场,直到虚拟示波器崛起。 但是得承认,在很多专业领域,虚拟示波器无法取代台式的数字示波器产品,示波器厂商大佬们完全不用担心。 目前,虚拟示波器主要定位在零售价300~1000元左右的散客市场,避开了台式示波器的1500~几万元的市场。所以目前虚拟示波器和台式数字示波器的竞争冲突不严重,甚至还会互相补充。 但是虚拟示波器的价格定位和手持式以及小屏幕的便携小示波器刚好竞争起来,这个后面会提到。 为什么叫虚拟示波器这个名字? 下面这个图可以很直观的看出虚拟面板和实体面板的区别。 虚拟示波器是实测波形的,这一点和台式数字示波器没有区别。 下面这张图可以直观看出来虚拟示波器和台式示波器的便携性差别。 对于硬件工程师来说,电脑已经是必备的了,所以虚拟示波器相比较而言,非常节约桌面空间。
问题描述 很是开心的一天,沉下心来,和同学一起编写调试了蓝牙信号接收模块—虚拟示波器,实现了数据接收、保存以及可视化等功能,具体如下所示;在这个过程中,结实了优秀的小伙伴,号称获得过物联网比赛一等奖(湖北赛区 香港大学田师兄对蓝牙数据接收模块进行了测试,后期将依据反馈问题进行优化更改~ http://mpvideo.qpic.cn/0b78omabkaaammaanrrbubqva46dcvzqafia.f10002.mp4? 可能把本科缺少的那段时光补回来了一些些,~附:本项目中发现:1、HC-05蓝牙模块的脆弱性,硬件设备竟然会出现稳定性问题;2、多方的配合,共同能够努力的成果~感谢~ 附录:补充材料 附1、为什么定制蓝牙示波器
Hantek DSO2D15 台式示波器 简单开箱测评。 前几天再淘宝花了1130元买了台汉泰的示波器玩玩,顺便做个简单的开箱测评。 、模拟带宽150MHz ; 3)、采样率最高1 GSa/s ; 4)、存储深度8Mpts ; 5)、垂直档位2mV/div ~ 10V/div ; 6)、内置一路25MHz信号发生器; 7)、垂直分辨率 开箱 两层箱子 内层箱子上贴有示波器型号和SN码的标签 箱子内有泡沫缓冲 所有配件如下图,1个示波器探头、2条BNC转鳄鱼夹的线、1条电源线、1条USB数据线,1个光盘(里面有示波器的用户手册和上位机软件及驱动 示波器背部,有电源接口和USB接口 示波器电源线是不带地线的,在网上查了一下,据说是为了避免在某些测量情况下可能出现短路。 用示波器自带信号发生器生成的信号再用示波器去测量。 测了一下无线充电模块的线圈。 用手触摸示波器探头可以测到一个50Hz的信号。 测了一下某个充电器的纹波。
第4章 示波器设计—主界面布局和框架 本章简单为大家说明主界面的布局和框架。 二代示波器的界面是在第二种方案的基础上实现的,不同的是需要我们在桌面窗口上刷新波形。之所以在桌面窗口上刷新,而没有选择在子窗口上刷新,主要是方便程序操作。具体的代码实现会在后面章节讲解。 (3)右上角的五个按钮,每个按钮都可以独立打开一个对话框,用于示波器控制,比如按下DAC按钮,弹出的这个界面主要用于信号发生器设置。 ?
最近发现没有中文资料提到怎么隐藏和显示指定的虚拟摇杆,即Touch Interface,所以这里记录一下。
一个解决方法就是虚拟化。虚拟化可以虚拟出多个数据平面并且使用时会比多个设备更加流畅和方便。 使用虚拟化,可以使得物理上单一的数据平面支持逻辑上的多种网络环境。那么,是不是可以有一种使用纯P4语言实现的通用虚拟化框架呢?如何使用一个用户级别的程序来实现虚拟化? HyPer4使用软件的方式拓展了P4语言,使得支持P4语言的设备可以具有如下功能: 可以在逻辑上存储多个P4程序并且同时运行它们(作为网络切片)或者热切换的快照 在每一个程序之间可以形成一个虚拟网络( 它可以将对于原有P4代码的虚拟表的操作转换为HyPer4表的操作。 虚拟网络 ? 上图描述了虚拟设备间的虚拟网络。这个网络包含了一个有h1、h2、h3、h4四个主机连接的单一的P4设备s1。每个主机都被分配到了不同的网络。
虚拟环境 什么是虚拟环境 对电脑稍微有点常识的朋友相信都玩过,比如VMware,virtualbox,或者你用电脑端的模拟器玩手机端的游戏也是一样,其实就是一个假的空间,在Python这里,虚拟环境就是虚拟的开发环境 创建虚拟环境: 创建虚拟环境非常简单,通过以下命令就可以创建了: 先选好你准备作为虚拟环境的目录 virtualenv 虚拟环境的名字 如果你的电脑安装了有Python2Python3共存,且各个版本都有安装虚拟环境 进入虚拟环境:进入到虚拟环境的Scripts文件夹中,然后执行activate。 *nix进入虚拟环境:source /path/to/virtualenv/bin/activate 一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面的环境。 ? 退出虚拟环境: 退出虚拟环境很简单,通过一个命令就可以完成:deactivate。 ? 创建虚拟环境的时候指定Python解释器: 在电脑的环境变量中,一般是不会去更改一些环境变量的顺序的。
栈溢出 Java虚拟机规范中描述了如果线程请求的栈深度太深(换句话说方法调用的深度太深),就会产生栈溢出了。那么,我们只要写一个无限调用自己的方法,自然就会出现方法调用的深度太深的场景了。 虚拟机提供了了参数来控制Java堆和方法区这两部分内存的最大值,剩余内存为2GB-最大堆容量-最大方法区容量,程序计数器很小就忽略了,虚拟机进程本身的耗费也不算,剩下的内存就是栈的了。 而且如果使用虚拟机默认参数,栈深度在大多数情况下,达到1000~2000完全没有问题,正常方法的调用这个深度应该是完全够了。 但是如果建立过多线程导致的OutOfMemoryError,在不能减少线程数或者更换64位虚拟机的情况下,就只能通过减小最大堆容量和减小栈容量来换取更多的线程了。 系列 Java 虚拟机1:什么是 Java Java 虚拟机 2 : Java 内存区域及对象 Java 虚拟机 3:常用 JVM 命令参数 转载声明:本文转载自「ImportNew」
cluster.dao.ManagementServerHostDaoImpl] (Cluster-Heartbeat-1:null) Unexpected exception, com.mysql.jdbc.exceptions.jdbc4.
近日,深圳市鼎阳科技股份有限公司(下称“鼎阳科技”)发布了国内第一款4GHz带宽、12bit高分辨率数字示波器SDS7000A系列产品,第一款带宽达到8GHz的自研示波器前端放大器专用芯片 SDS7000A是国内第一款4GHz带宽、12-bit高分辨率数字示波器,将国产高分辨率示波器提升到一个新的高度,填补了相关领域的空白。 SDS7000A系列作为鼎阳科技新旗舰示波器产品,在4GHz带宽、12-bit高分辨率的基础上,采用了全新15.6英寸高清触摸屏,是真正的“高清”示波器。 据悉,近年来鼎阳科技为了继续推动产品向高端进阶,早在研发4GHz示波器的同时,在2020年就已规划了芯片自研战略布局。 截止今年六月底,鼎阳已拥有4项底层技术及12项核心技术,获得专利239项,其中发明专利159项。
一、背景说明 在之前的篇章中,提到在webvirtmgr里安装linux系统的vm,下面说下安装windows系统虚拟机的操作记录: 由于KVM管理虚拟机的硬盘和网卡需要virtio驱动,linux系统默认支持 virtio驱动,所以安装linux系统虚拟机的时候只需要加载iso镜像即可。 但是windows系统默认不支持virtio驱动,需要另外下载virtio驱动,在安装windowss虚拟机过程中,需要选择virtio驱动路径,继而加载驱动,最后才可以识别到驱动。 下面是安装windows server 2008虚拟机的操作过程: 二、准备工作 1)UltraISO软件下载地址(破解版,直接使用) http://pan.baidu.com/s/1mie0soo 提取密码 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [4:560] -A INPUT -p tcp -m state --state
前面提到,随着服务器核数的激增,虚拟化已经成为数据中心的必备组件。 而为了批量管理大量的虚拟机,又出现了开源云计算平台——OpenStack,以及基于OpenStack的大量商业化发行版本,如H3C CloudOS, Easystack,九州云等。 在OpenStack中,有一个重要的“虚拟私有云”(VPC)的概念。 每个VPC包含若干个子网,如下图所示: 在每个VPC中,同一网段的虚拟机通过vSwitch互通,不同网段的虚拟机通过vRouter路由。 我们知道,每一个虚拟机都有其宿主实体——物理服务器,那么,OpenStack的这些虚拟网元的宿主实体在哪里呢?
开源:https://github.com/EEVengers/ThunderScope 这个示波器三大特色: (1)不仅开源,作者还有一个超详细的设计过程记录贴,有兴趣可以看看,这个还是非常难得的 (3)雷电USB4接口,速度高达1GB/s(8Gbps) 板子: 框图: 上位机: 作者有个视频展示,效果还不错:
1.创建虚拟环境 1.查看当前系统下python3的版本 python3 -V #当前环境下python3是python3.6.8 2.创建虚拟环境 #安装虚拟环境 apt-get install python3 -venv y #在当前目录下,创建一个python3.6的虚拟环境,取名为env36 python3 -m venv env36 . env36/bin/activate #进入虚拟环境 #退出虚拟环境 deactivate 3.在虚拟环境中安装依赖库 cd untitled/ pip3 install -r requirements.txt 2.测试并收集静态文件 1.运行项目: python manage.py runserver 0.0.0.0:8000 2.在安全组打开8000端口 3.浏览器访问: http://49.234.49.146:8000/xadmin/ 4.退出运行状态: Ctrl键+C键
该内存区域是唯一一个在Java虚拟机规范中没有规定任何OOM情况的内存区域。 第二,Java虚拟机栈(Java Virtal Machine Stack),同样也是属于线程私有区域,每个线程在创建的时候都会创建一个虚拟机栈,生命周期与线程一致,线程退出时,线程的虚拟机栈也回收。 Java虚拟机在启动的时候,可以使用“Xmx”之类的参数指定堆区域的大小。 第五,方法区(Method Area)。 根据Java虚拟机规范的规定,当方法区无法满足内存分配需求时,将抛出OutOfMemoryError异常。 第二,Java虚拟机栈和本地方法栈,这两个区域的区别不过是虚拟机栈为虚拟机执行Java方法服务,而本地方法栈则为虚拟机使用到的Native方法服务,在内存分配异常上是相同的。
Java虚拟机整体篇幅如下: Java虚拟机基础——1Java的内存模型 Java虚拟机基础——2JVM运行时数据区 Java虚拟机基础——3类加载机制 Java虚拟机基础——4内存回收机制 本篇文章的内容如下 : 1 概述 2 垃圾回收的思考 3 那些内存需要回收 4 垃圾收集算法 5 Stop the World事件 6 垃圾收集器 一、概述 在Java中,它的内存管理包括两方面:内存分配(创建Java的时候 - 标记清楚算法 - 复制算法 - 标记整理算法 分代收集算法 Stop-the-world 7种垃圾收集器 - 1 标记-清除收集器 - 2 标记-压缩收集器 - 3 复制收集器 - 4 4、小结 由于对象进行了分代处理,因此垃圾回收区域、时间也不一样。垃圾回收有两种类型,Minor GC 和Major GC/Full GC。 Minor GC:对新生代进行回收,不会影响到老年代。 4、动态对象年龄判定 为了更好地适应不同程序的内存状况,虚拟机并不是永远地要求对象年龄必须达到MaxTenuringThreshold才能晋升到老年代,如果在Survivor空间中相同年龄所有对象大小的总和大于
现在市面上很多逻辑分析仪和示波器,台式示波器少则几千块,多则几万块。但对与电子爱好者,要花这雄厚的价格去买个示波器,这有点不太可能。作者推荐一款LOTO示波器。 目前作者手上的这款示波器集成了示波器+逻辑分析仪。这对于作者这个电子DIY爱好者,是一个非常好的工具。接下来说说我的初体验。 首先给大家介绍一下LOTO示波器,这是一款直接连接PC端的示波器,摒弃了承重的台式示波器。拥有模拟台式示波器的PC端上位机。作者刚拿到手,第一感觉就是轻便。 ① LOTO示波器的数据处理盒子。 ② 数据线与连电脑连接 ③ 示波器探针 ④ 逻辑分析仪排线 下图是PC端的虚拟示波器的上位机: 作为嵌入式工程师,以前桌面必备: 逻辑分析仪: 台式示波器: 虚拟示波器(通过串口传输数据,弊端: 测试芯片STM32输出PWM,然后通过KEIL仿真与LOTO示波器对比。 通过对比两个图的数据,频率基本一致。从精度上,还算是不错的。 测试逻辑分析仪和示波器测量数据,感觉还不错。
一、在 Java 虚拟机规范中,对虚拟机栈这个区域规定了两种异常状况: (1)如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflowError 异常; (2)如果虚拟机栈可以动态扩展 (当前大部分的 Java 虚拟机都可动态扩展,只不过 Java 虚拟机规范中也允许固定长度的虚拟机栈),当扩展时无法申请到足够的内存时会抛出 OutOfMemoryError 异常。 结果表明:在单个线程下,无论是由于栈帧太大,还是虚拟机栈容量太小,当内存无法分配的时候,虚拟机抛出的都是 StackOverflowError 异常,而不是OOM。 虚拟机提供了参数来控制 Java 堆和方法区的这两部分内存的最大值。 如果虚拟机进程本身耗费的内存不计算在内,剩下的内存就由虚拟机栈和本地方法栈“瓜分”了。每个线程分配到的栈容量越大,可以建立的线程数量自然就越少,建立线程时就越容易把剩下的内存耗尽。
目录 1、实验目的 2、实验环境 3、程序设计 4、实验演示 1、实验目的 利用LIAT中的模拟采样函数库,通过Arduino Uno控制板上的模拟输入端口采集模拟信号,并上传至LabVIEW界面上显示波形 ,实现一个简易示波器的功能。 4、实验演示 在采样速率1000Hz的情况下,将Arduino Uno控制板上的3.3V、5V和GND分别接至模拟输入端口A0,查看示波器波形。 项目资源下载请参见:LabVIEW控制Arduino实现示波器-单片机文档类资源-CSDN下载 拓展学习: LabVIEW虚拟数字示波器_不脱发的程序猿的博客-CSDN博客_labview模拟示波器 LabVIEW 仪器控制:智能示波器(普源DS1000E)_不脱发的程序猿的博客-CSDN博客_labview示波器波形采集