你的位置:首頁 > 互連技術(shù) > 正文

多USB 接口的局域網(wǎng)接入技術(shù)的實(shí)現(xiàn)

發(fā)布時(shí)間:2011-03-15

中心議題:
  • 系統(tǒng)硬件組成
  • 硬件配置
  • 測試程序和驅(qū)動(dòng)程序

目前,在局域網(wǎng)內(nèi)部,計(jì)算機(jī)接入局域網(wǎng)的傳統(tǒng)方法是通過在計(jì)算機(jī)主板上安裝以太網(wǎng)卡來實(shí)現(xiàn)網(wǎng)絡(luò)的互聯(lián)。這種接入方式需要計(jì)算機(jī)主板上有閑置的ISA或者PCI插槽,還需要上級(jí)網(wǎng)絡(luò)設(shè)備有足夠的接口支持。當(dāng)上級(jí)網(wǎng)絡(luò)設(shè)備的下行接口數(shù)量不夠時(shí),必須在這個(gè)網(wǎng)絡(luò)設(shè)備下面添加集線器(HUB)或者交換機(jī)(Switcher)。

針對這種情況,本文提出了一種多通用串行總線(USB)接口的局域網(wǎng)接入適配器。它將傳統(tǒng)意義上的多塊以太網(wǎng)卡和集線器的功能集于一身,使多臺(tái)計(jì)算機(jī)可以用各自的USB接口連接到上級(jí)網(wǎng)絡(luò)設(shè)備的一個(gè)下行接口,并在內(nèi)部采用了比集線器功能更為更強(qiáng)大交換控制器,對各接口的數(shù)據(jù)流量加以控制,保證可靠地運(yùn)行。

與傳統(tǒng)的通過以太網(wǎng)卡的局域網(wǎng)接入方式相比較,這種通過USB接口的局域網(wǎng)接入方式具有很多優(yōu)點(diǎn):安裝簡便,支持熱插拔,而且不需要在計(jì)算機(jī)內(nèi)部安裝以太網(wǎng)卡,尤其在主板插槽緊張時(shí)節(jié)省了資源。

                   

1 系統(tǒng)硬件組成

本文所述的系統(tǒng)實(shí)現(xiàn)了對四路USB接口的局域網(wǎng)接入。圖1是整個(gè)系統(tǒng)的硬件組成框圖。

1.1 物理層

物理層芯片連接上級(jí)網(wǎng)絡(luò)設(shè)備的下行RJ45接口和交換控制器。本文所述系統(tǒng)用臺(tái)灣REALTEK公司的RTL8204芯片實(shí)現(xiàn)。這塊芯片是一塊高度集成的10BASE-T/100BASE-TX/FX的以太網(wǎng)收發(fā)芯片。RTL8204包括了四個(gè)獨(dú)立的通道,可以同時(shí)收發(fā)四路以太網(wǎng)信號(hào),每路通道都集成了4B5B編解碼器、曼徹斯特編解碼器、加擾器、解擾器、輸出驅(qū)動(dòng)、輸出波形形成、濾波、數(shù)字自適應(yīng)均衡和鎖相環(huán)模塊。但在本系統(tǒng)中只用了一路連接外部局域網(wǎng)。與普通物理層芯片所具有的質(zhì)獨(dú)立(MII)接口相比較,RTL8204使用了相對簡單的簡化介質(zhì)獨(dú)立(RMII)接口向上與MAC層進(jìn)行連接。這種RMII接口省掉了MII接口中的許多控制信號(hào)和數(shù)據(jù)信號(hào),將15位信號(hào)減到了7位,簡化了硬件的設(shè)計(jì)工作[3]。

1.2 交換控制器

本系統(tǒng)采用的交換控制器是臺(tái)灣REALTEK公司的RTL8308B芯片。這是一塊具有8端口10Mbps/100Mbps的交換控制器。它對各個(gè)端口的數(shù)據(jù)進(jìn)行處理并交換,并對各端口的流量加以控制。RTL8308B每個(gè)端口都能夠處理10Mbps或者100Mbps的數(shù)據(jù),可以工作在全雙工或者半雙工模式下。與RTL8204一樣,RTL8308B的接口也是RMII接口,硬件設(shè)計(jì)非常方便。
RTL8308B片內(nèi)集成有2MB的DRAM??梢杂米鲾?shù)據(jù)包的緩存。RTL8308B支持IEEE802.3x全雙工流量控制和半雙工后退壓力算法、地址學(xué)習(xí)算法、廣播風(fēng)暴控制和環(huán)路測試功能。RTL8308B片外用一片串行EEPROM 24LC02B實(shí)現(xiàn)對芯片的配置[4]。

1.3 USB轉(zhuǎn)換芯片

USB轉(zhuǎn)換芯片對USB接口的數(shù)據(jù)、控制信號(hào)和RMII接口的數(shù)據(jù)、控制信號(hào)進(jìn)行轉(zhuǎn)換。本系統(tǒng)采用臺(tái)灣ASIX公司的AX88170作為USB協(xié)議轉(zhuǎn)換芯片。這塊芯片片內(nèi)5KB×16bit的SRAM,內(nèi)部對數(shù)據(jù)進(jìn)行USB協(xié)議和網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換。它支持USB1.1標(biāo)準(zhǔn),并可連接基于IEEE 702.3或IEEE 802.3u以太網(wǎng)協(xié)議下的10Mbps/100Mbps網(wǎng)絡(luò),而且在支持MII接口的同時(shí),還支持簡單的RMII接口,方便硬件的設(shè)計(jì)。
[page]
                                     

    AX88170片外用一片串行EEPROM 93LC56實(shí)現(xiàn)對芯片的配置[5]。

1.4 通用串行總線(USB)接口

通用串行總線(USB)設(shè)備在即插即用的特性上能夠較好地滿足用戶使用方便的要求。USB規(guī)范目前有兩個(gè)版本:1.1和2.0。目前,絕大多數(shù)計(jì)算機(jī)主板還只是支持USB 1.1規(guī)范的最高12Mbps速率,所以本系統(tǒng)是針對USB 1.1規(guī)范進(jìn)行的[1]。

2 硬件配置

2.1 RTL8308B的配置

交換控制器RTL8308B的配合是通過芯片在上電時(shí)讀取串行EEPROM 24LC02B及某些控制引腳的電平來實(shí)現(xiàn)的。這其中包括廣播控制使能、半雙工后退壓力函數(shù)使能、全雙工流量控制、環(huán)路監(jiān)測函數(shù)使能位、CRC校驗(yàn)允許位、Hash算法使能位等。對這些控制位的使能,本系統(tǒng)視需要而定,這里不再一一敘述。

此外,非常重要的是選擇好RTL8308B的物理端口,并設(shè)置好其對應(yīng)的物理地址。如果物理地址沒有設(shè)置正確,交換控制器將能正常地從連接端口交換數(shù)據(jù)。在本系統(tǒng)中,根據(jù)芯片手冊要求及實(shí)際需要,選取C端口連接RTL8204的C端口,E、F、G、H分別連接4片USB轉(zhuǎn)換芯片AX88170。在EEPROM 24LC02B內(nèi)設(shè)置好物理端口對應(yīng)的物理地址,使RTL8308B的A端口到H端口對應(yīng)著物理地址08H~0FH。

2.2 RTL8204的配置

RTL8204的系統(tǒng)配置通過讀取某些控制引腳上電時(shí)刻的電平來實(shí)現(xiàn)。RTL8204在上電時(shí)讀取對應(yīng)的引腳電平,并將其狀態(tài)寫入自己的內(nèi)部寄存器中。這些控制引腳包括速率的選擇(10Mbps/100Mbps)、全雙工/半雙工的選擇以及自動(dòng)協(xié)商的使能。本系統(tǒng)選擇了自動(dòng)協(xié)商工作方式,使RTL8204可以自動(dòng)地與傳輸方式未知的上級(jí)網(wǎng)絡(luò)設(shè)備協(xié)商物理層信號(hào)的傳輸方式。

降此以外,對RTL8204最重要的配置是其端口的物理地址的設(shè)備。本系統(tǒng)用RTL8204的C端口連接RTL8308B的C端口,要求這兩個(gè)端口的物理地址一致。前文所述,RTL8308B的C端口地址應(yīng)為0AH,所以,應(yīng)該將該RTL8204的C端口地址設(shè)置成為0AH,具體設(shè)備方法可以參考文獻(xiàn)[3]。

2.3 AX88170的系統(tǒng)配置

USB轉(zhuǎn)換芯片AX88170的數(shù)據(jù)接口可以選擇MII接口或者RMII接口,本系統(tǒng)選擇了設(shè)計(jì)較為簡單的RMII接口。AX88170還可以工作在PHY模式或者M(jìn)AC模式下,在本系統(tǒng)中,RTL8308B工作在MAC層,對其他芯片的傳輸方式進(jìn)行控制。所以,這里需要將MX88170設(shè)置為工作在PHY模式下。

和前所述的REL8204、RTL8308B一樣,AX88170的物理地址的設(shè)置也要與RTL8308B的設(shè)置相一致。本文中的4片AX88170分別與RTL8308B的E、F、G、H端口連接,所以對應(yīng)的物理端口地址應(yīng)該分別設(shè)置為0CH、0DH、0E和0FH。
除此之外,在存儲(chǔ)AX88170控制信息的EEPROM93LC56中,還存儲(chǔ)這個(gè)端口的MAC地址。這里4個(gè)MAC地址和RTL8308B的MAC地址的選擇應(yīng)該避免自身的重復(fù),并且不應(yīng)與現(xiàn)有局域網(wǎng)里的MAC地址重復(fù)。

2.4 其它控制信號(hào)

整個(gè)系統(tǒng)的復(fù)位信號(hào)的重要性不言而喻,除了每片芯片都有各自最小時(shí)間的要求外,交換控制器RTL8308B還要求在復(fù)位后完成重新配置的時(shí)間不能早于其他物理層芯片(即RTL8204和4片MX88170)的配置暗。也就是說,RTL8308B的復(fù)位時(shí)間不能短于其他物理層芯片的復(fù)位時(shí)間。所以本系統(tǒng)還采用了MAXIM的MAX809芯片用作所有芯片的復(fù)位信號(hào),既保證了復(fù)位信號(hào)的單穩(wěn)的可靠性,也保證了RTL8308B和其他物理層芯片的復(fù)位時(shí)間是相等的。
[page]
                               
   
在本系統(tǒng)中,時(shí)鐘信號(hào)成為重要,特別是50MHz的時(shí)鐘信號(hào)。50MHz時(shí)鐘信號(hào)需要連接到RTL8308B、RTL8204和4片MX88170的RMII接口,需要足夠的驅(qū)動(dòng)能力,并且它們之間的相位差要足夠小才可以保證傳輸?shù)目煽啃?。本系統(tǒng)采用了IDT公司的49FCT3805(1:5時(shí)鐘驅(qū)動(dòng)芯片)對時(shí)鐘信號(hào)增加了驅(qū)動(dòng)力,并增大了扇出。

3 測試程序和驅(qū)動(dòng)程序

為了方便硬件的調(diào)試,還需要編寫簡單的測試程序來調(diào)試系統(tǒng)。除標(biāo)準(zhǔn)USB指令外,AX88170廠家提供了關(guān)于MX88170的特殊指令,包括讀寫EEPROM、讀寫片內(nèi)收發(fā)存儲(chǔ)器、讀寫內(nèi)部其他控制寄存器等,方便了系統(tǒng)的調(diào)試。由于MX88170芯片的廠商免費(fèi)提供了其在Windows 98、Windows 2000和Windows Me下的驅(qū)動(dòng)程序,所以本系統(tǒng)僅僅編寫了簡單的USB設(shè)備的測試程序,主要用來調(diào)試AX88170的工作狀態(tài)。圖2給出了程序的流程圖。程序初始化后打開目標(biāo)設(shè)備,然后讀取設(shè)備標(biāo)識(shí)和配置標(biāo)識(shí)并判斷。如果正確,則繼續(xù)讀取設(shè)備標(biāo)識(shí)和配置標(biāo)識(shí)并判斷。如果正確,則繼續(xù)讀取EEPROM里的MAC地址和物理端口地址,之后向MX88170的片內(nèi)發(fā)送SRAM和接收SRAM讀寫數(shù)據(jù),如果結(jié)果正確即證明AX88170已經(jīng)能夠正常工作。MX88170完整的驅(qū)動(dòng)程序由芯片廠端免費(fèi)提供。

經(jīng)過測試,本系統(tǒng)工作性能穩(wěn)定。

本系統(tǒng)用于辦公室或?qū)嶒?yàn)室環(huán)境下的計(jì)算機(jī)組網(wǎng),支持IEEE 802.3的10Mbps/100Mbps以太網(wǎng)標(biāo)準(zhǔn),兼容全雙工和半雙工網(wǎng)絡(luò)。圖3為它的應(yīng)用實(shí)例,它可以將4臺(tái)電腦通過USB接口連接在一起,并與局域網(wǎng)相連,從而實(shí)現(xiàn)多臺(tái)計(jì)算機(jī)的信息交換、資源共享。各用戶終端可以通過本設(shè)備連接至局域網(wǎng),進(jìn)而與Internet網(wǎng)絡(luò)相連。

系統(tǒng)下一步的改進(jìn)主要針對兩個(gè)方面:一是高速的USB 2.0協(xié)議;二是增加USB接口數(shù)量,使其能適應(yīng)更高速更復(fù)雜的網(wǎng)絡(luò)。

與傳統(tǒng)的用以太網(wǎng)卡的局域網(wǎng)接入方式相比較,利用本文的USB接口以太網(wǎng)適配器接入較為靈活、方便,而且成本低廉,具有良好的市場前景。
要采購集線器么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉