打印

关于GD32F107与PHY的网络配置问题,求助

[复制链接]
1397|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
由于项目要求,使用GD32F107 作为MCU,选用了一款SR8201G的PHY芯片,
   SR8201G这个PHY芯片,支持10M/100M自适应,使用标准的RMII接口配置,
   由于所有的PHY芯片都遵循相同的协议(0到15寄存器都是一样的)所以,配置驱动基本不需要修改,只是修改了一下特殊状态寄存器来正确读取PHY配置完成的状态(GD32F107开发板使用的PHY芯片是DP83848,特殊状态寄存器是16 ,SR8201G 的特殊状态寄存器是24)。配置完成以后,接上网线,板子上电,读取各个寄存器的状态都正常,全双功,100M自协商成功,
但是ping 的时候,ping不通,这个时候不要重启把板子,把电脑的速度改为10M 就可以ping通了,而且收发数据正常,
好像就是,板子跟电脑自协商成功以后,读取板子PHY芯片寄存器状态显示100M,但是板子实际收发数据的时候是以10M的速度收发的,

  如果在板子上电前,把电脑强制改成10M全双功,给板子上电,读取PHY芯片寄存器状态显示10M全双工,但是ping 的时候,ping不通,这个时候不要重启把板子,把电脑的速度改为100M 就可以ping通了,而且收发数据正常,


从读出的状态来看,自协商没有问题,就是实际发送数据的速率正好是反着得,不知道是什么问题
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

4

帖子

0

粉丝