国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2016-09-23 06:33張靜葉小芹
綏化學院學報 2016年9期
關鍵詞:外設分析儀總線

張靜 葉小芹

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

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

張靜葉小芹

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

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

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

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

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

一、系統(tǒng)結構設計

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

圖1 系統(tǒng)結構框圖

二、關鍵技術

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

圖2 USB3500輸出信號時序圖

(二)FPGA控制邏輯設計。FPGA的控制邏輯主要劃分為四個模塊,分別為UTMI接口模塊、數(shù)據打包模塊、SDRAM控制器模塊和USB控制器控制模塊,結構框圖如圖3所示。

圖3 FPGA內部邏輯框圖

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

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

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

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

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

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

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

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

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

圖5 SDRAM控制時序圖

四、結語

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

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

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

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

[4]呂暉,謝向輝.同時基于預知信息和預測機制的SDRAM動態(tài)頁策略[J].計算機工程與科學,2015,37(12):2208-2215.

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

[6]冉全,錢環(huán)環(huán).基于FPGA的USB控制器IP核設計[J].兵工自動化,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設計及驗證[J].中國農機化學報,2013,34(5):238-242.

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

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

[責任編輯鄭麗娟]

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-),女,江蘇徐州人,河海大學文天學院助教,碩士,研究方向:數(shù)字信號處理。

猜你喜歡
外設分析儀總線
Sievers分析儀(蘇伊士)
一種用于深空探測的Chirp變換頻譜分析儀設計與實現(xiàn)
基于PCI Express總線的xHC與FPGA的直接通信
機載飛控1553B總線轉以太網總線設計
全血細胞分析儀配套操作臺使用體會
多通道ARINC429總線檢查儀
Endress+Hauser 光學分析儀WA系列
基于EtherCAT總線的ROV控制系統(tǒng)設計
Microchip推出具備雙ADC外設的全新器件,擴展其低成本8位PIC?單片機產品線
外設天地行情