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

STM32L4使用QSPI驱动spiFLASH(W25Q64)

[复制链接]
STMCU小助手 发布时间:2022-8-27 14:50
一、什么是QSPI* \, }5 m  {9 ?; p
QSPI 即Quad SPI,是一种专用的通讯接口,连接单、双或四(条数据线)SPI FLASH 存储器。
% U7 D3 j  i4 V" K& Z; |简单的来说,QSPI就是为了驱动SPI_FLASH所设计的专用的通信协议,他和标准的SPI协议有很多相似的地方,但是我认为将它看作一种单独的通信协议更好理解。
: i6 g' l! U5 ?) v4 b' l4 }5 {' G% xQSPI可以工作在单数据线、双数据线或四条数据线通信方式下。
4 l* _6 V; w. G; S, a' s" @而BearPi开发板的W25Q64即硬件连接为双数据线通信方式。
! S9 J  T& E' m( x* Z 20200111094348504.png
8 c* r2 |, p5 z8 D# {! p5 O8 l7 v8 S
( S8 |7 T) H3 G# F2 \# |(这里应该为原理图标识有误,W25Q64应当为NorFLASH)
0 R9 T! W3 d4 }4 Z, j6 R
9 D' J) G! i! y4 ?二、CubeMX的配置8 A' U$ W/ C5 @
在之前新建工程的基础上添加使用SPI功能(新建工程见STM32使用LL库建立工程)
' A+ _" p  j+ @4 w$ [8 k+ E6 [将QSPI选择为单/双线模式
) e4 G& ]* m& y4 w$ q& R' H
) i: R8 k5 x1 k 20200111095008972.png 1 h3 f9 \, A/ h" O  m

* d5 a. d0 J3 o$ ~+ O! z6 Z+ c) _然后查看硬件连接表,发现与默认引脚不同,需要手动修改引脚6 b" O" B' s8 w& I0 y" {" {. G5 o3 k

% o2 {. {4 a7 D7 l. U' T 20200111095313165.png
+ K" ~6 d  e1 B% L1 X) ~
1 i4 U4 D4 O  [% O/ A 20200111095641400.png
) P9 ]8 c& ]  B6 Z7 d" Y! J8 c) ]8 V  `( @) }  a$ ]8 I( i
然后对QSPI进行初始化配置, W/ L9 v" }9 A2 ~6 w
首先是时钟分频设置,W25Q64在标准模式下支持80M bit/s速度,快速模式下支持160M bit/s速度,高速模式下支持320M bit/s速度。+ d: e4 Z8 [$ W
所以我们可以将分频值设置为0,则MCU输出的QSPI频率就为80/(0+1)=40MHz。
7 i, X( b, Z  t' c) j* {" R* K, B2 b: l2 e8 U
20200111102807884.png   ~# F$ O6 O) s; v

1 m0 c+ o4 S( t/ i  r# ?' H然后我神奇的发现QSPI没有LL库的支持,只有HAL库,然后我废了一天的功夫把stm32l4xx_hal_qspi库里的一些必要的函数提取出来,写了一个stm32l4xx_my_qspi的库函数,最后移植正点原子的w25qxx文件,经过测试成功。
' K# ^! j+ F2 F3 [1 b3 g
3 r8 V1 Z0 Q7 C& o( _ 20200112001416607.png
+ Y. h: }6 ^# o7 {7 p
( I, h$ W# `  i1 i! r9 s————————————————2 W  L- s1 E5 ?. |0 u1 h# S
转载:Willliam_william7 ?8 i. r. n. K0 t4 o
, \, x" p( y" e0 m) t

# Y: Q5 a, X, d" r/ K
收藏 评论0 发布时间:2022-8-27 14:50

举报

0个回答

所属标签

相似分享

官网相关资源

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