无线电爱好网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

无线电爱好网 首页 技术应用 单片机 查看内容

SPI 通信协议介绍

2022-10-26 14:19| 发布者: 闪电| 查看: 1| 评论: 0

摘要: 串行外设接口(SPI)是一种用于短距离通信的双工同步串行通信接口规格,主要用于嵌入式系统。SPI通信协议使用四个通信引脚以及一个电源和接地引脚。通常存在相互通信的“主”设备和“从”设备。“主设备”将使用其从设 ...
串行外设接口(SPI)是一种用于短距离通信的双工同步串行通信接口规格,主要用于嵌入式系统。SPI 通信协议使用四个通信引脚以及一个电源和接地引脚。通常存在相互通信的“主”设备和“从”设备。 “主设备”将使用其从设备选择 (SS) 通信线路,选择其“从设备”之一,以向“从设备”指示它将与其通信。

SPI通讯波形

SPI 通信过程介绍

       串行外设接口SPI是一种用于短距离通信的双工同步串行通信接口规格,主要用于嵌入式系统。它通常用于与闪存、传感器、实时时钟 (RTC)、模数转换器等进行通信。 SPI 还可以支持多个从设备,但需要添加额外的从设备选择 (SS) 信号。

       SPI 通信协议使用四个通信引脚以及一个电源和接地引脚。通常存在相互通信的“主”设备和“从”设备。 “主设备”将使用其从设备选择 (SS) 通信线路,选择其“从设备”之一,以向“从设备”指示它将与其通信。然后主机和从机将同时在 MOSI(Master Out Slave In)和 MISO(Master In Slave Out)数据线上相互通信。在发送实际数据之前,主机和从机都相互发送一位,以确保 SPI 正常工作。数据可以从最高有效位 (MSB) 或最低有效位 (LSB) 发送。

       要启动通信,主设备必须将片选 (CS) 线置于低电压状态,并在整个通信期间保持该低电压状态。主设备和从设备都会相互发送一个位,以使 SPI 通信正常工作。然后可以在两个设备之间一次一位地同时传输数据。微控制器平台控制数据传输的时间。

       通常,SPI 协议在串行时钟 (SCK) 信号的下降沿传输一位数据。数据必须在串行时钟 (SCK) 的下降沿之前放在数据线上。串行时钟 (SCK) 线在“下降”到低电压状态之前(即下降沿之前)也必须处于高电压状态。这可以通过使用微控制器,在将时钟信号变为低电压状态之前,改变数据线的电压状态完成。


       改变数据线上的位值(电压)和脉冲串行时钟(SCK)线的周期将继续,直到所有需要的位都被传输。片选 (CS) 线将进入高电压状态。然后,微控制器知道通信已经完成并准备另一个任务。

通讯时序图

SPI 的四种工作模式
由时钟极性和时钟相位相互组合,得出SPI四种工作模式如下:
模式0:CPOL= 0,CPHA=0。SCK串行时钟线空闲是为低电平,数据在SCK时钟的上升沿被采样,数据在SCK时钟的下降沿切换
模式1:CPOL= 0,CPHA=1。SCK串行时钟线空闲是为低电平,数据在SCK时钟的下降沿被采样,数据在SCK时钟的上升沿切换
模式2:CPOL= 1,CPHA=0。SCK串行时钟线空闲是为高电平,数据在SCK时钟的下降沿被采样,数据在SCK时钟的上升沿切换
模式3:CPOL= 1,CPHA=1。SCK串行时钟线空闲是为高电平,数据在SCK时钟的上升沿被采样,数据在SCK时钟的下降沿切换

        SPI数据交换介绍:SPI 设备间的数据传输之所以又被称为数据交换, 是因为 SPI 协议规定一个 SPI 设备不能在数据通信过程中仅仅只充当一个 “发送者(Transmitter)” 或者 “接收者(Receiver)”. 在每个 Clock 周期内, SPI 设备都会发送并接收一个 bit 大小的数据, 相当于该设备有一个 bit 大小的数据被交换了.

  一个 Slave 设备要想能够接收到 Master 发过来的控制信号, 必须在此之前能够被 Master 设备进行访问 (Access). 所以, Master 设备必须首先通过 SS/CS pin 对 Slave 设备进行片选, 把想要访问的 Slave 设备选上.

  在数据传输的过程中, 每次接收到的数据必须在下一次数据传输之前被采样. 如果之前接收到的数据没有被读取, 那么这些已经接收完成的数据将有可能会被丢弃, 导致 SPI 物理模块最终失效. 因此, 在程序中一般都会在 SPI 传输完数据后, 去读取 SPI 设备里的数据, 即使这些数据(Dummy Data)在我们的程序里是无用的.


路过

雷人

握手

鲜花

鸡蛋

QQ|关于本站|小黑屋|Archiver|手机版|无线电爱好网 ( 粤ICP备15040352号 ) 无线电爱好技术交流5 无线电爱好技术交流1无线电爱好技术交流9开关电源讨论群LED照明应用、电源无线电爱好技术交流4无线电爱好技术交流8无线电爱好技术交流10无线电爱好技术交流11

粤公网安备 44030702001224号

GMT+8, 2022-10-26 14:19 , Processed in 0.109200 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

返回顶部