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

一.  简介

正点原子的开发板 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 就讲解到这里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/505302.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【python从入门到精通】-- 第三战:输入输出 运算符

🌈 个人主页:白子寰 🔥 分类专栏:python从入门到精通,魔法指针,进阶C,C语言,C语言题集,C语言实现游戏👈 希望得到您的订阅和支持~ 💡 坚持创作博文…

Android动画(一):视图动画

文章概览 1 Android动画概述1.1 动画的分类1.2 视图动画与属性动画的区别 2 视图动画View Animation2.1 补间动画Tween Animation2.1.1 XML中用标签实现补间动画2.1.2 代码实现补间动画 2.2 逐帧动画Frame Animation2.2.1 XML实现逐帧动画2.2.2 代码实现逐帧动画 本系列将介绍以…

MySQL 之 数据库操作 及 表操作

🎉欢迎大家观看AUGENSTERN_dc的文章(o゜▽゜)o☆✨✨ 🎉感谢各位读者在百忙之中抽出时间来垂阅我的文章,我会尽我所能向的大家分享我的知识和经验📖 🎉希望我们在一篇篇的文章中能够共同进步!!&…

(一)kafka实战——kafka源码编译启动

前言 本节内容是关于kafka消息中间键的源码编译,并通过idea工具实现kafka服务器的启动,使用的kafka源码版本是3.6.1,由于kafka源码是通过gradle编译的,以及服务器是通过scala语言实现,我们要预先安装好gradle编译工具…

了解XSS和CSRF攻击与防御

什么是XSS攻击 XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的网络安全漏洞,它允许攻击者在受害者的浏览器上执行恶意脚本。这种攻击通常发生在 web 应用程序中,攻击者通过注入恶意脚本来利用用户对网站的信任&…

springboot论坛管理系统

论坛管理系统 摘要: 在社会快速发展的影响下,论坛管理系统继续发展,使论坛管理系统的管理和运营比过去十年更加信息化。依照这一现实为基础,设计一个快捷而又方便的网上论坛管理系统是一项十分重要并且有价值的事情。对于传统的论…

Linux简单命令

Linux简单命令 本文是自己学习过程中的一些记录,对于熟悉的部分并未全部列出,仅供参考 内核架构图 一切皆是文件 常用的linux命令 用户的管理 修改密码:passwd 创建一个新用户:useradd 用户名给新用户设置密码:…

【Linux】详解文件系统以及周边知识

一、磁盘的基本知识 磁盘中可以被划分成一个一个的环,每个环都是一个磁道。每个磁道又可以被均分成一个一个的扇区,扇区是磁盘IO的基本单位(想要修改扇区中的一个比特位就必须把该扇区的全部比特位都加载到内存中)。磁盘中的盘面&…

C++入门(函数重载、缺省参数、引用)

目录 函数重载函数重载的概念函数重载的原理----名字的修饰 缺省参数缺省参数的分类 引用引用的特征使用场景 函数重载 函数重载的概念 在自然语言中,相同的一个词可能有多重含义,人们可以通过上下文来判断这个词的具体意思,在C中也存在这种…

虚函数和纯虚函数

虚函数 被virtual修饰的成员函数称为虚函数 定义一个函数为虚函数&#xff0c;是为了使用基类指针调用子类函数。虚函数&#xff0c;不代表函数不被实现。只有纯虚函数才不被实现&#xff0c;纯虚函数定义了一个接口&#xff0c;起到规范的作用。 #include <iostream>…

快讯!TiDB v8 发版!超硬核 v8 引擎!

TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库&#xff0c;是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品。 具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数…

初识C++ · 入门(2)

目录 1 引用 1.1引用的概念 1.2 引用的特性 2 传值&#xff0c;传引用的效率 3 引用和指针的区别 4 内联函数 4.1 内联函数的定义 4. 2 内联函数的特性 5 关键字auto 5.1关于命名的思考 5.2 关于auto的发展 5.3 auto使用规则 6 范围for的使用 7 空指针 1 引用 …

瑞吉外卖实战学习--9、mybatisPlus公共字段自动填充

mybatisPlus公共字段自动填充 前言实现步骤实体类添加注解按照框架要求编写元数据对象处理器&#xff0c;在此类中统一为公共字段赋值&#xff0c;此类需要实现MetaObjectHandler接口1、在创建和更新的时候修改创建和更新的时候自动填充时间2、如何获取到当前的id 测试结果 前言…

【MySQL】内外连接——内连接、外连接、左外连接、右外连接、内外连接的区别、左外连接和右外连接的区别

文章目录 MySQLMySQL表的内连接和外连接1. 内连接2. 外连接2.1 左外连接2.2 右外连接 3. 内外连接的区别4. 左外连接和右外连接的区别 MySQL MySQL表的内连接和外连接 MySQL 中的内连接&#xff08;INNER JOIN&#xff09;和外连接&#xff08;包括左外连接 LEFT JOIN 和右外连…

腾讯2024实习生在线笔试-0331

Q1 小红的图上染色 小红拿到了一个无向图&#xff0c;其中一些边被染成了红色。 小红定义一个点是“好点”&#xff0c;当且仅当这个点的所有邻边都是红边。 现在请你求出这个无向图“好点”的数量。 注&#xff1a;如果一个节点没有任何邻边&#xff0c;那么它也是好点。 …

【Web】NSSCTF Round#20 Basic 个人wp

目录 前言 真亦假&#xff0c;假亦真 CSDN_To_PDF V1.2 前言 感谢17&#x1f474;没让我爆零 真亦假&#xff0c;假亦真 直接getshell不行&#xff0c;那就一波信息搜集呗&#xff0c;先开dirsearch扫一下 扫的过程中先试试常规的robots.txt,www.zip,shell.phps,.git,.sv…

类的新功能

类的新功能 默认成员函数 在C11之前&#xff0c;一个类中有如下六个默认成员函数&#xff1a; 构造函数。拷贝构造函数赋值重载析构函数取地址重载函数const取地址函数 其中前四个默认成员函数最重要&#xff0c;后面两个默认成员函数一般不会用到&#xff0c;这里默认成员…

[MSSQL]理解SQL Server AlwaysOn AG的备份

AG提供了以下几种备份策略 下面来看看各项的解释 Prefer Secondary(首选辅助副本) 应在辅助副本上执行此可用性组的自动备份。如果没有可用的辅助副本,将在主副本上执行备份。 这个选项只是概念上的选项。基本上,用户可以从任何复制节点上执行备份命令。 我们可以在主副本…

《计时器》是谁演唱的?

是李亚云演唱的。李亚云&#xff0c;湖南省中峰富盛控股集团有限责任公司旗下全签艺人 &#xff0c;就读于南昌航空大学本科表演专业&#xff0c;&#xff0c;一个拥有“模特、练习生、爱豆和演员”多重身份的艺人&#xff0c;2003年3月10日出生于湖南长沙&#xff0c;7岁童星出…

设计模式深度解析:AI如何影响装饰器模式与组合模式的选择与应用

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL应用》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 AI如何影响装饰器模式与组合模式的选择与应用 在今天这个快速发展的技术时代&#…