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

STM32L4使用QSPI驱动spiFLASH(W25Q64)

[复制链接]
STMCU小助手 发布时间:2022-8-27 14:50
一、什么是QSPI  a: w' m( A/ k" U) S* s
QSPI 即Quad SPI,是一种专用的通讯接口,连接单、双或四(条数据线)SPI FLASH 存储器。4 _3 T. A/ x8 J$ _8 b. _0 Q
简单的来说,QSPI就是为了驱动SPI_FLASH所设计的专用的通信协议,他和标准的SPI协议有很多相似的地方,但是我认为将它看作一种单独的通信协议更好理解。
- T0 _7 l; {- @: V' Y4 p7 u0 D) UQSPI可以工作在单数据线、双数据线或四条数据线通信方式下。6 K7 X! h- t( O, ]' L
而BearPi开发板的W25Q64即硬件连接为双数据线通信方式。& t! G: ^6 |4 z% i# X% O6 @! |
20200111094348504.png + X2 A  F3 ~' l9 [3 d0 J9 }4 d

3 m* V' l. w% |9 f# f8 c5 Y(这里应该为原理图标识有误,W25Q64应当为NorFLASH)+ S8 J/ l# n" f# _4 l# C5 O

5 ?2 }, o  W0 f1 ~- t9 w. F二、CubeMX的配置$ x: S3 Z5 U2 t" ?2 S; r7 f5 `" x2 ?
在之前新建工程的基础上添加使用SPI功能(新建工程见STM32使用LL库建立工程)
2 \! Z* t: T6 x# y! U$ f/ o将QSPI选择为单/双线模式
- g- q7 G( d* O$ ~) A* @
1 t3 w. {  r- Q 20200111095008972.png
8 Q2 T( {( f6 ]  T- A; P( B$ M8 t
然后查看硬件连接表,发现与默认引脚不同,需要手动修改引脚
1 g$ [2 k! ]9 @
. ]0 e) D; ]5 {% H8 n 20200111095313165.png
% o5 k$ T0 P, U1 I* C* {
' i+ U% A( J* o 20200111095641400.png
: f! e" y8 k- g( M, N+ F% w/ J! c% z& k  j# B
然后对QSPI进行初始化配置
% V3 q2 b) N; j) H: Z* j. ~, {首先是时钟分频设置,W25Q64在标准模式下支持80M bit/s速度,快速模式下支持160M bit/s速度,高速模式下支持320M bit/s速度。
7 O/ ?# {1 Y" N3 u+ `% r3 ]所以我们可以将分频值设置为0,则MCU输出的QSPI频率就为80/(0+1)=40MHz。
+ `# I- X0 Z  d# C5 [% {8 j3 f& Y; \
20200111102807884.png , Y  c) e* |' j5 x
) B) K+ q4 G# `2 c
然后我神奇的发现QSPI没有LL库的支持,只有HAL库,然后我废了一天的功夫把stm32l4xx_hal_qspi库里的一些必要的函数提取出来,写了一个stm32l4xx_my_qspi的库函数,最后移植正点原子的w25qxx文件,经过测试成功。
* H# E5 C8 H8 A* z0 O  h7 K) x. x7 k" i- E
20200112001416607.png
; U9 I; o& H9 ^) K# \5 i8 |
- f' }$ C4 b0 `6 U- F————————————————) W, Y& z3 H) h2 g
转载:Willliam_william
. L: P1 X7 |; t7 y* h6 J! N; Z7 }0 x+ o3 L
: P$ c2 [8 p& B) r7 c
收藏 评论0 发布时间:2022-8-27 14:50

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版