4 通信篇-SPI总线基础知识(1)

文摘   2024-08-29 22:47   湖北  

目录

  • SPI电路简介

  • SPI信号

  • SPI工作流程

  • SPI工作模式

1 SPI电路简介

SPI的全称是串行外设接口的简写,英文全称为Serial Peripheral Interface。它是一种全双工、通信的通信总线,物理层仅占用四根线缆,不仅能节省硬件资源,还能在PCB布局上节省空间。

SPI通信分为主模式从模式两种,且一个SPI通信系统中仅允许一个主设备(Master),一个或者多个从设备(Slave)。时钟信号由主设备提供,接受时钟信号的设备为从设备Slave)。SPI系统的读操作、写操作都是由设备发起,存在多个从设备Slave时,通过各自的片选信号进行管理。

2 SPI信号

SPI系统的信号主要包括四根信号,分别为主设备输出从设备输入信号MOSI)、主设备输入从设备输出MISO时钟信号SCK片选信号CS)。具体功能见下:

  • MISO主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。

  • MOSI主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。

  • SCK串行时钟信号,由主设备产生。

  • CS从设备片选信号,由主设备控制。它的功能是用来作为“片选引脚”,也就是选择指定的从设备,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。

当然,这些信号在不同的应用场景有不同的名称,但是它们的具体含义都是相同的。常用的术语见下:

名称专业术语
MISOSIMO、DOUTDOSDOSO
MOSISOMIDINDISDISI
SCKSCLK
CSCECSSSEL

3 SPI工作流程

SPI系统通信的过程比较简单,具体见下:

  • 主设备发起信号,将CS信号置低,开始通信。

  • 主设备发送时钟信号,并确认通信的读、写状态,以及SPI的模式。

  • 主设备将要发送的数据写入数据缓冲区,并通过移位寄存器将数据串行发送出去,从设备将据通过移位寄存器将数据存储到接受缓冲区。

  • 从设备将读取的数据从过MISO返还给主机,这样两个移位寄存器中数据就被交换。

4 SPI工作模式

SPI系统有四种工作模式,依赖于时钟极性和时钟相位配置。

  • 时钟极性CKP/Clock Polarit

CPK可配置为0或者1,对应时钟默认状态(IDLE)设置为高电平或者低电平。

CPK时钟默认状态
0时钟空闲IDLE为低电平。
1时钟空闲IDLE为高电平。
  • 相位极性CKE/Clock Phase(Edge)

CKE可配置为01,就是采集数据是在时钟的具体相位或者边沿。

CKE数据采样点
0是在时钟信号SCK的第一个跳变沿采样。
1是在时钟信号SCK的第二个跳变沿采样。
  • 四种模式图解

传输的开始和结束用绿色虚线表示,采样边沿用橙色虚线表示,移位边沿用蓝色虚线表示。

    • SPI0,CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。

    • SPI模式1,CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出。

    • SPI模式2,CPOL = 1,CPHA = 0:CLK空闲状态 = 高电平,数据在下降沿采样,并在上升沿移出。

    • SPI模式3,CPOL = 1,CPHA = 1:CLK空闲状态 = 高电平,数据在上升沿采样,并在下降沿移出。

总结

5 往期好文推荐
1 基础篇-电平转换基础知识(分立器件)
2 基础篇-电平转换基础知识(集成IC)
3 基础篇-DCDC电路基础知识(1)
4 基础篇-DCDC电路的工作模式(2)
5 基础篇-BUCK拓扑EMI对策(3)
6 基础篇-BOOST拓扑EMI对策(4)
坚持输出高质量文章,后续有更多精彩内容,欢迎关注本公众号哦!您的点赞关注在看是对我最大的支持!
欢迎关注础篇合集:点我跳转至合集


小尹讲电子
介绍硬件电路基础知识,记录工作中的调试问题,欢迎各位老铁一起讨论技术问题!
 最新文章