SPI总线协议
SPI总线协议
0. 概述
数据线:
SCL :同步时钟线,用于控制时序,可通过CPOL设置极性
MOSI :主机发送-从机接收 数据线
MISO :主机接收-从机发送 数据线
CS/NSS:片选信号线,低电平有效,但是每个从设备都想要一根CS线,占用引脚多支持全双工通信
高速片上通信协议:
支持MHz级速率(取决于设备)波特率 = SCK 时钟频率
1. 四个参数
1. LSB/MSB: 大端小端选择
示例:(如下图)

2. 8-bit/16bit: 字长选择
3. 时钟极性(CPOL):
CPOL = 0:SCL空闲状态为低电平
CPOL = 1:SCL空闲状态为高电平
示例:(如下图)
![]()
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.参考链接
图片来源:B站up主 铁头山羊
SPI总线协议的更多相关文章
- SPI总线协议及SPI时序图详解
SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚 ...
- SPI总线协议及SPI时序图详解【转】
转自:https://www.cnblogs.com/adylee/p/5399742.html SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接 ...
- 【转】SPI总线协议
SPI总线协议 By Xiaomin | April 17, 2016| 技术 概述 SPI(Serial Peripheral Interface)总线是主要应用于嵌入式系统内部通信的串行同步传输总 ...
- 关于I2C和SPI总线协议【转】
关于I2C和SPI总线协议 IICvs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral ...
- spi 总线协议记录
摘抄至: http://blog.csdn.net/skyflying2012/article/details/11710801 概述: SPI, Serial Perripheral Interfa ...
- SPI总线协议理解
1.什么是SPI: 是摩托罗拉公司设计的一种全双工通信.高速的.同步的串行外部设备通信协议. 2.SPI作用: 用于设备之间的数据交互. 3.SPI由什么构成: 1)MOSI:主设备输出从设备输入线, ...
- SPI总线协议介绍
http://blog.csdn.net/ce123_zhouwei/article/details/6897293 https://www.cnblogs.com/yangguang-it/p/71 ...
- SPI、I2C、UART三种串行总线协议的区别
第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous R ...
- SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转)
SPI.I2C.UART三种串行总线协议的区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART( ...
- MSP430单片机的两种SPI总线实现方式
MSP430单片机上的SPI总线的实现方式分为两种:硬件实现和软件实现. 二者的抽象层次不同,硬件实现方式下程序员只需要完成总线协议的寄存器层,即一字节(char,8位二进制)数据,而软件实现方式下程 ...
随机推荐
- git 更新和强制更新失败
Your local changes to the following files would be overwritten by mergeerror: Your local changes to ...
- toRefs 与 toRef 的详解
一.引言在 Vue 3 的响应式系统里,toRefs 和 toRef 是两个实用的工具函数,它们在处理响应式数据时发挥着重要作用.合理运用这两个函数,可以让我们在操作响应式对象和数组时更加灵活,避免一 ...
- Webkit 实现页面滚动条美化
当页面或者某个容器布局内容超出过后, 就会有滚动条, 但默认的有点丑, 经常需要自己来美化一下, 这里做个笔记吧. /* 美化全局的滚动条 */ ::-webkit-scrollbar { width ...
- vault
目录 Vault使用场景 数据加密 访问控制 有时间限制的访问 灾备恢复 基于身份(Identity)的安全性 人类和机器认证 静态和动态secrets的Secrets engines Install ...
- 问题描述:libGL.so.1: cannot open shared object file: No such file or directory
问题截图: 在实验室服务器上跑代码,报如上错误 解决方案: sudo apt update sudo apt install libgl1-mesa-glx 因遇见多次该错误,特此记录下 (据说该问题 ...
- stable diffusion论文解读
High-Resolution Image Synthesis with Latent Diffusion Models 论文背景 LDM是Stable Diffusion模型的奠基性论文 于2022 ...
- pyqt Qscintilla英文学习笔记
由于博客园不能上传pdf,所以图片没了,源文件 链接:https://www.123pan.com/s/qdY9-P4fk3 提取码:aRny 通过百度网盘分享的文件:qscintil- 链接:htt ...
- 在Ubuntu上使用Let's Encrypt配置Nginx SSL证书并自动更新
在Ubuntu上使用Let's Encrypt配置Nginx SSL证书并自动更新 绪言 这篇文章其实内容不多,难度不大,只是自己记录一下. Arisu拷打了我几次我在阿里云上花钱购买SSL证书一事. ...
- 洛谷P1333 瑞瑞的木棍 字符串 最短路
说在前面 用M↓写的第一篇题解,欢迎提出意见. 题目描述 瑞瑞有一堆的玩具木棍,每根木棍的两端分别被染上了某种颜色,现在他突然有了一个想法,想要把这些木棍连在一起拼成一条线,并且使得木棍与木棍相接触的 ...
- 开源 vGPU 方案:HAMi,实现细粒度 GPU 切分
本文主要分享一个开源的 GPU 虚拟化方案:HAMi,包括如何安装.配置以及使用. 相比于上一篇分享的 TimeSlicing 方案,HAMi 除了 GPU 共享之外还可以实现 GPU core.me ...
