打印
[AT32F405]

AT32 QSPI 读写 PSRAM 两次读写之间 空闲时长如何设定?

[复制链接]
561|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dukedz|  楼主 | 2025-4-18 13:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 dukedz 于 2025-4-18 14:11 编辑

XIP 模式读写 PSRAM,AT 官方例程使用的 PSRAM 芯片手册要求两次读写之间 #CS 为高电平的空闲时间要超过 50ns,这个时间是 PSRAM 内部 DDR 刷新所需,否则不能保证数据不损坏。
看了几遍 AT32 的手册,没有找到设定 两次读写之间 空闲时长的设定,请问 AT32F405 的这个时间是多少?

使用特权

评论回复
沙发
作业粉碎机| | 2025-4-19 11:54 | 只看该作者
您好,关于AT32F405的空闲时长设定,您可以尝试在QSPI的配置中设置时序参数。具体来说,可以在QSPI的控制寄存器中调整CS的高电平时间来满足50ns的要求。

使用特权

评论回复
板凳
灵犀幻影| | 2025-4-20 13:08 | 只看该作者
根据PSRAM芯片手册的要求,确实需要在两次读写之间保持#CS为高电平至少50ns。AT32F405的QSPI配置中,可以通过调整时序参数来满足这一要求。具体来说,可以在QSPI的控制寄存器中设置适当的时序参数,确保两次读写操作之间的空闲时间满足50ns的要求。

使用特权

评论回复
地板
dukedz|  楼主 | 2025-4-21 08:56 | 只看该作者
作业粉碎机 发表于 2025-4-19 11:54
您好,关于AT32F405的空闲时长设定,您可以尝试在QSPI的配置中设置时序参数。具体来说,可以在QSPI的控制寄 ...

AI 乱说的吧,那你说说是哪个寄存器可以调整 CS 的高电平时间

使用特权

评论回复
5
dukedz|  楼主 | 2025-4-21 08:56 | 只看该作者
灵犀幻影 发表于 2025-4-20 13:08
根据PSRAM芯片手册的要求,确实需要在两次读写之间保持#CS为高电平至少50ns。AT32F405的QSPI配置中,可以通 ...

AI 乱说的吧,那你说说是哪个寄存器可以调整 CS 的高电平时间

使用特权

评论回复
6
084425| | 2025-4-21 11:16 | 只看该作者
目前设计是固定qspi时钟*16,比如系统时钟200,qspi 4分频,那么cs高电平就是16/50M,大概320ns

使用特权

评论回复
7
dukedz|  楼主 | 2025-4-21 14:31 | 只看该作者
084425 发表于 2025-4-21 11:16
目前设计是固定qspi时钟*16,比如系统时钟200,qspi 4分频,那么cs高电平就是16/50M,大概320ns ...

谢谢解惑

看了刊误手册,qspi 的毛病不少,cache 也不能用,这样的话,我打算还是用 dma 模式

希望下次改版可以支持配置这个长度,不然还是影响效率
(我最新方案是 psram 放在另一个板,通过 ffc 排线和 mcu 连接,qspi sck 时钟不方便太高,时钟*16就比较长了)

使用特权

评论回复
8
dukedz|  楼主 | 2025-4-21 14:55 | 只看该作者
084425 发表于 2025-4-21 11:16
目前设计是固定qspi时钟*16,比如系统时钟200,qspi 4分频,那么cs高电平就是16/50M,大概320ns ...

想再请教一下,刊误手册里面有提到:
“QSPI 在命令端口模式下,读取操作完成后,会多发出 dummy clock”
请问发出多余 dummy clock 的时候片选脚是保持使能的状态,还是空闲失能状态?

因为要计算一次传输多少字节可以满足 psram 的 8us 单次传输限制,
如果发出多余 dummy clock 的时候片选没有释放,那么要考虑降低传输字节数,以满足不超过 8us 时间
请问多余 dummy clock 占用片选多长时间?如果是 4 字节整数传输,也会有多余 dummy clock 吗?
谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:支持仲裁的高速 RS485: https://github.com/dukelec/cdbus_ip

14

主题

244

帖子

11

粉丝