硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4032|回复: 13
收起左侧

[RL-TCPnet] 使用RL库,从DP83848移植到LAN8720A的问题。

[复制链接]

13

主题

95

回帖

134

积分

初级会员

积分
134
发表于 2018-5-28 12:53:43 | 显示全部楼层 |阅读模式
使用STM的429芯片,现在想使用keil自带的RL-TCPNet,它默认支持的是DP83848芯片,而我的板子上是LAN8720A,
以前从DP83848转成DM9161就很简单,只需要改几个寄存器的定义和地址,但是这次改了就不行,现在以太网灯闪烁正常,可是收发数据不行。(板子是好的,我用lwip就通讯都正常。)

请指教,多谢多谢!


//LAN8720 PHY
//#define PHY_SR                                ((uint16_t)31)  //LAN8720μÄHY×′쬼Ä′æÆ÷μØÖ·
//#define PHY_SPEED_STATUS    ((uint16_t)0x0004)     //LAN8720 PHYËù¶èÖμÑúÂë
//#define PHY_DUPLEX_STATUS   ((uint16_t)0x00010) //LAN8720 PHYᬽó×′ì¬ÖμÑúÂë  

// The DP83848 PHY status register
#define PHY_SR                 ((uint16_t)0x10) /* PHY status register Offset */
#define PHY_SPEED_STATUS       ((uint16_t)0x0002) /* PHY Speed mask */
#define PHY_DUPLEX_STATUS      ((uint16_t)0x0004) /* PHY Duplex mask */


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106739
QQ
发表于 2018-5-29 19:19:00 | 显示全部楼层
不好意思楼主,刚发现这里还有一个问题。

这样的话,建议直接使用我们TCPnet教程中给的驱动,驱动里面在关键的几个地方做了打印,你看看你那里是否正常。
回复

使用道具 举报

36

主题

1445

回帖

1553

积分

至尊会员

积分
1553
发表于 2019-1-15 19:20:40 | 显示全部楼层
请问现在楼主搞通了吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106739
QQ
发表于 2019-1-16 00:20:41 | 显示全部楼层
sanit 发表于 2019-1-15 19:20
请问现在楼主搞通了吗

你遇到了什么问题,开个帖子,找我交流就行
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
发表于 2019-7-24 22:32:58 | 显示全部楼层
eric2013 发表于 2018-5-29 19:19
不好意思楼主,刚发现这里还有一个问题。

这样的话,建议直接使用我们TCPnet教程中给的驱动, ...

Eric,您好!
      我也遇到类似问题,板子是LAN8720A,程序跑几个小时后,卡在发送这里:
/* 等待上一帧数据发送完成 */
while (Tx_Desc[j].CtrlStat & DMA_TX_OWN);
应该是哪里没有配置好,您有没有做LAN8720A的兼容
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106739
QQ
发表于 2019-7-25 00:30:13 | 显示全部楼层
也许在明天 发表于 2019-7-24 22:32
Eric,您好!
      我也遇到类似问题,板子是LAN8720A,程序跑几个小时后,卡在发送这里:
/* 等待上 ...

LAN8720A我还真没。
回复

使用道具 举报

3

主题

82

回帖

91

积分

初级会员

积分
91
发表于 2019-7-25 10:56:20 | 显示全部楼层
也许在明天 发表于 2019-7-24 22:32
Eric,您好!
      我也遇到类似问题,板子是LAN8720A,程序跑几个小时后,卡在发送这里:
/* 等待上 ...

是不是程序运行开始,PHY芯片没有复位呢?
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
发表于 2019-7-25 11:09:28 | 显示全部楼层
Nesayx 发表于 2019-7-25 10:56
是不是程序运行开始,PHY芯片没有复位呢?

用的是外部引脚复位,现在我也改为使用设置寄存器来复位;但有个问题,都跑了好几个小时,才出现;而且跟电脑还有关系,接不通的PC机测试,最后卡的时间还不一样,高配置的电脑,运行10天都正常
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
发表于 2019-7-25 11:13:10 | 显示全部楼层
eric2013 发表于 2019-7-25 00:30
LAN8720A我还真没。

看来后续还是使用您开发板上推荐的芯片比较靠谱,这个主要是别人的板子,所以没办法要求;不过认真查看了LAN8720A的寄存器,其实都差不了多少
回复

使用道具 举报

3

主题

82

回帖

91

积分

初级会员

积分
91
发表于 2019-7-25 11:42:52 | 显示全部楼层
本帖最后由 Nesayx 于 2019-7-25 11:45 编辑
也许在明天 发表于 2019-7-25 11:13
看来后续还是使用您开发板上推荐的芯片比较靠谱,这个主要是别人的板子,所以没办法要求;不过认真查看了 ...

可以先测试下不建立任何socket ,然后PING几天试试,看看是不是有错误的TCP包导致的,我之前也遇到过CLOSE SOCKET一直不成功的现象如果PING一直通,那应该是socket某些地方没有处理好,如果PING有问题,就得再继续排查了
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
发表于 2019-7-25 14:39:14 | 显示全部楼层
Nesayx 发表于 2019-7-25 11:42
可以先测试下不建立任何socket ,然后PING几天试试,看看是不是有错误的TCP包导致的,我之前也遇到过CLOSE ...

好的,多谢指点
回复

使用道具 举报

3

主题

82

回帖

91

积分

初级会员

积分
91
发表于 2019-7-27 10:07:07 | 显示全部楼层

我用的F429+LAN8720 ping了两天左右没有丢包的现象,延时最高47ms,中间经过一台交换机,无跨网段,我估计是你的其他的东西出错了,最好在出错的机子上一边测一边wireshark抓包,丢包后看看对应的最后一条是怎么回事
回复

使用道具 举报

3

主题

38

回帖

47

积分

新手上路

积分
47
发表于 2019-7-27 21:55:30 | 显示全部楼层
Nesayx 发表于 2019-7-27 10:07
我用的F429+LAN8720 ping了两天左右没有丢包的现象,延时最高47ms,中间经过一台交换机,无跨网段,我估 ...

lan8720a那部分的驱动,能发下参考不
回复

使用道具 举报

3

主题

82

回帖

91

积分

初级会员

积分
91
发表于 2019-7-28 14:25:59 | 显示全部楼层
我用的CMSIS Driver的,你那个应该是以前的RL-net 我用的是V7应该不一样,你想看可以到X:\Keil_v5\Packs\ARM\CMSIS-Driver\2.4.0\ETH下找PHY文件,都一样的
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 13:40 , Processed in 0.228654 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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