硬汉嵌入式论坛

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

[STM32H7] [SDRAM]请问32位宽度的SDRAM,硬件上只接了16根数据线,可以完整读写SDRAM吗?

[复制链接]

1

主题

14

回帖

17

积分

新手上路

积分
17
发表于 2021-7-15 10:35:29 | 显示全部楼层 |阅读模式
芯片是IS42S32800G,硬件上只接了D0-D15,配置STM32的FMC只能是16位,这样的话正常读写SDRAM的时候,每个地址是不是只能操作低16位?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106905
QQ
发表于 2021-7-15 10:49:45 | 显示全部楼层
理解有偏差,FMC驱动SDRAM,每个地址是操作8bit,即1个字节。
回复

使用道具 举报

1

主题

14

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2021-7-15 11:07:32 | 显示全部楼层
eric2013 发表于 2021-7-15 10:49
理解有偏差,FMC驱动SDRAM,每个地址是操作8bit,即1个字节。

所以对于32位宽度的SDRAM,FMC需要操作4次才能写一个地址吗,那这样的话,16根数据线和32位数据线还有啥区别呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106905
QQ
发表于 2021-7-15 11:13:12 | 显示全部楼层
iceburgconner2 发表于 2021-7-15 11:07
所以对于32位宽度的SDRAM,FMC需要操作4次才能写一个地址吗,那这样的话,16根数据线和32位数据线还有啥 ...

对于32bit SDRAM。 如果是你是操作32bit数据类型,1次就可以,他是一次就操作了4个字节,对应的是4个地址空间。

对于16bit SDRAM,如果是你是操作32bit数据类型,FMC内部是分两次传输完成的,一次两个字节。
回复

使用道具 举报

1

主题

14

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2021-7-15 11:18:42 | 显示全部楼层
eric2013 发表于 2021-7-15 11:13
对于32bit SDRAM。 如果是你是操作32bit数据类型,1次就可以,他是一次就操作了4个字节,对应的是4个地址 ...

所以即使我总线宽度是16位的,也是可以完整读写3232位宽度的SDRAM,只是速度比32位总线宽度慢一点,是这样理解吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106905
QQ
发表于 2021-7-15 11:28:33 | 显示全部楼层
iceburgconner2 发表于 2021-7-15 11:18
所以即使我总线宽度是16位的,也是可以完整读写3232位宽度的SDRAM,只是速度比32位总线宽度慢一点,是这 ...

对,差不多慢一倍。
回复

使用道具 举报

1

主题

14

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2021-7-15 13:12:11 | 显示全部楼层
eric2013 发表于 2021-7-15 11:28
对,差不多慢一倍。

好的,了解了,谢谢版主
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2021-7-15 14:33:59 | 显示全部楼层
这个应该是32位SDRAM芯片当作16位在用吧
回复

使用道具 举报

1

主题

12

回帖

20

积分

新手上路

积分
20
QQ
发表于 2023-5-12 12:20:23 | 显示全部楼层
19年此贴中仅用了一半的空间的解释是不对的吗?
https://www.armbbs.cn/forum.php? ... ;tid=95005&page
H750B-DK_32bit用作16bit.png

通常双16bit SDRAM 是此贴 6楼的接法
https://www.armbbs.cn/forum.php? ... highlight=SDRAM%2B2
重画了一下,应该长这样:
16bit用作16bit,双片16bit.png

想法:
把16bit SDRAM接在8bit数据总线上,两片组合成 16bit,一片用D0~D7 + NBL0(NBL0接DQML),另一片用 D8~D15 + NBL1(NBL1接DQML),两片共用地址时钟和其他控制信号,不知道能不能用,这样可以避免画板子时数据线走线T形分支,并且可以省一组 SDNE 和 SDCKE 引脚,如下图:
16bit用作8bit,双片构成16bit.png
PS:
现在的TSSOP54的SDRAM几乎都是16bit的了,8bit的反而不好买,例如IS42的8bit和16bit SDRAM的 引脚对比,8bit 只有 一个DQM 没有 DQ8~DQ15,16bit 有 DQML 和 DQMH,其他引脚一样
IS42S_SDRAM_8bit和16bit的对比.png
原子北极星H750XB核心板使用 双片16bit 构成 32bit
原子北极星_双片16bit构成32bit.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106905
QQ
发表于 2023-5-13 01:56:38 | 显示全部楼层
OldGerman 发表于 2023-5-12 12:20
19年此贴中仅用了一半的空间的解释是不对的吗?
https://www.armbbs.cn/forum.php?mod=viewthread&tid=950 ...

你做的这个已经做板子了没
回复

使用道具 举报

1

主题

12

回帖

20

积分

新手上路

积分
20
QQ
发表于 2023-5-13 15:50:02 | 显示全部楼层
eric2013 发表于 2023-5-13 01:56
你做的这个已经做板子了没

还没,,,第一次搞六层还在做功课中
找到一个情况相似的帖子,测试会忽略第10位地址,应该是不行的
Using 16bit SDRAM with 8bit bus?
https://electronics.stackexchange.com/questions/122370/using-16bit-sdram-with-8bit-bus



使用8位总线无法访问完整的16位SDRAM,16位SDRAM列地址没有A9,忽略第10位列地址.png



回复

使用道具 举报

3

主题

8

回帖

17

积分

新手上路

积分
17
发表于 2023-11-18 09:45:51 | 显示全部楼层
eric2013 发表于 2021-7-15 11:13
对于32bit SDRAM。 如果是你是操作32bit数据类型,1次就可以,他是一次就操作了4个字节,对应的是4个地址 ...

请教硬汉哥,写入32位,低位的数据在低地址么?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 11:57 , Processed in 0.196073 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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