硬汉嵌入式论坛

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

[FMC] SDRAM和DM9000同时使用的问题

[复制链接]

19

主题

62

回帖

119

积分

初级会员

积分
119
发表于 2022-3-20 21:54:28 | 显示全部楼层 |阅读模式
   项目上需要用到3个网口,所以准备在FMC总线上挂SDRAM和两片DM9000,对FMC总线不是太熟悉请教几个问题:

   1.SDRAM和DM9000是可以同时挂在FMC总线上来驱动吧?
   2.在STM32CubeMX是将FMC配置成哪种模式来驱动DM9000,是SRAM模式嘛?(看配置出来的GPIO,nor flash psram sram都是一样的)
   3.两片DM9000是否可以一片使用高16位数据线,一片使用低16位数据线来驱动?
   4.如果按照3中的方式来驱动DM9000,是否可以同时读写两片DM9000,提高速率?驱动好实现嘛?
   5.下面是我初步先的原理图设计,不知道是否正确?

Snipaste_2022-03-20_21-53-46.png
回复

使用道具 举报

0

主题

17

回帖

17

积分

新手上路

积分
17
发表于 2022-3-21 08:40:32 | 显示全部楼层
你这个是不能同时读取的。片选信号不一样,可以用同一个片选信号,FMC总线配置为32位,驱动采用SRAM方式,
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2022-3-21 10:12:01 | 显示全部楼层
1、可以
2、可以
3、意义不大,因为这种玩法也需要分时操作。
4、同上。
5、一点要保证独立配置。
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2022-4-13 14:47:03 | 显示全部楼层
楼主,我想问问DM9000基地址是根据CS片选来决定吗,比如FMC_NE1,再由CDM决定偏移多少位?就是DM9000_IO_CMD    *((__IO uint16_t *)0x6400002)
回复

使用道具 举报

19

主题

62

回帖

119

积分

初级会员

积分
119
 楼主| 发表于 2022-4-14 18:56:42 | 显示全部楼层
是的,不同的NE对应不同过的地址,这个基地址是由NE确定,然后基地址+偏移地址决定了地址线Ax的电平变化
FMC_NE1:首地址0x6000 0000,可以管理的地址范围0x6000 0000到0x63FF FFFF。
FMC_NE2:首地址0x6400 0000,可以管理的地址范围0x6400 0000到0x67FF FFFF。
FMC_NE3:首地址0x6800 0000,可以管理的地址范围0x6800 0000到0x6BFF FFFF。
FMC_NE4:首地址0x6C00 0000,可以管理的地址范围0x6C00 0000到0x6FFF FFFF。
回复

使用道具 举报

13

主题

187

回帖

226

积分

高级会员

积分
226
发表于 2022-4-14 21:46:31 | 显示全部楼层
tzh 发表于 2022-4-13 14:47
楼主,我想问问DM9000基地址是根据CS片选来决定吗,比如FMC_NE1,再由CDM决定偏移多少位?就是DM9000_IO_CM ...

我补充一下5楼说的
这个地址不是唯一的,只要满足:读写数据的时候,与Ax对应的位是1(或0,具体我忘了),而地址时相反
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2022-4-15 15:43:11 | 显示全部楼层
各位帮我看看这样对不对,谢谢啦,CS接FMC_NE3,CMD接FMC_A0,这样我的基地址  DM9000_IO_CMD    *((__IO uint16_t *)0x6800002)  ,-->>0x6800 0000 +1<<1?是这样子吗,因为我一直调试不出来DM9000的ID,又或者是SRAM初始化不对吗,调试了比较长时间,也不确定是硬件问题还是我的问题,刚刚接触stm32的网口
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2022-11-15 14:10:31 | 显示全部楼层
tzh 发表于 2022-4-15 15:43
各位帮我看看这样对不对,谢谢啦,CS接FMC_NE3,CMD接FMC_A0,这样我的基地址  DM9000_IO_CMD    *((__IO uin ...

可以说说后来怎么解决的吗?同样的问题,还在纠结中
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2022-11-15 14:57:49 | 显示全部楼层
pcalling 发表于 2022-11-15 14:10
可以说说后来怎么解决的吗?同样的问题,还在纠结中

你的是什么问题,跟他的一样吗
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2022-11-15 15:04:11 | 显示全部楼层
eric2013 发表于 2022-11-15 14:57
你的是什么问题,跟他的一样吗

不太一样,大概率是驱动问题。我想看看前人怎么解决无法读取DM9000芯片ID的
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2022-11-16 14:02:15 | 显示全部楼层
pcalling 发表于 2022-11-15 15:04
不太一样,大概率是驱动问题。我想看看前人怎么解决无法读取DM9000芯片ID的

这个合理的配置FMC参数,还有就是最关键一点,配置FMC地址空间的MPU属性是Strongly order或者Device模式。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-1 07:34 , Processed in 0.620525 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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