我们知道常规的数据采集卡均包括模拟量输入、模拟量输出、数字量输入输出和计数器输入输出功能。今天我们主要讨论计数器输入中最简单最基本的边沿计数功 能。由于各种板卡采用的计数器芯片不同,所以可以实现不同的特殊功能,但是基本的功能一般都会支持的,我们以NI公司M系列的数据采卡为例,从原理、编程 和外部连接的角度,谈一谈如何使用计数器。

M系列板卡提供给用户两个32位通用计数器和一个频率发生器,看看它的原理示意图:

Picture
每个计时器有7个输入端,但是实际上只有几个是供用户直接使用的,在具体应用中,也只会使用其中的一个或者几个,下面的示意图描述了计数器默认的几个外部连接管脚。
Picture
我们注意到CTRO A、B、Z实际上和CTRO SRC、CTRO AUX、CTR0 GATE是相同的管脚,ABZ主要是用于编码器应用的,采用ABZ的描述方式与编码器的描述方式一致,从计数器的角度看,计数器具有三个输入管脚,分别 是:SRC(计数器源)、GATE(门控)和AUX(辅助),具有一个输出管脚OUT(输出)。每个管脚都是可编程功能接口(PFI),PFI是一个非常 重要的概念,可以简单地理解可编程管脚,类似于8051单片机的管脚复用功能,我们以后将专门讨论。

计数器的最基本功能是对外部信号进行计数,外部信号连接到CTR0 SRC,当计数器准备好(使能)后,在外部信号的上升沿或者下降沿,计数器会自动进行加一或者减一的操作,前者乘坐增量计数器(加计数器),后者称作减计 数器,选用上升沿计数还是下降沿计数是通过软件设置实现的,增量计数还是减量计数是通过AUX(CTR0 B)连接的外部数字信号控制的,默认情况下是增量计数器。

一、单点边沿计数

以上升沿增量计数器为例,随着外部信号(连接到SRC)每发生一个沿的跳变,即上升沿后,计数器自动进行加一操作,它的当前的计数器值存储在板卡内部的寄存器中。
Picture
所谓单点计数指的是根据需要,通过软件不断查询板卡计数器中寄存器的值,由于计数器寄存器只能存储当前值,因此只能返回一个标量的值,表示当前计数器的值。


下面我们看下NI 例程中 提供的单点计数器边沿计数的例子。
Picture
Picture
1/25/2012 12:12:13 am

good post

Reply

Great info, thanks

Reply
2/6/2012 06:18:11 am

will be restored soon

Reply
3/26/2012 03:57:14 am

Good article bro

Reply



Leave a Reply.