基于高速数据采集卡的虚拟示波器的应用毕业设计内容摘要:
虚拟示波器和传统示波器的根 本区别在于: ( 1)传统示波器完全用硬件实现,功能和模块固定 ,其功能的自动测试系统,功能及模式由用户自己定义。 ( 2)传统示波器结构复杂,维护困难,对工作现场条件有较高的要求。 器结构简单,仅由计算机和一块数据采集卡和一张光盘组成,将采集卡插在 PC机的扩展槽上即可工作,软硬件维护都很方便。 9 第四章 虚拟示波器的方案设计 虚拟示波器主要由仪器硬件和功能软件两部分组成。 以 DAQ 方式构成的虚拟示波器的硬件主要由计算机和模块化硬件组成,计算机通常是个人计算机,也可以是任何通用计算机。 模块化硬件主要是数据采集卡。 本课题设计的虚拟示波器主要是由一块 PCI总线的高速数据采集卡、 PC 机和用 VC++ 开发的功能模块软件组成。 硬件的选择 计算机和数据采集卡组成了虚拟示波器的硬件平台。 数据采集卡是虚拟示波器的重要组成部件,其性能指标直接决定着虚拟示波器的采样速率、精度等主要指标。 CPU 的速度及计算机的内存影响着示波器处理数据的速度;计算机的硬盘决定着它的存储数据的容量。 数据采集系统的任务是采集原始的模拟信号,把它们转换为计算机可以处理的数字信号,其主要指标有采样精度和采样速度。 采样精度主要由 A/D 转换器的位数决定,而采样速度由 A/D转换 器最高工作频率决定,然而,两个指标是相互制约的。 数据采集卡的选择主要与采样率、采样通道数和测量精度有关。 根据第三章的分析,采样率是指模拟量输入通道在单位时间内能够采集的数据点数,一般用 Hz 即采样频率来表示,也有的用 S/s表示。 采样频率高,就能在一定时间获得更多的原始信号信息。 为了再现原始信号,必须有足够高的采样频率。 如果信号变化比采集卡的数字化要快,或者采样太慢,就会产生波形失真。 根据奈奎斯特理论,采样频率至少是被测信号最高频率的两倍,才不至于产生波形失真。 即应选用 2GHz 的数据采集卡才可以完成最高频率 为 1GHz 的被测信号的测量工作。 采样通道数是系统可以同时进行采样的信号通道数,在选取采集卡时需要注意以下几点:采样通道数是否满足系统要求;在需要差分输入测量时,板上有无差分输入以及差分输入的通道数;在测量多通道时,应注意采集卡能否扩展以及最多的可扩展的通道数。 软件开发环境的选择 在给定计算机和必要仪器硬件之后,构成虚拟仪器的关键在于软件。 虚拟仪器系统的一个重要革新就是仪器硬件软件化,用软件实现硬件功能。 虚拟仪器系统的核心技术是软件技术,一个现代化测控系统性能的优劣很大程度上取决于软件平台 的选择与应用软件的设计。 因此正确选择软件开发环境对于程序的开发和设计起着重要的作用。 10 目前,能够用于虚拟仪器系统开发、比较成熟的软件开发平台主要有两大类:一类是通用的可视化软件编程环境,主要有 Microsoft 公司的 Visual C++和 Visual Basic、Insprise 公司的 Delphi 和 C++ Builder 等;另一类是一些公司推出的专用于虚拟仪器开发的软件编程环境,主要有 Agilent 公司(由原 HP 公司分离出来的一个公司)的图形化编 程 环境 AgilentVEE、 NI 公 司的 图 形化 编程 环境 LabVIEW 及 文 本编 程环 境LabWindows/CVI。 在以上这些的软件开发环境中,面向仪器的交互式 C 语言开发平台 LabWindows/CVI具有编程方法简单直观、提供程序代码自动生成功能及有大量符合 VPP 规范的仪器驱动程序源代码可供参考和使用等优点,是国内虚拟仪器系统集成商使用较多的编程开发环境。 Agilent VEE 和 LabVIEW 则是一种图形化编程环境或称为 G 语言编程环境,采用了不同于文本语言的流程图编程方法,十分适合对软件编程了解较少的工程技术人员使用。 Visual C++是一种功能齐全的面向对象 的开发工具,可直接对硬件操作,支持多任务多线程。 Visual C++不仅是 C++语言的集成开发环境,而且与 Win32 紧密相连,所以利用Visual C++开发系统可以完成各种各样应用程序的开发,从底层软件直到上层面向用户的软件都可以用 Visual C++来开发完成;而且 Visual C++强大的调试功能也为大型复杂软件的开发提供了有效的排错手段。 随着软件版本的不断升级,其功能也越来越强大,几乎包括了 Windows 应用的各个方面。 Visual C++可以说是汇集 Microsoft 公司技术精华的主流产品。 它 最重要的特征是提供了 MFC 类库,封装了 Windows API 函数,并建立了应用程序框架,使开 发人员可以将主要精力集中在所要解决的具体问题上,尤其是利用 Visual C++的 AppWizard 功能生成的SDI 或 MDI 应用程序,进行少量修改后,就可以进入软件界面的外观设计。 由于 Visual C++的面向对象程序设计的特性十分适合虚拟仪器系统的软件开发,而且在本设计中所使用的数据采集卡的驱动程序是由 C语言开发,所以我 们选用 Visual C++作为虚拟示波器系统的软件开发工具。 软件总体方案 虚拟 示波器是采用基于计算机的虚拟技术,用以模拟传统示波器的面板操作和处理功能,也就是使用个人计算机及其接口电路来采集现场或实验室信号,并通过软件的图形用户界面( GUI)来模仿示波器的操作面板,来完成信号的采集、分析处理和显示输出等功能。 本课题设计的虚拟示波器,是在高速数据采集卡的支持下,配备一定功能的软件,完 11 成波形的存储、分析、显示等功能。 传统的测试仪器由信号采集、信号处理和结果显示三大部分组成,这三部分均由硬件构成。 虚拟示波器也是由这三大部分组成,但是除了数据采集部分是由硬件实现之外,其它两部分都是由软件 实现。 本次设计利用 Visual C++ 作为开发工具 ,采用了面向对象的程序设计方法,在Windows2020 下进行。 软件采用模块化设计,其总体框图如图 41所示。 从图 41可以看出软件部分的总体框图以及数据流、控制流的流向。 其中主控模块相当于一个任务调度中心。 当软件开始运行时,首先进入主控模块,然后启动数据采集线程和数据处理线程,于是数据采集模块和数据处理模块开始工作直至用户停止系统工作。 数据流从数据采集模块开始,分别流向数据存储模块和数据处理模块,数据存储模块负责把用户感兴趣的数据存人 硬盘,而数据处理模块负责数据的实时显示、数字滤波、频谱分析和波形的参数计算。 当用户需要查询历史信号时,可以启动历史查询模块,然后把查询到的数据送往历史曲线显示模块;如果需要打印历史信号,调用曲线打印模块即可。 数 据 存 储 模 块历 史 数 据 文 件数 据 查 询模 块曲 线 显 示模 块数 据 采 集 模 块主 控 模 块历 史 查 询 模块曲 线 打 印 模块数 据 处 理 模 块实时显示模块数字滤波模块频谱分析模块参数计算模块帮 助 文 件 模 块数 据 流 控 制 流 图 41 软件系统总体框图 12 主 程 序初 始 化O n S t a r t ( )消 息 循 环 S t a r t C a p t u r e ( )启 动 采 样 数 据S t a r t P r o e s s i n g ( )启 动 数 据 处 理 线 程采 集 数 据发 送 W M _ R E C I E V E选 择 处 理 种 类数 据 处 理选 择 数 据 区 间查 询 数 据 算 法存 储 数 据历 史 曲 线 显 示打 印 模 块开 始是 否 存 储 数 据是 否 查 看历 史 数 据g _ b R u n T h r e a dg _ b R u n T h r e a d 是 否 收 到W M _ R E C I E V EY e s Y e sY e sY e sY e s 图 42 软件系统总体流程图 13 第五章 虚拟示波器系统的软件具体实现 软件采用模块化设计,在功能上划分为多个模块,分别为 数据采集模块、软面板模块(用户界面模块)、数据处理模块、数据存储模块和帮助文件模块。 其中数据处理模块又划分为频谱分析模块、数字滤波模块、参数计算模块和波形显示模块。 各个模块之间的联系如图 51所示。 由于篇幅关系,本文中只给出了重要模块的设计。 数 据 采 集 软 面 板数 据 存 储数 据 处 理帮 助 文 件数 字 滤 波频 谱 分 析参 数 计 算波 形 显 示 图 51 系统软件功能框图 数据采集模块的设计 数据采集模块是最为关键的一个程序模块,这个模块中应用程序会通过采集卡的驱动程序和硬件进行通信,要发出各种控制字、参量字到仪器中去,同时又要对硬件的工作状态进行判 断和处理,然后读取采样值。 如果把这个模块程序在主线程中实现,那么,当应用程序与驱动程序进行数据通信时,主界面就会冻结。 为了解决这个问题,本文直接创建一个子线程来单独完成与驱动程序的通信任务,让主界面专心于响应视窗界面的信息。 在主线程中通过调用 StartCapture()函数启动数据采集子线程进行数据采集。 数据采集的编程过程 ( 1)初始化采集卡的驱动程序和硬件 这个过程包括两个部分,一是确定硬件安装位置及 I/O口和内存映射,由 文件来配置内存区域和 I/O 地址,二是用户进 行的采集卡驱动初始化,选择 (打开相应的 )采集卡,读取配置文件等。 驱动程序的初始化也可以直接调用 InitBoard()函数或对此函数进行适当的修改后调用 (该函数的源代码在 文件中 )。 ( 2)设置相关参数准备进行数据采集 该采集卡的所有的参数都是通过软件进行设置的,驱动程序中提供了一些数据结构, 14 使得参数设置比较容易进行,也可以不用这些数据结构。 设置参数主要包括:工作模式 (单通道,多通道 ),采样率、输入电压的范围、输入阻抗及耦合方式、触发源、上升沿、下降沿触发、触发电平、采样深度 (采样点数 ),所有这些参数设置被综合到一个函数中:SetBoard();对此函数进行适当的修改,即可满足采集的要求。 ( 3)开始采集数据 调用 gage_start_capture()函数即开始采集数据,如调用时传给该函数的参数为非零值,且触发条件设置为软件触发,则调用此函数后立即开始采集数据,否则就等待至触发条件满足时开始采集数据。 当计算机上只有一块 GaGe 公司的采集卡时,可以用另外两个函数来代替 gage_start_capture();即顺序调用 gage_init_clock()和 gage_get_data();执 行 这 两 个 函 数 的 速 度 比 执 行 gage_start_capture() 要 快 许 多 , 因 为gage_start_capture()要做一些额外的工作以确保多卡同时有效地工作。 ( 4)检测数据是否采集结束 相关函数为 gage_triggered() , gage_busy() , gage_force_capture() ,gage_abort_capture()。 gage_triggered()是用来检测采集卡是否已经触发,如果没有触发,则在采集卡的 RAM 上没有有效数据。 gage_busy()则是用来判断是否已经采集结束。 正在采集数据时,是不能读取采集卡上的 RAM 的 (该卡上的 RAM 是单端口的 )。 可以用gage_force_capture()强制触发一次,或者用 gage_abort_capture()结束这一次数据采集,这样可以对后续的数据采集产生影响。 ( 5)传输数据从采集卡 RAM 至计算机的内存 采样点在采集卡的 RAM中存储的位置 (地址 )可由函数, gage_calculate_addresses(),该函数返回三个地址值:开始地址、触发地址、结束地址。 传输数据的函数是gage_transfer_buffer_3();使用 它时需要传递的参数为开始地址和要传送的数据量。 数据采集的主要代码如下 { InitBoard(); /*初始化驱动程序和硬件 */ /* 校验当前采集卡的结构 * / Gage_get_driver_info(board_info); board_setting()。 /*对采集卡进行参数设置 */ /*开始数据采集,触发源为软件触发 */ gag。基于高速数据采集卡的虚拟示波器的应用毕业设计
相关推荐
utonChangeWorkPartlD)。 ClosePartCallbackFunction=(OnCloseP 68 现代制造技术与装备 2020第 1期总第 194期 art)。 (CallbackReason ClosePartReason, ClosePartCallbackFuncfion,outonClosePartlD)。 J pubhcstaticvoidMain()f
容易把握,因所以要对定义一些标准和指标,优化检索结果的有效性。 一般地,图像检索分为两种主要类型:图像匹配和相似性查询。 设图像库有 N 幅图像。 对匹配问题,理想情况是正确图像是检索结果中的第一个。 通常用下面的式子评价匹配效果:匹配比率=检索性能的评价一般采用查准率-查全率(Precision-Recall)的相似检索评价准则,通过执行检索集合中的各个查询
MOV DPTR,DHTABLE9 CALL DHZ MOV ADDR1,10H MOV N1,08H MOV DPTR,DHTABLE10 CALL DHZ MOV ADDR1,08H MOV N1,08H MOV DPTR,DHTABLE11 CALL DHZ MOV ADDR1,18H MOV N1,08H MOV DPTR,DHTABLE12 CALL DHZ RET。 测量界面子程序。
if(!().equals(Trash)){ Message[] m=new Message[1]。 m[0]=msg。 Folder Trash=(Trash)。 (m,Trash)。 (, true)。 }else{ (, true)。 } } ()。 } 以上 doDeleteMessage 方法的 arrayOpt参数用来指定删除邮件夹中哪些邮件,例如,如果 arrayOpt[5]=1
于均方误差意义上最优维纳解所需要的迭代数。 快速收敛允许算法快速自适应于统计意义上未知的平稳环境。 2.失调,对于一个感兴趣的算法,这个参数提供了自适应滤波器集平均的最终均方误差与维纳滤波器所产生的最小均方误差之间偏离程度的一个定量测量。 3.跟踪,当一个自适应 滤波 算法运行在非平稳环境时,该算法需要跟踪环境的统计量变化。 然而,算法的跟踪性能受到两个相互矛盾的特性的影响: ;
评价依据: 《商业银行内部控制指引》、《中国 XX 银行内部控制规定》( XX 发[2020]23 号) 评价方法 本条指标可采取非现场评价方式,评价人员可在现场评价前,调阅被评价行相关资料,参照评价标准进行非现场评价、计分,现场评价时对部分疑点进行验证,并对评价等级进行微调。 :此指标为每季度发生 1次的事项,抽样量为 100%。