自学内容网 自学内容网

SPI协议解析

1、SPI介绍
1.1 什么是SPI

    SPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外设接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

1.2 总线介绍
1.2.1 通信特点

    1、全双工通信模式:允许数据同时双向传输。
    2、同步通信:SPI使用主设备提供的时钟信号(SCLK)来同步数据传输,确保数据的正确接收和发送。
    3、高速传输:SPI支持较高的数据传输速率,具体速率取决于时钟频率和微控制器的能力,一般常用的是400KHz----10MHz。
    4、接口简单:SPI接口只需要四根线:SCLK、MOSI、MISO和CS。
    5、主从结构的通信方式:SPI分为主、从两种模式,一个SPI通讯系统需要包含一个(且只能是一个)主设备,一个或多个从设备。提供时钟的为主设备(Master),接收时钟的设备为从设备(Slave),SPI接口的读写操作,都是由主设备发起。当存在多个从设备时,通过各自的片选信号进行管理.

1.2.2 优缺点总结

1、优点

  • 传输速度快,有的应用甚至高达10Mbps。
  • 支持全双工通信。
  • 相较于IIC协议,SPI控制简单,编程较容易。
  • 无总线仲裁机制,健壮性好。

2、缺点

  • 无寻址机制,因此需要片选信号来充当寻址作用。
  • 无错误检测机制,无应答机制。
  • 不能进行长距离的通信。

1.2.3 四根信号线
名称全称作用
SCLKSerial Clock,串行时钟主从设备进行通信时的时钟,用于同步数据,由主设备产生
MOSIMaster Output Slave Input,主出从入数据线数据出口,用于主设备向从设备发送数据
MISOSlave Output Master Input,主入从出数据线数据入口,用于从设备向主设备发送数据
CS/SS_nSlave Select,片选信号用于选择主设备要进行访问的从设备

    注意:SPI进行数据传输时不一定需要四根线才能工作,在一些单向通信的应用场景里,SPI只需要三根线也能正常工作,甚至在主从设备一对一的应用里只需SCLK和MOSI也可以使用。

1.2.4 硬件连接

    2、一主一从模式
在这里插入图片描述

    2、一主多从模式
在这里插入图片描述    在一主多从的应用场景下,所有从设备的SCLK,MOSI以及MISO三线是并联到主设备的总线上的,因此此种应用从设备的MISO应设置为三态,在从设备没有被选中进行通信时,其MISO为高阻状态,否则其会影响其它主从设备的正常通信。,


1.3 SPI通信时序
1.3.1 数据传输模式

    SPI通过时钟极性(CPOL)和时钟相位(CPHA)共同决定了四种不同的传输时序:

  • CPOL:表示当SCLK空闲时,其值是高电平还是低电平。
  • CPHA:表示是在时钟的第一个跳变沿采样还是第二个跳变沿采样,如CPHA=0表示在时钟的第一个跳变沿进行采样,第二个跳变沿进行数据发送,CPHA-1时则恰好相反。

    四种时序如下表:

ModeCPOLCPHA空闲时时钟电平采样时间输出时间
000低电平上升沿下降沿
101低电平下降沿上升沿
210高电平下降沿上升沿
311高电平上升沿下降沿
1.3.2 时序图

    1、Mode0时序:时钟空闲时为低电平,上升沿即为第一个跳变沿,下降沿为第二个跳变沿,时钟第一个跳变沿进行数据采样,第二个沿进行数据发送,如下图:
在这里插入图片描述

    2、Mode1时序:时钟空闲时为低电平,上升沿即为第一个跳变沿,下降沿为第二个跳变沿,时钟第二个跳变沿进行数据采样,第一个沿进行数据发送,如下图:
在这里插入图片描述

    3、Mode2时序:时钟空闲时为高电平,下降沿即为第一个跳变沿,上升沿为第二个跳变沿,时钟第一个跳变沿进行数据采样,第二个沿进行数据发送,如下图:
在这里插入图片描述

    4、Mode3时序:时钟空闲时为高电平,下降沿即为第一个跳变沿,上升沿为第二个跳变沿,时钟第二个跳变沿进行数据采样,第一个沿进行数据发送,如下图:
在这里插入图片描述


    注:四种时序看器件要求和个人需求,主、从设备必须使用同一个时序才能够正常进行交互。
    

链接

    https://blog.csdn.net/weixin_46022434/article/details/105624672
    https://blog.csdn.net/as480133937/article/details/105764119
    
    


原文地址:https://blog.csdn.net/qq_46689721/article/details/142588875

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!