目录

1.概述

2.SPI优缺点

3.SPI接口硬件原理

4.SPI电路结构

 5.1 模式0(CPOL=0 CPHA=0)

 5.2 模式1(CPOL=0 CPHA=1)

 5.3 模式2(CPOL=1 CPHA=0)

5.4 模式3(CPOL=1 CPHA=1) 


1.概述

SPI: Serial Peripheral interface, 串行外围设备接口。它是由Motorola公司开发的,用来在微控制器和外围设备芯片之间实现数据交换的低成本、易使用的接口。SPI总线为同步串行数据传输总线,用于单片机的外围扩展。其通用外围扩展器件由SRAM、EEPROM、FLASH、ADC、DAC、RTC、I/O口。外围设备模块有LCD驱动控制器构成的LCD显示器,各种LCD驱动控制器构成的段式、图形点阵、字符点阵液晶显示器,通用接口如键盘、码盘、打印机接口等。

SPI的通信原理很简单,它以主从方式工作,通常有一个主设备和一个或多个从设备,需要至少4根线(针对于标准的SPI总线)。

与标准的UART串行接口不同,SPI接口是高速、全双工、同步、串行通信总线。

同步

利用时钟线对数据位进行同步,时钟的上升沿或下降沿锁存数据。

四线制全双工SPI,同时收发

MISO:主机输入/从机输出

MOSI:主机输出/从机输入

SCLK:串行时钟

CS或SS:外设片选或从机选择

三线制半双工SPI,分时收发

SCLK:串行时钟

CS或SS:外设片选或从机选择

DIO:数据线,输入与输出共用

2.SPI优缺点

1)全双工(输入/输出独立)

2)物理结构(移位寄存器)简单、操作简单;

3)数据传输速率较高

缺点:

1)需要占用主机较多的口线(每个从机都需要一根片选线)

2)只支持单个主机

3)没有指定的流控制,没有应答机制确认是否接收到数据

3.SPI接口硬件原理

SPI接口实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。—-由从器件决定,大多数都是高位在前,低位在后。

上升沿发送,下降沿接收。(有的器件是上升沿接收,下降沿发送)—-由从器件决定

4.SPI电路结构

单主单从连接模式

在这种模式下,可以直接将片选信号接地,这样就省了一根线。

单主多从连接模式

如果一个SPI从机没有被选中,它的数据输出端SDO将处于高阻状态,从而与当前处于激活状态的隔离开。

SPI总线添加从器件:每个从器件需要一个单独的 从选择信号。总信号数最终位n+3个,其中n是总线上从器件的数量。在SPI总线上添加新的从器件也不方便。对于额外添加的每个从器件,都需要一条新的从器件选择线。

 5.SPI的四种通讯模式

SPI有4种不同的传输时序,取决于时钟极性CPOL和时钟相位CPHA的组合。

CPOL:Clock Polarity,即时钟极性。—–SCK空闲状态电平的状态

  空闲状态为高电平,则CPOL=1;

  空闲状态为低电平,则CPOL=0;

CPHA:Clock Phase,即时钟相位。——针对于数据输出和数据采集在第一个时钟沿还是第二个时钟沿

CPHA=1表示数据的输出是在一个时钟周期的第一个沿,数据的采集是在一个时钟周期的第二个沿。(数据的输出表示主机往总线上写,数据的采集就是从总线上读数据)

CPHA=0表示数据的采样是在一个时钟周期的第一个沿,数据的输出是在一个时钟周期的第二个沿。

 5.1 模式0(CPOL=0 CPHA=0)

CPOL = 0:时钟线空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿

CPHA = 0:数据在第1个跳变沿(上升沿)采样

时序图如下:

 5.2 模式1(CPOL=0 CPHA=1)

CPOL = 0:空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿

CPHA = 1:数据在第2个跳变沿(下降沿)采样

时序图如下:

 5.3 模式2(CPOL=1 CPHA=0)

CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿

CPHA = 0:数据在第1个跳变沿(下降沿)采样

时序图如下:

5.4 模式3(CPOL=1 CPHA=1) 

CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿

CPHA = 1:数据在第2个跳变沿(上升沿)采样

时序图如下:

 

物联沃分享整理
物联沃-IOTWORD物联网 » SPI 概述

发表回复