用RTL8367S+RTL8221B實現帶2.5G網口的交換機

關鍵字 :Realtek交換機方案2.5G PHYRTL8367SRTL8221B
在前面的文章我寫過用RTL8367S可以輕鬆實現一款1000Mbps的交換機.但是只用一顆RTL8367S實現的交換機有一個瓶頸,即所有的埠都是1000Mbps的,如果用於一個Server與多個Clent的網絡環境下,那麼與Server端連接的1000Mbps網口就會成為瓶頸,如果多個Client同時大量存取Server上的數據時,這個瓶頸就會線顯露出來,見下面的應用場景,此時Server端的1000M網口帶寬被3個Client平均分配,每個Client的帶寬就為300Mbps左右了.

圖1 網絡拓撲圖
 
圖1 網絡拓撲圖
                                        
       那麼這種情況是否有優化方案呢,答案肯定是有的.我們可以通過RTL8367S的EMAC擴展口採用HISGMII方式連接一顆Realtek 2.5G的PHY即可將主幹網絡由1000Mbps升級為2.5Gbps網絡,這樣可以大大增強主幹網絡的帶寬.擴展2.5G網口方案如下:

圖2 硬體結構圖

圖2 硬體結構圖
注意: MCU需要有2個MDIO口分別接RTL8367S(Clause 22)與RTL8221B(Clause45),圖中沒有畫出,此處需要注意

       這裡2.5GPHY 可以用RTL8221B/RTL8221D晶片,其中RTL8221B是一顆2.5Gbps的PHY晶片,採用48-pin QFN封裝,支持SGMII/HISGMII/2500Base-X工作方式,是一款功能很強的PHY晶片.由於RTL8367S與RTL8221B都需要配置管理,所以還要增加一顆MCU,這顆MCU主要用來集成RTL8367S的API及配置RTL8221B 寄存器, 這個應用對MCU的配置要求還是挺高的,主要是要求要有足夠的Flash及RAM空間. 如果想用STM32F103C8T6這種是不行的,Flash及RAM資源不夠,要用STM32F103VET6 及以上配置的ST晶片是可以的.


  據上面的方這案,我製作了一塊Switch demo板.設計這款交換機時為了限制板子大小,1000Mbps口設計了3個,實際焊接時只焊接了2個口,板子可以用外部電源供電,也可以直接用TypeC口供電,本例中沒有採用ST的MCU, 而是採用了Realtek的IOT晶片RTL8710BL , 相對來說IOT晶片的Flash及RAM資源更多, RTL8710BL 採用ARM CM4F core,主頻為125Mhz,內部RAM為256KB,Flash為外擴2MB SPI Flash, 最大可擴展到128M Byte的Flash,所以它的存儲資源是非常豐富的,硬體實物圖如下:

圖3  硬體實物圖

圖3  硬體實物圖

      其中MCU部分使用了成品的IOT模組,這樣電路就會簡單一些.用來集成RTL8367S的API及對RTL8221B進行配置,同時還可以增加一些調試手段.比如可以增加一些命令查看Switch 的MIB統計,讀取埠是否為LINK UP , 讀寫任意寄存器的命令等,還是很方便的.

圖4 實現的的命令行

圖4 實現的的命令行

上圖中是實際增加的一些簡單的調試命令,方便調試.

       好了,這個Switch硬體方案就介紹到這裡了,如果您會用到這個方案且產品有一定量的話,可以與大聯大北京分公司聯繫.郵箱: Lynx.liu@cn.yosungroup.com

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論