之前在咸鱼捡了张 1037U 的工控主板,买的时候忘记问,结果买回来才发现是百兆的网卡。板载的是 RTL8105E 的网卡,主板预留了千兆版本的全部走线,只是贴的芯片是百兆的。8105E 的千兆版本应该是 RTL8111E,如此便有了自己更换芯片升级的想法。
在动手前先查了查资料。先在迅维上搜索了相关的贴子,发现已经有前辈留下的足迹了,把所有帖子都看了看,发现说可以升级的和不可以升级的,几乎五五开。那么相信谁呢?我的理解是,既然有一半的人已经确定成功了,那么说明原理上应该是没有问题的。失败的那部分可能是焊接问题?又或者是一些外围配置电阻没有更改?甚至是软件故障的可能。失败的原因有很多可能,很多失败的案例都是个例,且维修的案例多是品牌主板,配置很多时候是定死了的,不像我手里的工控板在设计上是做了相关的兼容准备的。所以我认为升级是可以尝试的,
另一方面,我也很幸运地下载到了原厂的资料,这非常关键。在原厂的参考设计中,提供了相当多的信息,并且可以发现在原厂的资料中两个芯片共同的部分相当多,这无疑增加了我的信心。
这里我也将资料分享出来:RTL8111E 数据手册,RTL8111E/8105E 参考设计。
此外,还意外的发现在张大妈发现有前辈做了跟我一样的改造,有详细的图文过程与思路,张大妈真是高手辈出呀。这里也一并附上连接:铭瑄 H81il 全固版魔改。
理论基础
要顺利升级,就先要弄明白这网卡是怎么一回事,对比两者的差异,才有改造的方向。
查阅参考设计的文档,这个芯片的引脚功能很简单,PCIE 信号接进来,另一边再通去网口,剩下一些外围的辅助电路与芯片供电。PCIE 没有差异;网口部分只缺 ESD 二极管(原机的百兆实际上只用了 4 根线)。辅助电路在参考设计中并没有体现出差异,我们先不管他。供电部分是重点,也是两个芯片的关键差异点,决定成败的大概率就是供电部分,为何?请听我慢慢分析。
先查阅芯片的数据手册中引脚描述的供电部分,发现芯片有 DVDD33
、DVDD10
、AVDD10
、EVDD10
、AVDD33
五个电源网络。在参考设计中,数字电和模拟电并没有区分,实际上就是需要 3.3V 与 1.0V 两个电压。但是后者并不是一个常用的电压,为了减少物料成本与方便设计,芯片内置了一个 1.0V 的 Regulator。
在参考设计的第二页中,原厂用了整整一版来说明,不同系列的芯片在这个 1.0V 的调压器上的区别。RTL8105E 使用的是线性稳压来降压,RTL8111E 是开关型的。同时两者也都支持外部 1.0V 供电,通过一个配置电阻来决定。
1.0V 供电的配置表。特别要注意的是,8111E 与 8105E 中对于 R23 和 R24 的定义是反的。
参考设计上配置电阻的设计。
我的工控主板上的配置电阻实物。图中指到的是参考设计中的 R24,右边那个空焊盘是 R23 的位置,这个可以通过万用表量出来是上拉还是下拉。所以,主板设计的是芯片自带的调压器供电 1.0V,主板只提供 3.3V。但是因为上文提到了两个芯片这里的定义是相反的,我们需要把电阻给移到右边去。此外,由于 RTL8111E 是开关型的降压,我们需要电感等器件给补上。
可以看到,REGOUT
引脚引出后通往的就是电感和电容。更开心的是,主板上把 Buck 电路相关的小阻容都贴好了,只缺电感而已。
到这里事情已经基本清晰,我唯一疑惑的是,原设计中是 LDO 降压,但是 REGOUT
引脚出来直接就连接到了电感,电感没有贴,所以引脚就应该是断路了。那么,那路 1.0V 是如何送往芯片的呢?或许唯一的解释是在内部连接了。只可惜没有搞到 RTL8105E 的数据手册,所以无法验证了。
实战的尝试
所以,目前看来,我们需要做的就是补一个 ESD 二极管(其实可以不补),更换网卡芯片,右移配置电阻,补一个电感。
电感看参考设计可以选择 2.2uH/4.7uH 的,那我取个中间值 3.3uH 好了;封装量了一下似乎 CD32 比较合适。ESD 二极管板子留的封装是 SOT23-6 的,这种都是内置了好几路的 ESD 防护的,所以 1 个就可以保护 4 个信号线,型号只要是给高速信号用的低输入电容的就行,我用的是 IP4223CZ6
,因为淘宝上卖芯片的商家也卖这个。
焊好之后检查一下有无连锡,量一下两路供电有没有短路,就可以上电了。开机后,主要关心的是 1.0V 供电出来没有。