OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 18598|回复: 24

LAN8720 无法访问目标主机

[复制链接]

1

主题

8

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-1-28
在线时间
4 小时
发表于 2016-1-29 10:11:04 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 fluaxy 于 2016-1-29 10:20 编辑

大家好,我参照原子哥的探索者原理图,用的LAN8720做PHY,想实现stm32与PC机的tcpip通讯。遇到如下问题:
1. 无论是插笔记本还是插在路由器上,从串口调试界面来看,均显示“DHCP服务超时,使用静态IP地址!”  
2. 无论连接笔记本还是路由器,ping不通,显示“无法访问目标主机”(ping的时候RJ45座上的灯会闪)
看样子是接收到了,但是stm32内部处理出了问题?
捕获.JPG
3. 此时用串口调试,发送函数ETH_ReadPHYRegister(0X0,0X1F),会得到与手册上一致的结果
2.JPG

刚接触TCPIP,出现这样的问题完全没思路如何继续解决下去,望大家指点一二。

附原理图:
3.JPG
另外补充描述,我使用的是stm32F407VGT6,是100脚的芯片,和探索者不同,但是晶振都是8MHz的,使用的是原子哥的“LWIP扩展例程”下的“网络实验1 LWIP无操作系统移植”。
更改部分:
1. 注释掉了LCD、LED、KEY、FSMC初始化部分。
2. 注释了对外部内存的初始化“my_mem_init(SRAMEX);”保留了my_mem_init(SRAMCCM);和my_mem_init(SRAMIN);
3. 在Lan8720.c中将原先的PG11/13/14更改到对应100脚芯片的PB11/12/13上。

除此以外还需要对其他部分进行更改么?


最佳答案

查看完整内容[请看2#楼]

已解决,STM32部分焊接问题。现在可以ping通了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-1-28
在线时间
4 小时
 楼主| 发表于 2016-1-29 10:11:05 | 显示全部楼层
已解决,STM32部分焊接问题。现在可以ping通了。
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-1-28
在线时间
4 小时
 楼主| 发表于 2016-1-29 10:19:33 | 显示全部楼层
另外补充描述,我使用的是stm32F407VGT6,是100脚的芯片,和探索者不同,但是晶振都是8MHz的,使用的是原子哥的“LWIP扩展例程”下的“网络实验1 LWIP无操作系统移植”。
更改部分:
1. 注释掉了LCD、LED、KEY、FSMC初始化部分。
2. 注释了对外部内存的初始化“my_mem_init(SRAMEX);”保留了my_mem_init(SRAMCCM);和my_mem_init(SRAMIN);
3. 在Lan8720.c中将原先的PG11/13/14更改到对应100脚芯片的PB11/12/13上。

除此以外还需要对其他部分进行更改么?
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-1-29
在线时间
18 小时
发表于 2016-1-29 10:41:36 | 显示全部楼层
你好,请问我的led不亮是怎么回事,你知道吗
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-1-28
在线时间
4 小时
 楼主| 发表于 2016-1-29 10:54:44 | 显示全部楼层
lalafofo 发表于 2016-1-29 10:41
你好,请问我的led不亮是怎么回事,你知道吗

查电路图设计,查焊接
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-1-29
在线时间
18 小时
发表于 2016-1-29 11:02:44 | 显示全部楼层
fluaxy 发表于 2016-1-29 10:54
查电路图设计,查焊接

我14脚输出50m赫兹,就是tx和rx输出上面的四个电容是22p不是10p
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-1-28
在线时间
4 小时
 楼主| 发表于 2016-1-29 11:06:00 | 显示全部楼层
lalafofo 发表于 2016-1-29 11:02
我14脚输出50m赫兹,就是tx和rx输出上面的四个电容是22p不是10p

程序跑起来了么?LAN8720初始化成功了么?
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-1-29
在线时间
18 小时
发表于 2016-1-29 11:14:32 | 显示全部楼层
fluaxy 发表于 2016-1-29 11:06
程序跑起来了么?LAN8720初始化成功了么?

跟你这个一样啊
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-1-28
在线时间
4 小时
 楼主| 发表于 2016-1-29 11:17:50 | 显示全部楼层

我这个灯亮了。你灯也亮了?
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-1-29
在线时间
18 小时
发表于 2016-1-29 18:05:24 | 显示全部楼层
你好,请问你说stm32部分焊接问题是指什么
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-1-28
在线时间
4 小时
 楼主| 发表于 2016-1-30 10:38:04 | 显示全部楼层
lalafofo 发表于 2016-1-29 18:05
你好,请问你说stm32部分焊接问题是指什么

简单点说就是LAN8720与stm32RMII接口的GPIO虚焊导致。实际是由于插针拆焊过导致焊盘过孔脱落,造成LAN8720与stm32RMII接口的某引脚断路
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2016-6-4
在线时间
8 小时
发表于 2016-6-16 18:11:02 | 显示全部楼层
我的方案跟你一样,但是我的lan8720初始化不通,你的lan8720.c程序处理改引脚,你还改动什么了?
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2016-6-4
在线时间
8 小时
发表于 2016-6-25 11:01:55 | 显示全部楼层
楼主,我的方案跟你一样,也出现了ping时无法访问主机,0%丢失,除了stm32的焊接问题,程序哪里没移植好的话是不是也出现这种问题,因为我测了stm32引脚,连接正常啊,你的程序可以跟我分享一下吗?谢谢你,邮箱1923485486@qq.com。想要啊!
回复

使用道具 举报

87

主题

331

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2016-3-26
在线时间
116 小时
发表于 2016-6-26 15:56:52 | 显示全部楼层
fluaxy 发表于 2016-1-29 10:11
已解决,STM32部分焊接问题。现在可以ping通了。

楼主你是哪里焊接漏了,能说一下吗?我的差不多第一次都是无法访问目标主机,后面3次都是请求失败
回复

使用道具 举报

3

主题

22

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2016-8-5
在线时间
11 小时
发表于 2016-8-5 12:27:23 | 显示全部楼层
zhoujianwen 发表于 2016-6-26 15:56
楼主你是哪里焊接漏了,能说一下吗?我的差不多第一次都是无法访问目标主机,后面3次都是请求失败

@zhoujianwen 请问您的问题解决了吗,能否分享下方法,我最近做的也出现的同样的问题。焊接正常ethernetif_input(struct netif *netif)函数还能接收到数据,就是ping不通
回复

使用道具 举报

87

主题

331

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2016-3-26
在线时间
116 小时
发表于 2016-8-8 10:42:56 | 显示全部楼层
聚散流沙 发表于 2016-8-5 12:27
@zhoujianwen 请问您的问题解决了吗,能否分享下方法,我最近做的也出现的同样的问题。焊接正常etherneti ...

我那个是发送时钟有问题。你先试试能不能收到广播包?255.255.255.255先拿这个地址发一下看看。
回复

使用道具 举报

3

主题

22

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2016-8-5
在线时间
11 小时
发表于 2016-8-8 19:09:48 | 显示全部楼层
zhoujianwen 发表于 2016-8-8 10:42
我那个是发送时钟有问题。你先试试能不能收到广播包?255.255.255.255先拿这个地址发一下看看。

只能接收到ARP数据报,别的什么也接不到,似乎是因为发送不出去,你说的发送时钟是14脚REFCLKO的时钟吗? 我这个有的,50M
回复

使用道具 举报

87

主题

331

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2016-3-26
在线时间
116 小时
发表于 2016-8-9 09:21:59 | 显示全部楼层
聚散流沙 发表于 2016-8-8 19:09
只能接收到ARP数据报,别的什么也接不到,似乎是因为发送不出去,你说的发送时钟是14脚REFCLKO的时钟吗? ...

就是可以接收发送不出去是吧?那就是跟我情况一样,我的是PHY和ARM之间有个FPGA,然后把发送时钟延迟90度相位就可以了。这个发送时钟不是我弄的。我记得是什么90度的。就是发送时钟问题的,因为时序不对,所以数据不对,电脑就不能解析你的地址。所以就不能连接。你用的什么PYH?
回复

使用道具 举报

87

主题

331

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2016-3-26
在线时间
116 小时
发表于 2016-8-9 09:22:28 | 显示全部楼层
zhoujianwen 发表于 2016-8-9 09:21
就是可以接收发送不出去是吧?那就是跟我情况一样,我的是PHY和ARM之间有个FPGA,然后把发送时钟延迟90度 ...

phy
。。。
回复

使用道具 举报

3

主题

22

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2016-8-5
在线时间
11 小时
发表于 2016-8-15 13:07:07 | 显示全部楼层
zhoujianwen 发表于 2016-8-9 09:21
就是可以接收发送不出去是吧?那就是跟我情况一样,我的是PHY和ARM之间有个FPGA,然后把发送时钟延迟90度 ...

LAN8720,和开发板一样的
回复

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2015-4-4
在线时间
22 小时
发表于 2016-8-22 17:49:28 | 显示全部楼层
淡淡牵绊 发表于 2016-6-25 11:01
楼主,我的方案跟你一样,也出现了ping时无法访问主机,0%丢失,除了stm32的焊接问题,程序哪里没移植好的 ...

请问你解决了LAN8720这个问题么,我也遇到这种问题,特来请教,谢谢!
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2017-11-6
在线时间
1 小时
发表于 2017-11-6 17:17:23 | 显示全部楼层
请问各位大神,RMII-MDIO是否需要加上拉电阻
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2020-7-19
在线时间
1 小时
发表于 2020-7-27 22:53:28 | 显示全部楼层
解决了吗?
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2020-7-19
在线时间
1 小时
发表于 2020-7-27 22:54:15 | 显示全部楼层
我也 碰到这问题,解决了吗?
回复

使用道具 举报

4

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2021-8-2
在线时间
11 小时
发表于 2021-8-11 11:33:09 | 显示全部楼层
我也出了同样的问题,用的探索者开发板,原子哥的例程,竟然也会出问题,想不明白原因
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 05:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表