[STM32F1] 波形时钟不变

[复制链接]
1617|22
 楼主| 小小猫咪 发表于 2016-8-27 21:10 | 显示全部楼层 |阅读模式
最近在做STM32F107的以太网通信,使用的是TLK110的PHY芯片,基本功能和DP83848类似,现在在SMI通信处卡壳了,进行写操作时,对STM32的MDIO和MDC管脚测量波形,都是正常的,但进行读操作时,无论我刚才写了什么数据,波形时钟不变,出去前面的引导码等等,数据部分时钟是低电平。
kangzj 发表于 2016-8-27 21:10 | 显示全部楼层
是不是还有什么地方没有设置
zwll 发表于 2016-8-27 21:11 | 显示全部楼层
硬件搭建有问题
 楼主| 小小猫咪 发表于 2016-8-27 21:12 | 显示全部楼层
还出现了另外一个问题,进行SMI读操作的时候进行程序调试,程序先走到绿箭头后又走到黄箭头,出现了程序倒走的情况
 楼主| 小小猫咪 发表于 2016-8-27 21:12 | 显示全部楼层
chuxh 发表于 2016-8-27 21:13 | 显示全部楼层

“MDC时钟是低电平?”
如果是硬件SMI,请查看GPIO口配置。
SMI接口中,STM32负责为SMI通讯接口提供时钟,无论是读还是写。
 楼主| 小小猫咪 发表于 2016-8-27 21:14 | 显示全部楼层
刚才那个打错了,是始终是低电平,不是时钟。恩,时钟确实是STM提供的,现在不知道从哪里下手找原因。
juventus9554 发表于 2016-8-27 21:14 | 显示全部楼层

PHY地址是多少?
PHY的BootStrap查过没有?
 楼主| 小小猫咪 发表于 2016-8-27 21:15 | 显示全部楼层
PHY就用的缺省值,就是没加任何下拉,0x01
司徒老鹰 发表于 2016-8-27 21:15 | 显示全部楼层

1. 原理图请发下
2. 检查PHY的物理地址,寄存器地址和寄存器标志位
kangzj 发表于 2016-8-27 21:16 | 显示全部楼层
验证PHY
    PHY在Bootstrap后,按照自动协商协议应该可以和MAC层直接进行数据传输的。你可以在调试的过程中跳过读取PHY寄存器部分的代码来验证PHY的物理连接。
llljh 发表于 2016-8-27 21:17 | 显示全部楼层
调试时把编译器优化开到最低试试!
 楼主| 小小猫咪 发表于 2016-8-27 21:17 | 显示全部楼层
我自己用万用板搭的电路,就按照芯片数据手册做的,没画~~~
 楼主| 小小猫咪 发表于 2016-8-27 21:18 | 显示全部楼层
物理地址寄存器什么的怎么检验,是用STM32去读吗?
dingy 发表于 2016-8-27 21:18 | 显示全部楼层

我还发现一个问题就是STM提供给PHY的时钟有50MHz(RMII模式),但是时钟信号的峰峰值只有1V,请问这是不是太小了,会不会对通信有影响
 楼主| 小小猫咪 发表于 2016-8-27 21:19 | 显示全部楼层
更改SMI的工作模式时,即MII和RMII,只要修改例程中的宏定义就可了,还是还有其他需要修改的地方
pengf 发表于 2016-8-27 21:19 | 显示全部楼层
时钟是怎么提供的? 50MHz,通过PLL倍频输出的?  峰峰值1V不一定不够,但你需要检查一下电平的标准满足PHY的CMOS电平不?
renyaq 发表于 2016-8-27 21:20 | 显示全部楼层
请用示波器测量一下时钟的上升时间,下降时间,抖动;与PHY手册值对比一下。
supernan 发表于 2016-8-27 21:20 | 显示全部楼层
只需要修改宏定义。你用的PHY是哪一片?
 楼主| 小小猫咪 发表于 2016-8-27 21:21 | 显示全部楼层
TI的TLK110,管脚可以和DP83848管脚对管脚兼容,就是性能稍微好一些。
光SMI接口都搞了很久了,哎。不知道从哪下手了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

313

主题

3014

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部