【网络2】MII MDIO

文章目录

  • 1.MII:ISO网络模型中物理层(phy)和数据链路层(mac)属于硬件,其余都属于软件kernel
  • 2.MDC/MDIO:不仅管phy,只要支持mdio协议都可以管
    • 2.1
  • 3.RGMII时序调整:下面波形图都是测的bmc rx
  • 4.NCSI:


1.MII:ISO网络模型中物理层(phy)和数据链路层(mac)属于硬件,其余都属于软件kernel

SOC内部没有网络MAC外设:缺:网络效率不高。
在这里插入图片描述
SOC内部集成网络MAC外设:MII/RMII接口用来传输网络数据。MDIO(读写PHY内部寄存器)类似IIC两根线:一根数据线叫做MDIO(management data input/output,双向,不像MII那些串口单向有TX/RX),一根时钟线叫做MDC(clock,由bmc mac端驱动给出)。优:SOC内置DMA加速,支持10/100/1000M网速。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
AST2600配置寄存器选择RMII还是RGMII
在这里插入图片描述
如上4个mac配置好RMII和RGMII后,如下通过MAC控制器下的50寄存器控制速率,实质是控制时钟频率。
在这里插入图片描述

2.MDC/MDIO:不仅管phy,只要支持mdio协议都可以管

如下ast2500-mdio时序:时序由bmc端和phy端驱动实现,上面采集数据时间在下面范围内才有效,ast2500芯片限制。
在这里插入图片描述
如下ast2500-mdio协议:如下分为22和45两种规则,默认22。
在这里插入图片描述
如下ast2500-mdio寄存器:基地址0x1e680000,第26bit为1就是读。如果mdio/mdc线直接连到了switch上,需配置0:5,
在这里插入图片描述
在这里插入图片描述
如下第一行就是写入芯片和寄存器地址等。
在这里插入图片描述
在这里插入图片描述
如上读出0x11400000后去除0-15bit即变为0x1140。
在这里插入图片描述
如下对应00寄存器第6位和13位:1 0 ,所以当前phy工作在1000兆自适应全双工模式。
在这里插入图片描述
在这里插入图片描述
如上方法繁琐,如下uboot提供modio tool。
在这里插入图片描述

2.1

如下BMC速率适配:phy和switch同步速率不用管,只管phy和mac。
在这里插入图片描述
如下如果上面什么都识别不到走deflaut,speed = 1000写死(没有phy和rj45),
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如下phy led控制:根据灯确认有没有数据一直在传输和速率。led0是有数据传输时闪烁,led1(10、100兆)和led2(1000兆)匹配到速率后常亮。
在这里插入图片描述

3.RGMII时序调整:下面波形图都是测的bmc rx

phy芯片支持边缘和中间对齐,但是如下bmc芯片中:rgmii千兆时钟是125MHZ,时钟周期是1/125=8ns。
在这里插入图片描述
如下边缘对齐:bmc rx和clock时序相位重合,黄色下降和上升沿不在红色数据段。
在这里插入图片描述
在这里插入图片描述
如下中央对齐:黄色下降和上升沿红色数据段,所以不满足bmc rx边缘对齐,bmc rx数据采样受到clk线影响,丢包,需要调相位。
在这里插入图片描述
如下bmc芯片提供寄存器写入 0x0-0x1f 进行相位调节。
在这里插入图片描述
在这里插入图片描述
uboot有mactest工具,关闭WDT2,原理如下,发500个包,收到499个,说明丢包,验证通路,也会压力测试tx和rx时序。
在这里插入图片描述
在这里插入图片描述

4.NCSI:

在这里插入图片描述

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

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

相关文章

2023-06-19 Untiy进阶 C#知识补充2——C#版本与Unity的关系

文章目录 一、Unity 与 C# 版本二、Unity 的 .Net API 兼容级别 一、Unity 与 C# 版本 Unity 版本C# 版本Unity 2021.2C# 9Unity 2020.3C# 8Unity 2019.4C# 7.3Unity 2017C# 6Unity 5.5C# 4 ​ 更多信息可以在 Unity 官网说明查看:Unity - Manual: C# compiler (u…

EMC学习笔记(七)阻抗控制(一)

阻抗控制(一) 1.特征阻抗的物理意义1.1 输入阻抗1.2 特征阻抗1.3 偶模阻抗、奇模阻抗、差分阻抗 2.生产工艺对阻抗控制的影响 1.特征阻抗的物理意义 1.1 输入阻抗 在集总电路中,输入阻抗是经常使用的一个术语 ,它的物理意义是: …

在 Debian 12 上安装 KubeSphere 实战入门

老 Z,运维架构师,云原生爱好者,目前专注于云原生运维,云原生领域技术栈涉及 Kubernetes、KubeSphere、DevOps、OpenStack、Ansible 等。 前言 知识点 定级:入门级KubeKey 安装部署 KubeSphere 和 KubernetesDebian 操…

arm64架构的linux中断分析(一)

文章目录 1. 中断的概念和作用2. Linux中断处理机制2.1 中断请求2.2 中断处理2.3 中断完成2.4.中断触发和处理步骤详解2.4.1 异常向量表的解读 2.5 硬件中断号和软件中断号 1. 中断的概念和作用 当计算机的CPU需要在执行任务的同时响应外部事件时,中断是一种重要的…

6月份读书学习好文记录

看看CHATGPT在最近几个月的发展趋势 https://blog.csdn.net/csdnnews/article/details/130878125?spm1000.2115.3001.5927 这是属于 AI 开发者的好时代,有什么理由不多去做一些尝试呢。 北大教授陈钟谈 AI 未来:逼近 AGI、融进元宇宙,开源…

kafka消息队列的初步探索

消息队列的作用就是提高运行速度,防止线程堵塞。 kafka的作用 异步 通过在消息队列发送消息的方式,将对应的业务作为监听者,此时我们只需要考虑发送消息的时间即可,大大提高了运行的速度。 解耦 如果使用原来的直接调用对应业务的…

Spring高手之路6——Bean生命周期的扩展点:BeanPostProcessor

文章目录 1. 探索Spring的后置处理器(BeanPostProcessor)1.1 BeanPostProcessor的设计理念1.2 BeanPostProcessor的文档说明 2. BeanPostProcessor的使用2.1 BeanPostProcessor的基础使用示例2.2 利用BeanPostProcessor修改Bean的初始化结果的返回值2.3 …

Nacos配置中心交互模型是push还是pull?

对于Nacos大家应该都不太陌生,出身阿里名声在外,能做动态服务发现、配置管理,非常好用的一个工具。然而这样的技术用的人越多面试被问的概率也就越大,如果只停留在使用层面,那面试可能要吃大亏。 比如我们今天要讨论的…

leetcode216. 组合总和 III(回溯算法-java)

组合总和 III leetcode216. 组合总和 III题目描述解题思路代码演示 回溯算法专题 leetcode216. 组合总和 III 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/combination-sum-iii 题目描述 找出所有相加之和为 n 的 k 个…

ldsc python程序安装以及测试

教程参考: https://zhuanlan.zhihu.com/p/379628546https://github.com/bulik/ldsc 1. 软件安装 1.1 windows安装教程 首先配置: anaconda,为了需要conda环境git,为了下载github中的ldsc程序 打开windows电脑中的promote&am…

阿里云服务器价格如何?与其他云服务提供商的价格对比如何?

阿里云服务器价格如何?与其他云服务提供商的价格对比如何?   阿里云服务器价格概述   作为全球领先的云计算服务提供商,阿里云在确保服务器性能和安全性的同时,也非常注重产品的价格竞争力。阿里云服务器(ECS&…

基于STM32 ARM+FPGA的电能质量分析仪方案(一)硬件设计

本章主要给出了本系统的设计目标和硬件设计方案,后面详细介绍了硬件电路的设计 过程,包括数据采集板、 FPGAARM 控制板。 3.1系统设计目标 本系统的主要目的是实现电能质量指标的高精度测量和数据分析,其具体技术指标如 下所示&#xff1…

微服务中常见问题

Spring Cloud 组件 Spring Cloud五大组件有哪些? Eureka:注册中心 Ribbon:负载均衡 Feign:远程调用 Hystrix:服务熔断 Zuul/Gateway:服务网关 随着SpringCloud Alibaba在国内兴起,我们项目中…

C语言/C++ 之 打飞机游戏

【项目简介】 1、设计思想:本项目主要是为了实现打飞机游戏,主要包括5个函数模块,和1个主函数框架。分别是chu_shi_hua();、you_cao_zuo;、wu_cao_zuo();、show();、main();等。项目完成过程中主要运用了C/C中的输入输…

网络爬虫是什么

网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。 认识爬虫 我们所熟悉的一系列…

3 python进阶篇

文章目录 面向对象类属性和类方法类属性类方法静态方法 单例模式__new__ 方法类实现单例模式 异常 、模块和包异常自定义异常 模块和包模块的搜索顺序包的init文件发布模块(了解) 文件seek文件/目录的常用管理操作eval函数 补充性知识位运算小技巧 参考我…

Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识

文章目录 for循环while循环字符串操作访问字符串中的字符切片总结字符串拼接 文件读写try...except 异常处理函数模块和包类和面向对象编程完结 for循环 在 Python 中,for 循环用于遍历序列(list、tuple、range 对象等)或其他可迭代对象。for…

Java中反射机制,枚举,Lambda的使用

目录 一、反射机制 1、含义 2、作用 3、※反射相关的几个类 3.1、Class类(Class对象是反射的基石) 3.2、Class类中相关的方法 3.2.1 (※重要)常用获得类相关的方法 3.2.2 (※重要)常用获得类中属性、变量Field相关的方法 3.2.3 获得类中注解相…

N-Gram语言模型工具kenlm的详细安装教程

【本配置过程基于Linux系统】 下载源代码: wget -O - https://kheafield.com/code/kenlm.tar.gz |tar xz 编译: makdir kenlm/build cd kenlm/build cmake .. && make -j4 发现报错: 系统中没有cmake,按照错误提示&am…

ChatGPT 指南:角色扮演让回答问题更专业

让 ChatGPT 进行角色扮演 Act as ...,比如,律师、内科医生、心理医生、运动教练、哲学家、翻译、平面设计师、IT 工程师等等,从而才能让 ChatGPT 从这个角色角度来分析我们的问题,不然,它的回答可能会过于广泛。 下面以…