QSPI 什么是QSPI SPI和QSPI异同
Posted Z小旋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QSPI 什么是QSPI SPI和QSPI异同相关的知识,希望对你有一定的参考价值。
什么是SPI
SPI 协议是摩托罗拉公司开发的协议,SPI 的英文全称为 serial Perripheral Interface,翻译过来 就是“串行外围设备接口”,属于一种高速全双工的通信,广泛的用于 MCU 与 ADC、flash 等外 部设备(外围设备)的通信。
实际上,SPI的协议分了很多种,包括:Standard SPI(标准SPI)
、Dual SPI(双线 SPI)
和Quad SPI(四线 SPI)
等
只不过我们平时最常用的是Standard SPI标准SPI
关于Standard SPI的介绍,可以查看
《SPI原理超详细讲解—值得一看》
这篇博文,具体的就不再阐述了
通常我们说的SPI就是Standard SPI,有4根信号线,分别为CLK、CS、MOSI和MISO。数据线工作在全双工
- CS(SS):为片选线,用于传输片选信号,选择通信的从机,主机会与被选中 的从机进行通信,每一个从机都有一个独立的片选线
- CLK (SCK):同步时钟信号线,用于传输同步时钟信号,所有从机公用一条线
- MOSI:Master out slave in,主机发送数据,从机接收数据。
- ·MISO:Master in slave out,主机接收数据,从机发送数据。
为什么要双线SPI和四线DPI
通过对SPI的基本了解,我们知道SPI是全双工的,即同一时刻下可以发送数据,也可以接收数据,但是对于一些SPI设备而言,其并不需要全双工,反而需要更快的速度,比方说Flash存储芯片,大部分情况下都是单独存储数据,然后读取数据,所以速度就成了一个很重要的指标,
为此推出了Dual SPI(双线 SPI)
,就是 MOSI、MISO 同时朝一个方向发送数据,单次可以同时传输两 bit这样一个时钟周期内就能传输2个bit数据,加倍了数据传输的速度,
而Quad SPI(四线 SPI)
,时为四线半双工,增加了两个数据引脚线IO2、IO3,此时IO0、IO1、IO2、IO3 引脚被用于向同一个方向传输数据,单次 可传输 4bit
SPI FLASH
用我们常用的W25Qxxx flash芯片来做一个举例
芯片的引脚说明图:
每个引脚的详细描述如下:
-
Chip Select(/CS): 片选信号Chip Select(/CS)的作用是使能或者不使能设备的操作,当CS为高时,表示设备未被选中,串行数据输出线(DO或IO0,IO1,IO2,IO3)均处于高阻态,当CS为低时,表示设备被选中,主机可以给Flash发送数据或从Flash接收数据。
-
DO(MISO) Data Out:
Standard SPI(标准SPI)
下,从机发送数据到主机,
在Dual SPI(双线 SPI)
中作为IO1输出 -
Write Project(/WP):WP信号低电平有效,低电平时SPI不接收数据,高电平时SPI可以接收数据。在
Quad SPI(四线 SPI)
中作为IO2输出 -
GND: SPI的接地引脚
-
DI(MOSI) Data In:
Standard SPI(标准SPI)
下,从机接收主机发送过来的数据,
在Dual SPI(双线 SPI)
中作为IO0输出 -
CLK: 同步时钟信号线,用于传输同步时钟信号
-
HOLD(/HOLD) RESET : HOLD信号的作用是暂停Flash的操作。当HOLD信号为低,并且CS也为低时,串行输出信号DO将处于高阻态,串行输入信号DI与串行时钟信号SCLK将被Flash忽略。当HOLD拉高以后,QSPI Flash的读写操作能继续进行。
-
VCC: FLASH的电源
注意下面的两个Notes:
- IO0和IO1用于标准和双SPI指令
- IO0-和IO3用于四线SPI指令,/WP&/HOLD(or/RESET)功能仅可用于标准/双SPI。
总结下就是:
- Standard SPI(标准 SPI)
标准 SPI,常用的也是标准 SPI。 flash 使用标准 SPI 来通信时,所用的引脚为 CLK(SCK)、/CS(NSS)、DI(MOSI)、DO (MISO)、/WP、/Hold,/表示低电平有效。 DI:flash 数据输入,向 flash 写数据。 DO:从 flash 读取数据,数据从 flash 向外输出 在标准 SPI 下,SPI 是全双工的,MOSI、MISO 分别负责不同方向的传输。
- Dual SPI(双线 SPI)
flash 使用双线 SPI 时(双线半双工),就是 MOSI、MISO 同时朝一个方向发送数据,单 次可以同时传输两 bit。此时 MOSI 和 MISO 则被改称为 IO0 和 IO1,CS 和 CLK、WP 和 Hold 的 作用不变。
- QUAD SPI 四线 SPI
此时为四线半双工,IO0、IO1、IO2、IO3 引脚被用于向同一个方向传输数据,单次 可传输 4bit,此时 MOSI 和 MISO 为 IO0、IO1,而 WP、HOLD 会被用作 IO2、IO3,至于 CS 和 CLK 的作用不变。‘
当然,在FLASH的手册中,还提到了一个QPI
QPI 与 QUAD SPI 基本差不多,但是在使用数据线传输指令和数据时,各自的用法略有差异
以上是关于QSPI 什么是QSPI SPI和QSPI异同的主要内容,如果未能解决你的问题,请参考以下文章
H7-TOOL通过SWD接口脱机下载内部Flash+QSPI Flash+SPI Flash三合一操作说明,也支持1拖4