SPI通信协议

转载整理自:https://www.cnblogs.com/deng-tao/p/6004280.html

概述

  • SPI ,Serial Peripheral interface,串行外围设备接口
  • 全双工,同步的通信总线,四根线
  • 主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

4条线

MISO 主设备数据输入,从设备数据输出。
MOSI 主设备数据输出,从设备数据输入。
SCLK时钟信号,由主设备产生。
CS从设备片选信号,由主设备控制。当有多个从设备的时候,因为每个从设 备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需 要将从设备对应的片选引脚电平拉低或者是拉高。

SPI通信协议_第1张图片
SPI通信协议_第2张图片
多个从设备

模式

  • 我们SPI通信有4种不同的模式
  • 不同的从设备可能在出厂是就是配置为某种模式,这是不能改变的;
  • 但我们的通信双方必须是工作在同一模式下
  • 所以我们可以对我们的主设备的SPI模式进行配置
  • 通过CPOL(时钟极性)和CPHA(时钟相位)来 控制我们主设备的通信模式,具体如下:

Mode0:CPOL=0,CPHA=0
Mode1:CPOL=0,CPHA=1
Mode2:CPOL=1,CPHA=0
Mode3:CPOL=1,CPHA=1

时钟极性CPOL(Clock Polarity)

时钟极性CPOL→配置SCLK的电平出于哪种状态时是空闲态或者有效态

CPOL=0,表示当SCLK=0时处于空闲态,所以有效状态就是SCLK处于高电平时
CPOL=1,表示当SCLK=1时处于空闲态,所以有效状态就是SCLK处于低电平时

时钟相位CPHA (Clock Phase)

时钟相位CPHA 是用来配置数据采样是在第几个边沿:

CPHA=0,表示数据采样是在第1个边沿,数据发送在第2个边沿
CPHA=1,表示数据采样是在第2个边沿,数据发送在第1个边沿

例如:
CPOL=0,CPHA=0:此时空闲态时,SCLK处于低电平,数据采样是在第1个边沿,也就是
SCLK由低电平到高电平的跳变,所以数据采样是在上升沿,数据发送是在下降沿。

CPOL=0,CPHA=1:此时空闲态时,SCLK处于低电平,数据发送是在第1个边沿,也就是
SCLK由低电平到高电平的跳变,所以数据采样是在下降沿,数据发送是在上升沿。

……


SPI通信协议_第3张图片

你可能感兴趣的:(SPI通信协议)