USB數(shù)據(jù)采集技術(shù)
當交互由于傳輸錯誤、數(shù)據(jù)無法獲取或者設備沒有準備好而失敗時,主機會把此次交互重新安排到下一個可用的時間段。這些重新安排要盡量減到最小限度, 因為他們可能會造成嚴重的數(shù)據(jù)傳輸延時。NI公司的信號流技術(shù)在設備的數(shù)據(jù)采集和USB總線部分之間實現(xiàn)了高速數(shù)據(jù)通道,將這些重試的發(fā)生次數(shù)減小到最低 限度。
本文引用地址:http://www.ex-cimer.com/article/109889.htm信號流綜述
按照慣例來說,設備上的控制器負責處理數(shù)據(jù)采集或者輸入/輸出端部分與USB接口間的數(shù)據(jù)傳輸。這種傳統(tǒng)的中斷驅(qū)動式方法會導致了主要的延時,并且 會降低響應靈敏性和設備性能。NI公司的信號流技術(shù)使用設備上連接USB接口和數(shù)據(jù)采集接口的DMA通道來進行傳輸,以取代傳統(tǒng)的方法(如圖3所示)。
圖3 每一個數(shù)據(jù)采集I/O端口的DMA通道都會以高吞吐量與USB接口終端間進行數(shù)據(jù)收發(fā)
圖中的每個數(shù)據(jù)采集I/O端口的DMA通道都表示一個特定的數(shù)據(jù)采集功能(例如模擬信號輸入),并且被映射為USB接口相對應的終端上。通過這種映 射,每一個DAQ I/O端口通道直接從對應的USB終端緩存收發(fā)數(shù)據(jù)流,而不涉及與控制器的交互。這種傳輸機制保證了一旦數(shù)據(jù)有效,會立即在USB總線 上得到收發(fā),同時設備對于主機端的數(shù)據(jù)請求響應數(shù)量會達到最大限度。
根據(jù)USB協(xié)議,USB終端是獨立進行工作的,所以在設備上實現(xiàn)的DMA映射,實際上就是在USB 總線上為設備上的6條高速信號通道提供不同的數(shù) 據(jù)采集功能。利用這項技術(shù)的設備,諸如NI公司M系列多功能USB數(shù)據(jù)采集設備,可以在USB總線上獲得高達16MS/s的吞吐量。
最小的采集建立時間
這項技術(shù)的另一條重要性能是它的底層軟件,它智能化地把設備上的非數(shù)據(jù)型USB總線通信降低到最小。設備上有專門電路來接收從主機發(fā)出的函數(shù)調(diào)用, 并且進行諸如寫寄存器等的系統(tǒng)配置操作。通過這個額外的特性,主機可以發(fā)出一個函數(shù)并且把寫寄存器的操作留給設備去完成,以盡可能減少USB總線上的非數(shù) 據(jù)傳輸。
在單點式采集應用中,采集每個點都需要大量的建立時間——比如建立控制寄存器。按照慣例,主機通過USB總線對所有的建立進行控制,這樣就使得建立 時間變長?,F(xiàn)在通過這種全新的信號流技術(shù),設備上的控制器可以通過配置設備來進行單點式數(shù)據(jù)采集,而同時主機再也不需要通過從USB總線發(fā)送命令來設定每 個寄存器。最近的測試表明,利用信號流技術(shù),設備單點式采集的速率性能大幅度提高,增加可高達1600%。
表格1NI公司信號流技術(shù)對于單點式采集性能的改進
NI公司的信號流技術(shù)對USB設備的響應靈敏度也進行了改善。按照慣例來說,對于點數(shù)一定的采集集合來說,比如10000點,那么在采集到 10000個點之前,用戶不能訪問到數(shù)據(jù)集的任何一個子集。利用信號流技術(shù),設備采集到數(shù)據(jù)即可實現(xiàn)發(fā)送。每個信號流又配有一個標志寄存器來告訴設備需要 發(fā)送多少子集采樣點。當達到那個數(shù)目之后,可用的采樣點被發(fā)送給主機端應用程序并且傳輸中止。同時,在主機端,另一項傳輸任務被制定以獲取其余的采樣點。 比如,如果需要10000個采樣點,并且要求即刻獲取第一個采樣點,那么用戶可以把標志寄存器設為1,那么采集到的第一個采樣點就被發(fā)送出來,并終止 10000個采樣點的傳輸。同時,另一個傳輸任務被制定來獲得其余的9999的采樣點。
評論