瑞芯微RGMII的配置

news/2024/11/7 22:38:41/

主要配置项

 

     除去复位等信号,我们主要关注两大块的配置:

    时钟配置

     MAC 采用125M时钟,PHY采用25M时钟。

       主要配置时钟源,这个和具体硬件连线强相关。例如125M时钟可以来源于soc内部的PLL,也可以由对端PHY 提供。

      由对端PHY 提供时,由于MAC 和PHY是两个器件,对于125M这个时钟的走线要注意,毕竟是高速时钟。

      而网上一些资料显示rk家内部的125M时钟在某些型号上存在问题,在做实际上要和厂家确认。 

   delay的配置

    分为tx_delay 和rx_delay,可以由phy和mac侧进行配置。

    例如我们上图中 phy侧硬件启用了rx_delay,则rx由PHY侧进行 配置;而tx由MAC进行配置。

    RK家提供了测试工具,可以尽快测试出合适的delay值。

    delay值的影响:比如默认delay值为0x44,在通过hub和PC互联时没有问题,而和pc直接连接时,协商就有问题,有时不能协商,有时为100M

     所以已经要用测试工具找到合适的delay值

配置实战

    

&mdio0 {rgmii_phy0: phy@1 {compatible = "ethernet-phy-ieee802.3-c22";motorcomm,clk-out-frequency-hz = <125000000>;reg = <0x1>;		};
};&gmac0 {// Use rgmii-rxid mode to disable rx delay inside Socphy-mode = "rgmii-rxid";clock_in_out = "input";snps,reset-gpio = <&gpio4 RK_PA2 GPIO_ACTIVE_LOW>;snps,reset-active-low;// Reset time is 20ms, 100ms for rtl8211f snps,reset-delays-us = <0 20000 100000>;pinctrl-names = "default";pinctrl-0 = <&gmac0_miim&gmac0_tx_bus2&gmac0_rx_bus2&gmac0_rgmii_clk&gmac0_rgmii_bus&gmac0_clkinout>;tx_delay = <0x35>;// rx_delay = <0x4f>;phy-handle = <&rgmii_phy0>;status = "okay";
};

针对上述配置的解释:

1.  这里有两个部分,一部分为mac,一部分为phy,两者通过phy-handle进行了关联

2.  在gmac里面,启用了管脚 gmac0_clkinout,即125M时钟由PHY通过此管脚提供给GMAC

3.  在phy侧,启用clk-out-frequency-hz   125M时钟的配置,以便PHY驱动进行时钟的输出使能配置。这个具体的配置项字段要看具体phy的驱动。

UDP丢包测试

测试丢包

测试命令

iperf -s -u

iperf -c 192.168.10.10 -u -i 1 -b 1000M -t 60

结果丢包7.x%

buffer修改

而修改接收buffer

echo  6291456 >/proc/sys/net/core/rmem_default 

则丢包问题解决。

修改/etc/sysctl.conf

net.core.rmem_max=6291456    6M

net.core.rmem_default=6291456

linux 与windows差异

在linux下,iperf -s -u 默认的窗口大小只有204K,通过命令

iperf -s -u -w 4M也不能增大此窗口,只能通过上述命令修改。

而在windows下,则可以通过iperf -s -u -w 4M 对接收buffer进行临时修改测试。


http://www.ppmy.cn/news/77191.html

相关文章

vue2+wangeditor富文本域

vue2wangeditor富文本域 效果图安装依赖初始化简约模式自定义模式图片设置只允许 base64 方式支持图片服务器 更多配置项目依赖项目代码 效果图 安装依赖 npm i wangeditor/editor wangeditor/editor-for-vue初始化 <template><div class"editor-box">…

Docker代码环境打包进阶 - DockerHub分享镜像

1. Docker Hub介绍 Docker Hub是一个广泛使用的容器镜像注册中心&#xff0c;为开发人员提供了方便的平台来存储、共享和分发Docker容器镜像。它支持版本控制、访问控制和自动化构建&#xff0c;并提供了丰富的公共镜像库&#xff0c;方便开发人员快速获取和使用各种开源应用和…

【软件测试用例篇】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 1. 测试用例的概念 2. 设计测试用例的好处 3…

OptaPlanner 中的hello world项目实战

实际操作步骤&#xff1a; 1.代码下载 下载下来的文件目录 2.使用编辑器打开hello-world项目 3.进行配置 配置JDK &#xff0c;File——》Settings File——》Project Structure 配置maven 说明&#xff1a;不用下载新的maven&#xff0c;用工具自带的&#xff0c;需要将sett…

Chapter8 :Physical Constraints(ug903)

8.1About Physical Constraints&#xff08;关于物理约束&#xff09; XilinxVivado集成设计环境&#xff08;IDE&#xff09;允许通过设置对象属性值对设计对象进行物理约束。示例包括&#xff1a; •I/O约束&#xff0c;如位置和I/O标准 •布局约束&…

XML配置文件

说明 XML配置文件是一种使用XML语言编写的文件&#xff0c;通常用于配置软件应用程序XML配置文件通常包含一组参数或设置&#xff0c;用于指定应用程序的行为或属性。这些设置可能包括数据库连接信息、服务器地址、应用程序功能等。XML配置文件通常作为应用程序的一部分提供&a…

【TCP/IP 网络模型】

文章目录 TCP/IP 网络模型OSI七层模型、TIP/IP四层模型应用层&#xff08;报文&#xff09;传输层&#xff08;段&#xff09;网络层&#xff08;包&#xff09;网络接口层&#xff08;帧&#xff09; TCP/IP 网络模型 OSI七层模型、TIP/IP四层模型 OSI七层模型 应用层&#x…

学生考勤信息管理系统

系列文章 任务36 学生考勤信息管理系统 文章目录 系列文章一、实践目的与要求1、目的2、要求 二、课题任务三、总体设计1.存储结构及数据类型定义2.程序结构3.所实现的功能函数4、程序流程图 四、小组成员及分工五、 测试操作页面bk.txt信息录入&#xff1a;加入新出勤的信息查…