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. PHP连MYSQL查询结果中文乱码的完美解决方法

    问题背景:近日接手同事的一个项目(wampserver环境),配置好环境,导库完毕,打开页面一看中文全是问号.打开network看了下请求,请求结果里的中文也一样乱码了.懵逼... 解决方法:打开My ...

  2. 题解:CF361B Levko and Permutation

    前置芝士--最大公约数 - OI Wiki 题目其实很简单,我们可以知道一些最大公约数的性质: 有一个数 xxx,则: gcd⁡(x,x−1)=1gcd⁡(1,x)=1\gcd(x,x-1)=1 \\ ...

  3. windows系统如何开启远程连接

    一.RDP远程桌面介绍 RDP远程桌面即远程桌面系统(Remote Desktop Protocol),是内置于windows系统的网络通信协议.通过RDP,用户可以远程登录到运行windows系统的 ...

  4. JavaScript 没有“包”

    前言 除了古老的 C/C++,几乎所有的编程语言都有模块系统,都有官方的包管理器.我们一般不自己实现所有的代码,实际应用开发过程中大量使用开源库和框架.这篇文章演示了如何把自己实现的库变成一个包,一个 ...

  5. 【BERT】详解BERT

    一.为什么要提出BERT? 传统的RNN类模型,包括LSTM,GRU以及其他各种变体,最大的问题在于提取能力不足.在<Why Self-Attention? A Targeted Evaluat ...

  6. 某些STL用法

    STL大法好! stable_sort 基于归并排序,时间复杂度稳定同时并不会改变相对顺序,平替sort,用法一模一样.(可以过一些甚至卡sort的毒瘤,但是由于sort是均摊复杂度 \(O(nlog ...

  7. SOUI2-布局系统

    布局系统 每个UI界面都是由大量的界面元素构成的,在window编程中,这些界面元素的最小单位被称为控件,而布局则是这些控件在界面的相对位置和大小. 目前SOUI支持锚点布局.线性布局.网格布局,下面 ...

  8. CV中常用Backbone-3:Clip/SAM原理以及代码操作

    前面已经介绍了简单的视觉编码器,这里主要介绍多模态中使用比较多的两种backbone:1.Clip:2.SAM.对于这两个backbone简单介绍基本原理,主要是讨论使用这个backbone. 1.C ...

  9. 202402 湖北武汉 4D3N3P

    202402 湖北武汉 4D3N3P D0 / 10 杭州出发 普速列车25T Z47 杭州-武昌 城站22:22开 第3候车室 这趟列车是武汉局"华东三直"中的其中一列,另外两列 ...

  10. 2025 年实用、全面的 VS Code 插件推荐!

    前言 VS Code是一款由微软开源免费.轻量级.功能强大的源代码编辑器.其轻量级体现在基础安装简洁,仅含核心编辑功能.功能强大则源于它支持丰富的语言环境插件拓展,这种模块化设计让VS Code在源代 ...