STM32H743(M7内核)CubeMX配置LWIP无法ping通问题

前言:

由于有项目需要使用到LWIP进行网络通讯,根据网上的资料(https://blog.csdn.net/lrqblack/article/details/124353217?spm=1001.2014.3001.5502)的方式使用cubeMx进行配置但仍然无法进行正常通讯,后进行问题的查找最终发现是硬件上的问题,处理完成之后能够进行正常的ping通。

环境:
phy芯片:LAN8720A
处理芯片:stm32h7
是否上RTOS系统:否
keil版本:V5.37
cubeMx版本:V6.4

硬件电路问题:

由于板子是自己绘制所以使用的是下面的电路图:
请添加图片描述图1-1 phy芯片的硬件电路

问题1

现象:在使用上述电路时,<LED1引脚>=1(上拉),<LED2引脚>=1(上拉),<RXER/PHYAD0引脚>=0(芯片内置下拉)。连接上网线后,指示的两盏LED不会进行闪烁,而且PC端的网口状态先持续一段时间的“正在识别…”后转为“网络电缆被拔出”状态,两盏LED灯不点亮,同时使用示波器测量芯片<nINT/REFCLKO引脚>芯片并未有50MHz的方波输出。

解决方法:<LED1引脚>改为0(下拉),<LED2引脚>改为0(下拉),<RXER/PHYAD0引脚>=0(芯片内置下拉),后PC端的网口状态先持续一段时间的“正在识别…”后转为“未识别的网络”状态,两盏LED灯点亮,同时使用示波器测量芯片<nINT/REFCLKO引脚>芯片并有50MHz的方波输出。

<LED1引脚>:不仅仅有驱动LED亮灭数据传输指示作用(在发送数据传输时会闪烁),而且在上电或者硬复位时,起到是否启动内部的1.2V电源对<VDDCR引脚>进行供电。0(下拉):使用内部的1.2V电源对<VDDCR引脚>进行供电同时<VDDCR引脚>在外部需要接一个1uF的滤波电容。1(上拉):使用外部的1.2V电源对<VDDCR引脚>进行供电。
<LED2引脚>:不仅仅有指示传输速度的作用,而且决定了<nINT/REFCLKO引脚>的功能,在上电或者硬复位时,如果<LED2引脚>电平为0(下拉):芯片<nINT/REFCLKO引脚>作为REFCLKO功能使用输出50MHz电平。如果为1(上拉):<nINT/REFCLKO引脚>作为中断引脚nINT功能使用
<RXER/PHYAD0引脚>:在上电或者硬复位时,起到地址选择的作用。如果在上电或者硬复位时,电平为0则使用0地址进行SMI总线的通讯,电平为1则使用1地址进行通讯。当引脚悬空时使用0地址,因为芯片内置下拉电阻

用户的上述三个引脚在上电或者复位前的电平设置需要根据自身实际需求设定相应的上下拉电阻。当前网上使用较多设置模式是:<LED1引脚>=0(下拉),<LED2引脚>=0(下拉),<RXER/PHYAD0引脚>=0(下拉)。

问题2

现象:在PHY芯片工作正常之后,在电脑端使用ping指令进行连接测试,依然ping不通。

**解决办法:**使用示波器测量芯片<TX0引脚>、<TX1引脚>、<RX0引脚>、<RX1引脚>、<REFCLKO引脚>五个引脚的信号质量。

ping指令处理过程:PC输入ping指令 --> 传输到物理层phy芯片 --> phy把数据转化为RMII电平传输给MAC芯片(stm32h7内置) --> MAC芯片接收到ping指令并处理 --> (没有细究ping指令是否要stm32h7内的程序进行处理后才能回复还是直接由内置的MAC芯片直接进行回复) --> stm32h7通过RMII接口回复 --> phy芯片的RMII接口接收到数据之后通过网线传输到上位机 -->上位机接收到回复打印相应信息

通过测量<RX0引脚>能够反映出phy芯片是否已经正常工作,通过测量<TX0引脚>能够反映出MAC芯片是否已经正常工作。这边主要的测试目的还是信号质量,测试结果如下。

请添加图片描述
图2-1测量TX0端口的信号波形:观察上面的波形可以看出有明显的过冲现象

请添加图片描述
图2-2测量TX0端口的信号在串联47R电阻之后的输出情况:过冲被明显消除

结果:

请添加图片描述图2-1测试结果(网段被我修改过)

总结:

无法ping通排除过程:
1.根据网上的资料(https://blog.csdn.net/lrqblack/article/details/124353217?spm=1001.2014.3001.5502)看是否能够正常ping通。如不能先进行硬件的检查
2.检查硬件是否出现虚焊情况(本人有出现)
3.检查设置模式的引脚电平:<LED1引脚>=0(下拉),<LED2引脚>=0(下拉),<RXER/PHYAD0引脚>=0(芯片内置下拉)
4.使用示波器进行芯片<TX0引脚>、<TX1引脚>、<RX0引脚>、<RX1引脚>、<REFCLKO引脚>五个引脚的信号质量检查。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值