裕泰微YT8521SH PHY芯片在uboot下的代码适配(一)

文章目录

    • 支持的工作模式
    • 自协商模式下改变 PHY 支持的速度和双工能力
  • RGMII 配置
    • 通过 POS 设置 RX_delay
    • 通过寄存器加长 RX_delay
    • TX_delay 的设置
    • 驱动能力的设置
  • LED 灯配置
  • 硬件电路设计相关问题
    • 快速上下电的要求
    • 上电复位时序要求

YT8521SC/SH 是一款单口千兆以太网 PHY。

支持的工作模式

YT8521S 的 RGMII, SGMII/Fiber, RGMII 可以组合为多种模式:
UTP-RGMII
FIBER-RGMII
UTP/FIBER-RGMII
UTP-SGMII
UTP-FIBER_AUTO
UTP-FIBER_FORCE
SGMII_MAC-RGMII_PHY
SGMII_PHY-RGMII_MAC
上述各模式的选择是通过 power-on-strapping 实现的,具体详见 datasheet 或参考电路。

我们使用的是UTP_TO_RGMII模式

自协商模式下改变 PHY 支持的速度和双工能力

write_utp_mii_reg0x0[12]: 1’b1 #自协商打开,此为默认打开状态
write_utp_mii_reg0x4[8:5] #相应 bit 置 1 来打开对应的本地自协商时的 100/10BT 的速度双工能力
write_utp_mii_reg0x9[9] #相应 bit 置 1 来打开对应的本地自协商时的 1000BT 的速度双工能力
write_utp_mii_reg0x0[15]: 1’b1 #软复位 ,使上述配置生效

RGMII 配置

通过 POS 设置 RX_delay

根据 RGMII 标准,时钟的上升和下降沿采样,且时钟信号需要比数据信号 delay 1~2ns 来保证 setup/hold
时间,这个 delay 可以发送端加,也可以接收端加,甚至在早期的 RGMII 标准中通过时钟信号的板上走线延迟
来达到此目的。目前的应用中一般都是发送端加,对 UTP 来说就是 RX_CLK 的延迟,称为 rx_delay。YT8521 是通过芯片的 power-on-strapping 管脚来实现的开/关 rx_delay(具体见参考电路或 datasheet)。开启后,RGMII在 125MHz(1000BT/1000BX)下的 rx_delay 约为 1.x 纳秒,25MHz/2.5MHz(100BT/10BT)下的 rx_delay 约为7.x 纳秒。

通过寄存器加长 RX_delay

实际使用中若需要加长 rx_delay,以改善 setup 时间,也可以通过配置 common 扩展寄存器来配置:
Write_ext_reg0xa003[13:10]: 默认为 4’b0,每加 1,则 rx_delay 延长约 150ps。(无论 RGMII 工作在
125MHz/25MHz/2.5MHz)

TX_delay 的设置

UTP 的 RGMII tx_delay 默认很少,也就是 MAC 发给 UTP 的时钟和数据信号要保证足够的 setup/hold 时
间。假如 MAC 发送给 UTP 的 RGMII 的时钟和数据信号不满足要求,通常为 setup 时间不够,UTP 也可以通过
配置 common 扩展寄存器来配置:
Write_ext_reg0xa003[3:0]: RGMII 125MHz 时的 tx_delay,默认为 4’b1(150ps),每加 1,则 tx_delay 延长约
150ps。
Write_ext_reg0xa003[7:4]: RGMII 25/2.5MHz 时的 tx_delay,默认为 4’b1111(2.25ns),已经是最大延迟。

驱动能力的设置

UTP 的 RGMII 驱动能力,反映在上升/下降时间。驱动能力大,意味着能带更大的负载,但也可能引入
EMI 的问题。UTP 默认的驱动能力是权衡两者之后的设置,并非最强档位。若需要加强或减弱驱动能力,可以
通过配置 common 扩展寄存器来配置:
Write_ext_reg0xa010[5:4]: 默认为 2’b01。2’b11 为最强档,2’b00 为最弱档。

LED 灯配置

YT8521SH 支持三个 LED 灯:LED0,LED1,LED2。它们对应的配置寄存器为 utp_ext_reg0xa00c,
utp_ext_reg0xa00d, utp_ext_reg0xa00e。用来配置 LED 在不同状态下是闪、灭、亮。其中闪的频率由
utp_ext_reg0xa00f 定义闪的频率分为 Blink mode2 和 Blink mode1 两种。
注意:除了 collision 状态和 force LED 状态可选 Blink mode2 或 Blink mode1(见 utp_ext_reg0xa00b)外,
其它的状态若要闪只能是 Blink mode2。
为方便使用,下表列出了一些常用 LED 行为对应的寄存器配置:
在这里插入图片描述
在这里插入图片描述
另外,闪烁的占空比和频率配置分别放在 utp_ext_reg0xa00f 中。除了连接和收发包外的一些 LED 行为配置放
在 utp_ext_reg0xa00b 中。具体请参考 datasheet。

硬件电路设计相关问题

快速上下电的要求

YT8521SH 快速上下电的要求和条件,根据实验和仿真,结论如下:

  1. 当 3.3V 电压掉到 3.3~2.5V 或 0~1.4V,再上升回 3.3V,芯片会正常工作;
  2. 当 3.3V 电压掉到 1.4~2.5V 的范围,再上升回 3.3V,则分为两种情况:
    如果期间芯片的复位管脚为低(一般小于 1V),再升回 3.3V 后,此信号拉到高,则芯片经过复位,会正
    常工作。
    如果期间芯片的复位管脚为高(一般高于 1.5V),再升回 3.3V 后,则芯片未经过复位,可能工作不正常,
    但在下一次硬复位后即可正常工作

上电复位时序要求

YT8521SH 芯片支持多种模式。
一、对于不包含 RGMII 相关的模式,它的上电时序要求如下:
在这里插入图片描述
说明:

  1. 若 1.2V 或 CLK_25MHz 由芯片内部电源/晶体振荡电路产生,则它们与 3.3V 的时序由芯片内部控制,满
    足芯片内部时序要求。其中可能由于 3.3V 上升慢,而 1.2V 上升快,导致 1.2V 比 3.3V 先稳定,这是正常现
    象,无问题。或者 CLK_25MHz 在 3.3 上电未稳定时即有输出也是正常现象。
  2. 若 1.2V 或 CLK_25MHz 由外灌,则需遵守上述时序。其中 1.2V 和 CLK_25MHz 并不要求先后,但要求
    1.2V 和 CLK_25MHz 都稳定并保持至少 10ms 后再释放 Reset 信号。

上述说明详细可见YT8521SH应用说明。

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

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

相关文章

OSPF ROUTER-ID-新版(15)

目录 整体拓扑 操作步骤 1.INT 验证Router-ID选举规则 1.1 查看路由器Router-ID 1.2 配置R1地址 1.3 查看R1接口信息 1.4 查看R1Router-ID 1.5 删除接口IP并查看Router-ID 1.6 手工配置Router-ID 2.基本配置 2.1 配置R1的IP 2.2 配置R2的IP 2.3 配置R3的IP 2.4 配…

数据库管理-第128期 2023总结(202301229)

数据库管理-第128期 2023总结(202301229) 到了2023年的最后一个工作日,也该对即将过去的2023年做一个小小的总结: 1 写文章 2023年在CSDN总共写了82篇文章。 2023年4月开始在墨天轮写文章,总共写了75篇文章&#xf…

电子工程师如何接私活赚外快?

对电子工程师来说,利用业余时间接私活是个很常见的技术,不仅可以赚取额外收入,也能提升巩固技术,可以说国内十个工程师,必有五个在接私活养家糊口,如果第一次接私活,该如何做? 很多工…

基于Springboot+vue医院管理系统(前后端分离)

最近有一些读者问我有没有完整的基于SpringbootVue的项目源码,今天给大家整理了一下,无偿分享给大家。 功能: 医生信息管理 换着信息管理 挂号信息管理 药物信息管理 检查项目管理 病床信息管理 排班信息管理 数据统计分析 开发工具…

基于低代码的指尖遐想_1

解决问题或分析事务的思考方法: 1、什么是低代码,或者说现在的低代码能做什么,未来能做什么,其存在的合理性是什么? 回答这个问题的本质是搜集信息,公开的或非公开的。 答:低代码主要分为广义…

视频号三年:质疑红利,理解红利,抄底红利

“去年刚进来时,视频号带货配套都还不成熟,团队都不熟悉后台操作,硬是磨合了一个多月,也做好了亏钱的准备。不过前两天刚算了帐,今年 GMV 已经比去年翻了两番。” “22年想靠投流起号,但每次投流计划基本消…

地震烈度速报与预警工程成功案例的经验分享 | TDengine 技术培训班第一期成功落地

近日,涛思数据在成都开设了“国家地震烈度速报与预警工程数据库 TDengine、消息中间件 TMQ 技术培训班”,这次培训活动共分为三期,而本次活动是第一期。其目标是帮助参与者深入了解 TDengine 和 TMQ 的技术特点和应用场景,并学习如…

geemap学习笔记037:分析地理空间数据--坐标格网和渔网

前言 坐标格网(Coordinate Grid)简称“坐标网”,是按一定纵横坐标间距,在地图上划分的格网,坐标网是任何地图上不可缺少的要素之一。下面将详细介绍一下坐标格网和渔网。 1 导入库并显示地图 import ee import geem…

node 项目中 __dirname / __filename 是什么,为什么有时候不能用?

__dirname 是 Node.js 中的一个特殊变量,表示当前执行脚本所在的目录的绝对路径。 __filename 同理,是 Node.js 中的一个特殊变量,表示当前执行脚本的绝对路径,包括文件名。 在 Node.js 中,__dirname / __filename是…

springboot系列——IDEA创建项目并运行

springboot Spring Boot是为了简化Spring应用程序的开发和部署而产生的。 Spring Boot提供了一种基于约定优于配置的开发模式。它自动配置了Spring应用程序所需的各种组件和依赖,并提供了简单易用的命令行工具来构建和运行应用程序。 Spring Boot还提供了一套开箱…

SeaTunnel流处理同步MySQL数据至ClickHouse

ClickHouse是一种OLAP类型的列式数据库管理系统,ClickHouse完美的实现了OLAP和列式数据库的优势,因此在大数据量的分析处理应用中ClickHouse表现很优秀。 SeaTunnel是一个分布式、高性能、易扩展、用于海量数据同步和转化的数据集成平台。用户只需要配置…

最快速度与最简代码搭建卷积神经网络,并快速训练模型,每日坚持手撕默写代码

大家好,我是微学AI,今天给大家介绍一下最快速度与最简代码搭建卷积神经网络,并快速训练模型,每日坚持手撕默写代码。随着人工智能的快速发展,去年有强大的大模型ChatGPT横空出世,国内的大模型也紧追其后的发…

用于IT管理的COBIT

随着世界的不断发展和变化,企业必须像冲浪者一样乘风破浪,适应社会不断更新的浪潮,拥抱新技术。信息技术(IT)已成为大多数企业运营的支柱,对战略决策、客户互动和整体效率都起了一定的影响作用。然而&#…

三巨头对决:深入了解pnpm、yarn与npm

欢迎来到我的博客,代码的世界里,每一行都是一个故事 三巨头对决:深入了解pnpm、yarn与npm 前言包管理器简介npm(Node Package Manager):Yarn:pnpm(Performant Npm)&#…

基于ssm学生奖惩管理系统+v论文

摘 要 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对学生奖惩信息管理的提升&#x…

PowerShell Instal 一键部署TeamCity

前言 TeamCity 是一个通用的 CI/CD 软件平台,可实现灵活的工作流程、协作和开发实践。允许在您的 DevOps 流程中成功实现持续集成、持续交付和持续部署。 系统支持 Centos7,8,9/Redhat7,8,9及复刻系列系统支持 Windows 10,11,2012,2016,2019,2022高版本建议使用9系列系统…

C语言 linux文件操作(二)

文章目录 一、获取文件长度二、追加写入三、覆盖写入四、文件创建函数creat 一、获取文件长度 通过lseek函数,除了操作定位文件指针,还可以获取到文件大小,注意这里是文件大小,单位是字节。例如在file1文件中事先写入"你好世…

智慧工地云平台源码 支持二次开发、支持源码交付

智慧工地利用移动互联、物联网、云计算、大数据等新一代信息技术,彻底改变传统施工现场各参建方的交互方式、工作方式和管理模式,为建设集团、施工企业、监理单位、设计单位、政府监管部门等提供一揽子工地现场管理信息化解决方案。 通过人员管理、车辆管…

c++ 静态联编+动态联编 (多态)

静态多态 动态多态 1)静态多态和动态多态的区别就是函数地址是早绑定(静态联编)还是晚绑定(动态联编)。 如果函数的调用,在编译阶段就可以确定函数的调用地址,并产生代码,就是静态多态(编译时多态),就是说地址是早绑定…

HTML+CSS+JavaScript制作电子时钟

一 效果展示 二 步骤 在网上下载0-9的jpg图片,将其复制粘贴到项目images文件中,注意,图片的命名一定是数字形式,例如:1.jpg,风景图也是自行下载然后粘贴到相应的文件。 三 代码实现…