SPI协议

1. 概述

SPI(Serial Peripheral Interface),串行外设接口。
(1)工作特点:

  1)同步串行;
  2)支持全双工;
  3)主/从模式(支持一主多从);
  4)没有应答机制,可靠性存在一定的缺陷;
  5)传输速率没有定义限制。

(2)应用场景:

SPI适用于近距离、低速器件间的通信;主要应用于数据流设备,譬如EEPROM、Flash、数字信号处理器(DSP) 等。

(3)标准硬件接口:

  1)SCLK:时钟信号线,时钟信号由主设备产生;

  2)SDO/MOSI :数据信号线, 主设备数据输出口 / 从设备数据输入口;

  3)SDI/MOSO :数据信号线, 主设备数据输入口 / 从设备数据输出口;

  4)CS:片选信号。

(4)Normal SPI、Dual SPI 、 Qual SPI

  1)Normal SPI,即标准的SPI协议,其硬件接口如(3)。

  2)Dual SPI ,将SDI变成SDO,即可实现在一个时钟周期内传输2个Bit的数据。其硬件接口为:SCLK、SDO0、SDO1、CS;

  3)Qual SPI ,在Dual SPI的基础上增加两根SDO信号线,即可实现在一个时钟周期内传输4个Bit的数据。其硬件接口为:SCLK、SDO0、SDO1、SDO2、SDO3、CS。

PS:Dual SPI、Qual SPI 主要应用于Flash的读写。在这两种模式下,SPI工作在半双工模式下,以提高数据传输效率。

2. 工作机制

 

  SPI由以下模块组成:

(1)SSPSR
移位寄存器(Shift Register),根据通信时序从SSPBUF中移出或移入数据
(2)SSPBUF
数据缓冲区。通过读写SPI的发送和接收寄存器,可以间接控制SSPBUF,从而实现发送/接收数据。
(3)Controller
主设备的Controller通过时钟信号(CLK)和片选信号(CS)控制从设备。

3. 通信时序

SPI的通信时序有4种模式,主设备和从设备必须工作在同一模式下。
通信时序的4种模式通过CPOL(时钟极性)、CPHA相位极性进行配置。

CPOL=0 SCLK的空闲态为低电平,有效态为高电平
CPOL=1 SCLK的空闲态为高电平,有效态为低电平
CPHA=0 数据采样是在第1个边沿,数据发送在第2个边沿
CPHA=1 数据采样是在第2个边沿,数据发送在第1个边沿


 

 

 

 

 通信时序的4种模式如下:

(1)CPOL=0,CPHA=0:上升沿采样数据,下降沿发送数据
(2)CPOL=0,CPHA=1:上升沿发送数据,下降沿采样数据
(3)CPOL=1,CPHA=0:下升沿采样数据,上降沿发送数据
(4)CPOL=1,CPHA=1:下升沿发送数据,上降沿采样数据

4. 调试技巧

(1)SPI协议的数据传输在低速率下较稳定,在低速率模式下调试成功后,再提高其通信速率;

(2)不同的设备的SPI协议的时序特性存在差别,如通信速率、高电平保持时间等;调试时需根据从设备的特性调整SPI时序。

posted @ 2019-11-28 21:03  LinFeng-Learning  阅读(1027)  评论(0编辑  收藏  举报