適合 LabVIEW RIO 系統的擴充 I/O:深入比較

綜覽

NI 可重設 I/O (RIO) 產品適用於系統等級的應用,並可滿足高速、閉迴路控制、高精確度量測、靈活開發平台等需求。不同於核心系統,有時候這類應用需要更多通道,或者更為分散式的架構。擴充 I/O 系統可將 1 個控制器搭配 N 個 FPGA 與 I/O 節點,提供 1 對 N 的系統拓撲功能,進而打造出多通道數的高彈性系統,可執行分散式控制與本端處理功能。 

內容

匯流排開始

多通道數系統的需求千變萬化,而 NI 的擴充 I/O 平台提供完整的產品系列,可滿足這類系統的各種需求。如圖 1 所示,不同擴充 I/O 選項之間的差別在於可區隔 I/O 與控制器的匯流排。 每個匯流排都各有優點與好處,因此特別適合某一種擴充 I/O 應用。

圖 1. 擴充 I/O 將處理器與 I/O 分割出來。每個擴充選項都會在兩者之間採用不同的通訊匯流排,可用於不同的應用領域。

CompactRIO 機擴充比較

每個擴充 I/O 選項都採用特殊的通訊匯流排 (MXI-Express、乙太網路、EtherCAT 或無線),因此系統會具有特定功能。表 1 概述了每種擴充 I/O 選項的主要差異。

 

 

MXI

將高效能擴充機箱用於多通道數應用。

乙太網路

將具有 FPGA 的 I/O 新增至乙太網路內任何位置。

EtherCAT

在 EtherCAT 上採用精確 I/O 並用於分散式應用。

 
I/O 數量8 或 14 個 C 系列插槽4 或 8 個 C 系列插槽8 個 C 系列插槽 
FPGAVirtex-5 (LX50/LX85/LX110)Artix-7/Spartan 2M/Spartan 6 (LX45)Spartan 2M 
網路拓撲菊鏈/星形與乙太網路相同菊鏈/星形 
距離機箱之間的距離為 7 公尺距離集線器 100 公尺距離中繼器 100 公尺 
多裝置同步化FPGA 架構的 DIOFPGA 架構的 DIO隱性匯流排 
通訊抖動<10 μs無規格<1 μs 
匯流排傳輸率250 MB/s25 MB/s12.5 MB/s 
API 支援FPGA 主機介面FPGA 主機介面/RSIRSI 
主機Windows/Real-TimeWindows/Real-Time僅限 Real-Time 

表 1. 比較擴充 I/O 的主要功能

 

MXI-Express RIO

MXI-Express RIO 擴充機箱提供高效能解決方案,適合需要高傳輸率、多通道數、混合訊號處理 I/O、客制化訊號處理與控制演算法等功能的應用。每個 MXI-Express RIO 機箱都可支援 8 或 14 個 C 系列 I/O 模組,並且提供同級最佳的 Virtex-5 LX50、LX85、LX110 FPGA。這款機箱可透過菊鏈連接最多 6 個機箱,透過接線 PCI Express x1 連結來銜接主控制器,相較於乙太網路或 EtherCAT RIO 擴充機箱,其傳輸率多了 20 倍。MXI-Express 連結可連接至多種主機系統,例如搭載 NI LabVIEW Real-Time 或 Windows 作業系統的多核心 NI CompactRIO、雙核心/四核心電腦、PXI 與工業級控制器。MXI-Express RIO 系統適合硬體迴路 (HIL) 測試、工業級機器狀態監控、聲音與振動、以及像是巨型物理等複雜的研究應用。

乙太網路 RIO

這款耐用的 4 或 8 槽式乙太網路 RIO 機箱可將由 FPGA 啟動的分散式 I/O 新增至任何乙太網路。透過高彈性的標準 CAT-5 接線作業,即可把乙太網路 RIO 系統連接至任何支援乙太網路的主機,包含 NI CompactRIO、即時 PXI 控制器、NI 工業級控制器。此外也可以把乙太網路 RIO 擴充系統連接至 Windows 電腦,進而建置出由 FPGA 啟動、混合訊號處理 I/O、高度分散式的高彈性網路。有了內建 FPGA,即可於每個機箱的本地端執行客制化訊號分析、控制與安全互鎖功能,打造出貨真價實的模組化系統。 乙太網路 RIO 架構的系統適合十分講究成本、彈性、操作便利性的應用,像是適用於溫度與流量等單點量測的分散式監控作業。

EtherCAT RIO

EtherCAT (乙太網路控制自動化技術) RIO 屬於 8 槽式附屬機箱,透過精確的 EtherCAT 通訊協定在乙太網路上實作通訊作業。EtherCAT RIO 可透過特定程度的精確與同步化功能,將由 FPGA 啟動的 I/O 新增至多通道數或分散式 I/O 系統。使用 EtherCAT RIO 即可以菊鏈方式連接多個附屬裝置與單一主機,並且將 I/O 同步為單一主機時脈。若您必須跨多組同步化機箱達到高精確度,則 EtherCAT RIO 便很適用於分散式的單點控制/運動控制應用。客戶還可把 EtherCAT RIO 用來監控風力發電機架構、同步化的測試設備、遠距離的控制應用。

I/O 數量

MXI-Express、乙太網路與 EtherCAT

MXI-Express RIO、乙太網路 RIO、EtherCAT RIO 系統可透過 C 系列 I/O 模組連接至任何匯流排與感測器。I/O 可於 FPGA 直接使用,使用者可進一步透過 FPGA 實作行內訊號處理、客制化時序、特定觸發與閉迴路控制。每個 I/O 模組均內建訊號處理功能,並具備螺絲端子、BNC 或 D-SUB 接頭。目前有 100 種以上的 NI/第三方 C 系列模組可供選用,適合多種不同的量測作業,包含熱電偶、電壓、RTD、電流、電阻、應變、數位 (TTL 與其他)、加速規、麥克風等。可用不同模組建構 3 至 32 個通道,滿足各式各樣的系統需求。

FPGA

MXI-Express、乙太網路與 EtherCAT

FPGA 整合了 ASIC 與處理器架構系統的最佳部分,因此 FPGA 晶片可應用於所有產業。FPGA 具有硬體時序的速度與可靠性,但進行作業時不需大量資源,也能降低客制 ASIC 設計的前置成本。

可重設晶片具有出色的彈性,可媲美處理器系統所執行的軟體,卻不受可用的處理器核心數量限制。和處理器不一樣的地方是,FPGA 本身即為平行架構,所以不同的處理作業不必為了相同的資源而競爭。各個獨立處理作業均將指派至專屬的晶片區塊,不會影響其他邏輯區塊即可自動運作。因此,當您新增其他處理作業時,應用內其他部分的效能不會受到影響。

 機箱FPGA閘道正反器 (Flip-Flop)查找表 (LUT)乘法器

Block RAM 

(kbit)

乙太網路      
NI 9149Artix-7--106,40053,2002204,480
NI 9148Spartan-3 2000200 萬40,96040,96040720
NI 9147Artix-7--106,40053,2002204,480
NI 9146Spartan-6 LX45--54,57654,576582,088
EtherCAT      
NI 9144Spartan-3 2000200 萬40,96040,96040720
MXI-Express      
NI 9159Virtex-5 LX110--69,12069,120644,608

 NI 9157

NI 9155

Virtex-5 LX85--51,84051,840483,456
NI 9154Virtex-5 LX50--28,80028,800481,728

表 2.查看用於擴充 RIO 產品的 FPGA。

 

網路拓撲

MXI-Express RIO

MXI-Express RIO 可使用星形 (star) 或菊鏈 (daisy-chain) 設定。可能的機箱數量取決於系統,不過一般而言,每個菊鏈最多可連接 6 個機箱。星形設定的總機箱數量取決於主控制器可用的 PCI 匯流排數量,單一控制器甚至可連接 40 個以上的機箱。

EtherCAT RIO

在理想狀態下,EtherCAT 網路可連接 65,535 個附屬裝置;高速乙太網路 (100 Mbit/s) 亦可達相同數量。但限制系統銜接裝置數量的因素,可歸納為已佈署的 I/O 通道數、控制器的速度,與執行應用的類型。

要設定系統並計算總傳輸量時,請注意,單一菊鏈中的所有機箱均共用相同「管路」或頻寬來回接主控制器。同樣的,迴圈速率亦將受到匯流排上的裝置數量與資料所影響,而且各個機箱與接線都會延長系統潛時。

距離

 

匯流排內的 MXI-Express RIO 距離限制為 7 公尺。而乙太網路 RIO 與 EtherCAT 附屬機箱的總距離均可超過 100 公尺,若再加上集線器、切換器或加強器,則可達更長距離。

請注意:如要擴大 EtherCAT 網路的範圍,必須使用可與 EtherCAT 相容的裝置;一般的乙太網路切換器無法與 EtherCAT 網路相容。 

裝置同步化

時序與同步化可於相同時間內整合事件,為許多控制/量測應用中的重要部分,對多通道數系統而言尤其如此。

MXI-Express RIO 與乙太網路 RIO

MXI-Express RIO 與乙太網路 RIO 機箱無法透過匯流排 (分別為 MXI-Express 與高速乙太網路) 支援同步化功能。且匯流排架構中並未內建時脈分享 (Clock sharing) 功能,亦即因網路拓撲所造成的封包遺失或衝突,系統均將忽略其延遲情形 (系統節點之間為非同步化通訊)。但因共用相同的機箱背板,因此單一機箱中的所有模組均可同步化;但請注意,必須使用 C 系列數位 I/O 模組在多個機箱中達到參考時脈訊號,才可同步化多個 MXI-Express 或乙太網路 RIO 機箱。 

EtherCAT RIO

由於 EtherCAT 匯流排通訊標準,將定義網路參考上所有裝置的主要系統時脈,因此 EtherCAT RIO 將自動同步化其他部分。若系統需要精確的同步化 (不到一毫秒),則可選用 EtherCAT 匯流排。

通訊抖動

此規格項目代表通訊匯流排引起的抖動 (jitter) 現象。系統內主要的抖動來源通常和控制器較有關係,而非通訊匯流排 (尤其是 Windows 控制器)。此外,系統抖動現象取決於系統架構,而且資料要透過菊鏈才能傳達至主機的機箱數量。 

如果應用的控制迴圈必須於分散式 Real-Time 運算節點之間傳輸資料,就需要精確的通訊功能。也就是說,網路引起的抖動會造成控制迴圈抖動。可接受的控制迴圈抖動取決於系統本身,但是標準範圍是控制迴圈時間的 ±10%。比如說 1 kHz 的控制迴圈,這代表每次重複運作都會從 900 到 1,100 μs,而系統仍會適當回應。 

MXI-Express RIO 與 EtherCAT RIO 的通訊抖動分別不到 10 毫秒與 1 毫秒。乙太網路 RIO 裝置並無抖動規格。因為高速乙太網路與無線傳輸並非精確的資料傳輸方式。

匯流排傳輸率

MXI-Express RIO 提供最大的管道回控制器,其理論頻寬最大值為 250 MB/s,而乙太網路 RIO 為 25 MB/s,EtherCAT 為 12.5 MB/s。請注意,匯流排效能不僅取決於匯流排的理論頻寬最大值而已;也請考慮其他要素,例如潛時、實作、功率規定、個人應用等。就高傳輸率應用而言,MXI-Express RIO 堪稱理想選擇。  乙太網路 RIO 與 EtherCAT RIO 的傳輸率功能對大部分的監控應用來說已相當夠用。

API

API 指的是應用程式介面,是一組可用於軟體應用基礎區塊的常式。設定擴充 I/O 系統的方式有兩種:CompactRIO 掃描模式與 LabVIEW FPGA 主機介面 API。

CompactRIO 掃描模式 (也稱為 RIO 掃描介面或 RSI) 可用於 EtherCAT與乙太網路機箱。CompactRIO 掃描模式可自動偵測 I/O 模組,並且新增至 LabVIEW 專案。接著您可以將 I/O 變數拖曳至 LabVIEW Real-Time 與主要 VI 程式圖中,不需針對 FPGA 進行編譯或程式設計,隨即讀取/寫入校準過的 I/O 資料。 

圖 2. 使用 CompactRIO 掃描模式

如果想要直接設定 FPGA,請選用 LabVIEW FPGA Module。只要撰寫過 FPGA VI,就會編譯至位元流並佈署至 FPGA。若要透過主機應用程式與 FPGA 溝通,請選用 LabVIEW FPGA 主機介面 API。這樣一來即可讀寫至暫存器,也能進行 DMA 傳輸。

請注意,若使用 EtherCAT 機箱,則必須透過使用者定義的 I/O 變數,才能溝通控制器的 Real-Time VI 與擴充機箱的 FPGA VI(使用者定義的 I/O 變數可搭配 NI Scan Engine,以同步化 FPGA 資料)。 也就是說,擴充機箱的 FPGA VI 將不會有 FPGA 主機介面、DMA 轉換函式,或人機介面除錯功能。

LabVIEW FPGA 主機介面 API 僅能用來介接 MXI-Express RIO。 

而 C 系列模組是否與各機箱相容,亦取決於其是否支援 NI 掃描模式的功能。由於 MXI-Express RIO 僅支援 LabVIEW FPGA,而必須依賴 NI 掃描模式的模組 (如 NI 986x CAN 模組),將無法相容於 MXI-Express RIO。如需完整的 C 系列模組相容清單,請參閱 NI C 系列相容圖表

控制器

此 4 款擴充選項均使用不同的匯流排,因此控制器端亦需要不同的連結功能。

MXI-Express RIO

MXI-Express RIO 需要 MXI-Express 介面以連接主機系統:選項包括多核心 CompactRIO、PXI、工業級控制器,以及執行 Windows/即時作業系統且具備 MXI-Express PCI 介面卡的電腦。MXI-Express ExpressCard 轉接器可用來把 MXI-Express RIO 機箱連接至沒有 MXI-Express 介面卻有內建 ExpressCard (例如 NI PXIe-8115) 的控制器。NI PXIe-8364 MXI-Express 介面也可用來連接 MXI-Express RIO 與 PXI 系統。另可使用 MXI-Express-to-PCI 或 to-PCI Express 轉接器,即可連接 MXI-Express RIO 與電腦。 

乙太網路 RIO

乙太網路 RIO 可銜接具乙太網路埠的系統,且可搭配使用大多數的標準網路拓撲。如要將乙太網路 RIO 直接連接到即時控制器的次要乙太網路埠,請參閱將乙太網路 RIO 擴充機箱連接至即時控制器的次要乙太網路埠。9149 與 9147 乙太網路 RIO 機箱也包含 USB 連接埠,可讓您輕鬆設定裝置。不過,這種連接埠無法用來取代乙太網路埠。 

EtherCAT RIO

只要是具備 2 組乙太網路埠的即時控制器,均可相容於 EtherCAT RIO 機箱,包含 CompactRIO、PXI 與工業級控制器平台。另針對 EtherCAT,請注意如果即時 PXI 控制器不具備 2 組乙太網路埠,則必須搭配 NI PXI-8231/8232 乙太網路介面卡 (並不相容 NI 8234 乙太網路介面卡);僅有此 2 款介面卡支援即時控制器。同時需要 NI-Industrial Communications for EtherCAT 驅動程式,且第二組乙太網路埠必須為「EtherCAT」模式。