日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀]引言USB通用串行總線(Universal Serial Bus)是被PC機廣泛采用的一種總線,目前已經(jīng)在計算機主板上大量集成,成為一種標(biāo)準(zhǔn)配置接口。它的即插即用、真正的熱插拔、可總線供電、高性能和系統(tǒng)造價低等一系列的優(yōu)點,使得

引言

USB通用串行總線(Universal Serial Bus)是被PC機廣泛采用的一種總線,目前已經(jīng)在計算機主板上大量集成,成為一種標(biāo)準(zhǔn)配置接口。它的即插即用、真正的熱插拔、可總線供電、高性能和系統(tǒng)造價低等一系列的優(yōu)點,使得USB接口得到了廣泛的應(yīng)用。特別是隨著USB2.0高速傳輸協(xié)議的出現(xiàn),其數(shù)據(jù)傳輸速度達(dá)到了480Mb/s,使得USB接口方式的虛擬儀器系統(tǒng)成為今天低成本虛擬儀器系統(tǒng)的主流。本文設(shè)計了基于USB2.0高速傳輸?shù)?strong>數(shù)據(jù)采集系統(tǒng),整個數(shù)據(jù)傳輸過程完全采用DMA方式,達(dá)到了較高的數(shù)據(jù)傳輸速度。

1、系統(tǒng)介紹

系統(tǒng)總體結(jié)構(gòu)如圖1所示。采用Philips公司的微控制器LPC2888作為系統(tǒng)核心控制器。前端數(shù)據(jù)采集模塊由一片CPLD實現(xiàn)對數(shù)據(jù)采集和觸發(fā)控制的功能。當(dāng)系統(tǒng)和計算機成功連接進(jìn)入工作狀態(tài)后,LPC2888從USB接口接收來自應(yīng)用程序的控制命令,然后通過控制CPLD對數(shù)據(jù)采集模塊采樣通道、采樣速率和觸發(fā)模式進(jìn)行配置后啟動數(shù)據(jù)采集。CPLD控制模數(shù)轉(zhuǎn)換器獲取采樣數(shù)據(jù),同時配合LPC2888通用DMA控制器的接口時序?qū)⒉蓸訑?shù)據(jù)以DMA方式傳輸?shù)絃PC2888內(nèi)部緩存。最后由USB高速設(shè)備接口將采樣數(shù)據(jù)從LPC2888內(nèi)部緩存?zhèn)鬏數(shù)接嬎銠C,在計算機中實現(xiàn)數(shù)據(jù)記錄、數(shù)據(jù)處理和波形顯示等功能。

圖1 系統(tǒng)總體結(jié)構(gòu)圖

1.1 LPC2888微控制器

LPC2888是一款基于ARM7TDMI內(nèi)核的微控制器,帶有8kB高速緩存,最高工作時鐘頻率60MHz。在結(jié)構(gòu)上增加了多通道通用DMA控制器(GPDMA)。它支持存儲器到存儲器,存儲器到外設(shè),外設(shè)到存儲器和外設(shè)到外設(shè)的DMA傳輸。本系統(tǒng)采用GPDMA控制器實現(xiàn)數(shù)據(jù)從前端數(shù)據(jù)采集模塊到內(nèi)部緩存的DMA傳輸。同時,LPC2888集成有USB高速設(shè)備控制器。它完全兼容USB2.0協(xié)議,支持USB高速傳輸,理論最高傳輸速度480Mb/s,其內(nèi)部結(jié)構(gòu)如圖2所示。USB設(shè)備控制器直接掛接在LPC2888系統(tǒng)內(nèi)部核心總線AHB上,可以方便地與ARM控制器內(nèi)核及外部存儲器交換數(shù)據(jù)。其內(nèi)部包含一個DMA引擎,當(dāng)USB接口運行在DMA模式時,DMA引擎作為AHB總線上的主機,在ARM內(nèi)部緩存和USB設(shè)備控制器緩存之間傳遞數(shù)據(jù),傳輸過程不需要控制器內(nèi)核程序的參與,所以能夠達(dá)到較高的數(shù)據(jù)傳輸速度。

圖2 USB高速設(shè)備控制器內(nèi)部結(jié)構(gòu)圖

1.2 數(shù)據(jù)采集模塊

數(shù)據(jù)采集模塊主要由信號調(diào)理電路、模數(shù)轉(zhuǎn)換電路、觸發(fā)控制電路和CPLD構(gòu)成。模數(shù)轉(zhuǎn)換器采用美國模擬器件公司(ADI)推出的快速12位雙通道模數(shù)轉(zhuǎn)換器AD9238。單雙通道選擇和采樣頻率控制通過CPLD控制邏輯來實現(xiàn)。

2、數(shù)據(jù)傳輸過程DMA方式的設(shè)計與實現(xiàn)

系統(tǒng)中數(shù)據(jù)傳輸過程包含兩個環(huán)節(jié),一個是從CPLD到LPC2888內(nèi)部緩存,另一個是從LPC2888內(nèi)部緩存通過USB接口到計算機。兩個環(huán)節(jié)都采用DMA方式傳輸數(shù)據(jù),兩個環(huán)節(jié)之間的協(xié)調(diào)通過GPDMA控制器產(chǎn)生的半滿、全滿中斷來實現(xiàn)。整個數(shù)據(jù)傳輸過程完全采用DMA的傳輸方式,從而可以消除因微控制器固件程序執(zhí)行較慢而造成的對數(shù)據(jù)傳輸速度的影響。

2.1 從CPLD到LPC2888內(nèi)部緩存的DMA傳輸

CPLD從AD9238獲得兩個12位的轉(zhuǎn)換結(jié)果,經(jīng)過位數(shù)變換后送到32位的數(shù)據(jù)信號線。數(shù)據(jù)信號線直接連接到LPC2888的P0口(32位)。由于CPLD內(nèi)部沒有數(shù)據(jù)緩存過程,所以為了保證不丟失采樣點,從CPLD到LPC2888內(nèi)部緩存的DMA傳輸必須保證連續(xù)性和實時性。為此,系統(tǒng)采取了如下解決方案:

1) 在LPC2888內(nèi)部RAM中開辟兩塊相同大小的緩存空間:buffer1和buffer2。將通用DMA控制器的通道3和通道5分別配置為從P0口到buffer1和buffer2的DMA通道。

2) 配置DMA通道3和通道5為外部信號控制模式,由CPLD作為DMA數(shù)據(jù)傳輸過程的主機。

3) DMA通道3和通道5采用交替工作的方式,由CPLD控制邏輯實現(xiàn)。

CPLD與LPC2888之間的硬件連接如圖3所示。其中DMAEn是DMA通道的外部使能控制信號,其上升沿啟動一次DMA操作。DMAReq是DMA數(shù)據(jù)同步信號,該信號控制數(shù)據(jù)節(jié)拍,每次DMA操作傳輸4096個數(shù)據(jù)。IO口P2.0和P2.1分別為啟動停止和采樣模式選擇控制信號線,實現(xiàn)LPC2888對CPLD的控制。系統(tǒng)采用Verilog HDL語言描述CPLD控制邏輯,從CPLD到LPC2888內(nèi)部緩存的DMA傳輸時序如圖4所示。

圖3 CPLD與ARM接口

圖4 GPDMA傳輸時序圖

2.2 USB高速設(shè)備接口的DMA傳輸

USB高速設(shè)備控制器支持16個物理端點,其中4個端點支持DMA方式。本設(shè)計中選用三個端點:EP0、EP2和EP3??刂贫它cEP0工作在控制傳輸模式,用于接收USB主機的SETUP令牌包、響應(yīng)主機的標(biāo)準(zhǔn)設(shè)備請求、完成USB設(shè)備的枚舉過程。EP2配置為OUT(輸出)模式,用于接收來自應(yīng)用程序的控制命令。EP3配置為IN(輸入)模式,采用批量傳輸工作方式,負(fù)責(zé)將采樣結(jié)果傳輸?shù)絇C機。從LPC2888內(nèi)部緩存到計算機的DMA傳輸由USB高速設(shè)備控制器內(nèi)部的DMA引擎和EP3批量傳輸配合完成。為了達(dá)到較高的數(shù)據(jù)傳輸速度,EP3批量傳輸采用自動傳輸模式。DMA引擎將LPC2888內(nèi)部緩存數(shù)據(jù)傳輸?shù)経SB設(shè)備控制器內(nèi)部FIFO緩存中,當(dāng)FIFO獲得的數(shù)據(jù)達(dá)到設(shè)定的大小時將自動封包由EP3傳輸?shù)絇C機。同時,當(dāng)FIFO中數(shù)據(jù)為空時,控制器將自動啟動DMA引擎繼續(xù)傳輸數(shù)據(jù)。該環(huán)節(jié)的DMA傳輸過程完全由USB高速設(shè)備控制器硬件實現(xiàn),程序中只需更改DMA源地址寄存器并設(shè)置使能控制寄存器即可啟動一次DMA傳輸。

2.3 兩個DMA傳輸環(huán)節(jié)的協(xié)調(diào)

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

圖5 LPC2888程序流程

3、上位機軟件設(shè)計

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

3.1 使用NI-VISA開發(fā)USB設(shè)備驅(qū)動程序

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

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

3.2 系統(tǒng)應(yīng)用程序設(shè)計

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

4、系統(tǒng)測試結(jié)果

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

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

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

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

圖6 系統(tǒng)應(yīng)用程序界面

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

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

5、結(jié)論

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

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

參考文獻(xiàn)

[1] 李華.USB儀器將成測量儀器主流.國外電子測量技術(shù),2005,10:1~5.

[2] 郭云鵬,吳衛(wèi)華,張珺捷.虛擬儀器技術(shù)與發(fā)展展望.中國科技信息,2005,18:92~101.

[3] NXP Semiconductors. LPC2880/LPC2888 data sheet. Version 02,2006,9.

[4] NXP Semiconductors. LPC2880/LPC2888 User manual. Version 02,2007,5.

[5] 蘇蘭蘭,施偉峰.基于VISA技術(shù)的高速USB數(shù)據(jù)采集系統(tǒng).機電設(shè)備,2007,4:36~39.

[6] 余志榮,楊莉.基于NI-VISA與LabVIEW的USB接口應(yīng)用設(shè)計.單片機與嵌入式系統(tǒng)應(yīng)用,2007,1:66~69.

[7] National Instruments. USB Instrument Control Tutorial. 2007,6.

[8] 劉思久,趙蔚.實現(xiàn)USB2.0高速數(shù)據(jù)傳輸問題的探討.計算機工程與應(yīng)用.2007,43:75-77.

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉