ALPHA开发板上PHY网络芯片LAN8720:常用的几个寄存器功能

发布于:2024-04-05 ⋅ 阅读:(183) ⋅ 点赞:(0)

一.  简介

正点原子的开发板 ALPHA开发板,有线网络硬件方案所使用的也是最常用的一种方案,IMX6ULL芯片内部是自带 MAC网络芯片的,所以,也就是采用 "SOC内部集成网络MAC外设+ PHY网络芯片方案"。

前面一篇文章简单了解了(ALPHA开发板上的) PHY网络芯片 的特性,PHY地址,工作模式等,文章如下:

ALPHA开发板上PHY网络芯片LAN8720-CSDN博客

本文简单了解一下LAN8720网络芯片的几个常用的寄存器。

二.  ALPHA开发板上PHY网络芯片LAN8720:常用的几个寄存器

1.  BCR控制寄存器

LAN8720A 的前 16 个寄存器满足 IEEE 的要求,在这里我们只介绍几个常用的寄存器,首先是 BCR(Basic Control Rgsister)寄存器,地址为 0BCR 寄存器各位如下表所示。

描述
类型

15

软件复位

1:软件复位,此位自动清零

R/W

14

回测

0:正常运行

1:使能回测模式

R/W

13

 速度选择

0:10Mbps

1:100Mbps

注意:当使用自动协商功能时此位失能

 R/W 

 12  

 自动协商功能

0:关闭自动协商功能

1:打开自动协商功能


 

 R/W 

 11  

 掉电(power down)

0:正常运行

1:进入掉电模式

注意:进入掉电模式前自动协商必须失能


 

 R/W 

 10  

 隔离

0:正常运行

1:PHY 的 RMII 接口电气隔离


 

 R/W 

 9  

 重启自动协商功能

0:正常运行

1:重启自动协商功能

注意:此位会被自动清零  

 R/W

SC 

 8  

 双工模式

0:半双工

1:全双工

注意:开启自动协商功能后此位失效


 

 R/W 

 7:0  

 保留


 

 RO 

我们说的配置 PHY 芯片,重点就是配置 BCR 寄存器,由于 LAN8720A 是个 10/100M 的 PHY ,因此,上面的表 中没有体现出 1000M 相关的配置。但是 10/100M 相关的配置是和 IEEE 的规定完全相符的,大家可以选择一个其他的 10/100M PHY 芯片对比看一下,比如 NXP EVK 开发板使用的 KSZ8081

2.  BSR状态寄存器

接下来看一下 BSR(Basic Status Register) 寄存器,地址为 1 。此寄存器为 PHY 的状态寄存器,通过此寄存器可以获取到 PHY 芯片的工作状态, BSR 寄存器各位如表 69.2.2.4 所示:
描述
类型
15
100BAST-T4
0 :不支持 T4
1 :支持 T4
RO
14
100BAST-TX 全双工
0 :不支持 TX 全双工
1 :支持 TX 全双工
RO
13
100BAST-TX 半双工
0 :不支持 TX 半双工
1 :支持 TX 半双工个
RO
12
10BAST-T 全双工
0 :不支持 10Mbps 全双工
1 :支持 10Mbps 全双工
RO
11
10BAST-T 半双工
0 :不支持 10Mbps 半双工
1 :支持 10Mbps 半双工
RO
10:6
保留 RO
5
自协商功能完成
0 :自动协商未完成
1 :自动协商完成
RO
4
远端错误
0 :无远端错误
1 :检测到远端错误
RO/HL
3
自协商功能
0 :不能执行自协商功能
1 :可以执行自协商功能
RO
2
连接状态
0 :连接断开
1 :连接建立
RO/LL
1
Jabber 检测
0 :未检测到 jabber
1 :检测到 jabber
RO/LH
0
扩展功能
0 :不支持扩展寄存器
1 :支持扩展寄存器
RO

上表中可以看出,和 IEEE 标准规定相比, LAN8720A BSR 寄存器少了几个位, 这个没关系的,不管什么 PHY 芯片,只要它实现了的位和 IEEE 规定相符就行。通过读取 BSR 寄存器的值,我们可以得到当前的连接速度、双工状态和连接状态等。

3.  PHY地址寄存器

接下来看一下 LAN8720A PHY ID 寄存器 1 ID 寄存器 2 ,地址为 2 3 ,后面就成为寄存器 2 和寄存器 3 。这两个寄存器都是 PHY ID 寄存器。
IEEE 规定寄存器 2 和寄存器 3 PHY ID 寄存器,这两个寄存器组成一个 32 位的唯一 ID 值。
IEEE 规定了一叫做 OUI ID 组成方式,全称是 Organizationally Unique Identifier OUI 一共 32 位,分为三部分: 22 位的 ID+6 位厂商型号 ID+4 位厂商版本 ID 。组成如图 69.2.2.5 所示:
LAN8720A ID 寄存器 2 如下表 所示:
ID 寄存器 3 如下表 所示:

4.  LAN8720A 的特殊控制/状态寄存器

最后来看一下 LAN8720A 的特殊控制 / 状态寄存器,此寄存器地址为 31 ,寄存器内容是 LAN8720A 厂商自定义的,此寄存器的各个位如表 69.2.2.7 所示 :
描述
类型
15:13
保留
RO
12
自协商完成
0 :自协商未完成或者自协商关闭
1 :自协商完成
RO
11:5
 
保留
R/W
4:2
速度指示
001 10BASE-T 半双工
101 10BAST-T 全双工
010 100BAST-TX 半双工
110 100BAST-TX 全双工
RO
1:0
保留
RO

特殊控制 / 状态寄存器中我们关心的是 bit2~bit4 这三位,因为通过这 3 位来确定连接的状态和速度,关于 LAN8720A 这个 PHY 就讲解到这里。


网站公告

今日签到

点亮在社区的每一天
去签到