硬汉嵌入式论坛

 找回密码
 立即注册
查看: 588|回复: 7
收起左侧

[有问必答] 以太网PHY启动不成功

[复制链接]

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
发表于 2023-9-9 19:35:25 | 显示全部楼层 |阅读模式
我使用SR8201F和STM32F4搭了以太网电路,使用RMII接口,移植的官方例程,HAL库V1.80;现在晶振测量没有波形,程序卡在stm32 eth 软重启,读取PHY寄存器值全为0XFFFF。
我的疑问是,1、PHY的晶振何时起振,是上电即起振吗?2、是否 stm32软重启失败导致读取PHY寄存器失败.我接下来该怎么做呢,感谢硬汉。





回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106833
QQ
发表于 2023-9-12 07:36:44 | 显示全部楼层
1、推荐用有源晶振。
2、推荐先硬件复位,然后再软件复位,再读取ID,看看是否正常。复位下很重要,然后就是等待1秒再读取,保证PHY芯片已经就绪。
回复

使用道具 举报

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
 楼主| 发表于 2023-9-13 20:22:01 | 显示全部楼层
感谢硬汉回复
1。已改用有源晶振现在已经发现数据参考时钟50M晶振正常
2. 已经先在HAL_ETH_MspInit硬复位然后HAL_ETH_Init中软复位都正常,但还是无法正确读取寄存器;测了下MDC没有时钟输出,但是下面的函数不应该已经打开MDC时钟了吗,emo了
int32_t ETH_PHY_IO_Init(void)
{
  /* We assume that MDIO GPIO configuration is already done
     in the ETH_MspInit() else it should be done here
  */
  /* Configure the MDIO Clock */
  HAL_ETH_SetMDIOClockRange(&EthHandle);

  return 0;
}
回复

使用道具 举报

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
 楼主| 发表于 2023-9-13 20:24:17 | 显示全部楼层
eric2013 发表于 2023-9-12 07:36
1、推荐用有源晶振。
2、推荐先硬件复位,然后再软件复位,再读取ID,看看是否正常。复位下很重要,然后就 ...

另外读寄存器前已经做了延时了,但是没有效果
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106833
QQ
发表于 2023-9-14 07:44:38 | 显示全部楼层
dasd 发表于 2023-9-13 20:24
另外读寄存器前已经做了延时了,但是没有效果

ID读取不到不正常,这个是优先要做的第1步,检查下焊接和原理图确定没问题。

另外你当前的原理图贴下,仅PHY部分原理图,我看下你的硬件复位怎么接的。
回复

使用道具 举报

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
 楼主| 发表于 2023-9-14 14:31:19 | 显示全部楼层
eric2013 发表于 2023-9-14 07:44
ID读取不到不正常,这个是优先要做的第1步,检查下焊接和原理图确定没问题。

另外你当前的原理图贴下 ...

复位引脚是直连的 ,复位时能测量到电平的变化

PHY原理图

PHY原理图
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106833
QQ
发表于 2023-9-14 15:16:28 | 显示全部楼层
dasd 发表于 2023-9-14 14:31
复位引脚是直连的 ,复位时能测量到电平的变化

左下角的RSET是不是硬件复位引脚,如果是的话,接到一个GPIO上,GPIO控制下,或者和MCU的硬件复位接到一起再试试。

先硬件复位,然后等待1秒,读取ID试试是否可以成功。
回复

使用道具 举报

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
 楼主| 发表于 2023-9-14 19:12:31 | 显示全部楼层
eric2013 发表于 2023-9-14 15:16
左下角的RSET是不是硬件复位引脚,如果是的话,接到一个GPIO上,GPIO控制下,或者和MCU的硬件复位接到一 ...

1脚不是复位脚,21脚为复位脚,我接到GPIO上了,也复位了,但是并读不到ID
屏幕截图 2023-09-14 191046.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-7 00:32 , Processed in 0.413075 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表