微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于LabVIEW 语言实现PCI-1714 采集卡的全过程

基于LabVIEW 语言实现PCI-1714 采集卡的全过程

时间:09-20 来源:互联网 点击:

摘要:基于虚拟仪器技术, 利用LabVIEW 语言进行信号采集系统的研制具有重要意义。文章介绍信号采集与处理系统的主要流程。详细介绍PCI-1714 数据采集卡的原理及功能,通过数据采集程序实例介绍基于LabVIEW 语言实现PCI-1714 采集卡的全过程,利用LabVIEW 语言编写的程序用于将存储数据调出,并对信号波形特点进行分析。

1 概述

实验室虚拟仪器工程平台(LabVIEW)是一种专门用于数据采集、分析及仪器控制的图形化软件,它所开发的虚拟仪器将计算机强大的数据处理能力与仪器的硬件测试控制能力很好地结合在一起。

LabVIEW 的图形化开发环境具有精确、高效、功能强大、开发简易、实时性强、界面友好等优点,为用户提供了强大功能和使用的灵活性, 非常适合用于进行仿真、实时检测和控制。目前,LabVIEW 已经成为测试领域应用最广泛和最有前途的软件开发平台之一,也是应用最广、发展最快、功能最强的图形化软件开发集成环境之一。

虚拟仪器可以利用高性能的模块化硬件, 结合高效灵活的软件来完成各种测试、测量和自动化应用,与传统的测量仪器相比,具有成本低、功能强大、集成度高、质量可靠、维护方便等优点,能很方便地组建测试系统,满足多种测量要求。因此,基于虚拟仪器技术, 利用LabVIEW 语言进行信号采集系统的研制具有重要意义。

LabVIEW 虚拟仪器主要包括前面板、框图和图标/ 接口部件三部分。

前面板是VI 的交互式用户界面, 即用户与程序代码发生联系的窗口。VI 前面板是控件和指示器的组合,控件仿真常规仪器上的输入输出设备类型,如旋钮和开关,并提供一种机制,将输入从前面板传送到基本框图。

信号采集与处理系统主要应用的是数据采集卡的A / D(模/ 数)转换功能,通过数据采集卡将采集端采集到的模拟电信号利用高速模数转换电路转换为数字信号,经过数据采集卡板载缓存,最后利用计算机中的程序不断从缓存中提取数据, 存入计算机中,并进行相关处理,提取有用数据进行硬盘存储。

利用LabVIEW 语言编写数据采集卡的驱动程序,对信号分析处理及存储流程如图1 所示。

图1 信号采集与处理系统总流程图。

2 PCI-1714 数据采集卡

Advantech 公司的PCI-1714 是一款PCI 接口的高速4 通道同步数据采集卡, 可用于高速数据采集应用,性价比较高,适用于仪器测试、图像处理、视频数字化处理及声音与振动测试等领域。

PCI-1714 是高速、高分辨力、高容量的PCI 数据采集卡, 配备4 组模拟输入端, 具备同步采集功能。其特性可归纳为:a)内含4 个独立ADC(模数转换器),可使4 个信道同步取样,当4 组模拟输入同时使用时,采样频率理论最高可达30 MS/s。b)每路ADC 内建32 K FIFO 内存,使用者在高速采样时有足够缓冲区可供暂存, 以维持数据采集速度及完整性。c)提供多种输入范围,包含±5 V、±2.5 V、±1 V、±0.5 V 等, 使用者通过工具程序即可轻松完成设定。d) 高达6 种触发模式, 包含软件触发、Pacer、Post-Trigger、Pre-Trigger、Delay-Trigger 及About-Trigger 触发方式,方便客户按需求自行设定。

基于PCI-1714 的通用高速数据采集系统结构如图2 所示。

22.jpg

图2 基于PCI-1714 的高速数据采集系统结构框图。

将需监测的现场信号经滤波器滤波后送入PCI-1714 板卡, 卡上A / D 转换器对信号进行高速模数转换。转换数据首先暂存在板卡的32 K 板载FIFO (先入先出) 中, 当FIFO 半满或全满时,向DMA(动态内存存取)控制器发送DMA 请求,使用直接内存存取方式,经PCI(外设组件互连)总线将数据从FIFO 输出到内部缓冲区中,PCI 总线传输带宽很宽, 可以满足4 通道高速同步采样时所带来的高速数据传输要求。

内部缓冲区作为高速数据采集系统的海量缓存,它与用户缓冲区一样,都是数据采集程序动态分配给驱动程序使用的两块内存区域, 区别在于内部缓冲区存放的是从FIFO 取来的原始值, 用户缓冲区存放的是经转换之后的电压值。

在进行长时间高速数据采集时,PCI-1714 多采用循环方式。在此方式下,启动一次采集过程能进行无数次的A / D 转换。此时内部缓冲区分成前后对等的两个半区使用,当前半区填满后,将此半区的数据向用户缓冲区传送, 同时将新转换的数据放在内部缓冲区的后半部分。当后半区填满后,此半区数据向用户缓冲区传送。同时自动将新转换的数据放到早已传输完毕的前半个缓冲区。可通过查询状态寄存器的状态来判断FIFO 缓冲区的状态,分别判断空标志位(Empty flag)、半满标志位(Half full flag)以及全满标志位(Full flag)。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top