
去年给老家院子装监控电工师傅给的报价单让我愣了一下8个摄像头网线要拉电源线也要单独拉线管辅材加人工直接小两千。后来我把方案改成PoE一根网线同时解决供电和数据传输工程量瞬间下来一大截。也是从那时候开始我动了念头——与其花大价钱买市面上那些要么贵、要么功率虚标的PoE交换机不如自己用立创EDA画一块8口全千兆PoE交换机出来。核心选了瑞昱的RTL8370N交换芯片供电部分做的是90W整机功率池单口最大能到30W带高清摄像头、无线AP都没什么压力。整块板子从原理图到PCB全部在立创EDA里完成。这篇就把整个项目的设计思路、关键电路方案、PCB实操和调试排障过程完整记录下来想自己动手做网络设备的朋友可以直接当参考。1. RTL8370N为什么这是8口千兆方案里最顺手的一颗芯片1.1 一颗芯片里塞进了8个PHY做8口全千兆交换机最核心的问题是交换芯片的选择。市面上能跑到千兆的交换芯片不少但RTL8370N在DIY和中小批量产品里能见度极高主要原因是它的集成度做得非常舒服。RTL8370N内部直接集成了8个10/100/1000Mbps自适应PHY也就是说8个网口的模拟收发电路全在芯片里外部只需要接网络变压器和RJ45座子不用再单独配PHY芯片。这对画板子的人来说省了太多事——8路MDI差分线直接从芯片引脚拉到变压器和网口外围器件比“交换控制器外置PHY”的方案少一大截。交换容量方面8口全双工千兆理论吞吐是8×1Gbps×216GbpsRTL8370N的交换架构能撑住这个线速。再往上数它还带了二层管理功能比如VLAN、QoS、端口镜像、IGMP Snooping甚至还有ACL。对想做管理型交换机的人来说这些功能在寄存器层面都是开放的可以通过MDIO/SMI接口去配。另一个不能忽略的点是功耗。整颗芯片典型功耗大概在2W左右不需要夸张的散热片4层板加铺铜就能压住这对无风扇被动散热的产品形态非常友好。1.2 和同类方案摆在一起看选型的时候我还对比过一些国产和台系方案各有特点。芯片集成度管理功能资料开放度采购难度RTL8370N8口PHY交换8051管理核强VLAN/QoS/镜像/IGMP网上一搜一堆参考设计立创商城、淘宝都能找到RTL8370MB8口PHY管理能力类似强同样较多略少裕太微YT92158口千兆国产化中需要NDA公开资料少样品渠道有限IP1810集成PHY文档封闭需要签协议主要走方案商RTL8370N最大的优势是生态。Datasheet虽然不会把每页寄存器都贴给你但网上有大量基于这颗芯片的路由器、交换机拆解和参考设计遇到问题能查到同行的解决办法。相比之下一些国产方案性能不差但资料要签NDA才给个人DIY阶段根本拿不到等不起那个流程。1.3 为什么不用现成的PoE交换机方案肯定有人问直接买一台8口千兆PoE交换机也就两三百块自己画图打样折腾一圈成本未必更低。这话在纯经济账上成立但我的出发点不是省钱。一是想搞明白PoE的供电机制和千兆布线的信号完整性到底怎么回事二是市面上的成品交换机端口功率策略往往是黑盒很多标称总功率60W的机型单口实际拉不满25W而我需要能精确控制单口功率上限、能统计每路电流的方案三是后续还想加VLAN隔离、端口优先级这些功能自己画板子才能把这些控制接口引出来。所以这颗芯片不只是“能通网”更重要的是它给了我做二次开发的空间。2. 90W大功率PoE供电链路从48V到网线口的能量管理2.1 90W到底是什么口径先澄清一个容易绕进去的概念标题里的90W我指的是整机PoE供电总预算不是单个端口90W。按IEEE 802.3at标准单口最大输出功率是30W适合带PTZ球机、双频AP这类负载。8个口全部满载就是240W但实际场景里很少同时插满高功率设备多数是4到6路摄像头或AP。所以我按“总功率池90W、单口最大30W”来设计用一台48V/3A的工业电源就能供起来整机成本、发热、体积都控制在很合理的范围内。如果真要做单口90W的802.3bt Type 4电源适配器得上700W以上PSE控制器也得换整机散热和PCB载流都要重新设计。那属于另一个量级的项目以后有空再单独开一篇。目前这套90W功率池的设计覆盖95%的监控和无线覆盖场景完全没有问题。2.2 PoE不是“网线带电”那么简单很多人以为PoE就是把48V直接怼到网线上实际完全不是。PSE控制器在向PD受电设备供电前要按标准走完一整套握手流程检测阶段PSE先输出一个低电压小电流信号探测对端是否有约25kΩ的检测电阻。如果这个电阻不存在说明对端不是标准的PoE设备就不会供电。分级阶段PD会通过不同的分级电流告诉PSE自己需要的功率等级PSE根据等级决定是否给电、给多少。上电阶段PSE会在很短时间内完成软启动逐步把电压升到48V左右然后持续监测电流和负载状态出现过流、短路时快速关断。这套流程靠人工控制是不现实的必须交给专门的PSE控制器芯片完成。这也是整个PoE方案里最核心的器件之一。2.3 PSE控制器选型TPS23881为主LTC4266作为降级方案我的第一版设计选了TI的TPS23881。这是一颗8通道PSE控制器单芯片就能管8个端口最大支持到802.3bt标准单口功率上限远超我们30W的设计目标留了很大的裕量。TPS23881支持硬件自动模式和I2C管理模式。第一版为了降低固件开发量我直接让它在Auto模式下跑上电后自动检测、分级、供电芯片内部自己做限流和关断。后面如果想做端口功率统计、功率池调度、低优先级先切断这类策略再通过I2C总线去配寄存器。简单给一段I2C读取端口电流的伪代码方便理解它的管理能力// 伪代码通过I2C读取TPS23881通道0的电流寄存器 uint8_t reg 0x12; // 电流采样寄存器地址示意 uint16_t current_raw read_i2c(TPS23881_ADDR, reg); float current_ma current_raw * 0.1f; // 每位代表0.1mA仅为示意 if (current_ma 2500.0f) { // 超过整机90W预算对应电流按策略裁剪低优先级端口 disable_channel(low_priority_port); }如果不想写任何代码备选方案是用两颗ADI的LTC4266每颗管4个端口纯硬件自动模式不需要MCU参与。缺点是芯片单价高、封装不好手工焊但作为验证PoE机制的入门方案很稳。2.4 PoE怎么进网线千兆变压器中心抽头是关键千兆以太网和百兆有一个本质区别8根线芯全部都要传数据没有空闲对。所以PoE不能像百兆时代那样直接把电源并到空闲线对上而是要通过网络变压器中心抽头把直流注入进去。以大多数非管理型PoE交换机采用的Alternative B为例PSE输出正极走RJ45的4、5脚负极走7、8脚。但这四个脚在1000BASE-T里同样是差分数据线所以不能直接把48V接到引脚上必须先把引脚连到变压器的一组线圈再从线圈的中心抽头接48V。直流分量通过中心抽头进入高频数据信号通过变压器耦合两者互不干扰。画原理图时这个地方最容易出错。RJ45座子我建议直接选用带PoE标识的千兆座或者干脆选“网口变压器一体座”把变压器和RJ45封装在一个元器件里中心抽头清晰标注能少走很多弯路。2.5 整机电源架构与功率计算最终供电链路是这样的外部48V/3A电源进来先过保险丝、TVS管和共模电感然后兵分两路。第一路直接进PSE控制器形成90W PoE功率池第二路通过Buck降压到3.3V和1.05V给RTL8370N和周边逻辑供电。这里解释一下为什么不用很多路由器那种“12V输入升压到48V”的做法。PoE需要的是44V到57V的供电电压如果外部用12V适配器中间必须加一级Boost升压大电流电感、MOSFET、续流二极管都会增加设计和EMC难度。而48V本身就是监控行业的标准电源电压直接外接48V电源省掉升压级整机效率和可靠性都更高。功率预算我简单算过PoE满载90WPSE控制器和MOSFET的损耗大概8%到10%板载交换逻辑按6W估整机满载约105W。48V/3A适配器理论上能到144W留了约30%的余量既能避免电源长期满载发热也能应对瞬时浪涌电流。3. 立创EDA实战原理图、4层板与星型接地的关键操作3.1 原理图阶段自建RTL8370N符号把电源网络分干净立创EDA的在线元件库虽然大但RTL8370N这种交换芯片往往没有现成符号或者符号带着明显的库作者个人习惯。我的做法是下载官方Datasheet对照引脚手册在立创EDA专业版里自己画符号。画符号有一个技巧按功能把引脚分组MDI0到MDI7、LED指示、SMI管理接口、电源/地、时钟/复位各放一块不要一股脑按引脚编号排成一大片。这样后面连线时逻辑清晰不容易漏网络。原理图我分了四页电源输入页、交换核心页、PSE供电页、网口接口页。电源网络用立创EDA的电源符号区分48V、3.3V、1.05V地网络分PGND和AGND。这里不要小看命名规范后面做ERC检查时网络标签一乱报错能让人疯掉。全部画完以后跑一遍ERC检查重点看有没有悬空输入脚、同名网络误连、电源输出短路。立创EDA的ERC虽然不如商业EDA严格但基础错误都能抓出来。3.2 4层板层叠与阻抗控制不开六层也能跑稳千兆真正到了PCB阶段才是这个项目最考验耐心的地方。8路千兆MDI差分线、90W功率回路、PSE控制器、Buck电源全部挤在一块板子上信号完整性处理不好就容易出现千兆不通、CRC错误这类问题。层叠用的是4层L1信号层L2完整地平面L3电源层L4信号层。核心原因有两个一是L2地平面给所有信号提供连续回流路径二是电源层和地层紧耦合能提供低阻抗的电源分配网络。阻抗设计上我把100Ω差分阻抗作为硬指标。立创EDA专业版自带阻抗计算工具也可以直接用嘉立创官网的叠层工具输入板厚1.6mm、外层1oz铜厚它会给出推荐线宽线距。一般外层差分对4.5mil线宽、4.5mil间距就能落到100Ω附近内层因为离参考平面近线宽要适当加宽。我最终把全部MDI差分对布在表层避免过孔换层带来的阻抗突变。等长处理也要做。同对差分线的长度差尽量控制在5mil以内8对线之间虽然不要求严格等长但差异太大可能影响时序。立创EDA专业版有差分对布线功能可以实时显示长度差画完以后再用“长度调节”功能绕几段蛇形线找齐。3.3 星型接地不是玄学把回流路径理清楚“嘉立创eda如何布线星型接地”这个话题我刷到过很多次。星型接地的本质是把大电流的地回路和小信号的地回路分开最后在电源输入端单点汇聚防止功率地上的开关噪声通过地回路耦合进PHY和交换芯片。但在4层板有完整地平面的情况下我不建议把地平面强行切割成几块。切割地平面反而会破坏高速信号的回流路径造成更大的EMC问题。我的做法是“思想上是星型实现上是完整地平面加分区布局”POE功率部分放在板子一侧大电流从48V输入到PSE芯片、再到变压器中心抽头形成一个小环路。这块区域的地铜皮要短而宽检流电阻用Kelvin连接方式单独拉两根采样线到PSE芯片不经过大电流路径。交换芯片和8个变压器的区域尽量远离功率环路PHY的模拟地引脚单独用过孔就近打到地平面不要和数字地混接。实际操作中还有几个细节顶层和底层都铺地铜用密集过孔缝合减小回流阻抗。变压器下方的地铜皮建议挖空一部分防止变压器线圈之间耦合到地平面产生涡流。PSE芯片和Buck电源的散热焊盘要多打过孔一方面导热另一方面让大电流在层间流动时路径更宽。这些操作在立创EDA专业版里都能做铺铜区域画好以后设置网络为GND再在规则里把过孔间距、铜皮间距调好检查一下有没有孤岛铜皮。3.4 位号图导出和立创EDA/KiCad怎么选板子画完要出生产文件。立创EDA专业版导出位号图非常方便在制造菜单里直接选“位号图”就能生成用于贴片定位的PDF或图片。导出后一定要放大检查一遍看有没有位号重叠、丝印压焊盘、方向标识缺失。关于立创EDA和KiCad哪个好用我的看法是个人打样走嘉立创生态选立创EDA可以省去转格式的工序在线元件库和商城库存直接关联BOM匹配快KiCad胜在开源和封装自由度但原理图符号、封装都要自己折腾做这种中小型项目效率会低一些。如果你只画这一块板子立创EDA上手更快。4. 打样与上电从焊好板子到跑通千兆4.1 BOM核对一颗电阻都不能错打样回来焊接之前第一步是拿着立创EDA导出的BOM核对物料。这个环节最容易翻车的是检流电阻和分压电阻。PSE的电流检测电阻用的是低阻值高精度电阻一般0.1Ω、1%甚至0.5%封装至少0805以上因为走的是接近1A级别的大电流功率不够会烧。我第一版就吃过亏用了0603封装的采样电阻满载20分钟直接飘了。另外48V电源入口的电解电容要注意耐压至少选63VBuck电源的续流二极管/同步整流MOS不要贪便宜电流余量留足50%。变压器选型上我用的是带PoE中心抽头的千兆网络变压器单颗覆盖一路MDI网上搜索“千兆PoE网络变压器”就能找到匹配型号重点看匝比1:1和耐压等级。4.2 上电时序先量电源再碰芯片焊接完不要急着插网线。先把万用表打到二极管挡测各电源轨对地是否短路尤其是1.05V核心电压和3.3V对地。确认没有短路后空载上电量48V是否在正常范围Buck输出是否稳定再用示波器看1.05V和3.3V的纹波。纹波一般要控制在50mV以内如果超出检查反馈回路和前级电容。RTL8370N需要一个25MHz晶振。示波器探头点上去能看到25MHz正弦波基本就说明芯片的时钟域在跑。复位引脚要保证低电平复位后释放释放时间要和电源稳定时间错开。如果晶体不振先查负载电容和芯片供电引脚有没有焊好。4.3 网线和水晶头千兆必须8芯全通过第一次把网线插上如果协商速率只有100M甚至10M别急着怀疑芯片先把线缆检查一遍。千兆定义要求网线8根芯全通而且必须按T568A或T568B标准线序压接。很多手工做线的人只压了1、2、3、6四根芯这种线能通百兆但千兆必然协商不上。用网线测试仪逐根对测是最基本的操作。我之前还见过一个案例用户反馈“全千兆路由器接交换机LAN口只分配到10M网络”最后查下来是墙壁面板里的模块只打了四根线另外四根根本没接。所以遇到协商速率不对永远先把物理链路查干净再回头查设备配置。5. 千兆CRC错误的排障实录百兆正常千兆不通怎么查5.1 先看现象两台设备一样的表现板子调通之后我把两块样板分别接到两台不同的千兆设备上做测试。第一块板子连的是普通千兆交换机跑iperf3打流偶发几个丢包第二块板子连的是路由器千兆口直接出现大量CRC错误在路由器接口统计里能看到FCS错误计数持续增长。这和网上常有人问的“yt8521 百兆正常千兆出现接收硬件crc很多错误”几乎一模一样百兆速率下数据传输没问题一到千兆就崩。原因也很典型——千兆用了全部4对线传数据速率一上去对信号质量的要求立刻变高任何一根线的阻抗不连续、串扰、回流路径不干净都会在这个速率下被放大。5.2 我按这个顺序排查最后找到了根因先换线。把样板和另一个机器之间换成一条工厂量产的六类成品网线排除手工网线线序和接触问题。再量RJ45到变压器之间每一对差分线的通断焊点有没有虚焊有没有焊锡桥接。这一步用放大镜配合万用表电阻挡就能做。然后看PCB走线。我检查了变压器的次级中心抽头滤波电容的位置和容值。RTL8370N参考设计里次级中心抽头到PHY的偏置电压之间需要加一个0.1μF的高频滤波电容而且这个电容必须尽可能靠近PHY引脚。我第一版把它放在靠变压器一侧导致PHY引脚端的电源阻抗过高回波损耗变差但百兆速率下还能扛住千兆就暴露了。还有一个干扰因素来自PoE。单独供电时板子千兆正常一旦PSE给对端PD设备供电CRC又开始飙升。这个问题查到最后是PoE电源输入端的共模电感饱和了换了更大额定电流的共模电感之后PoE和千兆数据通道的干扰彻底解决。5.3 这类问题怎么系统性地避开做完这个项目我给自己的排查思路做了个总结现象优先排查项排查手段协商到100M网线线序、水晶头、模块网线测试仪千兆CRC增多差分线阻抗、等长、回流路径目检阻抗计算千兆CRC集中在某个口该口变压器虚焊、芯片引脚放大镜检查、重焊PoE供电时CRC变差电源共模电感、地回路示波器看电源纹波所有口都不通电源轨、时钟、复位万用表、示波器还有一个原则信号完整性问题和“玄学”无关问题几乎都出在物理层要么线缆要么焊点要么PCB走线要么电源噪声。一步一步排除一定找得到。6. 满载测试与长期运行90W供电方案的可靠性验证6.1 PoE单口功率验证板子跑通千兆后我用PoE测试仪也叫PD诱骗器分别验证了8个端口的检测、分级和供电。通过调不同的分级电阻可以模拟802.3af的15.4W和802.3at的30W负载。测试结果里每个口都能正常检测并拉起电压单口在30W负载下输出稳定没有出现欠压保护。满载整机测试时我在7个口上分别接了交换机、摄像头和PoE供电模块让总功率跑到约85W另一个口接笔记本电脑用iperf3统计吞吐。RTL8370N的交换转发性能确实没得说双向打流跑到940Mbps左右属于千兆实测的正常水平CPU和内存占用不在数据通路里压根不存在瓶颈。6.2 温升测试被动散热能不能扛住PoE的90W功率池其实大约有8到10W的损耗会转化成热量加上交换芯片和Buck电源的热量整机在密闭机壳里是无风扇被动散热温度表现很关键。我把板子放进一个铁壳里在25℃室温下满载跑了2小时用热成像仪测了几个关键点器件实测温度RTL8370N表面61℃PSE控制器78℃网络变压器52℃Buck电源芯片66℃电源输入二极管70℃整体没超85℃还有余量但PSE控制器78℃已经不算低了。我后来在底层对应位置加大面积铺铜多打了十几个散热过孔再测降到了70℃左右。如果机壳通风差建议在顶盖开散热孔或者加一个5V静音风扇。6.3 24小时老化后的状态最后做了24小时老化8个端口全部接PoE负载总功率维持在90W附件的安全线上同时用一台电脑持续向8个端口发双向流量。老化结束以后没有出现丢包、重启、PoE端口掉线的问题。几个细节值得记录PSE的功率池策略确实有用当总功率接近上限时新接入的PD会被拒绝供电而不是把已有设备拉垮。整机断电重启后PSE自动模式能正常重新检测所有PD不需要人工干预。电源端的TVS和共模电感在雷击浪涌模拟测试中发挥了作用端口没有损坏。到这里这版基于立创EDA的8口全千兆PoE交换机算是真正能落地跑起来了。最后给想复刻这个项目的朋友几句实在话如果从来没画过板子先拿4口方案练手把PoE握手和千兆布线的基本功摸清楚再上8口打样之前把立创EDA的规则检查、位号图检查都过一遍能省掉一大半返工成本如果纯粹为了用那确实买成品更划算但自己从头到尾画一遍你对“为什么千兆网线要求8芯全通”“为什么PoE要用48V”“为什么差分走线要控阻抗”的理解会比看十篇科普都深刻。