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

        ?

        基于FPGA的高速USB協(xié)議分析儀的設(shè)計(jì)

        2016-09-23 06:33:21張靜葉小芹
        綏化學(xué)院學(xué)報(bào) 2016年9期
        關(guān)鍵詞:外設(shè)分析儀總線(xiàn)

        張靜 葉小芹

        (河海大學(xué)文天學(xué)院 安徽馬鞍山 243031)

        基于FPGA的高速USB協(xié)議分析儀的設(shè)計(jì)

        張靜葉小芹

        (河海大學(xué)文天學(xué)院安徽馬鞍山243031)

        USB協(xié)議分析儀是一種用于分析和監(jiān)控USB總線(xiàn)協(xié)議的儀器,它包括采集主機(jī)及分析軟件兩個(gè)部分??捎糜赨SB驅(qū)動(dòng)開(kāi)發(fā)、協(xié)議棧調(diào)試、協(xié)議符合性測(cè)試及總線(xiàn)性能分析等多個(gè)方面。針對(duì)現(xiàn)有的分析儀價(jià)格昂貴、采樣丟包和無(wú)法進(jìn)行長(zhǎng)時(shí)間采集數(shù)據(jù)等問(wèn)題,設(shè)計(jì)了一種基于FPGA的高速USB協(xié)議分析儀,實(shí)現(xiàn)了對(duì)高速、全速和低速差分信號(hào)的實(shí)時(shí)采樣和分析,利用硬件的并發(fā)處理特性克服了采樣丟包的問(wèn)題,而且內(nèi)嵌大容量SDRAM,使得長(zhǎng)時(shí)間采集數(shù)據(jù)成為可能,并且設(shè)計(jì)成本低。

        USB協(xié)議分析儀;FPGA;通用串行總線(xiàn);USB控制器

        USB總線(xiàn)由于其通用性、高速性和即插即用等特性,成為計(jì)算機(jī)不可或缺的接口[1]。USB總線(xiàn)采用串行的一對(duì)差分線(xiàn)進(jìn)行信號(hào)傳輸,并采用NRZI進(jìn)行編碼,加上USB協(xié)議本身的復(fù)雜性。使得開(kāi)發(fā)USB主機(jī)控制器和USB設(shè)備的難度較大,周期較長(zhǎng)。而且USB設(shè)備種類(lèi)繁多,其測(cè)試和后期的維修問(wèn)題也日益突出[2]。而且現(xiàn)有的USB高速協(xié)議分析儀存在價(jià)格昂貴和采樣丟包的問(wèn)題,很難滿(mǎn)足開(kāi)發(fā)的需求。

        本文設(shè)計(jì)了一種高速USB協(xié)議分析儀,在不影響主機(jī)和被測(cè)設(shè)備通信的前提下,捕獲USB總線(xiàn)的信號(hào),重新打包并保存在SDRAM存儲(chǔ)器中。由MCU控制USB控制器,通過(guò)DMA方式,將SDRAM中保存的數(shù)據(jù)上傳至計(jì)算機(jī),利用軟件將上傳的數(shù)據(jù)進(jìn)行解析并顯示出來(lái)。當(dāng)監(jiān)控主機(jī)的上傳速率低于被監(jiān)測(cè)的外設(shè)時(shí),數(shù)據(jù)可以暫存SDRAM中,等監(jiān)控主機(jī)空閑時(shí)上傳數(shù)據(jù),這樣可以防止丟包。文獻(xiàn)[3]中采用高速差分放大器AD8352對(duì)差分信號(hào)進(jìn)行處理后由USB物理層接口芯片進(jìn)行采樣,主要為了引入大阻抗,以免干擾要采集的總線(xiàn)信號(hào)。本文直接采用USB3500芯片,并將之設(shè)置為無(wú)負(fù)載模式,便可實(shí)現(xiàn)上述文中要達(dá)到的目的,且硬件電路更簡(jiǎn)單,更穩(wěn)定。而且文獻(xiàn)[3]選用8K*4字節(jié)的FIFO作為數(shù)據(jù)緩沖,緩沖能力十分有限,很容易丟失數(shù)據(jù)。而廣州致遠(yuǎn)電子有限公司獨(dú)立設(shè)計(jì)的USB分析儀最大只能存儲(chǔ)512M字節(jié)的數(shù)據(jù),本文由于采用了動(dòng)態(tài)存儲(chǔ)的設(shè)計(jì)[4],適合長(zhǎng)時(shí)間數(shù)據(jù)采集,存儲(chǔ)數(shù)據(jù)的大小并不受限制,具有明顯的優(yōu)勢(shì)。

        一、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

        系統(tǒng)框圖如圖1所示,通過(guò)USB3500芯片采集數(shù)據(jù),將采集到的經(jīng)過(guò)NRZI編碼的串行數(shù)據(jù)去位填充,轉(zhuǎn)換成并行數(shù)據(jù)輸入到FPGA中。在FPGA中將數(shù)據(jù)重新打包,并進(jìn)行CRC檢驗(yàn),將數(shù)據(jù)的CRC等信息加入到新的包中,然后保存在外部的SDRAM中,F(xiàn)PGA控制USB控制器通過(guò)DMA的方式[5-7],將SDRAM中的數(shù)據(jù)讀到USB控制器的內(nèi)部FIFO中。ISP1582內(nèi)部具有8KB的緩沖空間,并支持DMA模式。

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

        二、關(guān)鍵技術(shù)

        (一)數(shù)據(jù)采集。數(shù)據(jù)采集端采用USB物理層芯片USB3500進(jìn)行采集,USB3500可配置成高速、全速和低速模式。所以該分析儀可以檢測(cè)這三種類(lèi)型的外設(shè),并將外設(shè)類(lèi)型上傳給監(jiān)控主機(jī)。FPGA中的邏輯可以自動(dòng)判斷被監(jiān)測(cè)的設(shè)備的類(lèi)型。數(shù)據(jù)采集的關(guān)鍵點(diǎn)是將USB3500的DP和DM上的所有負(fù)載全部去除,以免干擾被監(jiān)測(cè)設(shè)備與主機(jī)之間通信。具體方式是將OPMODE引腳的狀態(tài)設(shè)置為01,表示移除所有終端負(fù)載。USB3500的接口符合UTMI協(xié)議,無(wú)論USB3500設(shè)置成高速、全速或低速模式,USB3500的輸出時(shí)鐘CLKOUT一直是60MHz,F(xiàn)PGA利用該時(shí)鐘采樣輸入的數(shù)據(jù),只有RXVALID引腳有效時(shí),采集到的數(shù)據(jù)才有效。時(shí)序圖如圖2所示。USB3500的LINESTATE引腳輸出總線(xiàn)上的狀態(tài),根據(jù)該引腳獲取復(fù)位、掛起和喚醒等信息。

        圖2 USB3500輸出信號(hào)時(shí)序圖

        (二)FPGA控制邏輯設(shè)計(jì)。FPGA的控制邏輯主要?jiǎng)澐譃樗膫€(gè)模塊,分別為UTMI接口模塊、數(shù)據(jù)打包模塊、SDRAM控制器模塊和USB控制器控制模塊,結(jié)構(gòu)框圖如圖3所示。

        圖3 FPGA內(nèi)部邏輯框圖

        UTMI接口模塊的功能是采集USB3500輸出的數(shù)據(jù),包括總線(xiàn)狀態(tài)和數(shù)據(jù),同時(shí)通過(guò)采集總線(xiàn)的狀態(tài)來(lái)判斷外設(shè)類(lèi)型,高速外設(shè)接入的時(shí)候和主機(jī)有一個(gè)握手過(guò)程,如果能檢測(cè)到握手信號(hào),則表明是高速外設(shè)。全速外設(shè)和低速的空閑時(shí)的線(xiàn)上狀態(tài)不一樣來(lái)區(qū)分。當(dāng)獲取到外設(shè)類(lèi)型后,將USB3500的引腳(XCVRSEL、TERMSEL)配置為相應(yīng)的狀態(tài)。

        數(shù)據(jù)打包模塊的功能是計(jì)算數(shù)據(jù)的CRC狀態(tài),包的大小以及包與包之間的時(shí)間間隔信息。并將這些信息和數(shù)據(jù)重新打包上傳給監(jiān)控主機(jī),便于分析。

        SDRAM控制器模塊的功能是將數(shù)據(jù)打包模塊的數(shù)據(jù)寫(xiě)入到外部的SDRAM存儲(chǔ)器中,同時(shí)將該數(shù)據(jù)讀出發(fā)送給外部的USB控制器,并完成SDRAM的刷新。由于SDRAM在刷新的時(shí)候,禁止任何寫(xiě)入和讀出,所以前后加緩存,以便于在SDRAM刷新的時(shí)候暫存數(shù)據(jù)[8-10]。

        USB控制模塊主要完成USB分析儀接入的時(shí)候的枚舉工作,同時(shí)當(dāng)監(jiān)控主機(jī)請(qǐng)求數(shù)據(jù)的時(shí)候,利用SDRAM控制器模塊從SDRAM中讀取數(shù)據(jù),通過(guò)DMA接口寫(xiě)入到ISP1582內(nèi)置的緩存空間,由USB控制器上傳至監(jiān)控主機(jī)。

        三、系統(tǒng)實(shí)現(xiàn)及仿真

        系統(tǒng)采用ALTERA公司CYCLONE系列FPGA芯片EP1C12,內(nèi)置約24KB的SRAM和12000左右的邏輯單元,符合用于設(shè)計(jì)該分析儀的要求,而且成本較低。USB控制器采用恩智浦的ISP1582芯片,利用FPGA對(duì)其進(jìn)行配置即可,縮短了開(kāi)發(fā)周期,保證系統(tǒng)的穩(wěn)定性。采用海力士的SDRAM芯片,容量為256Mbit。整個(gè)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn)。

        采用QuartusII結(jié)合modelsim仿真軟件進(jìn)行仿真。圖4的仿真波形是數(shù)據(jù)采集端的仿真,采集到的USB3500輸出的數(shù)據(jù),然后加上包與包之間的間隔時(shí)間,以及整個(gè)包的長(zhǎng)度大小,然后寫(xiě)入到SRAM中,這樣就完成了協(xié)議的打包。圖5給出的波形是將SRAM中的數(shù)據(jù)寫(xiě)入SDRAM中,圖中可以看出SDRAM的刷新時(shí)序以及讀寫(xiě)時(shí)序,采用的是頁(yè)突發(fā)模式進(jìn)行的讀寫(xiě)操作。

        本文采用兩種方式對(duì)系統(tǒng)進(jìn)行了測(cè)試。方式一采用兩臺(tái)windows計(jì)算機(jī),均配有高速USB主機(jī),分別作為監(jiān)控主機(jī)和測(cè)試主機(jī),采用高速U盤(pán)作為被測(cè)設(shè)備。當(dāng)高速U盤(pán)復(fù)制文件的速度為21MBps時(shí),監(jiān)控主機(jī)的速度為24MBps,分析可知監(jiān)控主機(jī)的數(shù)據(jù)不僅包含被測(cè)設(shè)備的數(shù)據(jù)流,還存在該HUB下其他設(shè)備的部分?jǐn)?shù)據(jù),且上傳至監(jiān)控主機(jī)的數(shù)據(jù)是經(jīng)過(guò)重新打包,因此數(shù)據(jù)量比較大。這種情況下,SDRAM的利用率比較低,因?yàn)椴杉降臄?shù)據(jù)都及時(shí)上傳至監(jiān)控主機(jī)。方式二采用一臺(tái)裝有windows系統(tǒng)并含有高速USB主機(jī)的計(jì)算機(jī),同時(shí)作為監(jiān)控主機(jī)和測(cè)試主機(jī),被測(cè)設(shè)備同樣為高速U盤(pán)。這種情況下,偶爾會(huì)出現(xiàn)監(jiān)控主機(jī)的速率低于被測(cè)設(shè)備,主要因?yàn)榇藭r(shí)監(jiān)控所得到的總線(xiàn)資源較少,數(shù)據(jù)會(huì)在SDRAM中堆積,此時(shí)該方案的優(yōu)勢(shì)就比較明顯,數(shù)據(jù)不會(huì)丟失。由此可見(jiàn),本文設(shè)計(jì)的高速USB分析儀有效地解決了采樣丟包的情況。

        圖4 數(shù)據(jù)打包時(shí)序圖

        圖5 SDRAM控制時(shí)序圖

        四、結(jié)語(yǔ)

        本文設(shè)計(jì)的高速USB協(xié)議分析儀,利用USB物理層芯片USB3500進(jìn)行數(shù)據(jù)采集,硬件電路簡(jiǎn)單。為了防止監(jiān)控主機(jī)的上傳速率低于被監(jiān)測(cè)的外設(shè),采用一個(gè)大容量的SDRAM作為緩存,有效得防止了丟包的情況,同時(shí)利用FPGA的并行處理特性,保證了采集數(shù)據(jù)的準(zhǔn)確性。本系統(tǒng)具有硬件電路簡(jiǎn)單,成本較低的特點(diǎn),為USB相關(guān)設(shè)備的開(kāi)發(fā)、調(diào)試和測(cè)試提供了便利的途徑。

        [1]劉愛(ài)東,張永強(qiáng),楊健,等.USB設(shè)備互連通信協(xié)議設(shè)計(jì)[J].電光與控制,2011,18(1):69-72.

        [2]高強(qiáng),冉全,羅媛媛,等.USB總線(xiàn)協(xié)議層的研究[J].軟件導(dǎo)刊,2010,9(10):28-30.

        [3]胡偉,張新家,李美峰,等.基于FPGA的USB2.0協(xié)議分析儀設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2008,16(9):1353-1355.

        [4]呂暉,謝向輝.同時(shí)基于預(yù)知信息和預(yù)測(cè)機(jī)制的SDRAM動(dòng)態(tài)頁(yè)策略[J].計(jì)算機(jī)工程與科學(xué),2015,37(12):2208-2215.

        [5]李寶將,張小軍,田應(yīng)洪,等.USB接口的FPGA實(shí)現(xiàn)[J].微電子學(xué),2010,40(5):689-692.

        [6]冉全,錢(qián)環(huán)環(huán).基于FPGA的USB控制器IP核設(shè)計(jì)[J].兵工自動(dòng)化,2008,27(4):88-89.

        [7]Tang D.USB controller with intelligent transmission mode switching function and the operating method thereof:U.S.Patent 7,185,132[P].2007-02-27.

        [8]張富貴,陳宇熠,吳雪梅,等.SDRAM控制器的FPGA設(shè)計(jì)及驗(yàn)證[J].中國(guó)農(nóng)機(jī)化學(xué)報(bào),2013,34(5):238-242.

        [9]任興暉,陳永超,石浩,等.基于FPGA的SDRAM控制器的設(shè)計(jì)[J].電子質(zhì)量,2014(1):11-15.

        [10]于明,高劍.SDRAM控制器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)試,2014(1):63-67.

        [責(zé)任編輯鄭麗娟]

        Design of High Speed USB Protocol Analyzer Based on FPGA

        Zhang Jing Ye Xiaoqin
        (Hohai University,Ma'anshan,Anhui 243031)

        A USB protocol analyzer is an instrument for analysis and monitoring of the USB bus protocol. It includes collection host and analysis software.It can be used for the USB driver development and debug the protocol stacks,test the protocol conformance and bus performance analysis of several aspects.For existing analyzer is expensive and sampling problem such as packet loss,we designed a high-speed USB protocol analyzer based on FPGA,which realized with high speed,full speed and low speed difference signal real-time sampling and analysis,using the concurrent processing of hardware features overcome the problem of the sample packet loss,and embedded large-capacity SDRAM,making it possible to collect data for a long time,and lower design costs.

        USB protocol analyzer;FPGA;universal serial bus;USB controller

        TP393

        A

        2095-0438(2016)09-0152-03

        2016-05-10

        張靜(1984-),女,江蘇徐州人,河海大學(xué)文天學(xué)院助教,碩士,研究方向:數(shù)字信號(hào)處理。

        猜你喜歡
        外設(shè)分析儀總線(xiàn)
        Sievers分析儀(蘇伊士)
        一種用于深空探測(cè)的Chirp變換頻譜分析儀設(shè)計(jì)與實(shí)現(xiàn)
        基于PCI Express總線(xiàn)的xHC與FPGA的直接通信
        機(jī)載飛控1553B總線(xiàn)轉(zhuǎn)以太網(wǎng)總線(xiàn)設(shè)計(jì)
        多通道ARINC429總線(xiàn)檢查儀
        Endress+Hauser 光學(xué)分析儀WA系列
        福祿克 電池分析儀Fluke 500系列
        基于EtherCAT總線(xiàn)的ROV控制系統(tǒng)設(shè)計(jì)
        河南科技(2014年16期)2014-02-27 14:13:22
        Microchip推出具備雙ADC外設(shè)的全新器件,擴(kuò)展其低成本8位PIC?單片機(jī)產(chǎn)品線(xiàn)
        貼身呵護(hù) 必不可少的PSP外設(shè)
        国产精品麻豆A在线播放| 国产一区二区精品久久| 亚洲综合色丁香婷婷六月图片| 国产高潮流白浆免费观看不卡| 日韩亚洲一区二区三区在线| 边添小泬边狠狠躁视频| 欧美两根一起进3p做受视频| 麻豆变态另类视频在线观看| 日本高清在线一区二区三区| 久久久精品2019免费观看| 日韩亚洲在线观看视频| 国产精品videossex久久发布| 日日碰狠狠添天天爽超碰97| 午夜影院91| 在线国产丝袜自拍观看| 无码人妻一区二区三区兔费| 一个人看的www片免费高清视频| 女性女同性aⅴ免费观女性恋| 国产日产高清欧美一区| 中文字幕成人精品久久不卡| 国产91精品一区二区麻豆亚洲| 24小时日本在线视频资源| 久久久久无码精品亚洲日韩| 人妻少妇喷水意淫诱惑| av影院手机在线观看| 久久久国产精品黄毛片 | 日本少妇被爽到高潮的免费| 亚洲精品天堂日本亚洲精品| 无码一区二区三区中文字幕| 婷婷开心深爱五月天播播| 国产综合一区二区三区av| 综合色免费在线精品视频| 亚洲精品92内射| 97精品国产高清自在线看超| 亚洲三级中文字幕乱码| 国产一区二区三区再现| 青春草在线视频精品| 日韩av在线手机免费观看| 国产乱人对白| 正在播放国产多p交换视频| 男人扒开女人双腿猛进女人机机里|