SPI总线基础

SPI总线介绍

  1. SPI基本原理介绍

SPI全称是串行外设接口(Serial Peripheral Interface)。

  • 优 点: 操作简单,数据传输速率较高。
  • 缺 点: 没有应答机制,无法确定数据是否正确传输。
  • 工作方式: 以主从方式工作,通常有一个主设备和一个或多个从设备

基本概念:

  • 连接在SPI上的设备分为主机设备从机设备,主机设备是CPU,从机设备是具体的SPI设备
  • 时钟信号由主机设备控制,提供给从机设备,从设备没有时钟不能工作
  1. SPI总线硬件连接图

SPI在芯片的管脚上占用四根线,分别是MOSI(数据输出),MISO(数据输入),SCLK(时钟),CS(片选)。

    MOSI:主机数据输出,从机数据输入;

MISO:主机数据输入,从机数据输出;

    SCLK :时钟信号,由主机产生;

/CS :从机使能信号,由主机控制。

SPI总线基础

SPI总线的传输中,CS信号是低电平有效的,当我们要与某外设通信的时候,需要将该外设上的CS线置低

SPI总线基础

  1. SPI总线传输流程

    SPI数据传输方式: "全双工",每次SPI的数据传输都是主从设备以一个字节为单位交换数据。"发送和接收数据同时完成"

SPI总线基础

要保证SPI的主从设备的发送和接收数据同时完成。必须使得主从设备的输出串行同步时钟极性CPOL (Clock Polarity)和相位CPHA(Clock Phase)一致。

CPOL,表示SCLK空闲的时候,其电平值是低电平还是高电平;CPHA,表示数据采样在第一个跳变沿还是第二个跳变沿。

CPHA=0,表示第一个边沿:

对于CPOL=0,SCLK空闲时是低电平,第一个跳变沿就是从低变到高,所以是上升沿采样;

对于CPOL=1,SCLK空闲时是高电平,第一个跳变沿就是从高变到低,所以是下降沿采样;

CPHA=1,表示第二个边沿:

对于CPOL=0,SCLK空闲时是低电平,第二个跳变沿就是从高变到低,所以是下降沿采样;

对于CPOL=1,SCLK空闲时是高电平,第一个跳变沿就是从低变到高,所以是上升沿采样;

SPI总线基础