SPI总线介绍

SPI总线概述

SPI(Serial Peripheral interface),串行外围设备接口。是一种高速的,全双工,同步的通信总线。

  • 优点
  1. 支持全双工通信
  2. 通信简单
  3. 数据传输速率快
  • 缺点
    没有指定的流控制,没有应答机制确认是否接收到数据,所以和IIC总线协议比较在数据可靠性上有一定的缺陷。

SPI总线特点

采用主-从模式(Master-Slave)的控制方式

SPI规定了两个SPI设备之间通信必须由主设备Mater来控制次设备Slave。一个Master设备可以通过提供时钟Clock和对Slave设备进行片选(Slave Select)来控制多个Slave设备,时钟Clock由主设备来控制,没有Clock,Slave设备不能工作。

采用同步方式(Synchronous)传输数据

Master设备会根据将要交换的数据来产生相对应的时钟脉冲(Clock Pulse),时钟脉冲组成了时钟信号(Clock Signal),时钟信号通过时钟极性(CPOL)和时钟相位(CPHA)控制着两个SPI设备间何时数据交换以及何时对接收到的数据进行采样,来保证数据在两个设备之间是同步传输的。

SPI的4种工作模式

  1. CPOL=0,CPHA=0,空闲时的SCK时钟=低,采样时钟=奇数次边沿
  2. CPOL=0,CPHA=1,空闲时的SCK时钟=低,采样时钟=偶数次边沿
  3. CPOL=1,CPHA=0,空闲时的SCK时钟=高,采样时钟=奇数次边沿
  4. CPOL=1,CPHA=1,空闲时的SCK时钟=高,采样时钟=偶数次边沿

SPI的物理引脚

  • SCLK:时钟引脚
  • CS:片选引脚
  • MOSI:Master设备输出引脚,Slave设备的输入引脚
  • MISO:Master设备输入引脚,Slave设备的输出引脚
    只有MISO是由Slave设备控制,其它引脚都是由Master设备控制

SPI的协议

有效数据采集

只有在采样时钟期间,MISO和MOSI的数据是有效数据,高电平为1.低电平为0,在其它时刻数据无效,用于数据变化。采样时钟并不是简单地按照上升沿或者是下降沿来区分,而是由SPI的工作模式来确定。

你可能感兴趣的:(单片机,fpga开发,嵌入式硬件)