以太网口硬件知识分享

news2024/11/24 15:29:22

一、了解网口通信基本原理

实现网络通信实质上是PHY与MAC及RJ45接口实现信号传输。MAC 就是以太网控制器,MAC属于数据链路层,主要负责把数据封装成帧,对帧进行界定实现帧同步。对MAC地址和源MAC地址及逆行相应的处理并对错误帧进行处理。PHY属于物理层,在以太网控制器中负责物理层功能的芯片叫PHY芯片,因为网线上传输的是模拟信号而MAC发出或接收的信号为数字信号所以PHY主要负责对网络数据的编解码处理以及一些网络状态的控制。RJ45就是我们常用的网口座子。

在嵌入式领域通常MAC是被集成在CPU里面的,这种方案是目前的主流方案,PHY层(物理层)一般是使用专用的PHY芯片。如果要PHY芯片在一个特定的模式下工作就需要对PHY芯片进行控制,在这里用到的是MDIO总线。通过MDIO总线对PHY芯片的寄存器进行相应配置实现一些模式以及功能的控制。而数据信息,是由另外的网络协议接口进行传输,例如ELF 1上的PHY和MAC之间是用的RMII接口实现的数据传输,整体架构如图2.4所示:

二、了解MDIO总线

MDC是开漏(OD)输出,只能输出低电平,因此需要上拉处理,为MDIO提供时钟信号;根据KSZ8081RNB芯片手册(数据手册中查找),MDIO管理接口数据传输格式及含义如下表所示:

需要注意的是,TA在读操作和写操作两种状态下数据位不同,TA是介于寄存器地址和寄存器数据之间的2个bit位,用来转换数据传输方向。读操作时,地址传输和数据传输控制方不同,设置2bit TA的目的就是为了防止MDIO总线上产生竞争。TA的第1位z,PHY和MAC均释放总线控制输出高阻,且后面MAC一直保持高阻态状态,第2位0由PHY提供。第2位相当于一个应答信号,如果第2位为高电平,PHY无应答。除此之外,Idle为空闲状态,此时MDIO无源驱动,处高阻状态,但一般用上拉电阻使其处在高电平。

三、关于网络信号模式

常见网络信号模式包含:MII、RMII、GMII、RGMII、SGMII。每种模式包含的信号线数量和控制线数量各不相同,通讯速度也不相同:MII、RMII为百兆网络,GMII、RGMII、SGMII为千兆网络。区别和关系可以参考表2.2和图2.5。各模式工作原理可根据我们的视频进行详细了解。

常见网络模式区别

网络变压器

ELF 1使用的RJ45内部集成了网络变压器,其4、5脚位中心抽头引脚,该引脚有两种接法:电流型,中心抽头直接接电源;电压型,中心抽头通过100nF电容接地(ELF 1的接法,引脚4、5接100nF电容C87和C88)。

实际使用中需要如何处理中心抽头需要根据PHY芯片的驱动类型确定。

四、PHY芯片电路原理说明

ELF 1开发板最多支持两路百兆网口,底板(图2.5)和扩展板(图2.6)上各一路。ELF 1使用两个型号为KSZ8081RNB的PHY芯片实现网络通信,通过对前几段内容的了解可以分析出,KSZ8081RNB是通过MDIO总线挂载到ELF 1上的,MDIO总线对应芯片的11、12引脚主要负责通过配置PHY芯片KSZ8081RNB的寄存器控制PHY芯片的网口速率、网口双工模式、自协商使能等功能。KSZ8081RNB的数据接口是通过RMII和ELF 1连接,并传输网络数据的。

ENET_PHYAD0、ENET_PHYAD1和ENET_RXD1在芯片上电复位时会锁存一个电平状态作为芯片的PHY地址,在芯片上电后,其数据被锁存到相应寄存器中,而后恢复芯片的默认功能,不会影响通信。由于该款芯片有三条地址线,因此理论上同一块板子最多可以挂载7颗(001—111。000作为广播地址,是不可以被使用的);

ENET_CRS_DV、ENET_CFG1、ENET_CFG0是芯片接口模式选择, ELF 1设置为100;

底板网口原理图

扩展板网口原理图

网口电路设计指南

(1)ELF 1可支持两路百兆网。

(2)设计网口电路时8081的10号引脚必须连接6.49K_%1精度的电阻,否则可能会影响网口正常工作出现芯片无法挂载、网口不Link等问题。

(3)MDIO以及RMII接口的引脚要注意电平匹配,核心板为3.3V电平。

(4)MDIO总线上需要加上拉电阻阻值可以根据实际情况调整。

网口PCB设计指南

(1)MDIO总线上挂载多个PHY芯片时,使用串联方式,不要分叉布线

(2)RGMII接口分为发送信号,接收信号和控制信号,各组阻抗控制在50Ω±10%

(3)发送信号和接收信号,布线长度不超过100mm,组内信号长度误差不超过2.54mm

(4)时钟预留对地电容,方便后期调试

(5)MDI接口采用差分布线,阻抗100Ω±10%

(6)MDI组内差分误差不超过0.12mm

(7)芯片内部DCDC连接的功率电感要靠近芯片保证回路最短,并且保证地回路的完整;

(8)数据线上预留的串联电阻需要靠近源端放置;

(9)保护器件建议放置在变压器内侧,在变压器和PHY之间,靠近变压器;

(10)供电部分要考虑电流的大小,线宽尽量宽一点。要有足够的载流能力,滤波电容的位置尽量靠近芯片。

(11)网口 RJ45 在布线时要注意进行隔离地。

网口问题排查思路

在遇到网口问题时排查网口问题首先要明确问题点,网口不通的情况下首先要看 PHY 有没有成功挂载上,可通过是否可以启动网卡来判断,如果根本看不到设备节点或者在输入启动网卡的命令后报错,找不到 PHY 芯片说明 PHY 芯片没有成功挂载。如果可以正常启动网卡说明 PHY 可以成功挂载。

如果 PHY 没挂载上排查思路如下:

(1)首先看是否有缺件、少件,原件焊接错误的情况,PHY 芯片焊接是否过关等。

(2)检查各路供电是否正常,电源是否稳定,是否有明显压降、跌坑现象。滤波电容容量是否达标。

(3)检查复位电路是否有复位动作,复位后是否可以正常抬起复位信号,复位信号低电平的维持时间是否满足 PHY 的要求。

(4) 检查芯片的时钟频率、幅值、以及信号质量是否满足手册要求。不同类型的时钟输入方式原理是否正确。

(5)检查 PHY 芯片的地址、模式、电平配置等参数设置的上下拉电阻是否正常。

(6)检查 MDIO 总线的波形幅值、斜率、是否正常,振铃是否严重,是否有下降沿压降不到 0 的现象,在 MDC 的上升沿来临时 MDIO 的电平维持时间是否满足手册要求等问题。

先将芯片成功挂载后再看网口通不通。如果经过以上检测排查成功将 PHY 芯片挂载但是网口还是不通,那就需要继续检查数据接口部分。根据不同接口的规定来对数据接口的总线进行检查。

(1)按照具体的接口形式检查数据线连接是否正确,尤其是在使用MII,RMII,GMII,RGMII时的线序。检查参考时钟波形是否正常。

(2)检查网络变压器的中心抽头的接法是否与PHY 规定的网络变压器的驱动类型相对应。

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

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

相关文章

To String的几个作用

To String的几个作用 一、Object类中toString的作用 1、在主方法中我们可以直接用toString输出对象其中的内容 2、我们需要直接输出对象中所属内容时,直接使用toString方法输出语句,输出内容不友好,不便于阅读 子类: public c…

机器学习-保险花销预测笔记+代码

读取数据 import numpy as np import pandas as pddatapd.read_csv(rD:\人工智能\python视频\机器学习\5--机器学习-线性回归\5--Lasso回归_Ridge回归_多项式回归\insurance.csv,sep,) data.head(n6) EDA 数据探索 import matplotlib.pyplot as plt %matplotlib inlineplt.hi…

Python实现飞机大战

提供学习或者毕业设计使用,功能基本都有,不能和市场上正式游戏相提比论,请理性对待! 本博文将开启免费试读,如有您需要完整源码或者素材材料等,请订阅本专栏或者找博主购买!购买后将提供源码文件…

太速科技-基于6 U VPX M.2 高带宽加固存储板

基于6 U VPX M.2 高带宽加固存储板 一、板卡概述 基于6 U VPX M.2 高带宽加固存储板,可以实现VPX接口的数据读写到PCI-E总线的NVME存储媒介上。采用PLX8732,上行链路提供带宽x16的PCI-E数据到VPX接口上;下行链路提供3路带宽x4的PCI-E接口…

【CSS】使用 scroll snap 实现页面的垂直大屏滚动

CSS 属性 scroll-snap-type 设置了在有滚动容器的情形下吸附至吸附点的严格程度。 scroll-snap-type 使用 scroll snap 也可以用于垂直滚动&#xff0c;全屏展示就是一个很好的例子: <main><section class"section section-1"></section><sect…

MATLAB - 机器人动力学 - 质心(Center of Mass)

系列文章目录 前言 一、用法 com centerOfMass(robot) com centerOfMass(robot,configuration) [com,comJac] centerOfMass(robot,configuration) 二、说明 com centerOfMass(robot) 计算机器人模型在原点构型处相对于基础坐标系的质心位置。com centerOfMass(robot,conf…

Linux下载及安装OpenSSL

文章目录 前言一、OpenSSL下载二、OpenSSL安装1.上传下载好的安装包到服务器2.解压3.切换目录4.配置config5.编译6.安装7.备份旧版本OpenSSL7.创建软链接8.添加OpenSSL动态链接库9.更新库缓存10.查看OpenSSL版本验证安装是否成功 前言 一般系统会自带有OpenSSL&#xff0c;我们…

用Python绘制了几张有趣的可视化图表

流程图存在于我们生活的方方面面&#xff0c;对于我们追踪项目的进展&#xff0c;做出各种事情的决策都有着巨大的帮助&#xff0c;而对于的Python而言呢&#xff0c;绘制流程图也是十分轻松的&#xff0c;今天小编就来为大家介绍两个用于绘制流程图的模块&#xff0c;我们先来…

CogVLM CogAgent模型部署

CogVLM & CogAgent 下载地址 CogVLM & CogAgent 的 Github 官方仓库&#xff1a;https://github.com/THUDM/CogVLM CogVLM & CogAge…

安卓NetworkStatsManager使用及demo

目录 一、TrafficStats类简介二、demo示例 一、TrafficStats类简介 TrafficStats Android API 8提供了android.net.TrafficStats类。 通过此类能获取设备重启以来网络信息&#xff0c;部分函数如下所示&#xff1a; static long getMobileRxBytes() //获取通过移动数据网络…

Java苍穹外卖02-公共字段自动填充-菜品管理

一、公共字段自动填充 1.问题分析 需要有一种手段能够在mapper层&#xff08;持久层&#xff09;知道当前操作是否是insert或者update。 为mapper中需要进行拦截的方法加注解&#xff0c;然后去为这些赋值 2.代码开发 注解创建&#xff1a; 注意这里的Retention注解一定要是…

MySQL—MySQL的存储引擎之InnoDB

MySQL—MySQL的存储引擎之InnoDB 存储引擎及种类 存储引擎说明MyISAM高速引擎&#xff0c;拥有较高的插入&#xff0c;查询速度&#xff0c;但不支持事务InnoDB5.5版本后MySQL的默认数据库存储引擎&#xff0c;支持事务和行级锁&#xff0c;比MyISAM处理速度稍慢ISAMMyISAM的…

Unity AssetsBundle打包

为什么要使用AssetsBundle包 减少安装包的大小 默认情况下&#xff0c;unity编译打包是对项目下的Assets文件夹全部内容进行压缩打包 那么按照这个原理&#xff0c;你的Assets文件夹的大小将会影响到你最终打包出的安装包的大小&#xff0c;假如你现在正在制作一个游戏项目&…

Apollo 7周年大会:百度智能驾驶的展望与未来

本心、输入输出、结果 文章目录 Apollo 7周年大会&#xff1a;百度智能驾驶的展望与未来前言百度集团副总裁、智能驾驶事业群组总裁王云鹏发言 直播回放大会相关内容先了解 Apollo&#xfeff;开放平台 9.0架构图 发布产品Apollo 定义自己对于智能化的认知百度集团副总裁 王云鹏…

阿斯达年代记三强争霸服务器没反应 安装中发生错误的解决方法

阿斯达年代记三强争霸服务器没反应 安装中发生错误的解决方法 最近刚上线的由影视剧改编的游戏《阿斯达年代记三强争霸》可谓是在游戏圈内引起了轩然大波&#xff0c;这是一款由网石集团与龙工作室联合开发的MMORPG游戏&#xff0c;游戏背景设定在一个名为阿斯大陆的区域&…

Java之复制图片

从文件夹中复制图片 从这个文件夹&#xff1a; 复制到这个空的文件夹&#xff1a; 代码如下&#xff1a; import java.io.*; import java.util.Scanner;/*** 普通文件的复制*/public class TestDome10 {public static void main(String[] args) {// 输入两个路径// 从哪里(源路…

IOMMU和SMMU详解

前言&#xff1a; IOMMU&#xff08;输入输出内存管理单元&#xff09;的原理与CPU中的MMU&#xff08;内存管理单元&#xff09;相似。它的作用是管理设备的内存访问请求&#xff0c;允许安全、高效地在设备和内存之间直接传输数据。IOMMU通常用于支持高速数据传输的设备&…

了解时间复杂度和空间复杂度

在学习数据结构前&#xff0c;我们需要了解时间复杂度和空间复杂度的概念&#xff0c;这能够帮助我们了解数据结构。 算法效率分为时间效率和空间效率 时间复杂度 一个算法的复杂度与其执行的次数成正比。算法中执行基础操作的次数&#xff0c;为算法的时间复杂度。 我们采…

墨水屏技术在工业智能化领域的创新应用

墨水屏技术在工业智能化领域的创新应用 随着科技的快速发展&#xff0c;各种显示技术层出不穷&#xff0c;其中墨水屏作为一种独特的显示技术&#xff0c;逐渐在工业领域展现出其独特的优势和价值。墨水屏以其低功耗、高对比度和阅读舒适度高等特点&#xff0c;正成为工业应用…

9【PS作图】像素画Tips

放大缩小 “窗口”-排列-为…画布新建窗口&#xff0c;就可以新建一个窗口&#xff0c;实时看作图效果 如果要保持放大或缩小的像素画仍然保持硬边缘&#xff0c;需要设置两个东西 将 编辑 > 首选项 > 常规 中的 插值方式 改为 “邻近&#xff08;靠近硬边缘&#xff09…