
USB Type-C SS 2.5G 以太网卡 RTL8156B
简介
一个USB Type-C接口 采用RTL8156B-CG芯片的2.5G以太网卡
简介:一个USB Type-C接口 采用RTL8156B-CG芯片的2.5G以太网卡开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
请注意,本项目用作本人学习分享使用,不建议您为了降低成本采用本方案,本方案未经过专业的校核与检查,本人没有拿到RTL8156芯片的规格书和官方设计原理图,可能存在多个未知问题和故障,稳定性有待进一步考量。相比较目前市面上相同芯片的产品,本项目既不便宜(成本约35元)也不稳定,还没有售后,请您在仅为了追求“便宜”而DIY时自行做好利弊的权衡,谢谢!
2024.6.7更新:请看完第十二部分。
项目交流群(QQ):753341673
一、鸣谢
本项目参考了已有项目修改和变更:
https://oshwhub.com/aknice/rtl8153b
参考了此项目的USB Type-C切换部分。
https://oshwhub.com/vvwall/tao_net
参考了此项目的2.5G以太网部分。
感谢两位大佬的开源,使得本项目的实现成为可能!
二、项目状态
本项目目前已验证部分功能,直接制作可以工作,但会存在一些问题。
目前网卡接收速度基本达标,可以跑到2.37Gbps
但是发送速度存在问题,无法跑满,只能达到1.44Gbps(已解决)
测试环境:两台电脑均为Windows10操作系统,一台为2016MAC,使用本项目网卡,另一台为ASUS B550 5800X组合,使用板载自带的Intel I225-V网卡
采用iPerf3进行吞吐量测试
(2024.6.7更新)
修正驱动后测试
本项目网卡接收
本项目网卡发送
本项目网卡接收
命令:iperf3 -c 192.168.50.21 -p 8888 -t 20 -O 3 (所有命令是在ASUS机器上输入的,本项目网卡是作为服务端)
本项目网卡发送
命令:iperf3 -c 192.168.50.21 -p 8888 -t 20 -O 3 -R
多线程接受,命令:iperf3 -c 192.168.50.21 -p 8888 -t 20 -O 3 -P 16
多线程发送,命令:iperf3 -c 192.168.50.21 -p 8888 -t 20 -O 3 -R -P 16
目前推测故障原因如下:(已解决)
1.本项目为了方便,采用了原本只能运行在1Gbps速度下的网络接口变压器一体化原件(HR911130A)
2.本项目中USB3.0线路部分为了方便焊接,使用了0603封装尺寸的耦合电容
3.布线可能存在未知的问题
三、工作温度情况:
在持续1分钟的接受/发送测试后,各个芯片表面、PCB正底面温度感到温热。
室温22.3度
采用iPerf3进行多线程发送压力测试
命令:iperf3 -c 192.168.50.21 -p 8888 -t 20 -O 3 -R -P 32
正面(芯片侧)记录红外温度(压力测试第50秒左右):40.1度
背面记录红外温度(压力测试第54秒左右):37.8度
四、阻抗匹配:
JLC工艺下的4层板、叠层结构为JLC04101H-3133(1.0mm板厚)
经过JLC官方阻抗计算器计算后得到如下结果:(https://tools.jlc.com/jlcTools/index.html#/impedanceCalculatenew)
对于USB2.0的部分采用差分阻抗90欧姆,计算得线宽6.2mil,间距8mil
对于USB3.0的部分采用差分阻抗95欧姆,计算得线宽5.5mil,间距8mil
对于MDI的部分采用差分阻抗100欧姆,计算得线宽5.2mil,间距10mil
五、原理图:
六、PCB图:
顶面
内层1
内层2
底面
七、供电示意图:
八、部分元件价格参考:
RTL8156B-CG 25元
VL162 3元
HR911130A 5元 (可能是假货)
二手USB Type-C SuperSpeed 数据线 16元
九、部分设计参考:
VL160:https://www.via-labs.com/product_show.php?id=72
VL162:https://www.via-labs.com/product_show.php?id=106
VL162参考:https://blog.csdn.net/weixin_54493972/article/details/119379313
十、制作建议:
请不要使用JLC系统自动生成的BOM表或者直接做SMT,他们是不准确的,请以工程文件中的属性值为准,同时我也上传了我只做的bom表供参考(可能有错误,请一定核对一次)。
本项目设计的文件适用于JLC工艺下的4层板、叠层结构为JLC04101H-3133(1.0mm板厚),阻抗管控20%以内。
夹板USB-C母座只能在板厚1.0mm以内的PCB上安装。
降压至+0.95V的输出电容中的钽电容为可选。
除了钽电容之外所有电容必须全部安装,且1206的容值不能过小。
焊接QFN芯片时,中心GND面请放置少量焊锡(约一个小米粒大小),四周请使用稍过量焊锡,确保焊锡可以浸润芯片引脚,在正面贴片完成后,使用加热台焊接,最后使用电烙铁和助焊剂清除周围多余焊锡。
请注意,QFN芯片极易虚焊,建议没有经验的同学,先使用其他报废芯片练习焊接。
在正面贴片完成后,请使用支架翻转PCB板,继续完成背面贴片,背面焊接请使用热风枪完成,对于集成形热风枪,请选用360度30%风速,先预热,随后再针对性加热,完成焊接。
请注意,焊接背面时,请勿使正面元件触碰到其他物体造成移位。
焊接完成后,对于助焊剂的清理,请使用大品牌的清洁剂,且用量可能较大,除开接口等塑料件,可以直接选择浸泡在清洁剂中进行清洁。清洁后,请主动用纸巾或无尘布擦干清洁剂,不要等待其自行挥发,以免杂质残留。
十一、未来展望
在USB接口附件加入ESD/TVS保护器件
优化布线
改用符合2.5G以上标准的RJ45和网络变压器
十二、后续更新
2024.6.7更新:
1.目前已经成功排查出网卡发送速率不达标的问题,主要原因是测试电脑的Windows网卡驱动的问题,详情请见https://www.acwifi.net/21188.html;以及https://www.bilibili.com/video/BV1pS4y1p7qS;在上述两个网页和视频中基本确定是网卡的问题,在将驱动修正到10.54.608.2022后发送速率恢复正常。驱动程序已经上传到附件里了,请注意,此驱动来源于网络,可能存在病毒等风险内容,有条件的话请到realtek官方获取。修复后发送速率可维持在2.37G。具体测速图片在上面已经更新。
2.感谢 @滤波の電容 提出的建议,其中“手册里明显强调芯片Pin54不要跟其他0.95V电源连接”这一条经过验证,可以正常运行并通过压力测试。请将R101留空(去除,不要贴上),即可使得Pin54与其他0.95V电源网络断开连接。在不断开R101连接的情况下曾经出现过传输速率波动的情况,去除后未见异常。
3.关于耦合电容和走线等问题会在之后的版本中更新,由于还没拿到规格书,不清楚LED的配置情况,暂时搁置新版本制作,等到时候所有问题都解决再做第二版。
注:
这是本人的第一个正式开源作品,可能存在诸多不足之处,欢迎批评指正,在我有时间的时候会积极改正并回复,谢谢!
请勿将本项目直接用于商业用途!
包括本项目的说明文字在内的内容均不可直接复制使用于商业用途!
后记:
请注意,安全第一,制作本项目的过程中会有安全风险,焊接和清洁时产生的气体可能会对您的身体健康产生威胁,请在佩戴相应合规的护具和再操作,其中可过滤有害气体的面罩为必须。
由于本项目包含两个QFN封装的元件,对于焊接技术有一定要求,请您焊接时注意,在焊接完成之后,请清洗干净芯片周围的助焊剂等物质,在灯光下自习检查各个引脚的焊接情况,不要出现任何未焊上、连锡等情况。
此外,由于USB Type-C接口引脚过多,建议制作或购买一个测试卡,用于检查各个引脚的连接情况。
至于为何USB-C接口需要采用一颗MUX芯片进行切换而不是直接连接起来,主要是USB-IF协会的要求(不是),主要是为了信号完整性,详情可以参考这篇Ti德州仪器的文章。https://www.ti.com.cn/cn/lit/wp/zhcy153a/zhcy153a.pdf?ts=1714722629686
本项目仅做了最基本的阻抗匹配,在供电和信号布局上仍有改进空间。
还有,由于本项目中的VL160/VL162以及RTL8156芯片的规格书官方似乎不愿意对外公开,因此,本项目可能具有一定的法律风险。
最后,祝您学习/制作愉快!
设计图

BOM


评论