一. 简介
正点原子的开发板 ALPHA开发板,有线网络硬件方案所使用的也是最常用的一种方案,IMX6ULL芯片内部是自带 MAC网络芯片的,所以,也就是采用 "SOC内部集成网络MAC外设+ PHY网络芯片方案"。
ALPHA开发板使用的PHY网络芯片是 LAN8720,本文简单了解一下 LAN8720芯片特性与常用的寄存器。
二. ALPHA开发板上PHY网络芯片LAN8720
 
 虽然本文讲解的是  
 LAN8720A  
 这颗  
 PHY 
 网络芯片,但是前面说了, 
 IEEE  
 规定了  
 PHY  
 的前  
 16  
 个  
 寄存器的功能(即所有的 PHY芯片的前16个寄存器的功能必须要保持统一),因此,如果你所使用的板子用的其他厂家的  
 PHY  
 芯片,也是可以看本文。 
 
 
1. LAN8720A 简介
 
 LAN8720A  
 是低功耗的  
 10/100M  
 单以太网  
 PHY  
 层芯片,可应用于机顶盒、网络打印机、嵌入式通信设备、 
 IP  
 电话等领域。 
 
 
 I/O  
 引脚电压符合  
 IEEE802.3-2005  
 标准。 
 LAN8720A  
 支持通  
 过  
 RMII  
 接口与以太网  
 MAC  
 层通信,内置  
 10-BASE-T/100BASE-TX  
 全双工传输模块,支持  
 10Mbps  
 和  
 100Mbps 
 。 
 LAN8720A  
 可以通过自协商的方式选择与目的主机最佳的连接方式 
 ( 
 速度  
 和双工模式 
 ) 
 。支持  
 HP Auto-MDIX  
 自动翻转功能,无需更换网线即可将连接更改为直连或交叉 
 连接。  
 
 
 
 LAN8720A  
 的主要特点如下:  
 
 
 · 高性能的  
 10/100M  
 以太网传输模块  
 
 
 · 支持  
 RMII  
 接口以减少引脚数  
 
 
 · 支持全双工和半双工模式  
 
 
 · 两个状态  
 LED  
 输出 
 
 
 · 可以使用  
 25M  
 晶振以降低成本  
 
 
 · 支持自协商模式  
 
 
 · 支持  
 HP Auto-MDIX  
 自动翻转功能  
 
 
 · 支持  
 SMI  
 串行管理接口  
 
 
 · 支持  
 MAC  
 接口 
 
 
 
 
2. LAN8720A 中断管理
 
 LAN8720A  
 的器件管理接口支持非  
 IEEE 802.3  
 规范的中断功能。当一个中断事件发生并且相应事件的中断位使能, 
 LAN8720A  
 就会在  
 nINT(14  
 脚 
 ) 
 产生一个低电平有效的中断信号。  
 
 
 
 LAN8720A  
 的中断系统提供两种中断模式:主中断模式和复用中断模式。 
 
 
 主中断模式是默认中 
 断模式, 
 LAN8720A  
 上电或复位后就工作在主中断模式,当模式控制 
 / 
 状态寄存器 
 ( 
 十进制地址  
 为  
 17) 
 的  
 ALTINT  
 位为  
 0  
 时,  
 LAN8720A  
 工作在主模式,当  
 ALTINT  
 位为  
 1  
 时,工作在复用中断模  
 式。 
 
 
 
 正点原子的  
 ALPHA  
 开发板虽然讲  
 LAN8720A  
 的中断引脚连接到了  
 I.MX6ULL  
 上,但是并 
 没有使用中断功能,关于中断的具体用法可以参考  
 LAN8720A  
 数据手册的  
 29~30  
 页。  
 
 
 
 
3. PHY 地址设置
 
 MAC  
 层通过  
 MDIO/MDC  
 总线对  
 PHY  
 进行读写操作, 
 MDIO  
 最多可以控制  
 32  
 个  
 PHY  
 芯片,通过不同的  
 PHY  
 芯片地址来对不同的  
 PHY  
 操作。 
 LAN8720A  
 通过设置  
 RXER/PHYAD0  
 引脚来设置其  
 PHY  
 地址,默认情况下为  
 0 
 ,其地址设置如下表所 
 示。  
 
 

 
 正点原子  
 ALPHA  
 开发板的  
 ENET1  
 网络的  
 LAN8720A  
 上的  
 RXER/PHYAD0  
 引脚为默认状态 
 ( 
 网络硬件原理图上有个  
 10K  
 下拉,但是没有焊接 
 ) 
 ,因此,  
 ENET1  
 上的  
 LAN8720A  
 地址为  
 0 
 。 
 
 
 ENET2  
 网络上的  
 LAN8720A  
 上的  
 RXER/PHYAD0  
 引脚接了个  
 10K  
 上拉电阻,因此,  
 ENET2  
 上的  
 LAN8720A  
 地址为  
 1 
 。 
 
 
 
 
4. nINT/REFCLKO 配置
 
 nINTSEL  
 引脚 
 (2  
 号引脚 
 ) 
 用于设置  
 nINT/REFCLKO  
 引脚 
 (14  
 号引脚 
 ) 
 的功能。 
 nINTSEL  
 配置如下表 
   
 所示。 
 
 

对于正点原子的 ALPHA 开发板的两个 LAN8720A 而言,全都工作在默认的 REF_CLK In 模式下。当 LAN8720A 工作在 REF_CLK In 模式时,50MHz 的外部时钟信号应接到 LAN8720 的 XTAL1/CLKIN 引脚(5 号引脚)上,如下图所示:

为了降低成本,LAN8720A 可以从外部的 25MHz 的晶振中产生 REF_CLK 时钟。到要使用此功能时应工作在 REF_CLK Out 模式时。当工作在 REF_CLO Out 模式时 REF_CLK 的时钟源 如下图所示。

 
 前面说了,正点原子的  
 ALPHA  
 开发板工作在  
 REF_CLK In  
 模式下,因此需要外部  
 50MHz  
 时钟信号。 
 
 
 I.MX6ULL  
 有专用的网络时钟引脚,因此,  
 ALPHA  
 开发板是通过  
 I.MX6ULL  
 的 
 ENET1_REF_CLK  
 和  
 ENET2_REF_CLK  
 这两个网络时钟引脚,来为  
 LAN8720A  
 提供  
 50MHz  
 的 
 时钟。  
 
 
 
接下来了解一下 LAN8720芯片(PHY网络芯片)的几个常用的寄存器。



















