
分立变压器2.5G以太网RTL8156BG芯片USB3.0网桥
简介
使用RTL8156BG-CG芯片的USB3.0接口2.5G以太网桥 通过10G以太网分立变压器电路连接RJ45母座 需提前准备双公USB3.0直通线,或修改电路
简介:使用RTL8156BG-CG芯片的USB3.0接口2.5G以太网桥 通过10G以太网分立变压器电路连接RJ45母座 需提前准备双公USB3.0直通线,或修改电路开源协议
:GPL 3.0
描述
本项目由立创商城优惠券,独家赞助。
目前发布的版本,是本项目的第二版,相对于第一版,修改了LED的连接、板框尺寸和部分丝印
接下来的内容将以RTL8156BG-CG为中心,介绍本项目的设计思路,测试的部分在后面。
2025-2-28更新:
手册上写的4个LED引脚都是输出,但没有说明是开漏还是推挽。
在实测LED0和LED1可各串一个电阻连接LED阴极使用后,草率得出了LED0~3输出结构为开漏的结论
结果LED2和LED3是推挽输出,详见下文LED引脚相关内容
有关LED的连接已经修改
LANWAKEB,归类为电源管理引脚却是个开漏输出,功能是指示电源管理事件。引个焊盘出来就行了,不用纠结。
然后通讯接口,或者说配置数据接口,用于上电时与存储芯片通讯,然后把里面的数据送到寄存器并改变RTL8156一部分功能。
这些引脚都是高度复用的,除了第29引脚TWSI_SDA/SPICSB以外,我都引出来一个焊盘,但有一说一,除了39引脚LED1/EESK/SPISCK,如果能搞到10M以太网设备再加上38引脚LED0/EEDI/SPISI,这些全都用不到。
内置PHY的以太网接口,我们要在这里连上以太网分立磁性器件电路,4个脉冲变压器,4个共模电感,4个75欧姆电阻,4个100纳法电容和一个1纳法耐两千伏电容加RJ45座。
这里点名表扬LCEDA的几个原理图符号做得好
RTL8156BG,上来第一把就先连的4对以太网PHY差分线,连完以后总觉得哪里不对。
又看了一眼才发现,每对线都拆分开按正负分别放到一起。
头一次见这么排列引脚的,真不知道是哪位天纵奇才有此奇思妙想。
RJ45座的符号,黄灯绿灯没写,也没写左右,还得自己标上,LED引脚名称虽然写出正负极性但默认不显示,还得手动挨个点开。
最棒的当属共模电感,引脚名称不显示还能理解,引脚序号也没有,还用的对称图形。
根本不知道接的是14还是32,接反以后转PCB飞线就出个叉叉,到时候又得回去改,为了确保一次接对,只好手动点开引脚编号
关于以太网分立磁性器件电路,我在 使用分立以太网磁性器件构建HR911130引脚兼容RJ45模块 上做过介绍。
但强迫别人跳转另一个网页是一件愚蠢的事,所以我复制一遍。
首先,本项目是有变压器的以太网方案。
如下图
用过911130RJ45模块的,应该记得:
RJ45连接共模电感,共模电感另一端连接脉冲变压器,而这个变压器呢,不是自己绕的,也是不是拿其他器件凑的,说白了,也得买。
立创就有,不知道为什么有的被分为了网络变压器,有的分为了脉冲变压器,在得捷和贸泽上这些都统一归为脉冲变压器(PULSE TRANSFORMER)。
同为分立器件以太网方案,很久以前有个电容方案(2009之前),据说更久以前还有个电感方案,没找到资料。这些都是以太网无变压器(Ethernet Transformerless)方案,和本项目有本质区别。
我这边之前整理了一少部分相关资料放在附件了,有兴趣可以看看,但应该没什么用,不建议浪费太多时间。
本项目采用MA021G00,变压器两头引脚间距,和2012(英制0805)的共模电感接近,这就意味着可以直接两边各拉一条直线完成变压器和共模电感的连接。
如下图所式,画圈的是其中一对线中变压器和共模电感的连接,PCB截图是对应的实际连接(正中间两根线)。
最最重要的是,占用面积。
这里和911130模块对比一下,911130由于走线原因实际上会更靠左一点。
比起价格更昂贵的网口变压器模块要小很多,
就是焊的时候有点费人。
下次再做的时候,说啥得拿宣传嘉立创SMT的名目,找他要SMT券去。
另外提醒一下,变压器线圈两端电阻大概1.2Ω,两端各接上共模电感一路以后,总电阻大概2Ω出头。
建议焊完以后务必测量一下,不光是为了防止虚焊与连焊,也可能存在损坏的器件。之前就发现过共模电感器件本身短路(4脚之间电阻皆为0),不知道是不是线圈线皮融化导致全连到一起了,也发现过脉冲变压器其中一边两端电阻只有0.5Ω多点,但同时还各自与中心抽头保有0.5到0.6Ω阻值,同样具体原因不明。
众所周知原装器件在编带里都是好的,但焊完以后脉冲变压器和共模电感可能就变成坏的了,另外脉冲变压器引脚相对脆弱,有可能从外壳脱落。
总而言之,这东西对焊接技术有一定要求,器件本身也不算太皮实。
以太网接口每个差分对如果有任意一处虚焊、连焊或器件损坏,则不能建立通讯。
顺带一提,要是运气稍微好点,姑且把MDI1和MDI0两对差分线到rj45处理好了。
瑞昱声称,此时能工作在1000M模式。
然后是11和12这俩引脚,
接个25M无源晶振,然后带上负载电容,不难。
稳压器引脚,仅限带S的芯片,也就是说本项目上的RTL8156BG-CG没有,跳过。
最下面的14引脚RSET,功能是Reference (External Resistor Reference)。
手册上写的是连接一个电阻,连阻值都没有。螃蟹家的芯片见多的,都知道基本上每个以太网芯片都有这么一个引脚,名字可能不一样但都是让接一个电阻还不写阻值。印象中在瑞昱的某个低性能互联网芯片手册中,有个官方参考电路,上面接了2k49的电阻,平时我们看到的同行分享的原理图,都会在此引脚接2k49对地电阻。在一些使用瑞昱芯片的产品拆机照片中,也总能看到一个印着"2491"的电阻。总之这个REST引脚,虽然不知道怎么回事,但就是通过2490欧姆电阻连地。
4个LED引脚,其中LED0和LED1功能复用,手册写了洋洋洒洒一大堆东西,看来看去就会发现上面只是在说:将某个数据写入存储设备的某个地址,就可以把LED定义成什么样。
从头到尾,关于4个LED引脚的默认功能定义,愣是一个字都不写,而且螃蟹家的每个器件都是这样,印象中见过一个写寄存器默认配置的,多少比没有强,其他有一个算一个LED功能让你自己猜。
凭经验推测,大概率有两种,连接2.5G网络时,LED3引脚的灯闪烁,LED2/LED1/LED0则对应1000M/100M/10M。或者是反过来LED3/LED2/LED1/LED0,对应10M/100M/1000M/2.5G
作为一个2.5G以太网芯片,常识上来讲把2.5G和1000M分配给独立LED3与2,而把复用的LED1和0留给100M/10M更为妥当。
那么我首先把4个LED引脚都引出来一个焊盘,焊接时LED3引脚连接RJ45绿灯,LED2引脚连接RJ45黄灯,LED1引脚我找了个表贴LED紫灯、
实际使用发现,
以太网接口连接2.5G网络时,绿灯闪烁,
连接1000M网络时,闪黄灯,
连接100M网络时,闪紫灯。
看来蒙对了,要是有10M以太网估计LED0还能闪一个可惜10M没得。
所以在本次第二版的中,改成这种2.5G和1000M闪绿灯,100M和10M黄灯的接法。
LED引脚,2025-2-28更新:
上图最初只测试了LED0和LED1连接同一个LED阴极的情况,运行正常,可以推断LED0和LED1是开漏输出。
后续测试中发现,LED2和LED3应该是推挽输出,按上图连接时两个电阻在LED阴极分压导致LED不亮。
不得已只能加了两个二极管改成下图情况
实物如图
原本的思路是能只用RJ45的LED的话就尽量只用RJ45的LED,
考虑到还得承受"不能确定现在是1000M还是2.5G"这一代价,如果还得加上两个二极管,真不如加上额外的LED,反正发光二极管也是二极管
既然LED0和LED1能共用一个,只外加一个发光二极管还少加一个二极管
改成下图
电源的部分
电源引脚分两种电压,3.3V和0.95V。
数字电源和模拟电源可以接到一起,这样只需要从USB总线的5V,获取3.3V和0.95V就可以了
另外要注意,第54引脚DVDD09_UPS不能和其他引脚接到一起。
Internal Power Saving LDO 0.95V to supply internal circuits.
Do NOT connect this pin to other 0.95V power domains. Keep it isolated.
A decoupling capacitor is required for this pin
好在也不需要额外产生一个0.95V给它供电,只需要接个旁路电容就行了,这里选择1μF电容
至于3.3V和0.95V的产生,3.3V好说,毕竟属于很常见的电压。
0.95V相对少见,一般没有固定产生0.95V的电源器件,只能找可调压方案。
顺带一提,看到不少人3.3V用稳压器从5V产生,然后0.95V换成了开关电源(DC-DC)甚至又用5V输入。
手册上关于电源的参数,注意看表格中最下面两行。
3.3V典型值88mA最大92mA,0.95V典型值364mA最大650mA
3.3V只需要一点点并且要求不高,大头在0.95V那边,工作情况也取决于0.95V的纹波特性。
所以应该用一个3.3V输出稳压器,负担全部92mA+650mA,0.95V从3.3V用稳压器产生。
这样能保证0.95V纹波特性最好,同时也减少对电源滤波电容的依赖。
我这边稳压器选用AMS1117-3.3V和AP7165-SPG-13
根据图中公式,代入表格中Vref=0.8计算得出,0.8*(1+6.19/33)=0.95006060606060606060606060606060无限60循环
想把60去掉的话,可以把6.19K换成两个7.5K并联,33K换成20K,也就是0.8*(1+3.75/20)=0.95。
输入连接1117稳压器的3.3V输出,并联1μF旁路电容,输出并联4.7μF旁路电容。
另外我在输出引脚上串联了3.3uH电感一个,希望有效果。
最后是稳压器EN引脚,连接8156BG的5脚POW_EXT_SWR,这是一个输出引脚,用于控制0.95V稳压器输出。
POK的话,悬空应该就可以,我这边也引出来一个焊盘,估计也用不到。
GPIO引脚,除了复用的33和34引脚,我都给他悬空了。
USB接口,连接到USB连接器上。
U2DP/U2DM,U3SSRXP/U3SSRXN,U3SSTXP/U3SSTXN各是一对差分数据线,同样要进行差分布线。
要注意的是,TX差分对需要各串联1个100nF的电容耦合,不串联不一定能工作。
此外USB3.0上行端口与下行端口连接时,SSRX差分对要接到另一端的SSTX差分对,所以SSTX也必然接在另一端的SSRX上
按照标准,此处应该使用USB3.0B母座,3对差分数据线,最好也串联共模电感。
但我的钱包认为应该使用更容易获取USB3.0A母座,共模电感不是必须的。
想来想去,我觉得还是钱包说的有道理,正好手头有几根USB3.0直通双公线
就把RX线接母座TX引脚,TX串联100nF电容接RX脚。
这里提醒正在浏览本项目的朋友,如果有意打样自己试试的话。
记得如果不修改,要搞到一个USB3.0双公直通数据线,而且不能是VBus断开的那种。
还剩下最后几个引脚,其中5脚POW_EXT_SWR连接稳压器EN引脚已经介绍过了,
在RTL8156BGS中5脚会变成输入引脚ENSWREG,用于控制内建稳压器是否生成0.95V,忽略。
35脚CONFIG_SEQ和37脚DOCK_DET都是配置输入引脚,不知道干啥用的,这俩我都通过10K电阻上拉至3.3V。
CONFIG_SEQ似乎是配置某些数据的默认含义,如下图。
DOCK_DET用于选择是否监控 DOCK 和 Platform 的连接,高电平有效。
这里细心的朋友就会发现,芯片的第8引脚CKOUT,被手册神隐了。
整个手册有CKOUT的地方,就这俩引脚定义图,别说干什么用的,连是输入还是输出都不知道。
虽然名字带OUT,我猜是输出引脚吧,给它悬空好了。
另外本项目PCB当中的RJ45连接器和USB连接器是被修改过的,
RJ45,为了便于走线把P1从方的变成圆的,可以看到图中有一个被方形包围的圆孔,另外就是把板框外的丝印拉到里边来,
USB,同样把板框外的丝印拉到里边。
在最后,关于4对差分线的阻抗,并没有计算阻抗然后去匹配,但做了等长、等宽,尽量保持等距。
由于我无论如何都想碰触到这样走线的极限,或者说想试试什么情况下这样走线行不通,直到碰壁之前还会这样走线一段时间。
如果本项目的内容能派上用场,又不能接受肤浅处理差分信号对的话,建议自行匹配阻抗。
2025-2-28更新
实际测试的部分
硬件连接情况如下图
顺带一提,我一直以为之前买的RJ45细线带宽不高,估计1000M就快到顶了。
今天也证明它带宽覆盖2.5G,这充分说明了,线短是真的好
使用iperf3测试,也测出来了个2.37G
但与此同时,WINDOWS任务管理器的硬件资源那边却显示2.5G
两个板子发送和接收都稳定在2.5G,偶尔跳到2.4G
并且两个板子都很热,新板子第一次跑2.5G能闻到残留助焊剂的清香,看来RTL8156BG工作温度就这样,3.3V和0.95V稳压器反而不怎么热。顺带一提如果使用USB2.0线,由于带宽最多到USB-HS,就不会这么热,所以市面上使用RTL8156的产品普遍铝壳是有原因的
咱们不能iperf一棵树上吊死,找时间搭个局域网SpeedTest出来测测。
另外有机会的话,一定得找一根100米的网线来。
2025-3-21更新:
为了使用本地speedtest测试本项目,这段时间接触了很多知名度较高的开源web以太网speedtest项目。
基本都是部署一台设备中,供局域网内其他设备访问测速,甚至支持向外界提供广域网测速服务。
而针对单个设备,存在复数以太网接口,接口之间测速的,是一个都没见。
虽说大多可以访问本机测速页面,但测试时直接在内核转发了。
尝试各种方法试图配置其中一个网卡充当服务端接口或客户端接口,网上各种不管用的方法满天飞,最后放弃了。
换而言之现在,虚拟化这个坎是迈不过去了。
几番折腾以后,
Free and Open-Source Self-Hosted HTML5 SpeedTest进展比较顺利
如图
第一次测试结果
第二次测试结果
第三次测试结果
第四次下行测试中
第四次测试结果
第五次上行测试中
第五次测试结果
测试结果无论发送还是接收基本都处于较2.5G低30M~50M范围
看来任务管理器性能监测结果和speedtest测试结果基本一致了
就目前的现象来讲,2.37G这一测速结果只出现在iperf上,推测要么这是iperf的独有现象,要么和iperf的运行机制有关。
另外提一句,有时会出现芯片温度升高伴随带宽爆降的情况,不知道随着气温进一步回暖会不会更严重
设计图

BOM


评论