OpenEdv-开源电子网

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

lwip的问题

[复制链接]

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
发表于 2016-3-30 11:30:39 | 显示全部楼层 |阅读模式
我自己按照原子哥战舰板子做了一块新的,关于DM9000A和网络变压器那边的,程序也是按照原子哥教程来的,现在的情况是直接用网线把板子和笔记本直接连起来是可以ping的通 的,websever的网页实验也是成功了的,但是一连到路由器,首先DHCP不成功,更别谈PING了,然后我把静态IP地址设为和路由器一个地址段,试了一下,还是不行,请问哪位大神帮忙分析一下,是哪边的原因呢,给个思路也好啊,,,,
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

336

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1571
金钱
1571
注册时间
2015-8-9
在线时间
624 小时
发表于 2016-3-30 12:31:20 | 显示全部楼层
请教一下楼主,我也参考了战舰做了一个开发板,是带dm9000的,id读取一直没正确。
请问楼主的程序和原理图都是参考战舰的吗?
还有,布线方面有没什么要注意的地方??
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-3-30 12:50:04 | 显示全部楼层
Akatsuki_lim 发表于 2016-3-30 12:31
请教一下楼主,我也参考了战舰做了一个开发板,是带dm9000的,id读取一直没正确。
请问楼主的程序和原理图 ...

我都是照着原子哥的战舰做的,布线的话,首先DM9000到网络变压器的2组差分信号要尽量等长,还有就是两者的距离不要拉的太远(我第一块板子就是太远了,始终PING不通 ),其它没什么,你ID读不出来,你查查STM32芯片到DM9000的信号线有没有焊好,可能是那里的原因。。
回复 支持 反对

使用道具 举报

12

主题

336

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1571
金钱
1571
注册时间
2015-8-9
在线时间
624 小时
发表于 2016-3-30 13:49:42 | 显示全部楼层
Denniky 发表于 2016-3-30 12:50
我都是照着原子哥的战舰做的,布线的话,首先DM9000到网络变压器的2组差分信号要尽量等长,还有就是两者 ...

信号线方面都没问题,其他的也检查过好几次了,一直找不出原因
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-3-30 13:59:55 | 显示全部楼层
Akatsuki_lim 发表于 2016-3-30 13:49
信号线方面都没问题,其他的也检查过好几次了,一直找不出原因

那就不知道了
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-3-30 14:02:28 | 显示全部楼层
我这个也见鬼,公司的还不是路由器,是交换机,所以DHCP还试不了,只能把静态IP设置成192.168.0.44,试他们在同一网段,已经确定这个IP是没有使用的,然后ping不通,用同样的方法试战舰反而是可以的。。。
回复 支持 反对

使用道具 举报

12

主题

336

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1571
金钱
1571
注册时间
2015-8-9
在线时间
624 小时
发表于 2016-3-30 14:11:46 | 显示全部楼层
Denniky 发表于 2016-3-30 14:02
我这个也见鬼,公司的还不是路由器,是交换机,所以DHCP还试不了,只能把静态IP设置成192.168.0.44,试他们 ...

用交换机加使用静态ip可以接通TCP/IP连接吗?为什么我用28j20模块加上使用静态ip就不行呢?已经确定他们是在同一网关上了
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-3-30 14:17:01 | 显示全部楼层
Akatsuki_lim 发表于 2016-3-30 14:11
用交换机加使用静态ip可以接通TCP/IP连接吗?为什么我用28j20模块加上使用静态ip就不行呢?已经确定他们 ...

我用战舰的可以啊,公司的网段是192.168.0.XXX,我把静态IP设置成192.168.0.44,其它的没改不过我试的程度只是ping通了而已
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-3-30 14:18:02 | 显示全部楼层
Denniky 发表于 2016-3-30 14:17
我用战舰的可以啊,公司的网段是192.168.0.XXX,我把静态IP设置成192.168.0.44,其它的没改不过我试的程 ...

还有,我的DHCP功能也不行,真他妈见鬼!
回复 支持 反对

使用道具 举报

12

主题

336

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1571
金钱
1571
注册时间
2015-8-9
在线时间
624 小时
发表于 2016-3-30 14:19:59 | 显示全部楼层
Denniky 发表于 2016-3-30 14:18
还有,我的DHCP功能也不行,真他妈见鬼!

呵呵,有试过将接口接到路由器上面么?
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-3-30 14:21:12 | 显示全部楼层
Akatsuki_lim 发表于 2016-3-30 14:19
呵呵,有试过将接口接到路由器上面么?

试过,DHCP功能是不行,但PING的通
回复 支持 反对

使用道具 举报

12

主题

336

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1571
金钱
1571
注册时间
2015-8-9
在线时间
624 小时
发表于 2016-3-30 14:26:14 | 显示全部楼层
Denniky 发表于 2016-3-30 14:21
试过,DHCP功能是不行,但PING的通

同样有着调试dm9000的血泪经历
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-3-30 20:42:10 | 显示全部楼层
Akatsuki_lim 发表于 2016-3-30 14:26
同样有着调试dm9000的血泪经历

你移植的时候外部内存池有用到吗?
回复 支持 反对

使用道具 举报

12

主题

336

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1571
金钱
1571
注册时间
2015-8-9
在线时间
624 小时
发表于 2016-3-31 09:07:20 | 显示全部楼层
Denniky 发表于 2016-3-30 20:42
你移植的时候外部内存池有用到吗?

是指dm9000的sram吗?没有用到
不过初始化的时候申请内存是成功的
回复 支持 反对

使用道具 举报

1

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
195
金钱
195
注册时间
2015-11-26
在线时间
25 小时
发表于 2016-3-31 09:35:02 | 显示全部楼层
设置你的网关  改一下   改成路由器的ip  测试一下
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-3-31 13:37:48 | 显示全部楼层
嗷大喵 发表于 2016-3-31 09:35
设置你的网关  改一下   改成路由器的ip  测试一下

试过了,DHCP还是不行,我现在身边只有交换机,只能试静态IP改为192.168.0.44,然后插上交换机,看能不能ping通,同样的方法试战舰是可以的;
我把例程整个拷过来,然后把DM9000的FSMC初始化改为我的,LCD都没用,然后还是不行,我现在已经在怀疑是不是我的硬件有问题了,我DM9000用的是DM9000ACP而战舰用的是
DM9000CEP,应该是没有影响的,可能还是我布线的问题,那,这样的话,就悲剧了。。。
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-3-31 15:55:35 | 显示全部楼层
这是我的板子图,请路过大神指点一二!!

PCB

PCB

接口

接口

STM32

STM32
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-4-1 11:30:57 | 显示全部楼层
连路由器的现象(DHCP功能失效,因此将固定IP设为和路由器(192.168.1.1)一个网段的IP:9:1.168.1.44):
首先插上网线,然后上电源,发现网络接口的灯一开始不亮,然后两个灯一起一闪一闪,然后黄灯不亮,绿灯常亮,然后ping是通的;
对比战舰,插上网线,上电源之后,两个灯一起常亮,接着DHCP迅速成功获取了。

之后我加了usmart功能,发送DM9000_ReadReg(0x01)命令,获取NSR的状态:
第一次发送时0xC4,之后接着几次发送就都是0xC0了,这个时候再ping,就不通了

今天早上我用同样的方法试了将网线直接连到电脑:
同样我加了usmart功能,发送DM9000_ReadReg(0x01)命令,获取NSR的状态,第一次发送时返回0X4C,然后ping一次,是通的,再发一次,仍旧返回0X4C,然后ping一次,还是通的,然后我连续发好几次DM9000_ReadReg(0x01)命令,除第一次返回0X4C之外,其余都是0X40,然后就ping不通了。
用同样的方法试了战舰,发现每次发送DM9000_ReadReg(0x01)命令时,返回的都是0X4C。貌似很稳定的样子。。






难道,真的是我的硬件问题吗?我查了一下布线规则,是我DM9000的几个电源滤波电容离芯片太远了?


1.JPG
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-4-2 08:07:52 | 显示全部楼层
呵呵哒,我什么也没动,就是监视了一下dhcp_start(&lwip_netif)里面的状态,也是醉了。。
1.JPG
2.JPG
回复 支持 反对

使用道具 举报

12

主题

336

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1571
金钱
1571
注册时间
2015-8-9
在线时间
624 小时
发表于 2016-4-2 09:44:43 | 显示全部楼层
Denniky 发表于 2016-4-2 08:07
呵呵哒,我什么也没动,就是监视了一下dhcp_start(&lwip_netif)里面的状态,也是醉了。。

这个是你做的板子的状态吗?
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-4-2 13:36:30 | 显示全部楼层
Akatsuki_lim 发表于 2016-4-2 09:44
这个是你做的板子的状态吗?

是啊,我现在在试web,我也不知道怎么回事。。。
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-4-3 06:54:17 | 显示全部楼层
DHCP功能有时候成功,有时候失败,而且失败的几率比成功的大,当我试web功能时,等DHCP成功,输入网址,还是进不了网页;用网线直接连的话,是进得去的,现在我基本确定是硬件问题了,等放假之后,用新的元器件重焊一块板子再试一下(这块板子上的元器件全是从之前做失败的板子上拆下来的),如果还是不行的话,可能就要重新排版了,现在能改进的地方也之后DM9000的电容电感的位置了。。。
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-4-3 07:08:39 | 显示全部楼层
还有一个奇怪的地方,DHCP分配成功之后,我ping是通的,但是我输入arp -a时,却没有我DHCP得到的ip地址,哎!!!
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-4-4 17:37:00 | 显示全部楼层
坐等一星期。。。再不行我把它吃了。。。
1.JPG
回复 支持 反对

使用道具 举报

3

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-8-8
在线时间
24 小时
 楼主| 发表于 2016-4-5 19:45:53 | 显示全部楼层
终于找到原因了。。我之前几块板子的DM9000都是用的DM9000AEP芯片,后来我换了DM9000CEP芯片之后,就好了。。具体两个有什么区别我也没搜到,反正两者的百度百科上是写的几乎一模一样,希望路过的大神知道的解释一下。。。哎,还好没重做板子。。。现在局域网是通了,接下来是连外网了,,。。。
回复 支持 反对

使用道具 举报

17

主题

46

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2016-9-9
在线时间
92 小时
发表于 2016-9-23 16:15:58 | 显示全部楼层
楼主,你好,我用的DM9000cep的按照战舰板的接线方法接好了,弄进去运行没有任何反应,连网卡灯都不亮。然后自己在网上查了一些方法,把线接好初始化对应的GPIO后网卡灯亮了,但是ping不通,不知楼主方便留个联系方式,我都研究一个多星期了,各种阵型都试过了
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2021-11-10
在线时间
3 小时
发表于 2021-11-10 16:24:52 | 显示全部楼层
xmlhttp 发表于 2016-9-23 16:15
楼主,你好,我用的DM9000cep的按照战舰板的接线方法接好了,弄进去运行没有任何反应,连网卡灯都不亮。然 ...

大佬你好,请问你的网口灯是怎么调的,我现在也是灯不亮
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 15:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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