百问网(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 我们可以知道ÿ

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

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

相关文章

python入门笔记4

Python 中的列表(List)是 有序、可变 的序列类型,用方括号 [] 定义。以下是列表的核心语法和常用操作: list1 [Google, W3Cschool, 1997, 2000] list2 [7, 2, 3, 4, 5, 6, 1 ] #索引操作 print ("list1 first: ", li…

玩转SpringCloud Stream

背景及痛点 现如今消息中间件(MQ)在互联网项目中被广泛的应用,特别是大数据行业应用的特别的多,现在市面上也流行这多个消息中间件框架,比如ActiveMQ、RabbitMQ、RocketMQ、Kafka等,这些消息中间件各有各的优劣,但是想…

Window下Redis的安装和部署详细图文教程(Redis的安装和可视化工具的使用)

文章目录 Redis下载地址:一、zip压缩包方式下载安装 1、下载Redis压缩包2、解压到文件夹3、启动Redis服务4、打开Redis客户端进行连接5、使用一些基础操作来测试 二、msi安装包方式下载安装 1、下载Redis安装包2、进行安装3、进行配置4、启动服务5、测试能否正常工…

SOME/IP--协议英文原文讲解9

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 4.2.1.4 T…

容器网络(三)- calico网络IPIP模式

一、前置知识 calico的IPIP模式使用到了tun设备,先来了解下什么是tun设备,它的作用是什么,以及使用到tun设备的IPIP隧道是如何工作的。 1.1 tun设备 tun是网络层的虚拟网络设备,可以收发第三层数据报文包,如IP封包&…

网络原理-HTTP/HTTPS

文章目录 HTTPHTTP 是什么?理解“应用层协议”理解 HTTP 协议的⼯作过程HTTP 协议格式抓包⼯具的使用抓包⼯具的原理抓包结果协议格式总结 HTTP 请求(Request)认识 URLURL 的基本格式关于URL encode 认识“⽅法”(method&#xff…

sentinel集成nacos做持久化配置

sentinel提供了非常强大的控制台来提供流控等功能,但是控制台只是临时的配置,想要将流控配置永久的保存,或者在项目启动的时候就加载,不需要手动设置,就需要使用到nacos与sentinel做集成配置。这里都是不变代码&#x…

网络安全技术pat实验 网络安全 实验

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 网络安全实验3 前言Kali 常用指令工具教程 ettercap 基本使用 一、口令破解 John the ripper 破解 linux 密码l0phtcrack7 破解 windows 密码John 破解 zip 压…

大模型工具大比拼:SGLang、Ollama、VLLM、LLaMA.cpp 如何选择?

简介:在人工智能飞速发展的今天,大模型已经成为推动技术革新的核心力量。无论是智能客服、内容创作,还是科研辅助、代码生成,大模型的身影无处不在。然而,面对市场上琳琅满目的工具,如何挑选最适合自己的那…

个人简历html网页模板,科技感炫酷html简历模板

炫酷动效登录页 引言 在网页设计中,按钮是用户交互的重要元素之一。这样一款黑色个人简历html网页模板,科技感炫酷html简历模板,设计效果类似科技看板图,可帮您展示技能、任职经历、作品等,喜欢这种风格的小伙伴不要犹豫哦。该素材呈现了数据符号排版显示出人形的动画效…

解决 Mac 只显示文件大小,不显示目录大小

前言 在使用 mac 的时候总是只显示文件的大小,不显示文件夹的大小,为了解决问题可以开启“计算文件夹”。 步骤 1.进入访达 2.工具栏点击“显示”选项,点击 “查看显示选项” 3.勾选 显示“资源库"文件夹 和 计算所有大小 或者点击…

UE5.3 C++ 通过Spline样条实现三维连线,自己UV贴图。

一.制作了基于USplineComponent的画线插件,就是我们常说的样条线。 直接看怎么用,关于插件实现细节,后续会更新,看思路就行。通过ID,管理每一条线。移除删掉上一帧的线条Mesh。第一个点,是本身直接放过去。第二个点是…

[qt5学习笔记]Application Example示例程序源码解析

开发环境问题 vs2022下直接打开ui、ts文件失败 解决办法如下图, 设置designer独立运行。估计是嵌入运行存在些许bug。 同理,ts编辑工具linguist也存在这个问题。 qrc rc的编辑嵌入编辑都正常,但分离式更稳定可靠。 qt creator编译失败 原…

Ubuntu 系统 LVM 逻辑卷扩容教程

Ubuntu 系统 LVM 逻辑卷扩容教程 前言 在 Linux 系统中,LVM(Logical Volume Manager)是一种逻辑卷管理工具,允许管理员动态调整磁盘空间,而无需重启系统。 本文将详细介绍如何使用 LVM 扩容逻辑卷,以实现…

Javascript网页设计实例:通过JS实现上传Markdown转化为脑图并下载脑图

功能预览 深度与密度测试 对于测试部分,分别对深度和密度进行了测试: 注意!!!!!!!只实现了识别Markdown中的#代表的层级,所以不能使用其余标识符&#xff0…

什么是tomcat

什么是tomcat Tomcat 是由Apache软件基金会开发的一个开源的轻量级Web服务器,主要用于部署和运行Java Servlet和JavaServer Pages (JSP) 技术构建的Web应用。以下是关于Tomcat的一些关键点: Java Web应用容器:Tomcat作为Servlet容器&#x…

一.AI大模型开发-初识机器学习

机器学习基本概念 前言 本文主要介绍了深度学习基础,包括机器学习、深度学习的概念,机器学习的两种典型任务分类任务和回归任务,机器学习中的基础名词解释以及模型训练的基本流程等。 一.认识机器学习 1.人工智能和机器学习 人工智能&am…

Redis未授权访问漏洞原理

redis未授权访问漏洞 目录 redis未授权访问漏洞一、Redis介绍二、redis环境安装三、漏洞原理四、漏洞复现4.1 webshell提权4.2redis写入计划任务反弹shell4.3 ssh key免密登录4.4 Redis基于主从复制的RCE方式 五、Redis加固建议 一、Redis介绍 Redis,全称为Remote …

什么是网络安全?网络安全防范技术包括哪些?

伴随着互联网的发展,它已经成为我们生活中不可或缺的存在,无论是个人还是企业,都离不开互联网。正因为互联网得到了重视,网络安全问题也随之加剧,给我们的信息安全造成严重威胁,而想要有效规避这些风险&…

使用VSCODE开发C语言程序

使用vscode配置C语言开发环境 一、安装VSCODE 1、下载vscode ​ 从官方网站(https://code.visualstudio.com/Download)上,下载windows版本的vscode 2、安装vscode ​ 下载完毕后,按照提示进行安装即可(尽可能不要安…