打印
[STM32F1]

STM32F107以太网通信

[复制链接]
5006|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近在做STM32F107的以太网通信,使用的是TLK110的PHY芯片,基本功能和DP83848类似,现在在SMI通信处卡壳了,进行写操作时,对STM32的MDIO和MDC管脚测量波形,都是正常的,但进行读操作时,无论我刚才写了什么数据,波形时钟不变,出去前面的引导码等等,数据部分时钟是低电平。不知道是不是还有什么地方没有设置,或者是我的硬件搭建有问题,大家谁遇到过类似情况麻烦指导一下,谢谢了
沙发
mmuuss586| | 2014-3-17 19:45 | 只看该作者
没用过,帮顶。

使用特权

评论回复
板凳
NickelBack_87|  楼主 | 2014-3-18 10:15 | 只看该作者
mmuuss586 发表于 2014-3-17 19:45
没用过,帮顶。

谢谢啦。继续等待各位大神们的回复

使用特权

评论回复
地板
NickelBack_87|  楼主 | 2014-3-18 10:18 | 只看该作者
现在还出现了另外一个问题,进行SMI读操作的时候进行程序调试,程序先走到绿箭头后又走到黄箭头,出现了程序倒走的情况,太诡异了,大家遇到过程序倒走的情况吗

程序截图.png (33.43 KB )

程序截图.png

使用特权

评论回复
5
prayerwind| | 2014-3-18 14:00 | 只看该作者
“MDC时钟是低电平?”
如果是硬件SMI,请查看GPIO口配置。
SMI接口中,STM32负责为SMI通讯接口提供时钟,无论是读还是写。

使用特权

评论回复
6
NickelBack_87|  楼主 | 2014-3-18 15:57 | 只看该作者
prayerwind 发表于 2014-3-18 14:00
“MDC时钟是低电平?”
如果是硬件SMI,请查看GPIO口配置。
SMI接口中,STM32负责为SMI通讯接口提供时钟, ...

谢谢你的回复啊。刚才那个打错了,是始终是低电平,不是时钟。恩,时钟确实是STM提供的,现在不知道从哪里下手找原因。

使用特权

评论回复
7
prayerwind| | 2014-3-18 16:11 | 只看该作者
NickelBack_87 发表于 2014-3-18 15:57
谢谢你的回复啊。刚才那个打错了,是始终是低电平,不是时钟。恩,时钟确实是STM提供的,现在不知道从哪 ...

PHY地址是多少?
PHY的BootStrap查过没有?

使用特权

评论回复
8
NickelBack_87|  楼主 | 2014-3-18 16:54 | 只看该作者
prayerwind 发表于 2014-3-18 16:11
PHY地址是多少?
PHY的BootStrap查过没有?

PHY就用的缺省值,就是没加任何下拉,0x01

使用特权

评论回复
9
prayerwind| | 2014-3-18 17:47 | 只看该作者
1. 原理图请发下
2. 检查PHY的物理地址,寄存器地址和寄存器标志位
3. 验证PHY
    PHY在Bootstrap后,按照自动协商协议应该可以和MAC层直接进行数据传输的。你可以在调试的过程中跳过读取PHY寄存器部分的代码来验证PHY的物理连接。
4. 调试时把编译器优化开到最低试试!

使用特权

评论回复
10
NickelBack_87|  楼主 | 2014-3-19 09:18 | 只看该作者
prayerwind 发表于 2014-3-18 17:47
1. 原理图请发下
2. 检查PHY的物理地址,寄存器地址和寄存器标志位
3. 验证PHY

首先谢谢你的帮助:)
1.我自己用万用板搭的电路,就按照芯片数据手册做的,没画~~~
2.物理地址寄存器什么的怎么检验,是用STM32去读吗?
3.第三步我不太明白怎么操作,再详细说一下好吗。
谢谢你了啊

使用特权

评论回复
11
NickelBack_87|  楼主 | 2014-3-19 15:17 | 只看该作者
我还发现一个问题就是STM提供给PHY的时钟有50MHz(RMII模式),但是时钟信号的峰峰值只有1V,请问这是不是太小了,会不会对通信有影响

使用特权

评论回复
12
NickelBack_87|  楼主 | 2014-3-19 17:12 | 只看该作者
更改SMI的工作模式时,即MII和RMII,只要修改例程中的宏定义就可了,还是还有其他需要修改的地方

使用特权

评论回复
13
NickelBack_87|  楼主 | 2014-3-20 17:43 | 只看该作者
:lol自己顶一下

使用特权

评论回复
14
prayerwind| | 2014-3-20 20:51 | 只看该作者
NickelBack_87 发表于 2014-3-19 15:17
我还发现一个问题就是STM提供给PHY的时钟有50MHz(RMII模式),但是时钟信号的峰峰值只有1V,请问这是不是太 ...

时钟是怎么提供的? 50MHz,通过PLL倍频输出的?  峰峰值1V不一定不够,但你需要检查一下电平的标准满足PHY的CMOS电平不?
请用示波器测量一下时钟的上升时间,下降时间,抖动;与PHY手册值对比一下。

使用特权

评论回复
15
prayerwind| | 2014-3-20 20:51 | 只看该作者
NickelBack_87 发表于 2014-3-19 17:12
更改SMI的工作模式时,即MII和RMII,只要修改例程中的宏定义就可了,还是还有其他需要修改的地方 ...

只需要修改宏定义。你用的PHY是哪一片?

使用特权

评论回复
16
NickelBack_87|  楼主 | 2014-3-21 09:39 | 只看该作者
prayerwind 发表于 2014-3-20 20:51
只需要修改宏定义。你用的PHY是哪一片?

TI的TLK110,管脚可以和DP83848管脚对管脚兼容,就是性能稍微好一些。
光SMI接口都搞了很久了,哎。不知道从哪下手了。

使用特权

评论回复
17
NickelBack_87|  楼主 | 2014-3-21 13:20 | 只看该作者
问题解决了

使用特权

评论回复
18
汤火| | 2015-10-20 11:20 | 只看该作者
为什么给板子供电而且插上网线后RJ45的L-引脚还是高电平啊,特别不稳定,有的时候会是低电平,不过只是一会会

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

148

帖子

2

粉丝