<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > USB數據采集系統中數據傳輸的實(shí)現

USB數據采集系統中數據傳輸的實(shí)現

作者: 時(shí)間:2016-12-20 來(lái)源:網(wǎng)絡(luò ) 收藏

  2.3 兩個(gè)DMA傳輸環(huán)節的協(xié)調

  系統中利用GPDMA控制器產(chǎn)生的半滿(mǎn)和全滿(mǎn)中斷信號協(xié)調兩個(gè)DMA對同一個(gè)緩存空間的操作,實(shí)現了LPC2888對整個(gè)數據傳輸過(guò)程的協(xié)調控制。當DMA通道3工作時(shí),采樣數據從CPLD傳輸到buffer1,同時(shí)USB高速設備控制器對buffer2中的數據進(jìn)行DMA操作;當DMA通道5工作時(shí),采樣數據傳輸到buffer2,USB高速設備控制器對buffer1中的數據進(jìn)行操作。如圖5中LPC2888程序流程所示。

  

  圖5 LPC2888程序流程

  3、上位機軟件設計

  系統上位機軟件包括兩個(gè)部分:設備驅動(dòng)程序和系統應用程序。開(kāi)發(fā)USB設備的一個(gè)關(guān)鍵問(wèn)題在于設備驅動(dòng)程序的編寫(xiě)。傳統的開(kāi)發(fā)工具是微軟公司提供的設備驅動(dòng)開(kāi)發(fā)工具包:Windows DDK(Device Driver Kits),以及由第三方公司基于DDK開(kāi)發(fā)的驅動(dòng)程序開(kāi)發(fā)工具包:WinDriver或DriverWorks。DDK基于匯編語(yǔ)言的編程方式和內核模式的調用,對于沒(méi)有深厚的操作系統原理和編程水平的人員來(lái)說(shuō),任務(wù)相當艱巨。本文使用美國國家儀器NI (National Instruments)公司開(kāi)發(fā)的NI-VISA(Virtual Instrument Software Architecture)控制USB設備,直接配置VISA生成設備驅動(dòng)程序,避開(kāi)了以往開(kāi)發(fā)USB設備驅動(dòng)程序的復雜性,同時(shí)直接使用虛擬儀器軟件設計平臺LabWindows CVI開(kāi)發(fā)系統應用程序,縮短了開(kāi)發(fā)周期。

  3.1 使用NI-VISA開(kāi)發(fā)USB設備驅動(dòng)程序

  NI-VISA是NI公司開(kāi)發(fā)的一種用來(lái)與各種儀器總線(xiàn)進(jìn)行通信的高級應用編程接口。VISA總線(xiàn)I/O軟件是一個(gè)綜合軟件包,它不受平臺、總線(xiàn)和環(huán)境的限制,可用來(lái)對USB、GPIB、串口、PCI、VXI、PXI和以太網(wǎng)系統進(jìn)行配置、編程和調試。使用VISA可以很容易地實(shí)現計算機應用程序和USB設備之間的連接,降低了設備驅動(dòng)的開(kāi)發(fā)難度。

  VISA提供了兩類(lèi)函數供應用軟件調用,USB INSTR設備與USB RAW設備。USB INSTR設備是符合USBTMC(USB測試測量類(lèi))協(xié)議的USB設備,可以通過(guò)使用USB INSTR類(lèi)函數控制,通信時(shí)無(wú)需配置NI-VISA;而USB RAW設備是指除了明確符合USBTMC規格的儀器之外的任何USB設備,通信時(shí)要配置NI-VISA。經(jīng)過(guò)配置后,VISA自動(dòng)創(chuàng )建好設備驅動(dòng)文件:inf文件和PNF文件。當相應的USB設備連接到計算機時(shí),操作系統將自動(dòng)安裝該設備驅動(dòng)并識別該設備。

  3.2 系統應用程序設計

  使用NI-VISA開(kāi)發(fā)的USB設備可以在LabVIEW和LabWindows CVI中直接調用,其中有相應的VI子節點(diǎn)和庫函數對設備進(jìn)行操作。本系統采用LabWindows CVI開(kāi)發(fā)數據采集系統應用程序。對設備的操作遵循下面的原則:首先打開(kāi)設備,然后可以對設備進(jìn)行讀寫(xiě)、設置設備屬性等操作,最后要關(guān)閉設備。目前應用程序設置有兩種工作模式:示波器模式和連續采集存儲模式。示波器模式每隔一定的時(shí)間間隔啟動(dòng)一次采集,采用模擬電平觸發(fā),采樣長(cháng)度固定,采樣結果波形實(shí)時(shí)顯示。連續采集存儲模式啟動(dòng)采集后,系統將采樣結果實(shí)時(shí)地存儲到數據文件中。停止采集后,應用程序打開(kāi)數據文件對采樣結果進(jìn)行波形顯示、數據處理等操作。系統應用程序界面如圖6所示。

  4、系統測試結果

  本文對該系統主要從以下四個(gè)方面進(jìn)行了測試。

  1)將CPLD內部邏輯設定為傳輸固定數據,如0xAA55。系統在連續采集存儲模式下工作,獲得數據文件。采用二進(jìn)制文件編輯軟件UltraEdit查看數據文件,其中所有采樣點(diǎn)結果均為0xAA55。驗證了數據傳輸過(guò)程的正確性。

  2)將CPLD內部邏輯設定為傳輸每次增1的數據,獲得采樣數據文件進(jìn)行查看。得到采樣點(diǎn)結果為遞增的數據,每次增量為1。驗證了數據傳輸過(guò)程沒(méi)有丟失采樣點(diǎn),保證了數據傳輸過(guò)程的可靠性。

  3)將CPLD內部邏輯設定為傳輸AD采樣結果。系統工作在示波器模式下,實(shí)時(shí)查看采樣結果波形。調整輸入模擬信號幅值、頻率和波形,分別得到相應的采樣結果波形。驗證了AD轉換環(huán)節的正確性。圖6所顯示被采樣信號為250Hz正弦信號,峰峰值5V,采樣速率1MS/s。

  

  圖6 系統應用程序界面

  4)USB接口數據傳輸速度測試。這里采用總線(xiàn)分析測試軟件Bus Hound測試系統的數據傳輸速度。該軟件可以觀(guān)察USB設備的工作情況,讀取當前USB設備輸入輸出數據量的大小、數據傳輸速度和設備屬性等信息,并且在運行過(guò)程中不會(huì )對設備的工作產(chǎn)生影響。測試時(shí)首先運行Bus Hound軟件,啟動(dòng)系統工作在連續采集存儲模式,然后可以在Bus Hound中得到系統的數據傳輸速度。經(jīng)測試,系統最高數據傳輸速度為16MB/s(128Mb/s)。圖7所示為Bus Hound軟件界面和數據傳輸速度測試結果。

  

  圖7 軟件Bus Hound的界面與速度測試結果

  5、結論

  本文使用嵌入式微控制器LPC2888和CPLD成功地完成了基于USB高速傳輸的數據采集系統。系統利用CPLD配合GPDMA控制器實(shí)現了從數據采集模塊到LPC2888內部緩存的DMA數據傳輸,利用USB設備控制器DMA引擎配合端點(diǎn)批量傳輸實(shí)現了從緩存到計算機的DMA傳輸,并通過(guò)中斷對兩個(gè)環(huán)節進(jìn)行協(xié)調實(shí)現了整個(gè)數據傳輸過(guò)程的DMA傳輸。經(jīng)測試,系統有效數據傳輸速度達128Mb/s。

  在USB設備驅動(dòng)應用程序的開(kāi)發(fā)上,本文嘗試了一種新方法。配置NI-VISA生成驅動(dòng)程序,在LabWindows CVI中進(jìn)行應用程序設計,通過(guò)VISA控制USB設備。實(shí)踐證明:使用該方法開(kāi)發(fā)的系統穩定可靠,不需要開(kāi)發(fā)者了解驅動(dòng)程序內核,開(kāi)發(fā)難度低,是一種簡(jiǎn)單、快速開(kāi)發(fā)USB接口應用系統的好方法。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: USB數據采集系統數據傳

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>