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

STM32L4使用QSPI驱动spiFLASH(W25Q64)

[复制链接]
STMCU小助手 发布时间:2022-8-27 14:50
一、什么是QSPI
& O# O; _* c# E8 F4 u% vQSPI 即Quad SPI,是一种专用的通讯接口,连接单、双或四(条数据线)SPI FLASH 存储器。
3 {  ~( g! k5 N8 A4 _% o简单的来说,QSPI就是为了驱动SPI_FLASH所设计的专用的通信协议,他和标准的SPI协议有很多相似的地方,但是我认为将它看作一种单独的通信协议更好理解。! n1 W! D2 U6 ~7 z
QSPI可以工作在单数据线、双数据线或四条数据线通信方式下。+ u9 i/ u& \" S  O0 H$ I; @, ~- N
而BearPi开发板的W25Q64即硬件连接为双数据线通信方式。
/ v; ^  {& _" A& a 20200111094348504.png
( e7 ^. ^' D% L/ w9 X9 L& T
3 d, i* }( J$ {; j(这里应该为原理图标识有误,W25Q64应当为NorFLASH)# p% m- m; E: A, f

, g; n% A, z* [0 z) M5 n& o% K7 J二、CubeMX的配置; E- d0 w0 A" {6 y9 @
在之前新建工程的基础上添加使用SPI功能(新建工程见STM32使用LL库建立工程)4 f: }# H$ ^7 d6 J3 z" Q. @
将QSPI选择为单/双线模式3 f! b5 G+ e$ j5 B# \& L

6 }4 G2 a4 [1 p, X  c 20200111095008972.png . j" u+ j; g1 ?2 d5 Z- C

: \- c4 u* x  Y: `6 d. c% {: s然后查看硬件连接表,发现与默认引脚不同,需要手动修改引脚
; \0 Z3 u4 i' N, v8 ?, p( l4 B1 s8 i
20200111095313165.png
% Z$ o4 u8 x/ }9 @
% S: }3 g& i" t# v) z# ]4 a6 O) U 20200111095641400.png   F$ v0 l: s+ ^# K, }2 {

- y0 R2 J, u8 U! \3 M然后对QSPI进行初始化配置
6 {* l% |% z% y  z5 e首先是时钟分频设置,W25Q64在标准模式下支持80M bit/s速度,快速模式下支持160M bit/s速度,高速模式下支持320M bit/s速度。
! [2 A" @9 [/ l" x所以我们可以将分频值设置为0,则MCU输出的QSPI频率就为80/(0+1)=40MHz。
- L) _8 J) F' a7 A( R
& t& U( L! y% O- ?) [ 20200111102807884.png . f6 H: Z# N9 d6 h" m
/ R' W0 p' Z" t7 P% Y
然后我神奇的发现QSPI没有LL库的支持,只有HAL库,然后我废了一天的功夫把stm32l4xx_hal_qspi库里的一些必要的函数提取出来,写了一个stm32l4xx_my_qspi的库函数,最后移植正点原子的w25qxx文件,经过测试成功。7 w! l0 j5 B' b$ W* H# C3 o

2 a* @9 h" A; G% W 20200112001416607.png
2 X# H5 b' |; V( E, [% W
& g/ e( \$ K0 z& T; R; [————————————————: K( X$ K* H4 Q, u
转载:Willliam_william4 k7 K9 I: F; Q& ?: b

& m4 I% t' X, Q3 l) \5 C( z3 F+ P7 D1 O- N5 }4 N( C
收藏 评论0 发布时间:2022-8-27 14:50

举报

0个回答

所属标签

相似分享

官网相关资源

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