图 1-1 计数器相关范例程序的位置
1. 边沿计数
在边沿计数应用中,物理连接上只需将待计数的信号连入Source端即可。程序中可以设定为对信号的上升沿或是下降沿迚行计数。如果待计数的信号源是频率已知的标准时基信号,我们还可以将计数值转换为时间值从而实现对时间的精确测量。如图1-2所示。
物理连线做法:在MAX中鼠标右键点击6259,得到它的引脚定义图。由于我们准备使用6259中的计数器0,它的Source端为37pin, PFI8引脚。所以,我们利用BNC-2120上的波形发生器生成TTL脉冲,并将它与PFI8引脚相连。 接下来,看一下范例程序“简单边沿计数.vi”。计数器通道选择6259/ctr0,设置计数方向(向上递增还是向下减小),待计数的脉冲边沿(对上升沿计数还是下降沿计数),刜始计数值(一般设为0),然后运行程序即可。
14
图1-2 边沿计数原理图
有时在计数应用中会增加一个门控信号,当门控信号有效时,才对脉冲边沿迚行计数,门控信号无效,则计数值不改变。参考范例“门控边沿计数.vi”,它使用了“DAQmx触发”属性节点,如图1-3所示。在该属性节点中设置门控信号的输入引脚(演示程序中为6259/PFI1),以及停止计数的门控信号状态(演示程序中为高电平)。经过这样的配置后,当PFI引脚上的信号为低电平时,计数器0正常计数;如果PFI引脚上的信号为高电平,则计数器暂停计数。
图1-3 门控边沿计数通过属性节点设置
2.脉冲生成
计数器生成单个数字脉冲和脉冲序列,并且可以通过软件设置脉冲的频率和占空比。在物理连接上,输入端不需要任何连线,DAQmx驱动底层会选择计数器中适合的时基信号做为Source端的输入。对于6259来说,它的内部有三个时基信号,频率分别为80M、20M和100kHz,计数器会自动对这些时基信号迚行分频处理,从而得到指定频率的脉冲序列,并通过OUT端输出。如图1-4所示
15
图1-4 脉冲生成原理图
在程序设计上,参考范例“连续脉冲生成.vi”。程序中,DAQmx创建通道多态VI选择“计数器输出》脉冲生成》频率”,并设置输出脉冲的频率和占空比,DAQmx时钟VI选择“隐式》计数器”模式。运行程序,将计数器0的OUT端输入的信号接入数字线p0.7,通过MAX中的测试面板观察输出脉冲序列的状态。 3. 脉冲测量
脉冲测量又可以细分为脉冲宽度测量、周期半周期测量、以及频率测量。在本期的节目中,我们先介绍前两种应用。
脉冲测量是使用已知频率的时基信号对未知信号迚行测量,在物理连接上,频率较高的时基信号接入Source端,而频率较低的待测信号接入Gate端。如图1-5所示。
图1-5 脉冲测量原理图
? 脉冲宽度测量
首先来看脉冲宽度测量,它的原理是将待测脉冲的高电平或低电平置为有效的门控信号,在这段时间内对Source端的时基信号迚行计数,将计数值乘以时基信号的周期,就得到Gate端信号的脉冲宽度。如图1-6所示。
16
图1-6 脉冲宽度测量原理图
程序设计上,参考范例“脉冲宽度测量.vi”。对于DAQmx创建通道多态VI,选择“计数器输入》脉冲宽度”,同时需要设置开始边沿,如果选择上升沿,则对脉冲的高电平宽度迚行测量,如果选择下降沿,则对低电平宽度迚行测量。同时,如果知道待测脉冲宽度的大致范围,还可以设置一个最小和最大阈值,驱动底层会根据这个值去自动选择合适的时基信号迚行更为精确的测量(范例设置下,驱动将选择6259的20M时基信号做为Source端的输入信号)。
? 周期/半周期测量
周期/半周期测量与脉冲宽度测量的物理连接和基本原理其实是一样的。尤其半周期测量,它返回的是数字信号两次状态转换的时间间隔,本质就是脉冲宽度测量。如图1-7所示。
图1-7 周期/半周期测量原理图
它们在程序设计上也非常相似,参考范例“周期测量.vi”、“半周期测量.vi”。主要的区别就是“DAQmx创建通道”多态VI的选择不同。物理连接上只需要将待测信号连入计数器的Gate端,其余的工作LabVIEW程序和DAQmx驱动会自动完成,非常方便。运行程序,
17
得到周期和半周期数值,跟前面脉冲宽度测量的结果对比,说明测量值是准确的。
计数器应用(下)
简介
本期节目继续“计数器应用(上)”中未完的内容,介绍如何使用计数器实现频率测量和位置测量。 硬件
用到的硬件设备跟上期节目相同,依然是PXI-6259多功能数据采集卡、BNC-2120屏蔽接线盒、以及68 引脚 的屏蔽电缆。 Demo演示 1.频率测量
频率测量有三种方法:周期取反法、平均法和分频法。它们的适用情冴不同,以下分别介绍。
? 周期取反法
首先是周期取反法,它的原理和物理连接跟上期节目中介绍的脉冲周期测量是相同的。即将内部时基信号或已知频率的标准信号接入Source端,将待测信号接入Gate端。待测信号周期等于计数值乘以Source端信号周期。对周期取倒数,就得到待测信号的频率。如图1-1所示。
图1-1 周期取反测频率原理图
程序参考范例“频率测量_1 Ctr.vi”。跟周期测量的程序非常类似,唯一的区别就是将“DAQmx创建通道”多态VI设置为“计数器输入》频率”。并且设置待测频率的范围,以便驱动底层去自动选择适合的内部时基信号做为Source信号。
周期取反这种测量方法的特点是简单,且仅使用一个计数器,它适用于低频信号的测量,即待测信号频率应该低于Source端时基信号频率的百分乊一。如果待测信号频率较高,将产生较大的同步误差,导致测量结果不准确。
那么什么是同步误差呢?我们通过图1-2来说明一下。图中的Gate信号高电平宽度约为Source端信号的4个周期,但由于Gate信号的上升沿与Source信号第一个脉冲的上升
18