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

news2024/9/22 19:36:24

目录

前言

一、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.coloradmin.cn/o/901573.html

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

相关文章

STC15单片机PM2.5空气质量检测仪

一、系统方案 本设计采用STC15单片机作为主控制器&#xff0c;PM2.5传感器、按键设置&#xff0c;液晶1602显示&#xff0c;蜂鸣器报警。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化&#xff1a; void lcd_init()//液晶初始化设置 { de…

C#程序变量统一管理例子 - 开源研究系列文章

今天讲讲关于C#应用程序中使用到的变量的统一管理的代码例子。 我们知道&#xff0c;在C#里使用变量&#xff0c;除了private私有变量外&#xff0c;程序中使用到的公共变量就需要进行统一的存放和管理。这里笔者使用到的公共变量管理库划分为&#xff1a;1)窗体&#xff1b;2)…

熔断降级的理解和基于feign的熔断降级

什么是熔断降级&#xff1a; 在微服务保护中我们使用sentinel进行了熔断降级&#xff0c;熔断降级时为了防止雪崩效应&#xff0c;什么是雪崩效应&#xff0c;因为微服务是一层调用一层的&#xff0c;如果下面某一个微服务宕机了&#xff0c;就会导致全部的微服务宕机&#xf…

【欧拉计划】3或5的倍数

题目链接&#xff1a;3或5的倍数 解法一&#xff1a;暴力枚举 C语言代码 #include<stdio.h> int main (){int sum 0;for(int i 0;i<1000;i){if(i%30 || i%50)sum i;}printf("%d\n",sum);return 0; } //运行结果&#xff1a;233168上面这个解法的时间复杂…

回归预测 | MATLAB实现CSO-BP布谷鸟优化算法优化BP神经网络多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现CSO-BP布谷鸟优化算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现CSO-BP布谷鸟优化算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览…

【BUG】Docker启动MySQL报错

个人主页&#xff1a;金鳞踏雨 个人简介&#xff1a;大家好&#xff0c;我是金鳞&#xff0c;一个初出茅庐的Java小白 目前状况&#xff1a;22届普通本科毕业生&#xff0c;几经波折了&#xff0c;现在任职于一家国内大型知名日化公司&#xff0c;从事Java开发工作 我的博客&am…

Java之继承详解二

3.7 方法重写 3.7.1 概念 方法重写 &#xff1a;子类中出现与父类一模一样的方法时&#xff08;返回值类型&#xff0c;方法名和参数列表都相同&#xff09;&#xff0c;会出现覆盖效果&#xff0c;也称为重写或者复写。声明不变&#xff0c;重新实现。 3.7.2 使用场景与案例…

基于STC15单片机-LM35-DS8B20温度测量-DS1302计时-proteus仿真-源程序

一、系统方案 本设计采用STC15单片机作为主控器。 DS18B20采集温度值送到液晶1602显示。 DS1302计时&#xff0c;日期送到液晶1602显示。 LM35采集另一路温度值送到数码管显示。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 /IO初始化为…

Azure应用程序网关

文章目录 什么是应用程序网关实战演练创建虚拟网络创建虚拟机创建应用程序网关测试搭建结果 什么是应用程序网关 Azure应用程序网关是一种托管服务&#xff0c;用于提供安全、可缩放的 Web 应用程序前端点的应用程序传送控制和保护。它可以通过 SSL 终止、cookie 基于会话持久…

adb devices存在连接emulator-5554怎么办

执行adb kill-server 发现还是有5554这条数据&#xff0c;可以采用window杀死端口号的方法。 netstat -ano | findstr 5554 &#xff0c;去查看pid是什么 得到pid&#xff0c;杀死这个pid taskkill /f /pid xxx

项目——电子词典(客户端、服务器交互,字典导入,单词查询)

一、项目要求 登录注册功能&#xff0c;不能重复登录&#xff0c;重复注册单词查询功能历史记录功能&#xff0c;存储单词&#xff0c;意思&#xff0c;以及查询时间基于TCP&#xff0c;支持多客户端连接采用数据库保存用户信息与历史记录将dict.txt的数据导入到数据库中保存。…

Kestrel和ISS服务器下的配置

一、Kestrel服务器 Kestrel是ASP.NET Core框架中的一个跨平台的Web服务器。它是ASP.NET Core应用程序默认的HTTP服务器&#xff0c;并且可作为独立的Web服务器来托管ASP.NET Core应用程序。 Kestrel具有以下特点和功能 1、跨平台 Kestrel是完全跨平台的&#xff0c;可以在Wind…

git压缩/合并多次commit提交为1次commit提交

git压缩/合并N次commit提交为1次commit提交 假设有最近3次提交&#xff1a; commit_id1 commit_id2 commit_id3目标是把以上3次commit合并成1个commit&#xff0c;注意&#xff0c;最新的commit提交在最上面。 在git bash里面的操作步骤&#xff1a; &#xff08;1&#xff0…

Mac 开发 Tang Nano FPGA 指南(使用终端和使用 VS Code 和插件,适用所有 Gowin FPGA)

最近收到了一个 Tang nano 9K FPGA开发板&#xff0c;就想借此机会研究一下。 官方文档里介绍如果想使用高云的 FPGA&#xff0c;就需要使用 GOWIN IDE&#xff0c;但是需要申请 license 提交一堆资料&#xff0c;我是别人送的就不太方便让别人弄。加上 IDE 其实并不是很适合学…

QT SSL handshake failed问题分析与解决 QT基础入门【网络编程】openssl

问题: 使用https方式进行post 和get请求时,有时候会出现SSL handshake failed的问题,其实是调用Qt QNetworkAccessManager出现的问题。 其实SSL握手是建立HTTPS连接过程的第一步。为了验证和建立连接,用户的浏览器和网站的服务器必须经过一系列检查(握手),从而建立HTTP…

C++ 网络编程项目fastDFS分布式文件系统(五)--nginx+fastdfs

目录 1. 文件上传下载流程 2. Nginx和fastDFS的整合 3. 数据库表 3.1 数据库操 3.2 数据库建表 1. 文件上传下载流程 fileID 需要是一个哈希来判定。 2. 文件下载流程 3. 优化 优化思路 : 直接让客户端连接 fastDFS 的存储节点 , 实现文件下载 举例 , 访问一个…

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

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

泛型编程 学习笔记

#include "iostream"using namespace std;template<typename T> void Print(T a) {cout << a << endl; }int main() {int a 5;double b 2.3;char c e;string d "sdfasd";Print(a);Print(b);Print(c);Print(d);return 0; } 它可以不用…

关于springboot项目测试文件的目录结构

问题一 我在开发微服务项目的时候&#xff0c;有时候有些微服务是不需要启动类和配置文件的&#xff08;如xuechengService&#xff09;&#xff0c;这时候我们还需要在测试方法中进行测试&#xff0c;这时候我们可以将启动类放在测试类中&#xff0c;注意放在测试类中包的位置…

7-8 韩信点兵

分数 10 全屏浏览题目 切换布局 作者 颜晖 单位 浙大城市学院 在中国数学史上&#xff0c;广泛流传着一个“韩信点兵”的故事&#xff1a;韩信是汉高祖刘邦手下的大将&#xff0c;他英勇善战&#xff0c;智谋超群&#xff0c;为汉朝建立了卓越的功劳。据说韩信的数学水平也非…