添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

基于RTL8376+RTL8218B的16端口千兆非网管交换机设计

Stage0 : 背景

前段时间,做了一个外包项目,在通信设备的背板上,设计16端口的交换机,实现网络数据包在背板上的交换功能。

网上搜索了一下,有人提示用RTL8376+RTL8218B,可以实现16端口的千兆网线速。

在这个基础上做开发,开发阶段遇到的问题:

  1. 芯片资料非常少。基本上只能找到datasheet,还是必须付费下载的。这些文档一般厂家甚至都不放出,必须签了协议才会给,能找到Datasheet就不错了。
  2. 芯片内部有大量的寄存器(可能)需要配置,而datasheet上给的信息是非常少的。说可能,是我没有测试过不配置这些寄存器是否能够正常工作(关于寄存器的配置下面还有描述)。
  3. Datasheet上有某些非常显而易见的错误。

Stage1 : 设计

Stage1.1 :原理图设计

Stage1.1.1:RTL8376-GR的设计

RTL8376芯片提供了8个10/100/1000Mbps的端口,同时提供2个RSGMII-PLUS接口,每个RSGMII-PLUS提供了5Gbps的带宽,共10Gbps。去除20%的编码开销,正好是8Gbps,可以用2个RSGMII-PLUS接口连接RTL8218B,从而扩展出额外的8个千兆网口。

MDI接口的设计 :这个没有什么花头,直接连接到网络变压器或者带有网络变压器的网口:


在这里插入图片描述
RSGMII-PLUS接口的设计 :主要是要串个100nF的电容,另外收发和正负不要搞反了。
在这里插入图片描述
配置 :所谓配置,就是一些需要上拉或者下拉的信号处理。
在这里插入图片描述
79号引脚的输出是25M时钟,这个时钟将会提供给RTL8218B使用。
在这里插入图片描述 在这里插入图片描述
这个是68号引脚Disable_loop引脚的配置,上拉处理。二层交换如果用网线把两个端口连接起来形成环回,会导致广播风暴。这个有可能是用来环回检测的。拉高处理,禁止检测。
在这里插入图片描述
69号引脚用来控制是否使用内部的8051,70号引脚用来控制是否自动加载EEPROM的内容。看手册,外接EEPROM有2种可能的用途,1是使用8051时,作为内部8051的指令存储器。2是不使用8051时,作为内部寄存器的镜像,用来加载到内部寄存器中。因为我没办法搞到如何使用EEPROM的相关信息,因此从海鲜市场花几十元重金搞了个二手的使用该方案的交换机,“参考”了它的EEPROM内容和使用方法。这里,69和70引脚都拉低,使用内部8051,同时使能EEPROM自动加载,作为8051的指令存储器。
在这里插入图片描述
17号引脚MDIREF,这个引脚直接接2.49K电阻到地,没什么说的。手册里写得很清楚。

123号引脚没啥用。接个测试点,也可以不管。

94和95引脚用来接25M晶振或者谐振器。我用的是有源晶振,因此94号引脚就不管了。一般低成本方案都会用一个谐振器,参考一般单片机谐振器的电路就好了。
在这里插入图片描述
在这里插入图片描述
100和101引脚用来接EEPROM。我们使用24LC128的EEPROM。参考一样画就好了。
在这里插入图片描述
在这里插入图片描述

98和99引脚是MDIO的控制引脚。RTL8376作为一个主设备,将会配置RTL8218B和控制LED的RTL8231。
注意:MDC这个引脚,还有个额外的功能,是EE_MOD。它用于告知RTL8376,外接的EEPROM是16Kbit以上的还是16Kbit或16Kbit以下的。因为我们用的式128Kbit的,因此需要接一个上拉电阻。RTL8376上电的时候将会采样这个引脚并锁定值。
在这里插入图片描述
在这里插入图片描述
复位电路。低电平复位,高电平使能芯片工作。
在这里插入图片描述
65、66、71和72引脚没啥用,不过66引脚需要上拉。其他三个浮空不接。

剩下的就是一堆供电引脚。简单描述一下:

  1. DVDDIO、SVDDH、AVDDH这些信号是3.3V的。
  2. DVDDL、SVDDL、AVDDL、PLLVDD这些信号是1.0V的。
  3. 最好供电都超过3A以上(因为还要考虑RTL8218B和RTL8231,以及降额),我用的是6A。
  4. 最好都用磁珠+电容滤波。

Stage1.1.2:RTL8218B的设计

MDI接口没啥说的,和8376一样处理即可。
在这里插入图片描述
RSGMII-PLUS的处理,其实和RTL8376一样。
在这里插入图片描述
PHYADDR0~PHYADDR4这几个引脚,除了PHYADDR3做上拉,其他的都下拉。注意:PHYADDR应该是用来设定RTL8218B的MDIO地址的。RTL8376将会访问RTL8218。然而,RTL8376的访问由8051决定,8051又由外部EEPROM中的指令控制。我们直接使用别人的EEPROM,如果这几个电阻上下拉不对,访问应该会失败。所以这里建议不要改。

70号引脚EN_PHY上拉即可。
67引脚和68引脚都上拉,这样配置RTL8218B使用RSGMII-PLUS模式。该芯片还支持QSGMII。这里不用这种模式。

75和76号引脚接到前面的MDIO接口。参考前面图。
在这里插入图片描述
78号引脚不接。

98号引脚和RTL8376使用同一个复位源。

17号引脚同样用2.49K电阻接地。

123和45号引脚不接。96号引脚接RTL8376送过来的25M时钟,不需要再接晶振了。注意:根据以往SerDes的设计经验,这里最好不要画蛇添足地增加一个晶振。RTL8376和RTL8218使用不同的时钟源,SerDes不排除会丢包。
在这里插入图片描述
19、20、66、73引脚都没啥用,但是19、20、66引脚上拉,73引脚下拉。

80引脚是NC,不接。

电源引脚:

  1. DVDDIO、SVDDH、AVDDH这些信号是3.3V的。
  2. DVDDL、SVDDL、AVDDL、PLLVDDL这些信号是1.1V的。
  3. 最好供电都超过3A以上(因为还要考虑RTL8218B和RTL8231,以及降额),我用的是6A。
  4. 最好都用磁珠+电容滤波。

Stage1.1.3:RTL8231-GR的设计

RTL8231-GR是用来驱动网口的灯的。这个芯片很坑,它是扫描各个端口的,大概是为了节约引脚数,但是连线时候就稍微麻烦一些,而且引脚命名有点不好理解,容易搞错,我就搞错了一回。那么它必然需要由RTL8376通过MDIO来控制。
在这里插入图片描述
参照这个图来设计。
RESET这个引脚使用RTL8376一样的复位源。
14、15引脚用1K电阻拉到地。

2号引脚用249电阻接地,同时并联1nF电容。手册上写得很清楚。

17和18引脚是MDIO引脚,同RTL8218B一样,接到RTL8376上。

5、6、7、8、9、10、11、12这些用不到,悬空处理即可。

现在我们在RTL8231芯片上得到了如下信号:

  1. STA_P0~STA_P15共计16个信号;
  2. Bicolor_A共计1个信号;
  3. Port_0_5_Scan、Port_6_11_Scan、Port_12_17_Scan共计3个信号;
  4. SSTA_A、SSTA_B、SSTA_C、SSTA_D、SSTA_E、SSTA_F共计6个信号。

根据实测效果,EEPROM中的代码,支持这样一种模式的接口:
接口上具有2个LED,其中之1:当网络接通时,会亮起,通信时会闪烁,我们约定这个灯叫LINK灯;其中之2:亮起时表示1000M,熄灭表示10M或者100M,我们约定这个灯叫SPD灯。在这样的前提下,需要按照如下方式接线(重要提示:端口编号:RTL8376上的MDI端口0至7分别为全局端口的0至7,RTL8218B的MDI端口0至端口7分别为全局端口的8至15):

  1. 对于SPD二极管的负极,端口0至端口11,都使用使用Bicolor_A引脚连接。 端口12至端口15,使用Port_12_17_Scan连接。
  2. 对于SPD二极管的正极,按照端口0至端口15,用对应的STA_P0至STA_P15连接。
  3. 对于LINK二极管的负极,端口0至端口5,都使用Port_0_5_Scan连接。端口6至端口11,使用Port_6_11_Scan连接。端口12至端口15用Port_12_17_Scan连接。
  4. 对于LINK二极管的正极,端口0至端口15,循环使用SSTA_A、SSTA_B、SSTA_C、SSTA_D、SSTA_E、SSTA_F这6个信号连接。所谓循环,举例:0、6、12端口用SSTA_A,1、7、13使用SSTA_B,以此类推。
  5. 由于二极管是扫描驱动的,因此串电阻不要太大,否则会不够亮。我用的是100欧姆电阻。

Stage1.1 :PCB设计

  1. 阻抗控制。差分线阻抗控制到100。
  2. RTL8376和RTL8218工作时发热厉害,需要散热片,因此需要考虑留出空间。

Stage2 : 调试

Stage3 : 挖坑与填坑

注意以下几点:

  1. 24LC128这个EEPROM需要事先烧录。需要去某宝买个24系列下载器。烧录之后才能焊接。(需要固件请留言)
  2. 我看到立创商城有RTL8218D,想都没想直接买回来焊接上,结果不通。查手册发现8218D和8218B有很大不同,具体不细说,一定使用8218B。
  3. 速度显示二极管的负极,我错误地都接了Bicolor_A,导致端口12至15工作不正常。端口12至15的速度灯的负极要用Port_12_17_Scan连接。
  4. RTL8376和RTL8218一定要加散热片,否则工作时间一长,功能会异常。
第2层管理的5 + 2- 端口 10/100/1000开关控制器 RTL8367RB是一款LQFP128 EPAD,高性能5 + 2 端口 千兆 以太网 交换机 。 RTL8367RB具有支持1000Base-T,100Base-T和10Base-T的低功耗集成5 端口 Giga-PHY。 对于特定应用,RTL8367RB支持两个额外的接口,可以将其配置为RGMII / MII接口。 RTL8367RB集成了高速... RTL8382L-VB-CG可以做8+2光, 16 电+2光,24电+2光或者24电+4光 交换机 主板基本特性 符合以下网络协议标准:IEEE 802.3、IEEE 802.3u、IEEE802.3ab、IEEE802.3x、IEEE802.3az; 端口 数:24个10/100/1000M自适应RJ45 端口 ,支持 端口 自动翻转(Auto MDI/MDIX); 支持以下三种网络介质:10Base-T:3类... uboot版本:1.1.4 现在uboot的网络功能调通了,采用的是mac to mac的方式,并且是 千兆 全双工的;现在要开始调试kernel的网络了,因为kernel的网络都是走的框架,但是ast1520代码的看了下,都是自己写的驱动框架,貌似没有看到mac to mac模式的兼容,那么就先对比日志开始吧。 对比日志好像看不出啥太大区别,那么只能跟踪一下原来的流程了,由ftgmac100_init()开始 大概就是获取m 本文分享一下 16 交换机 的芯片方案-RTL83 16 E,纯 硬件 ,无需EEPROM及单片机配置,这个方案是经过打板验证过的。 先前需要用的 16 口百兆 交换机 芯片,移植到我的板子上面。因此也拆了数个 交换机 产品,最终选定了REALTEK的RTL83 16 E芯片,LQFP128封装。 RTL83 16 E是物理层 16 端口 10 / 100M开关控制器,集成 16 MAC和 16 个物理层收发器,用于100Base-TX和10... 16 -port 10/100/1000 Mbps integrated switch controller via 1.25G SerDes/SGMII/fiber • Embedded 256 KB on-chip packet buffer • One 10/100/1000 Mbps In-band Management Port (IMP) with GMII/RGMII/RvMII/MII interface for PHY-less connection to a CPU/management entity (for management purposes only) • Integrated address management • Supports up to 4K MAC addresses • Supports jumbo frames up to 9728 bytes. • Supports EEPROM for low-cost chip configuration • Integrated Motorola® SPI-compatible interface • Supports port mirroring • Port-based VLAN and 4K IEEE 802.1Q tag VLAN • Port-, DiffServ-, MAC-, and IEEE 802.1p-based QoS for four queues • Supports Spanning Tree, Rapid Spanning Tree, and Multiple Spanning Tree protocols (802.1D/1s/1w) • Supports IEEE Standard 802.1X port security • Supports pseudo-PHY MDIO access • MAC-based trunking with link fail-over • Ethernet-in-the-last-mile (EFM) support: OAM and • Low-power (2.2W total) 1.2V core/2.5V (SGMII I/ O)/3.3V (GMII/MII/RvMII) and 2.5V RGMII operation with 3.3V I/O tolerance • 256-pin FBGA package IC 设计 厂商瑞昱半导体于近日发布其低功耗高整合度的6 端口 超高速以太网络交换器单芯片(6 port Single-Chip Gigabit Ethernet Switch Controller)——RTL8366S/RTL8366SR,该芯片整合了5个低功耗的超高速以太网络收发器,6个超高速以太网络媒体存取控制器(MAC),高速交换器引擎(switch Engine),高性能数字信号处理器(DSP)与Layer 2/Layer 4网络协议处理器(protocol parser),其中RTL8366S以其小尺寸封装的特性,适合无 网管 或支持 网管 的中小企业网络交换器应用,RTL8366SR支持弹性的C 产品名称:Realtek系列RTL8382L 千兆 交换机 主板方案 设计 选型参考 设计 交换机 时候,确定了具体的芯片方案厂家以后,主要考虑以下几个方面: 接口的情况:是要多少网口及其它延伸接口,采用什么封装形式; 网口的带宽:是 千兆 还是百兆,或万兆; 协议情况:管理型还是傻瓜式; POE供电:是否需要通过网口给设备供电; 供电处理:内置电源模块还是外接供电,供电电压和电流要求; 针对工业应用领域,有专门的工业级方案。 设计 的时候,需要根据具体的结构来实施布局走线,需要综合考虑,确保数据传输效率高运行稳! 结合Rea