你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

[NUCLEO-L476RG开发]首发QSPI 之一 4线数据读写25QXX 和映射读.....  

[复制链接]
mark0668 提问时间:2015-12-7 13:35 /
[NUCLEO-L476RG开发]首发QSPI 之一 4线数据读写25QXX 和映射读.....

1。  前言
QUADSPI 是一种专用的通信接口,连接单、双或四(条数据线)SPI Flash 存储介质。该接
口可以在以下三种模式下工作:
 间接模式:使用 QUADSPI 寄存器执行全部操作
 状态轮询模式:周期性读取外部 Flash 状态寄存器,而且标志位置 1 时会产生中断(如
擦除或烧写完成,会产生中断)
 内存映射模式:外部 Flash 映射到微控制器地址空间,从而系统将其视作内部存储器

2。  QUADSPI  主要特性
 三种功能模式:间接模式、状态轮询模式和内存映射模式
 双闪存模式,通过并行访问两个 Flash,可同时发送/接收 8 位数据
 支持 SDR 和 DDR 模式
 针对间接模式和内存映射模式,完全可编程操作码
 针对间接模式和内存映射模式,完全可编程帧格式
 集成 FIFO,用于发送和接收
 允许 8、16 和 32 位数据访问
 具有适用于间接模式操作的 DMA 通道
 在达到 FIFO 阈值、超时、操作完成以及发生访问错误时产生中断


15.jpg

STM32L476 的QSPI 速度是可以支持到80M 读写速度的, 看上面的图我们可以知道25QXX 的4线读写速度是只能支持到 70M(4线)的,这个需要注意了。(当然你要超频也是可以的目前我用80M 的读写速度也没发现什么异常,但不建议超频了可能会不稳定)


了解了上面的的,那我们就开始建工程 工具还是用STM32CubeMX 版本4.11、库用的1.1.1

1.jpg

1.这里选择我们的开发板型号,一些基本的外设和端口就不需要我们再进行设置的了。

2.jpg

2.开启我们要使用的QSPI 外设4线。

3.jpg

3.开启一个串口外设方便我们输出数据查看。

4.jpg

4. 设置一下串口的位数和波特率,波特率就默认选择115200 了,位数为8位。

5.jpg
5.(
      1。主频为80M ,分频系数为1(F CLK = F AHB /2)=40M 的读写速度,
      2.FIFO 中存在 4 个或更多空闲字节可供写入
      3.移位半个周期
      4.容易大小我们给个默认的为20个位大小
      5.( 2  nCS 在 Flash 命令之间保持高电平至少 3 个周期)
      6. nCS 为高电平(片选释放)时,CLK 必须保持高电平。这称为模式 3。


6.jpg

6.给QSPI 添加一个DMA 以进行高速度写,如果不用DMA 速度会慢很多,这个大家可以去试验了。

7.jpg

7.设置好DMA 之后记得还要把这两个中断选上。

8.jpg

8.设置好外设参数之后就生成工程这里还需要给工程起个名字,我就起STM32L476QSPI 了。再选上MDK V5 IDE 由于我是用的KEII 5.16编绎器的。

9.jpg

9.选上这个选项给每一个外设都添加一个*.C ,*.H  这样可以方便我们管理每一个外设,选好了就点OK 生成工程了。

10.jpg

10.打开生成的工程,给25QXX 的操作函数起一个单独的文件夹,再把25QXX  文件添加进来。

11.jpg

11. 给25QXX.C 的文件路径添加进来,按步骤操作就行了。

12.jpg

12.上面步骤都完成后,我们就打开main.c 把25QXX 的头文件添加进来。

13.jpg

13.这里看上面代码注释写的很清楚了。编绎没有错误就可以下载到我们的开发板了。

14.jpg

14. 到这一步就看程序的输出结果了,这里可以看到我用的16MB 的FLASH 读到的ID 为EF17 是正确的,再把读到的0-99地址的数据输出来。结果也是正确的。 我们再看看开启了内存映射的方法读取内存输出也是正确的。(开启内存映射就可以像内部FLASH 一样的操作了)

工程源代码放在附件里了,需要的就下载,觉得好的就顶。不好的话就喷吧,现在的技术也就这样子了



STM32L476QSPI.rar

下载

7.08 MB, 下载次数: 406, 下载积分: ST金币 -1

评分

参与人数 1 ST金币 +30 收起 理由
沐紫 + 30

查看全部评分

收藏 9 评论20 发布时间:2015-12-7 13:35

举报

20个回答
munsterzl 回答时间:2015-12-7 19:25:13
好高级啊。。。只能先仰望下。。。 STMCU-Logo.png
埃斯提爱慕 回答时间:2015-12-7 19:56:21
提示: 作者被禁止或删除 内容自动屏蔽
wt13568089592 回答时间:2017-3-23 17:34:57
大神,求教如果用w25q256,4byte地址线,怎么改啊?
zhangdaijin 回答时间:2015-12-7 13:44:21
谢谢分享  mark一下
沐紫 回答时间:2015-12-7 13:57:09
顶一个
Paderboy 回答时间:2015-12-7 15:58:41
顶一个
moyanming2013 回答时间:2015-12-7 17:07:22
学习。。。。。。。。。
disheng4688 回答时间:2015-12-8 09:14:37
谢谢分享
埃斯提爱慕 回答时间:2015-12-9 20:51:43
提示: 作者被禁止或删除 内容自动屏蔽
安臣 回答时间:2015-12-10 09:41:55
感谢分享
斜阳 回答时间:2017-3-2 23:18:06
marj一下
feixiang20 回答时间:2017-3-3 00:20:36
感谢分享
donatello1996 回答时间:2017-3-3 10:08:14
不错,又有一份QSPI的例程!
zbber 回答时间:2017-3-3 10:47:11
强悍,谢谢分享
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版