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

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

圖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晶片是可以的.

圖1 網絡拓撲圖

圖2 硬體結構圖
注意: MCU需要有2個MDIO口分別接RTL8367S(Clause 22)與RTL8221B(Clause45),圖中沒有畫出,此處需要注意
據上面的方這案,我製作了一塊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 硬體實物圖

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