第六十七篇 SPI简单介绍

SPI 串行外设接口

Serial Peripheral interface 。

是一种高速的,全双工的,同步的通信总线。4根线。很多芯片集成这种通信协议;

优点:

硬件功能强大,SPI软件相对简单;

通信原理简单:主从方式工作。

4根信号线 1.MISO 2.MOSI 3.SCLK 4.CS

CS是从芯片是否被主芯片选中的控制信号,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),主芯片对此从芯片的操作才有效

通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCLK时钟线存在的原因,由SCLK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。因此,至少需要8次时钟信号的改变(上沿和下沿为一次),才能完成8位数据的传输

SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据

SPI总线工作的四种方式,其中使用的最为广泛的是SPI0和SPI3方式 (实线表示):

SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;SPI主模块和与之通信的外设时钟相位和极性应该一致

时序

SPI时序图详解---SPI接口在模式0下输出第一位数据的时刻。

SPI接口有四种不同的数据传输时序,取决于CPOL和CPHL这两位的组合。图1中表现了这四种时序,时序与CPOL、CPHA的关系也可以从图中看出。

CPOL是用来决定SCK时钟信号空闲时的电平,CPOL=0,空闲电平为低电平,CPOL=1时,空闲电平为高电平。CPHA是用来决定采样时刻的,CPHA=0,在每个周期的第一个时钟沿采样,CPHA=1,在每个周期的第二个时钟沿采样 

spi简单介绍

SPI总线包含4个信号线分别是MISO\MOSI\SCLK\CS;
基本概念 数据传输机制 数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。因此,至少需要8次时钟信号的改变(上沿和下沿为一次),才能完成8位数据的传输;
SPI时序有4种模式 分别有CPOL的两种状态和CPHA的两种状态组合
CPOL是用来决定SCK时钟信号空闲时的电平,CPOL=0,空闲电平为低电平,CPOL=1时,空闲电平为高电平。
CPHA是用来决定采样时刻的,CPHA=0,在每个周期的第一个时钟沿采样,CPHA=1,在每个周期的第二个时钟沿采样 。
由于SPI协议是环形总线结构,时序在SCLK的控制下,使用两个双向移位寄存器进行数据交换;
SPI总线需要测试的指标
信号质量测试:VCC、VIO、上冲、下冲、VIH、VIL、
时序测试:时钟上升时间/下降时间、CS有效建立时间/保持时间、CS无效建立时间/保持时间、数据建立时间/保持时间、时钟高电平时间/低电平时间
测试注意事项:
测试位置选择-数据末端
时钟信号边沿单调、时基选择
触发方式

发布了58 篇原创文章 · 获赞 23 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42143745/article/details/103428894
今日推荐