首页 > 编程知识 正文

spi协议详解,spi总线接口定义

时间:2023-05-04 11:35:08 阅读:17385 作者:1926

1、什么是SPI?

SPI是串行外围接口的缩写。 这是摩托罗拉公司发布的

同步串行接口技术是一种高速、全双工、同步的通信总线。

2、SPI的优势

支持全双工通信

通信很简单

数据传输速率块

3、缺点

没有指定的流控制,没有确认是否接收到数据的响应机制,因此与IIC总线协议相比处于数据中

可靠性有一定的缺陷。

4、特点

1 )高速、同步、全双工、非差分、总线式

2 )主从通信模式

5、协议通信时序详情

1 ) SPI的通信原理简单,以主从方式动作。 此模式通常与主设备有一个或多个

从站设备至少需要4根线,事实上3根也可以(单向传输时)。 所有基于SPI的设备都是通用的

有。 它们是数据输入(SDI )、SDO )、SCLK和CS )芯片选择。

)1) SDO/MoSi主数据输出、从数据输入;

)2) SDI/miso主数据输入、从站数据输出;

)3) sclk时钟信号来自主设备;

)4) cs/ss从站设备的使能信号由主站设备控制。 有多个从站时,由于设置了各个从站,

所有的芯片选择端子都与主站设备连接。 主站设备和某个从站设备通信时需要

降低或提高从站设备对应的芯片选择端子的电平。

2 )另外,SPI通信有4种不同的模式,不同的从站设备可能在出厂时安装

做成某种模式,这是改变不了的; 但是我们的通信双方都要以同样的模式工作,所以我们

我们主设备的SPI模式可以由时钟极性(CPOL )和CPHA (时钟相位)组成

控制我们主要设备的通信模式,具体如下。

Mode0:CPOL=0,CPHA=0

模式1:cpol=0,CPHA=1

模式2:cpol=1,CPHA=0

模式3:cpol=1,CPHA=1

时钟极性CPOL用于配置时钟相位CPHA,以在SCLK电平为哪个状态时为空闲状态或活动状态

构成数据采样的是第几个边缘:

CPOL=0表示SCLK=0时处于空闲状态,有效状态是SCLK为高电平时

CPOL=1表示SCLK=1时处于空闲状态,有效状态是SCLK为低电平时

CPHA=0指示数据采样在第一个边缘且数据传输在第二个边缘

CPHA=1指示数据采样在第二个边缘且数据传输在第一个边缘

例如:

CPOL=0、CPHA=0:此时空闲时,SCLK为低电平,数据采样为第一个边缘,即

因为slk从低电平转为高电平,所以数据采样在上升沿,并且数据传输在下降沿。

CPOL=0、CPHA=1:此时空闲状态时,SCLK为低电平,数据发送在最初边缘,即

因为slk从低电平转为高电平,所以数据采样在下降沿,并且数据传输在上升沿。

CPOL=1、CPHA=0:此时空闲时,SCLK为高电平,数据收集为第一个边缘,即

由于slk从高电平转变为低电平,所以数据收集是下降沿,并且数据发送是上升沿。

CPOL=1、CPHA=1:此时空闲时,SCLK为高电平,数据发送为第一边缘,即

由于slk从高电平转变为低电平,所以数据收集是上升沿,并且数据发送是下降沿。

需要注意的是,主设备可以控制时钟,因为SPI通信不像UART或IIC通信

那么有专用通信周期,有专用通信开始信号,有专用通信结束信号; 所以我们的

SPI协议可以控制时钟信号线。 没有数据交换时,我们的时钟线

要么保持高电平,要么保持低电平。

6、内部工作机理

SSPSR是SPI设备内部的移位寄存器,主要由SPI决定

时钟信号的状态是将数据移入和移出SSPBUF,并且每次移动的数据大小由总线宽度表示

然后由Channel-Width决定

7 .逻辑分析仪安装分析

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。