OpenEdv-开源电子网

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

STM32F407VE+DP83848C+LWIP移植,DHCP分配超时

[复制链接]

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2018-2-7
在线时间
16 小时
发表于 2018-3-5 15:20:20 | 显示全部楼层 |阅读模式
10金钱
各位大神好,我最近用STM32F407VE+DP83848芯片的板子,尝试移植了原子哥的LWIP无系统移植的例程,并把LAN8720A的网卡芯片的物理地址改为了DP83848的0x01,但测试中发现程序在DHCP分配时一直超时,无法实现进一步的TCP通信,已经卡在这好几天了,并且查了很多资料一直未能解决,附件是DP83848的原理图部分,麻烦各位大神不吝赐教,拜托!!

DP83848_180305.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

27

主题

427

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4356
金钱
4356
注册时间
2017-5-30
在线时间
578 小时
发表于 2018-3-5 16:35:59 | 显示全部楼层
正好我刚刚弄好,基于RTT-STM32F107-dp83848-lwip。现在分配超时,那就先不要用DHCP,直接使用静态的IP,使用网线直连到电脑上看看能不能PING通。
回复

使用道具 举报

27

主题

427

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4356
金钱
4356
注册时间
2017-5-30
在线时间
578 小时
发表于 2018-3-5 16:39:59 | 显示全部楼层
你有一个问题诶,你的PHY地址是0x01,你是怎么得到的这个地址,我刚刚调通的板子的地址是0x1F
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2018-2-7
在线时间
16 小时
 楼主| 发表于 2018-3-5 16:50:36 | 显示全部楼层
您好,请问您说的是网卡的物理地址吗。。。我的网卡的物理地址是0x01,stm32f4x7_eth_conf.h中的配置如下:
//DP83848 PHY芯片的状态寄存器
#define PHY_SR                                ((uint16_t)16)                 //DP83848的PHY状态寄存器地址
#define PHY_SPEED_STATUS    ((uint16_t)0x0002)         //DP83848 PHY速度值掩码
#define PHY_DUPLEX_STATUS   ((uint16_t)0x0004) //DP83848 PHY连接状态值掩码
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2018-2-7
在线时间
16 小时
 楼主| 发表于 2018-3-5 16:54:44 | 显示全部楼层
whj467467274672 发表于 2018-3-5 16:39
你有一个问题诶,你的PHY地址是0x01,你是怎么得到的这个地址,我刚刚调通的板子的地址是0x1F

您好,我是这么改的,不确定对不对。
#define DP83848_PHY_ADDRESS          0x01                                //LAN8720 PHY芯片地址.
我看原子哥的LAN8720的例程里边,网卡地址是0x00,我用的DP83848,所以改用了0x01,但这俩现在都不行,,,,我先试试您说的地址,看能否解决哈
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2018-2-7
在线时间
16 小时
 楼主| 发表于 2018-3-5 17:03:12 | 显示全部楼层
whj467467274672 发表于 2018-3-5 16:39
你有一个问题诶,你的PHY地址是0x01,你是怎么得到的这个地址,我刚刚调通的板子的地址是0x1F

您好,我现在用的这个板子的上一版本用测试程序可以PING通,但没做后续的测试,现在我移植了完整的LWIP的例程后测试DHCP总是超时,一直没解决,好郁闷。
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2018-2-7
在线时间
16 小时
 楼主| 发表于 2018-3-5 17:16:44 | 显示全部楼层
whj467467274672 发表于 2018-3-5 16:39
你有一个问题诶,你的PHY地址是0x01,你是怎么得到的这个地址,我刚刚调通的板子的地址是0x1F

您好,请问您现在DHCP的问题解决了么。。。我用0x1F的地址DHCP还是超时,,,顺便问您一下,在初始化时对板子的MAC地址有什么特殊要求吗,我是随便写的一个
回复

使用道具 举报

27

主题

427

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4356
金钱
4356
注册时间
2017-5-30
在线时间
578 小时
发表于 2018-3-5 17:45:21 | 显示全部楼层
你这样根本不可能通的,你的PHY地址你都还没弄明白。你看了下你的硬件,你的0X01不对0X1F也不会对的,具体多少,自己看芯片手册。我的是0X1F是我的硬件决定的。
你现在PHY地址都是错的,你DHCP能通才见鬼了。
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2018-2-7
在线时间
16 小时
 楼主| 发表于 2018-3-5 18:35:59 | 显示全部楼层
whj467467274672 发表于 2018-3-5 17:45
你这样根本不可能通的,你的PHY地址你都还没弄明白。你看了下你的硬件,你的0X01不对0X1F也不会对的,具体 ...

您好,我刚看了下手册,里边的例子中的RXD_0加了上拉电阻,所以地址是0x03,但我的PHYAD1/PHYAD2接的并不是上下拉电阻,所以我用的PHY地址为0x01,我不知道我这样理解是否正确呢
DP83848_PHY_addr_180305.png
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2018-2-7
在线时间
16 小时
 楼主| 发表于 2018-3-5 18:37:24 | 显示全部楼层
whj467467274672 发表于 2018-3-5 17:45
你这样根本不可能通的,你的PHY地址你都还没弄明白。你看了下你的硬件,你的0X01不对0X1F也不会对的,具体 ...

请问您的芯片的地址引脚全部外接了上拉电阻,所以地址是0x1F吗
回复

使用道具 举报

27

主题

427

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4356
金钱
4356
注册时间
2017-5-30
在线时间
578 小时
发表于 2018-3-6 08:19:15 | 显示全部楼层
本帖最后由 whj467467274672 于 2018-3-6 08:21 编辑
karzn 发表于 2018-3-5 18:37
请问您的芯片的地址引脚全部外接了上拉电阻,所以地址是0x1F吗

PHY地址是由PHYAD[0:4]来决定的。可以看到我的是5个引脚全部接了,所以是 1 1 1 1 1=0x1F。按照你程序里写的0X01那么引脚应该接的是PHYAD0,其他全部悬空。
17.png
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2018-2-7
在线时间
16 小时
 楼主| 发表于 2018-3-6 11:09:55 | 显示全部楼层
whj467467274672 发表于 2018-3-6 08:19
PHY地址是由PHYAD[0:4]来决定的。可以看到我的是5个引脚全部接了,所以是 1 1 1 1 1=0x1F。按照你程序里 ...

您好,我现在的PHYAD[1-2]都接了个电阻,但不确实是上拉还是下拉,我测试了PHY的地址为:0x01/3/5/7,还是未能解决问题,请问您的DHCP超时的问题解决了么
DP83848_PHY_addr_2_180306.png
回复

使用道具 举报

27

主题

427

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4356
金钱
4356
注册时间
2017-5-30
在线时间
578 小时
发表于 2018-3-6 11:36:13 | 显示全部楼层
你为什么不能先用网线直连先确定你的硬件和驱动都没有问题了,在去找DHCP为什么超时的问题?
上面没解决,你再问DHCP超时有什么意义。
调试能不能一步一步来?
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2018-2-7
在线时间
16 小时
 楼主| 发表于 2018-3-6 14:10:12 | 显示全部楼层
whj467467274672 发表于 2018-3-6 11:36
你为什么不能先用网线直连先确定你的硬件和驱动都没有问题了,在去找DHCP为什么超时的问题?
上面没解决, ...

您好,我现在这个板子的上一版的网卡这一块测试是可以ping通的,而且那个ping通的程序用的地址也是0x01。。。所以我现在也不知改怎么弄了
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2018-2-7
在线时间
16 小时
 楼主| 发表于 2018-3-9 09:37:18 | 显示全部楼层
怎么办,好郁闷,求大神指点迷津呀
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2018-3-10 01:47:23 | 显示全部楼层
帮顶
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2018-2-7
在线时间
16 小时
 楼主| 发表于 2018-3-12 10:06:24 | 显示全部楼层
顶起来呀,别沉
回复

使用道具 举报

27

主题

427

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4356
金钱
4356
注册时间
2017-5-30
在线时间
578 小时
发表于 2018-3-13 13:39:20 | 显示全部楼层
先看看硬件有没有问题啊,看看晶振有没有起震
回复

使用道具 举报

25

主题

683

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1350
金钱
1350
注册时间
2012-4-25
在线时间
195 小时
发表于 2018-3-16 08:46:45 | 显示全部楼层
有这么纠结吗,
1.先确定硬件问题,设置读取相关DP838448寄存器,看能不能正常。
2.软件问题,进入调试状态,打开LWIP的Debug,跟踪打印信息。
3.看上面描述,你的PHY 地址是 0x1,先试下能不能Ping通,然后再用静态地址,最后用DHCP。
1-1
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 21:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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