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 .逻辑分析仪安装分析