透過 NI 可重設 I/O (RIO) 技術,即可使用可重設的 FPGA 晶片與 NI LabVIEW 圖形化開發工具,定義所需的客製化量測硬體電路。NI R 系列多功能 RIO 介面卡,透過單一介面卡整合 FPGA 技術、8 個類比輸入、8 個類比輸出與高達 96 個數位 I/O 通道,同時符合 PCI、PCI Express、PXI/CompactPCI 與 USB 等標準電腦規格,堪稱價值與效能的完美結合。只要搭配 LabVIEW FPGA Module,就可以建置自己的硬體屬性,進而執行客制化資料擷取、高速控制、數位通訊協定、感測器模擬、內建訊號處理等作業,完全不需要硬體描述語言 (HDL) 的深入知識。
圖 1。R 系列介面卡符合 PCI、PCI Express、PXI/CompactPCI 與 USB 等標準電腦規格。
您可以在下列商店頁面上找到最新的多功能 RIO 裝置:
全新的 R 系列介面卡搭載高效能 Kintex-7 FPGA,相較於上一代 R 系列介面卡,可提供較快的程式碼執行速度,並容納更多 LabVIEW 程式碼,進一步提升整體效能。全新的 Kintex-7 FPGA 非常適合 USB R 系列介面卡,此系列裝置的容量與效能可媲美上一代的高階 FPGA,但是耗電量只有一半。大幅降低耗電量之後,相較於上一代 R 系列介面卡,每個介面卡的數位訊號處理 (DSP) 效能即可提高兩倍。有了更多的邏輯與 DSP 資源之後,使用者即可實作更複雜的演算法,運用更豐富的訊號處理與即時分析功能,解決目前應用持續增加的 I/O 資料率與複雜度需求。如要深入了解 Kintex-7 FPGA,請參閱 [Xilinx 7 系列 FPGA 模組的優勢一文]。
此外,全新的 NI USB-785xR 裝置可針對所有八個類比輸入通道,以 16 位元解析度進行最高 1 M/s 的取樣,且可選擇的增益解析度為 ±10 V、±5 V、±2 V 與 ±1 V。透過 FPGA 架構的平行執行,多個控制迴路不必競爭處理器頻寬。更快的類比輸入速率也可提升類比觸發準確度與頻率量測功能。全新的 NI USB-785xR 介面卡還可支援定點 I/O,以便在 FPGA 直接使用工程單位。
最後,新的 R 系列介面卡具有更快的數位 I/O 通道,可在最高 80 MHz 的速度下切換。 此外,您可以直接從 LabVIEW FPGA 選擇數位 I/O 通道的電壓準位。可用的邏輯準位為 3.3 V、2.5 V、1.8 V、1.5 V 與 1.2 V。
閘道 (Gate) 數量為 FPGA 晶片與 ASIC 技術常見的比較方式,但卻無法實際反應出 FPGA 個別元件的數量。這也是 Xilinx 並未指定 FPGA 閘道數量的原因之一。反而使用一些不同元素做為比較標準,包含正反器、查找表 (LUT)、DSP 分割區和可用的 Block RAM。查看「FPGA 晶片指南的分割」(Slices on an FPGA Chip guide) 上的表格,以取得更多資訊。
事實上,極難以決定應用到底需要較大或較小的 FPGA。有了 LabVIEW FPGA Module 與 NI-RIO 驅動程式,即可在沒有硬體的情況下編譯程式方塊圖;所以如果要知道自己需要多少資源,最好的方法就是實際測試。
如要判斷自己所需的 FPGA,可採用下列一般指南:如果要在 FPGA 上執行基本時序、觸發與同步化等應用,可選用小型 FPGA。如果應用項目包含時序、觸發、同步化作業,以及其他的訊號處理作業 (控制、數位濾波、複雜的類比觸發),就會需要可提供較多資源的大型 FPGA,以便實作這些作業。
一般來說,針對 Virtex-II 1M gate FPGA 所編譯的程式,也可針對 Virtex-5 LX30 或更大尺寸進行編譯;而針對 Virtex-II 3M gate FPGA 編譯的程式也可針對 Virtex-5 LX50 或更大尺寸進行編譯。由於 2 組 FPGA 系列之間的結構差異,並沒有人能夠保證可完全相容。而要知道程式是否能夠轉移的唯一方法,即是進行測試。透過 LabVIEW FPGA Module 與 NI-RIO 驅動程式,不需安裝任何硬體即可編譯程式區。
不需要。透過 LabVIEW FPGA Module,即可於 R 系列介面卡中直接合成 LabVIEW 至 FPGA 的圖形化程式碼。如果能夠知道 LabVIEW 把圖形化程式方塊圖編譯至 VHDL 的方式,即可有效取捨並達成最佳效能,但不一定要知道 FPGA 或 VHDL 才能使用 LabVIEW。若工程師不了解 VHDL 或 Verilog 等初階的硬體描述語言,卻又需要 FPGA 技術的硬體客制化功能,那麼 LabVIEW 可說是最理想的軟體工具。
是的。必須要有 LabVIEW FPGA Module 才能進行 R 系列介面卡的程式設計。然而,若使用者已經擁有現成的 VHDL IP Core ,或其他需要的 VHDL 程式碼,亦可透過 HDL Interface Node,將 VHDL 整合至 LabVIEW 程式區中。
閱讀此應用說明,了解如何把 VHDL 整合至 LabVIEW 程式方塊圖。
有了 FPGA-Interface C API,即可使用 NI LabWindowsTM/CVI 與 Microsoft Visual Studio 等 C 工具,設定 NI FPGA 架構硬體的即時處理器,並且銜接至在 FPGA 上運作的 LabVIEW FPGA 程式碼。換句話說,可以 C/C++ 或 LabVIEW 撰寫在主機電腦上執行的程式碼,但是必須使用 LabVIEW FPGA 撰寫實際佈署至 LabVIEW FPGA 的程式碼。
深入了解FPGA-Interface C API。
不同於可控制介面卡功能的固定式 ASIC,R 系列資料採集 (DAQ) 採用使用者可設定的 FPGA 晶片,提供內建處理與靈活的 I/O 操作功能。R 系列介面卡每個通道均具備專屬的類比數位轉換器 (ADC),適用於獨立的時序與觸發作業。這樣一來即可提供多取樣率與個別通道觸發等特定功能,這是一般資料擷取硬體無法匹敵的。使用者可於 R 系列介面卡中,將硬體時脈的數位 I/O 定義為計數器、PWM 通道、彈性編碼器,或數位通訊協定的通道。
所有的 R 系列多功能 RIO 介面卡均使用 NI-RIO 驅動軟體,無法與 NI-DAQmx 或 NI-DAQmx Base 相容。然而,NI Measurement Hardware DDK 可支援暫存器層級的程式設計功能,以便開發客制化的驅動程式。一旦編譯並下載 LabVIEW FPGA 應用程式至 R 系列系統之後,NI Measurement Hardware DDK 即提供主機應用程式的建檔功能 (Documentation),進一步銜接 FPGA 的暫存器。
LabVIEW FPGA Module 包含訊號處理面板,提供豐富的功能,比如說:
可以。所有 R 系列多功能介面卡的每個類比輸出/入通道均具有專屬的 ADC 與數位類比轉換器 (DAC),能夠同步或以不同速率執行所有通道的取樣/更新作業。有了獨立式 ADC,即可以最高 1 MS/s 的速度擷取所有通道的樣本。此外還可設定獨立式 DAC,以最高 1 MS/s 的速度更新類比輸出通道。
如圖 2 的 LabVIEW FPGA 程式方塊圖所示,在 R 系列 FPGA 中建置同步類比輸入/輸出作業非常簡單。只要使用在相同 While Loop 中,R 系列介面卡所有 8 個通道所讀取的 LabVIEW FPGA Analog Input I/O Node,此程式即可同時擷取所有 8 個通道的樣本。平行執行的 Lower loop 將使用 LabVIEW FPGA Analog Output I/O Node,並以 1 MS/s 傳輸率更新所有 8 個類比輸出通道。
圖 2.透過 R 系列與 LabVIEW FPGA 的同步化類比輸入/輸出