USB接口局域網接入研究論文

時間:2022-06-23 03:51:00

導語:USB接口局域網接入研究論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

USB接口局域網接入研究論文

摘要:提出了一種全新的計算機接入局域網的方案,使多臺計算機可以方便地使用各自的usb接口接入局域網,并提供了該方案的實現方法。

關鍵詞:通用串行總線(USB)局域網

目前,在局域網內部,計算機接入局域網的傳統方法是通過在計算機主板上安裝以太網卡來實現網絡的互聯。這種接入方式需要計算機主板上有閑置的ISA或者PCI插槽,還需要上級網絡設備有足夠的接口支持。當上級網絡設備的下行接口數量不夠時,必須在這個網絡設備下面添加集線器(HUB)或者交換機(Switcher)。

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

與傳統的通過以太網卡的局域網接入方式相比較,這種通過USB接口的局域網接入方式具有很多優點:安裝簡便,支持熱插拔,而且不需要在計算機內部安裝以太網卡,尤其在主板插槽緊張時節省了資源。

1系統硬件組成

本文所述的系統實現了對四路USB接口的局域網接入。圖1是整個系統的硬件組成框圖。

1.1物理層

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

1.2交換控制器

本系統采用的交換控制器是臺灣REALTEK公司的RTL8308B芯片。這是一塊具有8端口10Mbps/100Mbps的交換控制器。它對各個端口的數據進行處理并交換,并對各端口的流量加以控制。RTL8308B每個端口都能夠處理10Mbps或者100Mbps的數據,可以工作在全雙工或者半雙工模式下。與RTL8204一樣,RTL8308B的接口也是RMII接口,硬件設計非常方便。

RTL8308B片內集成有2MB的DRAM。可以用作數據包的緩存。RTL8308B支持IEEE802.3x全雙工流量控制和半雙工后退壓力算法、地址學習算法、廣播風暴控制和環路測試功能。RTL8308B片外用一片串行EEPROM24LC02B實現對芯片的配置[4]。

1.3USB轉換芯片

USB轉換芯片對USB接口的數據、控制信號和RMII接口的數據、控制信號進行轉換。本系統采用臺灣ASIX公司的AX88170作為USB協議轉換芯片。這塊芯片片內5KB×16bit的SRAM,內部對數據進行USB協議和網絡協議轉換。它支持USB1.1標準,并可連接基于IEEE702.3或IEEE802.3u以太網協議下的10Mbps/100Mbps網絡,而且在支持MII接口的同時,還支持簡單的RMII接口,方便硬件的設計。

AX88170片外用一片串行EEPROM93LC56實現對芯片的配置[5]。

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

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

2硬件配置

2.1RTL8308B的配置

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

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

2.2RTL8204的配置

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

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

2.3AX88170的系統配置

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

和前所述的REL8204、RTL8308B一樣,AX88170的物理地址的設置也要與RTL8308B的設置相一致。本文中的4片AX88170分別與RTL8308B的E、F、G、H端口連接,所以對應的物理端口地址應該分別設置為0CH、0DH、0E和0FH。

除此之外,在存儲AX88170控制信息的EEPROM93LC56中,還存儲這個端口的MAC地址。這里4個MAC地址和RTL8308B的MAC地址的選擇應該避免自身的重復,并且不應與現有局域網里的MAC地址重復。

2.4其它控制信號

整個系統的復位信號的重要性不言而喻,除了每片芯片都有各自最小時間的要求外,交換控制器RTL8308B還要求在復位后完成重新配置的時間不能早于其他物理層芯片(即RTL8204和4片MX88170)的配置暗。也就是說,RTL8308B的復位時間不能短于其他物理層芯片的復位時間。所以本系統還采用了MAXIM的MAX809芯片用作所有芯片的復位信號,既保證了復位信號的單穩的可靠性,也保證了RTL8308B和其他物理層芯片的復位時間是相等的。

在本系統中,時鐘信號成為重要,特別是50MHz的時鐘信號。50MHz時鐘信號需要連接到RTL8308B、RTL8204和4片MX88170的RMII接口,需要足夠的驅動能力,并且它們之間的相位差要足夠小才可以保證傳輸的可靠性。本系統采用了IDT公司的49FCT3805(1:5時鐘驅動芯片)對時鐘信號增加了驅動力,并增大了扇出。

3測試程序和驅動程序

為了方便硬件的調試,還需要編寫簡單的測試程序來調試系統。除標準USB指令外,AX88170廠家提供了關于MX88170的特殊指令,包括讀寫EEPROM、讀寫片內收發存儲器、讀寫內部其他控制寄存器等,方便了系統的調試。由于MX88170芯片的廠商免費提供了其在Windows98、Windows2000和WindowsMe下的驅動程序,所以本系統僅僅編寫了簡單的USB設備的測試程序,主要用來調試AX88170的工作狀態。圖2給出了程序的流程圖。程序初始化后打開目標設備,然后讀取設備標識和配置標識并判斷。如果正確,則繼續讀取設備標識和配置標識并判斷。如果正確,則繼續讀取EEPROM里的MAC地址和物理端口地址,之后向MX88170的片內發送SRAM和接收SRAM讀寫數據,如果結果正確即證明AX88170已經能夠正常工作。MX88170完整的驅動程序由芯片廠端免費提供。

經過測試,本系統工作性能穩定。

本系統用于辦公室或實驗室環境下的計算機組網,支持IEEE802.3的10Mbps/100Mbps以太網標準,兼容全雙工和半雙工網絡。圖3為它的應用實例,它可以將4臺電腦通過USB接口連接在一起,并與局域網相連,從而實現多臺計算機的信息交換、資源共享。各用戶終端可以通過本設備連接至局域網,進而與Internet網絡相連。

系統下一步的改進主要針對兩個方面:一是高速的USB2.0協議;二是增加USB接口數量,使其能適應更高速更復雜的網絡。

與傳統的用以太網卡的局域網接入方式相比較,利用本文的USB接口以太網適配器接入較為靈活、方便,而且成本低廉,具有良好的市場前景。