Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Ethernet_以太网
以太网phy
EMAC-RMII-PHY调试笔记
发布于 2022-05-20 22:30:14 浏览:2357
订阅该版
[tocm] 在工程代码中使能EMAC,并配置对应的IO。 编译下载运行,然后卡死了。。🐷🐷🐷 凭经验应该是EMAC初始化时复位末完成,因为没有JTAG,所以通过在代码中打印行号确认,果然是在复位时末完成。 ## 分析 我们板子是打算使用RMII模式,需要一个50M的参考时钟。 本次项目板卡硬件设计是: - 由主控输出25M时钟 - 由PHY(RTL8201F)内部PLL成50M,并输出作为RMII_REF_CLK 先检查代码,确认有设置输出25M,但实际有没有输出就不知道了,上示波器,测得25M正常,幅度正常。 测量PHY的TXC引脚,有500K信号,不是期望的50M😭。 阅读数据手册,TXC的输入还是输出需要通过CLK_CTL引脚来配置,检查原理图发现果然搞反了。 动烙铁换电阻,配置成`clock output`模式。 再上电测量,发现TXC还是500K,但变得断续了。😨 一度陷入停滞。。。️😪 仔细检查PHY的时钟输出模式, - 外部时钟时,XTAL1要接地,确认无误。 - 外部时钟时,要通过XTAL2输入,确认无误。 - 复位引脚有上拉,测量是高电平,末发现问题。 - RSET引脚接2.49K电阻,确认无误。 - 3个3.3V供电引脚,主意测量,都是3.3V无误。 - 检查DVDD10,电压1.1V,正常。 - 检查AVDD10,电压为0,异常。 仔细检查焊接和电容,都正常,但这个引脚就是没输出。 与数据手册是对不上的。 怀疑板子或芯片坏了,再换1块测试,也是一样的情况。🐶🐶🐶 ## 下步计划 - 软件把MDIO接口打通,看看能不能读写PHY的寄存器 - 有可能需要通过MDIO接口来打开这个脚的电压?数据手册上末提到。 - 最好找块可以正常工作的板子,对比测试下AVDD10电压。 - 断开或禁止主控通过MDIO读写PHY,只复位再对比测量AVDD10电压。 - 把正常工作的芯片换过来对比测试 - 改为使用晶振的方式对比测试下 --- # 第2天 找了一块之前项目中,同样使用RTL8201F的板卡,测量AVDD10OUT电压为1.09V,所以问题先锁定在硬件上面了。 同时再把本次项目最后1块没通过电的板子,先设置对电阻,再上电,测量AVDD10OUT电压也是1.09V。 然后分析有可能是芯片坏了,或是模式设置不正确烧掉了。 于是把第1块板的芯片给吹下来,换上一块之前项目中买的剩余物料,测量还是没电压,很是郁闷。 一度怀疑是不是布线不好,导致电源不有稳。但layout小伙伴也是老手了,应该不至于。 用示波器也测试过,没发现电源异常。 再把第2块板补焊一下,竟然好了。再把第1块板补焊一下,也好了🐶🐶🐶 重新上电发现25M输入,再50M输出,波形基本正常。 但运行程序,发现还是卡在复位,仔细检查发现代码中虽然IO已配置为RMII,但GMAC的模式还是RGMII,修改为RMII后,复位通过。 插上网线,灯亮了。电脑这边显示100M。 接上路由器,发现没有获取到IP,同时程序中也显示`emac send data timeout` 进1步调试发现PHY这边被识别成10M半双工了,因为之前用的PHY型号不一样,所以状态寄存器偏移不一样。 手动指定为100M全双工后,可以正常拿到IP了。 ## 下步计划 - 修改适配多个PHY芯片 - 如果时间充足,整理一套通用的PHY管理代码。
2
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
aozima
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
文章
28
回答
4480
被采纳
381
关注TA
发私信
相关文章
1
以太网先上电再连网线通信
2
ethernet 和 use memory layout冲突
3
stm32h743的LAN8720A驱动编译错误, 不知道怎么改
4
关于在stm32F107CVT6中使用以太网芯片DM9161AEP的内存不足异常
5
stm32F107+DM9161AEP的PHY芯片 运行出现错误
6
stm32f107+dm9161的phy芯片报错eth硬件初始化失败
7
stm32f107+DM9161出现硬件初始化问题
8
基于芯片建立工程,以太网卡无法使用
9
SPI总线挂接2个W5500以太网芯片
10
STM32H743 以太网驱动 问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
xiaorui
1
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部