OpenEdv-开源电子网

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

lwip的一个疑问

[复制链接]

36

主题

162

帖子

0

精华

高级会员

Rank: 4

积分
943
金钱
943
注册时间
2015-11-24
在线时间
162 小时
发表于 2019-4-18 10:30:57 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 gangzilife 于 2019-4-18 15:24 编辑

现在两个项目,分别使用了dm9000和dp83848,两个项目一起做,现有疑问如下:

1、dp83848的网络状态发送变化(比如断开网线)可以产生中断至mac层,通过回调重新自动协商或者关闭以太网模块,此功能对于80并口的dm9000能实现吗?现在采用的是轮询dm9000的状态寄存器中的link status

2、dm9000中通用phy寄存器status(里面带协商有没有完成的那个寄存器)中的link status 和扩展phy寄存器的status寄存器中的link status 是同步的吗?手册中没看到,原子的程序读取的状态是扩展phy寄存器status的状态

3、网线断开后重新接上,是不是需要重新自动协商配置dm9000

4、ST的hal库里面有个自带的dp83848的配置,但是看代码,好像只支持部分的dp83848,有些83848都没有配置中的那些寄存器

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

使用道具 举报

36

主题

162

帖子

0

精华

高级会员

Rank: 4

积分
943
金钱
943
注册时间
2015-11-24
在线时间
162 小时
 楼主| 发表于 2019-4-18 13:32:48 | 显示全部楼层
眼看要沉了,自问自答一把,有不对的地方请各位大神指正:

1、dp83848的中断并不是传输至mac层,而是直接中断引脚,读配置的中断状态寄存器判断是什么中断,接收数据中断由DMA产生,与中断引脚没有关系

2、通用寄存器和扩展寄存器里的link status状态时一致的

3、对于dm9000,重新连接网线协商后,不用配置,因为mac和phy是一起的,但是对于dp83848,每次网线断开重连后,需要重新配置mac层,因为协商后的双工模式和速度可能跟之前不一样了

3、dp83848有好多类型,有的甚至都没有中断,所以st的hal库中的代码仅适用于部分83848
回复

使用道具 举报

36

主题

162

帖子

0

精华

高级会员

Rank: 4

积分
943
金钱
943
注册时间
2015-11-24
在线时间
162 小时
 楼主| 发表于 2019-4-18 15:11:48 | 显示全部楼层
本帖最后由 gangzilife 于 2019-4-18 16:46 编辑

用原子的代码,dm9000在进入接收中断后,接收数据第一个字节确实0(没收到数据),这正常吗?

一直在产生packet received 中断,但是收数据第一个字节是0
dm9000接收.PNG
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-22 01:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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