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位二进制)数据,而软件实现方式下程 ...
随机推荐
- PHP连MYSQL查询结果中文乱码的完美解决方法
问题背景:近日接手同事的一个项目(wampserver环境),配置好环境,导库完毕,打开页面一看中文全是问号.打开network看了下请求,请求结果里的中文也一样乱码了.懵逼... 解决方法:打开My ...
- 题解:CF361B Levko and Permutation
前置芝士--最大公约数 - OI Wiki 题目其实很简单,我们可以知道一些最大公约数的性质: 有一个数 xxx,则: gcd(x,x−1)=1gcd(1,x)=1\gcd(x,x-1)=1 \\ ...
- windows系统如何开启远程连接
一.RDP远程桌面介绍 RDP远程桌面即远程桌面系统(Remote Desktop Protocol),是内置于windows系统的网络通信协议.通过RDP,用户可以远程登录到运行windows系统的 ...
- JavaScript 没有“包”
前言 除了古老的 C/C++,几乎所有的编程语言都有模块系统,都有官方的包管理器.我们一般不自己实现所有的代码,实际应用开发过程中大量使用开源库和框架.这篇文章演示了如何把自己实现的库变成一个包,一个 ...
- 【BERT】详解BERT
一.为什么要提出BERT? 传统的RNN类模型,包括LSTM,GRU以及其他各种变体,最大的问题在于提取能力不足.在<Why Self-Attention? A Targeted Evaluat ...
- 某些STL用法
STL大法好! stable_sort 基于归并排序,时间复杂度稳定同时并不会改变相对顺序,平替sort,用法一模一样.(可以过一些甚至卡sort的毒瘤,但是由于sort是均摊复杂度 \(O(nlog ...
- SOUI2-布局系统
布局系统 每个UI界面都是由大量的界面元素构成的,在window编程中,这些界面元素的最小单位被称为控件,而布局则是这些控件在界面的相对位置和大小. 目前SOUI支持锚点布局.线性布局.网格布局,下面 ...
- CV中常用Backbone-3:Clip/SAM原理以及代码操作
前面已经介绍了简单的视觉编码器,这里主要介绍多模态中使用比较多的两种backbone:1.Clip:2.SAM.对于这两个backbone简单介绍基本原理,主要是讨论使用这个backbone. 1.C ...
- 202402 湖北武汉 4D3N3P
202402 湖北武汉 4D3N3P D0 / 10 杭州出发 普速列车25T Z47 杭州-武昌 城站22:22开 第3候车室 这趟列车是武汉局"华东三直"中的其中一列,另外两列 ...
- 2025 年实用、全面的 VS Code 插件推荐!
前言 VS Code是一款由微软开源免费.轻量级.功能强大的源代码编辑器.其轻量级体现在基础安装简洁,仅含核心编辑功能.功能强大则源于它支持丰富的语言环境插件拓展,这种模块化设计让VS Code在源代 ...