
1. 项目缘起与整体设计思路1.1 为什么选择RTL8367RB-VB-CG这颗芯片做网络硬件的朋友大概都有个共识千兆交换机方案里Realtek的RTL8367系列是绕不开的一档。我这次选的是RTL8367RB-VB-CGQFP128封装5口千兆非管理型交换芯片内置RISC CPU支持VLAN、QoS、端口镜像这些基础管理功能。选它的理由很直接一是集成度高5个千兆PHY全内置外围只需要一颗25MHz晶振、一颗SPI Flash可选、几个去耦电容和网络变压器就能跑起来二是资料相对好找datasheet和参考设计在圈子里流传比较广三是价格合适小批量拿货单颗在十几到二十几块人民币之间做几台自用或者小批量产品都划算。对比过几款同类芯片MT7530B也是5口千兆但封装是BGA手工焊接难度大RTL8367S是8口版本对5口需求来说浪费IP175G只有百兆。所以RTL8367RB-VB-CG在5口千兆这个定位上QFP封装对个人和小团队来说是最友好的选择。1.2 立创EDA作为设计工具的实际考量工具选型上我纠结过一阵。Altium Designer我用了很多年但正版授权费用对小项目来说不现实KiCad开源免费但元件库和国内供应链的对接不如立创EDA顺畅。最终选立创EDA专业版核心原因是立创商城的海量元件库可以直接调用原理图里放的符号和PCB封装跟实际能买到的物料一一对应BOM导出后可以直接在嘉立创下单省去了自己建库、核对封装的环节。注意立创EDA专业版和标准版差异很大专业版支持真正的层次原理图、差分对布线、等长调节做千兆交换机这种带高速信号的设计必须用专业版标准版功能不够用。1.3 整体硬件架构拆解整个板子的架构可以分成四块电源部分、交换核心部分、网络接口部分、配置与调试部分。电源部分输入是DC 5V圆孔或Type-C都行经过一颗LDO或者DC-DC降到3.3V给RTL8367RB和晶振供电再降到1.1V给芯片内核供电。RTL8367RB-VB-CG需要三路电源3.3V模拟和IO、1.1V内核、2.5V或3.3VPLL具体看设计。我这次用的是3.3V1.1V两路方案PLL内部LDO从3.3V取电。交换核心就是RTL8367RB-VB-CG加一颗25MHz无源晶振再加一个SPI FlashW25Q16或类似型号用于存放配置。如果不需要管理功能Flash可以省掉芯片会从内部默认配置启动。网络接口部分5个口全部走RJ45带集成变压器的连接器比如HanRun HR911105A或者类似型号。每个口的差分对走线需要严格控阻抗。配置调试部分留了一个4pin的UART排针用于接串口看启动日志和进命令行配置。2. 原理图设计核心细节与避坑要点2.1 电源树设计与去耦电容布局RTL8367RB-VB-CG的电源引脚分布比较散QFP128封装四周都有VDD和VSS。3.3V的模拟电源引脚AVDD33和数字电源引脚DVDD33要分开处理中间用磁珠或者0欧电阻隔离避免数字噪声串到模拟部分影响PHY的信号质量。去耦电容的配置我踩过坑。第一版设计的时候我在每个电源引脚旁边只放了一颗0.1uF结果跑千兆的时候有几个口出现丢包。后来用示波器量电源纹波发现高频噪声比较大。第二版改成每个电源引脚旁边一颗0.1uF0402封装离引脚越近越好每两个引脚共用一颗1uF整板再放两颗10uF的钽电容做储能。改完之后丢包问题解决。实操心得0.1uF电容的接地回路要尽可能短最好直接打过孔到地平面走线长度控制在2mm以内。我见过有人把去耦电容放在芯片背面通过过孔连接效果也不错但过孔要足够多。1.1V内核电源的电流需求大概在1.5A左右datasheet标称典型值1.2A留余量我选了一颗SY8089同步降压芯片输入3.3V输出1.1V外围只需要一颗2.2uH电感和几颗电容。这里注意电感要选饱和电流3A以上的否则大流量转发时电感饱和会导致电压跌落。2.2 晶振电路与时钟配置RTL8367RB-VB-CG需要一颗25MHz无源晶振负载电容根据晶振规格书来定一般是12pF到18pF。我用的晶振负载电容是12pF所以外接电容选了两个22pF串联公式算下来约11pF加上PCB寄生电容差不多12pF。晶振下面要铺地铜并且晶振的走线要尽量短远离差分线和电源开关节点。我在第一版的时候把晶振放在了板子边缘靠近DC-DC电感结果启动偶尔失败。后来把晶振移到芯片旁边远离电感问题消失。如果要用外部时钟源可以把晶振换成有源晶振输出接XI引脚XO悬空。但一般没必要无源晶振成本低且够用。2.3 网络变压器与RJ45接口设计5个千兆口全部采用集成变压器的RJ45连接器型号是HanRun HR911105A。这个连接器内部已经包含了共模扼流圈和隔离变压器外围只需要在PHY侧加几颗端接电阻和电容。每个口的差分对TX/TX-、RX/RX-从芯片出来到RJ45连接器中间要串两颗49.9欧姆的电阻精度1%再并一颗0.1uF电容到地。这个电阻网络的作用是阻抗匹配和共模抑制。我试过用50欧姆的电阻也能跑但眼图裕量会小一点建议还是按datasheet推荐的49.9欧姆来。RJ45连接器的金属外壳要接到机壳地如果板子有金属外壳的话通过一颗1nF/2kV的高压电容和一颗1M欧姆电阻并联到信号地。这个设计是为了泄放静电同时避免地环路。注意集成变压器的RJ45连接器分两种一种变压器在连接器内部一种只有共模扼流圈。买的时候一定要确认型号HR911105A是带变压器的可以直接用。如果买到不带变压器的需要在PCB上额外放变压器布局会麻烦很多。2.4 SPI Flash与配置电路SPI Flash用的是W25Q16JVSSIQ2MB容量SOP-8封装。连接方式很简单CS、CLK、DI、DO四根线接芯片对应引脚VCC接3.3VGND接地。注意WP和HOLD引脚要上拉到3.3V否则Flash可能进入写保护状态。如果不需要管理功能Flash可以省掉但芯片启动时会检测SPI Flash是否存在如果没有检测到会从内部默认配置启动所有端口自动协商相当于一个非管理型交换机。我建议还是留上Flash的位置方便后续调试和功能扩展。2.5 UART调试接口UART接口留了4pin排针VCC、GND、TX、RX。RTL8367RB的UART波特率默认是38400有些固件是1152008N1。接串口工具的时候注意TX和RX要交叉连接。这个接口在调试阶段非常有用可以看到芯片启动日志、PHY协商状态、端口统计信息。量产的时候可以不焊排针节省成本。3. PCB布局布线实战与关键参数计算3.1 层叠结构与阻抗控制千兆交换机的PCB建议至少用四层板。我这次用的是四层板层叠结构如下层功能厚度Top信号层元件面0.5oz铜厚Inner1地平面1oz铜厚Inner2电源平面1oz铜厚Bottom信号层0.5oz铜厚板厚1.6mmTop到Inner1的介质厚度约0.2mm用FR-4材料介电常数约4.3。差分线阻抗要求100欧姆差分单端50欧姆。用立创EDA专业版的阻抗计算器算了一下差分线宽0.2mm间距0.2mm到参考平面距离0.2mm算出来差分阻抗约102欧姆接近100欧姆可以接受。如果想更精确可以把线宽调到0.19mm间距0.21mm阻抗会更接近100欧姆。实操心得立创EDA专业版自带阻抗计算工具在“工具”菜单里能找到。算完之后最好让PCB厂家确认一下他们的叠层参数因为不同厂家的半固化片厚度和介电常数有差异。嘉立创的JLC04161H-3313叠层是我常用的参数比较稳定。3.2 差分对布线规则与星型接地实践差分对布线是千兆交换机PCB设计的核心。RTL8367RB的每个端口有4对差分线TX/TX-、RX/RX-5个口一共20对。布线规则如下差分对内两根线等长误差控制在5mil以内差分对之间间距至少3倍线宽0.6mm以上避免串扰差分线尽量走直线必须拐弯时用45度角或圆弧不要用90度差分线不要跨分割地平面否则阻抗不连续差分线下面要有完整的地平面不要有开槽星型接地这个说法在高速PCB设计里其实不太准确更准确的说法是“单点接地”或“分区接地”。我的做法是模拟地PHY部分的AGND和数字地内核和IO的DGND在芯片下方用一块完整的铜皮连接然后通过多个过孔连接到内层地平面。整板地平面保持完整不做分割。这样既保证了回流路径短又避免了地环路。注意有些教程说要把模拟地和数字地分开最后用0欧电阻连接。但在千兆交换机这种高速设计里分开地平面反而会导致回流路径断裂影响信号完整性。我的经验是整板统一地平面靠布局来隔离模拟和数字部分而不是靠分割地平面。3.3 电源平面分割与载流能力核算内层电源平面我分了两块3.3V和1.1V。3.3V的电流需求大概2A芯片PHYLED1.1V大概1.5A。用PCB线宽电流对照表算了一下铜厚线宽载流能力温升10度1oz1mm约2A1oz2mm约3.5A1oz3mm约5A电源平面直接用整块铜皮载流能力远远够用。但要注意电源平面的入口处从DC-DC输出到芯片电源引脚的路径上不要有细颈。我见过有人电源平面画得很宽但在某个位置被信号线切断了导致载流能力骤降。检查的时候用立创EDA的“设计规则检查”功能看看有没有电源网络走线宽度不足的警告。3.4 晶振与复位电路布局晶振要尽量靠近芯片的XI和XO引脚走线长度控制在10mm以内。晶振下面铺地铜但不要铺到晶振焊盘上留出焊接间隙。晶振周围不要走其他信号线特别是差分线和时钟线。复位电路很简单一颗10k欧姆上拉电阻到3.3V一颗0.1uF电容到地再加一个复位按键。复位引脚是低电平有效按键按下时拉低复位。注意复位走线也要短远离晶振和差分线。3.5 散热设计与铜皮处理RTL8367RB-VB-CG的功耗大概在1.5W左右5口全跑千兆QFP128封装的热阻约30度/W算下来结温比环境温度高45度左右。如果环境温度25度结温约70度在安全范围内。但为了保险我在芯片底部铺了一块铜皮通过多个过孔连接到内层地平面帮助散热。铜皮处理上芯片底部的铜皮要连接到地网络过孔数量至少9个3x3阵列孔径0.3mm。这样热阻可以降低到20度/W左右结温降到55度左右更安全。4. 焊接调试与常见问题排查实录4.1 首板焊接与上电检查QFP128封装的焊接对新手来说有点难度但用对方法也不难。我的流程是先用洗板水清洁焊盘涂一层薄薄的助焊膏用镊子把芯片对准焊盘注意一脚位置用热风枪调至300度风量中等从芯片上方均匀加热看到焊锡融化后用镊子轻轻按压芯片让引脚充分接触焊盘冷却后用放大镜检查有没有连锡或虚焊实操心得热风枪温度不要超过320度否则容易损坏芯片。风量不要太大否则会把芯片吹跑。我一般用300度、风量3档共8档慢慢加热。上电前一定要做短路检查用万用表量3.3V和1.1V对地的电阻正常应该在几百欧姆以上。如果电阻接近0说明有短路要检查焊接。4.2 启动日志分析与PHY协商排查上电后接串口波特率38400应该能看到启动日志。正常的日志大概长这样RTL8367RB Bootloader v1.0 DRAM Init OK SPI Flash Detected: W25Q16 Loading Config... PHY0 Link Up 1000M Full PHY1 Link Down PHY2 Link Up 1000M Full ...如果某个口显示Link Down先检查RJ45连接器有没有焊好再检查差分线有没有断线。我遇到过一次PHY2一直Link Down查了半天发现是RJ45连接器的一个引脚虚焊补焊后正常。如果协商速率只有100M检查差分线阻抗是否匹配或者换一根网线试试。有时候是网线质量的问题不是板子的问题。4.3 常见问题速查表现象可能原因排查方法解决方法上电无反应电源短路或芯片损坏量各路电源对地电阻检查焊接更换芯片串口无输出波特率不对或TX/RX接反换波特率试试交换TX/RX确认波特率38400或115200某个口不亮RJ45虚焊或差分线断万用表量通断补焊或飞线协商只有100M差分线阻抗不匹配用TDR测阻抗调整线宽间距大流量丢包电源纹波大或散热不足示波器量电源纹波加去耦电容加散热铜皮芯片发热严重散热不足或电源电压偏高量1.1V实际电压加散热过孔检查DC-DC反馈4.4 实测性能与优化记录板子调通后我做了简单的性能测试用两台电脑通过两个千兆口对传文件用iperf3测吞吐量。实测结果单口双向吞吐940Mbps左右接近千兆线速5口同时跑流量总吞吐约4.7Gbps芯片标称交换容量10Gbps实际受限于测试环境ping延迟平均0.3ms最大1.2ms这个性能对于家用和小型办公场景完全够用。优化方面我把晶振的外接电容从22pF换成了18pF启动稳定性有所提升。另外在DC-DC输出端加了一颗22uF的陶瓷电容电源纹波从30mV降到了15mV。4.5 立创EDA使用技巧与导出生产文件立创EDA专业版有几个功能在做这个项目时特别有用差分对布线在原理图里给差分线打上差分对标记PCB里可以一键差分对布线自动等长调节设计规则检查可以自定义线宽、间距、过孔规则检查有没有违规3D预览可以看板子的3D效果检查元件有没有干涉BOM导出一键导出BOM直接对接嘉立创商城下单导出生产文件的时候需要导出Gerber文件和钻孔文件。在“文件”-“导出”-“Gerber”里选择所有层格式选RS-274X钻孔文件选Excellon。导出后打包成zip发给PCB厂家。注意立创EDA导出的Gerber文件最好用CAM350或者KiCad的Gerber Viewer检查一遍确认没有缺层或错位。我遇到过一次导出时漏了阻焊层板子做出来焊盘上全是绿油没法焊接。5. 设计迭代与功能扩展思路5.1 从非管理型到管理型的升级路径第一版我做的是非管理型所有端口自动协商即插即用。第二版加了SPI Flash和UART刷了Realtek的SDK固件支持VLAN和端口镜像。升级过程不算复杂主要是焊上SPI Flash和UART排针通过UART连接用Realtek提供的烧录工具把固件写入Flash重启后进命令行配置VLAN和端口参数SDK固件在网上能找到但版本比较老编译环境是Linux下的交叉编译工具链。如果不想折腾也可以只做非管理型够用就行。5.2 增加PoE供电的可行性分析有朋友问能不能加PoE供电。技术上可行但需要额外的PSE控制器和DC-DC成本会增加不少。RTL8367RB本身不支持PoE需要外挂一颗PSE芯片比如TPS23861或者Si3459。每个口需要一颗PSE控制器和一颗DC-DC5个口下来物料成本增加大概50到80块。如果只是给AP或者摄像头供电建议直接买成品PoE交换机自己做不划算。5.3 外壳与散热方案外壳我用的是一块铝合金型材尺寸120x80x30mm刚好放下PCB。铝合金外壳兼做散热片芯片通过导热硅胶垫接触外壳底部散热效果比裸板好很多。实测满载运行2小时外壳温度约45度芯片结温约60度很安全。如果不用金属外壳塑料外壳的话需要在芯片上方开散热孔或者加一个小风扇。但风扇有噪音家用场景不太合适。5.4 成本核算与物料清单整板物料成本大概如下物料型号单价人民币交换芯片RTL8367RB-VB-CG18晶振25MHz 3225封装0.5SPI FlashW25Q16JVSSIQ1.5DC-DCSY80890.8LDOAMS1117-3.30.3RJ45连接器HR911105A3.5 x 5 17.5阻容感若干5PCB四层板 10x10cm15其他排针、按键、LED3合计约61.6小批量做10台的话单台成本可以控制在60块以内。相比买成品5口千兆交换机大概80到120块自己做的主要价值在于可定制和折腾的乐趣。5.5 后续可扩展的方向这个板子后续还可以做几个扩展一是加一个SFP光口通过RTL8367RB的RGMII接口外接一颗光模块芯片二是加一个USB转串口芯片省去外接串口工具三是把5口扩展到8口换RTL8367S芯片PCB布局需要重新调整但原理类似。我在实际调试中体会最深的一点是千兆交换机的硬件设计核心不在于原理图有多复杂而在于PCB布局布线的细节。差分线的阻抗控制、电源的去耦、晶振的布局这些看起来不起眼的地方往往决定了板子能不能稳定跑千兆。我第一版板子因为去耦电容没放好调了整整两天才找到问题。第二版把这些细节做到位之后一次点亮直接跑满千兆。所以如果你也在做类似的项目建议在PCB布局上多花点时间比在原理图上反复检查要划算得多。