1.概述
LAN8720A/LAN8720Ai是一款具有可变I/O电压的低功耗10BASE-T/100BASE-TX物理层(PHY)收发器,符合IEEE802.3-2005标准。
LAN8720A/LAN8720Ai支持通过标准RMII接口与以太网MAC进行通信。它包含一个全双工10-BASE-T/100BASE-TX收发器,支持10 Mbps (10BASE-T)和100 Mbps (100BASE-TX)工作模式。LAN8720A/LAN8720Ai可实现自动协商以自动确定可能的最佳速度以及双工工作模式。支持HP自动MDIX,可使用直连或交叉网线。
2. 引脚说明及配置
2.1 RMII信号
2.2 LED引脚
2.3 SMI引脚
2.4 以太网引脚
2.5 其他引脚
2.6 电源引脚
3. 功能说明
3.1 MAC接口
该器件支持在以太网收发器和开关ASIC 之间使用的低引脚数精简介质无关接口(Reduced Media Independent Interface,RMII)。根据IEEE 802.3定义,MII由16个数据和控制引脚组成。在集成了多个MAC或收发器接口(例如开 关)的器件中,引脚数会随着端口数的增加而增加,进而导致成本大幅增加。RMII减少了该引脚数,同时保留了与MII 相同的管理接口(MDIO/MDC)
RMII接口具有以下特性:
• 能够支持10 Mbps和100 Mbps数据速率
• 发送和接收使用同一个时钟参考
• 提供独立的2位(双位)宽发送和接收数据路径
• 使用LVCMOS信号电平,与常见的数字CMOS ASIC工艺兼容
RMII包括以下接口信号(1个可选):
• 发送数据——TXD[1:0]
• 发送选通——TXEN
• 接收数据——RXD[1:0]
• 接收错误——RXER(可选)
• 载波侦听——CRS_DV
• 参考时钟——(RMII参考通常将该信号定义为REF_CLK
3.1.1 CRS_DV——载波侦听/接收数据有效
当接收介质处于非空闲状态时,器件会将CRS_DV置为有效。根据工作模式相关标准,在检测到载波时,CRS_DV将 以异步方式置为有效。当在10BASE-T模式下通过静噪时,或者在100BASE-X模式下检测到10位中有2个不连续的零 时,将认为检测到载波。
载波丢失会导致与RXD[1:0]上显示半字节第一个双位的REF_CLK周期同步的CRS_DV置为无效(例如,CRS_DV仅在 半字节边界置为无效)。首次将CRS_DV置为无效后,如果器件还有其他位要显示在RXD[1:0]上,则器件应在显示每 个半字节的第二个双位的REF_CLK 周期将CRS_DV 置为有效,并在显示半字节的第一个双位的REF_CLK 周期将 CRS_DV置为无效。其结果是,从半字节边界开始,当CRS在RXDV之前结束(例如,当载波事件结束时FIFO仍有要 发送的位)时,CRS_DV以25 MHz(100 Mbps模式下)或2.5 MHz(10 Mbps模式下)的频率翻转。因此,MAC能够 精确地恢复RXDV和CRS。
在假载波事件期间,CRS_DV应在载波活动过程中保持有效。在CRS_DV置为有效后,RXD[1:0]上的数据即视为有 效。不过,由于CRS_DV相对于REF_CLK以异步方式置为有效,所以在正确解码接收信号之前,RXD[1:0]上的数据应 一直为00
3.1.2 参考时钟(REF_CLK)
RMII REF_CLK是一个连续的时钟,用于为CRS_DV、RXD[1:0]、TXEN、TXD[1:0]和RXER提供时序参考。器件将 REF_CLK用作网络时钟,因此在发送数据路径上无需缓冲。但是,在接收数据路径上,接收器会从传入的数据流中恢 复时钟,而器件会通过弹性缓冲来适应恢复的时钟与本地REF_CLK之间的差异
3.2 串行管理接口(SMI)
串行管理接口用于控制器件和获取器件状态。该接口支持802.3标准第22条要求的寄存器0到6,以及该规范允许的“供 应商特定”寄存器16到31。不支持的寄存器(例如7到15)将读为十六进制数“FFFF”
在系统层面上,SMI 提供2 个信号:MDIO 和MDC。MDC 信号是站管理控制器(Station Management Controller, SMC)提供的非周期性时钟。MDIO是双向数据SMI输入/输出信号,它从控制器SMC接收串行数据(命令),并向 SMC发送串行数据(状态)。MDC各边沿之间的最短时间为160 ns,没有最长时间。最短周期时间(两个连续上升沿 或两个连续下降沿之间的时间)为400 ns。遵守这些适度的时序要求能够使单片机的I/O端口轻松驱动该接口。
3.3 配置脚
通过配置脚,可将器件的各种功能自动配置为用户定义的值。配置脚在上电复位(Power-On Reset,POR)和引脚复 位(nRST)时锁存。配置脚具有内部电阻,用于防止信号在未连接时悬空。如果特定配置脚与负载相连,则应使用外 部上拉或下拉电阻来增大内部电阻,以确保内部电阻在锁存前达到所需电压。也可通过添加外部电阻来改变内部电阻
3.3.1 PHYAD[0]:PHY地址配置
PHYAD0位被驱动为高电平或低电平,以便为每个PHY提供惟一的地址。该地址在硬件复位结束时锁存到内部寄存器中 (默认值 = 0b)。在多PHY应用(例如中继器)中,控制器可以通过惟一的地址对每个PHY进行管理。每个PHY都会 检查各管理数据帧内相关位中的地址是否匹配。识别到匹配后,PHY会响应该特定帧。PHY地址还用于产生加扰器种 子。在多PHY应用中,这可确保加扰器不同步,并在整个频谱上分散电磁辐射。
可以使用硬件配置将器件的SMI地址配置为值0或1。如果需要大于1的地址,则用户可以使用软件配置来配置PHY地 址。可以使用特殊模式寄存器的PHYAD位写入PHY地址(在某一地址建立SMI通信后)。PHYAD0硬件配置脚与RXER 引脚复用。
3.3.2 MODE[2:0]:模式配置
MODE[2:0]配置脚控制10/100数字模块的配置。当nRST引脚置为无效时,将根据MODE[2:0]配置脚载入寄存器位值。 随后由寄存器位值配置10/100数字模块。通过基本控制寄存器的软复位位触发软复位时,10/100数字模块的配置由寄 存器位值控制,而MODE[2:0]配置脚不起作用。
3.3.3 REGOFF:内部+1.2V稳压器配置
REGOFF引脚用于配置内部+1.2V电压源,LAN8720A 内部需要+1.2V电压,可以通过VDDCR引脚输入+1.2V 电压提供,也可以直接利用 LAN8720A 内部+1.2V 稳压器提供。当REGOFF引脚为低电平时选择内部+1.2V稳压器。REGOFF与 LED1 引脚共用。
由于REGOFF的配置与LED1引脚共享功能,因此还必须适当考虑LED的极性。
3.3.4 NINTSEL:NINT/REFCLKO配置
nINTSEL配置脚用于选择两种可用模式之一:REF_CLK输入模式(nINT)和REF_CLK输出模式。配置的模式将决定 nINT/REFCLKO引脚的功能。nINTSEL配置脚在POR时以及nRST的上升沿锁存。默认情况下,nINTSEL通过内部上 拉电阻配置为nINT模式。
RMII REF_CLK是一个连续的时钟,用于为CRS_DV、RXD[1:0]、TXEN、TXD[1:0]和RXER提供时序参考。器件将 REF_CLK用作网络时钟,因此在发送数据路径上无需缓冲。但是,在接收数据路径上,接收器从传入的数据流中恢复 时钟。器件使用弹性缓冲来适应恢复的时钟与本地REF_CLK之间的差异。
在REF_CLK输入模式下,50 MHz REF_CLK在XTAL1/CLKIN引脚上进行驱动。当配置为REF_CLK输出模式时,器件将产生50 MHz RMII REF_CLK,并且nINT中断不可 用。REF_CLK输出模式允许将低成本的25 MHz晶振用作REF_CLK参考。
3.3.4.1 REF_CLK输入模式
在REF_CLK输入模式下,50 MHz REF_CLK在XTAL1/CLKIN引脚上进行驱动。使用该模式时,必须在器件外部为 REF_CLK提供50 MHz时钟源。该时钟被驱动到MAC和PHY
3.3.4.2 REF_CLK输出模式
为降低BOM成本,该器件配备通过低成本25 MHz基频晶振来生成RMII REF_CLK信号的功能。与通常需要50 MHz的 3次谐波晶振相比,这类晶振价格更低廉。MAC必须支持外部时钟才能使用该功能。 为优化封装尺寸和成本,REFCLKO 引脚与nINT 引脚复用。在REF_CLK 输出模式下,会禁止nINT 功能以适应将 REFCLKO用作MAC的50 MHz时钟。
4. 相关寄存器描述
SMI支持寻址 32 个寄存器,LAN8720A 只用到其中 14 个,具体如下: