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

        ?

        基于USB 2.0/MAC協(xié)議變換的延長系統(tǒng)設計

        2015-05-04 08:06:38金君瀟虞致國顧曉峰
        計算機工程與設計 2015年4期
        關鍵詞:發(fā)送數(shù)據(jù)以太網數(shù)據(jù)包

        曹 楊,金君瀟,虞致國,顧曉峰

        (江南大學 電子工程系 輕工過程先進控制教育部重點實驗室,江蘇 無錫214122)

        0 引 言

        通用串行總線 (USB)接口作為計算機及許多外設的必備接口,它的最大傳輸距離一般僅5m,通過加入信號放大器可延長至50m,但很多情況下信號并不穩(wěn)定,而且常常不能滿足實際需求[1]。隨著網絡技術的不斷發(fā)展,網絡通信協(xié)議具有良好的穩(wěn)定性和較短的傳輸延時,可以通過不同類型的電纜線將傳輸距離進一步延長,從而拓展USB延長系統(tǒng)在遠距離通信領域的應用[2,3]。

        本文提出一種修改和自定義的以太網媒體訪問控制(MAC)協(xié)議,并采用該協(xié)議與USB 2.0協(xié)議之間的協(xié)議轉換技術,基于現(xiàn)場可編程門陣列 (FPGA)平臺設計了一種延長系統(tǒng),不僅可實現(xiàn)USB 2.0接口與網絡接口的相互轉換,而且可利用網絡通信技術將USB 2.0接口的傳輸距離延長至100m以上,在大規(guī)模高速數(shù)據(jù)傳輸、遠程控制等領域具有重要的應用價值。

        1 協(xié)議轉換原理

        1.1 系統(tǒng)總體結構

        設計的延長系統(tǒng)具有設備與網絡間的雙向通信功能,即數(shù)據(jù)發(fā)送至網絡和從網絡接收數(shù)據(jù)[4]。系統(tǒng)結構如圖1所示,主要包含兩個完全相同的延長單元,彼此之間可根據(jù)需求選用不同類型的電纜線連接。延長單元包括miniusb和minimac兩個主要模塊,實現(xiàn)USB 2.0和以太網接口間的轉換。miniusb模塊功能較簡單,僅負責數(shù)據(jù)傳遞,不對數(shù)據(jù)作任何處理。minimac模塊負責把數(shù)據(jù)按協(xié)議規(guī)定的格式封裝或解封,再進行傳輸。

        圖1 USB 2.0延長系統(tǒng)的結構

        1.2 修改和自定義的以太網MAC協(xié)議

        本文選用兼容性強、可靠性高且易于管理的千兆以太網協(xié)議標準IEEE 802.3,該協(xié)議采用基于共享介質信道的載波監(jiān)聽多路訪問/沖突檢測 (carrier sense multiple access/collision detection,CSMA/CD)媒體訪問機制,其傳輸速率最高達1000Mbps[5,6]。MAC子層是體現(xiàn)以太網網絡性能的核心,分為媒體訪問控制和幀的封裝/解封兩個部分。文中將minimac設計為全雙工通信,允許數(shù)據(jù)的發(fā)送和接收同時進行且不共享信道,因此,修改后的以太網MAC協(xié)議將忽略CSMA/CD機制,僅負責數(shù)據(jù)幀的封裝/解封。全雙工通信中的數(shù)據(jù)、命令和狀態(tài)的接收或發(fā)送可同時進行,因此需要一個選擇器mac_sel來選擇傳遞數(shù)據(jù)還是命令。

        另外由于千兆以太網與USB 2.0的傳輸速率 (最高達480Mbps)不相符,如果僅以一次完整的事務來傳輸,勢必造成較長的等待時間引起總線浪費。因此,為提高總線利用率,自定義了一種支持 “分離傳輸”的以太網MAC協(xié)議,就是在一個數(shù)據(jù)包分成多個子數(shù)據(jù)包在介質中傳輸時,能夠識別每個子數(shù)據(jù)包并將這些子數(shù)據(jù)包全部以以太網幀格式進行封裝/解封后再傳輸至網絡中。

        1.3 速率解耦

        由于USB與以太網之間傳輸速率的差異,需要設置一個數(shù)據(jù)緩存區(qū)進行速率解耦。另外,在miniusb、minimac的控制機制中,需要首先判斷數(shù)據(jù)是否需發(fā)送或接收,而此過程也需要一個暫時存儲數(shù)據(jù)的地方。文中采用雙fifo(first input first output)作為緩沖區(qū)存儲數(shù)據(jù)[7]。由于讀寫速率不同,將fifo設置成雙口的RAM。

        對于高速USB,其數(shù)據(jù)包中有3字節(jié)的前導碼,而以太網幀數(shù)據(jù)則有7字節(jié)的前導碼和1字節(jié)的命令識別碼。要保證fifo兩端的傳輸速率一致,則至少需要有6個字節(jié)的數(shù)據(jù)存在fifo中。

        minimac的發(fā)送條件設置為當fifo中有大于1個字節(jié)數(shù)據(jù)或聲明已存一個完整的數(shù)據(jù)包,即:

        miniusb的發(fā)送條件設置為只要fifo不為空則開始發(fā)送數(shù)據(jù),即:

        對于低速/全速USB,其最大容忍的延時為18ns,如果采用與高速USB相同的速率解耦方式,則至少延時32 ns,留給傳輸介質的延時就為負值。因此,這里我們采用異步傳遞方式,設置低速/全速USB數(shù)據(jù)的采樣頻率分別為12M/96M,這樣基本能夠實現(xiàn)數(shù)據(jù)的實時傳輸。發(fā)送的觸發(fā)條件設置為USB的差分輸入Dm和Dp不為J狀態(tài),即:assign start_rx_rl=~j state。

        2 主要功能模塊設計

        2.1 fifo緩存區(qū)

        以由主機到設備的下行通信為例,延長單元的寫速率為480Mbps,讀速率為1000Mbps;由設備到主機的上行通信正好相反。因此,上下行通信過程中都必須有獨立的數(shù)據(jù)緩存區(qū)。為了提高數(shù)據(jù)吞吐率,保證miniusb和minimac模塊在發(fā)送緩沖區(qū)數(shù)據(jù)的同時可接收來自主機或設備端的數(shù)據(jù),為miniusb和minimac模塊分別設置了兩個緩沖區(qū)(即雙fifo)。通過自定義發(fā)送和接收的觸發(fā)條件,可達到兩者同步傳輸?shù)哪康?,并將其寫或讀數(shù)據(jù)的狀態(tài)全部反映到相應的寄存器中[8]。

        2.2 miniusb模塊

        miniusb模塊的結構如圖2所示,其基本工作流程可分為兩個部分:從 UTMI (USB 2.0Transcceiver Macrocell Interface)接口接收USB信息包,并完整地存入rxfifo中;usbctrl根據(jù)minireg和fifo中的空、滿狀況,選擇寫rxfifo中某個fifo的數(shù)據(jù),再發(fā)送至UTMI接口[9,10]。

        usbctrl是miniusb模塊設計的核心,其作用是接收數(shù)據(jù)至rxfifo中和發(fā)送txfifo中的數(shù)據(jù)。USB協(xié)議規(guī)定同一時刻只能傳輸一個信息包,因此接收及發(fā)送數(shù)據(jù)的過程存在優(yōu)先級且不可間斷,接收數(shù)據(jù)過程的實時性使其優(yōu)先級大于發(fā)送數(shù)據(jù)過程[11]。此外,對于雙fifo結構,fifo0的優(yōu)先級大于fifo1,即當fifo0在使用時,系統(tǒng)自動選擇使用fifo1。

        圖2 miniusb模塊的結構

        modectrl主要用于對主機和設備的UTMI接口進行控制及信息獲取。在主機端,modectrl負責監(jiān)控設備的復位信號se0和處理主機端的上下拉電阻。當se0狀態(tài)保持超過1μs,則認為設備需接入主機并將其復位;根據(jù)對設備端的判斷及接收到的命令,設置上下拉電阻,判斷設備需發(fā)送何種速度的標準請求。在設備端,根據(jù)主機發(fā)送的命令,將設備復位、連接并識別其速度模式。當設備連接狀態(tài)保持超過2μs,認為設備連接成功;否則發(fā)送信號se0,當se0狀態(tài)保持超過2ms,認為設備掉線。

        usbtx和usbrx是一種膠合邏輯 (glue logic),前者負責傳遞txfifo中的數(shù)據(jù)包到UTMI接口并計數(shù),后者僅負責將UTMI接口的數(shù)據(jù)包傳遞至rxfifo中,不對數(shù)據(jù)作任何處理。

        2.3 minimac模塊

        minimac模塊的結構如圖3所示。

        圖3 minimac模塊的結構

        mactx是數(shù)據(jù)發(fā)送邏輯,用于將USB接口的數(shù)據(jù)按規(guī)定的格式封裝并發(fā)送至物理層 (PHY),或把PHY層發(fā)來的數(shù)據(jù)解封再轉送至上層協(xié)議處理。為避免低速和全速模式下的發(fā)送過程出現(xiàn)underrun的情況,在未檢測到miniusb端發(fā)來的數(shù)據(jù)時,首先發(fā)送填充包,直至檢測到數(shù)據(jù)。填充包字段為 (dd,55,f0,f,55,dd)。txctrl用于控制mactx邏輯,具體控制機制為:檢測兩個fifo中的數(shù)據(jù),若fifo中數(shù)據(jù)深度大于n(n為自行設置,本文定義n=8)時,開始發(fā)送數(shù)據(jù)。

        macrx是數(shù)據(jù)接收邏輯,用于將PHY層傳來的信息解封再繼續(xù)傳輸。與mactx的工作過程相反,它需要把數(shù)據(jù)包中的前導包和填充包刪除。rxctrl的主要功能是把從macrx接收的有效數(shù)據(jù)放入fifo,以及在接收完成后設置相應的寄存器。

        comm_send和comm_rcv用于發(fā)送兩邊的USB狀態(tài)。首先,主機端和設備端互發(fā)握手包,隨即相應的控制寄存器都設置為1,表示握手成功;若握手失敗,將每隔16’hffff個時間位重發(fā)一次握手包,直至成功。其次,對于普通命令,如果一方發(fā)起普通命令,另一方必須回應;若沒有回應,則每隔4×210個時間位重發(fā)一次。comm_send中發(fā)送命令的狀態(tài)機比較簡單,首先發(fā)起發(fā)送,然后按命令順序逐個發(fā)送。comm_rcv的主要作用是解析由macrx接收到的命令并輸出。

        3 仿真結果

        采用Candence Ncverilog在LINUX環(huán)境下對設計的延長系統(tǒng)進行仿真,利用Verilog HDL進行硬件模塊編程,根據(jù)芯片的控制時序及每個模塊的具體功能編寫程序。

        3.1 miniusb模塊仿真

        圖4給出了miniusb模塊發(fā)送和接收過程的仿真波形。由主機發(fā)送數(shù)據(jù)DATA [7:0],此時模式狀態(tài)機 mode[7:0]的值為8c,表示當前狀態(tài)為下行通信模式,并且連接有高速USB設備。當start_rx跳變?yōu)楦唠娖剑_始接收數(shù)據(jù),miniusb_rxfifo0_used有效時,將接收到的數(shù)據(jù)發(fā)送至fifo0緩存中;當TxValid跳變?yōu)楦唠娖?,開始發(fā)送數(shù)據(jù),類似地,該過程選擇發(fā)送fifo0中的數(shù)據(jù)。仿真結果表明,miniusb模塊僅負責傳輸數(shù)據(jù)而不對數(shù)據(jù)作任何處理。

        圖4 miniusb模塊發(fā)送和接收過程的仿真波形

        3.2 minimac模塊仿真

        圖5給出了minimac模塊的仿真波形。在圖5(a)所示的發(fā)送過程中,tx_comm_sel為高電平,標志一個命令字段的發(fā)送過程,tx_start置為高電平,tx_valid、fillbytecnt_start被拉高,開始發(fā)送前導包 (7個連續(xù)的55)并計數(shù);之后,fillbytecnt_start被拉低,填充結束,根據(jù)信號tx_start的變化情況,命令字段 (11,22,33,55)被發(fā)送至fifo_data[7:0]中;發(fā)送完畢后tx_done拉高,信號fifo_done聲明,繼續(xù)發(fā)送填充字段 (dd,55,f0,f,55,dd)并計數(shù),直至tx_valid被拉至低電平,表示整個發(fā)送過程完成,該過程中的各個狀態(tài)可由信號tx_state[4:0]體現(xiàn)。如圖5(b)所示,數(shù)據(jù)接收過程以信號startframe跳變開始,由commandsel聲明該過程為命令接收過程,數(shù)據(jù)phy_data[7:0]經minimac模塊處理,去除前導字段和填充字段,最終將命令發(fā)送至rx_data中。rx_done跳變表明整個接收過程完成。類似地,該過程中的各個狀態(tài)可由信號state[6:0]體現(xiàn)。

        圖5 minimac模塊發(fā)送和接收過程的仿真波形

        4 FPGA驗證

        最后,基于FPGA平臺對USB2.0延長系統(tǒng)進行驗證。其中用于連接延長單元的電纜線作為傳輸介質只負責數(shù)據(jù)傳輸,驗證時由FPGA內部的數(shù)據(jù)線實現(xiàn)[12]。

        根據(jù)設計需求,選用Corecommander II嵌入式開發(fā)平臺,其FPGA芯片為Altera公司的Cyclone III FPGA系列的EP3C25F256C8芯片,低成本、低功耗、并自帶USB 2.0物理層接口 (USB 2.0PHY),符合本設計的需求?;贏ltera公司的Quartus II 11.0軟件平臺,完成功能仿真后的系統(tǒng)綜合、布局布線和時序驗證。

        驗證中將開發(fā)板的USB A接口連至主機,主機通過該接口向FPGA發(fā)送數(shù)據(jù);將USB Mini AB接口連至USB高速設備 (選用USB 2.0Hub)。為進一步考察該系統(tǒng)的兼容性,在 USB 2.0Hub上同時連接一個 USB低速設備(鍵盤)。

        系統(tǒng)連接并配置完成后,復位開發(fā)板,再將連接在USB A接口的電纜接入主機。同時利用Quartus II自帶的邏輯分析儀SignalTap II實時地采集并顯示延長系統(tǒng)中的數(shù)字信號,完成系統(tǒng)的時序測試。SignalTap II記錄了采樣過程的所有數(shù)據(jù),捕獲結果如圖6所示,其中過程A是主機識別設備的過程;過程B和C是主機端和設備端之間的數(shù)據(jù)或命令交換過程。

        圖6 邏輯分析儀SignalTap II記錄的測試結果

        圖6可以看出,復位后,當設備接入系統(tǒng)時,由主機首先發(fā)出請求,并識別出設備的傳輸模式為高速傳輸,如過程A所示。一次完整的數(shù)據(jù)或命令交換過程如B或C所示,系統(tǒng)對不同的有效數(shù)據(jù)或命令字段的處理過程都是一樣的。測試中發(fā)現(xiàn),過程B和C均選用具有較高優(yōu)先級的fifo0作為緩存區(qū)。miniusb和minimac對數(shù)據(jù)或命令的識別、填充等處理準確無誤,未發(fā)生丟包、延時導致的錯誤,傳輸性能優(yōu)良。此外,主機通過FPGA開發(fā)板可同時識別高速 (USB2.0Hub)和低速USB設備 (鍵盤),表明該系統(tǒng)具有良好的兼容性。最后,鍵盤通過FPGA開發(fā)板后能被快速、準確地識別并保持正常工作,證明了該系統(tǒng)的可行性和穩(wěn)定性。

        5 結束語

        利用網絡通信的優(yōu)勢,并基于修改和自定義以太網MAC與USB 2.0協(xié)議轉換技術設計了延長系統(tǒng),不僅實現(xiàn)了設備在通過100m甚至更長距離的電纜線時仍能正常運行,還實現(xiàn)了USB 2.0接口和以太網接口間的轉換。

        FPGA驗證結果表明該系統(tǒng)具有良好的可行性、穩(wěn)定性和兼容性。

        協(xié)議轉換原理不僅適用于文中USB 2.0延長系統(tǒng)的設計,還可以拓展到USB與其他網絡協(xié)議 (如無線 WIFI、藍牙等)之間的協(xié)議轉換,甚至可以拓展到不同網絡協(xié)議之間的轉換,以更靈活方便地實現(xiàn)接口轉換或傳輸延長等功能。在未來高速數(shù)據(jù)傳輸、遠程控制等應用領域具有極大的市場價值。

        [1]HUANG Tuchen,GONG Hui,SHAO Beibei,et al.Multifunctional data acquisition system based on USB and FPGA[J].Atomic Energy Science and Technology,2013,47 (11):2172-2176 (in Chinese).[黃土琛,宮輝,邵貝貝,等.基于USB和FPGA的多功能數(shù)據(jù)采集系統(tǒng) [J].原子能科學技術,2013,47 (11):2172-2176.]

        [2]LIU Yan,LIU Lian,LUO Junyong,et al.Fast identifying steady phase of communication network based on network signature [J].Journal of Computer Research and Development,2011,48 (z2):445-450 (in Chinese). [劉琰,劉楝,羅軍勇,等.基于圖形簽名的通聯(lián)網絡平穩(wěn)期快速判定方法 [J].計算機研究與發(fā)展,2011,48 (z2):445-450.]

        [3]Han Kyeong-Eun,Yang Choong-Reol,Kwangjoon Kim,et al.An energy saving scheme for multilane-based high-speed Ethernet[J].ETRI Journal,2012,34 (6):807-815.

        [4]Erik Patron,Candelario Pinto,Raciel Poot,et al.Design and implementation of a serial-USB converter [J].International Journal of Computer Science and Network Security,2011,11 (6):69-76.

        [5]WANG Shiyu,HE Zhanzhuang,ZHANG Shengbing.Design of MAC controller based on FPGA [J].Microelectronics &Computer,2012,29 (2):171-175 (in Chinese). [王時雨,賀占莊,張盛兵.基于FPGA的以太網MAC控制器的實現(xiàn)[J].微電子學與計算機,2012,29 (2):171-175.]

        [6]Grzegorz Polaków,Mieczyslaw Metzger.Performance evaluation of the parallel processing producer-distributor-consumer network architecture [J].Computer Standards &Interfaces,2013,35 (6):596-604.

        [7]WANG Jian,WANG Hong,YANG Zhijia.New method for determining the depth of asynchronous FIFO in SoC based on the model of dynamic parameters [J].Journal of University of Electronic Science and Technology of China,2009,38 (3):447-450 (in Chinese).[王劍,王宏,楊志家.動態(tài)參數(shù)模型確定SoC中異步FIFO深度的方法 [J].電子科技大學學報,2009,38 (3):447-450.]

        [8]PENG Yao,YANG Yintang,ZHU Zhangming,et al.A high-speed delay-independent synchronous to asynchronous interface [J].Journal of Computer Research and Development,2012,49 (3):669-678 (in Chinese). [彭瑤,楊銀堂,朱樟明,等.一種高速延時無關同異步轉換接口電路 [J].計算機研究與發(fā)展,2012,49 (3):669-678.]

        [9]MA Kai, YANG Feng, WANG Yanwen.Research on USB2.0transfers interface of high speed data acquisition system[J].Computer Engineering and Design,2013,34 (11):3862-3866 (in Chinese).[馬凱,楊峰,王彥文.高速數(shù)據(jù)采集系統(tǒng)中USB2.0傳輸接口研究 [J].計算機工程與設計,2013,34 (11):3862-3866.]

        [10]YI Chunli,ZHANG Yanjun,WANG Jinqi,et al.FPGA control and implementation of USB2.0transmission [J].Control and Instruments in Chemical Industry,2011,38(6):733-735 (in Chinese). [易春莉,張彥軍,王瑾琪,等.USB2.0接口傳輸?shù)腇PGA控制與實現(xiàn) [J].化工自動化及儀表,2011,38 (6):733-735.]

        [11]Huo Zhanpeng, Wei Zhengying,Tang Yiping.A remote control system based on short messaging service for intelligent agricultural irrigation [J].Applied Mechanics and Materials,2012,190-191:1104-1108.

        [12]LIU Dong,JIN Huihua,YAN Meng,et al.Design of IEEE 1394/GbE conversion system based on SOPC technology [J].Journal of Beijing University of Aeronautics and Astronautics,2010,36 (2):214-217 (in Chinese). [劉棟,金惠華,顏猛,等.基于協(xié)議變換的圖像采集系統(tǒng)設計 [J].北京航空航天大學學報,2010,36 (2):214-217.]

        猜你喜歡
        發(fā)送數(shù)據(jù)以太網數(shù)據(jù)包
        移動自組網中MAC層協(xié)議研究
        基于1500以太網養(yǎng)豬場的智能飼喂控制系統(tǒng)的設計與實現(xiàn)
        SmartSniff
        基于馬爾科夫鏈的LoRaWAN網絡節(jié)點性能分析
        帶標記方式的CRDSA++協(xié)議性能分析*
        通信技術(2018年10期)2018-10-15 07:30:00
        談實時以太網EtherCAT技術在變電站自動化中的應用
        電子制作(2017年24期)2017-02-02 07:14:44
        使用IPSec安全傳輸數(shù)據(jù)
        一種90W高功率以太網供電系統(tǒng)的設計
        電源技術(2015年7期)2015-08-22 08:48:48
        淺談EPON與工業(yè)以太網在貴遵高速公路中的應用
        基于Libpcap的網絡數(shù)據(jù)包捕獲器的設計與實現(xiàn)
        国产360激情盗摄一区在线观看 | 精品少妇人妻成人一区二区| 亚洲一区二区日韩在线| 中文字幕女同系列在线看一| 久久久精品一区aaa片| 亚洲欧美日韩一区在线观看| 色优网久久国产精品| 国产老熟女伦老熟妇露脸| 国产综合色在线精品| 天天干夜夜操| 国产欧美激情一区二区三区| 日本一区二区三区女优在线| 中文字幕人成乱码熟女| 国产乱妇乱子在线视频| 探花国产精品三级在线播放| 亚洲一区中文字幕一区| 国产精品无码无卡无需播放器| 久久久久国产精品熟女影院| 国产96在线 | 免费| 久久精品国产在热亚洲不卡 | 欧美人与动牲交a精品| 国产欧美精品一区二区三区–老狼 | 久久av无码精品一区二区三区| 精品人妻一区二区蜜臀av| 亚洲色图三级在线观看| 成年免费视频黄网站zxgk| 国产内射XXXXX在线| 激情免费视频一区二区三区| 狠狠色欧美亚洲狠狠色www| 欧美巨大巨粗黑人性aaaaaa| 久久免费精品国产72精品剧情| 深夜日韩在线观看视频| 亚洲精品第一国产综合精品| 欧美精品免费观看二区| 国产精品一区二区三密桃| 日韩精品免费一区二区三区观看 | 吃奶呻吟打开双腿做受视频| 亚洲视频在线看| 丝袜美女美腿一区二区| 性人久久久久| 台湾佬综合网|