SPI协议原理简介

1 SPI概述

SPI:Serial Peripheral Interface,串行外围设备接口,Motorola公司提出的一种高速、全双工、同步的通信总线。

感官认识:下图是带SPI接口的实时时钟芯片DS1302封装图。

SPI协议原理简介_第1张图片

 

下图是SPI主机和从机的连接图。

SPI协议原理简介_第2张图片

引脚说明:

SPI总线传输只需4根线

SCLKserial clock,时钟线。

MOSImaster out slave inmaster发送数据,slave接收数据。

MISOmaster in slave outmaster接收数据,slave发送数据。

SS   slave select,片选,低电平有效。用来选中哪个slavemaster通信。

 

2 SPI总线特性:

1)采用主从模式(Master-Slave)架构,支持单MasterSlave模式应用,通过片选信号选择Slave

SPI协议原理简介_第3张图片

2全双工通信,一条数据输入线MOSI,一条数据输出线MISO,可以同时接收和发送串行数据;数据传输时高位在前,低位在后;

SPI协议原理简介_第4张图片

3SPI总线传输共有4种模式

SPI协议原理简介_第5张图片

MODE0CPOL= 0CPHA=0。串行时钟SCLK空闲状态时为低电平,数据在SCLK时钟的上升沿采样,下降沿输出;

MODE1CPOL= 0CPHA=1。串行时钟SCLK空闲状态时为低电平,数据在SCLK时钟的下降沿采样,上升沿输出;

MODE2CPOL= 1CPHA=0。串行时钟SCLK空闲状态时为高电平,数据在SCLK时钟的下降沿采样,上升沿输出;

MODE3CPOL= 1CPHA=1。串行时钟SCLK空闲状态时为高电平,数据在SCLK时钟的上升沿采样,下降沿输出;

其中比较常用的模式是模式0和模式3。下面单独画出模式0下的SPI时序图

SPI协议原理简介_第6张图片

4数据速率可达几 Mbps

5无应答机制

 

特别说明:

1SPI总线的2条数据线MOSIMISO,可以用双向IO口实现,如DS1302,虽然和IIC接口看似相同,实则是SPI总线;

2SPI传输模式设置:

看到很多地方都提到了SPI总线传输的4种模式选择,但是很少有提到如何设置,在此做简单介绍。

下图是SPI内部框图,看到有2个控制寄存器:SPI_CR1SPI_CR2,其中就有CPOLClock Polarity,时钟极性)和CPHAClock Phase,时钟相位),这2个寄存器用来设置时钟极性和时钟相位。

但:实际我们为什么通常都没有设置呢?

因为我们用的带有SPI接口的芯片,都在出厂时设置好了,也给出了操作时序,我们只需按照芯片手册给出的时序去控制芯片即可,而不用管太多。

所以,对于不同的带有SPI接口的芯片,我们应该关注的是它本身的操作时序。

SPI协议原理简介_第7张图片

              欢迎关注我的微信公众号:FPGA干货架

                                                             SPI协议原理简介_第8张图片

 

你可能感兴趣的:(SPI协议原理简介)