
SoftXONU-2.5G光纤收发器
简介
一款2.5G的迷你SFP收发器,精美小巧、成本低廉。
简介:一款2.5G的迷你SFP收发器,精美小巧、成本低廉。开源协议
:CC BY-NC-SA 4.0
描述
2024.11.10 更新日志:添加了猫棒测试截图
一、写在前面
-1.复刻、迭代、修改本设计所带来的安全风险、法律风险将由您自行承担。
-1.复刻、迭代、修改本设计所带来的安全风险、法律风险将由您自行承担。
-1.复刻、迭代、修改本设计所带来的安全风险、法律风险将由您自行承担。
您不得将本设计用于商业用途!
您不得将本设计用于商业用途!
您不得将本设计用于商业用途!
0.市面上2.5G SFP收发器价格过于离谱,部分收发器的售价甚至高于4x2.5G+2x10G的交换机。市面上SFP收发器体积过于庞大,不适合弱电箱过小的家庭用户使用。
1.本设计使用RTL8221B芯片实现了一个2.5G的光纤收发器,SFP速率固定为2.5G(具体原因详见后文),网口速率支持10M/100M/1000M/2.5G。
2.本设计采用四层板设计,板子尺寸为20mm x 65.2mm x 1.6mm,配套外壳尺寸为28mm x 69.2mm x 21.4mm。大部分物料可以使用16-15的券,即使不用券,整体物料成本也可控制在25元以内。
二、本人需求
1.整体需求:本设计的初心只是为了使用光纤作为家中AP的上联线,这样我就可以将AP摆放到家里的中心位置,同时使用光纤将AP上联至机柜中互联网接入区的核心交换机上。本人使用的是AX5400PRO作为AP,该AP带有一个2.5G电口,为了最大化无线带宽,一款支持2.5G、供电方便(最好是USB)、体积小巧、不使用劣质元件的光纤收发器就显得尤为重要了。
2.供电需求:
- 输入接口小巧(本设计使用6P的TYPEC接口,容易焊接,同时价格低廉)。
- 转换效率高(0.95V、3.3V两路电源均使用DCDC,不使用LDO)、发热低(使用同步Buck)。
- 芯片输出能力满足芯片、SFP模块需求。
- 综上,本设计选用了我最喜欢的一颗DCDC芯片TPS563201,该芯片价格低廉(0.24/颗),开关频率高,故障率低。
3.网口相关需求:
- 至少有两个指示灯、线序满足芯片设计(本设计采用的RTL8221B支持MDI SWAP功能,此项无需考虑)。
- 网口价格不能太高、网络变压器必须足够小巧。
- 综上,本设计选用了扁平网变(G2425S)+网口(HC-WK88-H16-DB)的设计(买的时候记得用商城的满16-15券,四舍五入等于不要钱)。
4.布局需求:
- 本设计追求体积最小化,SFP、网口需要和DCDC、主芯片、网变、一大堆配置电阻、滤波电容挤在一起,因此需要优先考虑布局方式。本设计最终采用正面仅放置RJ45、SFP,其余元件均放置在背面的布局方式。
正面图:
背面图:
这种布局方式可以将PCB的体积最小化。但是由于TYPEC母座和SFP笼子一上一下,即使采用1.6m的板厚,TYPEC线缆的外皮也会和SFP模块相互干涉。因此在使用本设计时,需要将TYPEC接口的外皮使用小刀刮去一部分,或使用10mm加长头的TYPEC线缆(TB有售)。
三、设计过程
- 电源部分设计:
- 使用TYPEC母座作为电源输入接口,CC线分别配置5.1K的下拉电阻,用于支持C-C的线材。
借助TI的webench,搭建DCDC电路并LAYOUT,得到如下设计。
- 注意,MLCC电容具有偏压特性。本设计DCDC滤波电容部分的焊盘设计为0603大小,但实际可焊接0805电容,如果您有更高的输入电压需求,可以自行焊接0805电容。
- RTL8221主芯片设计:
- 晶振与起振电容紧贴主芯片放置
- 滤波电容、配置电阻尽可能靠近主芯片放置(小尺寸、单面布局的情况下,不可能做到每个引脚附近都有滤波电容)
- 耦合电容靠近主芯片放置(位置受限,HSO、HSI耦合电容均靠近主芯片放置)
- 网变与网口设计:
RTL8221的LED与PHYAD共用引脚,为了设计的灵活性,将LED与PHYAD配置为灵活模式。您可以根据自己的需求焊接对应的电阻。具体焊接关系如下:
一般情况,按照红色字体焊接即可(即:标NC的全部不焊),最终焊接效果应该是这样的:
4.SFP笼子的引脚修改:本设计删除了绝大多数的SFP笼子引脚(仅保留1、8、9、10、16、17,实测稳定性没问题),焊接SFP笼子前注意修剪引脚。
四、焊接
- 本设计采用了大量0402电阻电容,建议使用锡膏钢网+加热台焊接。
- RTL8221B的焊盘已做拉长处理,如果加热台焊接完有连锡,使用尖头烙铁+助焊剂拖平整即可。
焊接完效果如下:
五、测试
1.测试DCDC部分电压、纹波是否满足要求,经过实测,两路电压输出均正常,纹波也满足预期,芯片开关频率与手册描述相差不大。
3.3V电压与纹波测试截图:
0.95V电压与纹波测试截图:
2.RJ45部分测试:
- 接入2.5G设备,检查链路协商状态,此时网口右侧绿色LED亮起:
- 接入1G设备,检查链路协商状态,此时网口左侧黄色LED亮起:
- 接入100M设备,检查链路协商状态,此时网口底部LED亮起:
3.SFP部分测试
- 测试使用某H品牌2.5G 1310nm 2km光模块。
- 测试对端设备为RTL8372N交换机。
- 实测SFP工作正常(本设计没有预留SFP的状态指示灯,您可以自行修改本设计)。
为什么我插入1G的光模块,收发器并没有正常工作?因为RTL8221B默认的SGMII接口类型是HiSGMII接口,速率为2.5G,您可以外挂一片单片机,使用MDIO接口将SGMII接口类型修改为普通的SGMII。
六、外壳打印
您可以直接打印本设计附件中的外壳,也可以自行设计外壳。
建议使用耐高温的材料打印。
七、压测
1.Ping测试
2.DPerf打流测试
-
实验环境:
物理机配置
Key | Value |
---|---|
主机 | M920X |
OS | PVE 7.1 |
CPU | G5420 |
MEM | 2xDDR4-4G@3200MHz |
DISK | MICRON 2200 1TB |
NIC | SP310 |
VM配置
Key | Value |
---|---|
OS | Debian 11 |
CPU | 2vCPU |
MEM | 3G |
DISK | 50G |
NIC | SP310(1Port) |
Hugepage | 2M*1024 |
DPDK Version | 23.11.2(LTS) |
DPerf Version | 1.8.0-dev |
物理机是一台M920X,配一张SP310网卡,网卡的两个口分别直通到两个VM(开启PCIe ACS override即可分别直通)。
由于CPU不支持1G Hugepage,因此为每台VM分配1024个2M的Hugepage。
网卡使用uio_pci_generic驱动挂载到DPDK协议栈下。
分别将测试机命名为VM1与VM2,系统连接方式如图所示。
VM1_10G <--10G--> SW1 <--2.5G RJ45--> SoftXONU <--2.5G SFP--> SW2 <--10G--> VM2_10G
对SoftXONU进行单向打流,得出如下测试结果(只关注两侧RX即可,TX没有实际意义):
- RJ45 to SFP , 速度约为2.459Gbps(1500大包)
- SFP to RJ45 , 速度约为2.459Gbps(1500大包)
- 我们不妨认为SoftXONU可以跑满单向带宽。
对SoftXONU进行双向打流,得出如下测试结果(Client端CPU占满是正常的,无法跑满双向2.5G并非Client端的瓶颈)
- SFP to RJ45,速度约为1.921Gbps(64K小包)
-
RJ45 to SFP,速度约为1.991Gbps(64K小包)
-
由结论可得出:SoftXONU无法跑满双向带宽,原因可能是SoftXONU采用的网口、网变均为千兆,无法满足跑满双向2.5G的高带宽要求(2.5GBASE-T采用PAM16码,码元速率为 200Mega Baud,相比与1000GBASE-T的PAM5码 125Mega Baud,2.5GBASE-T对于网变、网口的要求更高)。
-
市面上难以找到2.5G的小巧网变,如果您有更加合适的2.5G网变推荐,请留言或私信!
-
猫棒测试截图如下:
八、设计展示
设计图

BOM


评论