简介:这是一份基于Realtek官方参考资料的RTL8111E/RTL8111F/RTL8105E以太网控制器电路设计参考文档,面向硬件工程师、PCB Layout工程师及相关调试人员,解决高速以太网接口电路设计中的关键问题。内容按电源设计、时钟设计、信号完整性设计、PCB布局布线等模块展开,特别针对VDD33、VDD10电源拓扑、开关稳压器/外部LDO供电选择、去耦电容放置、时钟电路处理及Layout Guide设计规范进行了详细梳理,并配有48Pin引脚参考原理图,便于设计时直接对照引用。资源为单个PDF文件,压缩包约75KB,内容高度浓缩,属原理图设计阶段必读的参考手册类资料。目前已有1073人浏览学习,适合正在进行相关网卡电路设计或需要核对电源时序、电容选型与引脚连接关系的硬件开发者。
1. 从一颗千兆网卡芯片开始的硬件设计课:RTL8111E这套参考方案要解决什么
做硬件设计最怕的不是芯片本身复杂,而是手里只有一份规格书、没有一个能照着画的完整范例。RTL8111E这颗以太网控制器在板卡上很常见,尤其适合千兆网络接口的硬件课设和毕设选题。真到自己动手画原理图时,问题往往集中在几处:核心电源用开关稳压器还是外部LDO、MDI差分对怎么接网络变压器、EEPROM/Efuse/ASF三种配置怎么选、LED限流电阻取多少才不翻车。这套方案来自RTL8111E/RTL8111F/RTL8105E三款型号共用的48Pin参考原理图,按电源、控制器、可选功能、变更记录分页组织,版本一路迭代到V1.10。它适合两类人:一类是硬件方向的学生,需要一份能直接对照画板、少走弯路的参考;另一类是刚接触网口电路设计的工程师,想快速搞清楚电源树和复用引脚的来龙去脉。
2. 电源树设计:SWR与外部供电的取舍、去耦电容的摆位纪律
2.1 两种供电模式怎么选:R23/R24跳线背后的设计逻辑
RTL8111E的供电可以分成两路看:一路是VDD10核心电压(1.0V/1.05V),另一路是VDD33的3.3V。第一路就是设计决策的关键点。原厂给了两种路径——芯片内置开关稳压器(SWR)和外部供电,切换开关就是R23、R24两颗电阻:焊上R23启用SWR,焊上R24则禁用SWR、改由外部电源直接供入。
这两颗电阻不能同时贴,否则等于把开关稳压器输出和外部电源短接在一起,上电瞬间可能损坏芯片。我的习惯是原理图里把R23/R24标注成“二选一”的可配置位,PCB上做成0欧电阻位,先按默认模式贴上,调试时再根据实际电源情况调整。
外部供电模式下电压等级分得很细,照抄容易出错:
| 芯片型号 | 外部供电电压 | 说明 |
|---|---|---|
| RTL8105E系列(除VB型号) | 1.05V | 不用SWR时供入VDD10 |
| RTL8111E系列(除VL型号) | 1.05V | 不用SWR时供入VDD10 |
| RTL8111E-VL / RTL8111F系列 | 1.0V | 电压等级与上面不同 |
| 全部型号 | 1.2V | 必须联系原厂FAE确认,不可自行决定 |
这个表格里的1.05V和1.0V之分,就是一颗料一个样的典型例子。尤其是8111F,如果照搬8111E的1.05V供电网络,长期工作可能超出芯片耐压,量产阶段才暴露出来。所以画原理图前先确认手里到底用的是哪一颗子型号。
2.2 输出滤波器与电感选型:Cin/Cout/Lx的对应参数
SWR路径下的LC滤波器由输入电容、输出电容和一颗功率电感组成。V1.01版本把容易混淆的编号统一了一遍:C17改名Cin1、C18改名Cin2、C8改名Cout1、C9改名Cout2、L1改名Lx。这么改的目的很实际,就是为了和SWR Layout Guide里的叫法一一对齐,不然原理图工程师和Layout工程师各叫各的,评审时来回翻图。
参数组合如下:
- Cin1:4.7uF,X5R材质
- Cin2:0.1uF
- Cout1:4.7uF,X5R材质
- Cout2:0.1uF
- Lx:2.2uH或4.7uH
电感选型有一条硬约束:要参考Layout Guide和Inductor AVL(合格料号清单)。AVL里列的是经过验证的物料,重点关注饱和电流和直流电阻,不要只看感值一样就换。开关稳压器的电感饱和电流不够,重负载下感值会骤降,输出纹波变大甚至打嗝。X5R电容也要注意直流偏压特性,4.7uF的电容在较高偏压下实际容量可能掉不少,1.0V低压场景影响不大,但留出足够的电压裕量总是稳妥的。
2.3 去耦电容分组:哪些电容必须靠近哪些引脚
这页里最值得抄的就是去耦电容的分组规则。原厂把电容按供电引脚一一对应,并且在注释里反复强调“Close to U5”:
- C1到C7对应VDD10引脚3、6、9、13、29、41、45,单颗0.1uF,其中C1到C3专门用于13、29、45三个引脚(8105E系列除VB)
- C10、C11专门对应EVDD10的Pin21,要求靠近U5的Pin21放置
- C12到C17对应VDD33引脚12、27、39、42、47、48,单颗0.1uF
- 8105E-VB略有不同:VDD10只用C1到C4对应3、13、29、45,VDD33用C12到C16对应12、27、39、42、47、48
“Close to U5”是这页出现频率最高的注释,也是实际最容易打折扣的地方。0.1uF的电容如果摆在离引脚1厘米开外,寄生电感一上去,高频去耦效果基本归零,芯片在跑大流量时容易因为电源毛刺丢包。我一般要求电容焊盘中心到芯片焊盘中心的距离控制在100mil以内,能同层放置就不要打过孔绕远,过孔会增加额外寄生电感。
提示:原图标注Power Sequence必须参考Layout Guide,原理图页只给了结论。上电时序在SWR和外部供电两种模式下要求不同,做电源树检查时一定要单独核对。
3. 控制器接口设计:MDI差分对、25MHz时钟与LED指示电路
3.1 MDI信号与网络变压器:中心抽头短接加1uF的电源优化
MDI0±到MDI3±四对差分线从U5引出,分别送入U6网络变压器的TD1到TD4通道,变压器另一侧接到RJ45连接器。这部分电路看起来常规,但有一个细节经常被忽略:网络变压器中心抽头的接法。V1.02版本之前中心抽头是直接接到固定电平,V1.02之后改为中心抽头短接、再通过一颗1uF电容接到GND,原图注释写的是“Power Optimization”。
这样改的实际效果是:给共模电平提供一个交流地回路,同时不引入额外直流功耗。这种小改动直接影响板卡的功耗和EMI表现,答辩时能讲清楚来龙去脉,比背一堆术语更有说服力。
U7、U8是预留的Surge(浪涌)和Cable ESD(线缆静电)保护位,型号AZC099-04S。量产板建议直接贴上,实验室验证板可以先不贴,但焊盘和网络要保留,不要为了省事直接删掉。万一EMI或ESD测试不过,还能补焊回去。
另外,RSET引脚的电阻R15原厂固定要求2.49K,精度1%,所有应用通用,不要擅自改阻值。
3.2 时钟电路:25MHz晶振的匹配电容与外部时钟输入
X1是25MHz无源晶振,匹配电容C21、C22取27pF,分别接在XTAL1和XTAL2引脚上。这里要特别注意:Pin44(XTAL2)同时也是外部时钟输入脚。如果板卡上已经有时钟源,可以不走晶振,直接从Pin44灌入外部时钟信号,走这条路时必须贴上R38(510欧),用于串阻匹配。
V1.07版本把旧的14.318MHz晶振从原理图里删掉了,只保留25MHz一路。这说明照V1.10画板即可,不用再纠结要不要额外补一颗14.318M。高速网络芯片的时钟设计,关键是时钟源离芯片近、走线短,外部时钟输入时注意匹配电阻。
网口部分还有一组电源管理相关引脚:PERSTB复位、CLKREQB时钟请求、LANWAKEB网络唤醒。开发板阶段可以按Host端默认要求接好,尤其是LANWAKEB,它承担着Wake-on-LAN功能,如果做的是支持远程唤醒的主板,这根线必须连到南桥或BMC对应引脚。
3.3 LED状态指示:单色/双色LED的限流电阻与组合限制
LED引脚有三个:LED0、LED1/EESK、LED3/EEDO。注意后两个引脚是复用的,同时承担EEPROM的时钟(EESK)和数据(EEDO)功能。原图给的组合限制很明确:使用EEPROM时,只支持LED0+LED1或者LED0+LED3两种双色LED组合,不能三个LED一起用,因为EEPROM占用了复用引脚。
限流电阻的规则是:单色LED要求R大于等于249欧,双色LED要求R大于等于125欧。这是原厂给的下限,实际阻值按LED的VF和IF重新算:
def calc_led_resistor(vcc, vf, if_target): # vcc: LED供电电压,通常3.3V # vf: LED正向压降,红/绿光约1.8~2.2V # if_target: 目标正向电流,建议5~10mA return (vcc - vf) / if_target # 示例:3.3V供电,VF=2.0V,目标电流5mA r = calc_led_resistor(3.3, 2.0, 0.005) print(f"计算阻值: {r:.0f} Ω,取标称值270Ω")计算出来270欧既满足单色LED大等于249欧的要求,又不会让LED过亮。用双色LED时要按125欧下限重新核算,两个颜色的VF不同,限流电阻最好分开算,实测亮度差太多就微调阻值。
4. 可选功能配置:EEPROM、Efuse与ASF三种方案的电阻网络
4.1 EEPROM三选一:93C46A/93C56/93C66与识别电阻的对应
可选功能页把配置分成带EEPROM和不带EEPROM两大类。EEPROM支持93C46A、93C56、93C66三种容量,对应关系是:
| EEPROM型号 | 容量 | 识别电阻 | 备注 |
|---|---|---|---|
| 93C46A | 1Kb | R19=10K | R11保留给8105E-VB |
| 93C56 | 2Kb | R17=1K | 用于93C56/66 |
| 93C66 | 4Kb | R17=1K | 8111E-VL和8111F必须用1K |
网卡的MAC地址和PHY配置参数存在这颗EEPROM里。选错容量的直接后果是MAC地址读出来全是0xFF,或者烧录工具报地址越界。R11、R17、R19这几颗识别电阻,芯片上电时会读取对应引脚电平来判断EEPROM类型,所以阻值不能贴错。V1.08版本专门改过R17的值,如果是做8111E-VL或8111F,R17必须用1K,这一条已经写进了设计注释里。
4.2 Efuse与EEPROM_Less:SMBDATA下拉与型号差异
不带EEPROM时可以走Efuse方案,把配置一次性烧进芯片内部熔丝,适合出厂配置固定、不需要现场改MAC的场景。V1.03版本专门改过Efuse Autoload电路:SMBDATA要加下拉电阻。这个改动是原厂根据量产反馈补的,抄图的时候最容易漏掉——因为早期的参考图并没有这一笔。
还有一个特殊型号:8111E-VC是EEPROM_Less with ASF,意思是不用外部EEPROM但仍支持ASF管理功能,这个型号的EEPROM块要按原图里的注释画。8105E-VC则移除了R11,8105E-VB保留R11。这些细分型号的差异全藏在变更记录里,直接看V1.10成图不容易发现,我一般建议先完整读一遍Change Notes再动手画,不然同一颗料在不同型号下的电阻网络对不上。
4.3 ASF管理功能与SMBus上拉:C26的取值范围不能省
ASF是服务器管理场景下的带外管理协议,需要SMBus和主机通信。SMBCLK、SMBDATA两条线从芯片引出后,各接一颗10K上拉电阻到VDD33,上拉点要靠近Host侧。C26是SMBus线上的滤波电容,取值范围0.01uF到0.4uF,我习惯先按0.1uF起步调试,EMI测试过不了再加。
SMBus这页的核心是一个物理层复用关系:SMBCLK/SMBDATA和GPO、LED1/EESK、LED3/EEDO共用引脚。用了ASF之后,这几根线不能全部当普通GPIO或LED用。V1.04版本把TWSI接口从原理图里删掉了,如果网上找到的老版本参考图还带着TWSI相关网络名,要按V1.10清理掉,不要TWSI和SMBus混着连。
5. RTL8111E电路设计避坑:最容易翻车的几个点与排查方法
5.1 电源路径上的翻车点排查
现象一:板子贴回来网卡不Link,量VDD10只有0.3V。 原因:SWR路径的电感Lx贴错料,感值不对或饱和电流不够,导致开关稳压器打嗝保护。 解决:核对Lx是否按原厂AVL选料,用示波器看SW节点开关波形,确认开关频率和占空比正常,再量Cout1电压是否回升到1.0V/1.05V。
现象二:芯片能Link但跑大流量就死机或丢包严重。 原因:VDD33上的去耦电容C12到C17离引脚太远,高频去耦失效,电源毛刺干扰PHY。 解决:把0.1uF电容重新摆到对应引脚100mi以内,优先同层,不要在电容和电源脚之间打过孔。
现象三:R23和R24两个电阻都贴了,上电后电源异常。 原因:焊接时只按丝印位号操作,没确认两个电阻的网络归属,把SWR输出和外部电源短接在一起。 解决:贴片前用万用表确认R23、R24两端网络,二选一焊接,并在BOM里把两者标注为互斥位。
现象四:外部供电模式下,电压是对的但芯片发烫。 原因:外部电压等级选错,比如8111F用了1.05V而不是1.0V,超压导致功耗偏高。 解决:对照型号表重新确认,8111F和8111E-VL专用1.0V,其余8111E系列用1.05V,1.2V必须找FAE确认。
5.2 配置与外围器件上的翻车点排查
现象五:烧录器读93C46A总是校验失败,或者读到一半报地址越界。 原因:R19/R17识别电阻贴错,芯片把EEPROM识别成另一个容量,读写地址对不上。 解决:按型号对应表核对电阻,93C46A用R19=10K,93C56/93C66用R17=1K,特别注意8111F的R17必须为1K。
现象六:外部时钟源接入后网络不稳定,频繁掉Link。 原因:Pin44外部时钟输入路径没贴R38匹配电阻,或者时钟幅值不够。 解决:补上R38(510欧),用示波器量XTAL2引脚时钟幅值,确认满足芯片要求后再查别的路径。
现象七:LED颜色串了或亮度明显不均。 原因:双色LED的限流电阻按单色推荐值画,电流过大或者两个颜色VF差异没考虑。 解决:双色LED按大等于125欧下限重新计算,实测IF不超过规格书,亮度不一致就分别微调两颗限流电阻。
6. 从原理图到验收:静态检查、上电测试流程与答辩素材
6.1 静态检查清单
原理图画完后,我习惯按一张表逐项核对:电源配置跳线确认二选一、去耦电容分组和引脚对应关系、R15等于2.49K 1%、外部时钟路径的R38有没有漏、EEPROM的识别电阻和型号是否匹配、LED限流电阻是否满足下限、U7/U8 ESD保护位是否预留。每一项都要能在原理图上圈出来,才算过完静态检查。
6.2 上电验证流程
上电顺序建议严格按电源树逐级确认:先量VDD33的3.3V,再量VDD10的1.0V/1.05V,确认SWR输出的SW节点开关波形正常,最后确认25MHz时钟起振。系统起来后可以在Linux下做一轮快速验证:
# 确认网卡被系统枚举 lspci | grep -i ethernet ethtool eth0 # 确认链路速率和工作模式 ethtool eth0 | grep Speed # 跑打流测试确认长时间稳定性 iperf3 -c 192.168.1.10 -t 60 # 连续ping确认丢包率 ping -f -c 10000 192.168.1.16.3 答辩时的加分素材
答辩时可以把版本变更记录讲成设计演进故事:V1.02中心抽头改短接加1uF到GND,说明电源优化思路;V1.03加SMBDATA下拉,说明Efuse Autoload的可靠性问题;V1.04移除TWSI,说明接口收敛趋势;V1.07删掉14.318M晶振,说明时钟简化方向。这些细节能证明你不是照着画,而是真正理解了设计演变的来龙去脉。从那以后,我每次拿到参考原理图都会先读Change Notes再画板,这个习惯帮我避开了好几颗暗坑,也把原理图评审的时间压缩了将近一半。希望这套V1.10参考设计也能让你的网卡电路一次通过。
本文还有配套的精品资源,点击获取