13543|18

95

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教:stm32F107和phy的MII口通讯,10M可以,100M不行 [复制链接]

目前的现象是
F107和phy之间用MII接口连接
phy适应到10M的时候,可以正常通讯,测到MII接口的频率是2.5M,用示波器也可以看到发送数据的电平信号,这个正常的

但是phy适应到100M的时候,F107发送不出数据,这时候可以测到MII接口的频率是25M,但是看不到有发送出的数据。

研究了很久,也不知道错误在哪里,所以考虑会不会是因为两个芯片电平不一致,导致在高频率下无法通讯,stm32F107是3.3v电压,而PHY是和2.5v的I/O电压

还有个问题,就是现在在MII接口的电路上,没有串联22欧的阻抗匹配电阻,会不会和这个有关系呢
此帖出自stm32/stm8论坛

最新回复

我和楼主一样用88E1111接兆易创新单片机(对标STM32),PHY2.5,单片机3.3V,MII接口时10M可以,100M不行。请问楼主最后怎么解决的?   详情 回复 发表于 2021-8-16 18:50
点赞 关注
 

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这个可能有问题:“stm32F107是3.3v电压,而PHY是和2.5v的I/O电压”

没有串联22欧的阻抗匹配电阻,应该没多大关系。

其实既然10M可以正常通信,100M应该问题也不大的,至少用示波器应该能看到F107发出数据。从症状看,多半是初始化的问题,可以把10M、100M的初始化代码贴出来看看。
此帖出自stm32/stm8论坛
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
PHY芯片难道不是DP83848?
I/O电压是物理层TD+和TD-,RD+和RD-之间的电压吗?
此帖出自stm32/stm8论坛
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

4
 
谢谢IJK
代码在这里
stm32_eth.rar (16.91 KB)
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

5
 
回3楼,phy不是DP83848,是marvell的88E1111,千兆芯片,支持MII,所以我只用百兆就行
芯片双电压供电,核心是1.0v,外围电路是2.5v

不过代码是在用dp83848的例程改的
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

6
 
                                 我也是在研究STM32F107 以太网功能 刚接触以太网 大家交流交流 我的QQ:343069192
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

7
 
                                 你用LWIP协议的还是UIP ?请问哪个简单可以实现数据收发
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

8
 
                                 UIP小一些
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

9
 
似乎用 ETH_AutoNegotiation_Enable 的方式,这时候需要确保AutoNegotiation的结果是100M。

  另外,“但是phy适应到100M的时候,F107发送不出数据,这时候可以测到MII接口的频率是25M,但是看不到有发送出的数据。”     
  F107发送不出数据,是指在MII接口的4条线上没有数据吗?
并且也没有有效的 TX_EN 信号吗?
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

10
 
谢谢IJK还在关注我的问题
F107发送不出数据,是因为我在MII的四条线上都看不到高电平信号(10M的时候是可以看到的)
Tx-En的信号我晚上看一下
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

11
 
                                 很是奇怪,tx-en一直没有信号,10M正常通讯的时候也没有
此帖出自stm32/stm8论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

12
 
                                 这个之前没用过,但是感觉很有兴趣,有时间学习下
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

13
 
今天继续测试,100M偶尔能用
用示波器把MII所有引脚都测过了,发现一个问题
phy输出的tx_clk和rx_clk时钟信号,在2.5M(端口10M)时,波形都是2.5v左右。
适应到100M以后,tx_clk和rx_clk的25M时钟信号,波幅tx_clk是2.5v,rx_clk只有2.1v。
查了下F107的datasheet,3.3v电压下,高电平的最低阀值是2V。猜测有可能F107的输入rx_clk点平太低无法识别。
怕是F107的端口负载引起,吧phy的引脚翘起来量,仍然是2.1v,真是郁闷
请高手指点
弄了一批板子都是这样,估计不是phy个别芯片的问题。
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

14
 
发送、接收以及设置(通过MDC、MDIO)的问题要分开来查。
按照LS的描述,发送应该没有问题,但还有TX_EN的疑问;接收多半有问题。
另外通过MDC、MDIO进行设置是否有问题,不清楚,设置得是否正确,可以通过读寄存器来验证。
此帖出自stm32/stm8论坛
 
 
 

回复

195

帖子

0

TA的资源

一粒金砂(中级)

15
 
谢谢IJK,tx_en的问题已经可以测到正常信号,可能是上次弄错引脚

现在的问题就是100M时phyt送给stm32的rx_clk和tx_clk时钟信号波幅较低(10M时的2.5M始终正常为2.5v),我现在想知道stm32是怎样识别这种时钟信号的,是不是也是通过TTL电平。会不会因为电平的问题收不到时钟信号。

寄存器今天好好查一查
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

16
 
                                 我用TI的c6455,phy用LXT971,也遇到类似的问题。正在解决中。。。 。。。
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

17
 
                                 请问楼主解决没啊?我的PHY是RTL8301BL 支持10M/100M的 但是和电脑自动协商后只有10M 强制设置100M就不工作了 请教中 是不是107的MAC的问题啊?
此帖出自stm32/stm8论坛
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

18
 
                                 以太网功能还没调过,比较感兴趣
此帖出自stm32/stm8论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

19
 

我和楼主一样用88E1111接兆易创新单片机(对标STM32),PHY2.5,单片机3.3V,MII接口时10M可以,100M不行。请问楼主最后怎么解决的?

此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表