资源描述
2,#,单击此处编辑母版文本样式,第二级,单击此处编辑母版标题样式,陕西理工学院,第,8,章 数据采集,1,CONTENTS,目 录,数据采集基础,01,DAQ,设备的安装与测试,02,NI-DAQmx,简介,03,DAQmx,数据采集应用编程实例,04,2,2025/4/20 周日,CONTENTS,目 录,数据采集基础,01,DAQ,设备的安装与测试,02,NI-DAQmx,简介,03,DAQmx,数据采集应用编程实例,04,3,2025/4/20 周日,8.,1.1,奈奎斯特采样定理,自然界中的物理量大多是在时间、幅值上连续变化的模拟量,而信息处理多是以数字信号的形式由计算机来完成。所以将模拟信号变为数字信号是实现信息处理的必要过程,该过程的第一步就是对模拟信号进行采样。对模拟信号采样的基本原则是,奈奎斯特采样定理,:,若连续信号,x,(,t,),是有限带宽的,其频谱的最高频率为,f,c,,对,x,(,t,),采样时,若保证采样频率,f,s,2,f,c,,那么即可由采样后的数字信号,x,(,nT,s,),恢复出,x,(,t,),。如果采样频率,f,s,1,000,000 S/s,1MS,10010,000S/s,10kS,在连续采样中,如果“,DAQmx,读取”函数从缓存中读取数据的速度小于设备向缓存中存放数据的速度,则会出现在向缓冲区写入数据时覆盖掉还没有被读取的数据而产生数据丢失,使数据采集不连续,这种情况下有时会返回错误,通过设置合适的“每通道采样数”的值可避免该错误的发生,通常此值设置为缓存大小的,1/21/4,较为合适。,连续采集的缓冲问题,34,2025/4/20 周日,在实际应用中,需要用数据采集设备输出模拟信号。信号包括稳定的直流信号、有限波形信号和连续波形信号。模拟信号输出与模拟信号输入所使用函数大部分是相同的,最大的区别在于模拟信号输入采用“,DAQmx,读取”函数,而模拟信号输出要采用“,DAQmx,写入“函数。,当需要,DAQ,产生一个模拟直流信号时,一般采用单点模出。,(,1,)直流信号输出,直流信号输出示例,设置输出电压值,运行程序,则在模拟输出通道“,Dev1/ao0”,输出对应的直流电压,通过万用表或示波器可以测量到程序设置相同的电压值。,需要注意的是,模拟输出时,产生信号的是硬件,即使停止而且清除了任务,采集卡输出端口将维持任务结束时最后一个数据样本的状态,直到新任务开始或设备断电。如果采集卡在不需要输出信号时长期保持非零电平状态,容易造成损坏,因此在模拟输出任务完成不需要输出信号后,需运行一段单点输出代码,将前面通道的输出置为,0,。,8.4.2,模拟信号输出,35,2025/4/20 周日,(,2,)有限波形输出,有限波形输出是输出一段固定长度的波形数据。,有限波形输出示例,“DAQmx,创建通道”对输出信号幅度范围、接线端配置、物理通道等信息进行配置。“,DAQmx,定时”对采样时钟的采样率、采样模式及每通道采样进行配置,“采样率”参数可以确定输出信号的频率,“每通道采样”确定输出有限波形数据的长度。“,DAQmx,写入”负责将“数据”端给定数据写入通道,数据由“正弦信号”函数生成,其幅度为,5V,,周期为,1s,,采样数为,128,。“,DAQmx,结束前等待”函数用于,VI,在任务结束前确保完成指定操作。,运行该,VI,,根据设定的参数,通过示波器对输出波形进行观察,可以得到输出频率为,1Hz,,幅值为,5V,,长度为,8,个周期的正弦波形。,36,2025/4/20 周日,(,3,)连续波形输出,要输出一个连续的周期信号,不需要向缓冲区连续不停的传送数据,而只需要向一段缓冲区写入待输出信号一个周期的数据,,DAQmx,将在任务结束前自动不断的重复该段数据,以输出连续的周期信号。,连续波形输出示例,“DAQmx,定时”函数的采样模式设置为“连续采样”,将“,DAQmx,结束前等待”函数置于一个,While,循环中,即可实现连续波形输出。其中,While,循环的作用是保证任务不结束,这样硬件就会一直输出数据,除非发生错误或单击停止按钮。,37,2025/4/20 周日,一般的数据采集卡都有数字端口和计数器,用于实现数据采集的触发、控制及计数等功能。端口按照,TTL,逻辑电平设计,逻辑低电平在,0-0.7V,之间,逻辑高电平在,3.4-5.0V,之间。,数字,I/O,的重要组成部分是数字端口,Port,与数字线,Line,。数字线是数据采集卡中单独连接一个数字信号的物理端子,一个数字线承载的数据称为位,bit,,它的二进制值是,0,或,1,。多路数字线组成一组后称为端口,Port,,一般情况下,,4,或,8,路数字线组成一个端口。许多数据采集设备要求一个端口中的线同时都是输出线,或同时都是输入线,即单向的,但也有一些设备的一个端口的数字线可以是双向的,即有的线输入有的线输出。,NI PCI-6251,数据采集卡,有,24,条数字线,组成,3,个端口。,数字,I/O,的应用分为两类:无条件数字输入输出方式和握手方式。无条件数字输入输出方式调用数字,I/O,函数后立即更新或读取某一路或端口状态;握手方式在在传递数据时都需要进行请求和应答。,NI PCI-6251,不支持握手方式数字输入输出。,数字,I/O,的编程方法与模拟输入、模拟输出的编程差别不大。,8.,4.3,数字,I/O,38,2025/4/20 周日,数字输入输出示例,先通过数据采集卡的端口,0,(,port0,)输出数据(,10100111,),在数据采集卡接线板上,通过导线将数据采集卡端口,0,(,port0,)和端口,1,(,port1,)对应的线连接起来。这样,程序在端口,0,输出数据后,紧接着又通过端口,1,将端口,0,上各数字线上的读取出来。,39,2025/4/20 周日,NI PCI-6251,数据采集卡硬件配有两套通用计数器,分别标为,CTR 0,和,CTR 1,。每个计数器的基本结构模型如图所示。,GATE,为计数器的闸门控制信号;,SOURCE,(,CLK,)为计数器时钟信号源;,OUT,为计数器的输出信号。,典型的计数器应用有事件定时,/,计数、产生单个脉冲、产生脉冲序列、频率测量、脉冲宽度测量和信号周期测量等。,8.,4.4,计数器,40,2025/4/20 周日,(,1,)事件计数器,事件计数器示例,首先将“,DAQmx,创建通道”函数设置为“,CI,边沿计数”从而创建一个事件计数器的虚拟通道,并对物理通道、边沿、计数方向、初始计数等参数进行设置。后面几个,VI,的作用分别是开始计数、读取数据、清除任务。其中,While,循环的作用是实现连续计数。,从数据采集卡端子,PFI8,(,CTR 0 SRC,,对应引脚为,37,)端输入一数字脉冲,则程序运行后即对输入的数字脉冲序列进行计数。,41,2025/4/20 周日,(,2,)频率测量,利用数据采集卡的计数器,可以实现频率测量,,LabVIEW DAQmx,提供三种频率测量方法:,带,1,个计数器的低频:适用于被测信号频率相对于计数器的时基较低的情况,对应频率测量中的测周法;,带,2,个计数器的高频:适用于信号频率较高或差异较大的情况,对应频率测量中的测频法;,带,2,个计数器的大范围:适用于待测信号范围广且整个范围都需要较高的测量精度的情况,对应频率测量中的改进的测周法。,输入信号的频率和测量方法的不同,测量的结果有可能发生不同程度的误差,因此,应根据实际的测量要求选择合适的测量方法。,42,2025/4/20 周日,频率测量示例,首先“,DAQmx,创建通道”,VI,设置为“,CI,频率”创建一个虚拟通道,测量方法设置为“带,1,个计数器的低频”,测量范围分别设置为最大值,10000Hz,和最小值,2Hz,,开始边沿设置为“上升”,物理通道设置为“,Dev1/ctr0”,,对应采集卡的输入端子为,PFI9,(,CTR 0 GATE,,对应引脚为,3,)。接着后面的几个,VI,的作用分别是开始任务、读取数据、清除任务。,43,2025/4/20 周日,(,3,)脉冲发生,脉冲发生也是计数器的一个较为常用的功能,它通过计数器的,OUT,端口输出一个或一串脉冲来实现。,“DAQmx,创建通道”设置为“,CO,脉冲频率”创建一个虚拟通道,并对输出脉冲的频率、占空比、物理通道、空闲状态、初始延迟等参数进行设置。“,DAQmx,定时”,VI,设置为“隐式”并将采样模式设置为“连续采样”。后面几个,VI,的作用分别是开始任务、判断任务是否完成、清除任务。将“,DAQmx,任务完成”置于,While,循环中,硬件一直输出脉冲,除非发生错误或单击停止按钮。图示程序数据采集卡将输出频率为,1kHz,的方波信号。,44,2025/4/20 周日,
展开阅读全文