STM32的以太网外设+PHY(LAN8720)使用详解(3):PHY寄存器详解

news2025/2/3 7:05:48

0 工具准备

1.野火 stm32f407霸天虎开发板
2.LAN8720数据手册
3.STM32F4xx中文参考手册

1 PHY寄存器

前面介绍到,站管理接口(SMI)允许应用程序通过2线时钟和数据线访问任意PHY寄存器,同时该接口支持访问最多32个PHY,也就是说PHY地址共有5位。
应用程序可以从32个PHY中选择一个PHY,然后从任意PHY包含的32个寄存器中选择一个寄存器,发送控制数据或接收状态信息。任意给定时间内只能对一个PHY的一个寄存器进行寻址。
IEEE802.3定义了地址0-15这16个寄存器的功能,所有的PHY地址0-15寄存器bit的定义应当符合该标准,地址16-31的寄存器由芯片厂商自行定义。
在这里插入图片描述
对于LAN8720来说,PHY一共包含14个寄存器,定义如下:
在这里插入图片描述

1.1 IEEE802.3标准寄存器

1.1.1 Basic Control Register(地址0基本控制寄存器)

在这里插入图片描述
这里用的最多的就是bit15,软件复位。

1.1.2 Basic Control Register(地址1基本状态寄存器)

在这里插入图片描述
bit2非常有用,用来判断网卡是否建立了有效连接。

1.1.3 PHY Identifier 1 Register(地址2 PHY ID 1寄存器)

在这里插入图片描述
默认值为0x0007。

1.1.4 PHY Identifier 2 Register(地址3 PHY ID 2寄存器)

在这里插入图片描述
可以和PHY ID 1寄存器组合用来区分PHY型号。

1.1.5 Auto Negotiation Advertisement Register(地址4自动协商的能力通告寄存器)

在这里插入图片描述

1.1.6 Auto Negotiation Link Partner Ability Register(地址5自协商对端能力寄存器)

在这里插入图片描述

1.1.7 Auto Negotiation Expansion Register(地址6自动协商扩展寄存器)

在这里插入图片描述

1.2 LAN8720自定义寄存器

1.2.1 Mode Control/Status Register(地址17模式控制/状态寄存器)

在这里插入图片描述

1.2.2 Special Modes Register(地址18特殊模式寄存器)

在这里插入图片描述

1.2.3 Symbol Error Counter Register(地址26错误标志计数器寄存器)

在这里插入图片描述

1.2.4 Special Control/Status Indications Register(地址27特殊控制/状态指示寄存器)

在这里插入图片描述

1.2.5 Interrupt Source Flag Register(地址29中断来源标志寄存器)

在这里插入图片描述

1.2.6 Interrupt Mask Register(地址30中断屏蔽寄存器)

在这里插入图片描述

1.2.7 PHY Special Control/Status Register(地址31PHY特殊控制/状态寄存器)

在这里插入图片描述

2 总结

(1)LAN8720一共有14个寄存器,包括7个IEE802.3标准寄存器和7个厂家自定义寄存器。
(2)中断输出引脚通常都被用于50MHz时钟输出,因此不必关注有关中断的寄存器。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个基于多接口的业务自动化测试框架!

这是一个成熟的框架,不是要让别人当小白鼠,它已经先后在两家公司的5条业务线进行了推广应用,用例条数到了几千条以上,并且从2018年开始每天都在CI/CD流程中被调用执行。 已有那么多接口测试框架,为什么重复造轮子&…

在芯片设计端,从事DFT岗位是什么体验?

从1975年PHILIPS公司实验中心首次提出“可测性设计”概念至今,DFT已经伴随着芯片走过了半个世纪。 但DFT在数字IC设计岗位中还是显得很神秘很低调。 你说他重要吧,并不是所有芯片设计公司都有这个岗位,你说他不重要吧,但凡芯片产…

数据结构 | 北京大学期末试卷查漏补缺

目录 顺序存储 优点 缺点 适用于: 链式存储 优点 缺点 适用于: 折半查找为什么要使用顺序存储结构 树的存储结构​编辑 对于一个数据结构,一般包括 DFS&BFS 什么是递归程序 C语言不带头结点的单链表逆置 检测字符…

【CMake保姆级教程】制作动静态链接库、指定动静态库输出路径

文章目录 前言一、动静态链接库的介绍1.1 动态链接库 (DLL)1.2 静态链接库 (LIB) 二、制作静态库三、制作动态库四、指定动静态库输出路径4.1 方式1 - 适用于动态库4.2 方式2 - 都适用 总结 前言 在软件开发中,我们经常听到动态链接库(Dynamic Link Lib…

c语言易错题之数据类型变换

1.题目 #include<stdio.h> int main() {int arr[]{1,2,3,4,5};short*p (short*)arr;int i 0;for(i0;i<4;i){*(pi)0;}for(i0;i<5;i){printf("%d ",arr[i];}return 0; }2.解析 这道题主要容易错在&#xff0c;大家会以为通过指针赋值的时候&#xff0c;…

基于springboot的日记本系统源码+数据库+安装使用说明

之前写的SpringBoot日记本系统备受好评&#xff0c;考虑到还是有很多小伙伴不会部署&#xff0c;所以这一篇文章就单独来讲一下部署步骤吧。 需要资源 idea&#xff08;破不破解都行&#xff09; MySQL&#xff08;最好5.7以上版本&#xff0c;最好8.0&#xff09; Navicat…

SpringBoot Elasticsearch全文搜索

文章目录 概念全文搜索相关技术Elasticsearch概念近实时索引类型文档分片(Shard)和副本(Replica) 下载启用SpringBoot整合引入依赖创建文档类创建资源库测试文件初始化数据创建控制器 问题参考 概念 全文搜索&#xff08;检索&#xff09;&#xff0c;工作原理&#xff1a;计算…

Node.js-模块化(二)

1. 模块化的基本概念 1.1 什么是模块化 模块化是指解决一个复杂问题时&#xff0c;自顶向下逐层将系统拆分成若干模块的过程。对于整个系统来说&#xff0c;模块是可组合、分解和更换的单元。 1.2 编程领域中的模块化 编程领域中的模块化&#xff0c;就是遵守固定的规则&…

Spring源码分析 @Autowired 是怎样完成注入的?究竟是byType还是byName亦两者皆有

1. 五种不同场景下 Autowired 的使用 第一种情况 上下文中只有一个同类型的bean 配置类 package org.example.bean;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class FruitCo…

git首次使用--去公司第一次拉取

文章目录 一&#xff0c; 在企业中首次拉取项目二&#xff0c;提交项目1. 提交----新添加的文件2. 将分支上的代码同步到master3. 提交----更改后的文件 三&#xff0c;常见问题1. Git Pull Failed 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一&am…

【组合数学】Pólya 计数理论

目录 1. 引言2. 置换群3. Burnside 引理共轭类k 不动置换类Burnside 引理 4. Plya 计数定理4.1 对点着色问题4.2 对面着色问题4.3 重复球放盒子 1. 引言 Plya 计数理论是数学中的一个分支&#xff0c;主要研究的是对称性在组合计数问题中的应用。该理论以匈牙利数学家乔治波利…

《Python Advanced Programming + Design Patterns + Clean Code》

清洁代码 — 学习如何编写可读、可理解且可维护的代码 高级Python编程知识 Python之常用设计模式 Advanced Programming装饰器 decorators生成器 & 迭代器with 上下文管理器面向对象Mixin 模式反射机制并发编程 Design Patterns设计模式分类简单工厂模式工厂模式 √抽象工厂…

指标体系构建-02-从0开始,梳理数据指标体系

指标体系构建-02-从0开始&#xff0c;梳理数据指标体系 一个例子&#xff0c;看懂并列式指标梳理 并列式指标体系&#xff0c;一般用于&#xff1a;描述个体情况 当我们想从几个不同角度&#xff0c;描述问题的时候&#xff0c;就需要并列关系 举个栗子&#x1f330;&#xf…

安全基础~实战应用

文章目录 HTTP请求头应用X-Forwarded-ForHTTP动作练习(修改请求方式)浏览器信息伪造(修改User-Agent)来源请求伪造(referer应用) 密码的应用SQL注入漏洞测试(前部分)PHP_encrypt_1(ISCCCTF) XShell连接Linxu连接Windows连接 HTTP请求头应用 X-Forwarded-For 原理作用 一般的…

浅谈在线监测系统与配电能效平台在供水水厂的应用

贾丽丽 安科瑞电气股份有限公司 上海嘉定 201800 【摘要】针对自来水厂工艺老化资金有限的问题&#xff0c;设计水厂在线监测系统&#xff0c;采用安科瑞&#xff0c;对原水滤后水、出厂水进行采样分析&#xff0c;并通过基于组态的上位机系统实现水质数据的实时监测。该系统…

深入了解UI标签栏设计细节:你不能错过的要点

UI 标签栏的作用有哪些&#xff1f; 导航是移动 UI 中最常见的组成部分&#xff0c;通常放置在 UI 标签栏上&#xff0c;以帮助我们在不同的页面之间切换。UI 标签栏可以保持界面的可控性&#xff0c;并提高可用性。简而言之&#xff0c;UI 标签栏可以加强交互&#xff0c;让用…

渲染图和效果图的一样吗?渲染图与效果图区别?

在建筑、设计及电影制作等一系列领域&#xff0c;你可能经常听说渲染图和效果图这两个词汇。它们虽然在视觉表现上有许多相似之处&#xff0c;但在实质上却有着极其不同的特性和用途。此文主要探讨提供优质效果图云渲染服务&#xff0c;以及渲染图与效果图之间的区别。 一、 效…

快递收发线上管理教程

前台快递收发几乎是每家公司行政前台的“必修课”&#xff0c;所以网络上制度模板满天飞&#xff0c;但现实中能彻底解决快递收发管理难题的几乎为零&#xff0c;那前台快递收发管理&#xff0c;究竟要如何才能摆脱制度的桎梏&#xff1f; 纵观各种前台快递收发制度范本&#…

Java可变参数(学习推荐版,通俗易懂)

定义 可变参数本质还是一个数组 示例代码 注意事项 1.形参列表中&#xff0c;可变参数只能有一个 2.可变参数必须放在形参列表的最后面 注意是最后面。 name也可以为int类型

Vuex的学习-2

Vuex的核心概念 StateMutationAction 1.State State提供唯一的公共数据源&#xff0c;所有共享的数据都统一放在Store的State中进行存储。 const store new Vuex.Store({state : { count: 0 } }) 这是渲染的页面 组件访问数据的第一种方式 组件访问数据的第二种方式 // 1…