基于labview的双通道示波器设计(编辑修改稿)内容摘要:
用 100kHz 的板卡才能完成最高频率为 50kHz 的被测信号的测量工作。 本虚拟数字存储示波器是在对传统示波器进行分析后,基于多功能 DAQ 采集卡和 LabVIEW 开发平台来设计的具有数字存储示波器功能的电子测试仪器,主要由数据采集部分、数据处理部分、波形显示部分、波形 存储等部分组成,可以完成对信号的输入及获取、信号电压参数及时间频率参数的自动测量、信号的波形显示及存储回放等功能。 该示波器主要由数据采集 DAQ( Data Acquisition)、接口总线、硬件驱动程序和虚拟数字示波器软件构成。 图 31所示为虚拟数字示波器的整体组成结构图。 信号检测电路时信号调理辅助电路,接收传感器传送过来的物理信号,并从混合信号中提取出待测的微弱信号,输出的多路信号时已经放大滤波和电平变换后的标准信号,送入数据采集卡板(由硬件程序驱动工作),通过系统总线送进计算机进行处理。 在使用 DAQ 卡 之前必须对 DAQ 卡的硬件进行配置,这些控制程序用到了相应的底层 DAQ 驱动程序。 该虚拟仪器的软件是以 LabVIEW 开发环境为平台,采用的是自顶而下的设计方法,首先,有要实现的目标功能来制定一个整体框架。 由一个采集开关启动整个仪器采集过程,在采集状态下,可以进行参数的测量显示;同时,还可以进行时基的设置、触发通道的设置、触发模式的设置等;对于显示面板上的波形可安徽理工大学毕业 设计 8 以任意地进行位置的调整、缩放;对于当前的波形能够保存到硬盘上或 U盘上;同样,也能把硬盘或 U 盘上的数据读到显示面板上(这是将停止数据的采集)并还能进行参数 的测量。 该示波器的主要控制结构有:手动设置扫描率的控制结构,存储控制结构,采集控制结构,测量控制结构,通道选择控制结构,时基、幅值分度控制结构。 在这个总体框架的基础上来进行各个模块的具体设计,并分别测量,测试通过后再把它们连接起来,构成一个完整的系统,最后进行整个系统性能的调试,直到调试结果符合要求为止。 图 31 虚拟示波器结构图 计算机与数据采集卡组成了虚拟示波器的硬件平台的基础。 数据采集卡是虚拟示波器的重要组成部件,其性能指标直接影响虚拟示波器的采样速率、精度等主要指标。 CPU 的 速度及计算机的内存影响示波器处理数据的速度;计算机的硬盘决定了数据存储的容量。 LabVIEW 中数据采集库包含了许多有关采样和生成数据的函数,它们与 NI的插卡式或远程数据采集产品协同工作。 数据采集卡价格低廉、操作携带方便,因此大大的降低了每个通道的成本。 数据采集系统的任务是采集原始信号,其主要指标有采样精度、采样速度。 采样精度由转换器的位数来决定,而采样速度是与采样频率不可分的。 从提高精度的角度出发,模数转换器的位数与采样频率之间是相互制约的。 数据采集卡的选择主要与采样率、测量通道、分辨率和测量精度有关。 采样率即在单位时间内的测量次数,一般用 Hz 即采样频率来表示,也有的用 S/ s表示。 采样率的选择,取决于被测量的信号的变化速度,根据奈奎斯特采样定理,所需的采样频率应为所测信号的最高频率分量的两倍以上,即应选用 100kHz 的板卡才能完成最高频率为 50kHz 的被测信号的测量工作。 没有软件,甚至没有好的软件,数据采集硬件系统不可能发挥很大的作用。 安徽理工大学毕业 设计 9 数据系统一个主要方面是驱动软件的使用。 驱动软件是直接对数据采集硬件系统来进行设计的软件层,管理着系统的操作以及和计算机资源的组合,比如 CPU中断、 DMA 传送、存储器等。 驱动软件在保持高性能、提高给用户易于理解的基础的同时,隐藏了复杂、详细的硬件及程序设计。 NI 一 DAQ 就是 N1 公司高性能数据采集及驱动程序。 数据采集技术是电子测量仪器的基础,当然也是虚拟仪器的基础。 只有当数据采集部分正确工作,整个虚拟仪器系统才能正确工作。 数据采集系统的设计 数据采集系统简称 DAS(DataAequisitionSystem)是信息科学的重要分支,它不仅应用在现代智能检测系统中,而且在现代工业生产、国防军事及科学研究等方面都得到广泛应用,无论是过程控制状态检测、还是故障诊断、质量 检测,都离不开数据采集系统。 数据采集系统是计算机、智能仪器与外界物理世界联系的桥梁,是获取信息的重要途径。 其核心是计算机,它对整个系统进行控制和数据处理。 它所处理的是数字信号,因此输入的模拟信号必须进行模数 (A/D)转换,将模拟信号量化 :,变成数字信号。 数据采集系统的原理框图如 32 所示,它由多路开关、采样 /保持器、放大器、 A/D 转换器、计算机等组成。 数据采集要经过采样和量化两个必要步骤。 采样过程是将被测的连续信号离散化,从连续信号中抽取采样时刻的信号值,由多路开关、采样 /保持器完成。 如果被测信号变化缓慢, 也可以不用采样 /保持器。 多路开关将各路信号轮流切换到输入端,对各路信号分时采样。 A/D 转换器将采样信号量化,将转换成的数字信号输入到计算机中。 放大器、滤波器可根据被测信号的大小及干扰的强弱选用。 有的系统不采用公用放大器,而根据信号特点单独配置。 图 32 数据采集卡结构图 安徽理工大学毕业 设计 10 系统硬件配置 本次采用 ADC0809 与 AT89C51 单片机的接口设计。 ADC0809 与单片机AT89C51 的硬件接口方式一般有:查询方式、中断方式和等待延时方式。 本设计采用查询方式。 由于 ADC0809 芯片 内部没有时钟脉冲源.我选择利用单片机8051 提供的地址锁存控制输入信号 ALK 经 D 触发器二分频后作为 ADC0809 的时钟输入。 当 CPU访问外存储器时, ALK 的输出作为外部锁存地址的低字节的控制信号;又因 ADC0809 的时钟频率有一定的范围 101280kHz.取时钟频率为6MHz。 则 ALK 端输出的频 率 为 1MHz,再经二分频后为 500kHz。 符合 ADC0809对时钟的要求。 由于 ADC0809 内部设有地址锁存器.所以通道地址由 P2 口的低 3 位直接与 ADC0809 的 A、 B、 C 相连。 通道基本地址为 0000H0007H。 模拟量直接ADC0809 的 IN0 一 IN7 输入。 数字量由 ADC0809 的 DO— D7 输出并直接接到单片机 89C51的 I/ O口的 PO口 (P0El作为输人 E1), ADC0809其 他 引脚 如 :START、 OE、 ALK、 A、 B、 C 等直接接到单片机 的 P2 口 (P2 口作为输出口 )。 最后 ADC0809 的结束信号 端 口直接接到单片机 口。 接口电路如图 33。 图 33 ADC0809 与 AT89C51 的接口电路 本通信系统采用 AT89C51 作为下位机 ,PC 机作为上位机 ,二者通过 RS232串口接收或发送数 据和指令。 传输介质为二芯屏蔽电缆。 RS232 信号和单片机安徽理工大学毕业 设计 11 串口信号的电平转换采用 MAX232,它是具有双驱动器、双接收器的通信器接口电路 ,不需外接电容而进行倍压及电压极性转换 ,只需 +5V 供电 ,电源电流为 5mA ,传输率 200kb/s。 串行接口电路原理见图 34。 图 34 串行接口电路原理图 通信协议 系统中 PC机承担主控任务 ,负责该测控系统的通信参数设定、数据的采集处理及对单片机运行的控制。 单片机接收 PC机的指令 ,根据指令信息实现 对 波形的发生和结束 ,并对波 形 的 频率、幅值、相位、偏移 量等 进行实时调节。 其通信协议为 :采用 RS232异步通信方式 ,51单片机串行口共有 4 种工作方式 ,这里 采用单片机串口通信的方式 1,该方式为 8位异步串行通信方式 ,其波特率是可变的 ,1位起始位 ,8位数据位 ,1位停止位 ,无奇偶校验 ,若晶振频率为 ,取波特率为 9 600b/s。 下位机按接收到的指令工作 , 若主控机发出无效或错误指令 , 将不作任何控制。 主机通信程序 在主机通信程序设计中 ,采用图形化语言 LabVIEW 作为编程语言它把高级语言中的函数封装为图形功能模块 ,图标间的连线表示各个 功能模块之间的数据传递。 编程方式简单、直观、便于使用。 串口通信功能模块包括串口初始化模块、串口读模块以及串口写模块 ,通过这些模块就可以实现对单片机的控制。 主程序运行后 , 首先设置串口 ,如选择端口、设置波特率等 ; 然后启动测控系统 , 并可以通过按钮控制波形的生成、结束和 频率、幅值等 的调整。 安徽理工大学毕业 设计 12 图 35 串口通信的流程图 下位机的串行通信程序设计 89C51 单片机的程序采用汇编语言写成。 利用汇编语言直接对相关硬件进行操作 ,具有开销小、效率高的特点。 在编写单片机程序时应当注意的是必须保证PC 机与单片机 串口通信时的波特率一致。 如果两者不同的话 , 就无法进行数据的传输而导致通信失败。 所以在单片机程序中初始化时应当根据单片机晶振和串口通信方式对寄存器进行设置。 在本系统中 ,单片机除了负责串口通信外 ,还承担着波 形 发生的作用。 通过软件生成波形会带来很大的硬件消耗 ,因此必须注意与串口通信的协调。 安徽理工大学毕业 设计 13 图 36 集串口通信和软件生成波 形 的算法流程图 数据采集的实现 LabVIEW 通讯资源 VISA 简介 VISA 是虚拟仪器软件结构框架( virtual instrumentation software architecture )的简称。 它本身不提供仪器编程能力,是一个调用底层代码来控制硬件的高层 API(应用程序接口),为高级仪器驱动程序和低级 I/O 驱动程序之间提供了一个层,使得高级仪器驱动程序和硬件无关,更大大提高了仪器(目前主要是 VXI 仪器, CPIB 仪器, RS232 仪器)的互换性。 在 LabVIEW 里使用VISA,必须安装 NIVISA程序包,安装后与串口通信相关的 VISA函数位于 serial子模板上,如下图 37 所示: 安徽理工大学毕业 设计 14 图 37 serial 子模板 其中共有 8 个操作函数,下面分别介绍在串口通讯 中常用到的 4 个函数VISA 配置串口、 VISA 写入、 VISA 读取、 VISA 关闭,如下图所示。 图 38 VISA 配置串口 功能:设定波特率,数据位,停止位,奇偶校验位,流控制,超时处理,终止符和终止符使能等参数,将 VISA 资源名称指定的串口按特定设置初始化。 图 39 VISA 写入 功能:将“写入缓冲区”的数据写入 VISA 资源名称指定的串口。 安徽理工大学毕业 设计 15 图 310 VISA 读取 功能:从 VISA 资源名称所指定的串口中读取指定字节的数据,并将数据返回至读取缓冲区。 图 311 VISA关闭 功能:关闭 VISA 资源名称指定的串口会话或事件对象。 由 LabVIEW 设计的 VISA 显示界面,如下图 310 所示: 图 310 VISA 显示界面 注释: 点击“ VISA 资源名称”右边的下拉按钮会出现刷新提示,单击刷新,安徽理工大学毕业 设计 16 可以连接到当前工作的串口上。 所用 LabVIEW 串口通讯程序的波特率设置为 9600,无奇偶校验, 8位数据位,一位停止位。 图 311 VISA 程序框图 在 LabVIEW 中调用 C 语言 在进行一些数据处理和开发数据采集卡驱动子程序时, LabVIEW 的图形化编程语言就难以实现。 通过 CIN 技术,可以在 LabVIEW 调用 C 语言源代码。 C 语言是目前公认的功能非常强大的程序语言, LabVIEW 通过与 C 语言接口,可增强其整体功能。 Windows 系统下,通过 CIN 技术在 LabVIEW 程序中利用 Visual C + + 开发环境调用 C 语言源代码。 步骤为:框图程序设计、建立模块文件、编译 CIN 源代码、在 LabVIEW 中调入 .lsb 文件。 C 语言程序见附录。 安徽理工大学毕业 设计 17 4 设计与实现 设计目标及要求 示波器是以短暂扫迹的形式显示一个量的瞬时值的仪 器,也是一种测量、观察、记录的仪器,在科研和实验室中应用十分广泛。 传统的模拟示波器把需要观察的两个电信号加至示波管的 X、 Y 通道以控制电子束的偏移,从而获得荧光屏上关于两个电信号关系的显示波形。 这种模拟示波器体积大、重量轻、成本高、价格贵,并不适合于对非周期的、单次信号的测量。 基于多功能 DAQ 卡和LabVIEW 平台开发的虚拟数字示波器,具有结构简单、开发成本低等优点,在众多领域已得到广泛应用。 数字示波器主要由软件控制完成信号的采集、处理和。基于labview的双通道示波器设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。