原创 如何使用DriverLINX进行高速数据读取以及同步数据写入?

2012-1-17 13:17 1847 20 20 分类: 采购与分销

首先需要理解信道增益队列背后的概念。信道[1]增益队列是板卡上的存储器,它以给定顺序存储信道和增益。例如,用户可以指定信道0/增益-1,信道1/增益-2和信道0/增益-1作为信道增益队列中的三个条目。当开始数据采集的命令被发送给DriverLINX时,数模转换器会按照指定的顺序,以指定的增益读取那些信道,然后将数据返回给软件去处理。

 

用户可以将高速数字读取实现在主板的模拟输入信道增益队列[2]中。在这种情况下,请求信道0的同时需要指定一个特别的增益码,以表示需要16位的数字数据,而不是模拟输入的信道0. DriverLINX服务请求的增益属性是16位宽,然而只有较低的几位需要唯一的标识板卡的可用模拟输入范围:与单极双极结合的1,2,4和8的增益只会产生8种可能的组合。增益属性的较高位被用于选择板卡[3]的特别功能。如果为信道0请求的增益所对应的值第13位被设置为1(8192),这就表明需要16位数字数据,而不是模拟输入信道0。

 

未命名.jpg

 

 

高速读取有几个值得注意的重要特性:

 

  • 数字读取执行既不是轮询,也不是中断读取。相反,它们直接通过PCI[4]总线和总线控制进行传输,就像在数字输入子系统一样,允许高速流。在3M赫兹时的数据量非常巨大,因此必须分配更多的缓冲区。
  • 这些数字读取是确定的,这些值以一个已知的时间被读取,在最好情况下,每次读取需333纳秒(3M赫兹)。这是一个有节奏的、时钟控制的、带有缓存的读取。

 

模拟输入子系统内的数字读取背后的真正价值是,它使子系统之间不需要切换。这使模拟和数字数据被读取而无需损失任何切换子系统的时间。因而,用户可以读取模拟信道0,模拟信道1,数字数据,模拟信道2,模拟信道3,然后重复。这些读取是通过直接在信道增益队列上实现来达到这一点的。

 

以一种类似的方式实现同步的数字写入和模拟读取是可能的。首先,像通常一样选择信道和增益,然后修改增益,将数字数据以及一个与硬件相关的值合并到增益中。重要的是要记住这些数据与模拟输入读取同步,因此它总是以模/数转换器采样的速度被写入,无论这速度是多少。如果模拟输入子系统被设置为250K赫兹,那么数字数据就会以250K赫兹被写入。

 

了解更多信息

要想了解有关吉时利KPCI-3100系列板卡或者关于数据采集的更多信息,请点击 http://www.keithley.com.cn/products/data/analog或登录吉时利官方微博http://weibo.com/keithley与专家进行互动

 



[1] 信道:http://www.keithley.com.cn/products/localizedproducts/localizedproducts/2004_china_catalog.pdf

[2] 增益队列:http://keithley.com.cn/products/data/multifunction/pci/?mn=KPCI-3110A

[3] 板卡:http://www.keithley.com.cn/products/localizedproducts/dataacqmodules

[4] PCI:http://www.keithley.com.cn/products/data/io/pci

文章评论0条评论)

登录后参与讨论
我要评论
0
20
关闭 站长推荐上一条 /2 下一条