【嵌入式开发-SPI】
嵌入式开发-SPI
- ■ SPI简介
- ■ SPI (Standard SPI)
- ■ DSPI (Dual SPI)
- ■ QSPI是 Queued SPI的简写
■ SPI简介
SPI协议其实是包括:Standard SPI、Dual SPI和Queued SPI三种协议接口,分别对应3-wire, 4-wire, 6-wire。
单线:标准4线连接,全双工,同时收和发;
双线:标准4线连接,半双工,2根数据线,并线发和收,双方向切换;
四线:标准4线连接,半双工,4根数据线,并线发和收,双方向切换;
■ SPI (Standard SPI)
Standard SPI,有4根信号线,分别为CLK、CS、MOSI和MISO。数据线工作在全双工。
■ DSPI (Dual SPI)
Dual SPI Flash,可以发送一个命令字节进入dual mode,这样
mosi变成SIO0(serial io 0)
mosi变成SIO1(serial io 1),这样一个时钟周期内就能传输2个bit数据,加倍了数据传输
■ QSPI是 Queued SPI的简写
比Qual SPI Flash增加了两根I/O线(SIO2,SIO3),目的是一个时钟内传输4个bit而QSPI就是Queued SPI的简写。
QSPI 使用 6 个信号连接Flash,分别是四个数据线BK1_IO0~BK1_IO3,一个时钟输出CLK,一个片选输出(低电平有效)BK1_nCS,它们的作用介绍如下:
- BK1_nCS:片选输出(低电平有效),适用于 FLASH 1。如果 QSPI 始终在双闪存模式下工作,则其也可用于 FLASH 2从设备选择信号线。QSPI通讯以BK1_nCS线置低电平为开始信号,以BK1_nCS线被拉高作为结束信号。
- CLK:时钟输出,适用于两个存储器,用于通讯数据同步。它由通讯主机产生,决定了通讯的速率,不同的设备支持的最高时钟频率不一样,如STM32的QSPI时钟频率最大为fpclk/2,两个设备之间通讯时,通讯速率受限于低速设备。
- BK1_IO0:在双线 / 四线模式中为双向 IO,单线模式中为串行输出,适用于FLASH 1
- BK1_IO1:在双线 / 四线模式中为双向 IO,单线模式中为串行输入,适用于FLASH 1。
- BK1_IO2:在四线模式中为双向 IO,适用于 FLASH 1。
- BK1_IO3:在四线模式中为双向 IO,适用于 FLASH 1。
==flash 可以看出支持 QSPI ==