SPI学习笔记

本文详细介绍了SPI串行外设接口的工作原理,包括接口结构、时钟极性和采样设定,以及与IIC协议的对比,涵盖了数据传输方式、GPIO占用、速度和响应机制等内容。
摘要由CSDN通过智能技术生成

总线介绍

SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外设接口SPI协议主要作为主控芯片去配置外围芯片的接口协议。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工,同步,串行,主从结构通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。

SPI仅定义了传输的信息,并未对传输的数据内容含义进行定义,用户需查阅相关产品的datasheet查看;

SPI知识点说明

总线说明

SPI存在四个接口;

  • SCK:时钟信号,同步传输,用以指示接收端接收数据;
  • SS_n:片选信号,在一主多从情况下,指示主机访问的是哪一个slave。一般为低有效数据;
  • MOSI:master output slave input。主机对外输出数据的端口,slave接收数据端口;
  • MISO:master input slave output.主机接收从机返回数据,从机输出数据;

时钟极性、采样设定

可通过设计完成在数据发送、接收与时钟沿的关系;

  • CPOL:表示当SCLK空闲idle的时候,其电平的值是低电平0还是高电平1;
  • CPHA:表示对应着数据采样是在第几个边沿(edge),是第一个边沿还是第二个边沿,0对应着第一个边沿,1对应着第二个边沿;

存在以下情况:

  • CPOL,CPHA == (0,0):即SCLK默认条件下为0,数据采样发送在第一个沿,也就是上升沿;对应的数据发送即为时钟下降沿。
  • CPOL,CPHA == (0,1):即SCLK默认条件下为0,数据采样发送在第二个沿,也就是下降沿;对应的数据发送即为时钟上升沿。
  • CPOL,CPHA == (1,0):即SCLK默认条件下为1,数据采样发送在第一个沿,也就是下降沿;对应的数据发送即为时钟上升沿。
  • CPOL,CPHA == (1,1):即SCLK默认条件下为1,数据采样发送在第二个沿,也就是上升沿;对应的数据发送即为时钟下降沿。

SPI数据含义

  1. spi协议仅定义了数据传输的途径,对该路径中传输的数据具体是什么含义没有做定义。如参考文档中spi中就存在起始位、数据位、操作位、地址等;但本身SPI并没有这些规定;
  2. SPI可以理解成信使仅负责将发送端期望发送的数据顺利的送到目的端,对应信件中的内容还是由发端、接收端的规则制定;

SPI和IIC的对比

  • SPI是全双工,而IIC是半双工。
  • IIC支持多主机多从机模式,而SPI只能有一个主机。
  • 从GPIO占用上来看,IIC占用更少的GPIO,更节省资源。
  • SPI的数据位宽更灵活,可以根据需要选择多位数据宽度。
  • SPI协议没有响应机制,主机无法得知从机是否接收到所发的数据,如果不采取一些方法的话可能会导致数据丢帧。
  • 正是因为没有复杂的响应机制,SPI协议可以做到非常高的速率(上百兆),每一个SCK都可以进行数据的传输,通过引入CRC校验等校验方法,可以即高速传输数据,又能保持数据的准确度。
  • IIC通过器件地址来选择从机,从机数量的增加不会导致GPIO的增加,而SPI通过CS选择从机,每增加一个从机就要多占用一个GPIO,当然也可以通过加入译码器来实现多从机控制。
  • 两者大多都应用于板内器件短距离通讯。

参考文献

深入理解SPi通讯协议,5分钟看懂!_哔哩哔哩_bilibili

SPI原理超详细讲解---值得一看-CSDN博客

一文看懂SPI协议 - 知乎 (zhihu.com)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汶.z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值