概覽
Serges Lemo,NI全球數(shù)據(jù)采集產(chǎn)品市場工程師朱君, NI中國技術(shù)市場部經(jīng)理
?
?
簡介
?
近幾年來,USB已經(jīng)從用于鼠標(biāo)、鍵盤和其它電腦配件的簡單低速外設(shè)總線,發(fā)展為一種能夠滿足高要求應(yīng)用方案的總線選擇,這其中就包括了數(shù)據(jù)采集(data acquisition,簡稱DAQ)應(yīng)用。一份最近由Sensors雜志做的網(wǎng)上調(diào)查顯示,相比于其它總線,工程師們更傾向于在他們的下一個數(shù)據(jù)采集應(yīng)用中使用USB總線。
隨著USB總線的廣泛應(yīng)用,許多數(shù)據(jù)采集公司都開始致力于縮小USB與諸如PCI和PXI等嵌入式DAQ設(shè)備間的性能差距。NI公司剛剛發(fā)布的CompactDAQ平臺就是一個例證。CompactDAQ平臺采用模塊化的設(shè)計,使得工程師們可以靈活地選擇不同的模塊來構(gòu)建他們的測試系統(tǒng),并滿足他們的測試需求。通過將高速USB標(biāo)準(zhǔn)、全新半導(dǎo)體技術(shù),以及NI靈活、高效的軟件平臺和專利的信號流技術(shù)相結(jié)合,CompactDAQ平臺不但具有卓越的性能,并且簡單易用,使其成為便攜式測試和控制應(yīng)用的理想選擇。
在評價USB數(shù)據(jù)采集設(shè)備性能的時候,需要著重考慮兩種主要的性能表現(xiàn):一是把采集到的大量緩沖數(shù)據(jù)傳輸?shù)絇C機(jī)的存儲器中的能力,二是對于較低速物理過程實(shí)施單點(diǎn)控制的能力。下文將主要闡述NI的專利技術(shù)如何達(dá)到這些性能要求,并且還將給出應(yīng)用實(shí)例來介紹如何發(fā)揮新型NI CompactDAQ平臺在高性能和易用性方面的優(yōu)勢。
?
?
信號流技術(shù)(Signal-streaming Technology)
NI公司專利的信號流技術(shù)通過下列方法,來滿足上述兩項任務(wù)的性能要求:
l 把部分驅(qū)動程序下移到設(shè)備級,以盡可能減少USB總線上的控制通信流量。
l? 在設(shè)備內(nèi)部實(shí)現(xiàn)數(shù)據(jù)采集和USB總線兩部分間的DMA傳輸,以確保主機(jī)可以隨時調(diào)用所需數(shù)據(jù)。
這種新型的信號流技術(shù)最大限度地改善了USB總線的總吞吐量,并且優(yōu)化了設(shè)備對應(yīng)用程序的響應(yīng)靈敏度。
USB構(gòu)架和傳輸機(jī)制:
為了更好的理解這項技術(shù),這里有必要來回顧一下USB總線的傳輸機(jī)制。圖1給出了數(shù)據(jù)采集設(shè)備中,USB數(shù)據(jù)傳輸?shù)南嚓P(guān)部件的高層示意圖。
圖表1:使用USB電纜來簡化電腦與設(shè)備間的數(shù)據(jù)傳輸
在USB通信中,數(shù)據(jù)傳輸總是由USB主機(jī)端(由圖1結(jié)構(gòu)中的PC機(jī)所表示)發(fā)起的。應(yīng)用軟件(如NI LabVIEW和NI-DAQmx等)通過將輸入/輸出請求包(I/O request packets,IRP)排隊來請求自設(shè)備端的數(shù)據(jù)傳輸。這些請求被傳遞給USB驅(qū)動程序,后者把他們分成包。這些包被傳遞給USB主控制器,由其發(fā)送給設(shè)備。USB主控制器是用于控制PC機(jī)的USB總線通信的硬件。每傳輸一個包,就要在PC機(jī)與設(shè)備間進(jìn)行一次交互。圖2顯示了USB輸入和輸出交互實(shí)例。
圖2USB主機(jī)端通過輸入令牌后接數(shù)據(jù)和握手包來發(fā)起交互
在每次交互中,主控制器以令牌包為開始發(fā)起數(shù)據(jù)傳輸。這個令牌包提供了目標(biāo)設(shè)備的地址、數(shù)據(jù)的流向和設(shè)備上特定的數(shù)據(jù)源地址。這個特定的數(shù)據(jù)源被稱為USB終端。在數(shù)據(jù)采集設(shè)備中,USB終端包括模擬信號輸入、模擬信號輸出和數(shù)字信號輸入。在令牌包后面,如果數(shù)據(jù)是可用的,那么設(shè)備會響應(yīng)并發(fā)送數(shù)據(jù)包,最后主機(jī)發(fā)送一個握手包來結(jié)束交互。
當(dāng)交互由于傳輸錯誤、數(shù)據(jù)無法獲取或者設(shè)備沒有準(zhǔn)備好而失敗時,主機(jī)會把此次交互重新安排到下一個可用的時間段。這些重新安排要盡量減到最小限度,因?yàn)樗麄兛赡軙斐蓢?yán)重的數(shù)據(jù)傳輸延時。NI公司的信號流技術(shù)在設(shè)備的數(shù)據(jù)采集和USB總線部分之間實(shí)現(xiàn)了高速數(shù)據(jù)通道,將這些重試的發(fā)生次數(shù)減小到最低限度。
信號流綜述:
按照慣例來說,設(shè)備上的控制器負(fù)責(zé)處理數(shù)據(jù)采集或者輸入/輸出端部分與USB接口間的數(shù)據(jù)傳輸。這種傳統(tǒng)的中斷驅(qū)動式方法會導(dǎo)致了主要的延時,并且會降低響應(yīng)靈敏性和設(shè)備性能。NI公司的信號流技術(shù)使用設(shè)備上連接USB接口和數(shù)據(jù)采集接口的DMA通道來進(jìn)行傳輸,以取代傳統(tǒng)的方法(如圖3所示)。
圖3 每一個數(shù)據(jù)采集I/O端口的DMA通道都會以高吞吐量與USB接口終端間進(jìn)行數(shù)據(jù)收發(fā)。
圖中的每個數(shù)據(jù)采集I/O端口的DMA通道都表示一個特定的數(shù)據(jù)采集功能(例如模擬信號輸入),并且被映射為USB接口相對應(yīng)的終端上。通過這種映射,每一個DAQ I/O端口通道直接從對應(yīng)的USB終端緩存收發(fā)數(shù)據(jù)流,而不涉及與控制器的交互。這種傳輸機(jī)制保證了一旦數(shù)據(jù)有效,會立即在USB總線上得到收發(fā),同時設(shè)備對于主機(jī)端的數(shù)據(jù)請求響應(yīng)數(shù)量會達(dá)到最大限度。
根據(jù)USB協(xié)議,USB終端是獨(dú)立進(jìn)行工作的,所以在設(shè)備上實(shí)現(xiàn)的DMA映射,實(shí)際上就是在USB?總線上為設(shè)備上的6條高速信號通道提供不同的數(shù)據(jù)采集功能。利用這項技術(shù)的設(shè)備,諸如NI公司M系列多功能USB數(shù)據(jù)采集設(shè)備,可以在USB總線上獲得高達(dá)16MS/s的吞吐量。
最小的采集建立時間:
這項技術(shù)的另一條重要性能是它的底層軟件,它智能化地把設(shè)備上的非數(shù)據(jù)型USB總線通信降低到最小。設(shè)備上有專門電路來接收從主機(jī)發(fā)出的函數(shù)調(diào)用,并且進(jìn)行諸如寫寄存器等的系統(tǒng)配置操作。通過這個額外的特性,主機(jī)可以發(fā)出一個函數(shù)并且把寫寄存器的操作留給設(shè)備去完成,以盡可能減少USB總線上的非數(shù)據(jù)傳輸。
在單點(diǎn)式采集應(yīng)用中,采集每個點(diǎn)都需要大量的建立時間——比如建立控制寄存器。按照慣例,主機(jī)通過USB總線對所有的建立進(jìn)行控制,這樣就使得建立時間變長?,F(xiàn)在通過這種全新的信號流技術(shù),設(shè)備上的控制器可以通過配置設(shè)備來進(jìn)行單點(diǎn)式數(shù)據(jù)采集,而同時主機(jī)再也不需要通過從USB總線發(fā)送命令來設(shè)定每個寄存器。最近的測試表明,利用信號流技術(shù),設(shè)備單點(diǎn)式采集的速率性能大幅度提高,增加可高達(dá)1600%。
表格1NI公司信號流技術(shù)對于單點(diǎn)式采集性能的改進(jìn)
NI公司的信號流技術(shù)對USB設(shè)備的響應(yīng)靈敏度也進(jìn)行了改善。按照慣例來說,對于點(diǎn)數(shù)一定的采集集合來說,比如10000點(diǎn),那么在采集到10000個點(diǎn)之前,用戶不能訪問到數(shù)據(jù)集的任何一個子集。利用信號流技術(shù),設(shè)備采集到數(shù)據(jù)即可實(shí)現(xiàn)發(fā)送。每個信號流又配有一個標(biāo)志寄存器來告訴設(shè)備需要發(fā)送多少子集采樣點(diǎn)。當(dāng)達(dá)到那個數(shù)目之后,可用的采樣點(diǎn)被發(fā)送給主機(jī)端應(yīng)用程序并且傳輸中止。同時,在主機(jī)端,另一項傳輸任務(wù)被制定以獲取其余的采樣點(diǎn)。比如,如果需要10000個采樣點(diǎn),并且要求即刻獲取第一個采樣點(diǎn),那么用戶可以把標(biāo)志寄存器設(shè)為1,那么采集到的第一個采樣點(diǎn)就被發(fā)送出來,并終止10000個采樣點(diǎn)的傳輸。同時,另一個傳輸任務(wù)被制定來獲得其余的9999的采樣點(diǎn)。
NI公司的數(shù)據(jù)流技術(shù)同時運(yùn)用軟硬件以顯著地改善USB總線的吞吐量和數(shù)據(jù)采集的響應(yīng)靈敏度。使用這種新技術(shù),高性能、高速度的數(shù)據(jù)采集設(shè)備,諸如新型的USB M型和新型的NI CompactDAQ平臺,可以以高達(dá)3.2MS/s的速度進(jìn)行采樣。
?
?
更多內(nèi)容請點(diǎn)擊? http://zone.ni.com/devzone/cda/tut/p/id/8200