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.rhkb.cn/news/97337.html

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

相关文章

EMO实战:使用EMO实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度&#xff0c;DP多卡&#xff0c;EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看关于EMA设置为True时…

linux 搭建 nexus maven私服

目录 环境&#xff1a; 下载 访问百度网盘链接 官网下载 部署 &#xff1a; 进入目录&#xff0c;创建文件夹,进入文件夹 将安装包放入nexus文件夹&#xff0c;并解压​编辑 启动 nexus,并查看状态.​编辑 更改 nexus 端口为7020,并重新启动&#xff0c;访问虚拟机7020…

【Java】智慧工地SaaS平台源码:AI/云计算/物联网/智慧监管

智慧工地是指运用信息化手段&#xff0c;围绕施工过程管理&#xff0c;建立互联协同、智能生产、科学管理的施工项目信息化生态圈&#xff0c;并将此数据在虚拟现实环境下与物联网采集到的工程信息进行数据挖掘分析&#xff0c;提供过程趋势预测及专家预案&#xff0c;实现工程…

〔011〕Stable Diffusion 之 解决绘制多人或面部很小的人物时面部崩坏问题 篇

✨ 目录 🎈 脸部崩坏🎈 下载脸部修复插件🎈 启用脸部修复插件🎈 插件生成效果🎈 插件功能详解🎈 脸部崩坏 相信很多人在画图时候,特别是画 有多个人物 图片或者 人物在图片中很小 的时候,都会很容易出现面部崩坏的问题这是由于神经网络无法完全捕捉人脸的微妙细节…

golang云原生项目之:etcd服务注册与发现

服务注册与发现&#xff1a;ETCD 1直接调包 kitex-contrib&#xff1a; 上面有实现的案例&#xff0c;直接cv。下面是具体的理解 2 相关概念 EtcdResolver: etcd resolver是一种DNS解析器&#xff0c;用于将域名转换为etcd集群中的具体地址&#xff0c;以便应用程序可以与et…

计算机视觉的应用11-基于pytorch框架的卷积神经网络与注意力机制对街道房屋号码的识别应用

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用11-基于pytorch框架的卷积神经网络与注意力机制对街道房屋号码的识别应用&#xff0c;本文我们借助PyTorch&#xff0c;快速构建和训练卷积神经网络&#xff08;CNN&#xff09;等模型&#xff0c;…

Google开源了可视化编程框架Visual Blocks for ML

Visual Blocks for ML是一个由Google开发的开源可视化编程框架。它使你能够在易于使用的无代码图形编辑器中创建ML管道。 为了运行Visual Blocks for ML。需要确保你的GPU是可以工作的。剩下的就是clone代码&#xff0c;然后运行&#xff0c;下面我们做一个简单的介绍&#xf…

FifthOne:计算机视觉提示和技巧

一、说明 欢迎来到我们每周的FiftyOne提示和技巧博客&#xff0c;我们回顾了最近在Slack&#xff0c;GitHub&#xff0c;Stack Overflow和Reddit上弹出的问题和答案。FiftyOne是一个开源机器学习工具集&#xff0c;使数据科学团队能够通过帮助他们策划高质量数据集、评估模型、…

图像处理常见的两种拉流方式

传统算法或者深度学习在进行图像处理之前&#xff0c;总是会首先进行图像的采集&#xff0c;也就是所谓的拉流。解决拉流的方式有两种&#xff0c;一个是直接使用opencv进行取流&#xff0c;另一个是使用ffmpeg进行取流&#xff0c;如下分别介绍这两种方式进行拉流处理。 1、o…

webSocket 聊天室 node.js 版

全局安装vue脚手架 npm install vue/cli -g 创建 vue3 ts 脚手架 vue create vue3-chatroom 后端代码 src 同级目录下建 server: const express require(express); const app express(); const http require(http); const server http.createServer(app);const io req…

云原生反模式

通过了解这些反模式并遵循云原生最佳实践&#xff0c;您可以设计、构建和运营更加强大、可扩展和成本效益高的云原生应用程序。 1.单体架构&#xff1a;在云上运行一个大而紧密耦合的应用程序&#xff0c;妨碍了可扩展性和敏捷性。2.忽略成本优化&#xff1a;云服务可能昂贵&am…

大数据课程K2——Spark的RDD弹性分布式数据集

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Spark的RDD结构; ⚪ 掌握Spark的RDD操作方法; ⚪ 掌握Spark的RDD常用变换方法、常用执行方法; 一、Spark最核心的数据结构——RDD弹性分布式数据集 1. 概述 初学Spark时,把RDD看…

easyx图形库基础:3实现弹球小游戏

实现弹球小游戏 一.实现弹球小游戏:1.初始化布&#xff1a;2.初始化一个球的信息&#xff1a;3.球的移动和碰撞反弹4.底边挡板的绘制和移动碰撞重置数据。 二.整体代码&#xff1a; 一.实现弹球小游戏: 1.初始化布&#xff1a; int main() {initgraph(800, 600);setorigin(40…

麻辣烫数据可视化,麻辣烫市场将持续蓬勃发展

麻辣烫&#xff0c;这道源自中国的美食&#xff0c;早已成为人们生活中不可或缺的一部分。它独特的香辣口味&#xff0c;让人忍不住每每流连忘返。与人们的关系&#xff0c;简直如同挚友一般。每当寒冷的冬日或疲惫的时刻&#xff0c;麻辣烫总是悄然走进人们的心房&#xff0c;…

FreeCAD的傻瓜式初级使用教程

起因&#xff1a;自己想DIY一套线性手刹和序列档&#xff0c;以便和我之前的freejoy控制器相连接应用&#xff0c;需要自己制图和在某宝找代加工的商家&#xff0c;但我又不想安装体积巨大的AutoCAD&#xff0c;所以找了以下开源、免费的解决方案&#xff0c;所以就有了这篇文章…

使用PostgreSQL构建强大的Web应用程序:最佳实践和建议

PostgreSQL是一个功能强大的开源关系型数据库,它拥有广泛的用户群和活跃的开发社区。越来越多的Web应用选择PostgreSQL作为数据库 backend。如何充分利用PostgreSQL的特性来构建健壮、高性能的Web应用?本文将给出一些最佳实践和建议。 一、选择合适的PostgreSQL数据类型 Pos…

C# WPF 中 外部图标引入iconfont,无法正常显示问题 【小白记录】

wpf iconfont 外部图标引入&#xff0c;无法正常显示问题。 1. 检查资源路径和引入格式是否正确2. 检查资源是否包含在程序集中 1. 检查资源路径和引入格式是否正确 正确的格式&#xff0c;注意字体文件 “xxxx.ttf” 应写为 “#xxxx” <TextBlock Text"&#xe7ae;…

类之间的比较

作者简介&#xff1a; zoro-1&#xff0c;目前大一&#xff0c;正在学习Java&#xff0c;数据结构等 作者主页&#xff1a; zoro-1的主页 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f496; 类之间的比较 固定需求式比较器 固定需求式 通过…

【C语言】字符分类函数、字符转换函数、内存函数

前言 之前我们用两篇文章介绍了strlen、strcpy、stract、strcmp、strncpy、strncat、strncmp、strstr、strtok、streeror这些函数 第一篇文章strlen、strcpy、stract 第二篇文章strcmp、strncpy、strncat、strncmp 第三篇文章strstr、strtok、streeror 今天我们就来学习字…

ES 概念

es 概念 Elasticsearch是分布式实时搜索、实时分析、实时存储引擎&#xff0c;简称&#xff08;ES&#xff09;成立于2012年&#xff0c;是一家来自荷兰的、开源的大数据搜索、分析服务提供商&#xff0c;为企业提供实时搜索、数据分析服务&#xff0c;支持PB级的大数据。 -- …