專利名稱:Usb3.0局域網(wǎng)極速數(shù)據(jù)交換機(jī)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)通信領(lǐng)域,特別涉及多臺計算機(jī)之間通信的數(shù)據(jù)通信技術(shù)領(lǐng)域,具體是指USB3. 0局域網(wǎng)極速數(shù)據(jù)交換機(jī)。
背景技術(shù):
USB是一種應(yīng)用在計算機(jī)領(lǐng)域的接口技術(shù),具有熱插拔、易攜帶、傳輸速度快等優(yōu)點(diǎn)。由于USB的各種優(yōu)點(diǎn),各種操作系統(tǒng)如windows系列、1 inux系列均支持這種接口技術(shù), 這使得USB技術(shù)應(yīng)用更為廣泛。隨著USB技術(shù)的不斷發(fā)展和完善,USB傳輸速度越來越快, USB3. 0的比特率更是達(dá)到了 5Gbps。目前電腦之間的數(shù)據(jù)交換主要是通過路由器、交換機(jī)和雙機(jī)互聯(lián)網(wǎng)線完成,其數(shù)據(jù)交換速率均在lOMB/s以下。在普通情況下,通過路由器連接的兩臺電腦之間的數(shù)據(jù)交換速率往往不到500KB/S。在多計算機(jī)組成的系統(tǒng)中,數(shù)據(jù)交換頻繁,數(shù)據(jù)流量大,現(xiàn)有的數(shù)據(jù)交換速率將成為技術(shù)瓶頸。
發(fā)明內(nèi)容
針對上述需求,本發(fā)明所要解決的技術(shù)問題是提供一種能實(shí)現(xiàn)USB3. 0極限傳輸速度、提高多臺計算機(jī)數(shù)據(jù)交換效率、方便實(shí)用、穩(wěn)定可靠的USB3. 0局域網(wǎng)極速數(shù)據(jù)交換機(jī)。為此,本發(fā)明采用以下技術(shù)方案
一種USB3. 0局域網(wǎng)極速數(shù)據(jù)交換機(jī),其特征是包括多個USB3. 0節(jié)點(diǎn)、USB3. 0節(jié)點(diǎn)配置存儲器、交換機(jī)內(nèi)部通信總線、鏈路配置總線、USB3. 0鏈路控制器,所述交換機(jī)為各個 USB3. 0節(jié)點(diǎn)配置專用的數(shù)據(jù)交換總線;
所述的USB3. 0鏈路控制器用于數(shù)據(jù)交換機(jī)各個USB3. 0節(jié)點(diǎn)之間的通信鏈路搭建與拆
除;
所述的數(shù)據(jù)交換總線用于將其所配屬的USB3. 0節(jié)點(diǎn)連接到所述的USB3. 0鏈路控制器的相應(yīng)輸入輸出引腳上;
USB3. 0外設(shè)控制器通過所述的鏈路配置總線向USB3. 0鏈路控制器實(shí)時發(fā)送通信鏈路的搭建與拆除指令;
所述的USB3. 0節(jié)點(diǎn)配置存儲器用于存儲節(jié)點(diǎn)配置信息;
所述的USB3. 0節(jié)點(diǎn)包括USB3. 0接口和USB3. 0外設(shè)控制器,USB3. 0接口和USB3. 0外設(shè)控制器相連;所述的USB3. 0外設(shè)控制器包括USB3. 0端點(diǎn)、數(shù)據(jù)緩存區(qū)、USB3. OPHY引擎、 USB3. 0微控制內(nèi)核、交換機(jī)內(nèi)部通信控制器和鏈路配置控制器;所述的USB3. OPHY引擎為 USB3. 0接口數(shù)據(jù)發(fā)送接收電路;所述的USB3. 0微控制內(nèi)核為USB3. 0外設(shè)控制器內(nèi)部用于處理運(yùn)算的CPU處理器;所述的交換機(jī)內(nèi)部通信控制器用于控制所述的交換機(jī)內(nèi)部通信總線上的控制數(shù)據(jù)傳輸;所述的鏈路配置控制器用于控制所述的鏈路配置總線上通信鏈路的搭建與拆除指令的實(shí)時發(fā)送;所述的USB3. 0端點(diǎn)劃分為USB3. 0實(shí)時發(fā)送端點(diǎn)和USB3. 0實(shí)時接收端點(diǎn);所述的數(shù)據(jù)緩存區(qū)用于存放與數(shù)據(jù)交換機(jī)別的USB3. 0節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交換的數(shù)據(jù);所述的數(shù)據(jù)緩存區(qū)劃分為實(shí)時發(fā)送數(shù)據(jù)緩存區(qū)和實(shí)時接收數(shù)據(jù)緩存區(qū);所述的實(shí)時發(fā)送數(shù)據(jù)緩存區(qū)和所述的USB3. 0實(shí)時發(fā)送端點(diǎn)形成實(shí)時數(shù)據(jù)發(fā)送通道;所述的實(shí)時接收數(shù)據(jù)緩存區(qū)和所述的USB3. 0實(shí)時接收端點(diǎn)形成實(shí)時數(shù)據(jù)接收通道;經(jīng)所述的實(shí)時數(shù)據(jù)接收通道所述的USB3. 0外設(shè)控制器發(fā)起與該USB3. 0外設(shè)控制器所屬節(jié)點(diǎn)相連的計算機(jī)的數(shù)據(jù)接收;經(jīng)所述的實(shí)時數(shù)據(jù)發(fā)送通道所述的USB3. 0外設(shè)控制器發(fā)起與該USB3. 0外設(shè)控制器所屬節(jié)點(diǎn)相連的計算機(jī)向該實(shí)時數(shù)據(jù)發(fā)送通道中的USB3. 0實(shí)時發(fā)送端點(diǎn)的數(shù)據(jù)發(fā)送; 當(dāng)USB3. 0實(shí)時接收端點(diǎn)收到實(shí)時接收數(shù)據(jù)緩存區(qū)傳來的的數(shù)據(jù)長度達(dá)到一個數(shù)據(jù)包長度后,USB3. 0外設(shè)控制器就立即發(fā)起由所述的USB3. 0實(shí)時接收端點(diǎn)向該USB3. 0外設(shè)控制器所屬節(jié)點(diǎn)相連的計算機(jī)的數(shù)據(jù)傳輸;當(dāng)USB3. 0實(shí)時發(fā)送端點(diǎn)發(fā)送完一個數(shù)據(jù)包長度的數(shù)據(jù)到實(shí)時發(fā)送數(shù)據(jù)緩存區(qū)后,USB3. 0外設(shè)控制器就立即發(fā)起該USB3. 0外設(shè)控制器所屬節(jié)點(diǎn)相連的計算機(jī)向USB3. 0實(shí)時發(fā)送端點(diǎn)的數(shù)據(jù)傳輸,由此可保證數(shù)據(jù)的實(shí)時傳輸;各個USB3. 0外設(shè)控制器中的交換機(jī)內(nèi)部通信控制器和USB3. 0節(jié)點(diǎn)配置存儲器通過所述的交換機(jī)內(nèi)部通信總線互聯(lián)在一起組成交換機(jī)內(nèi)部通信網(wǎng)絡(luò),實(shí)現(xiàn)控制數(shù)據(jù)的傳輸。
在采用上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可同時采用以下技術(shù)方案所述的USB3. 0節(jié)點(diǎn)還包括總線變換器,所述的總線變換器位于USB3. 0外設(shè)控制器和 USB3. 0鏈路控制器連接的數(shù)據(jù)交換總線上,位于總線變換器與USB3. 0外設(shè)控制器之間的數(shù)據(jù)總線比位于總線變換器與USB3. 0鏈路控制器之間的數(shù)據(jù)總線寬度要寬,位于總線變換器與USB3. 0外設(shè)控制器之間的數(shù)據(jù)總線數(shù)據(jù)傳輸頻率比位于總線變換器與USB3. 0鏈路控制器之間的數(shù)據(jù)總線傳輸頻率要低。
所述的USB3. 0局域網(wǎng)極速數(shù)據(jù)交換機(jī)還包括USB3. 0網(wǎng)關(guān),所述的USB3. 0網(wǎng)關(guān)實(shí)現(xiàn)交換機(jī)和其他網(wǎng)絡(luò)之間的通信。
所述的USB3. 0外設(shè)控制器中的USB3. 0端點(diǎn)除USB3. 0實(shí)時發(fā)送端點(diǎn)和USB3. 0實(shí)時接收端點(diǎn)之外還劃分有非實(shí)時USB3. 0端點(diǎn),所述的USB3. 0外設(shè)控制器中的數(shù)據(jù)緩存區(qū)除實(shí)時發(fā)送數(shù)據(jù)緩存區(qū)和實(shí)時接收數(shù)據(jù)緩存區(qū)之外還劃分有非實(shí)時數(shù)據(jù)緩存區(qū),所述的非實(shí)時USB3. 0端點(diǎn)和非實(shí)時數(shù)據(jù)緩存區(qū)形成非實(shí)時數(shù)據(jù)交換通道,所述的USB3. 0外設(shè)控制器所屬的節(jié)點(diǎn)相連的計算機(jī)發(fā)起與所述的非實(shí)時數(shù)據(jù)交換通道的數(shù)據(jù)交換。
所述的USB3. 0節(jié)點(diǎn)配置存儲器為EEPROM ;所述的鏈路配置總線為SPI總線;所述的交換機(jī)內(nèi)部通信總線為1 總線;所述的USB3. 0鏈路控制器為FPGA芯片。
所述的總線變換器為總線交換芯片;所述的總線交換芯片與所述的USB3. 0外設(shè)控制器之間的數(shù)據(jù)交換總線寬度為32位,數(shù)據(jù)交換頻率為為100MHZ,所述的總線交換芯片與所述的USB3. 0鏈路控制器之間的數(shù)據(jù)交換總線寬度為16位,數(shù)據(jù)交換頻率為200MHZ。
所述的USB3. 0節(jié)點(diǎn)配置存儲器為AT24C64芯片;所述的USB3. 0外設(shè)控制器為 CYUSB3014 芯片。
所述的總線交換芯片為SN74ALVCHG162282芯片。
由于采用本發(fā)明的技術(shù)方案,本發(fā)明與現(xiàn)有技術(shù)相比,其具有以下優(yōu)點(diǎn)1)、傳輸速度快,任意一個節(jié)點(diǎn)數(shù)據(jù)傳輸速度可達(dá)到3.2(ib/S,一臺計算機(jī)IGB的數(shù)據(jù)要通過該交換機(jī)傳輸?shù)搅硪慌_計算機(jī)上,僅需不到3秒鐘;2)、可擴(kuò)展性強(qiáng);3)、有數(shù)據(jù)錯誤處理操作,數(shù)據(jù)傳輸穩(wěn)定可靠;
4)、特別適合由多臺計算機(jī)組成的系統(tǒng)內(nèi)部頻繁的數(shù)據(jù)交換;
5)、連接方便,支持熱插拔;
6)、攜帶方便。
圖1是本發(fā)明實(shí)施例應(yīng)用示意圖; 圖2是本發(fā)明實(shí)施例數(shù)據(jù)交換示意圖; 圖3是本發(fā)明實(shí)施例的結(jié)構(gòu)示意圖4是本發(fā)明中USB3. 0外設(shè)控制器的結(jié)構(gòu)示意圖; 圖5是本發(fā)明節(jié)點(diǎn)1的電路原理圖; 圖6是CYUSB3014的內(nèi)部結(jié)構(gòu)示意圖; 圖7是總線交換芯片的結(jié)構(gòu)示意圖; 圖8是FPGA的連接示意圖; 圖9是數(shù)據(jù)交換控制命令碼表; 圖10是計算機(jī)1和計算機(jī)2數(shù)據(jù)交換操作流程圖; 圖11是本實(shí)施例中計算機(jī)1和計算機(jī)2數(shù)據(jù)錯誤處理操作流程圖。
具體實(shí)施例方式為了更清楚地理解本發(fā)明的技術(shù)內(nèi)容,特舉以下實(shí)施例詳細(xì)說明。請參照圖1,是本發(fā)明實(shí)施例應(yīng)用示意圖。多臺計算機(jī)通過USB3.0總線連接到 USB3. 0局域網(wǎng)極速數(shù)據(jù)交換機(jī)上,交換機(jī)上有一個其他網(wǎng)絡(luò)接口如RJ-45,通過這個接口與其他網(wǎng)絡(luò)相連。連接到交換機(jī)上的計算機(jī)之間可以任意交換數(shù)據(jù),每一臺計算機(jī)上的數(shù)據(jù)交換速率最高可達(dá)3. 2Gb/s,也就是說任意一臺計算機(jī)上IGB的數(shù)據(jù)在3秒鐘內(nèi)就可以傳到另外一臺計算機(jī)上。請參照圖2,是本發(fā)明實(shí)施例數(shù)據(jù)交換示意圖,一臺計算機(jī)上的應(yīng)用程序開辟多個實(shí)時數(shù)據(jù)發(fā)送、多個實(shí)時數(shù)據(jù)接收和多個非實(shí)時數(shù)據(jù)交換緩沖區(qū),分別通過多個管道與所連USB3. 0節(jié)點(diǎn)的USB3. 0外設(shè)控制器中的多個USB3. 0實(shí)時發(fā)送端點(diǎn)、多個USB3. 0實(shí)時接收端點(diǎn)和多個USB3. 0非實(shí)時端點(diǎn)交換數(shù)據(jù),一個USB3. 0節(jié)點(diǎn)的USB3. 0外設(shè)控制器再通過USB3. 0鏈路控制器搭建好的鏈路與另一個USB3. 0節(jié)點(diǎn)的USB3. 0外設(shè)控制器的多個 USB3. 0實(shí)時發(fā)送端點(diǎn)、多個USB3. 0實(shí)時接收端點(diǎn)和多個USB3. 0非實(shí)時端點(diǎn)交換數(shù)據(jù),該另一個USB3. 0節(jié)點(diǎn)的USB3. 0外設(shè)控制器再通過多個管道與相連的計算機(jī)內(nèi)的應(yīng)用程序開辟的開辟多個實(shí)時數(shù)據(jù)發(fā)送、多個實(shí)時數(shù)據(jù)接收和多個非實(shí)時數(shù)據(jù)交換緩沖區(qū)實(shí)現(xiàn)數(shù)據(jù)交換。請參照圖3,在本發(fā)明實(shí)施例的USB3.0局域網(wǎng)極速數(shù)據(jù)交換機(jī),主要包括多個 USB3. 0節(jié)點(diǎn),一個節(jié)點(diǎn)配置存儲器,交換機(jī)內(nèi)部通信總線,鏈路配置總線,一個USB3. 0鏈路控制器,一個USB3.0網(wǎng)關(guān),交換機(jī)為各個USB3.0節(jié)點(diǎn)配置專用的數(shù)據(jù)交換總線。USB3. 0 鏈路控制器用于數(shù)據(jù)交換機(jī)各個USB3. 0節(jié)點(diǎn)之間的通信鏈路搭建與拆除。數(shù)據(jù)交換總線用于將其所配屬的USB3. 0節(jié)點(diǎn)連接到所述的USB3. 0鏈路控制器的相應(yīng)輸入輸出引腳上。
6USB3.0節(jié)點(diǎn)配置存儲器用于存儲節(jié)點(diǎn)配置信息。USB3.0網(wǎng)關(guān)實(shí)現(xiàn)交換機(jī)和其他網(wǎng)絡(luò)之間的通信。
一個USB3. 0節(jié)點(diǎn)包括一個USB3. 0接口、一個USB3. 0外設(shè)控制器和一個總線變換器。USB3. 0接口和USB3. 0外設(shè)控制器通過USB3. 0總線相連,USB3. 0外設(shè)控制器和總線變換器之間連接有數(shù)據(jù)交換總線,總線變換器再通過數(shù)據(jù)交換總線將一個節(jié)點(diǎn)連接到 USB3. 0鏈路控制器上??偩€變換器位于USB3. 0外設(shè)控制器和USB3. 0鏈路控制器連接的數(shù)據(jù)交換總線上,位于總線變換器與USB3. 0外設(shè)控制器之間的數(shù)據(jù)總線比位于總線變換器與USB3. 0鏈路控制器之間的數(shù)據(jù)總線寬度要寬,位于總線變換器與USB3. 0外設(shè)控制器之間的數(shù)據(jù)總線數(shù)據(jù)傳輸頻率比位于總線變換器與USB3. 0鏈路控制器之間的數(shù)據(jù)總線傳輸頻率要低。
各個USB3. 0外設(shè)控制器和USB3. 0節(jié)點(diǎn)配置存儲器通過交換機(jī)內(nèi)部通信總線互聯(lián)在一起組成交換機(jī)內(nèi)部通信網(wǎng)絡(luò),實(shí)現(xiàn)控制數(shù)據(jù)的傳輸。圖中的USB3. 0外設(shè)控制器通過連接到USB3. 0鏈路控制器上的鏈路配置總線,發(fā)送通信鏈路的搭建與拆除指令控制數(shù)據(jù)交換機(jī)各個USB3. 0節(jié)點(diǎn)之間的通信鏈路搭建與拆除。
請參照圖4,是本發(fā)明中USB3. 0外設(shè)控制器的結(jié)構(gòu)示意圖。該USB3. 0外設(shè)控制器包括USB3. 0端點(diǎn)、數(shù)據(jù)緩存區(qū)、USB3. OPHY引擎、USB3. 0微控制內(nèi)核、交換機(jī)內(nèi)部通信控制器和鏈路配置控制器;USB3. OPHY引擎為USB3. 0接口數(shù)據(jù)發(fā)送接收電路;USB3. 0微控制內(nèi)核為USB3. 0外設(shè)控制器內(nèi)部用于處理運(yùn)算的CPU處理器;交換機(jī)內(nèi)部通信控制器用于控制所述的交換機(jī)內(nèi)部通信總線上的控制數(shù)據(jù)傳輸;鏈路配置控制器用于控制所述的鏈路配置總線上通信鏈路的搭建與拆除指令的實(shí)時發(fā)送;USB3. 0端點(diǎn)包括有USB3. 0實(shí)時發(fā)送端點(diǎn)、USB3. 0實(shí)時接收端點(diǎn)和非實(shí)時USB3. 0端點(diǎn);數(shù)據(jù)緩存區(qū)用于存放與數(shù)據(jù)交換機(jī)中別的USB3. 0節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交換的數(shù)據(jù);數(shù)據(jù)緩存區(qū)包括有實(shí)時發(fā)送數(shù)據(jù)緩存區(qū)、實(shí)時接收數(shù)據(jù)緩存區(qū)和非實(shí)時數(shù)據(jù)緩存區(qū);實(shí)時發(fā)送數(shù)據(jù)緩存區(qū)和USB3. 0實(shí)時發(fā)送端點(diǎn)形成實(shí)時數(shù)據(jù)發(fā)送通道;實(shí)時接收數(shù)據(jù)緩存區(qū)和USB3. 0實(shí)時接收端點(diǎn)形成實(shí)時數(shù)據(jù)接收通道;經(jīng)實(shí)時數(shù)據(jù)接收通道,USB3. 0外設(shè)控制器發(fā)起與該USB3. 0外設(shè)控制器所屬USB3. 0節(jié)點(diǎn)相連的計算機(jī)的數(shù)據(jù)接收;經(jīng)實(shí)時數(shù)據(jù)發(fā)送通道,USB3. 0外設(shè)控制器發(fā)起與該USB3. 0外設(shè)控制器所屬USB3. 0節(jié)點(diǎn)相連的計算機(jī)向該實(shí)時數(shù)據(jù)發(fā)送通道中的USB3. 0實(shí)時發(fā)送端點(diǎn)的數(shù)據(jù)發(fā)送;當(dāng)USB3. 0實(shí)時接收端點(diǎn)收到實(shí)時接收數(shù)據(jù)緩存區(qū)傳來的數(shù)據(jù)長度達(dá)到一個數(shù)據(jù)包長度后,USB3. 0外設(shè)控制器就立即發(fā)起由所述的USB3. 0實(shí)時接收端點(diǎn)向該USB3. 0外設(shè)控制器所屬USB3. 0節(jié)點(diǎn)相連的計算機(jī)的數(shù)據(jù)傳輸;當(dāng)USB3. 0實(shí)時發(fā)送端點(diǎn)發(fā)送完一個數(shù)據(jù)包長度的數(shù)據(jù)到實(shí)時發(fā)送數(shù)據(jù)緩存區(qū)后,USB3. 0外設(shè)控制器就立即發(fā)起該USB3. 0外設(shè)控制器所屬USB3. 0節(jié)點(diǎn)相連的計算機(jī)向該實(shí)時數(shù)據(jù)發(fā)送通道中的USB3. 0實(shí)時發(fā)送端點(diǎn)的數(shù)據(jù)傳輸,由此可保證數(shù)據(jù)的實(shí)時傳輸;非實(shí)時USB3. 0端點(diǎn)和非實(shí)時數(shù)據(jù)緩存區(qū)形成非實(shí)時數(shù)據(jù)交換通道,USB3. 0外設(shè)控制器所屬的節(jié)點(diǎn)相連的計算機(jī)發(fā)起與非實(shí)時數(shù)據(jù)交換通道的數(shù)據(jù)交換。
根據(jù)USB3.0協(xié)議,對實(shí)時數(shù)據(jù)傳送限制了帶寬,即不能將全部帶寬分配給由 USB3. 0外設(shè)控制器發(fā)起的傳輸。因此在本實(shí)施例中劃分出了非實(shí)時數(shù)據(jù)交換通道,用于最大限度的開發(fā)USB3.0帶寬。
在實(shí)際應(yīng)用中,USB3. 0節(jié)點(diǎn)接收從所連計算機(jī)發(fā)送出來的數(shù)據(jù),將具有USB3. 0格式的數(shù)據(jù)解碼,然后將解碼后的數(shù)據(jù)通過搭建好的通信鏈路發(fā)送到數(shù)據(jù)接收節(jié)點(diǎn),數(shù)據(jù)接收節(jié)點(diǎn)再將數(shù)據(jù)包裝成USB3.0格式,發(fā)送到接收方計算機(jī)上,從而實(shí)現(xiàn)了數(shù)據(jù)的交換。在實(shí)際應(yīng)用中,如果USB3. 0帶寬全部用于數(shù)據(jù)交換,由于USB3. 0數(shù)據(jù)信號帶寬為 5Gb/s,除去編碼冗余,實(shí)際數(shù)據(jù)信號帶寬可達(dá)到4(ib/S,本發(fā)明中的任意一條數(shù)據(jù)鏈路數(shù)據(jù)吞吐量高達(dá)3. 2Gb/s。在本系統(tǒng)實(shí)施例中USB3. 0節(jié)點(diǎn)配置存儲器采用EEPROM芯片ATMC64 ;USB3. 0外設(shè)控制器采用CYUSB3014芯片;USB3. 0鏈路控制器采用FPGA芯片;總線變換器采用總線交換芯片SN74ALVCHG162282。鏈路配置總線采用SPI總線,交換機(jī)內(nèi)部通信總線采用1 總線。請參照圖5,是節(jié)點(diǎn)的電路原理圖。圖中CYUSB3014為USB3. 0外設(shè)控制器,該芯片集成了 SPI控制器、1 控制器。在本實(shí)施例中SPI控制器即為鏈路配置控制器,1 控制器即為交換機(jī)內(nèi)部通信控制器,SPI總線即為鏈路配置總線,1 總線即為交換機(jī)內(nèi)部通信總線。CYUSB3014通過I2C總線與其他節(jié)點(diǎn)和節(jié)點(diǎn)配置存儲器組成內(nèi)部通信網(wǎng)絡(luò),實(shí)現(xiàn)控制數(shù)據(jù)的傳輸;CYUSB3014通過SPI總線實(shí)時配置FPGA實(shí)現(xiàn)鏈路的搭建和拆除。請參照圖6,是CYUSB3014的內(nèi)部結(jié)構(gòu)示意圖。CYUSB3014內(nèi)部還集成了 ARM926EJ、 USB3. OPHY引擎、USB3. 0端點(diǎn)和數(shù)據(jù)緩存區(qū)。ARM926EJ是USB3. 0微控制內(nèi)核,USB3. OPHY 引擎用于USB3. 0數(shù)據(jù)串行發(fā)送和接收,USB3. 0端點(diǎn)存儲與直連計算機(jī)交換的數(shù)據(jù),計算機(jī)可通過USB3. 0總線直接讀取USB3. 0端點(diǎn)內(nèi)的數(shù)據(jù),數(shù)據(jù)緩存區(qū)用于存放通過總線變換器和鏈路控制器與別的節(jié)點(diǎn)交換的數(shù)據(jù)。請參照圖7。總線變換器采用總線交換芯片,SN74ALVCHG162282芯片是本實(shí)施例中使用的總線交換芯片。在本實(shí)施例中總線交換芯片與USB3. 0外設(shè)控制器之間的數(shù)據(jù)交換總線寬度比總線交換芯片與USB3. 0鏈路控制器之間的數(shù)據(jù)交換總線寬度大一倍,總線交換芯片與USB3. 0外設(shè)控制器之間的數(shù)據(jù)交換總線數(shù)據(jù)交換頻率比所述的總線交換芯片與USB3. 0鏈路控制器之間的數(shù)據(jù)交換總線數(shù)據(jù)交換頻率小一半。SN74ALVCHG162282 包含 32 位的 B 組總線,分為 Bl 和 B2 ;SN74ALVCHG162282 還包含16位的A組總線,有一個SEL選擇信號引腳,有一個WR方向控制引腳,有一個OE輸出使能引腳。當(dāng)WR為高電平時,表示A組總線向B組總線傳輸,一個SEL周期內(nèi),CLK的第一個上升沿將A組數(shù)據(jù)鎖存到B2,CLK的第二個上升沿將A組數(shù)據(jù)鎖存到Bi,在SEL為低電平時B組總線上的數(shù)據(jù)將被讀取,從而實(shí)現(xiàn)了 B組總線向A組總線的數(shù)據(jù)傳輸。當(dāng)WR 為低電平時,表示B組總線向A組總線傳輸,SEL為高電平時,CLK的上升沿將Bl總線上的數(shù)據(jù)鎖存到A組總線上,SEL為低電平時,CLK的上升沿將B2總線上的數(shù)據(jù)鎖存到A組總線上,從而實(shí)現(xiàn)了 B組總線向A組總線傳輸。在實(shí)際應(yīng)用中SEL接USB3. 0外設(shè)控制器的讀寫時鐘,CLK接鏈路控制器的讀寫時鐘,同時將USB3. 0外設(shè)控制器上的讀寫時鐘接到FPGA 內(nèi),實(shí)現(xiàn)SEL信號和CLK信號在固定相位上的同步。在本系統(tǒng)實(shí)施例中,采用總線交換芯片SN74ALVCHG162^2,總線交換芯片與 USB3. 0外設(shè)控制器之間的數(shù)據(jù)交換總線寬度為32位,數(shù)據(jù)交換頻率為100MHZ ;總線交換芯片與USB3. 0鏈路控制器之間的數(shù)據(jù)交換總線寬度為16位,數(shù)據(jù)交換頻率為200MHZ。通過總線交換器芯片SN74ALVCHG162^2,使得連接到鏈路控制器上的數(shù)據(jù)交換總線縮短了一半,可使相同輸入輸出接口數(shù)量的鏈路控制器可以連接更多的節(jié)點(diǎn)。
請參照圖8,是本實(shí)施例中FPGA的連接示意圖,圖中FPGA分出η組鏈路控制數(shù)據(jù)總線、一組網(wǎng)關(guān)數(shù)據(jù)總線和一組SPI總線,USB3. 0外設(shè)控制器1通過SPI總線設(shè)置FPGA的控制位,F(xiàn)PGA根據(jù)對控制位的編碼,實(shí)現(xiàn)任意兩個數(shù)據(jù)總線的內(nèi)部連通和斷開,從而實(shí)現(xiàn)鏈路的搭建和拆除。
節(jié)點(diǎn)配置存儲器掛接在1 總線上,用于存儲節(jié)點(diǎn)配置表,節(jié)點(diǎn)配置表為由每一個節(jié)點(diǎn)上的計算機(jī)ID、計算機(jī)名稱、節(jié)點(diǎn)地址和對應(yīng)的物理接口地址組成的節(jié)點(diǎn)配置記錄組成的表格。
在此介紹一下動態(tài)節(jié)點(diǎn)地址分配和靜態(tài)節(jié)點(diǎn)地址分配。節(jié)點(diǎn)地址分配,就是給交換機(jī)的每一個節(jié)點(diǎn)分配一個地址,用于區(qū)分不同的節(jié)點(diǎn),當(dāng)計算機(jī)要與另一臺計算機(jī)交換數(shù)據(jù)時,就可以通過節(jié)點(diǎn)地址確定是要與哪一臺計算機(jī)交換數(shù)據(jù)。
動態(tài)節(jié)點(diǎn)地址分配,就是交換機(jī)工作在動態(tài)節(jié)點(diǎn)工作模式。該工作模式動態(tài)地為接入節(jié)點(diǎn)的計算機(jī)分配節(jié)點(diǎn)地址,計算機(jī)每次接入交換機(jī)節(jié)點(diǎn)所分配到的節(jié)點(diǎn)地址不一定相同。當(dāng)一臺計算機(jī)接入交換機(jī)的一個節(jié)點(diǎn)時,交換機(jī)就獲取計算機(jī)ID和計算機(jī)名稱,并將計算機(jī)ID、計算機(jī)名稱、節(jié)點(diǎn)地址和對應(yīng)的物理接口地址作為一個節(jié)點(diǎn)配置記錄添加到節(jié)點(diǎn)配置表。當(dāng)計算機(jī)斷開節(jié)點(diǎn)時,交換機(jī)就將該節(jié)點(diǎn)配置記錄從節(jié)點(diǎn)配置表中刪除掉。
靜態(tài)節(jié)點(diǎn)地址分配,就是交換機(jī)工作在靜態(tài)節(jié)點(diǎn)工作模式。該工作模式下,計算機(jī)設(shè)置好靜態(tài)節(jié)點(diǎn)地址,并下載到交換機(jī)內(nèi),交換機(jī)會檢查現(xiàn)有的節(jié)點(diǎn)配置表,如果節(jié)點(diǎn)地址與現(xiàn)有的節(jié)點(diǎn)地址不重合,交換機(jī)將計算機(jī)ID、計算機(jī)名稱、節(jié)點(diǎn)地址和對應(yīng)的物理接口地址作為一個節(jié)點(diǎn)配置記錄添加到節(jié)點(diǎn)配置表;如果交換機(jī)發(fā)現(xiàn)下載下來的節(jié)點(diǎn)地址與現(xiàn)有地址重合,交換機(jī)會提醒計算機(jī)地址沖突,并要求重新設(shè)置節(jié)點(diǎn)地址。當(dāng)計算機(jī)斷開節(jié)點(diǎn)時,交換機(jī)不將該節(jié)點(diǎn)配置記錄從節(jié)點(diǎn)配置表中刪除掉。當(dāng)計算機(jī)下一次接入交換機(jī)時,不用重新設(shè)置節(jié)點(diǎn)地址。計算機(jī)設(shè)置靜態(tài)節(jié)點(diǎn)地址時,如果計算機(jī)已連接到交換機(jī),則計算機(jī)可以查看交換機(jī)內(nèi)可供分配的節(jié)點(diǎn)地址。
交換機(jī)在第一次使用時,默認(rèn)工作于動態(tài)節(jié)點(diǎn)工作模式。之后可由計算機(jī)修改交換機(jī)的工作模式。
節(jié)點(diǎn)配置表由節(jié)點(diǎn)配置記錄組成,每一個節(jié)點(diǎn)配置記錄為物理接口地址、節(jié)點(diǎn)地址、計算機(jī)ID和計算機(jī)名稱的一一映射記錄。
請參照圖9,是本實(shí)施例中數(shù)據(jù)交換控制命令碼表。數(shù)據(jù)交換控制命令碼為所用到的控制操作的編碼。
請參照圖10,是本實(shí)施例中計算機(jī)1和計算機(jī)2數(shù)據(jù)交換操作流程圖,在該操作中計算機(jī)1連接到U3節(jié)點(diǎn),計算機(jī)2連接到U4節(jié)點(diǎn),計算機(jī)1向計算機(jī)2發(fā)送數(shù)據(jù)。該數(shù)據(jù)交換操作包含以下步驟①數(shù)據(jù)交換的兩臺計算機(jī)之間建立起數(shù)據(jù)交換事務(wù),②USB3.0局域網(wǎng)極速數(shù)據(jù)交換機(jī)建立起數(shù)據(jù)交換鏈路,③啟動數(shù)據(jù)交換,④不斷傳送要交換的數(shù)據(jù),直至傳送完,若數(shù)據(jù)交換中發(fā)現(xiàn)數(shù)據(jù)錯誤,申請所述的數(shù)據(jù)錯誤處理操作,⑤結(jié)束數(shù)據(jù)交換,⑥撤銷數(shù)據(jù)交換鏈路,①結(jié)束數(shù)據(jù)交換事務(wù)。請參照圖11,是本實(shí)施例中計算機(jī)1和計算機(jī)2數(shù)據(jù)錯誤處理操作流程圖,在該操作中計算機(jī)ι連接到U3節(jié)點(diǎn),計算機(jī)2連接到U4節(jié)點(diǎn),計算機(jī)1向計算機(jī)2發(fā)送數(shù)據(jù)。該數(shù)據(jù)錯誤處理操作包含以下步驟
①接收方主機(jī)發(fā)現(xiàn)錯誤數(shù)據(jù)塊,
②發(fā)送錯誤數(shù)據(jù)塊編號至發(fā)送方,
③發(fā)送方重新發(fā)送所述的錯誤數(shù)據(jù)塊編號的數(shù)據(jù),
④結(jié)束數(shù)據(jù)錯誤處理操作。在實(shí)際的數(shù)據(jù)傳輸過程中,由于充分利用了 USB3.0總線帶寬,傳輸速率達(dá)到了 3. 2(ib/S。一臺計算機(jī)上IGB的數(shù)據(jù)傳到另一臺計算機(jī)上僅需3秒鐘,由于采取了數(shù)據(jù)錯誤重傳機(jī)制,數(shù)據(jù)誤碼率為0。在此說明書中,本發(fā)明已參照其特定的實(shí)施例做了描述。但是,很顯然仍可以做出各種修改和變換而不背離本發(fā)明的精神和范圍。因此說明書和附圖應(yīng)被認(rèn)為是說明性的而非限定性的。本發(fā)明中的英文簡寫注釋如下
USB 英文Universal Serial BUS (通用串行總線)的縮寫
RJ-45 RJ-45接口可用于連接RJ-45接頭,適用于由雙絞線構(gòu)建的網(wǎng)絡(luò),這種端口是最常見的,一般來說以太網(wǎng)集線器都會提供這種端口。PHY 指物理層,OSI的最底層。一般指與外部信號接口的芯片。EEPROM (Electrically Erasable Programmable Read-Only Memory),電可擦可編程只讀存儲器一一種掉電后數(shù)據(jù)不丟失的存儲芯片。AT24C64 Atmel 公司生產(chǎn)的 EEI3ROM 芯片。CYUSB3014 Cypress公司生產(chǎn)的USB3. 0外設(shè)控制器。FPGA Field - Programmable Gate Array),即現(xiàn)場可編程門陣列. SN74ALVCHG162282 TI公司生產(chǎn)的總線交換芯片。SPI 串行外圍設(shè)備接口 SPI (serial peripheral interface)總線技術(shù)是 Motorola公司推出的一種同步串行接口。I2C Inter 一 Integrated Circuit總線是由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。ARM926EJ 一種 ARM 處理器。ARM (Advanced RISC Machines)是微處理器行業(yè)的ARM公司設(shè)計的大量高性能、廉價、耗能低的RISC處理器。ID 英文IDentity的縮寫,身份標(biāo)識號的意思,在本文中不同計算機(jī)的身份標(biāo)識號。
權(quán)利要求
1.一種USB3.0局域網(wǎng)極速數(shù)據(jù)交換機(jī),其特征是包括多個USB3.0節(jié)點(diǎn)、USB3.0節(jié)點(diǎn)配置存儲器、交換機(jī)內(nèi)部通信總線、鏈路配置總線、USB3. 0鏈路控制器,所述交換機(jī)為各個 USB3. 0節(jié)點(diǎn)配置專用的數(shù)據(jù)交換總線;所述的USB3. 0鏈路控制器用于數(shù)據(jù)交換機(jī)各個USB3. 0節(jié)點(diǎn)之間的通信鏈路搭建與拆除;所述的數(shù)據(jù)交換總線用于將其所配屬的USB3. 0節(jié)點(diǎn)連接到所述的USB3. 0鏈路控制器的相應(yīng)輸入輸出引腳上;所述的USB3. 0節(jié)點(diǎn)包括USB3. 0接口和USB3. 0外設(shè)控制器,USB3. 0接口和USB3. 0外設(shè)控制器相連;各個USB3. 0外設(shè)控制器通過所述的鏈路配置總線向USB3. 0鏈路控制器實(shí)時發(fā)送通信鏈路的搭建與拆除指令;所述的USB3. 0外設(shè)控制器包括USB3. 0端點(diǎn)、數(shù)據(jù)緩存區(qū)、USB3. OPHY引擎、USB3. 0微控制內(nèi)核、交換機(jī)內(nèi)部通信控制器和鏈路配置控制器;所述的USB3. OPHY引擎為USB3. 0接口數(shù)據(jù)發(fā)送接收電路;所述的USB3. 0微控制內(nèi)核為USB3. 0外設(shè)控制器內(nèi)部用于處理運(yùn)算的CPU處理器;所述的交換機(jī)內(nèi)部通信控制器用于控制所述的交換機(jī)內(nèi)部通信總線上的控制數(shù)據(jù)傳輸;所述的鏈路配置控制器用于控制所述的鏈路配置總線上通信鏈路的搭建與拆除指令的實(shí)時發(fā)送;所述的USB3. 0端點(diǎn)包括有USB3. 0實(shí)時發(fā)送端點(diǎn)和USB3. 0實(shí)時接收端點(diǎn);所述的數(shù)據(jù)緩存區(qū)用于存放與數(shù)據(jù)交換機(jī)中別的USB3.0節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交換的數(shù)據(jù);所述的數(shù)據(jù)緩存區(qū)包括有實(shí)時發(fā)送數(shù)據(jù)緩存區(qū)和實(shí)時接收數(shù)據(jù)緩存區(qū);所述的實(shí)時發(fā)送數(shù)據(jù)緩存區(qū)和所述的USB3. 0實(shí)時發(fā)送端點(diǎn)形成實(shí)時數(shù)據(jù)發(fā)送通道;所述的實(shí)時接收數(shù)據(jù)緩存區(qū)和所述的USB3. 0實(shí)時接收端點(diǎn)形成實(shí)時數(shù)據(jù)接收通道;經(jīng)所述的實(shí)時數(shù)據(jù)接收通道,所述的USB3. 0外設(shè)控制器發(fā)起與該USB3. 0外設(shè)控制器所屬USB3. 0節(jié)點(diǎn)相連的計算機(jī)的數(shù)據(jù)接收;經(jīng)所述的實(shí)時數(shù)據(jù)發(fā)送通道,所述的USB3. 0外設(shè)控制器發(fā)起與該USB3. 0外設(shè)控制器所屬USB3.0節(jié)點(diǎn)相連的計算機(jī)向該實(shí)時數(shù)據(jù)發(fā)送通道中的USB3.0實(shí)時發(fā)送端點(diǎn)的數(shù)據(jù)發(fā)送;當(dāng)USB3. 0實(shí)時接收端點(diǎn)收到實(shí)時接收數(shù)據(jù)緩存區(qū)傳來的數(shù)據(jù)長度達(dá)到一個數(shù)據(jù)包長度后,USB3. 0外設(shè)控制器就立即發(fā)起由所述的USB3. 0實(shí)時接收端點(diǎn)向該USB3. 0外設(shè)控制器所屬USB3. 0節(jié)點(diǎn)相連的計算機(jī)的數(shù)據(jù)傳輸;當(dāng)USB3. 0實(shí)時發(fā)送端點(diǎn)發(fā)送完一個數(shù)據(jù)包長度的數(shù)據(jù)到實(shí)時發(fā)送數(shù)據(jù)緩存區(qū)后,USB3. 0外設(shè)控制器就立即發(fā)起該USB3. 0外設(shè)控制器所屬USB3. 0節(jié)點(diǎn)相連的計算機(jī)向該實(shí)時數(shù)據(jù)發(fā)送通道中的USB3. 0實(shí)時發(fā)送端點(diǎn)的數(shù)據(jù)傳輸,由此可保證數(shù)據(jù)的實(shí)時傳輸;各個USB3. 0外設(shè)控制器中的交換機(jī)內(nèi)部通信控制器和USB3. 0節(jié)點(diǎn)配置存儲器通過所述的交換機(jī)內(nèi)部通信總線互聯(lián)在一起組成交換機(jī)內(nèi)部通信網(wǎng)絡(luò),實(shí)現(xiàn)控制數(shù)據(jù)的傳輸; 所述的USB3. 0節(jié)點(diǎn)配置存儲器用于存儲節(jié)點(diǎn)配置信息。
2.根據(jù)權(quán)利要求1所述的USB3.0局域網(wǎng)極速數(shù)據(jù)交換機(jī),其特征在于,所述的USB3. 0 節(jié)點(diǎn)還包括總線變換器,所述的總線變換器位于USB3. 0外設(shè)控制器和USB3. 0鏈路控制器連接的數(shù)據(jù)交換總線上,位于總線變換器與USB3. 0外設(shè)控制器之間的數(shù)據(jù)總線比位于總線變換器與USB3. 0鏈路控制器之間的數(shù)據(jù)總線寬度要寬,位于總線變換器與USB3. 0外設(shè)控制器之間的數(shù)據(jù)總線數(shù)據(jù)傳輸頻率比位于總線變換器與USB3. 0鏈路控制器之間的數(shù)據(jù)總線傳輸頻率要低。
3.根據(jù)權(quán)利要求1所述的USB3.0局域網(wǎng)極速數(shù)據(jù)交換機(jī),其特征在于,它還包括 USB3. 0網(wǎng)關(guān),所述的USB3. 0網(wǎng)關(guān)實(shí)現(xiàn)交換機(jī)和其他網(wǎng)絡(luò)之間的通信。
4.根據(jù)權(quán)利要求1所述的USB3.0局域網(wǎng)極速數(shù)據(jù)交換機(jī),其特征在于,所述的USB3. 0 外設(shè)控制器中的USB3. 0端點(diǎn)除USB3. 0實(shí)時發(fā)送端點(diǎn)和USB3. 0實(shí)時接收端點(diǎn)之外還包括有非實(shí)時USB3. 0端點(diǎn),所述的USB3. 0外設(shè)控制器中的數(shù)據(jù)緩存區(qū)除實(shí)時發(fā)送數(shù)據(jù)緩存區(qū)和實(shí)時接收數(shù)據(jù)緩存區(qū)之外還包括有非實(shí)時數(shù)據(jù)緩存區(qū),所述的非實(shí)時USB3. 0端點(diǎn)和非實(shí)時數(shù)據(jù)緩存區(qū)形成非實(shí)時數(shù)據(jù)交換通道,所述的USB3. 0外設(shè)控制器所屬的節(jié)點(diǎn)相連的計算機(jī)發(fā)起與所述的非實(shí)時數(shù)據(jù)交換通道的數(shù)據(jù)交換。
5.根據(jù)權(quán)利要求1所述的USB3.0局域網(wǎng)極速數(shù)據(jù)交換機(jī),其特征在于所述的USB3. 0節(jié)點(diǎn)配置存儲器為EEPROM ;所述的鏈路配置總線為SPI總線總線;所述的交換機(jī)內(nèi)部通信總線為1 總線;所述的USB3. 0鏈路控制器為FPGA芯片。
6.根據(jù)權(quán)利要求2所述的USB3.0局域網(wǎng)極速數(shù)據(jù)交換機(jī),其特征在于,所述的總線變換器為總線交換芯片;所述的總線交換芯片與所述的USB3. 0外設(shè)控制器之間的數(shù)據(jù)交換總線寬度比所述的總線交換芯片與所述的USB3. 0鏈路控制器之間的數(shù)據(jù)交換總線寬度大一倍,所述的總線交換芯片與所述的USB3. 0外設(shè)控制器之間的數(shù)據(jù)交換總線數(shù)據(jù)交換頻率比所述的總線交換芯片與所述的USB3. 0鏈路控制器之間的數(shù)據(jù)交換總線數(shù)據(jù)交換頻率小一半。
7.根據(jù)權(quán)利要求1所述的USB3.0局域網(wǎng)極速數(shù)據(jù)交換機(jī),其特征在于所述的USB3. 0節(jié)點(diǎn)配置存儲器為AT24C64芯片;所述的USB3. 0外設(shè)控制器為CYUSB3014芯片。
8.根據(jù)權(quán)利要求6所述的USB3.0局域網(wǎng)極速數(shù)據(jù)交換機(jī),其特征在于,所述的總線交換芯片為SN74ALVCHG162282芯片。
全文摘要
本發(fā)明首先所要解決的技術(shù)問題是提供一種USB3.0局域網(wǎng)極速數(shù)據(jù)交換機(jī)。它包括多個USB3.0節(jié)點(diǎn)、USB3.0節(jié)點(diǎn)配置存儲器、交換機(jī)內(nèi)部通信總線、鏈路配置總線、USB3.0鏈路控制器,所述交換機(jī)為各個USB3.0節(jié)點(diǎn)配置專用的數(shù)據(jù)交換總線;本發(fā)明與現(xiàn)有技術(shù)相比,其具有以下優(yōu)點(diǎn)1)傳輸速度快,任意一個節(jié)點(diǎn)數(shù)據(jù)傳輸速度可達(dá)到3.2Gb/s,一臺計算機(jī)1GB的數(shù)據(jù)要通過該交換機(jī)傳輸?shù)搅硪慌_計算機(jī)上,僅需不到3秒鐘;2)可擴(kuò)展性強(qiáng);3)有數(shù)據(jù)錯誤處理操作,數(shù)據(jù)傳輸穩(wěn)定可靠;4)特別適合由多臺計算機(jī)組成的系統(tǒng)內(nèi)部頻繁的數(shù)據(jù)交換;5)連接方便,支持熱插拔;6)攜帶方便。
文檔編號H04L12/56GK102546401SQ201110435898
公開日2012年7月4日 申請日期2011年12月22日 優(yōu)先權(quán)日2011年12月22日
發(fā)明者葉煒, 孫文響, 張衛(wèi)杰, 李海, 王超, 顏福才 申請人:浙江大學(xué)