【网络 MAC 学习专栏 -- 如何理解 PHY 的 Link Up】


请阅读【嵌入式开发学习必备专栏 Cache | MMU | AMBA BUS | CoreSight | Trace32 | CoreLink | ARM GCC | CSH】


文章目录

  • Overview
    • Clause 22/Clause 45
      • Clause 22
      • Clause 45
    • PHY Link 状态的软件实现

转自: 开心果 Need Car 2022年10月20日 09:50 上海

Overview

PHY 的主要作用是数/模信号转换,功能等同于其他总线的 Transceiver。所以,uC 如果想发送/接收以太网数据,就需要依赖 PHY(确切说是PHY芯片)。如果想让PHY按照预期的状态工作,uC就需要通过接口告诉PHY如何工作,这个接口是指 MAC(Media Access Control)/PHY 接口。

MAC/PHY的接口关系如下所示:
在这里插入图片描述
MAC 通过接口可以访问 PHY的内部寄存器,进而设置 PHY 的工作模式,以此实现 PHY 的 Link UpMAC访问 PHY内部寄存器,主要通过MDC(Management Data Clock)和MDIO(Management Data Input Output)实现。

手册中描述:PHY内部寄存器的访问,通过 SMA(Station Management Agent)。而SMA中的操作信息来自MAC,所以,两种表达,本质是一个意思。

  • MDC 的最大配置时钟频率为 2.5MHz,用于驱动 MDIO。
  • MDIO 是双向控制线,操作MDIO时,需要基于(Clause 22或者Clause 45)。

Clause 22/Clause 45

Clause 22 或者 Clause 45是什么呢?
答: 一种访问PHY内部寄存器的报文协议。既然是协议,就会有格式要求,Clause 22或者Clause 45格式的各个位域如下所示:
在这里插入图片描述
使用 Clause 22 还是 Clause 45,需要配置 MAC_MDIO_ADDRESS 寄存器的C45E位域,默认情况下,使用 Clause 22,如下所示:
在这里插入图片描述

Clause 22

Clause 22 格式 的位域描述如下所示:
在这里插入图片描述
解释:

  • IDLE:空闲状态,此时MDIO没有时钟驱动;
  • PREAMBLE:前导码,由32个连续的"1"构成;
  • START:起始位域,2 Bit = 01B
  • OPCODE:操作码,2 Bit
    • 10B表述读取PHY寄存器操作,
    • 01B表示写PHY寄存器操作;
  • PHY ADDR:要访问的PHY地址,MAC 最多可以访问 32个PHY,编号0~31
  • REG ADDR:PHY 寄存器地址,最多可以访问 32个PHY寄存器,这里表示要访问哪个PHY寄存器;
  • TA:Turn Around,反转位(2 Bit):
    • 当 SMA读PHY寄存器时,在TA第一个Bit之前,由MAC(SMA)控制MDIO,请求目标PHY寄存器的信息;
    • 在TA第一个Bit之后,由PHY控制MDIO,输出对应PHY寄存器中的信息。这也是MDIO双向的原因,操作时序如下所示:
      在这里插入图片描述
  • DATA:PHY寄存器中的数据信息。
    当 MAC 写 PHY 寄存器时,MDIO 完全由 MAC 控制,操作时序如下所示:
    在这里插入图片描述

Clause 45

Clause45与Clause22的格式一样,只是个别位域信息有所不同,如下所示:
在这里插入图片描述
因此,基于Clause 22或者Clause 45协议,完成对PHY内部寄存器的配置,比如:通信速率(100Mbps/1000Mbps)配置、是否全双工、自协商使能与否(auto-negotiation)、指示灯等。PHY配置完成,且配置成功,意味着:Link Up

PHY Link 状态的软件实现

在软件层面,程序初始化或者Reset以后,需要重新初始化PHY,通过读取PHY寄存器的Link位域确定PHY的Link状态。
eg:RTL8211F(I) BMSR (Basic Mode Status Register, Address 0x01)寄存器,Bit2(Link Status)指示 PHY的Link状态。代码实现示意所示:


boolean PHY_link_Status(void)
{boolean linkEstablished = FALSE;uint32 value;do{IfxGeth_phy_Clause22_readMDIORegister(0, PH_BMSR, &value);linkEstablished = ((value & (1 << 2)) != 0) ? TRUE : FALSE;} while (!linkEstablished);return linkEstablished;
}

推荐阅读:
https://mp.weixin.qq.com/s/zGwm9DkUHuuuDBwK7hO6vg
https://mp.weixin.qq.com/s/qP6FJvPl5HOkdQWYCstCxw
https://mp.weixin.qq.com/s/HpomnJom2knRo7YACkslBg
https://mp.weixin.qq.com/s/k2cKPkC39jX7YUc7d6U1sw
https://mp.weixin.qq.com/s/dJtMBI9VgefimRZ0_l8GBA

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm发布组件(vue3+webpack)

1.初始化Vue项目 vue create my-app 2.本地运行 npm run serve 3.新增目录和文件 1. src/package/index.js 2. src/package/wlz-btn/index.vue 3. src/package/wlz-input/index.vue // src\package\index.js import WlzBtn from "./wlz-btn"; import WlzInput …

数据库(MySQL)练习

数据库&#xff08;MySQL&#xff09;练习 一、练习1.15练习1.16练习 二、注意事项2.1 第四天 一、练习 1.15练习 win11安装配置MySQL超详细教程: https://baijiahao.baidu.com/s?id1786910666566008458&wfrspider&forpc 准备工作&#xff1a; mysql -uroot -p #以…

基于华为云车牌识别服务设计的停车场计费系统【华为开发者空间-鸿蒙】

文章目录 手把手的技术干货教程&#xff0c;记录从0到1的开发过程。一、前言1.1 内容简介1.2 云主机1.3 开发环境1.4 功能说明 二、华为云开发者空间2.1 进入开发者空间2.2 配置云主机2.3 安装系统2.4 启动云主机2.5 全屏切换2.6 共享桌面2.5 测试Python开发环境2.6 安装reques…

如何在前端给视频进行去除绿幕并替换背景?-----Vue3!!

最近在做这个这项目奇店桶装水小程序V1.3.9安装包骑手端V2.0.1小程序前端 最近&#xff0c;我在进行前端开发时&#xff0c;遇到了一个难题“如何给前端的视频进行去除绿幕并替换背景”。这是一个“数字人项目”所需&#xff0c;我一直在冥思苦想。终于有了一个解决方法…

Yolov8 目标检测剪枝学习记录

最近在进行YOLOv8系列的轻量化&#xff0c;目前在网络结构方面的优化已经接近极限了&#xff0c;所以想要学习一下模型剪枝是否能够进一步优化模型的性能 这里主要参考了torch-pruning的基本使用&#xff0c;v8模型剪枝&#xff0c;Jetson nano部署剪枝YOLOv8 下面只是记录一个…

AWS Lambda

AWS Lambda 是 Amazon Web Services&#xff08;AWS&#xff09;提供的无服务器计算服务&#xff0c;它让开发者能够运行代码而不需要管理服务器或基础设施。AWS Lambda 会自动处理代码的执行、扩展和计费&#xff0c;开发者只需关注编写和部署代码&#xff0c;而无需担心底层硬…

MySQL-索引

目录 &#x1f334;概念 &#x1f335;作用 &#x1f331;使用场景 &#x1f384;使用 查看索引 创建索引 删除索引 &#x1f334;概念 索引是一种特殊的文件&#xff0c;包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引&#xff0c;并指定索引的类…

自动化办公|xlwings简介

xlwings 是一个开源的 Python 库&#xff0c;旨在实现 Python 与 Microsoft Excel 的无缝集成。它允许用户使用 Python 脚本自动化 Excel 操作&#xff0c;读取和写入数据&#xff0c;执行宏&#xff0c;甚至调用 VBA 脚本。这使得数据分析、报告生成和其他与 Excel 相关的任务…

【物联网】ARM核介绍

文章目录 芯片产业链1. CPU核(1)ARM(2)MIPS(3)PowerPc(4)Intel(5)RISC-V 2. SOC芯片(1)主流厂家(2)产品解决方案 3. 产品 ARM核发展1. 不同架构的特点分析(1)VFP(2)Jazelle(3)Thumb(4)TrustZone(5)SIMD(6)NEON ARM核(ARMv7)工作模式1. 权限级别(privilege level)2. ARM process…

SuperMap iClient3D for Cesium立体地图选中+下钻特效

在大屏展示系统中&#xff0c;对行政区划数据制作了立体效果&#xff0c;如果希望选中某一行政区划进行重点介绍&#xff0c;目前常见的方式是通过修改选中对象色彩、边线等方式进行实现&#xff1b;这里提供另外一种偏移动效的思路&#xff0c;并提供下钻功能&#xff0c;让地…

Linux的常用命令(三)

目录 六、网络通信命令 1.网络通信命令ping 2.网络通信命令ifconfig 七、系统命令 1. 系统命令shutdown 2. 系统命令reboot 八、vi编辑器 六、网络通信命令 1.网络通信命令ping 命令名称&#xff1a;ping 命令所在路径&#xff1a;/usr/sbin/ping 执行权限&#xff…

SQL Prompt 插件

SQL Prompt 插件 注&#xff1a;SQL Prompt插件提供智能代码补全、SQL格式化、代码自动提示和快捷输入等功能&#xff0c;非常方便&#xff0c;可以自行去尝试体会。 1、问题 SSMS&#xff08;SQL Server Management Studio&#xff09;是SQL Server自带的管理工具&#xff0c…

《小迪安全》学习笔记05

目录 读取&#xff1a; 写入&#xff1a; &#xff08;其中的读取和写入时我认为比较重要的&#xff0c;所以单独做成了目录&#xff0c;这里的读取和写入是指在进行sql注入的时候与本地文件进行的交互&#xff09; 好久没发博客了。。。从这篇开始的小迪安全学习笔记就开始…

SpringCloud源码-Ribbon

一、Spring定制化RestTemplate&#xff0c;预留出RestTemplate定制化扩展点 org.springframework.cloud.client.loadbalancer.LoadBalancerAutoConfiguration 二、Ribbon定义RestTemplate Ribbon扩展点功能 org.springframework.cloud.netflix.ribbon.RibbonAutoConfiguratio…

Linux 常用命令 - chmod 【改变文件或目录权限】

简介 “chmod” 这个命令来自于 “change mode” 的缩写&#xff0c;用于更改文件或目录的访问权限。这个命令允许用户设定谁可以读取、写入或执行一个文件。在 Linux 和其他类 Unix 系统中&#xff0c;文件权限对系统安全和用户隐私至关重要。 Linux/Unix 的文件调用权限分为…

Linux系统离线部署MySQL详细教程(带每步骤图文教程)

1、登录官网下载对应的安装包 MySQL :: Developer Zone 2、将压缩包上传到服务器上&#xff0c;这里直接上传到/usr/local路径上 使用sftp工具上传到/usr/local目录上 3、解压压缩包 tar -xf mysql-8.0.39-linux-glibc2.17-x86_64.tar.xz 4、将mysql-8.0.39-linux-glibc2.17…

PyTorch使用教程(1)—PyTorch简介

PyTorch是一个开源的深度学习框架&#xff0c;由Facebook人工智能研究院&#xff08;FAIR&#xff09;于2016年开发并发布&#xff0c;其主要特点包括自动微分功能和动态计算图的支持&#xff0c;使得模型建立更加灵活‌。官网网址&#xff1a;https://pytorch.org。以下是关于…

Linux浅谈——管道、网络配置和客户端软件的使用

目录 一、管道 1、管道符 2、过滤功能 3、特殊功能 4、扩展处理 5、xargs命令扩展 二、网络配置 1、ifconfig查看网络信息 2、配置文件详解 网卡配置文件位置 3、systemctl查看网卡状态 4、systemctl启动/重启/停止网卡 三、客户端软件 1、什么是SSH 2、常用SSH终…

arcgis中生成格网矢量带高度

效果 1、数据准备 (1)矢量边界(miain.shp) (2)DEM(用于提取格网标高) (3)DSM(用于提取格网最高点) 2、根据矢量范围生成格网 模板范围选择矢量边界,像元宽度和高度根据坐标系来输入,我这边是4326的,所以输入的是弧度,输出格网矢量gewang.shp 3、分区统计 …

IEC103 转 ModbusTCP 网关

一、产品概述 IEC103 转 ModbusTCP 网关型号 SG-TCP-IEC103 &#xff0c;是三格电子推出的工业级网关&#xff08;以下简 称网关&#xff09;&#xff0c;主要用于 IEC103 数据采集、 DLT645-1997/2007 数据采集&#xff0c; IEC103 支持遥测和遥 信&#xff0c;可接…