硬汉嵌入式论坛

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

[有问必答] 问题: DM9000的 add和DATA地址问题

[复制链接]

16

主题

88

回帖

136

积分

初级会员

积分
136
发表于 2018-10-29 21:09:35 | 显示全部楼层 |阅读模式
我看原理图上
CMD引脚是连接在A18上。

但是程序里定义的是
#define NET_BASE_ADDR                 0x68400000
#define NET_REG_ADDR                        (*((volatile uint16_t *) NET_BASE_ADDR))
#define NET_REG_DATA                        (*((volatile uint16_t *) (NET_BASE_ADDR + 0x00080000)))


数据是增加0x00080000
这个8是不是不是A18引脚呢? 还是我理解错了。


另外。DM9000的长时间通讯,会偶尔丢帧。不知道什么原因。还在查。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119449
QQ
发表于 2018-10-30 02:32:52 | 显示全部楼层
回复

使用道具 举报

16

主题

88

回帖

136

积分

初级会员

积分
136
 楼主| 发表于 2018-10-30 12:36:24 | 显示全部楼层
非常感谢您的回复!我理解了。 这个A18,在16位模式是实际是A19,因为ST内部移动了。

大概5W发送帧,丢5,6帧没有接收到的问题,您知道什么原因吗?
使用网络监视工具,发现发送和接收都是有的。但是DM9000似乎没有收到。真是奇怪!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119449
QQ
发表于 2018-10-30 16:25:34 | 显示全部楼层
gpfrank 发表于 2018-10-30 12:36
非常感谢您的回复!我理解了。 这个A18,在16位模式是实际是A19,因为ST内部移动了。

大概5W发送帧,丢5 ...

你的程序设计有问题,不出意外下个月将发布双网口应用例程,推出DM9000的uIP简易教程。

从此双网口嗨起来。
回复

使用道具 举报

16

主题

88

回帖

136

积分

初级会员

积分
136
 楼主| 发表于 2018-10-31 12:34:56 | 显示全部楼层
eric2013 发表于 2018-10-30 16:25
你的程序设计有问题,不出意外下个月将发布双网口应用例程,推出DM9000的uIP简易教程。

从此双网口嗨 ...

使用的V5的驱动程序。 2MS发送一包。永远会有丢失的帧。(在程序里加入了发送计数和接收计数)
另外还有网络监视器(发送出去了,接收也回来了。但是DM9000A的MAC,就是00,没有收到)

同样的系统架构,程序。只是换成换成内置MAC+PHY,500W包,没丢失过一个包。

(STM32F407没有使用任何内置RAM,都定位在V5板子外部的SRAM中了。)
回复

使用道具 举报

16

主题

88

回帖

136

积分

初级会员

积分
136
 楼主| 发表于 2018-10-31 12:51:55 | 显示全部楼层
eric2013 发表于 2018-10-30 16:25
你的程序设计有问题,不出意外下个月将发布双网口应用例程,推出DM9000的uIP简易教程。

从此双网口嗨 ...

补充一下,2个程序都是只用INIT, SEND,和RECV的程序。
init,send还有recv都是用的V5 UIP-DM9000的例程的例子。没有修改。

发送出去的包会原路返回。如果收不到就会报告一次误差问题。
形同的程序和测试架构。 内置的没问题。外置的DM9K有问题。我已经怀疑是不是DM9K坏掉了。因为丢包就是读DM9K的MAC发现读不到01。但是再发送一次又会好了。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119449
QQ
发表于 2018-10-31 14:05:19 | 显示全部楼层
QQ截图20181031140428.png
回复

使用道具 举报

16

主题

88

回帖

136

积分

初级会员

积分
136
 楼主| 发表于 2018-10-31 14:12:10 | 显示全部楼层

发送我可以正常发送出去。
但是接收会出现不一一对应的问题。
我是跑EtherCAT主站。 发送包会转一圈后回来。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119449
QQ
发表于 2018-10-31 14:13:41 | 显示全部楼层
gpfrank 发表于 2018-10-31 14:12
发送我可以正常发送出去。
但是接收会出现不一一对应的问题。
我是跑EtherCAT主站。 发送包会转一圈后 ...

我这个就是接收啊。电脑端发送。
回复

使用道具 举报

16

主题

88

回帖

136

积分

初级会员

积分
136
 楼主| 发表于 2018-10-31 14:17:44 | 显示全部楼层
eric2013 发表于 2018-10-31 14:13
我这个就是接收啊。电脑端发送。

那真是奇了怪了。我再用V6的板子试试,你们V6的板子我也买了。

V5内置的一点问题没有。
V5外置的DM9k,上去就会出现丢帧。 如果说驱动问题,那么应当不会几十万帧才丢1-200个。应该上去就完蛋了。
回复

使用道具 举报

16

主题

88

回帖

136

积分

初级会员

积分
136
 楼主| 发表于 2018-10-31 14:20:07 | 显示全部楼层
eric2013 发表于 2018-10-31 14:13
我这个就是接收啊。电脑端发送。

非常感谢您的回复。
回复

使用道具 举报

16

主题

88

回帖

136

积分

初级会员

积分
136
 楼主| 发表于 2018-11-14 16:52:16 | 显示全部楼层
eric2013 发表于 2018-10-31 14:13
我这个就是接收啊。电脑端发送。

同样的程序改到V6,一个包也不丢。
在V5上的DM9000J就是会偶尔有收不到的!真是郁闷。

会不会是芯片弱了?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-23 00:20 , Processed in 0.047582 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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