SOC内部集成网络MAC外设+ PHY网络芯片方案:PHY芯片基础知识

一. 简介

本文简单了解一下 "SOC内部集成网络MAC外设+ PHY网络芯片方案" 这个网络硬件方案中涉及的 PHY网络芯片的基础知识。

二. PHY芯片基础知识

PHY 是 IEEE 802.3 规定的一个标准模块。

1. IEEE规定了PHY芯片的前 16个寄存器功能是一样的

前面说了, SOC 可以对 PHY 进行配置或者读取 PHY 相关状态,这个就需要 PHY 内部寄存器去实现了。 PHY 芯片寄存器地址空间为 5 位,地 址 0~31 共 32 个寄存器。
IEEE 定义了 0~15 这 16 个寄存器的功能, 16~31 这 16 个寄存器由厂 商自行实现。也就是说不管你用的哪个厂家的 PHY 芯片,其中 0~15 这 16 个寄存器是一模一 样的。仅靠这 16 个寄存器是完全可以驱动起 PHY 芯片的,至少能保证基本的网络数据通信 。
因此, Linux 内核有通用 PHY 驱动,按道理来讲,不管你使用的哪个厂家的 PHY 芯片,都可以 使用 Linux 的这个通用 PHY 驱动来验证网络工作是否正常。
事实上在实际开发中可能会遇到一 些其他的问题导致 Linux 内核的通用 PHY 驱动工作不正常,这个时候就需要驱动开发人员去调 试了。

2. PHY芯片可能扩展寄存器地址空间

但是,随着现在的 PHY 芯片性能越来越强大, 32 个寄存器可能满足不了厂商的需求, 因此,很多厂商采用分页技术来扩展寄存器地址空间,以求定义更多的寄存器。
这些多出来的寄 存器可以用于实现厂商特有的一些技术,因此, Linux 内核的通用 PHY 驱动就无法驱动这些特色 功能了,这个时候就需要 PHY 厂商提供相应的驱动源码了。
所以大家也会在 Linux 内核里面看 到很多具体的 PHY 芯片驱动源码。不管你的 PHY 芯片有多少特色功能,按道理来讲, Linux 内 核的通用 PHY 驱动是绝对可以让你这 PHY 芯片实现基本的网络通信,因此,大家也不用担心更 换 PHY 芯片以后网络驱动编写是不是会很复杂。
IEEE802.3 协议英文原版已经放到了开发板光盘中,路径为 4 、参考资料 ->802.3 协议英文 原版 _2018 年 .pdf ,打开此文档,此文档有 5600 页,按照 SECTION 进行分类,一共 8 个 SECTION 。
选中 " 802.3-2018_SECTION2 " ,找到 " 22.2.4 Management functions " 章节,此章节对 PHY 的前 16 个寄存器功能进行了规定,如下图 所示:

关于这 16 个寄存器的内容协议里面也进行了详细的讲解,这里就不分析了。

相关推荐
IT成长日记2 小时前
05【Linux经典命令】Linux 用户管理全面指南:从基础到高级操作
linux·运维·服务器·用户管理·命令
FreeBuf_5 小时前
最新研究揭示云端大语言模型防护机制的成效与缺陷
网络·安全·语言模型
Sapphire~8 小时前
Linux-07 ubuntu 的 chrome 启动不了
linux·chrome·ubuntu
伤不起bb8 小时前
NoSQL 之 Redis 配置与优化
linux·运维·数据库·redis·nosql
广东数字化转型8 小时前
nginx怎么使用nginx-rtmp-module模块实现直播间功能
linux·运维·nginx
啵啵学习8 小时前
Linux 里 su 和 sudo 命令这两个有什么不一样?
linux·运维·服务器·单片机·ubuntu·centos·嵌入式
半桔9 小时前
【Linux手册】冯诺依曼体系结构
linux·缓存·职场和发展·系统架构
网硕互联的小客服9 小时前
如何利用Elastic Stack(ELK)进行安全日志分析
linux·服务器·网络·安全
浩浩测试一下10 小时前
Authpf(OpenBSD)认证防火墙到ssh连接到SSH端口转发技术栈 与渗透网络安全的关联 (RED Team Technique )
网络·网络协议·tcp/ip·安全·网络安全·php
冰橙子id10 小时前
linux——磁盘和文件系统管理
linux·运维·服务器