百问网(100ask)的IMX6ULL开发板的以太网控制器(MAC)与物理层(PHY)芯片(LAN8720A)连接的原理图分析(包含各引脚说明以及工作原理)

前言

本博文承接博文 https://blog.csdn.net/wenhao_ir/article/details/145663029 。

本博文和博文 https://blog.csdn.net/wenhao_ir/article/details/145663029 的目录是找出百问网(100ask)的IMX6ULL开发板与NXP官方提供的公板MCIMX6ULL-EVK(imx6ull14x14evk)在以太网硬件实现上的不同,进而去修改NXP官方提供的公板的BSP里的u-boot,使得u-boot能正常初始化以太网。

由于是要找出不同,所以本篇博文就一边研究芯片(LAN8720A)与MAC(以太网控制器)的每个连接,一边对比看有没有什么不同。

注意:物理层芯片(LAN8720A)只支持“RMII”协议,不像物理层芯片KSZ8081RNB那还还支持“MII”协议。

相关的实现协议:“RMII”已经在博文https://blog.csdn.net/wenhao_ir/article/details/145663029中介绍过了。

原理图下载地址

百问网(100ask)的IMX6ULL开发板的原理图的百度网盘下载地址:
https://pan.baidu.com/s/1YqW8V3eQ42gD9FfZ2jf-Mw?pwd=g6e1

芯片(LAN8720A)的Data sheet下载地址

芯片(LAN8720A)的Data sheet的百度网盘下载地址
https://pan.baidu.com/s/1ZCVbzF2QH1SYCKOtnvSUWg?pwd=7i7a

芯片(LAN8720A)的封装图

在这里插入图片描述

芯片(LAN8720A)的模块结构图

在这里插入图片描述

芯片(LAN8720A)对引脚Buffer Types的描述

在这里插入图片描述
关于Buffer Types的详情说明,见我的另一篇博文,https://blog.csdn.net/wenhao_ir/article/details/145703444

原理图中MAC(以太网控制器)的相关部分

打开原理图文件:“\06_开发板原理图\02_Core_board(核心板)\MYC-Y6ULX1211.pdf”

翻到第7页,就有MAC(以太网控制器)的相关原理图,截图如下:
在这里插入图片描述

两个物理层芯片的寄存器的相关设置是一样的(两个板子的相关代码是通常用)

这篇博文有一个目的,就是要搞清楚公板的以太网实现与开发板的以太网实现有何区别,当然最大的区别就是物理层芯片不一样,不过,光知道物理层芯片不一样是不行的,还要搞清楚二者有何使用上的差别。

通过查阅相关资料,我发现两个芯片都是利用由引脚MDIO 和引脚MDC构成的“SMI(Serial Management Interface)”接口来读取和写入寄存器的,这是它们的共同点,而两个板子中引脚MDIO 和引脚MDC与主机的连接都是相同的,所以我们只需要去看二者的寄存器一不一样,就知道在寄存器配置上二者是否一样了。

两个物理层芯片的寄存器映射表

物理层芯片KSZ8081RNB的寄存器映射表的截图如下:
在这里插入图片描述
物理层芯片LAN8720A的寄存器映射表的截图如下:
在这里插入图片描述
从两个芯片的寄存器映射表可以看出,最主要的前4个寄存器(索引值为0~3)的名称都是一样的。

物理层芯片LAN8720A的寄存器的个数明显是少于物理层芯片KSZ8081RNB的,原因很简单,因为物理层芯片KSZ8081RNB不仅支持RMII协议,还支持MII协议呀。

两个物理层芯片的Basic Control Register寄存器的详情

我们再看下具体的各寄存器的意义一不一样,以索引值为0的寄存器Basic Control Register为例,我们来看一看。

物理层芯片KSZ8081RNB的0号寄存器Basic Control Register的详情截图如下:
在这里插入图片描述
物理层芯片LAN8720A的0号寄存器Basic Control Register的详情截图如下:
在这里插入图片描述
可见,二者是完全兼容一致的。

我又看了下1号寄存器的前几位,发现也是一样的:
在这里插入图片描述
在这里插入图片描述

结论:两个板子的相关代码是通用的

综上,我们可以得出结论,两个板子通过两个物理层芯片的寄存器设置其功能和模式的相关代码是通常用。

通过原理图提取物理层芯片的相关引脚

以太网1的相关引脚提取

说明:百问网的开发板,以太网1的物理层芯片不像公板那样,是放在底板的原理图中的,而是放到核心版中的,以太网2的物理层芯片才像公板那样,是放在底板的原理图中的。

打开原理图文件:“\06_开发板原理图\02_Core_board(核心板)\MYC-Y6ULX1211.pdf”

翻到第10页,就能发现以太网1的MAC控制器所连接的物理层芯片(LAN8720A)的原理图了,截图如下:
在这里插入图片描述
我们感兴趣的引脚提取如下:

MDIO
MDC
RXD0/MODE0
RXD1/MODE1
CRS_DV/MODE2
RXER/PHYAD0
TXD0
TXD1
TXEN
INT/REFCLKO
XTAL1/CLKIN
XTAL2
RST

可见,一共有13个我们感兴趣的引脚。

以太网2的相关引脚提取

说明:百问网的开发板,以太网1的物理层芯片不像公板那样,是放在底板的原理图中的,而是放到核心版中的,以太网2的物理层芯片才像公板那样,是放在底板的原理图中的。

打开原理图文件:“\06_开发板原理图\01_Base_board(底板)\100ask_imx6ull_v1.1.pdf”

翻到第10页,就能发现以太网1的MAC控制器所连接的物理层芯片(LAN8720A)的原理图了,截图如下:
在这里插入图片描述

RST
MDIO
MDC
RXD0/MODE0
RXD1/MODE1
CRS_DV/MODE2
RXER/PHYAD0
TXD0
TXD1
TXEN
INT/REFCLKO
XTAL1/CLKIN
XTAL2

可见,一共也有13个我们感兴趣的引脚。

接下来,我们就来分析这些引脚的连接情况。

为什么从以太网2的物理层芯片开始分析?

很简单:因为官方提供的移植教程只分析了以太网2的连接情况,其实以太网1和以太网2的连接情况基本上是一样的。

以太网2的物理层芯片各引脚连接情况分析

在本篇博文的上面,已经提取了以太网2的物理层芯片各个感兴趣的引脚,接下来就开始分析。

引脚RST(nRST)【与公板不一样】

在这里插入图片描述
功能: 用于对 PHY 芯片进行硬件复位。通过将该引脚拉低,PHY 可以被复位,恢复到初始状态。

相关原理图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可见,这个复位引脚是直接连到处理器的SNVS_TAMPER6引脚上的,而通过博文 https://blog.csdn.net/wenhao_ir/article/details/145663029 我们可以知道ÿ

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

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

相关文章

QT开发技术 【opencv图片裁剪,平均哈希相似度判断,以及获取游戏窗口图片】

一、图片裁剪 int CJSAutoWidget::GetHouseNo(cv::Mat matMap) {cv::imwrite(m_strPath "/Data/map.png", matMap);for (int i 0; i < 4; i){for (int j 0; j < 6; j){// 计算当前子区域的矩形cv::Rect roi(j * 20, i * 17, 20, 17);// 提取子区域cv::Mat …

TiDB 是一个分布式 NewSQL 数据库

TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议&#xff0c;具有数据强一致的高可用特性&#xff0c;是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库。 TiDB是 PingCAP公司自主设计、研发的开源分布式关系型数据…

请解释 Vue 中的生命周期钩子,不同阶段触发的钩子函数及其用途是什么?

vue生命周期钩子详解&#xff08;Vue 3版本&#xff09; 一、生命周期阶段划分 Vue组件的生命周期可分为四大阶段&#xff0c;每个阶段对应特定钩子函数&#xff1a; 创建阶段&#xff1a;初始化实例并准备数据挂载阶段&#xff1a;将虚拟DOM渲染为真实DOM更新阶段&#xff…

计算机专业知识【深入理解子网中的特殊地址:为何 192.168.0.1 和 192.168.0.255 不能随意分配】

在计算机网络的世界里&#xff0c;IP 地址是设备进行通信的关键标识。对于常见的子网&#xff0c;如 192.168.0.0/24&#xff0c;我们可能会疑惑为何某些地址不能分配给主机使用。接下来&#xff0c;我们就以 192.168.0.0/24 为例&#xff0c;详细解释为何 192.168.0.1 和 192.…

软件架构设计:软件工程

一、软件工程概述 软件工程的定义 软件工程是应用系统化、规范化、可量化的方法开发、运行和维护软件。 软件工程的目标 提高软件质量、降低开发成本、缩短开发周期。 软件生命周期 瀑布模型&#xff1a;需求分析→设计→编码→测试→维护。迭代模型&#xff1a;分阶段迭代开…

mysql 学习15 SQL优化,插入数据优化,主键优化,order by优化,group by 优化,limit 优化,count 优化,update 优化

插入数据优化&#xff0c; insert 优化&#xff0c; 批量插入&#xff08;一次不超过1000条&#xff09; 手动提交事务 主键顺序插入 load 从本地一次插入大批量数据&#xff0c; 登陆时 mysql --local-infile -u root -p load data local infile /root/sql1.log into table tb…

达梦数据库针对慢SQL,收集统计信息清除执行计划缓存

前言&#xff1a;若遇到以下场景&#xff0c;大概率是SQL走错了执行计划&#xff1a; 1、一条SQL在页面上查询特别慢&#xff0c;但拿到数据库终端执行特别快 2、一条SQL在某种检索条件下查询特别慢&#xff0c;但拿到数据库终端执行特别快 此时&#xff0c;可以尝试按照下述步…

使用JWT实现微服务鉴权

目录 一、微服务鉴权 1、思路分析 2、系统微服务签发token 3、网关过滤器验证token 4、测试鉴权功能 前言&#xff1a; 随着微服务架构的广泛应用&#xff0c;服务间的鉴权与安全通信成为系统设计的核心挑战之一。传统的集中式会话管理在分布式场景下面临性能瓶颈和扩展性…

广西壮族自治区园区投促中心党委书记陶德文率团到访深兰科技

2月16日&#xff0c;广西壮族自治区园区投促中心党委书记、主任&#xff0c;自治区园区办党组成员陶德文率团来到深兰科技集团上海总部考察调研&#xff0c;并与深兰科技集团创始人、董事长陈海波等集团管理层座谈交流&#xff0c;双方围绕深兰科技人工智能项目落地广西的相关事…

基于UnrealEngine(UE5)的太空探索

视频部分可参见&#xff1a;https://www.bilibili.com/video/BV1JWA8eSEVg/ 中国 天宫号 空间站 人造卫星可视化 星链卫星可视化 小行星分布及运动轨迹可视化 月球基地 可视化 八大行星轨道 太阳系宜居带可视化 阿波罗8号拍摄的地球升起 谷神星模型及轨迹可视化 星座可视化 十…

WLAN无线2.4G/5G频段划分和可用信道

互联网各领域资料分享专区(不定期更新)&#xff1a; Sheet

使用 OpenTelemetry 和 Langtrace 的 Elastic 分发跟踪基于 RAG 的聊天机器人

作者&#xff1a;来自 Elastic Bahubali Shetti 如何使用 Elastic 观察基于 OpenAI RAG 的应用程序。使用 Langtrace 对应用程序进行检测&#xff0c;收集日志、跟踪、指标&#xff0c;并了解 LLM 在 Kubernetes 上使用 OpenTelemetry 的 Elastic Distributions 的运行情况。 目…

基于机器学习的水文数据采集预测与可视化分析系统

【机器学习】基于机器学习的水文数据采集预测与可视化分析系统&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 系统采用Python及Flask框架构建Web服务端&#xff0c;结合PyMySQL与MySQL实现数据…

三甲医院网络架构与安全建设实战

一、设计目标 实现医疗业务网/卫生专网/互联网三网隔离 满足等保2.0三级合规要求 保障PACS影像系统低时延传输 实现医疗物联网统一接入管控 二、全网拓扑架构 三、网络分区与安全设计 IP/VLAN规划表 核心业务配置&#xff08;华为CE6865&#xff09; interface 100G…

MySQL如何解决幻读?

目录 一、什么是幻读&#xff1f; 1.1 幻读的定义 1.2 幻读的示例 1.3 幻读产生的原因&#xff1f; 1.4?读已提交&#xff08;Read Committed&#xff09; 1.4.1 确定事务等级 1.4.2 非锁定读取 准备 示例 结论 1.4.3 锁定读取 准备 示例 分析 结论 1.5?可重…

Openssl之SM2加解密命令

### 1. 生成 SM2 私钥openssl genpkey -algorithm EC \-pkeyopt ec_paramgen_curve:sm2 \-out sm2_private_key.pem### 2. 从私钥导出 SM2 公钥openssl pkey -in sm2_private_key.pem \-pubout \-out sm2_public_key.pem### 3. 使用 SM2 公钥加密openssl pkeyutl -encrypt \-pu…

【含文档+PPT+源码】基于Python的图书推荐系统的设计与实现

课程简介&#xff1a; 本课程演示的是一款基于python的图书推荐系统的设计与实现&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Python学习者。 1.包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行…

Nginx 安装及配置教程(Windows)【安装】

文章目录 一、 Nginx 下载 1. 官网下载2. 其它渠道 二、 Nginx 安装三、 配置四、 验证五、 其它问题 1. 常用命令2. 跨域问题 软件 / 环境安装及配置目录 一、 Nginx 下载 1. 官网下载 安装地址&#xff1a;https://nginx.org/en/download.html 打开浏览器输入网址 htt…

Spring Boot(8)深入理解 @Autowired 注解:使用场景与实战示例

搞个引言 在 Spring 框架的开发中&#xff0c;依赖注入&#xff08;Dependency Injection&#xff0c;简称 DI&#xff09;是它的一个核心特性&#xff0c;它能够让代码更加模块化、可测试&#xff0c;并且易于维护。而 Autowired 注解作为 Spring 实现依赖注入的关键工具&…