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位二进制)数据,而软件实现方式下程 ...
随机推荐
- 解决微信二维码接口接口返回:errcode\":47001,\"errmsg\":\"data format error rid: xxx和处理返回的buffer的问题
data format error rid问题: 在php中使用curl调用微信二维码生成接口getwxacodeunlimit时得到错误响应信息: errcode\":47001,\&qu ...
- 一个用原生JavaScript实现的日历小工具,开箱即用
---------------- 用原生JavaScript实现的一个日历小工具,开箱即用,可用于做签到记录.日程等显示控件,具体自己发挥啦 效果如下图,可以自行美化 >>点击体验< ...
- wpf 控件绑定鼠标命令、键盘命令
1 <Window x:Class="CommandDemo.MainWindow" 2 xmlns="http://schemas.microsoft.com/w ...
- .net core分布式锁的实现(基于redis)
一.单个redis节点 实现原理:核心采用StackExchange.Redis的LockTake方法实现.支持同步获取锁,或者等待直到超时获取锁. 基于SENTX命令. copy一下文档的demo ...
- 通用型产品发布解决方案(SpringBoot+SpringCloud+Spring CloudAlibaba+Vue+ElementUI+MyBatis-Plus+MySQL+Git+Maven)03
通用型产品发布解决方案(基于分布式微服务技术栈:SpringBoot+SpringCloud+Spring CloudAlibaba+Vue+ElementUI+MyBatis-Plus+MySQL+ ...
- 基于Gazebo/ROS2的智能仓储机器人强化学习控制系统开发全攻略
引言:仓储自动化与强化学习的碰撞 在工业4.0浪潮下,智能仓储系统正经历从传统AGV到自主决策机器人的跨越式发展.本文将深入解析如何利用Gazebo仿真平台与ROS2框架,结合Stable-Basel ...
- wso2~对接外部认证系统keycloak
在 WSO2 Identity Server 或 WSO2 API Manager 中,Identity Providers (身份提供者) 功能允许您将外部身份管理系统(如 Keycloak.Azu ...
- Array, Set, Map知多少?
Array,Set和Map三个作为Javascript中可迭代的集合数据类型,在编程过程中使用的频率也比较高.针对三种数据类型各自的一些特性,本文的内容将从以下几个方面来上述数据类型做一个总结. 实例 ...
- ActiveMQ消息投递方式之异步投递【转】
ActiveMQ消息投递方式一共有四种:同步投递.异步投递.延迟投递和定时投递. 同步发送:消息生产者使用持久(Persistent)传递模式发送信息的时候,Producer.send()方法会被阻塞 ...
- logback.xml配置分享
前言 个人习惯,仅供学习参考 功能 日志异步输出 日志每天自动归档一次 日志文件达到一定大小时,也会进行归档 归档时,进行zip压缩 归档的日志放在 yyyy-MM-dd 文件夹中 当归档的日志文件总 ...
