ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Intel I226-LM 2.5G以太网控制器硬件设计实战指南

Intel I226-LM 2.5G以太网控制器硬件设计实战指南 Intel I226-LM这颗2.5G以太网控制器这两年几乎成了服务器主板、NAS、软路由和高端消费级主板的默认选择。很多人都是从I225时代的阴影里走过来的早期版本频繁断流、协商异常到I226才算真正稳下来LM这个后缀又是没有vPro的轻量版对绝大多数自研板卡来说定位刚刚好。这篇文章不聊驱动和系统配置专注硬件设计把原理图、PCB Layout、调试和生产环节里真正影响成败的细节全部过一遍。如果你正在做一块带2.5G网口的板子或者准备把老平台升级到2.5G这篇文章至少能帮你少走一半弯路。接下来按我自己的设计习惯从芯片认识、原理图、Layout、调试到量产一步步讲清楚每一步都会带上实际踩坑经验。1. 拿到I226-LM之前先把这颗芯片的底细摸清1.1 它到底强在哪I226-LM的前世今生I226系列是Intel在I225之后推出的成熟版本。I225早期B2步进在真实网络环境里暴露过不少问题比如长时间高负载断流、掉速很多用过的人都被逼着上了外接网卡。I226在PHY和PCIe链路稳定性上做了不少修正因此现在客户和方案商都更愿意选I226。LM和V两个版本的主要差异在管理功能I226-LM不带vPro和AMT对纯数据通信和普通业务完全够用如果你需要带外管理、KVM、远程桌面这类功能才需要选V版本。从硬件设计的角度来看I226-LM单芯片就集成了MAC和PHY对外只走PCIe x12.5G速率下带宽完全够用内部PHY支持10/100/1000/2500Mbps自适应可以实现2.5GBASE-T和NBASE-T生态也兼容。因为集成度高外围元器件比“MAC外部PHY”方案少了一大截功耗也只有1W量级对嵌入式硬件工程师非常友好。做板卡选型时几乎任何主控平台都会预留PCIe通道I226-LM就是往上挂网卡的高性价比选择。1.2 硬件资源盘点别看Datasheet头大先抓这四个部分I226的Datasheet有几百页真正需要重点看的其实是五块PCIe接口、MDI接口、电源域、时钟复位、管理和配置引脚。我的习惯是先拉一个引脚分组速查表再对照参考原理图逐项过一遍避免看几百页手册看到头晕。下面这个表基本能概括I226-LM硬件设计会接触到的信号引脚分组主要信号设计要点PCIe接口PETp/n、PERp/n、REFCLKp/n差分阻抗、AC耦合电容、100MHz参考时钟MDI接口MDI0±到MDI3±连接网络变压器100Ω差分等长控制供电VCC、VCCIO、AVDD等去耦电容、电源时序、模拟电源滤波时钟25MHz晶振引脚负载电容匹配靠近芯片摆放控制LAN_RST#、LAN_WAKE#复位时序、WOL相关管理SMB_CLK/SMB_DAT上拉电阻、连接BMC/ME的拓扑LED状态输出开漏输出加上拉和限流电阻拿到官方参考原理图后别急着抄先对着这个表核对每个引脚。我见过所谓“照抄”的板卡最后电源晶振画了SMBus没上拉到调试阶段浪费了一整天。这部分是整个硬件设计的底子建议多看Intel提供的Design Guide和参考原理图那是经过验证的默认答案别自己发挥。2. 原理图设计把每个关键引脚都拨对位置2.1 供电方案与上电时序别让芯片“饿肚子开机”I226的供电电压轨并不复杂常见的是核心电压1.05V和IO电压3.3V具体电压轨以你拿到的子型号Datasheet为准。电源设计里最重要的一条经验是每一个电源引脚附近都要有足够且足够近的去耦电容。不要指望在电源入口放大电容就万事大吉高频瞬态电流必须靠小电容就近提供回路。实际摆放时0.1uF电容要尽量贴着对应引脚放在芯片同一面过孔越少越好1uF到4.7uF容值稍大的电容可以放在芯片外围电源入口处。模拟电源要单独处理。I226内部PHY的模拟前端对电源纹波非常敏感如果直接把DC-DC的开关纹波灌进去最直接的后果就是2.5G协商不稳定、误码率高。参考设计里通常会用磁珠或LC滤波器隔离模拟电源域磁珠要选在目标频段有足够阻抗的料不是随便一个120Ω磁珠就能交差。原理图中通常体现为一个π型滤波一个磁珠加两个对地电容位置尽量靠近芯片的AVDD引脚。上电时序方面LAN_RST#必须在所有电源稳定之后释放。最稳妥的做法是用一颗复位IC统一管理或者用DC-DC的Power Good信号做时序控制如果为了省成本用RC复位时间常数要留够余量至少比电源爬升时间多几十毫秒。我踩过的坑是RC复位时间不足首板偶尔认不到网卡冷启动和热重启表现还不一样排查起来非常折磨。别在这种地方省元器件。2.2 PCIe接口的AC耦合电容和100MHz参考时钟I226的PCIe是x1链路信号速率是PCIe 2.0级别的5GT/s。虽然不算极高速但也不能拿普通低速走线思维对待。PCIe链路两端必须串接AC耦合电容常见值0.1uF/0402而且整条链路只能出现一次容性端接。摆放位置一般靠近发送端如果主控是发送端电容就靠近主控放有些设计喜欢放在连接器附近也可以但要保证链路上不要重复加电容也不要漏加。参考时钟是另一个容易忽略的点。I226需要平台提供的100MHz差分参考时钟这路时钟建议从CPU/PCH/主控的REFCLK输出直接引过来中间注意等长优先参考地平面。某些SoC参考设计里还会要求加一个0.1uF的AC耦合电容具体以主控的硬件手册为准。如果这里省掉链路训练成功率会明显下降表现就是网卡在系统启动时偶尔不出现。这个问题很隐蔽因为大多数时候能认卡很多人不会回头查REFCLK。2.3 MDI前端变压器、Bob Smith和RJ45选型一起说MDI是整个网卡“看门面”的地方也是最容易在设计上翻车的位置。I226的PHY侧有4对差分线需要接网络变压器隔离之后再到RJ45。变压器增益一般是1:1但选型时必须确认器件标称支持2.5GBASE-T别拿只支持千兆的老库存糊弄。老千兆变压器在1000M下也许能跑但在2.5G条件下线圈带宽不足、串扰偏大协商容易失败或偶尔掉速。RJ45这边有两种选择分立变压器加普通RJ45或集成磁性RJ45。分立方案灵活变压器可以按信号质量选料但BOM多一颗器件占面积也大服务器和高端开发板常用。集成方案BOM简洁、layout省事成本和信号指标已经封装好适合量产产品。选集成模块时要注意模块内部是否已经做了Bob Smith端接和共模电感如果模块本身没做原理图上还是得补。Bob Smith端接的作用是把RJ45侧每对线的共模噪声泄放到chassis地减少辐射和差模转换。采用集成磁性RJ45时这部分通常已在模块内部完成采用分立变压器时需要在变压器次级侧按参考设计补RC网络。另外变压器次级中心抽头、RJ45金属外壳接什么地方要严格按参考图处理。chassis地要和信号地单点连接中间串高压电容和电阻不要直接把RJ45的地大面积铺到主地否则EMI整改时会欲哭无泪。2.4 时钟、复位、LED和SMBus小引脚也有大讲究25MHz晶体是PHY的工作时钟两个负载电容的容值要根据晶振规格书给出的CL值计算公式是CLC1*C2/(C1C2)Cstray其中Cstray是PCB走线寄生电容一般按2到5pF估算。稳妥做法是直接采用参考设计里的C1/C2值因为参考板的寄生环境和你板子不会差太远如果要做微调量产前用频率计实测晶振频偏偏差太大会导致系统偶尔连不上或时间戳抖动偏大。LED引脚一般是开漏输出内部逻辑已经定义好了链接、活动等状态外接上拉电阻和限流电阻即可。设计时注意别让LED全亮时功耗过大也不要把LED信号随便接到GPIO去控制容易干扰默认行为。SMBus这组信号看系统里有没有BMC或管理控制器。有BMC时需要上拉到3.3V并保证总线上设备地址不冲突没有BMC时相关引脚按参考接法处理不要悬空乱接。2.5 NVM和MAC地址没EEPROM也能跑但出厂要规划I226内部有集成NVM可以存MAC地址和默认配置原理图上不需要强制挂一颗独立EEPROM。这意味着哪怕板卡没有额外存储系统上电后也能通过驱动初始化工作。但MAC地址必须正确写入否则会出现全F或全0的情况。生产阶段建议在测试工装里用Intel官方工具对每片板卡写入唯一的MAC地址并做好条码和MAC的映射记录。如果你的系统需要自定义功能比如固定速率、灯效模式等也可以通过NVM配置去改。NVM工具尽量用Intel官方发布的版本比如BootUtil或eeupdate命令格式随版本变化使用前先看帮助文档不要凭记忆敲命令。烧录过程要防掉电最好在工装里加一个防误操作引脚或只读开关避免产线误改。这一块在原理图阶段其实就是预留SMBus和编程接口别等到产线再飞线那个场面惨不忍睹。3. PCB Layout实战2.5G对布线的要求比1G严格得多3.1 层叠选择与地平面完整性I226方案对层数要求不算苛刻四层板能跑六层板更稳。如果你对EMI、信号质量、量产一致性有要求建议至少六层。层叠可以做成L1信号、L2地、L3电源、L4信号、L5地、L6信号这样每路高速信号都有完整参考平面。四层板可以做但顶层走高速信号时第二层必须完整地平面第三层电源平面第四层再走低速信号只要保证高速信号不跨分割也能通过验证只是调试周期会拉长。地平面完整性怎么强调都不过分。PCIe和MDI的参考平面一定要连续换层时要成对打回流地孔不能出现“信号换了层地平面还在原地”的情况。有人为了省过孔换层点附近不打地孔回流电流绕一大圈眼图直接塌掉。这个问题低速下也许看不出来2.5G下就会随机丢包、协商失败非常烦人。layout评审时把每一对高速信号的参考平面路径过一遍可以省掉后面无数眼泪。3.2 差分走线的等长、阻抗和过孔PCIe差分线建议按85Ω差分阻抗控制具体以Intel设计指南和你的PC平台要求为准MDI差分线按100Ω控制。两种差分对阻抗目标不一样叠层计算时要分开算别套同一个模板。走线时不要随意加宽或收窄过孔本身会带来阻抗突变高速线上尽量少打过孔如果非要换层过孔旁边要有回流地孔且收发两路过孔数量尽量匹配。等长方面差分对内等长能做到±5mil以内最好PCIe对间等长可以放宽到±5mm左右MDI四对之间也尽量等长。新手往往只看总长度却不看每一段的参考平面是否连续。实际上总长差不多不等于信号质量一样路上绕来绕去会增加参考平面断裂风险。好的做法是先保证路径最短再通过蛇形绕线补偿蛇形间距保持在3倍线宽以上否则耦合串扰比不等长更麻烦。3.3 网络变压器挖空、chassis地与EMC处理这是很多Layout新人不知道的关键细节。网络变压器正下方也就是变压器本体到RJ45之间的投影区域通常需要在各层做净空处理避免铜皮和磁性元件之间产生寄生耦合影响共模抑制和辐射。不同变压器厂商的Layout指南会有些差异设计前先从厂商官网下载对应型号的Layout推荐按推荐执行不要凭感觉。RJ45的金属外壳接到chassis地chassis地再通过高压电容和电阻网络与信号地单点连接。这里不要图省事直接把外壳丢到主地否则雷击浪涌时可能把整个板子的地电位抬高主板和PHY一起遭殃。chassis地和信号地之间常见接法是1MΩ电阻并联1nF/2kV电容这个网络要放得离RJ45近一些走线短而粗。ESD防护方面条件允许可以加TVS管但要选低结电容的避免对MDI差分信号的容性影响过大。3.4 电源、散热焊盘和去耦电容的摆放I226去耦电容摆放时小容值要近大容值可以稍远。0.1uF电容要尽量贴着对应芯片引脚参考设计里往往放在芯片背面或引脚正下方这样回路最短。电源走线要短而宽特别是核心电压不要细线走很长否则负载瞬态电压跌落会把网卡丢掉。QFN封装的散热焊盘必须可靠接地。散热焊盘上打若干过孔到内地平面过孔不要用全塞孔工艺最好做“盘中过孔加树脂塞孔加镀铜”既能导热又能避免虚焊。打孔时注意别太靠近焊盘边缘导致漏锡。如果板子有金属机箱最好在芯片附近留一片铜箔接到机箱地提升散热效果没有金属外壳时只能靠PCB平面散热那更要保证过孔数量足够。很多“掉卡”“断流”问题背后其实是散热差导致PHY过热不是芯片质量问题。4. 从调试到量产常见问题全排查4.1 首板点亮流程上电前先做检查首板焊接好以后不要急着插电。先做外观检查重点看是否有连锡、反贴、立碑QFN焊盘是否假焊然后用万用表量电源对地阻抗确保没有短路再空载上电量各路电压是否正常纹波是否在规格内。确认电压没问题后用示波器看25MHz晶振有没有起振再查PCIe参考时钟波形。如果这些都正常把板子插到系统里在Linux下执行lspci看能否枚举到I226。一般会看到类似“Ethernet controller: Intel Corporation Ethernet Controller I226-LM”的输出。如果没认到优先查PCIe链路训练用示波器抓PET/PER差分波形看有没有电气空闲若完全无信号多半是时钟、复位或AC耦合电容问题。认到卡之后先用ethtool确认链路速度和协商模式再开始打流。# Linux下快速确认网卡是否被枚举 lspci -nn | grep -i ethernet # 查看网卡当前协商速率 ethtool eth0 # 强制固定2.5G速率测试 sudo ethtool -s eth0 speed 2500 duplex full autoneg off4.2 认卡但只能协商1G2.5G上不去的排查顺序这个问题我遇到太多次。不要一上来就改PHY寄存器先按顺序排第一确认对端设备支持2.5G且线缆至少是Cat5e以上第二用ethtool查看本端支持的速率列表看是不是NVM里没把2.5G使能第三检查MDI变压器是否支持2.5GBASE-T很多老变压器标称千兆实际跑2.5G容易翻车第四用万用表或示波器摸一遍MDI链路看有没有线序错、虚焊最后才考虑PHY寄存器配置。多数时候问题出在变压器或NVM配置。如果换一根短屏蔽线就能协商到2.5G那大概率是信号质量不达标回头检查layout是否等长、参考平面是否连续、是否少了共模电感。遇到NVM配置问题时用Intel工具读回当前NVM内容对照默认值确认link speed mask是否放开了2.5G。产线批量复制时不要从某一块非标准配置的“母板”直接导NVM镜像容易把奇怪参数全带过去一批板卡全都协商不了2.5G。4.3 随机掉卡、重启丢卡、断流问题随机掉卡与供电关系最大。上电瞬间PHY峰值电流不低如果PCB上核心电压走线太细、去耦电容不够或DC-DC环路不稳芯片会在负载突变时进入欠压系统表现为网卡随机消失。解决方法是先看整机功耗曲线再用示波器抓掉卡时刻的电源波形看跌落是否超过5%。如果电源没问题再看PCIe信号和机械连接特别是PCIe金手指或板对板连接器是否氧化、公差是否超限。断流问题往往不是硬件单方面造成的。排完硬件后一定要换不同驱动版本和系统版本交叉测试同时看dmesg里igc驱动的报错。如果驱动日志里有大量描述符超时或链路down/up事件先查供电和PCIe链路再查NVM不要一开始就怀疑芯片坏了。还有一点很多“断流”实际是散热问题无风扇机箱里I226芯片温度过高PHY会触发保护或产生误码。用热像仪看满载半小时后芯片表面温度超过90℃就很危险。4.4 常见问题速查表现象可能原因排查方向系统认不到网卡PCIe链路训练失败、复位未释放、REFCLK异常查上电时序、100MHz时钟、AC耦合电容认到但协商只有1GNVM限制、线缆或对端不支持、变压器带宽不足用ethtool看速率列表、更换线缆/变压器随机掉卡供电跌落、PCIe信号质量、散热示波器抓电源、查差分眼图、热像仪测温MAC地址全F/全0NVM未写入或内容损坏用Intel工具重写NVM产线做写入记录打流误码率高MDI差分质量差、EMI干扰、线缆过长查layout、查chassis地、换屏蔽网线验证WOL不生效LAN_PWR_CTRL配置、BIOS/驱动关闭检查NVM和BIOS设置确认电源设计保留WOL供电5. 信号验证与量产设计别在最后的关口翻车5.1 眼图测试和长时间打流2.5G网卡设计完成后不能只靠“能上网”来验收。建议在专用测试环境下做眼图测试MDI端口的发射眼图要留出余量如果没条件上专用设备至少用示波器加差分探头看波形占空比、上升沿对称性和噪声幅度。PCIe链路则可以用系统自身的链路训练状态和lspci报错情况做初步判断条件允许时上协议分析仪更稳。打流测试要覆盖双向、多连接、长时间。我的习惯是至少连续跑48小时包括1G和2.5G两种速率混合大小帧同时挂ping监控延迟。只有长时间稳定不掉线、不重传才能说这块板子硬件设计基本过关。尤其要注意高温环境2.5G频段对温度漂移更敏感在40℃或45℃环境箱里跑满速比常温下跑三天更能暴露问题。设备和技术文档里都有温度等级要求别忽略。5.2 量产阶段的MAC管理、ESD防护和工装测试设计稳定进入量产后MAC管理是最大的一块坑。建议把MAC地址写入放在测试工装的第一步而不是等到整机OQC。工装脚本在上电后调用Intel工具写入MAC然后立即读回校验并把这个值和机台序列号一起存入MES。如果测试过程中断要保证不会写入一半同时每个工装只能写入本工厂分配的MAC段防止误写乱码。批量出货前还要抽查几片板卡用长时间打流确认一致性。ESD防护方面RJ45金属外壳接好chassis地后标准接触放电和空气放电一般能过关键是MDI差分线上的TVS选型过度保护会劣化眼图保护不足则一枪就挂。稳妥做法是选低结电容、大电流的器件并尽量减少TVS到连接器的走线长度。整机做EMI预扫描时如果2.5G开关频率附近出现超标点优先检查网络变压器下方是否挖空、RJ45外壳接地是否短直、MDI走线是否包地。前面的布局建议如果都落地了整改成本会小很多。我个人在实际调试I226-LM项目时最大的感触是这颗芯片本身挺皮实真正让它出问题的往往是周围电路。电源、时钟、MDI变压器、chassis地这四个地方任何一个草率处理都会用几周甚至几个月的调试周期来还。所以如果你现在正在画I226的板子建议别急着抄原理图把参考设计逐层逐引脚核对一遍尤其是MDI前端和地分割部分。多花一天核对能省下后面无数次改板祝一次点亮。
返回列表