SPI工作原理以及优缺点简介

李肖遥

共 1514字,需浏览 4分钟

 ·

2022-02-26 13:17

关注、星标公众号,直达精彩内容

来源:让梦想更伟大

作者:李肖遥

SPI 的工作原理

时钟

时钟信号将主机的数据位输出与从机的位采样同步,每个时钟周期传输一位数据,因此数据传输的速度由时钟信号的频率决定,SPI 通信始终由主机发起,因为主机配置并生成时钟信号。

设备共享时钟信号的任何通信协议都称为同步协议。SPI 是一种同步通信协议。还有一些不使用时钟信号的异步方法。例如,在 UART 通信中,双方都设置为预先配置的波特率,该波特率决定了数据传输的速度和时序。

可以使用时钟极性和时钟相位的属性来修改 SPI 中的时钟信号。这两个属性共同作用来定义位何时被输出以及何时被采样。时钟极性可由主机设置,以允许在任一上升沿上输出和采样位g 或时钟周期的下降沿。时钟相位可以设置为输出和采样发生在时钟周期的第一个边沿或第二个边沿,无论它是上升还是下降。

从选择

主机可以通过将从机的 CS/SS 线设置为低电压电平来选择它想要与哪个从机通话。在空闲、非传输状态下,从选择线保持在高电压电平。主机上可能有多个 CS/SS 引脚,这允许多个从机并行连接。如果只有一个 CS/SS 引脚,则可以通过菊花链将多个从设备连接到主设备。

多从

SPI 可以设置为单主机和单从机运行,也可以设置为单个主机控制的多个从机。有两种方法可以将多个从站连接到主站。如果主机有多个从机选择引脚,从机可以像这样并行连接:

SPI简介——多从配置分离从选择

如果只有一个从机选择引脚可用,从机可以像这样菊花链:

SPI 简介 - 多从配置菊花链

MOSI 和 MISO

主机通过 MOSI 线以串行方式向从机逐位发送数据。从机通过 MOSI 引脚接收主机发送的数据。从主机发送到从机的数据通常以最高有效位在前发送。

从机也可以通过 MISO 线串行将数据发送回主机。从从设备发送回主设备的数据通常以最低有效位在前发送。

SPI数据传输步骤

  1. 主机输出时钟信号:

SPI简介——数据传输图时钟信号

  1. 主机将 SS/CS 引脚切换到低电压状态,从而激活从机:

SPI介绍——数据传输图从选择激活

  1. 主机沿MOSI 线一次一位地向从机发送数据。从设备在接收到位时读取这些位:

SPI简介——数据传输图 Master to Slave Data Transfer

  1. 如果需要响应,从机沿 MISO 线一次一位地向主机返回数据。主机在接收到位时读取这些位:

SPI 简介 - 数据传输图 Slave to Master 数据传输

SPI的优缺点

使用 SPI 有一些优点和缺点,如果在不同的通信协议之间进行选择,您应该根据项目的要求知道什么时候使用 SPI:

好处

没有起始位和停止位,因此数据可以不间断地连续流式传输 没有像 I2C 那样复杂的从机寻址系统 比 I2C 更高的数据传输速率(几乎是 I2C 的两倍) 独立的 MISO 和 MOSI 线,因此可以同时发送和接收数据

缺点

使用四根线(I2C 和 UART 使用两根) 没有确认数据已成功接收(I2C 有这个) 没有像 UART 中的奇偶校验位那样的错误检查形式 只允许一个主 希望这篇文章能让您更好地了解 SPI。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“加群”按规则加入技术交流群。

欢迎关注我的视频号:

点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

浏览 62
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报