YUE Xiaozhong,PEI Dongxing,WANG Jian
(North University of China Science and Technology on Electronic Test and Measurement Laboratory,Taiyuan 030051,China)
The Design of High-Speed Data Acquisition System Based on the USB3.0 Interface
YUE Xiaozhong,PEI Dongxing*,WANG Jian
(North University of China Science and Technology on Electronic Test and Measurement Laboratory,Taiyuan 030051,China)
To meet the problem of current existing in the explosion field measurement memory test system,the data transmission is slow and often lost some data.The high-speed data acquisition system based on USB3.0 is designed by using the data collection technology,memory test technology and parallel sampling techniques.The system achieved the high-speed parallel data acquisition with two sampling rates of up to 500 Msample/s A/D chip.It can bring the analog signal from the XX Explosion power test field to the FPGA after A/D conversion,and transmit to the PC by the USB3.0 interface.Data storage can use the time-storage technology.The design method can solved the problem of high-speed transmission and large data storage during the data collection effectively.
memory testing;USB3.0 interface;data acquisition;high-speed transmission
隨著信息技術(shù)的發(fā)展,特別是各種數(shù)字處理器處理速度的提高,在一些惡劣環(huán)境和無法實(shí)時(shí)傳輸數(shù)據(jù)的情況下,還必須使用存儲(chǔ)測(cè)試方法。人們對(duì)數(shù)據(jù)采集系統(tǒng)的要求越來越高,特別是在一些需要在極短時(shí)間內(nèi)完成大量數(shù)據(jù)采集,進(jìn)行實(shí)時(shí)處理的場(chǎng)合,對(duì)數(shù)據(jù)采集系統(tǒng)的速度提出了非常高的要求。相應(yīng)地,人們對(duì)數(shù)據(jù)采集系統(tǒng)的存儲(chǔ)能力,接口能力以及抗干擾能力也提出更高的要求,這是數(shù)據(jù)采集發(fā)展的方向。高速穩(wěn)定可靠的數(shù)據(jù)傳輸技術(shù)在高速數(shù)據(jù)采集系統(tǒng)中扮演著重要的角色,而隨著數(shù)據(jù)傳輸速度越來越快,對(duì)數(shù)據(jù)的抗干擾性的要求也越來越高,本實(shí)驗(yàn)室以前一直使用的是USB2.0接口,傳輸速率最高達(dá)到480 Mbit/s,隨著以Gbyte為單位的大容量數(shù)據(jù)傳輸要求的出現(xiàn),傳統(tǒng)的數(shù)據(jù)傳輸標(biāo)準(zhǔn)[1-2],例如RS-422,RS485,SCSI和PECL等傳輸標(biāo)準(zhǔn)己無法滿足設(shè)計(jì)高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)要求,而USB3.0技術(shù)的出現(xiàn)無疑解決了一般傳輸標(biāo)準(zhǔn)無法滿足高速數(shù)據(jù)傳輸?shù)囊蟮木嚼В?]。在諸如遙測(cè)、遙感等采集操作的數(shù)據(jù)傳輸速率高、需要采集保存的數(shù)據(jù)量大的場(chǎng)合,無法做到實(shí)時(shí)分析和處理,而必須將采集到的數(shù)據(jù)以適當(dāng)?shù)姆绞酱鎯?chǔ)起來,以便分析和處理。所以,在本設(shè)計(jì)中分時(shí)存儲(chǔ)技術(shù)使得這一問題也得到了很好的解決。本設(shè)計(jì)提出了選用USB3.0芯片CYUSB3014作為USB3.0控制芯片,不僅提高了數(shù)據(jù)傳輸?shù)乃俾蔬€能保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性與穩(wěn)定性[4]。
1.1系統(tǒng)結(jié)構(gòu)組成及工作原理
本文設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)主要包含3部分:A/D轉(zhuǎn)換器,可編程邏輯器件FPGA和USB3.0傳輸接口。A/D為系統(tǒng)的核心芯片,負(fù)責(zé)將經(jīng)過調(diào)理通道后的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。系統(tǒng)選用Aimel公司的AT84AD004模數(shù)轉(zhuǎn)換芯片。FPGA選用ATLERA公司的EPZS15F484CS,含有LVDS接收模塊可以直接與A/D轉(zhuǎn)換后的數(shù)據(jù)不需要其他的匹配直接進(jìn)行數(shù)據(jù)傳輸。FPGA主要包含一些硬件電路的設(shè)計(jì),A/D控制碼發(fā)送電路、數(shù)據(jù)轉(zhuǎn)換電路、存儲(chǔ)電路和時(shí)鐘電路。USB3.0則完成把數(shù)據(jù)高速傳輸至上位機(jī)完成處理。該高速數(shù)據(jù)采集系統(tǒng)以FPGA芯片為主控制器,其硬件上與GPIFⅡ接口相連接,通過FPGA與GPIFⅡ之間的邏輯配合,實(shí)現(xiàn)FX3同步從FIFO寫模式的數(shù)據(jù)傳輸,將數(shù)據(jù)傳輸至上位機(jī)[5]。圖1高速數(shù)據(jù)采集系統(tǒng)的硬件連接框圖。
圖1 硬件連接框圖
首先通過FPGA與GPIFⅡ的邏輯配合使得內(nèi)部電路向A/D的寄存器寫入控制字,選擇A/D的工作模式;然后FPGA內(nèi)部的鎖相環(huán)對(duì)輸入時(shí)鐘進(jìn)行倍頻,將倍頻后的時(shí)鐘送到外部的鎖相環(huán),外部鎖相環(huán)產(chǎn)生A/D轉(zhuǎn)換器的采樣時(shí),A/D開始模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換,并將轉(zhuǎn)換后的數(shù)據(jù)送入FPGA中,最后通過USB3.0傳輸至上位機(jī)[6-7]。
本設(shè)計(jì)中,模擬信號(hào)調(diào)理電路將傳感器輸出的模擬信號(hào)進(jìn)行放大、濾波等處理,因此利用ADI公司的運(yùn)放芯片AD8138將單端的模擬輸入信號(hào)轉(zhuǎn)換為差分格式的信號(hào),提供給A/D轉(zhuǎn)換器。
2.1A/D轉(zhuǎn)換模塊
系統(tǒng)的A/D轉(zhuǎn)換芯片AT84AD004也采用差分模擬輸入差分結(jié)構(gòu)對(duì)模擬輸入信號(hào)的偶次諧波有較高的抑制性,該芯片內(nèi)部含有兩個(gè)分辨率為8位,最高采樣率為500 Msample/s、信號(hào)帶寬達(dá)1 GHz的A/D轉(zhuǎn)換器,芯片集成了采樣保持器,提高了系統(tǒng)的動(dòng)態(tài)性能。芯片還有輸出數(shù)據(jù)分配器,降低對(duì)后面接口電路的要求;輸出數(shù)據(jù)格式為LVDS,而且對(duì)共模噪聲有著非常好的抑制作用,適合高速數(shù)據(jù)傳輸[8]。
A/D芯片的寄存器寫操作通過三線串行口寫入,三線串行口由串行時(shí)鐘輸入口SCLK,串行裝載使能口SLDN和串行數(shù)據(jù)輸入口SDATA構(gòu)成,該三線串行口提供了訪問A/D芯片內(nèi)部的8個(gè)只寫寄存器的路徑。利用FPGA內(nèi)部的串并轉(zhuǎn)換電路模塊對(duì)經(jīng)過LVDS接收機(jī)轉(zhuǎn)換格式后的數(shù)據(jù)進(jìn)行降速,降速系數(shù)設(shè)定為2,對(duì)數(shù)據(jù)進(jìn)行2倍降速。ADCQ[7…0]為A/D輸出的8位數(shù)據(jù),CKLQ為外部提供的差分時(shí)鐘由專用的時(shí)鐘IO口進(jìn)入,設(shè)計(jì)中需要在內(nèi)部的Megawizardplug一InManager中設(shè)置輸入的通道數(shù)目、降速系數(shù)、數(shù)據(jù)的速率。RX_Q[15…0]為2倍降速下串并轉(zhuǎn)換后得到的16 bit數(shù)據(jù)。圖2是模數(shù)轉(zhuǎn)換及數(shù)據(jù)傳輸框圖。
圖2 模數(shù)轉(zhuǎn)換及數(shù)據(jù)傳輸框圖
2.2存儲(chǔ)模塊
對(duì)于高速數(shù)據(jù)采集系統(tǒng)而言,如果采用存取速度很高的高速FIFO,必定會(huì)提高設(shè)計(jì)成本,所以考慮采用分時(shí)存儲(chǔ)的方法[9],分時(shí)存儲(chǔ)技術(shù)利用一個(gè)高速鎖存器將采集的高速數(shù)據(jù)鎖存,而后利用多個(gè)相對(duì)慢速的存儲(chǔ)器對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)以保證數(shù)據(jù)存儲(chǔ)的可靠性。由于多個(gè)靜態(tài)存儲(chǔ)器分時(shí)參與了數(shù)據(jù)存儲(chǔ)的過程,使得多個(gè)慢速靜態(tài)存儲(chǔ)器分時(shí)存儲(chǔ)操作過程進(jìn)行了疊加,其效果等效于一個(gè)高速靜態(tài)存儲(chǔ)器的操作。采用兩片F(xiàn)IFO,在不同的寫時(shí)鐘作用下,交替地將采樣數(shù)據(jù)按一定的順序?qū)懭氲絻蓚€(gè)FIFO中去。同步FIFO其特點(diǎn)為讀寫指針連續(xù)推進(jìn),可同時(shí)進(jìn)行讀寫操作,同時(shí)有空、滿、可以編程的邏輯空和可以編程的邏輯滿等標(biāo)志位信號(hào),便于和USB3.0控制器模塊進(jìn)行數(shù)據(jù)傳輸握手。圖3是分時(shí)存儲(chǔ)的設(shè)計(jì)。
圖3 分時(shí)存儲(chǔ)的設(shè)計(jì)
3.1系統(tǒng)流程介紹
軟件設(shè)計(jì)的目的是實(shí)現(xiàn)數(shù)據(jù)采集系統(tǒng)正常工作,完成了從系統(tǒng)上電開始,A/D采樣輸入信號(hào)到采樣處理數(shù)據(jù)的工作。主要包括系統(tǒng)初始化、采樣控制的選擇,而采樣控制包括A/D工作模式的選擇、時(shí)鐘的控制、數(shù)據(jù)處理。在USB3.0初始化后,需要對(duì)A/D工作模式進(jìn)行選擇,其模式選擇是通過控制FPGA內(nèi)部串行碼發(fā)送電路實(shí)現(xiàn)的。首先,通過兩次寫操作將A/D所需的19 bit碼值寫入FPGA內(nèi)部,通過內(nèi)部鎖存電路將寫入的碼值鎖存起來,然后啟動(dòng)FPGA內(nèi)部的串行碼發(fā)送電路,將19 bit串行碼值依次寫入A/D,以實(shí)現(xiàn)A/D工作模式的選擇。在A/D工作模式選擇結(jié)束后,需要對(duì)A/D采樣時(shí)鐘進(jìn)行控制,然后開放采樣時(shí)鐘觸發(fā)A/D采樣,清空FIFO,然后打開FIFO寫使能,等待數(shù)據(jù)寫入FIFO,一旦FIFO寫滿后,會(huì)產(chǎn)生一個(gè)寫滿標(biāo)志位,當(dāng)上位機(jī)檢測(cè)到該標(biāo)志位時(shí),關(guān)斷寫使能,停止FIFO寫操作,同時(shí),關(guān)斷A/D的采樣時(shí)鐘,最后開啟讀使能,讀取FIFO中存儲(chǔ)的數(shù)據(jù)。圖4是系統(tǒng)流程圖。
圖4 系統(tǒng)流程圖
3.2下位機(jī)程序設(shè)計(jì)
用于系統(tǒng)測(cè)試的外圍設(shè)備使用FPGA作為邏輯控制器,其硬件上與GPIFⅡ接口相連接,通過FPGA與GPIFⅡ之間的邏輯配合,實(shí)現(xiàn)FX3同步從FIFO寫模式的數(shù)據(jù)傳輸,將數(shù)據(jù)從存儲(chǔ)器中將數(shù)據(jù)傳輸至上位機(jī)。數(shù)據(jù)傳輸系統(tǒng)的接口時(shí)鐘是由FPGA提供的,時(shí)鐘頻率為80 MHz。設(shè)置SLWR為低電平、SLCS為低電平、PKEND為高電平、SLRD為高電平,這幾種情況同時(shí)發(fā)生的時(shí),GPIF接口可以進(jìn)行寫操作。圖5同步寫時(shí)序仿真圖。
圖5 同步寫時(shí)序仿真圖
FX3的FIFO與Socket(套接字)相關(guān)聯(lián)。GPIFⅡ一側(cè)的套接字相當(dāng)于端點(diǎn)。FX3可提供多達(dá)4個(gè)物理線程用于GPIFⅡ數(shù)據(jù)傳輸,將要使用的套接字須映射至某個(gè)線程上,這種映射由固件完成。GPIFⅡ接口上的信號(hào)A0:A1表示要訪問的線程,數(shù)據(jù)傳輸時(shí),DMA結(jié)構(gòu)將數(shù)據(jù)路由至映射到該線程上的套接字。當(dāng)A0:A1=0時(shí),數(shù)據(jù)被路由至映射到線程0的套接字1[10]。FPGA根據(jù)系統(tǒng)要求配置A1:A0線程選擇地址信號(hào)。
FLAGA和FLAGB都是FX3固件配置的標(biāo)志限號(hào),它們可以配置為空、滿、局部空或局部滿信號(hào)。這些由FX3內(nèi)部的DMA硬件引擎控制。標(biāo)志語特定的線程相關(guān)聯(lián),可顯示當(dāng)前映射至該線程的套接字狀態(tài)。標(biāo)志會(huì)在數(shù)據(jù)從套接字中讀出時(shí)只是空/非空狀態(tài),也會(huì)在數(shù)據(jù)寫入套接字時(shí)只是滿/不滿狀態(tài)。數(shù)據(jù)傳輸系統(tǒng)接口中應(yīng)用FLAGA作為當(dāng)前線程套接字的滿/不滿狀態(tài)標(biāo)志。FIFO地址由A0:A1=0確定線程0,F(xiàn)LAGA信號(hào)為高電平,表示套接字緩沖區(qū)不滿,SLCS一直為低電平使能狀態(tài),當(dāng)應(yīng)用程序通過GPIFⅡ的INT接口向FPGA發(fā)送一個(gè)高電平脈沖時(shí),SLWR下拉至低電平,數(shù)據(jù)開始從時(shí)鐘上升沿向套接字緩沖區(qū)寫入數(shù)據(jù),緊接著FX3會(huì)啟動(dòng)DMA通道,當(dāng)緩沖區(qū)被裝滿數(shù)據(jù),F(xiàn)LAGA信號(hào)下拉至低電平,相應(yīng)的DMA回調(diào)函數(shù)被調(diào)用,回調(diào)函數(shù)將數(shù)據(jù)送到U端口,然后從U端口傳送至上位機(jī)。FPGA邏輯控制程序波形仿真圖如圖6所示。
圖6 FPGA邏輯控制程序波形仿真圖
圖7是由某次靶場(chǎng)實(shí)驗(yàn)結(jié)果分析得到的記錄毀傷威力場(chǎng)中振動(dòng)加速度的變化曲線。左圖是振動(dòng)加速度曲線沖擊波完整信號(hào),右圖是數(shù)據(jù)傳輸系統(tǒng)在接口時(shí)鐘為80 MHz時(shí)測(cè)試得出的數(shù)據(jù)傳輸速率,達(dá)到了113 700 kbyte/s的超高速度,比以往使用的USB2.0接口傳輸速率更快,并且無點(diǎn)的丟失。由實(shí)驗(yàn)結(jié)果分析,在爆炸威力試驗(yàn)場(chǎng)相同距離的測(cè)點(diǎn)沖擊波到達(dá)時(shí)間基本一致[11],可以看出超壓峰值基本符合沖擊波衰減規(guī)律,完好的數(shù)據(jù)顯示了本設(shè)計(jì)的高速采集與傳輸系統(tǒng)在測(cè)試中的可靠性和實(shí)用性,也表明本數(shù)據(jù)采集系統(tǒng)可控性強(qiáng)、同步性好、數(shù)據(jù)完整,傳輸速率快,是一套成功、實(shí)用的采集系統(tǒng)。
圖7 采集數(shù)據(jù)曲線與傳輸速度速率
本設(shè)計(jì)的采集系統(tǒng)有很多優(yōu)點(diǎn),通過USB3.0接口的超高速傳輸特性進(jìn)行高速數(shù)據(jù)采集卡的設(shè)計(jì)和分時(shí)存儲(chǔ)的設(shè)計(jì),可有效地解決高速數(shù)據(jù)采集中的數(shù)據(jù)傳輸和存儲(chǔ)問題,測(cè)量結(jié)果誤差小,可信度高有利于實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)處理[12]。采用Cypress公司的USB3.0專用接口芯片CYUSB3014與FPGA連接完成了采樣數(shù)據(jù)的高速傳輸測(cè)試,經(jīng)過多次測(cè)試,USB3.0接口的準(zhǔn)確、超高速、實(shí)時(shí)等性能得到了充分的體現(xiàn)。
[1]張文棟.存儲(chǔ)測(cè)試系統(tǒng)的設(shè)計(jì)理論及其應(yīng)用[M].北京:高等教育出版社,2002:32-36.
[2]崔亮飛.USB總線技術(shù)在大容量存儲(chǔ)測(cè)試系統(tǒng)中的應(yīng)用[J].儀表技術(shù),2010(11):62-64.
[3]高振江.USB3.0通用串行接口技術(shù)[J].電子元器件應(yīng)用,2009(7):77-80.
[4]蘆艷芳,郭林.USB3.0兼容性與電源分配方案[J].電腦知識(shí)與技術(shù),2010(27):7649-7650.
[5]吳鵬,陶正蘇,胡宇貞.基于單片機(jī)USB接口的PC主機(jī)驅(qū)動(dòng)程序和應(yīng)用程序設(shè)計(jì)[J].電子器件,2005(3):612-614.
[6]劉瑞芳,丁衛(wèi)平,胡文靜,等.基于USB3.0高速數(shù)據(jù)采集系統(tǒng)的研究與設(shè)計(jì)[J].現(xiàn)代計(jì)算機(jī),2011(12):39-43.
[7]白同云.電磁兼容設(shè)計(jì)[M].北京:北京郵電大學(xué)出版社,2011.
[8]劉澤西,程晶晶,孔力.基于USB2.0接口的高速實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)[J].測(cè)控技術(shù),2007,26(2):34-37.
[9]沈蘭蓀.高速數(shù)據(jù)采集系統(tǒng)原理及應(yīng)用[M].北京:人民郵電出版社,1995:80-82.
[10]Hewlett-Packard Company,Intel Corporation,Microsoft Corporation,et al.Universal Serial Bus3.0 Specification[R].Revision 1.0,November 12,2008.
[11]仲倩.爆炸源毀傷效應(yīng)測(cè)評(píng)方法研究[D].南京理工大學(xué),2007.
[12]費(fèi)業(yè)泰.誤差理論與數(shù)據(jù)處理[M].5版.北京:機(jī)械工業(yè)出版社,2006:24-29.
岳孝忠(1987-),男,漢族,山西省呂梁市人,中北大學(xué)碩士研究生,主要研究方向?yàn)閯?dòng)態(tài)測(cè)試與智能儀器,514789733 @qq.com;
裴東興(1970-),男,教授,研究方向?yàn)閯?dòng)態(tài)測(cè)試、數(shù)據(jù)壓縮、動(dòng)態(tài)校準(zhǔn);近年獲得國防科技進(jìn)步二等獎(jiǎng)兩項(xiàng),國防科工委鑒定兩項(xiàng),通過省科委鑒定3項(xiàng),發(fā)表論文多篇,peidongxing@nuc.edu.cn。
EEACC:7210G10.3969/j.issn.1005-9490.2015.01.030
基于USB3.0接口高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
岳孝忠,裴東興*,王健
(中北大學(xué)電子測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,太原030051)
針對(duì)當(dāng)前爆炸場(chǎng)測(cè)量中存在存儲(chǔ)測(cè)試系統(tǒng)數(shù)據(jù)傳輸慢,經(jīng)常出現(xiàn)丟點(diǎn)問題,綜合運(yùn)用數(shù)據(jù)采集技術(shù)、存儲(chǔ)測(cè)試技術(shù),設(shè)計(jì)了一種基于USB3.0的高速數(shù)據(jù)采集系統(tǒng),采用并行采樣技術(shù),用兩片采樣率高達(dá)500 Msample/s的A/D芯片,實(shí)現(xiàn)高速并行數(shù)據(jù)采集,該采集系統(tǒng)將在XX爆炸威力試驗(yàn)場(chǎng)的模擬信號(hào),經(jīng)過模數(shù)轉(zhuǎn)換送入FPGA中,再通過USB3.0接口高速傳輸給上位機(jī),數(shù)據(jù)存儲(chǔ)采用分時(shí)存儲(chǔ)技術(shù);該設(shè)計(jì)方法有效地解決了大容量數(shù)據(jù)采集過程中的數(shù)據(jù)的高速傳輸和存儲(chǔ)問題。
存儲(chǔ)測(cè)試;USB3.0接口;數(shù)據(jù)采集;高速傳輸
TP334.7
A文獻(xiàn)標(biāo)識(shí)碼:1005-9490(2015)01-0140-04
2014-01-10修改日期:2014-02-20