SPI总线协议

0. 概述

  • 数据线:

    SCL :同步时钟线,用于控制时序,可通过CPOL设置极性

    MOSI发送-接收 数据线

    MISO接收-发送 数据线

    CS/NSS片选信号线,电平有效,但是每个从设备都想要一根CS线,占用引脚多

  • 支持全双工通信

  • 高速片上通信协议:

    支持MHz级速率(取决于设备)

    波特率 = SCK 时钟频率

1. 四个参数

1. LSB/MSB: 大端小端选择

示例:(如下图)

2. 8-bit/16bit: 字长选择

3. 时钟极性(CPOL):

  • CPOL = 0SCL空闲状态为电平

  • CPOL = 1SCL空闲状态为电平

    示例:(如下图)

4. 时钟相位(CPHA):

  • CPHA= 0:在时钟信号SCK的第一个跳变沿采样

  • CPHA = 1:在时钟信号SCK的第二个跳变沿采样

示例:(如下图)

2. 四种时钟模式

  • tip:若发送数据在上升沿,则接收数据在下降沿,反之
模式 CPOL CPHA SCL 空闲电平 主设备更新数据(MOSI) 主设备采样数据(MISO) 从设备采样数据(MOSI) 从设备更新数据(MISO)
0 0 0 低电平 下降沿 上升沿 上升沿 下降沿
1 0 1 低电平 上升沿 下降沿 下降沿 上升沿
2 1 0 高电平 上升沿 下降沿 下降沿 上升沿
3 1 1 高电平 下降沿 上升沿 上升沿 下降沿

3. 多从机模式

3.1 多CS模式 :每个从机都需要一根单独的CS线

3.2 菊花链(环形)拓扑:

  • 菊花链的最大缺点是因为是信号串行传输,所以一旦数据链路中的某设备发生故障的时候,它下面优先级较低的设备就不可能得到服务了;
  • 另一方面,距离主机越远的从机,获得服务的优先级越低,数据的转发次数越多,所以需要安排好从机的优先级

4.优缺点:

4.1 优点:

  • 全双工串行通信
  • 通信速率高
  • 配置简单
  • 硬件结构简单,从机使用主机时钟

4.2 缺点

  • 通常只支持一个主机
  • 需要更多的引脚
  • 没有物理层的错误检测协议
  • 没有硬件从机应答信号
  • 通信距离短(片上通信)

5.参考链接

SPI协议详解(图文并茂+超详细) - 知乎

图片来源:B站up主 铁头山羊

SPI总线协议的更多相关文章

  1. SPI总线协议及SPI时序图详解

    SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚 ...

  2. SPI总线协议及SPI时序图详解【转】

    转自:https://www.cnblogs.com/adylee/p/5399742.html SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接 ...

  3. 【转】SPI总线协议

    SPI总线协议 By Xiaomin | April 17, 2016| 技术 概述 SPI(Serial Peripheral Interface)总线是主要应用于嵌入式系统内部通信的串行同步传输总 ...

  4. 关于I2C和SPI总线协议【转】

    关于I2C和SPI总线协议 IICvs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral ...

  5. spi 总线协议记录

    摘抄至: http://blog.csdn.net/skyflying2012/article/details/11710801 概述: SPI, Serial Perripheral Interfa ...

  6. SPI总线协议理解

    1.什么是SPI: 是摩托罗拉公司设计的一种全双工通信.高速的.同步的串行外部设备通信协议. 2.SPI作用: 用于设备之间的数据交互. 3.SPI由什么构成: 1)MOSI:主设备输出从设备输入线, ...

  7. SPI总线协议介绍

    http://blog.csdn.net/ce123_zhouwei/article/details/6897293 https://www.cnblogs.com/yangguang-it/p/71 ...

  8. SPI、I2C、UART三种串行总线协议的区别

    第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous R ...

  9. SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转)

    SPI.I2C.UART三种串行总线协议的区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART( ...

  10. MSP430单片机的两种SPI总线实现方式

    MSP430单片机上的SPI总线的实现方式分为两种:硬件实现和软件实现. 二者的抽象层次不同,硬件实现方式下程序员只需要完成总线协议的寄存器层,即一字节(char,8位二进制)数据,而软件实现方式下程 ...

随机推荐

  1. git 更新和强制更新失败

    Your local changes to the following files would be overwritten by mergeerror: Your local changes to ...

  2. toRefs 与 toRef 的详解

    一.引言在 Vue 3 的响应式系统里,toRefs 和 toRef 是两个实用的工具函数,它们在处理响应式数据时发挥着重要作用.合理运用这两个函数,可以让我们在操作响应式对象和数组时更加灵活,避免一 ...

  3. Webkit 实现页面滚动条美化

    当页面或者某个容器布局内容超出过后, 就会有滚动条, 但默认的有点丑, 经常需要自己来美化一下, 这里做个笔记吧. /* 美化全局的滚动条 */ ::-webkit-scrollbar { width ...

  4. vault

    目录 Vault使用场景 数据加密 访问控制 有时间限制的访问 灾备恢复 基于身份(Identity)的安全性 人类和机器认证 静态和动态secrets的Secrets engines Install ...

  5. 问题描述:libGL.so.1: cannot open shared object file: No such file or directory

    问题截图: 在实验室服务器上跑代码,报如上错误 解决方案: sudo apt update sudo apt install libgl1-mesa-glx 因遇见多次该错误,特此记录下 (据说该问题 ...

  6. stable diffusion论文解读

    High-Resolution Image Synthesis with Latent Diffusion Models 论文背景 LDM是Stable Diffusion模型的奠基性论文 于2022 ...

  7. pyqt Qscintilla英文学习笔记

    由于博客园不能上传pdf,所以图片没了,源文件 链接:https://www.123pan.com/s/qdY9-P4fk3 提取码:aRny 通过百度网盘分享的文件:qscintil- 链接:htt ...

  8. 在Ubuntu上使用Let's Encrypt配置Nginx SSL证书并自动更新

    在Ubuntu上使用Let's Encrypt配置Nginx SSL证书并自动更新 绪言 这篇文章其实内容不多,难度不大,只是自己记录一下. Arisu拷打了我几次我在阿里云上花钱购买SSL证书一事. ...

  9. 洛谷P1333 瑞瑞的木棍 字符串 最短路

    说在前面 用M↓写的第一篇题解,欢迎提出意见. 题目描述 瑞瑞有一堆的玩具木棍,每根木棍的两端分别被染上了某种颜色,现在他突然有了一个想法,想要把这些木棍连在一起拼成一条线,并且使得木棍与木棍相接触的 ...

  10. 开源 vGPU 方案:HAMi,实现细粒度 GPU 切分

    本文主要分享一个开源的 GPU 虚拟化方案:HAMi,包括如何安装.配置以及使用. 相比于上一篇分享的 TimeSlicing 方案,HAMi 除了 GPU 共享之外还可以实现 GPU core.me ...