ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

基于RTL8370N的90W八口千兆POE交换机硬件设计实战

基于RTL8370N的90W八口千兆POE交换机硬件设计实战 说实在的交换机这个品类在硬件设计里属于“能做的人很多能做好的人很少”的项目。特别是带POE的8口全千兆型号既要跑二层交换协议、又要控POE功率预算、还得把大电流和高密度差分信号塞进一块不算大的板子里新手第一次做大概率会在电源和布局上翻车。这个项目用的是瑞昱的RTL8370N做交换核心供电部分按90W总功率预算设计EDA工具从原理图到打样全流程走立创EDA。文章会把这套方案的选型逻辑、电源树、POE供电链路、PCB布局布线以及打样调试中踩过的坑完整梳理一遍适合有硬件基础、想完整过一遍POE交换机设计流程的工程师参考。1. 项目整体设计与方案选型1.1 为什么是RTL8370N单芯片搞定8口全千兆交换选交换芯片之前我先把需求捋了一遍8个10/100/1000M自适应电口、非网管或轻网管、成本可控、硬件上必须支持后续扩展POE。市面上能满足8口全千兆的芯片不算少但真正把性价比和易用性平衡好的RTL8370N是绕不开的一颗。这颗芯片最大的特点是把8个千兆MAC和8个千兆PHY全部集成在一个封装里。省掉外挂PHY芯片这件事意味着BOM成本直接降一截PCB面积也能压缩很多。对做过交换机的人应该都有体会外挂PHY方案最麻烦的是MDI差分线要跨两颗芯片等长、阻抗、回流路径哪一项都不能偷懒集成方案虽然焊盘密度高但信号完整性反而好控制得多。另外一个我比较看重的点是RTL8370N对电源的要求没有想象中那么苛刻。芯片内部有LDO核心电压和I/O电压分开处理外围只要把3.3V和1.05V两条电源轨做干净配合手册要求的去耦电容布局实际调试基本不会因为电源纹波问题折腾太久。封装是QFN128手工焊接有难度但用回流焊或者加热台问题不大。选型阶段也对比过其他方案比如博通的BCM53134系列性能确实强但货源和价格对小批量设计很不友好一颗芯片的价格能顶RTL8370N好几颗而且配套参考设计拿不拿得到都是问题。相比之下RTL8370N的资料和典型应用电路非常透明是很适合做产品化设计的芯片。1.2 90W大功率供电方案的需求拆解标题里“90W大功率”这几个字很多没有实际做过POE设计的人容易误解成单口90W。按IEEE 802.3bt标准单口确实能到90W但那是Type 4的玩法对PSE控制器、变压器、线缆、散热的要求都很高普通8口交换机没必要这么激进。我这套方案设计的90W指的是整机POE总输出功率预算90W单口最大支持IEEE 802.3at标准也就是每个口最多输出30W。这样做的好处很实际一个典型的监控场景8个网络摄像头平均功耗在8到12W之间90W总预算可以轻松带满整机如果是无线AP或者小功率设备接个5到6个口也没问题。同时总输入功率不用做得太大适配器和电源链路成本都能压下来。功率预算的算法很简单整机输入功率 POE总功率 系统自身功耗 电源转换损耗。系统自身功耗以RTL8370N为主的交换核心加PSE控制电路大概在6到10W电源转换效率按90%估90W POE输出对应的输入侧功耗大约是100W。所以适配器至少要选110W以上的规格我用的是一款52V输出的工业适配器余量留得比较大。单口30W对应的是POE供电电压和电流的乘积。标准POE采用48V到57V直流供电30W功率在52V下对应大约0.58A电流跟af标准的350mA相比高出一截这就要求PSE控制器、MOS管、采样电阻和RJ45变压器的通流能力都要按at标准来选不能拿af标准的物料硬顶。1.3 整机架构规划交换核心、PSE供电和电源链路整机架构我拆成三大块交换核心、PSE供电控制、整机电源链路。这三块既要在电路上协同工作又要在PCB布局上物理隔离因为大电流和小信号天生是冤家。交换核心就是RTL8370N加外围25MHz晶振、复位电路、EEPROM配置、LED指示灯、MDI网络变压器和RJ45座。非网管模式下芯片通过外部引脚配置工作模式很多参数直接用电阻上下拉就能设定省掉了MCU的干预。PSE供电控制这块我采用独立PSE控制器方案。PSE控制器负责POE的完整供电流程包括检测受电设备是否支持POE、识别功率分级、上电软启动、限流保护、短路保护和断线检测。整个流程由控制器自动完成只需要通过I2C或SMI接口做初始配置和功率预算管理。这里我留了一个STC单片机作为PSE的管理MCU负责设置总功率上限、每口优先级和读取端口状态。电源链路是整个系统最容易被人低估的部分。输入52V进来之后一路直接作为POE总线电压经过PSE控制器送到各端口另一路通过宽压Buck转换成系统需要的低压轨给交换芯片、PSE控制器、单片机和LED供电。这种架构的关键在于POE高压总线电流大、动作频繁必须和低压数字电路做好隔离和滤波否则负载突变很容易把3.3V拉出尖峰。2. 立创EDA实操要点从原理图到封装2.1 原理图绘制RTL8370N外围电路与符号库检查在立创EDA专业版里新建工程之后第一件事不是急着连线而是先把需要用到的元件符号和封装全部检查一遍。RTL8370N这个型号在立创EDA的元件库里能直接搜到但需要注意的是这类高密度交换芯片的符号画法在不同条目里差异很大有的把电源引脚拆成十几个小电源符号有的集中成一个电源端口一旦选错后续连线会非常痛苦。我用的方法是先把芯片符号拖到画布上逐个核对电源引脚、MDI引脚、LED引脚和配置引脚的数量再和官方数据手册做交叉比对。不要嫌麻烦这一步漏一个引脚制版回来就是废板。RTL8370N的封装我在立创EDA的封装管理器里找到了对应QFN128封装焊盘尺寸和间距跟手册能对得上但建议导出来单独看一眼封装边框和丝印尺寸确认在PCB上不会跟其他器件干涉。PSE控制器、网络变压器、电源芯片这些元件的符号库也比较全但要注意选择对应型号的封装比如网络变压器有SMD贴片和DIP直插两种我选了带中心抽头的SMD型号封装库里能搜到同类如果搜不到完全一致的就自己照着数据手册画封装重点核对焊盘间距和中心抽头引脚的位置。原理图连线阶段我习惯分模块布局左上角是电源输入和Buck电路中间是交换核心右下角是8个RJ45端口和网络变压器PSE控制电路放在电源和端口之间。分模块布局的收益在后续DRC检查时体现得非常明显哪条网络标号没接上、哪个电源域漏了去耦电容一眼就能扫出来。2.2 封装检查与位号图导出打样前必须做的三件事立创EDA的元件库里虽然封装很全但这恰恰是最容易出问题的地方。很多从库直接调用的封装焊盘尺寸和实际元件引脚对不上尤其是网络变压器这类引脚密度高的元件。我的习惯是所有关键元件都找数据手册把封装焊盘尺寸和手册标注的推荐焊盘做一次人工核对主要看引脚宽度、引脚间距、焊盘长度三项。第二件必须做的事是检查位号图。立创EDA专业版在“制造”菜单里可以直接导出PDF格式的位号图也能在PCB界面打开显示位号层的开关。很多新手容易忽略这个步骤等板子焊接时才发现丝印位号被元件本体盖住、或者位号字号太小看不清这时候只能对着BOM单一个一个猜。正确的做法是导出位号图后放大检查确认每个元件位号都清楚可见有遮挡的在PCB里手动调整位号位置。第三件是BOM清单整理。立创EDA生成的BOM可以直接导出Excel再按嘉立创下单助手的要求整理成标准格式。需要特别注意的是阻容元件的参数描述要规范比如“10kΩ 1% 0402”不要写成“10k”不然采购很容易抓错料。RTL8370N这类主芯片还要确保位号、型号、封装三者在BOM里完全对应焊接时照着位号图贴片才不会乱。2.3 四层板还是六层板层叠设计与工艺选择板子尺寸和层数是我在开始布局之前就纠结过的问题。8个千兆口意味着至少8组差分对每组差分对还有对应的串阻、共模电感和变压器信号线的密度其实不低。四层板理论上是能走通的但代价是布线空间非常紧张信号层和电源层互相挤压最终的信号完整性和EMI表现都会打折。我最终选择了六层板层叠结构是顶层信号、第二层完整地、第三层电源、第四层信号、第五层地、底层信号。这个结构的好处是每个信号层旁边都有一个完整的地平面差分线的参考回流路径非常短同时电源层和地平面之间形成了自然的平板电容对高频噪声的抑制效果比单纯加几个去耦电容要明显得多。立创EDA专业版创建六层板时层叠管理器里可以直接设置每层的铜厚和介质厚度。这里提醒一下如果PCB要去嘉立创打样阻抗控制的参数最好跟工厂的叠层表对齐不要自己随便填一个介电常数。我的做法是先按嘉立创默认的1.6mm板厚、JLC04161H-3313叠层来做差分线宽和间距按照90欧姆目标阻抗来反推再通过立创EDA自带的阻抗计算功能验证一遍。工艺选择上FR-4板材、1oz铜厚、沉金表面处理是这个设计的默认选项。沉金的好处是焊接可靠性和平整度都比喷锡好QFN封装和细间距焊盘对平整度敏感用沉金能明显降低虚焊概率。板子我按2.0mm厚度做了加强主要是考虑到8个RJ45座插拔时的机械强度太薄的板子反复插网线容易变形。3. 核心电路设计与供电链路拆解3.1 电源树设计从52V输入到各电压轨电源树是整个系统能不能稳定跑起来的基础。输入适配器输出52V直流这个电压分两路走一路直接作为POE总线另一路进入低压电源变换链路。我把低压电源链路分成了三级。第一级是52V到5V的宽压Buck。这里选的是TI的TPS5456060V输入耐压5A输出电流足够给整个低压域供电。输入侧放了一个共模电感和一个大容量电解电容滤掉适配器线缆带来的共模噪声输出侧用低ESR陶瓷电容并联保证5V这条轨的纹波控制在50mV以内。之所以先降到5V而不是直接出3.3V是为了给后面第二级留出足够的压差余量。第二级是5V到3.3V和1.05V两路。3.3V给RTL8370N的I/O、PHY模拟电路、PSE控制器和单片机供电这条轨的纹波要求比较严格我用了一颗低噪声LDO来做二次稳压输入5V、输出3.3VPSRR足够高能把Buck的开关纹波压下去。1.05V给RTL8370N核心供电电流需求大用一颗小体积同步Buck从5V降压出来效率比LDO高得多。第三级是给LED和接口逻辑用的1.8V直接从3.3V通过一颗低压差LDO得到电流很小发热可以忽略。整个电源树的设计逻辑很简单能用Buck的用Buck对噪声敏感的用LDO每一级之间都加足够的去耦电容。实际测试时3.3V轨的纹波大约在25mV左右RTL8370N跑满8口转发时没有出现过复位异常。3.2 POE供电电路标准协议、功率分级与保护POE供电电路是整个设计里技术含量最高的一块也是最容易出问题的部分。标准POE的工作流程可以拆成四个阶段检测Detection、分级Classification、上电Power-up、运行监控Monitoring。PSE控制器会在连通网线后先发出一个低压脉冲检测线缆对端的24.9kΩ特征电阻确认是标准PD设备而不是普通网卡然后根据PD返回的电流识别功率等级决定分配多少功率确认无误后才会逐步升压供电。我在每个端口前面加了POE专用变压器和中心抽头供电结构。千兆网需要用到全部四对线传输数据没法像百兆POE那样用闲置线对供电所以必须从网络变压器的中心抽头注入直流电压。这里有一个关键点网络变压器必须选支持POE的型号这种变压器的线圈能承受更高的直流偏置电流普通千兆变压器长时间过0.5A以上电流会饱和导致信号失真甚至烧毁。PSE控制芯片我用的是PD69108T4内置8路完整POE控制逻辑每个口支持IEEE 802.3af/at标准单口最大30W。这颗芯片不需要外部大功率MOS管内部集成了开关管和采样电阻外围电路非常简洁。它通过I2C接口和单片机通信可以在初始化时设置总功率预算为90W、端口优先级、单口最大功率等参数。保护电路这层不能省。每个端口在PSE芯片的输出侧加了一颗TVS管钳位电压56V防止雷击浪涌和线缆感应电压打坏PSE芯片输入52V总线上加了自恢复保险丝和防反接二极管适配器接反了不会烧板子。POE端口对地的Y电容也做了预留用于共模滤波但在实际调试时发现电容容值太大会影响检测阶段的阻抗匹配最终我调小到1nF才稳定。3.3 RTL8370N关键引脚与调试通道RTL8370N的引脚功能在数据手册里写得很清楚但有几个引脚在实际设计时需要特别留意。第一个是LED输出引脚。芯片最多可以支持每个端口两个LEDLink/Act和Speed这些引脚不能直接驱动LED需要串限流电阻。我把LED引脚全部引到板边的LED阵列上焊接时用排针做了可插拔连接调试的时候如果某个口状态不对看LED很快就能定位。第二个是配置引脚。非网管模式下RTL8370N通过几个配置引脚的电平决定VLAN模式、广播风暴抑制、流控等参数。这些引脚不能悬空全部用10kΩ电阻上拉或下拉固化一种默认配置。如果你想要网管功能这些配置引脚需要改成通过EEPROM加载立创EDA画原理图时就要把EEPROM的位置留好。第三个是UART调试接口。RTL8370N的固件运行状态可以通过UART输出日志板上我留了一个四针的调试座包含TX、RX、GND和3.3V用USB转TTL模块就能接电脑看芯片的初始化输出和端口状态变化。这个调试口在前期调硬件时帮了很大的忙比如晶振没起振、电源时序不对这些软故障全靠日志信息才能快速定位。另外芯片的复位引脚由单片机控制而不是简单的RC复位电路。这样做的原因是POE上电瞬间整机电流会有一个比较大的浪涌如果复位电路没有很好的滞回特性RTL8370N可能在POE满载接入时被拉低复位导致交换机闪断。单片机控制复位可以在检测到电源稳定后延时几百毫秒再释放复位彻底规避这个问题。4. PCB布局布线千兆差分、星型接地与散热4.1 星型接地与大电流回流设计立创EDA论坛里很多人问过“如何布线星型接地”这个问题放在POE交换机里尤其重要。整个系统的地可以分成三个域RTL8370N和低压数字电路的数字地DGND、电源Buck和POE高压部分的功率地PGND、RJ45金属壳的机壳地CGND。三个地绝对不能混在一起大面积铺铜否则POE上电和断开的瞬间功率地上的大电流脉冲会通过地平面耦合到数字电路轻则造成误码重则让交换芯片复位。我的做法是星型接地三个地在整板唯一的“星点”位置单点连接。这个星点选择在电源输入端的旁边也就是52V输入电容的负极和Buck输出电容的负极交汇处。数字地平面在芯片区域保持完整功率地在电源区域单独铺铜两个地平面在星点处通过一个0欧电阻连接。机壳地则通过高压电容和PGND单点连接RJ45的屏蔽壳直接接机壳地这样外部的共模干扰不会灌进信号地。回流路径的检查我习惯在布线完成后专门做一遍。打个比方差分信号就像一列火车高铁跑在正线上电流必须沿着正线旁边的那根铁轨回来如果参考地平面被切断电流就得绕一大圈找近路绕出来的环路就是共模辐射的天线。我用了立创EDA专业版的网络DCR功能查看每个关键网络的回流面积发现电源层分割导致1.05V核心电源的回流路径被迫绕行后来通过调整分割线位置解决了这个问题。4.2 千兆差分对布线90欧姆阻抗与等长控制千兆网口的MDI差分线是布线时最需要较真的部分。RTL8370N每个口有四对MDI差分信号每对都是1000BASE-T的收发对要求做90欧姆差分阻抗同时对内等长要控制在5mil以内。如果差分线的阻抗和等长控制不好轻则端口协商降级到百兆甚至十兆重则直接协商失败。在立创EDA专业版里我把每对差分线设成同网络组布线时软件可以自动控制差分对的间距和宽度。线宽和间距的初值是根据层叠计算出来的表层信号层用5mil线宽、5mil线间距参考地平面完整的前提下实测阻抗在92欧姆左右符合标准。需要提醒的是差分线下面的地平面必须完整过孔换层的地方要在地平面加上回流过孔不然阻抗会在换层点突变。等长控制我的原则是“对内严格、对外宽松”。同一对差分线之间的长度差控制在5mil内不同对之间的长度差控制在50mil内。立创EDA专业版的长度匹配工具可以拉出长度标尺我在四对差分线上分别做了长度标注把最长和最短的对调整到接近。实际焊接后的测试结果是8个口都能稳定协商到1000M长线传输100米距离也没有出现明显丢包。布线的物理位置也要讲究。8个RJ45口排成一行网络变压器紧贴RJ45座背面RTL8370N放在变压器阵列的正对面。这样MDI差分线从芯片出来经过串阻和共模电感再进入变压器走线路径最短没有多余的跨层绕行。串联电阻放在靠近芯片侧阻尼振铃共模电感尽量靠近变压器抑制共模噪声。4.3 散热设计与布局优化90W的POE设计最容易被低估的就是散热。整机满载运行时POE链路本身在变压器和线缆上的损耗、PSE芯片的导通损耗、DC-DC的转换损耗加上RTL8370N本身的热功耗加起来轻松超过15W。如果散热做不好板子局部温度超过85度很多器件的寿命和稳定性都会出问题。板级散热我开了几个专门的散热通路。一是电源区域除了加大面积铺铜还在Buck芯片底部打了导热过孔阵列把热量导到背面的大面积铜箔。二是RTL8370N的QFN封装底部有大焊盘这个焊盘必须接地并打上过孔让芯片核心的的热量能快速传递到地平面。三是POE电源走线尽量用宽铜皮减少线路电阻带来的发热。结构散热方面我预留了铝合金外壳加散热片的位置外壳底部涂导热硅脂和PCB背面的电源区域贴合。实际满载测试时室温25度的环境下整机连续跑8口POE满载两小时用红外测温枪测了板面最高温度在67度左右集中在电源Buck和PSE芯片区域这个温度在可接受范围内。如果环境温度高或者长时间满载建议外壳顶部增加一个低速散热风扇。布局上还有一个容易被忽略的细节POE高压走线和低压信号线之间一定要保持足够的间距。52V不算特别高的电压但配合大电流一旦爬电或者间隙不够在潮湿环境下会出电弧。我在布板时要求高压区与信号区保持至少2mm的间距过孔之间也要保持1.5mm以上防止相邻过孔间的铜皮间距太近导致安全隐患。5. 打样调试与常见问题排查5.1 上电前检查与调试流程板子贴片回来之后千万别急着上电。我的调试流程是第一眼检查、第二遍短路、第三步上电。第一眼检查看PCB有没有明显的连锡、漏焊、器件贴反的情况。QFN封装芯片虚焊是重灾区RTL8370N底部焊盘如果没焊接好可能表面看不太出来但上电后芯片没反应。用放大镜对着引脚看一圈再用镊子轻轻拨一下引脚确认没有松动的。第二遍短路是最关键的一步用万用表蜂鸣档测电源对地的阻抗。52V输入端、5V、3.3V、1.05V这些电源轨每个都测一遍发现阻值异常立即停下来查原因。不要直接上电短路状态下上电轻则冒烟重则把电源芯片和主控一起烧掉。第三遍上电时用稳压电源作为输入源先把电流设置为100mA以下慢慢调高电压。第一次上电电流应该很小因为主控芯片还没工作如果上电瞬间电流飙升说明哪里有问题马上断电。我调试第一版时5V Buck的输出电容漏电电流直接到了500mA排查了很久才找到原因。确认电源正常后再逐步接入网线和PD设备进行功能验证。5.2 常见问题速查表我在调试过程中整理了一张常见问题表很多问题都遇到过不止一次直接列出来供参考现象可能原因解决方法网口协商只有10M网线线序错误或线材质量差差分对长度差超限换一根标准超五类网线测试检查PCB差分线等长POE不供电PD设备为非标设备总功率预算耗尽PSE配置错误检查PD是否符合802.3af/at查看PSE寄存器状态提高总功率预算POE供电但网络不同网络变压器中心抽头误接电源纹波干扰核对变压器中心抽头接线示波器测3.3V纹波某个口一插线整机重启端口短路或POE过流复位电路被拉低检查该口TVS和变压器确认复位引脚不受POE动作影响多口满载时后插设备掉线总功率超出90W预算按优先级调整端口策略确认适配器功率是否足够LED不亮或全亮LED极性接反限流电阻选小核对LED规格串接1kΩ电阻限流5.3 几条实际调试中的心得最后分享几条我做这类POE交换机设计时实打实的经验。第一调试POE功能前先把网口交换功能调通。确认8个口都能千兆互通、数据转发不丢包再去折腾POE部分。POE供电涉及高压大电流和交换功能叠在一起排查会很痛苦分开验证能省一半时间。第二PSE控制器的I2C地址在初始化时一定要仔细确认。PD69108T4这类芯片一般有多个地址引脚如果地址设置和单片机程序里不一致通信会失败但表面看不出故障只能通过不供电或者功率异常来暴露。第一版程序里地址配置错了折腾了大半天才排查出来。第三温升测试别只看板子温度还要看RJ45座的温度。POE满载工作时大电流经过网络变压器的线圈和RJ45的引脚这些地方的温升可能比芯片还高。我测试时发现靠近电源入口的RJ45座温度明显偏高后来在布局时把高功率优先的端口放在靠近电源侧让热量分散避免集中在同一区域。这个项目从原理图到第一版打样花了大约三周调试又用了一周多整体来说难度不算低但做完之后对POE协议的理解和电源设计的把握都有了质的提升。如果后面想做更大功率的版本建议直接上802.3bt方案电源链路和PSE控制器都需要重新选型但整体设计框架完全可以复用。
返回列表