英创信息技术SPI接口协议简介与分析

网友投稿 284 2022-10-27

英创信息技术SPI接口协议简介与分析

SPI设备连接示意图SPI接口主要优点: ●支持全双工操作 ●操作简单 ●数据传输速率较高 SPI接口主要缺点: ●需要占用主机较多的线(每个从机都需要一条片选线) ●只支持单个主机 ●没有指定的流控制 ●没有应答机制确认是否接收到数据SPI接口工作特点1、SPI接口采用主-从模式(Master-Slave)控制方式两个SPI设备之间的通信必须由主设备(Master)来控制从设备(Slave)。主设备可以通过提供时钟信号以及对从设备进行片选来控制多个从设备。从设备本身并不产生时钟信号,其时钟信号由主设备提供。

2、SPI接口采用同步方式(Synchronous)传输数据

主设备会根据将要交换的数据来产生相应的时钟脉冲,时钟脉冲组成时钟信号,时钟信号通过时钟极性和时钟相位控制两个SPI设备间何时数据交换以及何时对接收到的数据进行采样, 来保证数据在两个设备之间是同步传输的。

SPI有四种数据传输模式,如下表所示,主要差别在于:输出串行同步时钟极性(CPOL)和相位(CPHA)可以进行配置。

SPI mode CPOLCPHAComments
0 0 0 时钟的空闲状态为低电平;上升沿采样
1 0 1 时钟的空闲状态为低电平;下降沿采样
2 1 0 时钟的空闲状态为高电平;下降沿采样
3 1 1 时钟的空闲状态为高电平;上升沿采样


3、SPI接口数据交换(Data Exchanges)

SPI设备间的数据传输又被称为数据交换。SPI协议规定一个SPI设备不能在数据通信过程中仅仅只充当发送者或者接收者,在每个时钟周期内,SPI设备都会发送并接收一个bit大小的数据,相当于该设备有一个bit大小的数据被交换。

从设备要接收到主设备发过来的控制信号,必须在此之前能够被主设备访问,所以主设备必须首先对从设备进行片选。

在数据传输的过程中,每次接收到的数据必须在下一次数据传输之前进行采样。如果之前接收到的数据没有被读取,那么这些已经接收完成的数据将有可能会被丢弃,因此,应用程序一般都会在SPI传输完数据后进行读取。

SPI协议

SPI接口允许同时在两线(MOSI和MISO)发送和接收数据。时钟极性(CPOL)和时钟相位(CPHA)是定义SPI所使用的时钟格式的主要参数。根据时钟极性(CPOL),SPI时钟可以反转或不变。时钟相位(CPHA)用于改变采样相位。

如果CPHA=0,那么将于第一个时钟边沿进行数据采样。

如果CPHA=1,那么无论时钟边缘上升或下降,将于第二个时钟边沿进行数据采样。

脉冲传输前和完成后都保持在低电平状态,即CPOL=0。在第一个边沿(上升沿)采样数据,第二个边沿(下降沿)输出数据,即CPHA=0。

脉冲传输前和完成后都保持在低电平状态,即CPOL=0。在第二个边沿(下降沿)采样数据,第一个边沿(上升沿)输出数据,即CPHA=1。

脉冲传输前和完成后都保持在高电平状态,即CPOL=1。在第一个边沿(下降沿)采样数据,第二个边沿(上升沿)输出数据,即CPHA=0。

脉冲传输前和完成后都保持在高电平状态,即CPOL=1。在第二个边沿(上升沿)采样数据,第一个边沿(下降沿)输出数据,即CPHA=1。

SPI读数据时序:

SPI写数据时序:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring data jpa @Query update的坑及解决
下一篇:k3s部署rancher2.0高可用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~