spi接口
扫描二维码
随时随地手机看文章
SPI是串行外设接口(Serial Peripheral Interface)的缩写。是一种同步串行接口技术,是高速的,全双工,同步的通信总线。
1、SPI接口的优点
支持全双工操作;
操作简单;
数据传输速率较高。
同时,它也具有如下缺点:
需要占用主机较多的口线(每个从机都需要一根片选线);
只支持单个主机;
没有指定的流控制,没有应答机制确认是否接收到数据。
2、SPI通信原理
SPI的通信原理是以主从方式工作,这种模式通常有一个主设备和一个或多个从设备。SPI接口经常被称为4线串行总线,分别是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。
(a)SDO/MOSI – 主设备数据输出,从设备数据输入;
(b)SDI/MISO – 主设备数据输入,从设备数据输出;
(c)SCLK – 时钟信号,由主设备产生;
(d)CS/SS – 从设备使能信号,由主设备控制。
在SPI总线上,某一时刻可以出现多个从设备,但只能存在一个主设备,主设备通过片选线来确定要通信的从设备。这就要求从设备的MISO口具有三态特性,使得该口线在设备未被选通时表现为高阻抗。
3、数据传输
在一个SPI时钟周期内,会完成如下操作:
1) 主设备通过MOSI线发送1位数据,从设备通过该线读取这1位数据;
2) 从设备通过MISO线发送1位数据,主设备通过该线读取这1位数据;
这是通过移位寄存器来实现的。如图所示,主设备和从设备各有一个移位寄存器,且二者连接成环。随着时钟脉冲,数据按照从高位到低位的方式依次移出主设备寄存器和从机寄存器,并且依次移入从设备寄存器和主设备寄存器。当寄存器中的内容全部移出时,相当于完成了两个寄存器内容的交换。
4、内部工作机制
SSPSR 是 SPI 设备内部的移位寄存器(Shift Register). 它的主要作用是根据 SPI 时钟信号状态, 往 SSPBUF 里移入或者移出数据, 每次移动的数据大小由Bus-Width 以及 Channel-Width 所决定。