借助智能DAQ, 獲得高級數據采集技術
計數器/定時器的操作
本文引用地址:http://www.104case.com/article/107898.htm如前所述,典型的多功能DAQ設備只有2個板載計數器,而智能DAQ則能在各條數字線上運行計數器功能。 數字I/O節點能夠在NI LabVIEW FPGA中利用名為單周期定時循環的專業結構,幫助用戶在2.5 MHz至200 MHz的特定頻率范圍內執行代碼。 例如,借助40 MHz的時鐘,用戶可使用單周期定時循環,在各條數字線上創建40 MHz計數器。 圖12(下圖)展現了程序框圖的樣式。

圖12. 配有智能DAQ的簡單事件計數器
由于計算值基于U32(32位整數)的數據類型被發送至顯示控件,該代碼便在FPGA芯片上生成了1個40 MHz的32位計數器。 用戶可對其進行數次復制與粘貼,令不同數字線上的多個計數器都能夠彼此完全并行地運行。 通過對智能DAQ中參數的設置可以實現定時器操作的自定義。 通過選擇,用戶能夠每隔2個上升沿便進行1次計數器遞增,甚至能基于計數寄存器的值觸發模擬采集。 許多復雜的計數器操作(如:有限脈沖序列生成和級聯式事件計數)均需要使用2個計數器,這意味著使用典型多功能設備中的所有板載計數器。 在總共160條數字線的幫助下,智能DAQ硬件上定時器的最大數量很少受到I/O可用性的影響,而往往取決于FPGA芯片的大小。 由于NI LabVIEW代碼運行于硅芯片中,因而用戶無需“裝備”或“重新裝備”通用計數器,即能全面控制計數器的運行。
圖13(下圖)中的范例使用計數器,生成了一個連續脈沖序列并將暫停觸發器置于NI-DAQmx中。

圖13. 連續脈沖序列的生成和配有NI-DAQmx的暫停觸發器
在NI LabVIEW FPGA中,暫停觸發器無需接受配置,因為只需簡單的條件結構便能在硅芯片中實現相同的功能。 此處是通過智能DAQ運行時所展現的相同功能(圖14)。

圖14. 連續脈沖序列的生成和配有智能DAQ的暫停觸發器
在這種情況下,數字I/O線DIO0用作暫停觸發,而脈沖將在數字I/O線DIO1上生成并輸出。使用單周期定時循環可令各個脈沖獲得25 ns的分辨率,因為這將成為單個計時在使用40 MHz定時源時的值。
數字I/O應用
智能DAQ硬件提供多達160條硬件定時數字線,令諸多數字應用成為可能。 我們已經學習了如何使用數字I/O實現觸發、同步及計數器/定時器的運行,而智能DAQ還可用于誤碼率測試、數字模式匹配、脈沖寬度調制、正交編碼器和數 字通信協議。 自定義或標準形式的串行接口均能直接通過數字定時框圖編程來實現。 舉例說明,SPI便是一款與硬件組件(如:微控制器或ADC)進行通信時最常用的串口協議。 圖15(下圖)展現了在進行16位SPI通信時,3條必要數字線所對應的定時框圖。

圖15. SPI通信輸入定時框圖
評論