T113-S3-RTL8211网口phy芯片调试


目录

前言

一、RTL8211介绍

二、硬件连接

三、设备树配置

四、内核配置

五、phy芯片配置

六、调试问题

总结


前言

        在嵌入式系统开发中,网络连接是至关重要的一部分。T113-S3开发板搭载了RTL8211系列的网口PHY芯片,用于实现以太网连接。在开发过程中,对于网口的稳定性和性能的调试至关重要。本篇博客将介绍如何调试T113-S3开发板中的RTL8211网口PHY芯片,以确保网络连接的正常工作。


一、RTL8211介绍

        Realtek(瑞昱半导体)公司的 RTL8211F-CG/RTL8211FD-CG/RTL8211FI-CG/RTL8211FDI-CG是符合10Base-T,100Base-TX和1000Base-T IEEE 802.3标准的高度集成的以太网收发器。它提供了通过CAT.5 UTP电缆发送和接收以太网数据包的所有必要的物理层功能。 RTL8211FI和RTL8211FDI符合工业级标准。

        RTL8211F(I)/RTL8211FD(I)使用先进DSP和模拟前端(AFE)技术,通过UTP电缆实现高速数据传输。在RTL8211F(I)/RTL8211FD(I)中实现诸如交叉检测和自动校正,极性校正,自适应均衡,串扰消除,回波消除,定时恢复和纠错的功能,以提供在10Mbps,100Mbps或1000Mbps时鲁棒发送和接收能力。

        MAC和PHY之间的1000Base-T,10Base-T和100Base-TX数据传输是通过RGMII接口实现的。RTL8211F(I)/RTL8211FD(I)支持多种RGMII信号电压,包括3.3,2.5,1.8和1.5V。

二、硬件连接

        T113-S3采用RGMII模式通过PG口与RTL8211-phy芯片连接,具体连接示意图如下所示:

三、设备树配置

        在SDK里面通过修改device/config/chips/t113/configs/evb1_auto/board.dts设备树配置文件,添加网口pinctl控制脚,并使能gmac网咯节点。

        添加pinctl控制脚:


&gmac0_pins_c{allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4","PG5", "PG6", "PG7", "PG8", "PG9","PG10", "PG12", "PG14", "PG15";allwinner,function = "gmac0";allwinner,muxsel = <4>;allwinner,drive = <3>;allwinner,pull = <1>;
};&gmac0_pins_d{allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4","PG5", "PG6", "PG7", "PG8", "PG9","PG10", "PG12", "PG14", "PG15";// allwinner,function = "io_disabled";// bias-disable;allwinner,function = "gmac0";allwinner,muxsel = <4>;allwinner,drive = <3>;allwinner,pull = <1>;
};

使能gmac网络节点,并正确配置phy-rst复位管脚:

//RGMII
&gmac0 {pinctrl-0 = <&gmac0_pins_c>;pinctrl-1 = <&gmac0_pins_d>;pinctrl-names = "default", "sleep";phy-mode = "rgmii";use_ephy25m = <0>;tx-delay = <7>;rx-delay = <31>;phy-rst = <&pio PB 3 GPIO_ACTIVE_HIGH>; status = "okay";
};

四、内核配置

        linux内核需要打开realtek phy驱动配置,具体路径如下图所示:

 具体路径为:Device Drivers > Network device support > PHY Device support and infrastructure 勾选Realtek PHYs驱动即可。

配置完成之后重新编译内核,烧写固件到开发板,rtl8211 phy正常驱动如下图所示:

 设备eth0节点启用正常:

 MDIO总线访问phy芯片寄存器正常,其中4为phy芯片地址

五、phy芯片配置

       phy芯片配置在linux系统里面一般使用phytool工具对phy芯片进行寄存器配置,根据我这个项目情况,需要修改phy芯片active、link指示灯状态,当网口插上时link灯常亮,有数据交互时active灯闪亮。

        通过读取RTL8211芯片手册可得知phy led配置寄存器为page 0xd04 0x10寄存器,寄存器说明如下所示:

 根据需求这个寄存器地址需要改为0x2F71,修改命令如下所示:

phytool write eth0/0/0x1F 0xd04
phytool write eth0/0/0x10 0x2F71

六、调试问题

       1、phy-RTL8211启动报错-hardware error:

        这个错误一般是由于phy-mode模式配置错误引起,由于官方sdk默认配置gmac为RMII模式,需要将RMII模式修改为RGMII模式即可正常识别:

2、网络异常:ifconfig显示能发不能收:

         在确认硬件本身没问题的情况下,一般是由于pinctl引脚配置错误,仔细根据原理图配置pinctl网口引脚即可,如上设备树配置章节所示:


总结

        调试T113-S3开发板中的RTL8211网口PHY芯片可能涉及多个方面,包括硬件连接、内核配置和驱动问题。通过仔细的步骤和有条理的排查,您可以确保网口连接稳定,系统正常工作。务必在调试过程中保持耐心,并参考相关文档和社区资源,以获取更多帮助和支持。这将有助于您成功实现网络连接并顺利完成开发工作。

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

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

相关文章

C++ QT(二)

目录 Qt 控件按钮QPushButton控件简介用法示例运行效果 QToolButton控件简介用法示例运行效果 QRadioButton控件简介用法示例运行效果 QCheckBox控件简介用法示例运行效果 QCommandLinkButton控件简介用法示例运行效果 QDialogButtonBox控件简介用法示例运行效果 输入窗口部件Q…

用 React+ts 实现无缝滚动的走马灯

一、走马灯的作用 走马灯是一种常见的网页交互组件&#xff0c;可以展示多张图片或者内容&#xff0c;通过自动播放或者手动切换的方式&#xff0c;让用户能够方便地浏览多张图片或者内容。 本次实现的不是轮播图而是像传送带一样的无限滚动的形式。 二、需求梳理 走马灯可设…

Go Gin 中使用 JWT

一、JWT JWT全称JSON Web Token是一种跨域认证解决方案&#xff0c;属于一个开放的标准&#xff0c;它规定了一种Token实现方式&#xff0c;目前多用于前后端分离项目和OAuth2.0业务场景下。 二、为什么要用在你的Gin中使用JWT 传统的Cookie-Sesson模式占用服务器内存, 拓展性…

uniapp实现自定义导航内容高度居中(兼容APP端以及小程序端与胶囊对齐)

①效果图如下 1.小程序端与胶囊对齐 2.APP端内容区域居中 注意&#xff1a;上面使用的是colorui里面的自定义导航样式。 ②思路&#xff1a; 1.APP端和小程序端走不同的方法&#xff0c;因为小程序端要计算不同屏幕下右侧胶囊的高度。 2.其次最重要的要清晰App端和小程序端…

【数学建模】清风数模更新5 灰色关联分析

灰色关联分析综述 诸如经济系统、生态系统、社会系统等抽象系统都包含许多因素&#xff0c;系统整体的发展受各个因素共同影响。 为了更好地推动系统发展&#xff0c;我们需要清楚哪些因素是主要的&#xff0c;哪些是次要的&#xff0c;哪些是积极的&#xff0c;哪些是消极的…

网络基础——网络的由来与发展史

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 目录 一、网络的由来 二、计算机网络的发展史 1、第一阶段 2、第二阶段 3、第三阶段 前言 每天都是使用网络&#xff0c;那么你知道网络…

FPGA----Vivado SDK创建并使用静态链接库(C/C++代码移植)

1、在进行SoC开发时&#xff0c;PS端的C/C代码可能涉及到核心算法需要移植操作&#xff0c;为此&#xff0c;本文讲述了如何将C/C代码打包为.a文件供程序调用 2、文章以我的程序为例&#xff0c;逐步讲述代码生成静态链接库并调用的方法。 下面是我程序的目录结构&#xff0c…

RocketMQ 延迟消息

RocketMQ 延迟消息 RocketMQ 消费者启动流程 什么是延迟消息 RocketMQ 延迟消息是指&#xff0c;生产者发送消息给消费者消息&#xff0c;消费者需要等待一段时间后才能消费到。 使用场景 用户下单之后&#xff0c;15分钟未支付&#xff0c;对支付账单进行提醒或者关单处理…

PostgreSQL查询慢sql原因和优化方案

PostgreSQL sql查询慢优化方案有一下几种解决方案&#xff1a; 1.关闭会话 查询慢sql的执行会话&#xff0c;关闭进程。 查看数据库后台连接进程 SELECT count(*) FROM pg_stat_activity;SELECT * FROM pg_stat_activity; 查看数据库后台连接进程&#xff0c;但是此条SQL不…

用HARU-Net增强核分割:一种基于混合注意的残差u块网络

文章目录 Enhancing Nucleus Segmentation with HARU-Net: A Hybrid Attention Based Residual U-Blocks Network摘要本文方法损失函数后处理消融实验 Enhancing Nucleus Segmentation with HARU-Net: A Hybrid Attention Based Residual U-Blocks Network 摘要 核图像分割是…

W6100-EVB-PICO 做TCP Server进行回环测试(六)

前言 上一章我们用W6100-EVB-PICO开发板做TCP 客户端连接服务器进行数据回环测试&#xff0c;那么本章将用开发板做TCP服务器来进行数据回环测试。 TCP是什么&#xff1f;什么是TCP Server&#xff1f;能干什么&#xff1f; TCP (Transmission Control Protocol) 是一种面向连…

zabbix监控安装部署

目录 一、环境 二、配置 1.配置yum源&#xff0c;这里用的清华的 2.过滤一下安装包&#xff0c;查看依赖包 安装依赖包 3.配置数据库 开机自启 创建数据库 创建用户 授权 导入数据到数据库 查看zabbix数据库有没有表和数据 4.修改zabbix配置文件 1.修改zabbix配置…

去趋势化一个心电图信号、信号功率谱、低通IIR滤波器并平滑信号、对滤波器引起的延迟进行补偿研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

SPM实现framework自动管理和分发

一、前言 Swift Package Manager (SPM) 是苹果官方提供的用于管理 Swift 项目的依赖关系和构建过程的工具。它是一个集成在 Swift 编程语言中的包管理器&#xff0c;用于解决在开发过程中管理和构建包依赖项的需求。 那么如何使用SPM管理和分发Objective C编写的二进制库呢&a…

不同路径 II——力扣63

class Solution {public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {int n=

【APITable】教程:创建并运行一个自建小程序

1.进入APITable&#xff0c;在想要创建小程序的看板页面点击右上角的【小程序】&#xff0c;进入小程序编辑页面。 2.创建一个新的小程序区。 点击【 添加小程序】 点击创建小程序&#xff0c;选择模板&#xff0c;输入名字。 3.确定后进入小程序部署引导页面。 4.打开Xshell 7…

初识鸿蒙跨平台开发框架ArkUI-X

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上&#xff0c;HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念&#xff0c;能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备&#xff0c;提供全场景&#…

99. for循环练习题-3种方式输出0-9

【目录】 文章目录 99. for循环练习题-3种方式输出0-91. for循环和while循环的区别2. 输出 0~(n-1)的数字2.1 基础代码2.2 自定义函数代码2.3 异常处理语句代码 【正文】 99. for循环练习题-3种方式输出0-9 1. for循环和while循环的区别 for循环和while循环都用于重复执行特定…

idea模板的使用(配置xml文件模板)

1. 问题的引出 我们在日常项目中可以发现&#xff0c;sql映射文件和mybatis主配置文件&#xff0c;以及application.yml文件中有很多固定不变的内容&#xff0c;为了方面使用&#xff0c;所以可以把这些xml文件设置为模板 2. 创建模板的步骤 按照图片一步一步进行即可 点击…

(二)结构型模式:1、适配器模式(Adapter Pattern)(C++实现示例)

目录 1、适配器模式&#xff08;Adapter Pattern&#xff09;含义 2、适配器模式应用场景 3、适配器模式的UML图学习 4、C实现适配器模式的示例 1、适配器模式&#xff08;Adapter Pattern&#xff09;含义 将一个接口转换为客户端所期待的接口&#xff0c;从而使两个接口…