尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

自己动手DIY千兆交换机:从RTL8367RB芯片到散热实测全解析

发布时间:2026/9/28 15:56:11

资讯中心
01
ARTICLE

自己动手DIY千兆交换机:从RTL8367RB芯片到散热实测全解析

自己动手DIY千兆交换机:从RTL8367RB芯片到散热实测全解析
前阵子在整理工作台的时候翻出一台吃灰多年的百兆交换机测了下速度局域网拖文件只有11MB/s左右果断把它扔进了回收箱。顺手去电商平台看了一圈千兆交换机发现价格已经很透明但作为一个喜欢折腾的人我还是决定用RTL8367RB芯片自己焊一台5口千兆交换机。这篇东西不是让你“省钱”而是把一个普通交换机内部那些你以为很玄乎的东西——PHY、变压器、差分走线、EEPROM配置、散热设计——全部摊开来讲清楚。文章按我实际踩坑的顺序写从芯片选型、板级方案、焊接调试到散热实测每一步都有数据和经验适合有一定焊接基础、想深入理解网络硬件工作原理的DIY爱好者参考。1. 为什么还要自己造一台千兆交换机比成品多出来的价值1.1 不是为了省钱是为了把“黑盒”变成“白盒”一台品牌千兆交换机只要几十块钱自己买芯片、画板、焊接、调试算上打样和物料成本大概率比成品还贵。那为什么还要折腾我的理由是成品的固件是封闭的你没法按自己的需求去改VLAN、端口隔离、流控策略更看不到芯片内部寄存器是怎么初始化的。而用RTL8367RB自己搭所有东西都是可见、可改、可复现的。芯片手册公开、寄存器表公开、参考设计公开网上甚至有开源路由器和交换机项目可以直接抄作业。做完这一台你就理解了“交换机”三个字背后真正的机制MAC地址学习、端口转发、VLAN标签、PHY自协商这些不再是一堆抽象概念而是你亲手焊上去的一条条走线和一段段配置代码。另一个现实收益是折腾的乐趣。很多人玩DIY LCR电桥、DIY机器人工房、焊功放本质上不是缺那个设备而是享受从零件到整机、从调不通到跑通的过程。交换机虽然不像功放那样有音质玄学但上电瞬间五个千兆口全部Link灯亮起那种成就感是买成品换不来的。1.2 三条路线怎么取舍打板、核心板还是改造成品确定芯片之后先别急着下手。我把我见过的三种玩法列出来你自己对号入座。路线难度成本可定制性适合人群从原理图开始自己画PCB打样高较高打样物料工具最高有电路设计基础想彻底掌握方案买RTL8367RB核心板/交换机裸板自己改供电和散热中中中想跳过画板环节专注固件和散热买成品交换机拆机魔改换散热、刷配置、改天线等低低低只想练手散热和系统集成我自己走的是第一条路线因为我对这块芯片的52口特性有明确需求——5个千兆LAN口之外还有两个RGMII接口可以接软路由SoC做成一个可独立扩容的交换模块。如果你只是想要一台“能用的千兆交换机”建议直接走第二条路线把精力放在散热和外壳设计上那个环节同样有大量门道。无论走哪条路线核心的知识点都一样RTL8367RB是一颗52端口千兆以太网交换控制器集成5个10/100/1000Base-T PHY外加2个RGMII/MII接口用于连接外部CPU。它支持的802.1Q VLAN、QoS队列、端口镜像、带宽限制这些功能决定了你后期能玩出多少花样。2. 芯片周边的电路骨架电源、时钟、变压器和RJ452.1 电源树与去耦布局PHY对纹波的容忍度比你想象的低RTL8367RB不是一颗上电就能跑的单电源芯片它需要多个电压轨。参考数据手册的电源树设计典型架构是外部输入3.3V作为主供电芯片内部再产生PHY模拟电路需要的2.5V和数字核心需要的1.2V。用LDO而不是DC-DC的好处是纹波小但代价是压差带来的热量会积在电源部分所以布局上要单独留出散热空间。我第一版打样时犯过一个低级错误把3.3V输入直接拉给芯片的AVDD引脚忽略了内部LDO的输出电容必须靠近芯片小于2mm这个要求结果上电后5个PHY里只有3个能正常Link另外两个时断时续。后来用示波器一测那两个端口的供电纹波到了80mV以上千兆PHY对这种噪声非常敏感轻则协商降级重则直接Link不上。正确的做法是输入12V或9V DC先经过一级DC-DC降到3.3V再用LDO分别给模拟域和数字域供电。每个电压轨的输入输出端都要放10uF钽电容100nF陶瓷电容组合陶瓷电容尽量靠近芯片电源引脚。所有电源层和地层要完整不要在高速差分走线正下方切断地平面。一句话总结供电稳定是一切的基础千兆PHY对电源纹波的要求远高于普通数字逻辑电路。2.2 25MHz时钟与复位电路起振失败排查了我一个下午RTL8367RB需要一个25MHz基准时钟可以用无源晶振加两个负载电容也可以用有源振荡器。新手为了省事常常直接买有源晶振但要注意输出电平是否匹配芯片时钟输入要求有些3.3V有源晶振的输出波形是削顶的芯片也能工作但对EMC不友好。我的设计用的是25MHz无源晶振配18pF负载电容放置位置离芯片的XTAL_IN/XTAL_OUT引脚尽量近走线尽量短且等长。复位电路用RC复位加手动复位按键RC时间常数取10ms左右太短会导致上电瞬间芯片还没稳定就被释放出现初始化失败。这里分享一个我踩过的坑第一次上电时芯片完全没反应MDIO读不到任何寄存器。用示波器量晶振引脚发现波形幅值只有几百毫伏芯片根本没起振。查了半天发现是负载电容焊错了封装实际贴上去的是2.2pF而非22pF。换掉之后立刻正常。所以焊接完成后最好先量一下晶振波形再插网线测试。2.3 千兆变压器和RJ45用错变压器等于白干千兆以太网使用4对差分线传输不像百兆只用2对。这意味着你选的网络变压器必须是支持1000Base-T的4对线方案而不是百兆的2对线方案。有些RJ45连接器集成磁性变压器带Transformer的集成座这种对新手最友好焊一个件就把差分阻抗、共模抑制都解决了,我用的就是这类集成座。独立变压器方案对PCB走线要求更高因为RJ45到变压器、变压器到芯片之间都要严格控制100欧姆差分阻抗。无论哪种方案都要在RJ45侧的差分对中心抽头上按数据手册要求做Bob Smith端接通常是在RJ45端用75欧电阻对地再串一个高压电容1000pF/2kV接到机壳地。不做这个端接ESD测试很难过雷雨天还容易把PHY打坏。走线方面千兆差分对所有差分对都要做阻抗控制层叠结构按电介质厚度算好线宽线距差分对内等长控制在10mil以内。如果只是拿洞洞板飞线千兆基本没戏能协商到100M已经算运气好。这个结论不是我拍脑袋说的我实测过飞线版本插上只能协商到100M这是分布参数把高频信号毁掉的经典案例。3. 焊接与首次上电从空板到5个Link灯全亮3.1 LQFP-128封装的手工焊接助焊剂管够RTL8367RB比较常见的封装是LQFP-128引脚间距0.4mm。这个间距对老手来说不算难但新手第一次焊容易连锡。我的建议是准备好以下工具恒温烙铁温度设350℃左右、刀头烙铁头、助焊剂最好是焊油松香也行、吸锡带、放大镜或体视显微镜。焊接步骤没有玄学就是固定、拖焊、清理三部曲先用少量锡固定芯片对角线上的几个引脚确认所有引脚对准焊盘然后上足量助焊剂用刀头蘸锡从芯片一端往另一端拖让锡在助焊剂作用下自然流动最后用洗板水或酒精清洗板面再用万用表蜂鸣档逐一检查相邻引脚是否短路。这一步不能省LQFP连锡是上电冒烟的头号原因。另外提一句焊完芯片先别急着上电用万用表检查电源和地之间阻值正常应该在几百欧以上。如果接近零先找短路别盲目通电。3.2 上电检查顺序限流电源是新手保护伞第一次给新板子通电不要直接用稳压电源。把电源限流设在500mA左右电压设在3.3V然后观察电流表。正常情况电流会从几十毫安慢慢爬升到两三百毫安这是电源电容充电加芯片初始化的正常表现。如果一上电就触发限流说明电源端存在短路。上电稳定后依次检查各路电压是否正常3.3V、2.5V、1.2V都在标称值正负5%以内。晶振是否起振示波器探头点在晶振引脚上应该能看到25MHz正弦波。复位脚电平复位释放后应该是高电平。用网线连接任意两个端口看Link灯是否亮起协商速率指示是否在千兆。我第二次打样时上电电流只有40mA明显不正常查下来是复位电容虚焊导致芯片一直处于复位状态。这些都是小问题但排查链路是一样的先供电再时钟再复位最后看PHY。3.3 协商失败和“只有10M”的排查链路一个真实案例前面提到热词里有个很典型的用户问题千兆路由器接到千兆交换机后端口只分配了10M速率。这几乎是每个DIY千兆交换机的人都会遇到的症状排查链路很有价值我按自己的实操经验整理如下第一步先换线。很多人第一反应是设备问题但网线里的线对断裂、水晶头压接不良往往导致协商速率掉到100M甚至10M而且不太稳定。至少换一根已知良好的超五类或六类成品线测试。第二步看协商状态。通过ethtool命令如果连的是路由器或者MDIO读取PHY状态寄存器确认两端实际协商的结果。如果一端显示1000M一端显示10M问题大概率在中间的物理链路。第三步测变压器到RJ45的通断。用万用表量RJ45引脚到变压器引脚之间的导通性千兆网线8根针脚全部要通有一根断就掉级。第四步量差分对走线到PHY的阻抗。这个对没有网分的玩家比较难但至少可以检查是否有虚焊特别是PHY引脚细容易漏焊。第五步查配置。有些芯片的PHY调速寄存器被初始化代码写成了强制10M这种情况就要回到固件侧排查。我自己的经历有一版板子焊好后端口3只能协商10M查了半天发现是RJ45集成座的第5针对应蓝色线对虚焊。补焊后立刻恢复千兆。千兆以太网少一对线就是10M/100M的降级而且表现往往是不稳定的Link。4. 固件侧的配置逻辑EEPROM、MDIO和VLAN怎么落地4.1 没有CPU也能跑的默认配置芯片不是必须被“初始化”很多人以为RTL8367RB必须接一颗CPU才能工作这是个误解。芯片内部有MAC地址表和交换引擎外部CPU只是用来读写寄存器、下发配置策略而不是参与数据转发。所以如果只是做一个“傻瓜交换机”芯片上电后用默认配置就能转发数据。默认配置的行为大致是所有内置PHY端口自协商、自动学习MAC地址、所有端口在同一个广播域里转发。为了让它按你的预期工作建议还是放一颗EEPROM比如AT24C04通过I2C接口上电自动加载配置。EEPEOM里存的内容不是“固件”而是寄存器配置表。芯片复位后会通过I2C从EEPROM里读出配置数据写到对应寄存器完成初始化。没有EEPROM也能跑但每次上电都是靠芯片内部默认值如果你想修改默认VLAN或者端口镜像就没法持久化保存了。DIY的话还是建议焊一颗EEPROM上去成本不到2块钱省掉很多不确定性。4.2 MDIO初始化让外接CPU接管交换芯片如果你想做带管理功能的交换机——比如给软路由扩展多千兆口或者做VLAN单线复用——就需要一颗MCUSTM32、ESP32等通过MDIO/MDC接口对芯片做初始化。MDIO是一种只有两根线的管理接口MDC是时钟MDIO是双向数据通过读写寄存器来配置芯片。给一段简化但能用的STM32 GPIO模拟MDIO写寄存器代码框架void mdio_write(uint8_t phy_addr, uint8_t reg_addr, uint16_t data) { uint32_t frame 0; // preamble: 32个1 for (int i 0; i 32; i) { MDIO_O(1); MDC_PULSE(); } // start: 01 MDIO_O(0); MDC_PULSE(); MDIO_O(1); MDC_PULSE(); // op: 01 (write) MDIO_O(0); MDC_PULSE(); MDIO_O(1); MDC_PULSE(); // phy addr: 5bit for (int i 4; i 0; i--) { MDIO_O((phy_addr i) 1); MDC_PULSE(); } // reg addr: 5bit for (int i 4; i 0; i--) { MDIO_O((reg_addr i) 1); MDC_PULSE(); } // TA: 10 MDIO_O(1); MDC_PULSE(); MDIO_O(0); MDC_PULSE(); // data: 16bit for (int i 15; i 0; i--) { MDIO_O((data i) 1); MDC_PULSE(); } }实际初始化流程一般是复位芯片 → 延时100ms → 配置交换全局寄存器端口使能、端口模式 → 配置PHY寄存器自协商、速度、双工 → 配置VLAN和转发规则 → 使能端口转发。具体寄存器地址在不同批次的数据手册里可能略有出入我建议以你手上的芯片规格书为准网上流传的Linux内核rtl8367rb驱动也是很好的参考资源。4.3 VLAN配置场景IPTV单线复用是典型刚需做交换机DIY大家问得最多的场景就是“单线复用”一根网线既走宽带又走IPTV。用RTL8367RB的802.1Q VLAN功能就能实现把端口1设为Trunk口端口2和端口3分别划到两个不同的VLANTrunk口同时透传这两个VLAN。配置逻辑很简单创建两个VLAN比如VLAN 10给上网、VLAN 20给IPTV把端口1配置为Trunk并允许两个VLAN通过端口2设为VLAN 10的Access口端口3设为VLAN 20的Access口。这样一根物理线就能同时承载两条逻辑链路。这种玩法在成品百元交换机上基本不可能实现因为固件不开放。而你自己做的机器想怎么改都行。我当时用这个方案帮朋友解决了“光猫只有一个千兆口既想拨号又想看IPTV”的问题比买一台带VLAN的成品交换机便宜很多而且原理完全可控。5. 散热方案的选型与实测从裸片到风冷的平衡点5.1 发热根源四个PHY同时满负荷并不是小事RTL8367RB虽然不算大火炉但它把5个千兆PHY和交换核心做在一颗芯片里满载时结温会明显上升。如果外壳密闭、没有通风时间一长芯片表面温度能到70℃以上。我在整机功耗测量中满载时整板电流在0.55A3.3V左右也就是功耗接近2W这在被动散热的小外壳里已经不能忽视了。高温带来的问题不只是寿命缩短PHY在这种温度下可能出现CRC错误率上升、协商不稳定。我自己测试时发现裸片跑在75℃以上时长时间打流偶发单包丢包温度降下来又恢复正常所以散热不是可选项是必须项。5.2 散热片选型与贴装不是越大越好给芯片贴散热片尺寸不是越大越好关键是看你的外壳空间和风道设计。RTL8367RB这类芯片我实测用25×25×10mm的铝散热片在自然对流下效果已经很好从72℃降到51℃左右。再大一号比如40×40mm温度改善有限反而增加对外壳内空气流动的阻碍。贴装方式要注意如果是用导热背胶3M 8810之类直接贴一定要先把芯片表面擦干净不能有助焊剂残留否则导热系数大打折扣。从实际经验看最稳妥的方式是涂薄薄一层导热硅脂再压散热片用卡扣或螺丝固定而不是单纯依赖背胶。背胶时间久了高温老化散热片会掉那就尴尬了。散热片的固定还得注意不能压到芯片周边的阻容元件特别是靠近芯片引脚的去耦电容一旦压裂引脚排查起来非常费劲。5.3 外壳开孔与风道被动散热的设计比想象中讲究如果做被动散热外壳开孔不能随便开了事要考虑形成自下而上的烟囱效应。机箱底部开进风口顶部或侧面开出风口热量自然上升带走散热片的热量。开孔面积我一般控制在散热片投影面积的2到3倍太小了气流量不够太大了结构强度受影响。另一个容易被忽略的细节是位置散热片正上方不要被其他板卡或外壳支架挡住至少留出10mm的垂直空间。我把散热片朝上安装在机箱内底部进风、顶部出风实测比水平安装低了5℃左右。5.4 主动风冷与温控什么时候才值得上风扇如果你的交换机要放进弱电箱这种密闭环境被动散热再怎么做都白搭弱电箱里夏天温度本身就40℃往上。这时候就需要主动风冷但我不建议风扇24小时全速转一是噪音二是灰尘三是风机寿命。温控风扇的电路不复杂NTC热敏电阻10kΩB值3435做测温搭配运放或比较器LM393做阈值判断再加上一个三极管或MOSFET驱动风扇。分压电路用固定电阻和NTC分压输出电压随温度变化比较器阈值通过可调电阻设定我一般设到45℃开启、40℃关闭留2到3℃的滞回窗口防止风扇频繁启停。工况室温芯片表面温度外壳内空气温度风扇状态裸板无散热片满载25℃72℃52℃密闭壳无风扇贴25×25×10散热片自然对流25℃51℃44℃无风扇散热片外壳烟囱开孔25℃46℃39℃无风扇散热片4010温控风扇25℃38℃31℃45℃开启低速运转从实测数据看从“裸片”到“散热片开孔”的收益最大不需要风扇就能把温度控制在合理范围。只有在密闭弱电箱场景才需要温控风扇介入。风扇选4010规格40×40×10mm就够了5V供电转速3000转左右噪音可以接受。我个人比较推荐先做被动方案把所有开孔和风道优化到位再决定要不要上风扇因为风扇一旦加进去防尘和噪音都是长期要管的麻烦事。6. 整机测试与长期运行数据不骗人6.1 吞吐与延迟测试千兆线速的及格线做完硬件和散热不能只看Link灯亮了就算成功得用工具验证转发能力。最常用的就是iperf3拿一台电脑接交换机其中一个口另一台接另一个口分别设置静态IP后开测。单线程测试iperf3 -c 192.168.1.10 -t 60 -P 4千兆以太网线速上限大约941Mbps因为以太网帧头、前导码和帧间隙占了开销测出来能稳定在930Mbps以上就是及格。我实测这台DIY交换机单方向吞吐在940Mbps左右基本跑满。双向打流加-R参数也能到接近1.9Gbps说明交换背板在双向场景下没降速。延迟方面用普通ping测试意义不大因为局域网ping延迟基本在0.2到0.3ms主要被操作系统协议栈和网卡驱动吃掉交换机本身的转发延迟store-and-forward模式下约几微秒很难直接体现。但从体验上看局域网传大文件稳定在110MB/s左右已经和成品千兆交换机没有差别。6.2 老化测试与稳定性观察我对这台交换机的稳定性要求是7×24小时不间断运行。连续跑了两周每天用脚本定时打流4小时期间用温度记录仪监测芯片表面温度稳定在37-39℃之间没有出现断流、丢包或者协商降级。有一个细节要拿出来单独说网线的质量会直接影响长时间稳定性。我测试时换过一条做工很差的超五类线短时间能协商到千兆跑几分钟后偶尔掉包。用福禄克专业测试仪测那根线近端串扰NEXT余量不够属于典型的“线材坑”。所以如果你自己做的交换机使用中丢包先别急着怀疑电路换根好线是最快的排查方式。6.3 后续可以怎么扩展52端口的潜力RTL8367RB的“2”指的是两个RGMII接口这意味着它不只是简单的5口交换机还可以作为一颗“交换引擎”挂在路由器SoC上把软路由/工控机的单一网口扩展成多千兆LAN口。网上很多开源路由器项目就是这么干的你把RTL8367RB的RGMII口接到主控的RGMII口上再通过MDIO让主控管理VLAN和端口隔离就是一台标准的“多口软路由”。这个扩展方向比较适合已经玩腻了普通交换机的朋友等于把一台机器当两台用。我目前正在折腾这个玩法后续有结论再单独写一篇分享。最后再分享一个小技巧散热风扇如果用温控电路驱动可以在风扇电源线上串一个几十欧的电阻降低启动电压风扇低速启动时噪音会小很多这比PWM调速简单得多效果也不错。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。