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

目录

前言

一、LAN8720A介绍

二、原理图连接

三、设备树配置

四、内核配置

五、调试问题

总结


前言

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


一、LAN8720A介绍

        LAN8720A是一款常用的以太网物理层(PHY)芯片,由微芯科技(Microchip Technology)公司生产。它被广泛应用于各种网络设备,如嵌入式系统、单板计算机、工业自动化设备、路由器、交换机等,用于实现高速以太网连接。

以下是LAN8720A的主要特点和特性:

  1. 速率和接口: LAN8720A支持10/100Mbps的以太网速率,与IEEE 802.3u标准兼容。它采用了常见的RMII(Reduced Media Independent Interface)接口,可以与各种主控芯片和处理器连接。

  2. 工作模式: 芯片支持全双工和半双工模式,可以适应不同的网络通信需求。

  3. 自动协商: LAN8720A支持自动协商功能,能够自动检测并适应连接的网络速率和工作模式,从而简化了硬件和软件配置。

  4. 低功耗: 芯片具有低功耗设计,适用于需要长时间运行的嵌入式系统和移动设备。

  5. 内部时钟生成: LAN8720A内部集成了时钟生成电路,可以产生所需的时钟信号,减少了外部组件的需要。

  6. 自动MDI/MDIX交换: 芯片支持自动MDI(Medium Dependent Interface)/MDIX(Medium Dependent Interface Crossover)交换功能,允许直接连接到交叉线缆或普通直通线缆上。

  7. 诊断和状态指示: 芯片提供了诊断功能,可以监测链路状态、电缆长度和信号强度。同时,它还支持LED指示灯,用于显示连接和活动状态。

  8. 温度范围: LAN8720A适用于工业级应用,具有广泛的工作温度范围,适应各种环境条件。

  9. 电源: 芯片工作电压为3.3V,符合现代数字电路的标准电压。

二、原理图连接

        T113-S3采用RMII模式通过PG口与LAN8720A-phy芯片连接,使用PE组io脚作为连接脚与该phy芯片相连接,具体连接示意图如下所示:。

 

三、设备树配置

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

&gmac0_pins_a{allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4","PE5", "PE6", "PE7","PE8", "PE9";allwinner,function = "gmac0";allwinner,muxsel = <8>;allwinner,drive = <1>;allwinner,pull = <0>;
};&gmac0_pins_b{allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4","PE5", "PE6", "PE7","PE8", "PE9";allwinner,function = "gpio_in";allwinner,muxsel = <0>;allwinner,drive = <1>;allwinner,pull = <0>;
};&gmac0 {pinctrl-0 = <&gmac0_pins_a>;pinctrl-1 = <&gmac0_pins_b>;pinctrl-names = "default", "sleep";phy-mode = "rmii";use_ephy25m = <0>;tx-delay = <7>;rx-delay = <31>;phy-rst = <&pio PE 13 GPIO_ACTIVE_HIGH>;status = "okay";
};

四、内核配置

        linux内核需要打开SMSC phy驱动配置,> Device Drivers > Network device support > PHY Device support and infrastructure 具体路径如下图所示:

 配置保存重新编译内核烧写到开发板即可。

五、调试问题

       系统启动之后出现如下打印:Master/slave resolution failed, maybe conflicting manual settings?

解决方法:修改全志SDK内核驱动文件,/kernel/linux-5.4/drivers/net/ethernet/allwinner/sunxi-gmac.c驱动文件中的geth_phy_init函数,修改部分如下截图所示,原因是该驱动文件访问了一个千兆phy才有的寄存器,导致报错网口出现问题。

 修改之后,phy驱动正常加载:

 网口速率测试如下所示:

 


总结

        通过这些调试,您应该能够成功地在T113-S3 CPU上搭载LAN8720A PHY芯片,并确保网络连接的稳定性和可靠性。调试是一个逐步的过程,需要耐心和仔细。如果遇到问题,可以查阅相关文档、咨询开发者社区或专业人士以获得帮助。祝您在调试过程中获得成功!。

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

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

相关文章

SystemVerilog interface使用说明

1. Interface概念 System Verilog中引入了接口定义&#xff0c;接口与module 等价的定义&#xff0c;是要在其他的接口、module中直接定义&#xff0c;不能写在块语句中&#xff0c;跟class是不同的。接口是将一组线捆绑起来&#xff0c;可以将接口传递给module。 2. 接口的优…

W5100S-EVB-PICO做UDP Client进行数据回环测试(八)

前言 上一章我们用开发板作为UDP Server进行数据回环测试&#xff0c;本章我们让我们的开发板作为UDP Client进行数据回环测试。 连接方式 使开发板和我们的电脑处于同一网段&#xff1a; 开发板通过交叉线直连主机开发板和主机都接在路由器LAN口 测试工具 网路调试工具&a…

Python自动化小技巧18——自动化资产月报(word设置字体表格样式,查找替换文字)

案例背景 每月都要写各种月报&#xff0c;经营管理月报&#xff0c;资产月报.....这些报告文字目标都是高度相似的&#xff0c;只是需要替换为每个月的实际数据就行&#xff0c;如下&#xff1a; (打码是怕信息泄露.....) 可以看到&#xff0c;这个报告的都是高度模板化&…

商用汽车转向系统常见故障解析

摘要&#xff1a; 车辆转向系统是用于改变或保持汽车行驶方向的专门机构。其作用是使汽车在行驶过程中能按照驾驶员的操纵意图而适时地改变其行驶方向&#xff0c;并在受到路面传来的偶然冲击及车辆意外地偏离行驶方向时&#xff0c;能与行驶系统配合共同保持车辆继续稳定行驶…

AI重新定义音视频生产力“新范式”

// 编者按&#xff1a;AIGC无疑是当下的热门话题和场景。面对AI带来的技术变革和算力挑战&#xff0c;该如何应对&#xff1f;LiveVideoStackCon 2023上海站邀请到了网心科技副总裁武磊为我们分享网心在面对AI应用场景和业务需求下的实践经验。 文/武磊 编辑/LiveVideoStack …

八股文之框架篇(Spring Boot、SSM)

文章目录 Spring中的单例bean是线程安全的吗什么是AOP&#xff0c;项目中有没有使用到AOPSpring中的事务是如何实现的Spring中事务失效的场景有哪些Bean的生命周期Spring中的循环依赖&#xff08;循环引用&#xff09;SpringMVC的执行流程SpringBoot自动配置原理Spring、Spring…

Python学习:迭代器与生成器的深入解析

函数在Python中扮演着重要角色&#xff0c;不仅可以封装代码逻辑&#xff0c;还能通过迭代器和生成器这两种强大的技术&#xff0c;实现更高效的数据处理和遍历。本篇博客将深入探讨Python函数的迭代器和生成器&#xff0c;结合实际案例为你揭示它们的神奇&#xff0c;以及如何…

线段树详解——影子宽度

OK&#xff0c;今天来讲一讲线段树~~ 线段树是什么线段树的实现线段树的时间复杂度线段树的应用线段树的节点结构其他操作和优化例题——影子宽度输入输出格式输入格式输出格式 输入输出样例输入样例输出样例 例题讲解 线段树是什么 线段树&#xff08; S e g m e n t Segmen…

C语言实例_解析GPS源数据

一、GPS数据格式介绍 GPS&#xff08;全球定位系统&#xff09;数据格式常见的是NMEA 0183格式&#xff0c;NMEA 0183格式是一种用于导航设备间传输数据的标准格式&#xff0c;定义了一套规范&#xff0c;使得不同厂商的设备可以通过串行通信接口&#xff08;常见的是RS-232&a…

Java 中操作 Redis

文章目录 一、Redis 常用数据类型二、Redis 常用操作命令1. 字符串命令2. 哈希命令3. 列表命令4. 集合命令5. 有序集合命令6. 通用命令 三、在 Java 中操作 Redis1. 导入 maven 坐标2. 配置 Redis 数据源3. 编写配置类 四、在代码中的具体使用 一、Redis 常用数据类型 Redis 存…

大文本的全文检索方案附件索引

一、简介 Elasticsearch附件索引是需要插件支持的功能&#xff0c;它允许将文件内容附加到Elasticsearch文档中&#xff0c;并对这些附件内容进行全文检索。本文将带你了解索引附件的原理和使用方法&#xff0c;并通过一个实际示例来说明如何在Elasticsearch中索引和检索文件附…

SpringBoot---内置Tomcat 配置和切换

&#x1f600;前言 本篇博文是关于内置Tomcat 配置和切换&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动力&#x…

Spring Cloud Alibaba -微服务架构(二)

1. 微服务架构介绍 微服务架构&#xff0c; 简单的说就是将单体应用进一步拆分&#xff0c;拆分成更小的服务&#xff0c;每个服务都是一个可以独立运行的项目。 1.1 微服务架构的常见问题 一旦采用微服务系统架构&#xff0c;就势必会遇到这样几个问题&#xff1a; 这么多小…

(已解决)PySpark : AttributeError: ‘DataFrame‘ object has no attribute ‘iteritems‘

AttributeError: ‘DataFrame’ object has no attribute ‘iteritems’ 原因在使用SparkSession对象中createDataFrame函数想要将pandas的dataframe转换成spark的dataframe时出现的 因为createDataFrame使用了新版本pandas弃用的iteritems()&#xff0c;所以报错 解决办法&…

city walk结合VR全景,打造新时代下的智慧城市

近期爆火的city walk是什么梗&#xff1f;它其实是近年来备受追捧的城市漫步方式&#xff0c;一种全新的城市探索方式&#xff0c;与传统的旅游观光不同&#xff0c;城市漫步更注重与城市的亲密接触&#xff0c;一步步地感受城市的脉动。其实也是一种自由、休闲的方式&#xff…

Vue的鼠标键盘事件

Vue的鼠标键盘事件 原生 鼠标事件(将v-on简写为) click // 点击 dblclick // 双击 mousedown // 按下 mousemove // 移动 mouseleave // 离开 mouseout // 移出 mouseenter // 进入 mouseover // 鼠标悬浮mousedown.left 键盘事件 keydown //键盘按下时触发 keypress …

Django实现音乐网站 ⑾

使用Python Django框架制作一个音乐网站&#xff0c; 本篇主要是前端开发前的一些必要配置和首页展示开发。 目录 配置应用路由 创建应用路由文件 应用路径加入项目路径 创建项目模板 创建项目及应用模板路径 设置模板路径 设置静态资源路径 创建静态资源路径 配置静态…

thinkphp6前后端验证码分离以及验证

1.验证码接口生成验证码: public function verify(){return captcha(); } 也可以自己写方法 2.验证方法和普通模式session验证有区别,需要改原文件: 修改后的代码: <?php // +---------------------------------------------------------------------- // | ThinkP…

Shell脚本基础( 四: sed编辑器)

目录 1 简介 1.1 sed编辑器的工作流程 2 sed 2.1 基本用法 2.2 sed基本格式 2.2.1 sed支持正则表达式 2.2.2 匹配正则表达式 2.2.3 奇数偶数表示 2.2.4 -d选项删除 2.2.5 -i修改文件内容 2.2.6 -a 追加 2.3 搜索替代 2.4 变量 1 简介 sed是一种流编辑器&#xff0c;…

最快的JS甘特图:Bryntum Gantt 5.5.1 Crack

最快的JS甘特图 Bryntum Gantt 是一个超快速且完全可定制的甘特图套件&#xff0c;适用于您的 React / Angular / Vue / JS 应用程序。 快如闪电 甘特图是用纯 JavaScript / ES6 构建的&#xff0c;并使用非常快速的渲染引擎。这意味着您可以加载大型数据集&#xff0c;并且仍然…