1. 點對點數據流介紹
NI點對點數據流(P2P)技術使用PCI Express接口在多個設備之間直接,點對點傳輸,而不必通過主處理器或存儲器。這可使同一個系統中的設備共享信息而不必占用其它的系統資源。以下設備可支持NI P2P技術:PXI Express NI FlexRIO現場可編程門陣列(FPGA)模塊(NI PXIe-7961R、PXIe-7962R、PXIe-7965R、PXIe-7966R和PXIe-7975R),PXI Express數字化儀和矢量信號分析儀,包括PXIe-5644R、PXIe-5645R、PXIe-5122、 PXIe-5160、 PXIe-5162、 PXIe-5622和PXIe-5663。
在圖1所描述的系統中,在NI PXIe-1075機箱中的NI PXIe-5622數字化儀使用點對點數據流直接將數據傳送到NI PXIe-7965R NI FlexRIO FPGA模塊。然后FPGA模塊將數據傳送到另一個FPGA模塊用作額外的處理。由于機箱背板開關提供與模塊所在插槽的直接連接,您不需要通過主控制器或進入系統資源,例如CPU和主存儲器來傳送數據。
?
圖 1. NI PXIe-5622 數字化儀將數據流傳輸到兩個 PXI Express NI FlexRIO FPGA模塊.
2. 應用實例
RF應用中一種常見的需求是實時頻域觸發。盡管大部分RF設備在一個功率級上觸發,但這種實時頻域觸發與頻率并沒有關系。但是,借助NI LabVIEW FPGA模塊的點對點數據流和數據處理技術,您可以建立一個頻域觸發。圖2所描述的應用中,NI PXIe-5663矢量信號分析儀使用點對點數據流將數據傳送到NI FlexRIO FPGA模塊進行加窗,然后轉化為頻域信號,并與頻譜模板比較。當數據超過模板時,FPGA模塊在PXI背板產生一個數字觸發信號。NI PXIe-5663收到這個觸發信號后,便開始捕獲數據記錄,包含預觸發采樣,并將數據存儲在分析儀的標準采集內存中。然后您可以通過NI-RFSA驅動從主機訪問該數據記錄用于進行其它處理或存儲。
?
圖2. 在此應用中, NI FlexRIO FPGA模塊向 NI PXIe-5663 矢量信號分析儀發出一個頻域觸發信號.
3. 點對點系統的編程
NI-P2P驅動極大簡化了點對點數據流的編程。在圖3描述的應用中,1號FPGA直接將數據傳送給2號FPGA。在LabVIEW FPGA中,點對點數據讀取和寫入節點為數據交換提供先進先出(FIFO)的接口。這些節點類似于DMA 和本地FPGA FIFO。在數據交換之前,主機必須通過NI-RIO和NI-P2P API將1號FPGA的寫入數據流和2號FPGA的讀取連接起來(如圖3所示)。您可根據配置使用一個或兩個VI來連接點對點數據流,進行數據交換。
?
圖3. 兩個 NI FlexRIO FPGA 模塊和相關軟件之間的點對點數據流
4. 點對點系統基準測試
NI點對點技術實現了單個方向超過 1.6 GB/s的數據流速率。最大吞吐量取決于數據流模塊、機箱以及(如果配置支持)控制器。一般來說,這些組件速率的最低值是P2P的最大可能帶寬。
點對點數據傳輸具有非常低的延遲,但會取決于系統配置。如果僅通過FIFO和PCIe總線傳輸數據,典型的延遲大約為2-4微秒。但是如果由于其他業務造成總線擁塞,這一延遲偶爾會達到幾十微秒的量級。當從數字化儀輸出數據流,延遲通常為5微秒,如果將數據流傳輸到任意波形發生器,由于板載緩沖,延遲大約為10-20微秒。
如果通過具有板載信號處理功能的設備進行數據傳輸(使用NI PXIe-5622數字化儀),則額外的濾波和其他處理可能會使延遲達到數百微秒。最后,對系統性能進行評估時,還必須考慮NI FlexRIO FPGA模塊上運行的用戶代碼的延遲。
機箱
所有數據必須通過機箱從一個模塊流向另一個模塊,所以機箱對于確定帶寬非常重要。機箱背板的PCI Express開關通過機箱路由數據,同時,也提供了實現點對點數據流的高帶寬點對點連接。當模塊所占用的多個插槽是連接在同一個PCI Express開關上時(如圖4所示)帶寬取決于開關。
?
圖4. 機箱上的模塊布局路由所有數據通過同一個 PCI Express 開關。
表1顯示了給定機箱的PCI Express開關的最大帶寬。該帶寬可通過任意兩個連接到相同開關的插槽實現,而且在特定速率下可支持一個開關多個連接。
機箱?插槽?最大點對點數據速率?
NI PXIe-1085?全部?1.6 GB/s?
NI PXIe-1075?全部?1.6 GB/s?
NI PXIe-1082Q?全部?1.6 GB/s?
NI PXIe-1065?7, 8?取決于控制器?
NI PXIe-1065?9-14?接近800 MB/s?
NI PXIe-1062Q?3-5?取決于控制器?
NI PXIe-1071?全部?取決于控制器?
NI PXIe-1073?全部?>200 MB/s?
NI PXIe-1078?2, 3, 4?取決于控制器?
NI PXIe-1078?5-9?>200 MB/s
表1. PXI Express機箱 P2P帶寬
控制器
如果P2P流系統的模塊并不是連接到機箱背板上的同一PCI Express開關,則數據必須流經主機控制器的板載開關或芯片,但不經過控制器的CPU或存儲器。該配置如圖5所示。
?
圖5. 機箱上的模塊布局路由數據通過主機控制器.
表2列出了給定控制器的PCI Express 開關或芯片的最大帶寬。需要注意的是這些數字表示進出控制器某一部分的總帶寬。如果每一部分同時存在多個點對點數據流,則數據流共享帶寬。
控制器?開關之間的最大速率?備注?
NI?PXIe-8135?>800 MB/s???
NI?PXIe-8133?>800 MB/s???
NI PXIe-8130?>600 MB/s?受芯片限制?
NI PXIe-8106?>800 MB/s?不支持第四連接 (NI PXIe-1075 和 NI PXIe-1082機箱 最右邊開關的引入/引出)?
NI PXIe-8105?接近800 MB/s?受開關限制?
NI PXIe-8101/02/08?不支持?開關后面的P2P仍然工作?
NI PXIe-8370?接近800 MB/s?受開關限制?
NI PXIe-8375?>800 MB/s??
表2. PXI Express 控制器的 P2P帶寬
模塊
如果機箱和控制器配置支持某一特定的帶寬,PXI Express模塊本身就能決定可實現的最大帶寬。下面是各種可支持P2P設備的基準性能和配置詳情。
NI PXIe-7975R NI FlexRIO FPGA模塊: 這款PXI Express NI FlexRIO FPGA模塊能夠以高達1.5 GB/s的速率雙向傳輸數據。數據流的數量及其帶寬取決于設備上FPGA的配置和編程。
NI PXIe-7966R, NI PXIe-7965R, PXIe-7962R, PXIe-7961R NI FlexRIO FPGA 模塊: 這些PXI Express NI FlexRIO FPGA模塊能夠以高達800 MB/s的數據傳輸模塊的數據。當兩個方向同時傳輸,FPGA模塊能達到單方向超過700 MB/s的速率,或超過1.4 GB/s的集合數據速率。數據可能包含單個數據流,最多可達16個獨立的數據流,每一個數據流對應設備的一個DMA通道。數據流的數量及其帶寬取決于設備上FPGA的配置和編程。
NI PXIe-5622 IF 數字化儀: NI PXIe-5622是一種150 MS/s, 16-bit的數字數字化儀,能以高達300 MB/s的速率產生數據。對于點對點數據流來說,該數字化儀有一個單獨的寫入端點,位于與板載內存的并行數據通路上。您可以將采集到的數據寫入這個端點以傳輸到FPGA目標,并同時通過板載內存將數據傳送到主機。NI PXIe-5622的一個重要特征是采用正交數字下變頻(DDC)的板載信號處理(OSP),它能以75 MS/s或 250 MB/s的復合I/Q數據形式提供高達60 MHz的IF帶寬。在這種模式下,點對點數據流的采樣隔行掃描選取樣本,采用先I采樣后 Q采樣的方法。
?
圖6. 采用 NI PXIe-5622 IF數字化儀的點對點數據流
點對點數據流以原始的二進制格式傳輸,不包括換算和校準。NI-SCOPE可以查詢歸一化的系數并將其用來校準二進制數據而不必換算成伏特值。歸一化的數據符合以下規律,所以您后續可以翻譯這些二進制信息或將其換算成伏特。
. 最大的正二進制值對應縱向值域的最大正向電壓。
. 最大的負二進制值對應縱向值域的最大反向電壓。
. 縱向值域被均勻劃分以對應可能的二進制值。
或者,您可以在一個單獨的步驟查詢并應用縮放系數來校準和縮放數據。請參考高速數字化儀幫助獲得更多細節。
NI PXIe-5122 高分辨率數字化儀: The NI PXIe-5122是一種100 MS/s,雙通道,14-bit的數字化儀,能以每路每流200 MB/s的速率產生數據。對于點對點數據流,該數字化儀具有兩個寫入端點,位于與板載內存并行的數據通路上。您可以將采集的數據寫入這些端點,并將其通過板載內存傳送到主機。
?
圖7. 采用NI PXIe-5122高分辨率數字化儀的點對點數據流
表3展示了有效的流配置實例
表3. 有效的流配置
請注意,配置模塊來生成數據的速率如果超過了PXI Express x4總線的帶寬,有可能引起數據溢出。例如,當采樣全速運行(共800 MB/s)時,表3的最后一個配置將達到每流400 MB/s的速率。如果您再將數據傳送到主機PC,則速率將超出總線帶寬。降低數字化儀的采樣率能避免數據溢出。
5. 校準
點對點數據流以原始的二進制格式傳輸,不包括換算和校準。NI-SCOPE可以查詢歸一化系數并用來校準二進制數據而不必換算成伏特值。歸一化的數據符合以下規律,以便您日后解釋這些二進制信息或將其換算成伏特值。
. 最大的正二進制值對應縱向值域的最大正向電壓。
. 最大的負二進制值對應縱向值域的最大反向電壓。
. 縱向值域被均勻劃分以對應可能的二進制值。
注意:即使用戶指定了NI-SCOPE的縱向值域是±10 V,最大和最小二進制值仍為 NI-SCOPE編程的縱向值域 (如 ±11 V)。這樣操作的目的是為了捕獲過沖電壓,無論用戶是否將值域設置為小于過沖電壓。
6. 可支持設備
以下是支持P2P數據流的NI硬件列表:
機箱???
??NI PXIe-1062Q?
??NI PXIe-1065?
??NI PXIe-1071?
??NI PXIe-1073?
??NI PXIe-1075?
??NI PXIe-1078?
??NI PXIe-1082?
??NI PXIe-1085?
控制器???
??NI PXIe-8135?
??NI PXIe-8133?
??NI PXIe-8130?
??NI PXIe-8105?
??NI PXIe-8106?
遠程控制器???
??NI PXIe-PCIe-8375?
??NI PXIe-PCIe-8371/8372?
??NI PXIe-PCIe-8361/8362?
函數發生器???
??NI PXIe-5450 (Rev. C and later)?
??NI PXIe-5451?
示波器/數字化儀???
??NI PXIe-5122**?
??NI PXIe-5622**?
RF信號分析儀???
??NI PXIe-5663*?
??NI PXIe-5663E*?
??NI PXIe-5665*?
??NI PXIe-5644R?
RF信號發生器???
??NI PXIe-5673*?
??NI PXIe-5673E*?
??NI PXIe-5644R?
NI FlexRIO FPGA模塊???
??NI PXIe-7961R?
??NI PXIe-7962R?
??NI PXIe-7965R?
??NI PXIe-7966R?
??NI PXIe-7975R
表 4. NI可支持P2P的硬件
* 以上提到的射頻信號分析儀由三個部分組成:射頻下變頻器、本地振蕩器和數字化儀。數字化儀用于實現P2P流。射頻信號分析儀使用的數字化儀是PXIe-5622。同樣,任意波形發生器實現執行射頻信號發生器的P2P數據流。
**PXIe-5122和PXIe-5622的固件版本必須為當前最新的版本才能實現P2P流技術,方法與NI-SCOPE 3.6一樣。按照NI-SCOPE 3.6自述文件中的步驟學習如何更新PXIe-5122和PXIe-5622設備上的固件。
評論
查看更多