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

STM32L4使用QSPI驱动spiFLASH(W25Q64)

[复制链接]
STMCU小助手 发布时间:2022-8-27 14:50
一、什么是QSPI+ W! d! t3 @: X# E; k
QSPI 即Quad SPI,是一种专用的通讯接口,连接单、双或四(条数据线)SPI FLASH 存储器。6 o+ b, `; f8 e" d; J, [
简单的来说,QSPI就是为了驱动SPI_FLASH所设计的专用的通信协议,他和标准的SPI协议有很多相似的地方,但是我认为将它看作一种单独的通信协议更好理解。
8 k! x+ V* K, }) h, _QSPI可以工作在单数据线、双数据线或四条数据线通信方式下。
7 H9 v/ `$ b% s4 B% d- r而BearPi开发板的W25Q64即硬件连接为双数据线通信方式。# |2 k$ O+ k5 V$ ]
20200111094348504.png
" [. }$ b" N8 R: `6 [3 k( T$ d! [3 o2 _" x; a7 }. z
(这里应该为原理图标识有误,W25Q64应当为NorFLASH)
; Q0 v4 F0 ]: b9 L
5 w( l: ?: ~/ Q' e; l7 Q- w二、CubeMX的配置. r3 P( W3 L1 O" \8 l
在之前新建工程的基础上添加使用SPI功能(新建工程见STM32使用LL库建立工程)
) [7 f" X% V6 E. O& e. g) [将QSPI选择为单/双线模式; I1 B: x, J  K3 j) z
& M1 ?, [* p( w- u  q' M# ]
20200111095008972.png
3 ~$ k1 X8 M) F2 x7 E+ U- y& S" P
然后查看硬件连接表,发现与默认引脚不同,需要手动修改引脚
8 m3 C- K7 ]: r. Y- i: O5 Z) \) P
+ n2 L' M5 B4 T# R) G" {$ C 20200111095313165.png " a( h3 i, J, N$ S4 d* X3 E, g. J* j. T
! [# q2 c( P$ ?, m
20200111095641400.png
( H8 ]- t* y  o7 g$ }' k; h! [
7 f( T# ?0 M+ o" q6 t然后对QSPI进行初始化配置! o7 H6 ?3 E9 |. j
首先是时钟分频设置,W25Q64在标准模式下支持80M bit/s速度,快速模式下支持160M bit/s速度,高速模式下支持320M bit/s速度。! @2 g- G8 H9 _: o- G
所以我们可以将分频值设置为0,则MCU输出的QSPI频率就为80/(0+1)=40MHz。
4 A# M1 T2 h: z; e2 S' H2 @6 Y7 N" A
20200111102807884.png - ?$ K$ j. ?! M8 t' O' N6 B1 P
0 o" U+ n9 `+ ?( C
然后我神奇的发现QSPI没有LL库的支持,只有HAL库,然后我废了一天的功夫把stm32l4xx_hal_qspi库里的一些必要的函数提取出来,写了一个stm32l4xx_my_qspi的库函数,最后移植正点原子的w25qxx文件,经过测试成功。! o& f& L/ w6 H# v3 W- L
  Q/ [7 S$ \0 ]* Y
20200112001416607.png
* k% A9 i0 }3 e$ X; P& j# L) T' W& K
————————————————0 t5 c, C# R% b$ I& [. P
转载:Willliam_william
, S) G" n2 ~: J) u( T& V4 l+ o4 P2 ~
5 n% b7 p% y7 L( ^, l* L4 M8 C2 J
- g2 u7 c$ P( Y  X+ B
收藏 评论0 发布时间:2022-8-27 14:50

举报

0个回答

所属标签

相似分享

官网相关资源

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