PXI Express技術(shù)詳解(完整版)
高數(shù)據(jù)吞吐量:數(shù)據(jù)流盤(pán)應(yīng)用
PXI Express儀器的最大技術(shù)優(yōu)勢(shì)在于快速PCI總線(xiàn)的高數(shù)據(jù)吞吐量。這一優(yōu)勢(shì)不僅縮短了常見(jiàn)自動(dòng)化測(cè)試應(yīng)用的測(cè)試時(shí)間,也使得迄今現(xiàn)成商用硬件無(wú)法支持的新型應(yīng)用成為可能。范例之一便是智能信號(hào)和數(shù)字視頻測(cè)試等應(yīng)用的數(shù)據(jù)流盤(pán)場(chǎng)景。
傳統(tǒng)的工作臺(tái)儀器系統(tǒng),如任意波形發(fā)射器、邏輯分析儀和示波器等,使用板載有限的存儲(chǔ)器作為存儲(chǔ)波形數(shù)據(jù)的臨時(shí)緩存。板載存儲(chǔ)器昂貴而且可用空間有限。此外,這些儀器可以通過(guò)GPIB、LAN或USB接口將波形輸入至PC或自PC輸出波形。糟糕的是,這樣的數(shù)據(jù)吞吐量只有每秒幾兆字節(jié)。對(duì)于數(shù)據(jù)流盤(pán)或者數(shù)據(jù)流導(dǎo)入內(nèi)存的應(yīng)用,需要高得多的吞吐量。PXI Express憑借其高吞吐量和低總線(xiàn)時(shí)延,提供了一個(gè)有說(shuō)服力的解決方案。
幸運(yùn)的是,LabVIEW的多線(xiàn)程編程模型使得數(shù)據(jù)流導(dǎo)盤(pán)應(yīng)用可以被方便地優(yōu)化。由于LabVIEW動(dòng)態(tài)地分配編程任務(wù)至多個(gè)線(xiàn)程,我們可以通過(guò)將儀器I/O和文件I/O分解成兩個(gè)獨(dú)立的while循環(huán),實(shí)現(xiàn)更高的吞吐量。推薦使用的編程方式為生產(chǎn)者-消費(fèi)者循環(huán)結(jié)構(gòu),如下圖所示。
在上例中,上面的循環(huán)(生產(chǎn)者)從一個(gè)高速數(shù)字化儀中采集數(shù)據(jù),并將其傳遞至一個(gè)隊(duì)列結(jié)構(gòu)(一個(gè)LabVIEW FIFO)。該隊(duì)列可用于LabVIEW中的多個(gè)while循環(huán)間的數(shù)據(jù)傳遞。下面的循環(huán)(消費(fèi)者)自隊(duì)列結(jié)構(gòu)中讀取數(shù)據(jù)并將其寫(xiě)入到磁盤(pán)。生產(chǎn)者/消費(fèi)者循環(huán)結(jié)構(gòu)為數(shù)據(jù)流盤(pán)應(yīng)用提供了最佳的性能,因?yàn)樵谙M(fèi)者循環(huán)將數(shù)據(jù)寫(xiě)入到磁盤(pán)的同時(shí),生產(chǎn)者循環(huán)可以繼續(xù)采集數(shù)據(jù)。
評(píng)論