搜索
bottom↓
回复: 16

分享一个 QSPI N25Q256A的读写程序,支持QUAD, 4字节模式,绝...

[复制链接]

出0入0汤圆

发表于 2016-12-19 09:33:00 | 显示全部楼层 |阅读模式
本帖最后由 hpdell 于 2016-12-19 09:52 编辑

分享一个 QSPI N25Q256A的读写程序,支持QUAD, 4字节模式

欢迎下载,绝对好用,
废话不多说,









有谁看看能否把他改成可以读取 QSPI   N25Q512A 的  ???



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-12-19 09:35:19 | 显示全部楼层
把速度也发一下看看.

出0入0汤圆

 楼主| 发表于 2016-12-19 09:49:12 | 显示全部楼层
本帖最后由 hpdell 于 2016-12-19 10:02 编辑
hyz_avr 发表于 2016-12-19 09:35
把速度也发一下看看.


一次读取 32KByte字节的数据大概需要13-15ms,

出0入0汤圆

发表于 2016-12-19 09:49:38 | 显示全部楼层
这个是要有QSPI的STM32单片机才能用吧

出0入0汤圆

 楼主| 发表于 2016-12-19 09:53:09 | 显示全部楼层
belongfs 发表于 2016-12-19 09:49
这个是要有QSPI的STM32单片机才能用吧

是的,f44x系列及以上的型号都 支持 QSPI 接口的

出0入0汤圆

发表于 2016-12-19 09:58:28 | 显示全部楼层
下来试下,F1的没有QSPI

出0入0汤圆

 楼主| 发表于 2016-12-19 10:44:30 | 显示全部楼层
liyiui 发表于 2016-12-19 09:58
下来试下,F1的没有QSPI

你可以使用f1模拟一个啊

出0入442汤圆

发表于 2016-12-19 11:15:06 来自手机 | 显示全部楼层
hpdell 发表于 2016-12-19 09:49
一次读取 32KByte字节的数据大概需要13-15ms,

这有点小慢吧。fpga做qspi的话,速度基本可以达到25MB/s。

出0入0汤圆

 楼主| 发表于 2016-12-19 11:49:22 | 显示全部楼层
本帖最后由 hpdell 于 2016-12-19 11:51 编辑
wye11083 发表于 2016-12-19 11:15
这有点小慢吧。fpga做qspi的话,速度基本可以达到25MB/s。


你好,我这个 驱动QSPI 的 N25Q256A 运行的频率是72MHz啊(也就是单片机设置最大的时钟频率为72MHz, 可以设置为108MHz,我怕稳定方面不可靠所以设置为72MHz),最大108MHz,

不知道你说的那个速度的 QSPI 的运行频率是多少啊 ????

出0入442汤圆

发表于 2016-12-19 12:01:54 来自手机 | 显示全部楼层
hpdell 发表于 2016-12-19 11:49
你好,我这个 驱动QSPI 的 N25Q256A 运行的频率是72MHz啊(也就是单片机设置最大的时钟频率为72MHz, 可以 ...

50MHz。既然跑72MHz,每秒读36MB问题也不大,估计程序要优化了。你那个速度一秒只有2MB左右。

出0入0汤圆

 楼主| 发表于 2016-12-19 13:56:18 | 显示全部楼层
wye11083 发表于 2016-12-19 12:01
50MHz。既然跑72MHz,每秒读36MB问题也不大,估计程序要优化了。你那个速度一秒只有2MB左右。 ...

你好,我使用的是st官网提供的 HAL 库,估计如果使用寄存器操作的估计应该很快很多吧,

另外你的程序能否发上来 共享一下啊

出0入0汤圆

发表于 2016-12-19 15:48:20 | 显示全部楼层
QSPI 50MHz, 读32KB要7.649ms

出0入0汤圆

发表于 2016-12-19 15:59:07 | 显示全部楼层
72MHz
dual:4098us
quad:3225us

出0入93汤圆

发表于 2016-12-19 16:20:43 | 显示全部楼层
cheungman 发表于 2016-12-19 15:59
72MHz
dual:4098us
quad:3225us

这个实测还是理论值啊?
理论上,72MHz时钟 36MHz Quad SPI读取32KB数据不到2ms啊

出0入0汤圆

发表于 2016-12-19 16:35:27 | 显示全部楼层
takashiki 发表于 2016-12-19 16:20
这个实测还是理论值啊?
理论上,72MHz时钟 36MHz Quad SPI读取32KB数据不到2ms啊 ...

实测值, 一般情况下实际值肯定达不到理论值, 我的测试平台是ATMEL M7, 300MHz主频, QSPI 72MHz, 读32KB数据耗时3.225ms, 看了一下耗时主要程序里有两个while死等读取QSPI Status Register

出0入93汤圆

发表于 2016-12-19 16:38:29 | 显示全部楼层
cheungman 发表于 2016-12-19 16:35
实测值, 一般情况下实际值肯定达不到理论值, 我的测试平台是ATMEL M7, 300MHz主频, QSPI 72MHz, 读32KB数 ...

得上DMA,72M SCK理论上读32KB也就是1ms的事,CPU参与了速度就下来了

出0入0汤圆

 楼主| 发表于 2017-5-31 19:35:57 | 显示全部楼层
takashiki 发表于 2016-12-19 16:38
得上DMA,72M SCK理论上读32KB也就是1ms的事,CPU参与了速度就下来了

估计应该是这么回事造成的了,

dma通道不够用了,
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-30 19:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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