亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于USB 3.0的高速數(shù)據(jù)回讀系統(tǒng)設(shè)計(jì)

        2021-04-01 10:51:32趙計(jì)賀張德彪李金強(qiáng)
        關(guān)鍵詞:設(shè)備

        趙計(jì)賀,李 杰,張德彪,李金強(qiáng)

        (1.中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051;2.山東航天電子技術(shù)研究所,山東 煙臺(tái) 264000)

        0 引 言

        導(dǎo)彈具有遠(yuǎn)距離、精準(zhǔn)打擊的作戰(zhàn)能力,在現(xiàn)代化國(guó)防建設(shè)中的地位日益提升.在導(dǎo)彈研制成功后需要進(jìn)行外場(chǎng)飛行測(cè)試試驗(yàn)評(píng)估其真實(shí)性能.為了獲取彈體飛行狀態(tài),消除可能存在的隱患及進(jìn)行故障診斷,試驗(yàn)中采用基于存儲(chǔ)測(cè)試技術(shù)的多通道高速數(shù)據(jù)記錄儀提供有力的數(shù)據(jù)支撐[1-2].為了可以及時(shí)處理和分析試驗(yàn)中存儲(chǔ)的大量數(shù)據(jù),需要高速回讀系統(tǒng)將數(shù)據(jù)從存儲(chǔ)器傳輸至上位機(jī)[3].

        現(xiàn)場(chǎng)可編程門陣列(FPGA)在靈活性、并行性方面有著其它芯片所不具備的優(yōu)勢(shì),被廣泛地應(yīng)用在數(shù)據(jù)采集存儲(chǔ)、網(wǎng)絡(luò)傳輸?shù)确矫鎇4-5].FPGA可以與存儲(chǔ)器高速傳輸,但FPGA實(shí)現(xiàn)USB協(xié)議極其困難,不能直接與上位機(jī)進(jìn)行通信[6].

        由于USB 3.0物理接口比USB 2.0多出兩組超高速傳輸差分對(duì),USB 3.0的最大傳輸速度理論值可達(dá)500 MB/s,是USB 2.0最大傳輸速度60 MB/s 的8倍[7-8].CYUSB3014是CYPRESS(賽普拉斯)公司推出的一款USB 3.0控制器,提供了集成且靈活的功能.FPGA通過CYUSB3014內(nèi)部提供的第二代通用可編程接口(GPIF II)以讀寫先進(jìn)先出(FIFO)的方式進(jìn)行雙向通信.

        本系統(tǒng)采用CYUSB3014在FPGA和上位機(jī)之間傳輸數(shù)據(jù)后,傳輸速度大幅度提高.FPGA向上位機(jī)發(fā)送數(shù)據(jù)的速度達(dá)到346.23 MB/s,上位機(jī)以116.56 MB/s的速度將數(shù)據(jù)寫進(jìn)硬盤.與USB 2.0相比,傳輸速度提升了286.23 MB/s.

        1 整體設(shè)計(jì)

        整體設(shè)計(jì)框圖如圖1 所示.使用C#語言編寫上位機(jī)界面,通過托管Microsoft.NET類庫(kù)CyUSB.dll所提供的方法和屬性調(diào)用底層驅(qū)動(dòng)CyUSB.sys訪問CYUSB3014.

        圖1 整體設(shè)計(jì)框圖

        USB3014內(nèi)部使用自動(dòng)直接內(nèi)存訪問(DMA)通道,USB模塊與GPIF II模塊的數(shù)據(jù)流通過DMA緩沖區(qū)相連,USB套接字與GPIF套接字之間互發(fā)信號(hào)通知DMA緩沖區(qū)空滿.根據(jù)CYUSB3014提供的GPIF II時(shí)序要求,使用Verilog HDL編寫FPGA程序讀寫數(shù)據(jù)流.

        2 硬件設(shè)計(jì)

        2.1 電源去耦

        電源去耦的重要作用是能夠保證在供電過程中,盡量減少系統(tǒng)噪聲對(duì)數(shù)據(jù)傳輸造成的影響[9].濾波電容為系統(tǒng)噪聲提供一條低阻抗回路,在噪聲頻點(diǎn)上,濾波效果與濾波電容阻抗大小成反比.

        電容器件除了電容分量還摻雜其它分量,它可以等效為電容與并聯(lián)泄漏電阻(Rleak)并聯(lián),再與等效串聯(lián)電阻(ESR)、等效串聯(lián)電感(ESL)串聯(lián).其中ESL主要取決于類型和封裝,ESR主要取決于電容工作溫度、頻率及本身的導(dǎo)線電阻,Rleak主要由電容本身特有的泄漏特性決定.電容、ESR、ESL分量和泄漏特性共同決定了電容特性.

        電容阻抗的計(jì)算公式為

        (1)

        式中:Z為阻抗;R為ESR阻值;f為頻率;L為ESL感值;C為容值.根據(jù)式(1)可知,電容整體阻抗表現(xiàn)為:達(dá)到諧振點(diǎn)時(shí),電容分量與ESL分量抵消,阻抗最小,濾波效果最佳;在諧振點(diǎn)前,電容分量起主要作用,隨頻率的增加,濾波效果增強(qiáng);在諧振點(diǎn)后,ESL分量起主要作用,隨頻率增加,濾波效果減弱.對(duì)于村田4 700 nF、0603封裝的電容,ESL為0.287 7 nH,ESR為0.073 53 Ω,其阻抗大小如圖2 所示.

        圖2 濾波電容阻抗

        設(shè)計(jì)中,系統(tǒng)噪聲等干擾占據(jù)了一段頻帶,而不是單一的頻率點(diǎn).在實(shí)際工作中,把每一處的噪聲頻帶找出來費(fèi)時(shí)費(fèi)力,系統(tǒng)電路設(shè)計(jì)過程中,主要關(guān)注的噪聲頻帶為0 MHz~100 MHz.使用兩個(gè)不同的電容構(gòu)造在頻率為100 MHz內(nèi)的低阻抗回路中.

        2.2 時(shí)鐘設(shè)計(jì)

        時(shí)鐘電路對(duì)數(shù)據(jù)傳輸質(zhì)量起著至關(guān)重要的作用[10].RC振蕩電路的頻率穩(wěn)定度可達(dá)到10-3,LC振蕩電路的頻率穩(wěn)定度可達(dá)到10-4,而石英晶體的品質(zhì)因數(shù)遠(yuǎn)高于RC、LC振蕩電路,頻率穩(wěn)定度至少可達(dá)到10-9.本設(shè)計(jì)選用19.2 MHz的石英晶體振蕩器為CYUSB3014提供時(shí)鐘.

        晶振提供正確的時(shí)鐘源,負(fù)載電容起著重要的作用,必須慎重選擇.晶振負(fù)載電容為

        (2)

        式中:CL為晶振負(fù)載電容,根據(jù)晶體器件資料,該晶體要求CL=9 pF;C1,C2為外部電容,一端連晶振引腳,另一端接地;CS為電路板晶振兩引腳走線間的寄生電容,一般在2 pF~5 pF之間,本文CS=3 pF.取C1=C2,根據(jù)式(2)計(jì)算得,C1=C2=12 pF.

        晶振的另一個(gè)重要參數(shù)是功耗.使用的晶振驅(qū)動(dòng)電平與功耗相比過小,會(huì)加速該晶振老化.晶振功耗的計(jì)算公式為

        P=2[πf(C0+CL)Vx]2R,

        (3)

        式中:f為晶振頻率;C0為晶振中并聯(lián)電容;CL為晶振負(fù)載電容;Vx為晶振OUT引腳的最大電壓;R為晶振等效串聯(lián)電阻.針對(duì)NDK公司的NX3225SA型晶振,根據(jù)提供的資料可知,功耗為10 μW,R為80 Ω,C0為1.26 pF,Vx為1.32 V,通過式(3)計(jì)算得驅(qū)動(dòng)電平為107 μW,符合設(shè)計(jì)要求.

        3 CYUSB3014控制原理

        CYUSB3014擁有高性能且獨(dú)立于ARM9可提供256種可編程狀態(tài)狀態(tài)機(jī)的GPIF II.GPIF II最高支持100 MHz頻率,且支持8位、16位、24位和32位并行數(shù)據(jù)總線.將GPIF II作為同步從設(shè)備FIFO與FPGA連接.

        圖3 為同步從設(shè)備接口框圖.SLCS#為芯片選擇信號(hào),低電平有效;PKTEND#為寫入數(shù)據(jù)包信號(hào),低電平有效;FLAGA、FLAGB、FLAGC、FLAGD標(biāo)志套接字狀態(tài);A[1:0]為從設(shè)備的地址總線,與GPIF II的4個(gè)線程相對(duì)應(yīng);DQ[31:0]為32位雙向數(shù)據(jù)總線;SLWR#為寫入信號(hào),低電平有效;SLRD#為讀取信號(hào),低電平有效;SLOE#為輸出使能信號(hào),低電平時(shí),才能對(duì)從設(shè)備FIFO進(jìn)行讀取操作;PCLK為同步時(shí)鐘輸入信號(hào).

        圖3 同步從設(shè)備FIFO接口框圖

        系統(tǒng)設(shè)計(jì)選用自動(dòng)DMA通道,在GPIF線程、套接字和由DMA描述符控制的DMA緩沖區(qū)之間傳輸數(shù)據(jù).GPIF II 狀態(tài)機(jī)必須根據(jù)內(nèi)部控制信號(hào)或外部輸入選擇一個(gè)有效的 GPIF 線程用于數(shù)據(jù)傳輸.套接字的功能是連接外設(shè)硬件模塊與RAM.DMA描述符用于記錄DMA緩沖區(qū)的地址和大小,并指向下一個(gè)DMA描述符的指針.DMA緩沖區(qū)用于暫時(shí)存儲(chǔ)發(fā)送套接字和接收套接字之間的數(shù)據(jù).

        如圖4 所示,套接字根據(jù)DMA描述符列表傳輸數(shù)據(jù).套接字加載DMA描述符1,獲取緩沖區(qū)的地址(A1)、大小(L)和下個(gè)描述符的地址.傳輸L個(gè)字節(jié)后,加載DMA描述符2獲取信息,傳輸L個(gè)字節(jié),加載DMA描述符3獲取信息,傳輸L個(gè)字節(jié),加載DMA描述符1,如此反復(fù)循環(huán).

        圖4 套接字傳輸數(shù)據(jù)示意圖

        由于RAM提供的緩沖空間不足以支持同時(shí)具有8個(gè)緩沖區(qū)大小為16×1 024的兩個(gè)通道,且FPGA向上位機(jī)發(fā)送數(shù)據(jù)量大,上位機(jī)只需向FPGA發(fā)送少量命令,所以,將上傳通道使用8個(gè)緩沖區(qū),下傳通道使用4個(gè)緩沖區(qū),以增強(qiáng)系統(tǒng)高吞吐量性能.

        4 控制邏輯設(shè)計(jì)

        4.1 從設(shè)備FIFO接口時(shí)序

        圖5 為從設(shè)備FIFO寫時(shí)序圖.固件配置FLAGA為An對(duì)應(yīng)線程專用標(biāo)志,配置的發(fā)送套接字編號(hào)必須與An對(duì)應(yīng).在寫入數(shù)據(jù)之前,應(yīng)保證FIFO地址穩(wěn)定及SLCS#激活.在SLWR#有效后的PCLK上升沿來時(shí),數(shù)據(jù)總線DQ上的值被寫入FIFO并更新FIFO指針.寫傳輸結(jié)束時(shí),F(xiàn)LAGA始終會(huì)延遲3個(gè)周期更新,在最后一次激活SLWR#后的第4個(gè)PCLK上升沿來臨時(shí),若FLAGA處于低電平表示緩沖區(qū)已滿.

        圖5 從設(shè)備FIFO寫時(shí)序

        圖6 為從設(shè)備FIFO讀時(shí)序圖.

        圖6 從設(shè)備FIFO讀時(shí)序

        固件配置FLAGB為Am對(duì)應(yīng)線程專用標(biāo)志,配置的接收套接字編號(hào)必須與Am對(duì)應(yīng).讀取數(shù)據(jù)時(shí),應(yīng)保證FIFO地址穩(wěn)定且SLCS#、SLOE#激活.在FIFO輸入地址后的第3個(gè)PCLK上升沿及激活SLRD#后的第2個(gè)PCLK上升沿,才可以讀取數(shù)據(jù)總線DQ上的值,即激活SLRD#必須至少比輸入地址時(shí)刻遲1個(gè)時(shí)鐘周期.讀傳輸結(jié)束時(shí),F(xiàn)LAGB始終延遲2個(gè)周期更新,在最后一次激活SLRD#后的第3個(gè)PCLK上升沿來臨時(shí),若FLAGB處于低電平表示緩沖區(qū)已空.

        4.2 局部標(biāo)志

        局部標(biāo)志有效解決了線程標(biāo)志更新有延遲會(huì)導(dǎo)致緩沖區(qū)溢出或讀空還在讀的問題.對(duì)于從設(shè)備FIFO讀寫時(shí),通過固件配置水印值的公式為

        (4)

        (5)

        式中:wrnum為時(shí)鐘上升沿對(duì)局部標(biāo)志采樣為低電平后將要寫入的數(shù)據(jù)量;rdnum為時(shí)鐘上升沿對(duì)局部標(biāo)志采樣為低電平后將要讀取的數(shù)據(jù)量;watermark為固件配置的水印值,32位寬;buswidth為使用的數(shù)據(jù)總線位寬.

        對(duì)于從設(shè)備FIFO寫入數(shù)據(jù)且32位數(shù)據(jù)總線,設(shè)置水印值為6,當(dāng)局部標(biāo)志變?yōu)榈碗娖綍r(shí),表示FIFO繼續(xù)寫入6個(gè)數(shù)據(jù)就會(huì)滿,而局部標(biāo)志始終延遲3個(gè)時(shí)鐘,應(yīng)在第4個(gè)上升沿采樣,所以當(dāng)前FIFO實(shí)際上再寫入2個(gè)數(shù)據(jù)就會(huì)滿.對(duì)于從設(shè)備FIFO讀取數(shù)據(jù)且32位數(shù)據(jù)總線,設(shè)置水印值為5,局部標(biāo)志變?yōu)榈碗娖綍r(shí),再讀取5個(gè)數(shù)據(jù)就會(huì)空,而局部始終延遲2個(gè)時(shí)鐘,應(yīng)該在第3個(gè)上升沿采樣,而讀取數(shù)據(jù)延遲命令2個(gè)時(shí)鐘,即讀取4個(gè)數(shù)據(jù)FIFO就會(huì)空.

        4.3 狀態(tài)機(jī)設(shè)計(jì)

        圖7 為系統(tǒng)狀態(tài)機(jī).配置FLAGA為線程0的專用滿標(biāo)志,F(xiàn)LAGB為線程0水印值6的局部滿標(biāo)志,F(xiàn)LAGC為線程3的專用空標(biāo)志,F(xiàn)LAGD為線程3水印值6的局部空標(biāo)志.FPGA上電后處于空閑狀態(tài),設(shè)置地址A[1:0]=3,在FLAGC與FLAGD都為高電平后,激活SLWR#及SLOE#讀取數(shù)據(jù),等待 FLAGD為低電平,根據(jù)式(4)將FIFO中的數(shù)據(jù)讀空.

        圖7 系統(tǒng)狀態(tài)機(jī)

        收到的數(shù)據(jù)是讀取數(shù)據(jù)命令后,設(shè)置地址A[1:0]=0后根據(jù)FLAGA、FLAGB標(biāo)志判斷FIFO滿,若滿就要等待,非滿就發(fā)送32位遞增數(shù),計(jì)數(shù)到232-1時(shí)停止發(fā)送并返回空閑狀態(tài).發(fā)送過程中,采樣FLAGB為低電平時(shí),根據(jù)式(5)寫滿FIFO,等待FIFO處于非滿狀態(tài)時(shí),繼續(xù)寫入數(shù)據(jù).

        4.4 上位機(jī)設(shè)計(jì)

        在Visual Studio編譯環(huán)境使用C#語言編寫上位機(jī).在程序中引用賽普拉斯為USB設(shè)備提供高級(jí)編程接口的托管Microsoft.NET類庫(kù)CYUSB.dll與CYUSB3014通信.在調(diào)用USBDeviceList類返回使用cyusb3.sys的設(shè)備列表中查找VID=0x04B4,PID=0x00F1的設(shè)備后復(fù)位,在上位機(jī)界面顯示查找設(shè)備及復(fù)位設(shè)備的結(jié)果.

        調(diào)用XferData方法接收或發(fā)送數(shù)據(jù),可實(shí)現(xiàn)同步阻塞數(shù)據(jù)流,數(shù)據(jù)傳輸完成或超時(shí)前不會(huì)返回值.使用大量輸入端點(diǎn)XferData方法每次從緩沖區(qū)讀取1 MB數(shù)據(jù),以二進(jìn)制文件形式進(jìn)行存儲(chǔ),直至緩沖區(qū)無數(shù)據(jù).C#是面向?qū)ο蟮奶峁┝藦?qiáng)大功能的高級(jí)程序設(shè)計(jì)語言,但由于中間語言和編譯過程沒有C語言效率高,為能夠高速將數(shù)據(jù)存儲(chǔ)在硬盤,引用C語言中的fwrite函數(shù)寫文件.

        5 實(shí) 驗(yàn)

        利用上位機(jī)讀取大小為1 000 M的二進(jìn)制文件,通過CYUSB3014發(fā)給FPGA,F(xiàn)PGA將收到的數(shù)據(jù)返回至上位機(jī),上位機(jī)把收到的數(shù)據(jù)寫入文件.上位機(jī)逐字節(jié)讀取原始文件和新寫文件,對(duì)文件大小和內(nèi)容進(jìn)行比較,未發(fā)現(xiàn)大小和內(nèi)容不同,即傳輸過程中無錯(cuò)幀、丟幀現(xiàn)象發(fā)生.

        FPGA與CYUSB3014的接口頻率為100 MHz、數(shù)據(jù)總線為32位.FPGA向上位機(jī)發(fā)送228個(gè)遞增數(shù),每個(gè)遞增數(shù)占4個(gè)字節(jié),上位機(jī)顯示開始傳輸和傳輸結(jié)束的時(shí)間.經(jīng)計(jì)算,CYUSB3014傳輸速度達(dá)到346.23 MB/s.

        上位機(jī)發(fā)出讀取數(shù)據(jù)命令后,等待接收FPGA發(fā)送的數(shù)據(jù)且將數(shù)據(jù)以二進(jìn)制文件的形式存儲(chǔ)在固態(tài)硬盤中.上位機(jī)顯示數(shù)據(jù)傳輸?shù)拈_始、結(jié)束時(shí)間和已經(jīng)寫入文件的數(shù)據(jù)量,經(jīng)測(cè)試,上位機(jī)接收數(shù)據(jù)并以二進(jìn)制文件形式寫入固態(tài)硬盤的速度為116.56 MB/s,如圖8 所示.

        圖8 上位機(jī)界面

        6 結(jié) 語

        系統(tǒng)利用CYUSB3014自身接口在FPGA與上位機(jī)之間進(jìn)行雙向高速傳輸數(shù)據(jù),彌補(bǔ)了FPGA與上位機(jī)不能直接通信的缺點(diǎn),有一定的工程價(jià)值.通過C#編寫的上位機(jī)引用C語言寫文件函數(shù),將接收的數(shù)據(jù)以116.56 MB/s的速度以二進(jìn)制文件形式存儲(chǔ)固態(tài)硬盤,便于對(duì)數(shù)據(jù)進(jìn)行處理.

        猜你喜歡
        設(shè)備
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        調(diào)試新設(shè)備
        基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
        基于MPU6050簡(jiǎn)單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        廣播發(fā)射設(shè)備中平衡輸入與不平衡輸入的轉(zhuǎn)換
        電子制作(2018年10期)2018-08-04 03:24:48
        食之無味,棄之可惜 那些槽點(diǎn)滿滿的可穿戴智能設(shè)備
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        HTC斥資千萬美元入股虛擬現(xiàn)實(shí)設(shè)備商WEVR
        Automechanika Shanghai 2014 之“看” 汽保設(shè)備篇
        如何在設(shè)備采購(gòu)中節(jié)省成本
        性夜影院爽黄a爽在线看香蕉| 久久中文字幕av第二页| 久久少妇高潮免费观看| 九九九免费观看视频| 欧美一区二区三区激情| 樱花AV在线无码| 国产一区二区三区资源在线观看| 亚洲最大视频一区二区三区| 黄射视频在线观看免费| 国产aⅴ无码专区亚洲av麻豆 | 亚洲 日韩 在线精品| 97超碰国产一区二区三区| 无遮挡很爽很污很黄的女同| 中文字幕人妻被公上司喝醉| 国产99re在线观看只有精品| 久久久亚洲精品蜜臀av| 国内自拍情侣露脸高清在线| 大屁股流白浆一区二区三区| 日本又色又爽又黄的a片18禁| 88久久精品无码一区二区毛片| 国产又黄又大又粗视频| 无码中文字幕久久久久久| 亚洲天堂亚洲天堂亚洲色图| 又嫩又硬又黄又爽的视频| 中文乱码人妻系列一区二区| 久久青青草视频免费观看| 中文字幕隔壁人妻欲求不满| 国产探花在线精品一区二区| 国产xxxxx在线观看免费| 国产女主播福利一区二区| 免费国产在线精品一区| 亚洲日韩乱码中文无码蜜桃臀| 青青草视频网站免费观看| 日韩av一区二区不卡在线| 欧美人牲交| 国产成人影院一区二区| 美女偷拍一区二区三区| 国产精品沙发午睡系列| 国产性一交一乱一伦一色一情| 亚洲精品理论电影在线观看| 久久久亚洲成年中文字幕|