<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于FPGA的USB3.0 HUB設計

基于FPGA的USB3.0 HUB設計

作者: 時(shí)間:2016-10-22 來(lái)源:網(wǎng)絡(luò ) 收藏

USB總線(xiàn)是目前最為成功,應用最為廣泛的外設接口。隨著(zhù)時(shí)代的進(jìn)步和發(fā)展,電子產(chǎn)品、手持設備、超大容量的高清視頻設備以及千萬(wàn)像素的數碼相機等設備的需求越來(lái)越高,USB接口規范也需要相應地進(jìn)行不斷地更新和升級。USB3.0的最高理論速度達到了5Gbit/s,向需要更大電力支持的設備提供更好的支持和電力供應,它在USB2.0的基礎上增加了新的電源管理功能,采用全雙工數據通信,提供更快的傳輸速度,并且向下兼容USB2.0和USB1.1設備。USB體系主要包括三個(gè)部分:主機,設備和物理連接。主機通常是PC或者主機控制器;設備是指常用的U盤(pán)、帶USB的攝像頭、相機等設備;物理連接就是通常用的傳輸線(xiàn),在USB3.0系統中,采用了對偶單純形四線(xiàn)制差分信號線(xiàn),因此可以支持雙向并發(fā)數據流傳輸,這也是USB3.0相比于USB2.0設備速度提升的關(guān)鍵因素。

本文引用地址:http://dyxdggzs.com/article/201610/309247.htm

HUB是USB系統中的重要組成部分,且能夠應用在大多數操作系統,它是建立主機與USB設備之間的橋梁。作為一類(lèi)特殊的USB設備,可以同時(shí)將一個(gè)接口轉換為多個(gè)接口,為用戶(hù)提供了效率和便捷。

1 USB3.0 HUB的簡(jiǎn)介

1.1 USB3.0 HUB的基本組成

根據最新USB3.0的協(xié)議規定,USB3.0 HUB主要由Super Speed HUB,Vbus Control Logic,USB2.0 HUB以及上下行端口組成。由于USB3.0是向下兼容的,所以它有完整的USB2.0 HUB設計,而Super Speed HUB部分就是USB3.0 HUB區別于USB2.0 HUB的主要部分。USB3.0 HUB基本結構如圖1所示。

圖1 USB3.0 HUB的基本結構

圖1 USB3.0 HUB的基本結構

1.2 USB3.0集線(xiàn)器的功能

USB3.0 HUB是USB系統中的重要部分,它的基本功能如下:

1)基本連接功能。

2)電源管理功能。USB3.0能夠提供900mA的電源,這樣就可以給那些連接USB3.0的設備更快更好地完成充電。由于新的接口提供了額外的兩條線(xiàn),900mA的電力支持能夠驅動(dòng)無(wú)線(xiàn)適配器,這樣在900mA的高電力支持下可以擺脫靠線(xiàn)纜連接的必要性。在大量數據傳輸的同時(shí),空閑的設備可以自動(dòng)進(jìn)入低功耗狀態(tài),給正在傳輸的設備提供更好更快的性能支持。

3)設備連接和斷開(kāi)檢測。

4)總線(xiàn)的錯誤檢測和恢復。

5)HUB3.0的自動(dòng)掛起和恢復功能。

6)向下兼容,下行端口同時(shí)支持高/低/全速設備。

2 Super Speed HUB的設計

USB3.0 HUB是一種便攜的低成本的USB3.0擴展接口,它的下行端口面向USB設備,上行端口面向PC主機或者嵌入式主機控制器,速度由上行端口的主機來(lái)決定,同時(shí)它在下行端口給設備提供連接和斷開(kāi)的檢測,根據USB3.0最新協(xié)議規范,要實(shí)現上節所述各項功能設計。Super Speed HUB的整體構架如圖2所示,包括SIE、控制、處理轉換、中繼、路由、AES加解密等部分。

圖2 USB3.0 HUB的整體構架

圖2 USB3.0 HUB的整體構架

2.1 SIE(Serial Interface Engine)模塊

Super Speed HUB中的SIE模塊處理USB規范中物理層和協(xié)議層的協(xié)議解析,它主要實(shí)現包的識別與產(chǎn)生、比特填充和提取、時(shí)鐘與數據分離、NRZI編碼和解碼、PID(包標識符)的產(chǎn)生和檢測、CRC校驗碼的識別和產(chǎn)生、地址檢測等。SIE模塊設計中,分為SIE_PL和SIE_FUC兩個(gè)部分。SIE_PL模塊負責數據包的解析與組織,PID(包標識符)產(chǎn)生與檢測、CRC校驗識別與產(chǎn)生、地址檢測等。SIE_FUC模塊主要實(shí)現SIE模塊與MCU的接口邏輯功能。另外,為了使本系統設計更加穩定,SIE模塊中采用跨時(shí)鐘域的設計,一個(gè)是本地的48MHz的全局時(shí)鐘,另外一個(gè)是USB主機從接收到的數據流中采樣接收的12MHz數據時(shí)鐘(即將48MHz本地全局時(shí)鐘4分頻得到)。SIE模塊設計框圖如圖3所示。

圖3 SIE模塊設計框圖

圖3 SIE模塊設計框圖

2.2 HUB控制器模塊

HUB控制器主要完成HUB的管理及控制,實(shí)現與主機的交互。主機端通過(guò)類(lèi)請求與HUB控制器模塊通信,取得HUB端口的描述符,并且完成USB HUB及其下行端口的管理和控制。主機通過(guò)向端點(diǎn)0發(fā)送類(lèi)請求和標準請求來(lái)實(shí)現HUB的枚舉過(guò)程。

2.3 AES模塊

AES是一種基于置換和代替的算法,它實(shí)現加解密功能。在USB3.0 Super Speed模式下,根據用戶(hù)的需求,當數據從上行端口向下行端口傳輸時(shí),對數據進(jìn)行加密,以防止信息竊取。同樣,在數據由下行端口向上行端口傳輸時(shí)實(shí)現其解密過(guò)程。AES算法加解密過(guò)程如圖4所示。

圖4 AES算法加解密過(guò)程

圖4 AES算法加解密過(guò)程

在加解密的過(guò)程中,由于USB3.0 HUB的傳輸速度可達到3200Mbit/s,但是AES的加解密IP在250MHz的吞吐率下最高速率只能達到2400Mbit/s,因此在加解密的過(guò)程中需要2個(gè)AES來(lái)實(shí)現其功能。圖5是USB3.0 AES加密原理圖,從圖中可以看到上行端口會(huì )向EM_A發(fā)送奇數128bit數據,向EM_B發(fā)送偶數128bit數據,同時(shí),Mem_buf模塊也會(huì )輪詢(xún)地從EM_A模塊和EM_B模塊接受數據。而在以前的USB2.0的模式下,數據位寬只有8bit,全速的帶寬為480Mbit/s,所以只需要1個(gè)AES就可以。

圖5 AES算法加密原理圖

圖5 AES算法加密原理圖

2.4 ROUTING模塊

ROUTING模塊即路由邏輯模塊,它的作用是根據連接到下行端口設備的速度來(lái)決定將下行端口連接到中繼模塊還是連接到TT模塊。由于在USB3.0HUB的上行端口中的速度是高速的,而下行端口則不確定為高速、全速或者低速,所以當下行端口設備的速度為高速時(shí),ROUTING模塊連接到中繼模塊,如果下行端口設備的速度為全速或者低速時(shí)就連接到TT模塊。

2.5 Repeater中繼模塊

集線(xiàn)器中繼模塊在HUB的數據轉發(fā)中起到建立和拆除上行端口和下行端口之間的連接,并且處理集線(xiàn)器的掛起和喚醒的作用。中繼器把上行端口的數據發(fā)送到下行端口,把下行端口的數據發(fā)送到上行端口,并且要用本地時(shí)鐘來(lái)從端口上發(fā)送和接受數據。它以數據包為單位控制端口的建立和連接以及HUB的喚醒和掛起。如圖6所示為Repeater的連接狀態(tài)機。

圖6 Repeater的連接狀態(tài)機

圖6 Repeater的連接狀態(tài)機

2.6 PHY模塊

PHY模型就是通常所說(shuō)的USB物理收發(fā)器模型,它的作用是實(shí)現數據的串并轉換。因為在上行端口是并行數據,而在面向設備和電纜中的下行端口是串行數據。

2.7 TT處理轉換器

TT模塊的作用是完成傳輸事務(wù)轉發(fā)和速度的匹配。當上行端口在高速環(huán)境下運行而下行端口在全速或者低速下運行時(shí),TT處理轉換器就是將高速事務(wù)轉換成低速事務(wù)。由于要滿(mǎn)足速度的匹配,因此TT處理器必須采用緩存的方式來(lái)存儲,在緩存的上行端口是一個(gè)高速處理器,用來(lái)處理高速數據的收發(fā);緩存的下行端口是全速和低速處理器,用來(lái)處理全/低速數據的接受和發(fā)送。

3 FPGA仿真與驗證

為了更好地完成仿真和驗證,采用ModelsimSE和Navos公司的Debussy軟件。首先搭建仿真環(huán)境,包括編譯測試文件、仿真調用文件、引導文件、宏定義文件以及激勵文件。首先將C語(yǔ)言的驅動(dòng)程序在Linux環(huán)境下轉換為二進(jìn)制的kvout激勵文件,把二進(jìn)制的kvout文件存儲在外掛的Flash中然后再存儲到內置的RAM中,使其成為發(fā)出指令的源頭;同時(shí)USBDevice的行為級模型也會(huì )裝載部分命令以達到仿真的目的。如圖7所示為USB3.0HUB高速數據批量傳輸仿真結果。

圖7 USB3.0HUB高速數據批量傳輸仿真(截圖)

圖7 USB3.0HUB高速數據批量傳輸仿真(截圖)

圖中數據包的總大小為4096byte,rst_n為系統復位信號,clk30為主機端12M時(shí)鐘,pci_clk為本地時(shí)鐘,cpu_datao是從主機發(fā)送出的數據,utm0_data,utm1_data,utm2_data,utm3_data分別為經(jīng)過(guò)USB3.0HUB擴展后的4路高速信號,Utm_rxready,utm_rxvalid,utm_rxactive分別為端口的控制信號。

為了加強整個(gè)設計的可靠性,必須進(jìn)行FPGA驗證,FPGA驗證選擇的是Altera的StratixIIS180開(kāi)發(fā)板,采用QuartusII將RTL級的verilog代碼進(jìn)行變異并且綜合成網(wǎng)表,然后通過(guò)USB-blaster下載線(xiàn)下載到FPGA測試版中,另外激勵文件是在Linux環(huán)境下編譯產(chǎn)生的,并且通過(guò)EJTAG下載到測試版中。把激勵文件下載到FPGA板子中后,把HUB的上行端口連接到USB的主機,此時(shí)如果主機檢查出有USB HUB連接,會(huì )產(chǎn)生1個(gè)復位信號;在HUB復位后,USB主機向USB Device發(fā)送令牌包,并且對HUB進(jìn)行枚舉,主機識別出該HUB;當主機對USB3.0 HUB成功枚舉后按照USB協(xié)議進(jìn)行數據傳輸。

在傳輸速率上,可以通過(guò)USB3.0 HUB傳輸1個(gè)比較大的文件,并且用ATTO DISK BENCHMARK軟件來(lái)測試其讀寫(xiě)速度,通過(guò)ATTO可以顯示出讀取數據可以提高到1088Mbit/s,寫(xiě)入速度可以達到840Mbit/s(USB2.0 HUB的讀寫(xiě)速度分別為240Mbit/s和184Mbit/s);很顯然這個(gè)讀寫(xiě)速度比USB2.0的提高了5~6倍。當然由于軟件和硬件的各種原因,這個(gè)實(shí)際的傳輸速度離其理論最大值5G bit/s有一定的差距,但已基本實(shí)現其高速傳輸的功能。

從verilog的功能仿真、時(shí)序仿真和FPGA驗證表明,USB3.0 HUB基本實(shí)現了高速數據的傳輸,達到了預期的效果。

4 總結

USB及HUB接口是目前計算機以及微控制器中最常用的通用高速接口,它可以連接串口、U盤(pán)、音頻、視頻、手機、相機等絕大多數的外設設備。USB3.0正在以其高速度、高性能、高可靠性、低成本等特點(diǎn)逐漸代替更多的USB2.0產(chǎn)品,成為通信電子市場(chǎng)的主要接口。本文中設計的USB3.0 HUB實(shí)現了多媒體數據的高速同步及時(shí)傳輸;更佳的電源管理功能以及支持AES加密解密等功能,這些都將促使它在市場(chǎng)上迅速普及。但是USB3.0及其HUB依舊有自己的瓶頸,比如在某些應用中需要盡可能高的吞吐量時(shí),線(xiàn)纜的長(cháng)度會(huì )受到限制;同時(shí)電纜的材質(zhì)以及信號的質(zhì)量也會(huì )在整體上影響傳輸的效果,所以在傳輸百兆以上數據流時(shí),所用線(xiàn)纜最好不要超過(guò)3m。



關(guān)鍵詞: ARM DSP 四軸運動(dòng)控制

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>