接口协议学习(一):SPI

SPI

SPI(Serial Peripheral Interface,外围串行接口),是一种全双工三线同步串行外围接口,采用主从模式(Master—Slave)架构,支持一个或多个Slave设备。

SPI协议比较简单,没有地址选择,没有响应,只是按照时序往从机写或者读出数据,不知道数据是否写入或者读出,在低干扰或者对数据的准确度要求不是特别高的场合可以使用。如果有响应的话,可以知道数据是否写入,数据是否读出。

单工:仅支持数据往一个方向传输(主机到从机或者从机到主机)
半双工:支持数据双向传输,但同一时刻只能主机到从机或者从机到主机
全双工:支持同时数据双向传输,可以在同一时刻主机到从机、从机到主机传输。在该方式下,主机和从机都有发送端和接收端。

在这里插入图片描述
SPI接口有CLK线、数据输入输出线以及片选线,SPI不像IIC有寻址机制,SPI通过片选来选择从机设备。

SPI工作模式

SPI有四种工作模式,由控制寄存器中SPICR1中的CPOL和CPHA控制

CPOL:控制时钟极性,0—时钟高电平有效,空闲时为低;1—时钟低电平有效,空闲时为高
CPHA:控制时钟相位,0—数据采样发生在时钟第一个边沿(奇数边沿);1—数据采样发生在时钟第二个边沿(偶数边沿)

在这里插入图片描述
箭头表示在该种变化沿,接收方捕捉信号,而在之前的和之后的相邻边沿发送方变化数据。

下面以MODE0为例:
在这里插入图片描述

SPI时序

选择设备:通过将从设备的CS拉低(CS低电平有效),开始将脉冲发送到从机的时钟线上
起始信号:CS下降沿
结束信号:CS上升沿

下面以标准读写为例(具体采用SPI协议的芯片的时序可能不同):
在这里插入图片描述

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值