1、引言
Standard SPI大家平时在学习单片机的过程中,应该都使用过,这种属于普通的SPI,除了这种以外,还有Queued SPI(缩写QSPI),注意这里的Q是指的队列,内部自带FIFO,不是Standard里面的4线SPI(Qual SPI)。
2、Standard SPI
2.1、扩展SPI协议(Single/Dual/Qual/Octal SPI)
经典SPI协议被称为标准 SPI 协议(Standard SPI)或单 线 SPI 协议(Single SPI),其中的单线是指该 SPI 协议中使用单根数据线 MOSI 进行发送数据,单根数据线 MISO 进行接收数据。 为了适应更高速率的通讯需求,半导体厂商扩展 SPI 协议,主要发展出了 Dual/Quad/Octal SPI 协议,加上标准 SPI 协议(Single SPI),这四种协议的主要区别是数据线的数量及通讯方式,见下表:
扩展的三种 SPI 协议都是半双工的通讯方式,也就是说它们的数据线是分时进行收发数据的。例如,标准 SPI(Single SPI)与双线 SPI(Dual SPI)都是两根数据线,但标准SPI(Single SPI)的其中一根数据线只用来发送,另一根数据线只用来接收,即全双工;而双线 SPI(Dual SPI)的两根线都具有收发功能,但在同一时刻只能是发送或者是接收,即半双工,四线 SPI(Quad SPI)和 八线 SPI(Octal SPI)与双线 SPI(Dual SPI)类似,只是数据线量的区别。
2.2、SDR 和 DDR 模式
扩展的 SPI 协议还增加了 SDR 模式(单倍速率 Single Data Rate)和 DDR 模式(双倍 速率 Double Data Rate)。例如在标准 SPI 协议的 SDR 模式下,只在 SCK 的单边沿进行数据传输,即一个 SCK 时
三、队列SPI
与常规SPI去区别为内部多了FIFO,其他基本功能无差异
具体参考:https://blog.csdn.net/CrazyRabbit1989/article/details/126143427
四、物理连接方式
4.1一对一连接
4.2 一主多从
分为多片选和菊花链两种连接方式。
1、多片选方式如下:
注意:这种连接方式下,Slave的SOMI引脚一定是开漏输出的,如果是推挽输出,Pin脚会损坏。
2、菊花链
在数字通信世界中,在设备信号(总线信号或中断信号)以串行的方式从一 个设备依次传到下一个设备,不断循环直到数据到达目标设备的方式被称为菊花链。
①菊花链的最大缺点是因为是信号串行传输,所以一旦数据链路中的某设备发生故障的时候,它下面优先级较低的设备就不可能得到服务了;
②另一方面,距离主机越远的从机,获得服务的优先级越低,所以需要安排好从机的优先级,并且设置总线检测器,如果某个从机超时,则对该从机进行短路,防止单个从机损坏造成整个链路崩溃的情况;
五、常见的几种串行通讯及其分类
按照同步异步可分为两大类:同步通讯和异步通讯。
(1)同步通讯:发送器和接收器通常使用同一时钟源来同步,方法是在发送器发送数据的同时包含时钟信号,接收器利用该时钟信号进行接收。I2C和SPI就属于同步通讯。
(2)异步通讯:收发双方的时钟不是同一个时钟,是由双方各自的时钟实现数据的发送和接收,但要求双方使用同一标称频率(允许有一定偏差),UART就属于异步通讯。
按照传输方式可以分为三类:单工、半双工和全双工。
(1)单工是指设备A只能发送,而设备B只能接收。
(2)半双工是指设备A 和B都能接收和发送,但是同一时间只能接收或者发送。
(3)全双工是指在任意时刻,设备A 和设备B都能同时接收或者发送。
六、通信速度
SPI是全双工且SPI没有定义速度限制,一般的实现通常能达到甚至超过10 Mbps
PS:Ifx QSPI理论最高通信速率50Mbps
七、Ifx QSPI使用笔记
https://blog.csdn.net/weixin_42438100/article/details/130008139
八、参考资料
侵权请告知,立即删除
https://cloud.tencent.com/developer/article/1486642
https://blog.csdn.net/as480133937/article/details/105764119