RTL8211FSI PHY电路设计

文章目录

硬件设计

引脚

笔者前代数字采集板采用的 PHY 芯片是博通 Boardcom 的 B50610,其仅支持 0 ∼ 7 0 ∘ C 0\sim70^\circ C 0∼70∘C 的工作温度,不符合预期的工作环境温度范围,且没有可直接替换的低温版本。因此在新一版采集板设计中须更换 PHY 芯片,拟采用瑞昱 Realtek 的 RTL8211FS,其工业版本 FSI 版本的可支持 − 4 0 ∘ C -40^\circ C −40∘C 的低温工作环境。首先做一个小的测试板,验证其电路及功能是否可行,本文即对此进行一个工作记录。

RTL8211FSI 的接口如下图

  • RGMII 接口

    • TX:TXC (I),TXD3:0 (I),TXCTL (I);
    • RX:RXC (O),RXD3:0 (O),RXCTL (O);
    • RXDLY,RX Delay,上拉(接 4.9 k Ω 4.9k\Omega 4.9kΩ 到 DVDD_RG)时,在 RXC 到 RXD 增加 2ns 的延迟;下拉时接 4.9 k Ω 4.9k\Omega 4.9kΩ 到 GND;
    • TXDLY 没有引脚进行配置,但可以通过 Page 0xd08, Reg17, Bit[8] 进行设置。
  • SMI 接口

    • MDC (I)
    • MDIO (IO),引脚接 1.5 k Ω 1.5k\Omega 1.5kΩ 上拉
  • SerDes 接口 (不使用,设计中直接悬空即可)

    • HSIP,HSIN,HSOP,HSON,HSOP_CLK,HSON_CLK
  • MDI 接口 (不多介绍,连接 RJ45 水晶头)

    • MDIP/MDIN[3:0] (IO)
  • CLK

    • XTAL_IN,I,25M 时钟输入,若有外部时钟驱动 XTAL_OUT/EXT_CLK 脚,则本引脚应接地;
    • XTAL_OUT/EXT_CLK,O,25M 时钟输出;若使用外部时钟,本引脚接晶振输出端;
    • CLKOUT,O,芯片内部 PLL 产生的时钟,若此时钟未被使用,应浮空;在 1000BASE 和 100BASE 时输出 125M/25M,用以支持同步以太网(作为主机,由内部 PLL 输出,作为从机,从 MDI 恢复出时钟),可通过 PHYCR2 (Page 0xa43, Addr 0x19)寄存器进行配置;
    • PTP_CLK,对于 RTL8211FS(I)-VS 版本,33 脚为 PTP_CLK/PTP_GPIO0,PTP_CLK 为外部参考时钟,PTP 为精确时间协议 Precision Time Protocol,不使用应浮空;RTL8211FS(I) 版本下 33 脚则为 NC,浮空。
  • Hard Reset

    PHYRSTB,即 Reset_n 引脚,硬复位,复位至少要保持 10ms 低电平

  • PHYADDR

    PHYAD[2:0],上电/硬复位后检测其引脚电平,决定 PHYADDR 的地址。

  • PWR

    • AVDD33,模拟 3.3V 供电;
    • AVDD10,模拟 1.0V 供电;
    • DVDD10,数字核心 1.0V 供电;
    • DVDD33,数字(非 RGMII IO)的 3.3V 供电;
    • DVDD_RG,RGMII IO 电平,注意和 CFG_LDO[1:0] 的设置相匹配;注意,当 CFG_LDO[1:0]=00 时,IO Pad 由连接到 DVDD_RG 的 3.3V 供电,其他情况下则由内部 LDO 供电;
    • VDD_REG,内部调节器的 3.3V 供电;
    • REG_OUT,内部调节器的 1.0V 输出,由于实际是个 DCDC 开关电源,因此要串接 2.2 μ H 2.2\mu H 2.2μH 电感;应仅供应 AVDD10 和 DVDD10;
    • RSET,接 2.49 k Ω ( 1 % ) 2.49k\Omega\ (1\%) 2.49kΩ (1%) 到 GND
  • CFG 端口

    • CFG_LDO[1:0],设置 RGMII IO 的电平,00: 3.3V,01: 2.5V,10: 1.8V,11: 1.5V;
    • CFG_MODE[2:0],设置操作模式(网线类型 <-> 协议类型),000 对应 UTP <-> RGMII。
  • INTB/PMEB/GPIO1

    该引脚的功能可以配置为中断 INTB 或电源管理 PMEB 功能,RTL8211FS(I)-VS 版本下,则还可作为 PTP_GPIO1;作为 PMEB 功能时,应接 4.7 k Ω 4.7k\Omega 4.7kΩ 到 3.3V;不使用时应浮空。

  • LED

    LED[2:0] 默认分别表示 1000BASE、100BASE、10BASE,通过寄存器配置的介绍见后文

    不过注意下 LED2、LED1 引脚的极性,LED2 应当采用共阴接法,LED1 则采用共阳接法。

功能框图

说明

PHYADDR

PHYADDR[4:3]='b00,PHYADDR[2:0]=PHYAD[2:0],由上电时 PHYAD[2:0] 引脚的上下拉状态决定,拥有 0x00 到 0x07 共 8 个可用地址。

注意,RTL8211FS 默认将地址 0x00 视为广播地址,所有 RTL8211FS 都会响应,可通过配置 PHYCR1 (Page 0xa43, Reg24 (0x18), Bit13 = 0) 来禁用广播功能。 如 PHYAD[2:0]='b000,RTL8211FS 默认会自动记住第一个非零地址,可以通过配置 PHYCR1, Bit6 = 1 来启用该功能。

因此,在设计中最好避开 0x00 这个地址,免去不必要的麻烦。

Page

RTL8211FS 寄存器较多,因此除 RegAddr 外,还有不同的 Page。一个确切的寄存器声明如下:PAGE 0x0XXX, REG 0xXX, BIT[M:N]。

Page 可通过对 PAGSR(Page 0xa43, Reg 31 (0x1F), bit[11:0]) 寄存器进行配置。配置 Reg 31 值为 0x0000 或 0x0a42 将切换回 IEEE 标准寄存器。(略有疑问,PAGSR 寄存器应该是在 Page Any, Reg 31 都可以访问,而不仅在 Page 0xa43;后经过上板验证发现确实如此

LED 模式

控制 LED 的官方参考设计如下(左,共阳接法;右,共阴接法)

RTL8211FS 的 LED 控制没有太花哨的功能,基本就是每个 LED 管脚对应一个速度。LCR (Page 0xD04, Reg 0x10) 寄存器用于配置 LED 的工作模式,以 LED2 管脚的默认值为例,LED2_ACT、LED2_LINK_1000 为 1,因此在连接 1000BASE 时,LED2 会亮起,当处于 1000BASE 活动状态时,则 LED2 闪烁。(这个默认配置就挺好用的,不需要再另行配置了,将 LED2/LED1 管脚接到 RJ45 的两个灯就可以了;注意极性)

自动协商/速度/全半双工模式

BMCR (Page 0x0, Reg 0), Bit 12 为自动协商使能,默认为 1 (on)。

当关闭自动协商时,BMCR Bit 6、Bit 13 决定本 PHY 芯片工作在何种速度,{Bit6, Bit13} = 10: 1000BASE,01: 100BASE,00: 10BASE。BMCR Bit 8 决定全双工/半双工模式,仅在关闭自动协商时起作用。

PHYSR (Page 0xa43, Reg 0x1A) 寄存器可以查看连接状态,Bit 2 指示是否连接,Bit5:4 指示速度,Bit 3 指示全半双工模式。

Soft Reset

Page 0x0, Reg 0, Bit 15 设为 1 将触发软复位,复位后自动清零。

上电顺序

RTL8211FS 上电顺序如图

3.3V 供电的上升时间应大于 0.5ms,否则可能永久损坏内部电压调节器。

原理图设计参考

软件控制(FPGA)

(暂略)

硬件调试

打板回来后进行了测试,然而发现只能自动协商到 100BASE,进一步测试发现,十兆和百兆均可以正常建立连接,而千兆会协商失败,从而自动降速到了百兆。进一步通过 MDIO 关闭自协商,并强制规定到千兆,电脑就无法识别到这个设备了,读取 PHYSR (Page 0xa43,Reg 0x1A)寄存器,也发现 bit2=0 (Link not OK)。测量 3.3V 供电、 1.0V 核压以及 25M 晶振输出,均正常,其中 1.0V 输出有 70mV 纹波。

(咳,本菜鸟画的第一块 PCB,各种修正方案都尝试了一遍,但还是无法解决千兆连接的问题,是否有大佬可以指点一二,万分感激)

相关推荐
上理考研周导师8 分钟前
第二章 虚拟仪器及其构成原理
fpga开发
FPGA技术实战2 小时前
《探索Zynq MPSoC》学习笔记(二)
fpga开发·mpsoc
bigbig猩猩12 小时前
FPGA(现场可编程门阵列)的时序分析
fpga开发
Terasic友晶科技17 小时前
第2篇 使用Intel FPGA Monitor Program创建基于ARM处理器的汇编或C语言工程<二>
fpga开发·汇编语言和c语言
码农阿豪18 小时前
基于Zynq FPGA对雷龙SD NAND的测试
fpga开发·sd nand·spi nand·spi nand flash·工业级tf卡·嵌入式tf卡
江山如画,佳人北望19 小时前
EDA技术简介
fpga开发
淘晶驰AK19 小时前
电子设计竞赛准备经历分享
嵌入式硬件·fpga开发
最好有梦想~19 小时前
FPGA时序分析和约束学习笔记(4、IO传输模型)
笔记·学习·fpga开发
檀越剑指大厂20 小时前
【基于Zynq FPGA对雷龙SD NAND的测试】
fpga开发
9527华安2 天前
FPGA视频GTH 8b/10b编解码转PCIE3.0传输,基于XDMA中断架构,提供工程源码和技术支持
fpga开发·音视频·pcie·gth·xdma·pcie3.0