硬汉嵌入式论坛

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

[以太网] 各位大佬, 我的 h7 lwip dm9000 始终都没有ping 痛呀 ?

[复制链接]

699

主题

3632

回帖

5754

积分

论坛元老

积分
5754
发表于 2025-9-13 21:14:51 | 显示全部楼层 |阅读模式
本帖最后由 hpdell 于 2025-9-13 22:38 编辑

各位大佬, 我的 h7 lwip dm9000 始终都没有ping 痛呀 ?

9000-dhcp-3.png




9000-dhcp-1.png


---------------------------------------------------------------------------------------

发送的数据, 后面有很多个 0
9000-dhcp-6.png



-------------------------------------------------------------------------------------------------------
貌似数据发送接收都有进行,但就是获取不到 ip ??

这个跟 sys_arch.c 里面的驱动有没有什么关系呀 ?  我目前使用的是 之前驱动 lan8742  的 sys_arch 驱动, 这个在驱动 lan8742 上应用的是非常好的

也参考了这个里面的 :  https://forum.anfulai.cn/forum.p ... light=dm9000%2Blwip   但还是始终都ping 不通 ... ??

每次读取 dm9000 id 都是正确的 0x0A469000


















回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118328
QQ
发表于 2025-9-14 11:13:20 | 显示全部楼层
1、优先配置FMC驱动LCD的地址空间的MPU属性为Strongly order或者Device模式
2、然后降低下FMC速度试试
回复

使用道具 举报

699

主题

3632

回帖

5754

积分

论坛元老

积分
5754
 楼主| 发表于 2025-9-14 16:41:09 | 显示全部楼层
eric2013 发表于 2025-9-14 11:13
1、优先配置FMC驱动LCD的地址空间的MPU属性为Strongly order或者Device模式
2、然后降低下FMC速度试试





对应的 mpu 配置:

dm9000-io-mpu.png

dm9000-addr.png

这些地址应该都是没有错的吧 ?  



        SRAM_Timing.AddressSetupTime       = 10;  /* 4*5ns=20ns,地址建立时间,范围0 -15个FMC时钟周期个数 */
        SRAM_Timing.AddressHoldTime        = 10;  /* 地址保持时间,配置为模式A时,用不到此参数 范围1 -15个时钟周期个数 */
        SRAM_Timing.DataSetupTime          = 10;  /* 2*5ns=10ns,数据保持时间,范围1 -255个时钟周期个数 */
        SRAM_Timing.BusTurnAroundDuration  = 15; /* 15*5n=75ns, 两个连续数据之间的间隔, 范围0 -15个FMC时钟周期个数*/
        SRAM_Timing.CLKDivision            = 2;  /* 此配置用不到这个参数 */
        SRAM_Timing.DataLatency            = 2;  /* 此配置用不到这个参数 */



fmc 驱动 dm9000 我配置为 16bit 及 32bit 都试过了, 结果都不行,




回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118328
QQ
发表于 2025-9-15 08:47:37 | 显示全部楼层
hpdell 发表于 2025-9-14 16:41
对应的 mpu 配置:

配置上看着没问题。
回复

使用道具 举报

699

主题

3632

回帖

5754

积分

论坛元老

积分
5754
 楼主| 发表于 2025-9-15 10:52:37 | 显示全部楼层
eric2013 发表于 2025-9-15 08:47
配置上看着没问题。

是啊, 这些配置我都检查了好多遍了, 但始终就是不行, sys_arch.c 接口文件驱动 lan8742 都是没有问题的, 所以 这个跟 接口 驱动关系也不大吧 ??

dm9000 读写 函数我也 看过也没有发现什么问题, 所以现在彻底的 迷糊沦陷了呀,  目前也不知道到底是哪里出了问题了呀
回复

使用道具 举报

699

主题

3632

回帖

5754

积分

论坛元老

积分
5754
 楼主| 发表于 2025-9-15 19:19:04 | 显示全部楼层
本帖最后由 hpdell 于 2025-9-15 19:39 编辑
eric2013 发表于 2025-9-15 08:47
配置上看着没问题。




貌似读 寄存器状态都是正常的把:

dm9000-ok.png


貌似初步 dhcp, 成功了, 也能够ping ,只是 有些丢包

dm9000-ok-2.png


参数设置:
dm9000-ok-3.png
赶脚那个参数 250 太占用时间了 ?  怎么会这样,难道是 pcb 板没有搞好造成的吗 ??





回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118328
QQ
发表于 2025-9-16 08:50:48 | 显示全部楼层
hpdell 发表于 2025-9-15 19:19
貌似读 寄存器状态都是正常的把:

调节下FMC时序参数,看看是不是好点
回复

使用道具 举报

699

主题

3632

回帖

5754

积分

论坛元老

积分
5754
 楼主| 发表于 2025-9-16 11:39:55 | 显示全部楼层
本帖最后由 hpdell 于 2025-9-16 12:03 编辑
eric2013 发表于 2025-9-16 08:50
调节下FMC时序参数,看看是不是好点

貌似修改了一下下参数,

SRAM_Timing.DataSetupTime          = 110;    这个参数貌似最少需要 100 ,需要这么大, 是板子没有搞好造成的吗 ?  


ping 时数据量设定为 512 基本没有出现超时的情况了, 如果设置为 1024货1470 偶尔还是会出现 超时计数,

请问一下这个情况是否正常呀 ?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118328
QQ
发表于 2025-9-17 08:53:43 | 显示全部楼层
hpdell 发表于 2025-9-16 11:39
貌似修改了一下下参数,

SRAM_Timing.DataSetupTime          = 110;    这个参数貌似最少需要 100  ...

建立时间太长了,硬件设计得改进改进了
回复

使用道具 举报

699

主题

3632

回帖

5754

积分

论坛元老

积分
5754
 楼主| 发表于 2025-9-17 10:09:28 | 显示全部楼层
本帖最后由 hpdell 于 2025-9-17 10:29 编辑
eric2013 发表于 2025-9-17 08:53
建立时间太长了,硬件设计得改进改进了

我看你的开发板 dm9000 是从左到右 的 的布线怎么就没有这个问题呀 ?  

我这边目前使用的 2 层底板,难道是与这个板层有关吗 ?

硬件上得从哪些方面入手呀  ??  
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118328
QQ
发表于 2025-9-17 12:40:41 | 显示全部楼层
hpdell 发表于 2025-9-17 10:09
我看你的开发板 dm9000 是从左到右 的 的布线怎么就没有这个问题呀 ?  

我这边目前使用的 2 层底板, ...

降低FMC所涉及到GPIO速度等级是不是已经测试过了
回复

使用道具 举报

699

主题

3632

回帖

5754

积分

论坛元老

积分
5754
 楼主| 发表于 2025-9-17 14:11:08 | 显示全部楼层
eric2013 发表于 2025-9-17 12:40
降低FMC所涉及到GPIO速度等级是不是已经测试过了

这个还没有,我现在就试一下, 另外 dm9000 输出 2.5v 供 网络接口头使用的, 我想改用 3.3v 给网络接口头供电不知道可不可以呀 (dm9000 输出的 2.5v 就让他空着不使用)?

回复

使用道具 举报

699

主题

3632

回帖

5754

积分

论坛元老

积分
5754
 楼主| 发表于 2025-9-18 09:29:26 | 显示全部楼层
eric2013 发表于 2025-9-17 12:40
降低FMC所涉及到GPIO速度等级是不是已经测试过了




你好, 昨晚调试发现 dm9000 这个 SRAM_Timing.DataSetupTime          = 110; 这个参数需要设置这么大的原因了

造成这个参数需要这么大的主要原因是使用了 lcd 驱动,我吧 lcd 驱动屏蔽后这个参数 设置为 :
SRAM_Timing.DataSetupTime          >= 9;  就可以了,

有点想不明白, lcd, 与 dm9000 使用的不是一个 内存空间呀,他们怎么会有这么大的牵扯 ?  难道他们都是占用了 fmc 造成的 ?

貌似就算是这样也赶脚有点不对呀,我的 lcd 没有使用任何 gui, 而且 lcd 显示 也没有实时的刷新显示,按理说他们应该是不会发生这么大冲突的才对吧 ?? 可现实就是不一样啊  
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118328
QQ
发表于 2025-9-18 10:46:20 | 显示全部楼层
hpdell 发表于 2025-9-18 09:29
你好, 昨晚调试发现 dm9000 这个 SRAM_Timing.DataSetupTime          = 110; 这个参数需要设置这 ...

你使用了H7系列,不会LCD还继续使用的FMC接口吧,这个有点浪费资源了,你的LTDC没用?
回复

使用道具 举报

699

主题

3632

回帖

5754

积分

论坛元老

积分
5754
 楼主| 发表于 2025-9-18 15:51:16 | 显示全部楼层
eric2013 发表于 2025-9-18 10:46
你使用了H7系列,不会LCD还继续使用的FMC接口吧,这个有点浪费资源了,你的LTDC没用?

我刚刚查看了一下我的 lcd 驱动, 是使用了  LTDC 驱动的, 移植的是  V7-6001_LVGL8 Template(V1.0) 这个里面的驱动,( 只是目前还没有增加 lvgl 驱动而已)
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118328
QQ
发表于 2025-9-18 15:59:37 | 显示全部楼层
hpdell 发表于 2025-9-18 15:51
我刚刚查看了一下我的 lcd 驱动, 是使用了  LTDC 驱动的, 移植的是  V7-6001_LVGL8 Template(V1.0) 这 ...

那这就有点诡异了,我这个例子是DM9000和LTDC一起使用的,没有这个问题。

RTX5全家桶源码综合模板发布V3.0,含FreeRTOS内核版本,将其打造成直接面向实际项目应用的综合框架(2025-03-10)
https://forum.anfulai.cn/forum.p ... 4516&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

699

主题

3632

回帖

5754

积分

论坛元老

积分
5754
 楼主| 发表于 2025-9-18 17:15:30 | 显示全部楼层
eric2013 发表于 2025-9-18 15:59
那这就有点诡异了,我这个例子是DM9000和LTDC一起使用的,没有这个问题。

RTX5全家桶源码综合模板发布 ...

好的,我再研究研究看看
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 15:21 , Processed in 0.057698 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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