RTL8367S/SC千兆交换机硬件设计:核心电路与开发包获取
说实话我做硬件这些年和 RTL8367S/SC 打交道最多的时间不是在画原理图而是在帮朋友排查一块明明照着参考设计抄却怎么都协商不到千兆的板子。问题最后出在变压器中心抽头处理上很小一个点但足以让整个交换机废掉。从那时起我就想写一篇真正盯住核心电路设计和开发包获取的文章而不是反复讲那些官网就能查到的引脚定义。这篇东西就围绕千兆交换机开发中最容易翻车的几个环节展开只讲实操不绕弯子。RTL8367S/SC 这颗芯片在千兆交换、带千兆上联口的多口交换方案里出现频率非常高它把交换核心和多个以太网 PHY 集成在一起外围只需要补齐电源、时钟、网络变压器、RJ45 和管理电路就能组成一套能用的交换机硬件。适合正在做软路由扩展板、光猫方案、工业交换机或者纯粹想从零折腾一个交换机的工程师参考。接下来我把硬件开发包获取流程、核心电路设计要点和调试经验一并整理出来。1. 为什么是 RTL8367S/SC这颗交换芯片适合谁1.1 先分清 S 与 SC 的差异别选错型号RTL8367S 和 RTL8367SC 在硬件设计上基本可以共用一套参考设计外围电路差异很小。按我从代理商和 FAE 那边得到的说法SC 版本在部分时序参数、温度等级和量产批次上做了调整更适合对稳定性要求更高的设备形态比如 7x24 小时运行的工业交换机和运营商网关。但从画板角度讲你完全可以先用 S 版本验证设计再根据量产需求切换到 SC。这里有个容易踩的坑很多人在立创商城或者淘宝上搜 RTL8367S看到一堆替换型号兼容型号就开始买。实际上 RTL8367 系列内部有不同封装和不同 PHY 配置版本引脚完全一样但内部功能可能不同。我的建议是立项第一周就把目标型号锁定拿着完整型号去申请硬件开发包不要买回来才发现封装对了、寄存器表对不上。1.2 典型应用场景与替代选型这颗芯片最常见的应用场景有三个带千兆上联口的百兆/千兆混合接入交换机比如光猫的 LAN 侧电路。软路由和工控机的多网口扩展板通过 RGMII/SGMII 接口与主控 SoC 互联。需要简单网管功能VLAN、端口镜像、QoS的小型企业交换机。做选型时我习惯把同一档位芯片拉一张表对比芯片适合场景常见问题RTL8367S/SC千兆上联 多口接入资料相对好拿需要向代理申请NDA细节手册不公开RTL8367RB全千兆多口交换主控带交换引擎时常用同样受NDA限制国产替代方案采购周期短部分资料直接在官网下载生态和驱动成熟度需要评估如果你的项目只是个人学习实在拿不到原厂开发包买一块二手交换机或者开发板逆向参考是最快的路径。但产品化阶段我还是建议走正规渠道申请。2. 硬件开发包的获取路径与资料清单2.1 正规申请流程代理商、NDA 与 FAE 支持RTL8367S/SC 的完整硬件开发包通常不是放官网随便下载的这一点和很多消费级芯片不一样。正规路径是先联系 Realtek 授权代理商说明项目情况提交公司名称、联系方式、产品形态和预计用量然后签署 NDA之后 FAE 会把资料包通过邮件或网盘链接发给你。这里我多说一句FAE 不是客服他们更愿意支持有量产预期的客户。如果你只说我想学习一下资料很可能石沉大海。我初次申请时和代理商沟通时带上了产品定义、预估年用量、项目时间节点资料两天就下来了。如果是小公司或个人开发者也尽量把项目描述写得专业一点比如面向工业网关的 42 口千兆交换模块比我想做个交换机管用得多。签 NDA 之前一定要问清楚三件事资料是否包含参考原理图和 PCB Layout 源文件。寄存器手册和 SDK 是否完整有没有配套的驱动样例。是否提供 FAE 支持至少能拉个群解答硬件问题。2.2 开发包里最重要的文件拿到开发包之后你会看到一堆 PDF、OrCAD/PADS 原理图、Layout 文件、软件代码。很多新手容易一头扎进代码但我建议按这个顺序看参考原理图PDF 版先整体过一遍电源树、时钟、PHY 前端、Strap 配置搞清楚每一页是干什么的。硬件设计指南或 Checklist原厂通常会有一份 Design Guide里面写了电源去耦、差分对布线、变压器选型的要求这是最值钱的文档。寄存器手册不用通读先查 MDC/MDIO 接口配置、PHY 地址、LED 模式相关章节。SDK 和驱动放到最后看确认是否支持你的主控平台。原厂参考设计我不建议直接照抄因为很多物料是 Realtek 自家供应链的缺货料或者定制料。我通常是拿它的电源框架和 PHY 前端做蓝本然后把电容电阻全部换成自己库存里有的常用封装再算一遍参数。2.3 拿不到原厂包时的起步办法如果你暂时签不了 NDA又急于验证设计也不是完全没有路。公开渠道能搜到 RTL8367S 的 Datasheet 部分版本虽然寄存器细节不完整但引脚定义、电气参数、封装尺寸基本够画板用。另外市面上很多基于这颗芯片的量产板卡原理图是逆向公开的可以参考它们的电源、变压器、Strap 电阻配置。更省事的办法是直接采购一块现成的 RTL8367S/SC 开发板或交换机板先用它跑通你想做的软件功能再去画自己的硬件。这样即使硬件画错了你手里还有一块标准答案可以做对比测试。3. 核心电路设计电源、时钟、网络变压器与扩展口3.1 电源树与上电时序RTL8367S/SC 的供电大体可以拆成三路主 IO 的 3.3V、芯片核心逻辑的 1.05V部分版本可能是 1.0V具体以手册为准以及 PHY 模拟相关供电。大多数参考设计里外部输入是 12V 适配器或 5V 系统电源先做一级 DC-DC 转 3.3V再用第二级 DC-DC 或 LDO 做 1.05V。以 12V 输入为例我常用的电源方案目标电压方案参考型号5V同步降压 DC-DCMP2315、SY80883.3V同步降压 DC-DCMP2315、TPS621351.05VDC-DC 或大电流 LDORT8059、MIC4700上电时序上Realtek 参考设计一般要求核心电压不晚于 IO 电压上升实际上两路电源做好先后顺序比较稳妥。我建议加一颗电源监控复位芯片比如 MAX809 或 TPS3808等 3.3V 稳定后再释放复位这能避免很多时好时坏的诡异问题。去耦电容别省。核心电压那一路除了每个电源引脚附近的 0.1uF 高频去耦还要在 PCB 上均匀布置 10uF/22uF 的陶瓷电容大电流路径上加 100uF 聚合物电容压住低频纹波。我第一次画这块芯片时为了省地方把去耦电容砍了一半结果千兆口丢包率明显偏高补回去才好。3.2 25MHz 时钟电路RTL8367S/SC 的 PHY 和交换核心共用一个外部参考时钟通常是一颗 25MHz 无源晶振。典型接法是晶振的两个引脚分别接芯片的 XI/XO两个负载电容各接到地。负载电容取值要和晶振的 CL 匹配不是随便选。常见 25MHz 晶振 CL 是 18pF 或 20pF那么两颗负载电容一般在 18pF~22pF 之间。实际调试时可以用示波器看波形如果起振正常且频偏很小就没问题如果波形幅度偏低或者停振优先检查负载电容和并联的兆欧级反馈电阻。要注意晶振下面不要走其他信号线晶振本体四周敷地打孔隔离。千兆交换机对时钟抖动的容忍度比百兆严格外部时钟源质量直接决定能否协商到 1000M。3.3 千兆网络变压器与 RJ45 选型RTL8367S/SC 的 PHY 侧对外接口是传统的 10/100/1000M 以太网接口需要网络变压器隔离。千兆必须 4 对差分线全部工作所以变压器必须选支持 1000BASE-T 的型号比如 HCG2419、HCQ82506 这一类或者直接用带变压器的一体化 RJ45 座比如 HR911130A 的千兆版本。我个人的经验是小批量打样优先用一体化 RJ45 座少一个变压器选型环节PCB 布线也省事。量产之后如果成本敏感再换成分离式变压器加普通 RJ45 座。变压器中心抽头的接法要特别注意这是很多人协商不到千兆的根源。不同 PHY 设计对中心抽头的要求不一样有些需要接 3.3V 电源有些需要经 100nF 电容接地必须严格按照原厂参考设计来。我前面提到那个朋友的项目就是参考设计上中心抽头接 3.3V他抄的时候改成了电容接地结果只能协商到百兆。3.4 上行口与 CPU 互联的扩展方式RTL8367S/SC 自身能提供多个百兆/千兆交换口但在软路由或网关场景里经常需要通过 RGMII 或 SGMII 接口连接主控 SoC或者扩展额外的千兆电口/光口。RGMII 是并行接口数据线加时钟一共十几根频率是 125MHz DDR布线时要求组内等长做得比较细官方一般建议时钟和数据之间控制在 ±5mil 以内。SGMII 是串行差分接口一对发送一对接收PCB 上走 100Ω 差分占用的引脚少布局更灵活。这块要注意RGMII 的 TX 时钟延迟TX delay和 RX 时钟延迟在多数主控侧交换芯片都需要通过寄存器或者 Strap 引脚配置画板的时候把相关配置电阻预留出来调试阶段会省很多事。4. 管理接口与配置电路让交换芯片听指挥4.1 MDC/MDIO 管理总线MDC 是管理时钟由 CPU 或者主控 SoC 输出MDIO 是双向数据线用来读写 PHY 和交换芯片内部寄存器。RTL8367S/SC 的管理接口本质上就是这套 MDC/MDIO 协议外挂 SPI Flash 的话还可以让芯片从 Flash 加载配置。MDIO 是双向信号一般需要在板级加一颗 4.7kΩ~10kΩ 的上拉电阻到 3.3V否则读写时序在高阻态时容易出现电平漂移。MDC 和 MDIO 建议各串一个 22Ω~33Ω 的匹配电阻靠近芯片端放置用来抑制反射。调试阶段我习惯在主控侧预留一组测试点方便逻辑分析仪抓 MDIO 波形。有时候软件写寄存器没反应不一定是软件问题用逻辑分析仪一看 MDC 根本没拉起来或者 MDIO 上拉电阻虚焊问题立刻定位。4.2 Strap 引脚与启动配置Strap 引脚是上电瞬间被芯片采样的配置引脚通过外部上下拉电阻决定 PHY 地址、工作模式、接口类型等。参考设计里会用一排电阻接到 3.3V 或者 GND电阻值常用 4.7kΩ~10kΩ。这块有两个常见问题。一是 Strap 电阻放得太远走线过长又被其他信号干扰导致上电采样值偶尔不对。二是修改 Strap 配置后没有做完整的断电重启芯片还在用上一次的锁存值看起来配置没生效。我自己的习惯是把 Strap 电阻集中放在芯片同一侧靠近引脚但不放在引脚正下方同时预留 0Ω 电阻位这样调试时切换上下拉只需要换 0Ω不用刮板子。4.3 LED 指示与复位电路LED 一般分 Link/Act 和 Speed 两组通过寄存器或 Strap 选择显示模式。电路上就是一颗限流电阻加 LED电流设在 2mA~5mA 足够。要注意 LED 驱动方向和芯片手册一致有些是灌电流方式有些是拉电流方式接反了 LED 要么不亮要么微亮。复位电路看似简单但直接影响上电可靠性。RC 复位虽然便宜但阻容时间常数受温度和电容容量影响大可能导致上电慢的时候 Strap 已经被错误采样。我建议用复位监控芯片至少保证 3.3V 上升到阈值后再延迟 100ms 以上释放复位。5. PCB 布局布线千兆速率下的物理层工程5.1 100 欧姆差分对设计千兆以太网的 4 对差分线要求单端阻抗和差分阻抗都要控制差分阻抗通常要求 100Ω ± 10%。这个必须由叠层和线宽线距共同决定我用 4 层板比较多叠层是 L1 信号、L2 地、L3 电源、L4 信号表层 100Ω 差分微带线大概在线宽 5~6mil、间距 7~8mil 的范围具体以阻抗计算为准。差分对内等长要优先保证不要以为 5% 的阻抗偏差不重要。千兆信号对时序的要求比百兆高得多对内等长一般控制在 5mil 以内对间等长可以放宽到 20~50mil。布线时尽量减少过孔如果非要换层必须成对打过孔并且保证参考平面连续。5.2 变压器区、参考平面与过孔网络变压器下面的参考平面处理是个容易两极分化的地方。一种做法是挖空参考层另一种是完整保留地层。我经过几次对比更倾向在变压器下方做完整的地铜皮并且用密集的过孔把各层地连接起来这样能提供更好的回流路径。真正需要隔离的是变压器原边和副边之间的跨分割区域不要在变压器正下方布任何高速信号线也不要把其他电源平面穿过这个区域。从 RJ45 到变压器再从变压器到芯片 PHY 引脚的走线长度尽量短。RJ45 座子建议靠近板边放置这样网口不挡其他元件也方便插拔。5.3 电源完整性与散热前面提到多路电源PCB 上要把模拟电源和数字电源分开布置。RTL8367S/SC 这种集成 PHY 的芯片PHY 模拟部分对电源噪声比较敏感电源平面被 DC-DC 的开关纹波污染时丢包率会明显上升。我在 3.3V 进芯片 PHY 模拟引脚之前习惯加一颗磁珠隔离再配合大电容和 0.1uF 高频电容组合。散热方面芯片底部焊盘一定要开阵列过孔到地平面既帮助散热也能增强机械强度。交换芯片在满端口流量时功耗并不低底部焊盘不过锡或者过孔太少跑负载测试时芯片表面温度会让人不放心。6. 样板调试从没有任何反应到千兆跑满6.1 上电前的检查与上电测量样板焊接完成先别急着插网线我有一套固定的检查顺序万用表二极管档测量 3.3V 和 1.05V 对地阻抗排除明显短路。用可调电源限流上电观察电流是否异常。RTL8367S/SC 整板正常待机电流和满载电流有差异但上电瞬间电流冲到保护值说明大概率有虚焊或者焊锡连锡。示波器确认 25MHz 晶振起振频率在规格范围内。测量各路电源电压重点看 1.05V 是否偏得离谱我遇到过因为反馈电阻焊错导致核心电压只有 0.9V 的情况。上电之后如果芯片没有明显发烫再做下一步。6.2 Link 协商与寄存器验证先用一根短网线把交换机端口和电脑直连观察 PHY Link LED 是否点亮。如果 LED 不亮优先查网络变压器前端到 RJ45 的差分走线、变压器焊接极性、PHY 供电。用测线仪确认网口引脚和变压器端一一对应避免 PCB 封装引脚顺序搞错。如果 Link 能亮但速率协商不到千兆一种可能是千兆口只跑了两对线工作也就是变压器或 RJ45 差分对虚焊/连锡。另一种可能是 PHY 配置被 Strap 强制在百兆模式需要核对 Strap 电阻。这时在 Linux 主控上用 ethtool 查看 PHY 的协商能力和当前速率同时用逻辑分析仪或示波器在 RJ45 侧看四对线是否有发送信号能很快缩小范围。6.3 高频踩坑复盘最后列几个我实际遇到并且花了不少时间的问题现象根因解决办法只能协商百兆变压器中心抽头接错严格按参考设计接 3.3V 或电容接地千兆 Link 亮但 ping 丢包严重差分对等长差太多或参考平面被分割重新检查 PCB 布线对内等长控制在 5mil 内上电后芯片不工作复位释放过快Strap 采样错误换复位监控芯片延长复位时间MDIO 读写失败MDIO 上拉电阻虚焊或阻值太大换成 4.7kΩ~10kΩ确认焊接温度升高后速率降级芯片散热焊盘过孔太少底部焊盘增加过孔阵列铺铜加大如果你正在画这样一块板子我给的最实在的建议是先把开发包里的参考设计吃透再动笔画自己的。电源、时钟、PHY 前端和 Strap 这几块是最容易出差异也最容易翻车的部分每动一处都要清楚为什么。等样板回来也一定要按上电检查-硬件验证-寄存器验证-双机打流的顺序走一遍别上来就插两排网线跑 iPerf不然问题定位会痛苦很多。