通信协议——SPI详解

SPI协议

(一)简介

SPI(Serial Periphera Interface)是串行外设接口的缩写。

特点有:

  • 一种高速的、全双工、同步的串行通信总线;
  • 采用主从方式工作;
  • 一般有一个主设备和一个或者多个从设备;
  • 需要至少4根线:MISO, MOSI, SCLK, CS

(二)协议

1. 寻址方式

当主设备要和某个从设备进行通信时,主设备需要先向对应从设备的片选CS线上发送使能信号(高/低由从机决定),表示选中该从设备

2. 通信过程

SPI总线在进行数据传送时,先传送高位,后传送低位。

相比IIC总线,没有起始信号,也没有结束信号,也没有应答信号。

采用同步方式工作,SCLK时钟线在上升沿或下降沿时发送器向数据线上发送数据,在下一个跳变沿时接收器从数据线上读取数据,完成一位数据传送,八个时钟周期即可完成一个字节数据的传送。

设置好工作方式后,可以在每个时钟周期的下降沿发送器发送数据,在每个时钟周期的上升沿接收器接收数据

3. 极性和相位

SPI总线有四种不同工作模式,取决于时钟极性CPOL和相位CPHA两个因素。

CPOL表示SCLK空闲时的状态:

  • CPOL=0,空闲时SCLK为低电平
  • CPOL=1,空闲时SCLK为高电平

时钟极性相当于空闲时SCLK的电平

CPHA表示采样时刻:

  • CPHA=0,每个周期的第一个时钟沿采样
  • CPHA=1,每个周期的第二个时钟沿采样

4. IIC和SPI的区别

相同点:

  1. 均采用串行、同步方式
  2. 均采用TTL电平,传输距离都不长,一般用于一个板子上两个模块的通信
  3. 均采用主从方式工作

不同点:

IIC SPI
半双工 全双工
有应答机制 无应答机制
通过向总线广播从机地址来寻址 通过向对应从机发送使能信号来寻址
时钟极性和时钟相位固定 时钟极性和时钟相位可调

https://www.sohu.com/a/271099924_292853

posted @ 2022-10-12 00:16  Ethan'Chen  阅读(2357)  评论(0编辑  收藏  举报