RTL8367RB-VB-CG这颗料,基本就是五端口千兆无管理交换机的“标准答案”之一。我前面做过一版基于它的五口千兆交换机硬件设计,整体下来感受是:原理图不算难,难在细节——电源、时钟、网络变压器、差分布线,哪一环偷懒,后面调板就得还债。这篇文章把从选型到调试的完整过程记录下来,想给正在做同类硬件设计的人,或者准备把路由器LAN口扩成五个口的DIY玩家做个参考。我尽量把每一步为什么这么做讲清楚,不只是贴个原理图,还把实际踩过的坑也一块说出来。
这个方案适合三类人:第一类是硬件工程师,想快速把一颗成熟的交换芯片做成自己的小模块或产品;第二类是嵌入式开发者,板子上需要多接几个有线网口,又不想用“USB转百兆”这种凑合方案;第三类是网络设备折腾爱好者,想理解市面上几十块钱五口千兆交换机到底是怎么工作的。无论哪类读者,只要按着这套流程走,基本都能做出可用的样机。
1. 方案选型与整体设计思路拆解
1.1 一颗RTL8367RB-VB-CG能做什么:五口千兆无管理交换机的核心定位
RTL8367RB-VB-CG是瑞昱(Realtek)一颗经典的5端口10/100/1000M以太网交换芯片,后缀里的VB-CG通常代表版本和环保合规标识,不影响电气设计,但采购时一定要注意按完整料号下单,不同后缀可能在温宽、长期供货状态上有差异。
这颗芯片的厉害之处在于:它把交换引擎、MAC地址表、地址学习、流控、以及5路千兆PHY全部集成在一颗芯片里。也就是说,外部不需要再挂独立的PHY芯片,也不需要MCU来跑协议栈,只要给它供电、给时钟、接上网络变压器和RJ45座,它就能自己完成以太网报文的转发,这就构成了一个典型的无管理交换机。
从定位上看,无管理交换机解决的是“把多个有线设备安全地连进同一个局域网”的需求。它没有配置界面,所有端口默认处于同一个广播域,即插即用,适合家庭宽带扩容、监控摄像头组网、开发板联网这类场景。相比可管理交换机,它少了很多VLAN、链路聚合、端口镜像等高级功能,但换来的是低成本、低功耗和零配置。
选用RTL8367RB-VB-CG而不是拿一颗MCU去外接多个USB网卡,或者用两颗百兆交换芯片拼接,最重要的理由就是集成度。三颗芯片才能干完的活,它一颗就能搞定,BOM数量直接下降,PCB尺寸也大幅度缩小。实际做下来,一个手掌大小的板子就可以放下完整的五口千兆方案,整板功耗通常也就一两瓦,对散热和电源要求都很友好。
1.2 无管理模式的系统架构与选型取舍
无管理交换机的系统架构比大家想象中简单得多。以我做的这版为例,系统由以下几大部分组成:
- 核心交换芯片:RTL8367RB-VB-CG
- 供电系统:外部输入电源(5V或12V),经过DC-DC和LDO转换成芯片需要的多路电压
- 时钟系统:一颗25MHz无源晶体,为芯片提供基准时钟
- 网络接口:5个带隔离变压器的RJ45连接器
- 状态指示:每端口至少一组Link/Act LED
- 复位电路:上电复位RC回路,或独立复位IC
这里有一个容易被忽略的选型问题:网络变压器和RJ45,到底是买一体式的(RJ45带变压器),还是买分离式的?我的结论是,项目初期打样验证用一体式连接器最快,比如HR911130A、HX1188NL这类带变压器的RJ45座,不需要再单独画变压器封装,也少了不少布局烦恼。但如果你对EMC和信号完整性要求比较高,或者后续要做批量生产、想在变压器上做更多设计自由度,那就应该选分离式网络变压器,比如H6101系列,配合普通RJ45座使用。
无管理模式下,芯片的工作状态完全由引脚上的上下拉电阻(strap,也叫启动配置引脚)决定,不需要写程序也不需要外挂EEPROM。这也意味着硬件设计阶段就必须把这些引脚的默认状态定死,一旦板子贴好后再想改工作模式就麻烦了。所以设计时一定要对着数据手册一页页核对引脚默认值和推荐的上下拉电阻接法,这部分我在第2章会详细讲。
2. 原理图设计核心环节:电源、时钟、复位与模式引脚
2.1 电源树设计:多路供电怎么分,去耦电容放哪里
RTL8367RB-VB-CG这种带5路千兆PHY的芯片,电源需求比普通MCU复杂。一般会有内核电压(1.0V)、PHY模拟电压(3.3V或2.5V,具体以手册为准)、数字IO电压(3.3V)这几路。每一路都对纹波有要求,尤其PHY的模拟供电,纹波太大会直接体现在网口误码率上,这也是很多自制交换机“看着能link但跑不满速”的根源之一。
我的做法是这样:外部用12V/5V适配器输入,板上一路同步降压DC-DC把电压降到3.5V左右,再通过LDO分别稳压到3.3V和2.5V,另用一路小电流DC-DC或LDO输出1.0V内核电压。内核电流虽然比IO和模拟小一些,但千兆PHY满载时也不可小看,所以这颗1.0V推荐用DC-DC而不是LDO直接降,否则发热太集中。
上电顺序上,无管理模式的要求不算苛刻,因为片内一般有上电复位逻辑,但设计上还是建议让复位信号最后释放,也就是等各电源都稳定后再释放复位。最省事的办法是把RC复位电路的充电时间常数设得稍大一点,比如用10kΩ电阻配1uF电容,时间常数约10ms,实测大多数情况下都能让芯片稳定启动。
去耦电容的布局建议是:每路电源引脚附近就近放置0.1uF陶瓷电容,大容量的10uF~22uF电容放在电源入口处,并且要保证电容的地过孔能直接打到主地平面,否则高频去耦效果会大打折扣。千兆PHY对电源高频噪声比较敏感,如果布局空间允许,PHY模拟电源和数字电源之间最好再用一颗磁珠做隔离。
2.2 25MHz晶振匹配:别让时钟变成EMC源头
RTL8367RB-VB-CG需要一颗25MHz的基准时钟。可以用无源晶体加两颗负载电容,也可以用有源晶振直接输入,硬件设计上两种都行。我习惯用无源晶体,成本低,而且只要匹配得当,稳定性完全够用。
晶体匹配的关键是负载电容计算。芯片数据手册里一般会给出晶体的推荐负载电容(CL),比如常见的18pF或者20pF。外接的两颗电容实际取值用这个公式估算:C = 2 × CL - Cstray,其中Cstray是PCB走线和引脚寄生电容,一般取3~6pF。如果CL=18pF,杂散电容按4pF算,C = 2×18 - 4 = 32pF,那两颗电容就各取32pF左右,实际上拿33pF也问题不大。
不过这个公式只是起点,真正调板时建议用示波器看晶振两脚的波形幅度和起振时间,再用频谱仪确认一下有没有异常谐波。晶体走线要尽量短,两条走线建议等长,并且周围用地包围,避免时钟信号串扰到网口的差分信号上,否则千兆眼图质量会受影响。
有源晶振的优势是波形更陡、电平更容易控制,劣势是成本高、还需要额外给电源加滤波。如果你的板子上有FPGA或MCU,也可以从其他25MHz时钟扇出,但要注意时钟的抖动和驱动能力,不建议从普通GPIO硬怼。
2.3 复位与strap配置:无管理交换机“无软件”的秘密
无管理交换机之所以能做到“无软件”,靠的就是复位后芯片自动读取一组配置引脚的电平,来决定工作模式、LED定义、PHY地址等。这组引脚就是strap引脚。硬件设计时,必须确认每颗strap引脚是接上拉、下拉,还是悬空。
我的习惯是先把数据手册后面的strap表格打印出来,一个一个对着原理图打勾。常见需要配置的项目包括:交换芯片与电脑端MDIO接口上是否有外部CPU访问(无管理模式下一般配置为无CPU),端口速率协商是否允许自动协商,LED工作模式选哪种指示方式,以及PHY的断电策略是否开启EEE等。某颗strap引脚一旦接错,轻则LED显示不对,重则芯片进不了正常交换模式,所有端口都不link,那种问题查起来很花时间。
复位方面,最简单可靠的是RC复位电路:复位引脚通过10kΩ电阻接高电平,对地再接1uF电容,开机时电容充电造成引脚低电平保持一段时间,然后变高释放复位。要求高一点就加一颗专用复位IC,比如BD52系列或者MAX809,好处是阈值更准确,复位时间可预期。RC复位在批量一致性上稍弱,但实验室打样完全够用。
有一点特别提醒:如果板子上有外部MCU想通过MDIO/MDC访问RTL8367RB的寄存器,strap引脚里通常还要留出PHY ADDR的配置位,默认4’b0000还是其他值要按手册设好。我就见过有人默认配置对不上,导致MDIO扫不到设备,最后查了半天才发现是strap地址配错。
3. 千兆网口硬件设计:网络变压器、RJ45与差分布线
3.1 千兆网口连接方案:一体式RJ45与分离式变压器的取舍
千兆以太网使用的是4对差分线,也就是8根线芯全要工作。这4对线从RTL8367RB的MDI0±到MDI3±引脚出来后,先进入网络变压器,再做共模抑制、阻抗变换和电气隔离,最后接到RJ45座。
一体式RJ45虽然方便,但有个实际问题:不同厂家的内部变压器绕法可能略有差异,中心抽头处理也不一样,如果没按器件手册接Bob Smith电路,就可能在EMC测试时出问题。我建议打样初期拿到一体式器件后,先看看封装内部原理图,确认哪些引脚是变压器中心抽头,哪些是要接电阻电容的终端点,再画封装。
分离式变压器的好处就是灵活可控。例如H6101这颗料,数据手册里通常会给出完整的应用电路。以常见的千兆变压器接法为例,PHY侧的每对差分线中心抽头可以接一个1000pF/2kV高压电容到地,或者根据参考设计接到对应的电源,线缆侧四对差分线的中心抽头汇聚到一个公共点,这个公共点再接1000pF/2kV电容到地。这样做的目的是给共模干扰提供回流路径,同时把高压静电从信号线上泄放掉。
RJ45端还要考虑防护器件。工业或户外环境建议在每对差分线上并接TVS管,或者用带变压器和防护的一体化RJ45。普通家用环境可以只在变压器中心抽头附近做高压电容接地,BOM更简单,成本也更低。
3.2 100欧姆差分对布线规则:线宽线距、等长与回流
千兆网口能不能稳定跑满,PCB布线占了很大权重。RTL8367RB的4对MDI差分线都需要控制在100Ω±10%的差分阻抗,走线尽量使用完整的地平面作为参考层,不能跨越电源轨分割,否则阻抗突变会让信号反射,导致对端CRC错误。
以常见的1.6mm FR4四层板为例,层叠可以设为:TOP走差分线、L2完整GND、L3电源平面、BOTTOM走剩余信号。表层差分线的线宽和线距不是拍脑袋定的,要让PCB板厂提供阻抗结构,或者用参数计算器来算。我这里做个参考:如果叠层是表层到L2的介质厚度约0.1mm,差分线线宽6mil、线距8mil左右,通常能走到100Ω附近,但每家的压合厚度不同,所以最稳妥的方式是提交板厂做阻抗控制叠层,他们会直接给出线宽线距建议。
等长控制方面,千兆以太网的规范对同一对差分线P/N之间的skew要求很严,PCB上一般要求做到±5mil以内,我在布线时甚至习惯做到±3mil。对与对之间(比如MDI0这对和MDI1这对)的等长要求相对宽松,控制在±20~30mil问题不大。实际画板时可以用绕线方式补长,但注意绕线处的间距要保持一致,不要突然改变线距。
走线过程中我建议尽量减少过孔,因为每个过孔都会引入阻抗不连续。如果不得不换层,信号过孔旁边必须放一个地过孔,给回流电流提供短路道。四对差分线之间要保持间距,至少3倍线宽以上,避免线间串扰来到千兆这种高速信号不可接受的程度。
3.3 PCB层叠与散热焊盘处理
RTL8367RB-VB-CG这类芯片通常采用QFN封装,底部有一块大焊盘,这个焊盘不只是散热用的,也是重要的地连接点。原理图设计时一定要标注清楚:底部焊盘连接到GND网络,并且PCB上要开足够多的热过孔,塞到内层的地平面,把热量导走。
我做的这版PCB在芯片下方放了9个过孔,孔径0.3mm,电镀后均匀分布在焊盘区域。这样不仅散热好,也能降低地回路阻抗,对PHY稳定工作有帮助。如果底部焊盘的地没有可靠接到主地平面,芯片工作一段时间后温度会明显升高,网口速率甚至可能从千兆自动降级到百兆,因为PHY内部温度保护触发了。
布局上要注意,RTL8367RB和RJ45座之间的距离不宜过长。差分线从芯片出来后,经过变压器到RJ45,走线越长,信号损耗越大。理想情况是把5个RJ45座排在板子一侧,芯片和变压器尽量靠近座子,电源部分放另一侧,这样信号路径清晰,电源干扰也不会轻易耦合到网口线上。
网络变压器下方我习惯做净空,表层铜皮和参考地平面都挖掉一点,目的是减少变压器线圈与地之间的寄生电容。否则共模噪声容易被耦合到地,EMC成绩会变差。具体挖多少,要看器件手册的推荐封装和参考布局,别自己随便挖太大,免得变压器引脚不好走线。
4. 从原理图到样机的实操流程与调试要点
4.1 原理图搭建与BOM核对细节
画原理图时,我强烈建议先去瑞昱官方或者代理商的FAE那里要到RTL8367RB的参考原理图,Reference Design是最省事的起点。不要自己从零开始一项项对着数据手册画,那样很容易漏掉某个strap电阻或电源滤波网络。拿到参考图后,再根据自己的接口需求做裁剪:去掉用不到的MDIO座、EEPROM、配置按键等,保留核心交换链路。
BOM核对是另一个容易踩坑的地方。第一次打样时我建议所有关键器件都买样品先量一遍,特别是网络变压器的同名端和中心抽头定义。不同厂家的变压器引脚定义可能不一样,明明型号后缀差不多,实际绕线却可能相反。假如把初级和次级接反,网口要么完全不link,要么link上了数据也全错。
电感、TVS和ESD器件也很容易买错封装。RJ45座附近的TVS,如果电源电压错了,可能导致信号被钳位到异常电平,出现“能协商千兆但一传大包就断”的诡异现象。所以每个器件我习惯再看一眼规格书,不只看型号对不对,还要看耐压、电容值、引脚排列这些参数。
打样前还要做一次网络检查(ERC),把每个电源网络检查一遍是否有多驱动、悬空输入这类问题。无管理交换机看起来简单,但5个网口的网络变压器和LED走线会拉出不少线路,ERC能提前拦下一批低级错误。
4.2 样机上电调试与千兆性能验证
样机回来后,第一步千万别急着插网线,先目检、再量短路、再上电。我习惯先用万用表打在二极管档,量各个电源轨对地的阻值,如果有接近0Ω的短路,大概率是焊盘连锡或者去耦电容焊歪。上电时用稳压电源限流,比如先设定5V/500mA,观察电流是否异常大。
确认电源正常后,再测各路电压值,比如1.0V内核、2.5V/3.3V模拟、3.3V数字。电压都对了,再用示波器看25MHz晶振是否起振,波形幅度是否足够,是否有明显抖动。接下来测复位引脚电平,如果复位一直被拉低,芯片什么都不会干。
这套流程没问题后,就可以插网线了。从电脑的RJ45口连到焊好的交换机某端口,看网卡是否显示1.0Gbps。如果只显示100Mbps,先换一根8芯全通的成品网线再试,很多时候问题出在测试线材而不是板子。只要能协商到千兆,再打流测试。
压力测试我一般用两台电脑接交换机两端,一台开iperf3服务端,另一台跑iperf3客户端,双向打流持续跑至少半小时,看有没有掉速、丢包和CRC错误。Windows下的“网络连接”状态页只能看到协商速率,看不出错包,想要详细结果,最好是跑到Linux端用ethtool -S查看端口的rx_crc_errors。打流测试能过,基本硬件就没大问题了。
5. 常见问题与排查技巧实录
5.1 协商只有百兆甚至10M:八成是网线与连接器问题
自制交换机最常见的症状就是:明明方案是千兆,插上去却只协商到100M。我一开始也以为是芯片或PCB问题,结果排查了一圈,最后发现故障原因是测试用网线只有四根芯导通。千兆传输必须8根芯全部工作,4芯网线最高只能协商到百兆,就是这么一个很傻但又频繁出现的坑。
水晶头的千兆定义其实就一句话:T568A或T568B线序,8根铜芯全部压好并导通。买网线时别只看外皮印的“CAT5e/CAT6”,要实际拿测线仪打一下,或者直接插到千兆路由器上看协商速度。如果DIY压水晶头,注意压线钳要压到位,外皮需要卡在水晶头卡扣里,否则线芯容易缩回去。
如果是分离式RJ45座,还要检查焊接有没有虚焊。RJ45座引脚多,手工焊接时块头小,容易桥连或假焊。我一般打完样会用放大镜挨个脚检查一遍,再用万用表蜂鸣档量相邻引脚是否短路。
5.2 千兆链路频繁CRC错误与丢包:从阻抗到变压器逐项排查
这个问题的原因比“协商不到千兆”更隐蔽。现象是:可以协商到1.0Gbps,但只要一打大流量,接收端不断出现硬件CRC错误,甚至断流。这也是很多网友用其他PHY芯片时遇到的共性问题,比如YT8521这类电口PHY也经常被问到“百兆正常,千兆出现接收硬件CRC很多错误”。
按我的排查顺序,先怀疑网线,换一根高品质超五类或六类跳线,排除线缆问题。接着检查网络变压器的中心抽头处理,重点看是不是线缆侧公共点没有按参考设计接Bob Smith电路或高压电容到地。如果这部分悬空,共模回流不畅,千兆高速信号会更容易受到外部干扰。
再往下就是PCB问题。差分线是否保持了等长?同对P/N的偏差如果超过10~20mil,千兆信号时序就会出问题。差分阻抗是否落在90~110Ω范围内?如果板厂没有做阻抗控制,线宽线距又不合理,反射损耗会造成大量错误帧。还有一种可能:差分线走了没有连续地平面的层,跨了电源分割,信号回流路径被拉长,导致链路误码。这种情况只能在Layout阶段规避,改板后重新打样。
最后别忘了看电源纹波。PHY模拟供电的纹波如果超过规格,也会表现为CRC错误,用示波器交流耦合测一下纹波,如果超过50mV,就该在电源上加磁珠或者加大电容。
5.3 无管理交换机“不听话”的典型场景:环路、VLAN与兼容性
无管理交换机最大的局限是它不跑STP(生成树协议),也基本不做VLAN隔离。你把两个交换机互相连接、形成一个环路,它不会自动阻断冗余链路,结果就是广播帧在环路里无限复制,所有端口都被广播风暴塞满,整个局域网瘫痪。这在接线复杂的环境里非常容易出现,尤其是家里有多个交换机和监控场景。
另外,虽然很多无管理交换芯片片内支持VLAN查表,但无管理模式下默认是VLAN透传的,如果运营商IPTV、企业网环境里需要按VLAN隔离用户,无管理交换机是做不到的。遇到这类需求,建议直接换成可管理交换机,或者像我这样在RTL8367RB外部加一颗MCU,通过MDIO/MDC访问内部寄存器,配置端口隔离和802.1Q VLAN,把无管理板升级成简易管理型交换机,这个扩展空间是这颗芯片的价值所在。
互操作兼容性上也有可能出现怪现象。比如某些路由器或光猫的网口与交换机连接后,协商速率只有10M,这种情况十有八九是网线质量、接触氧化或端口供电不足,而不是芯片本身的问题。先把链路两端锁定成强制千兆试试,如果能强制到千兆并且稳定,说明自动协商过程可能被某个异常中断,再慢慢排查线缆。
5.4 长时间运行发热与稳定性:散热焊盘与布局复盘
无管理交换机虽然功耗不高,但长时间挂机运行后,芯片周围依然会积累热量。QFN封装底部的散热焊盘如果没处理好,芯片内部结温会过高,PHY可能自动降速或重启端口。我实测过没有可靠接地热焊盘的板子,满负载跑40℃环境温度下,外壳微热但芯片表面温度已经到70℃以上,接着就出现千兆断流。
正常设计下,底部的散热焊盘要大面积连到地平面,并且焊盘区域要有多孔热过孔,让热量能快速导入内层地铜皮和底层散热区域。如果产品外壳是金属的,还可以在芯片PCB背面加导热垫到金属外壳,效果立竿见影。如果只是PCB自然散热,那就要保证PCB周围没有完全封死的塑料壳,至少留出空气对流路径。
我做的第二版在这里做了改进:底部开孔增加到15个,芯片下方PCB背面留了一块大面积裸铜,方便手工加散热片或者贴导热垫。实测同样的测试条件下,芯片背部温度比第一版降低了大约10℃,打流一晚上也很稳定。说到底,千兆交换机硬件设计的“稳”,靠的就是这些平时不起眼的细节堆出来的。
最后再分享一个我自己的习惯:每次画完板子、贴完片,我都会把电源、时钟、复位、网络变压器、差分线这五部分单独检查一遍,每项确认没问题再上电。这些年调过的网口板子出的大部分问题,都逃不出这五类。如果你也正在做RTL8367RB-VB-CG的五口千兆无管理交换机,建议先把这些基础环节打牢,再谈什么花活,这样出来的板子才能真正扛得住长时间运行。