新闻中心

EEPW首页 > 测试测量 > 设计应用 > 借助智能DAQ, 获得高级数据采集技术

借助智能DAQ, 获得高级数据采集技术

作者:时间:2010-04-13来源:NI公司收藏

  如定时框图所示,所有16位数据均在每个时钟周期上顺次传递,而片选控制线(chip select line)则呈现低电平。 现在,我们来看看在 FPGA中,如何通过智能硬件上的3条数字线进行此类编程。

本文引用地址:http://www.eepw.com.cn/article/107898.htm

  

 

  图16. 16位SPI通信程序框图

  图16中,外部While循环确保了所有代码均能连续执行,而写入布尔输入控件则通过条件结构启动着数据传递。 顺序结构中的第一框架将片选控制线(chip select line)设置为低电平,之后由中间框架写入数据位并将时钟线切换16次。 最终,第三顺序框将片选控制线(chip select line)设置回TRUE状态,并将数据线重置为默认的FALSE状态。 这一简单范例只是借助智能进行数字通信时的一项内容。 用户若想应用数字握手,便需为ACK(备用)和REQ(暂停)线准备2路通道,其中一路通道面向并行运作的时钟信号和数据线。

  数字线会时常抖动,在使用机电接触时更是如此,然而用户可通过 FPGA,选择不同方式,在数字输入线上添加去抖动滤波器。 在消除状态的错误改动时,数字去抖动滤波器确保数值的变化能够保持一段最短的时间,因而规避了因抖动引发的错误读取。 图17展现了如何通过智能实现此项功能的内容。

  

 

  图17. 智能DAQ硬件上的数字滤波器程序框图

  数据传输方式

  配备-DAQmx驱动程序的传统多功能DAQ和智能DAQ之间的最大差异在于:数据传输的执行方式。 NI-DAQmx驱动程序将承担由设备至主机的各项传输任务,此项操作中NI LabVIWE FPGA会对基于FPGA的所有板载硬件进行编程。 用户可通过多种途径缓冲设备上的板载数据,并使用不同方式(如:DMA通道或中断请求)传输数据。

  NI FPGA中的FIFO缓冲区在LabVIEW项目浏览器中接受配置,并能借助板载内存或硬件逻辑获得运行。 图18显示了如何经由项目浏览器,在板载块存储器中配置整数的FIFO缓冲区。

  

 

  图18. NI LabVIEW FPGA中的FIFO配置

  FIFO一经创建,便能用于NI LabVIEW FPGA程序框图上多个循环之间的数据传递。 图19中的范例显示:数据先被写入左侧循环中的FIFO,并随即从右侧循环中的FIFO被读出。

  

 

  图19. 通过FIFO和多循环实现的NI LabVIEW FPGA程序框图

  同样通过LabVIEW FPGA FIFO获得应用的直接存储器访问(DMA)通道,在项目浏览器中接受了类似的配置。

  

 

  图20. NI LabVIEW FPGA中的DMA FIFO配置



关键词: NI 数据采集 LabVIEW DAQ

评论


相关推荐

技术专区

关闭