SPI通信协议

一、SPI接口简介

SPI(Serial Peripheral Interface),一种高速、全双工的、同步的串行总线,通信需要四根线,采用主从工作方式,通常为一个主设备和一个或多个从设备。

二、SPI接口

SPI通信需要四根线,其中两根数据线、一根时钟线、一个控制线。
SPI_CS(chip select):用于控制芯片是否被选择,低电平有效。
SPI_SCK(serial clock):由主机产生的同步时钟,用于同步数据。
SPI_MISO(master input slave output):主入从出,用于主机接收从机发来的数据,单向传输(SI)。
SPIO_MOSI(master output slave input):主出从入,主机发送数据,单向传输(SO)。
在SPI通信时,当具有多个从机时,要求从机IO在未被选通(即CS为低电平)时,为高阻状态。

三、SPI工作模式

SPI根据时钟极性和采样相位,分成了四种。即:通过时钟空闲状态时的是高电平还是低电平,采样是在上升沿采样还是下降沿采样进行区分。
不同的从设备在出厂时被配置为其中一种模式,不允许用户进行修改。主机和从机必须工作在同一种模式下,否则会发生数据错误。
一般用CPOL(时钟极性:clock polarity)和CPHA(时钟相位:clock phase)进行描述,通信模式如下:

模式CPOLCPHA备注
000上升沿采样,数据发送得在第一个边沿之前完成 ,即:使能信号一有效,立即发送数据
101下降沿采样,数据发送在上升沿时完成发送
210下降沿采样,数据发送在第一个边沿之前完成,即:使能信号一有效,立即发送数据
311上升沿采样,数据发送在下降沿时发送完成

对于CPOL=0,idle时候的是低电平,第一个边沿就是从低变到高,所以是上升沿;
对于CPOL=1, idle时候的是高电平,第一个边沿就是从高变到低,所以是下降沿;
对于CPOL=0, idle时候的是低电平,第二个边沿就是从高变到低,所以是下降沿;
对于CPOL=1,idle时候的是高电平,第一个边沿就是从低变到高,所以是上升沿;

  1. CPOL:对应空闲时,时钟状态
    CPOL=0时,时钟状态在空闲时为低电平;
    CPOL=1时,时钟状态在空闲时为高电平。
  2. CPHA:表示数据采样在第几个边沿进行
    CPHA=0时,在第一个边沿进行采样:
    CPHA=1时,在第二个边沿进行采样。

四、SPI配置

编号配置信息描述
1SCLK频率主机选择从机可以接受的频率
2slave选择主机选择需要操作的从机(低电平有效)
3传输数据量(bit)一般为8的整数倍
4传输位序默认先发送最高位(MSB)
5CPOL选择时钟极性
6CPHA选择采样边沿(0第一个边沿,1第二个边沿)
7启停时间启动或停止时,主设备的等待时间

链接: https://zhaishuangdong.blog.csdn.net/article/details/105624672

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值