spi四种工作模式时序图_还没学会SPI总线协议?干货都在这里
SPI总线基本概念
SPI是一种高速、全双工、同步的串行通信总线,全称是Serial Peripheral Interface,使用时在芯片的管脚上只占用三根或者四根线(如果单向传输的话只需三根线就可以了),节约了芯片的管脚资源,所以在实际项目中应用也非常广泛。SPI总线的通信模式也是一主多从模式。
SPI的四根线都是单向的I/O线:
- MISO(SDI)– Master Input Slave Output,主设备数据输入,从设备数据输出;
- MOSI(SDO)– Master Output Slave Input,主设备数据输出,从设备数据输入;
- SCLK – Serial Clock,时钟信号,由主设备产生;
- CS(SS)– Chip Select,从设备使能信号,由主设备控制。
常见的硬件连接图:
SPI如何实现一对一的通信?
主设备通过CS片选引脚选中要通信的从设备,只有当从设备的CS引脚被使能才能和主设备进行通信。这就允许在同一个SPI总线上连接多个SPI从设备但仍能保持一对一的通信。
SPI的工作模式
SPI有四种工作模式,各个工作模式的不同在于SCLK不同,具体工作由CPOL和CPHA决定:
CPOL(Clock Polarity):时钟极性
- 当CPOL为0时,时钟空闲时电平为低;
- 当CPOL为1时,时钟空闲时电平为高;
CPHA(Clock Phase):时钟相位
- 当CPHA为0时,时钟周期的上升沿采集数据,时钟周期的下降沿输出数据;
- 当CPHA为1时,时钟周期的下降沿采集数据,时钟周期的上升沿输出数据;
CPOL和CPHA分别都可以是0或是1,对应四种组合即为SPI的四种工作模式。
注意:SPI主模块和与之通信的外设时钟相位和极性应该保持一致,主设备SPI时钟和极性的配置应该由外设来决定,二者的配置应该保持一致,即主设备的SDO同从设备的SDO配置一致,主设备的SDI同从设备的SDI配置一致。
SPI简单的收发时序,上升沿发送、下降沿接收、高位先发送
总结:
SPI接口的优点:不需要进行寻址操作且全双工,可以同时发送和接收数据,传输速率高。
SPI接口的缺点:没有指定的流控制,没有应答机制确认是否接收到数据。
以上是对SPI总线协议的总结,如有不足欢迎指正;关于SPI总线在找工作面试中也会被经常问到,如果喜欢的话要收藏关注哦!
spi四种工作模式时序图_还没学会SPI总线协议?干货都在这里相关推荐
- SPI四种工作模式时序图
1.SPI总线简介 SPI(serial peripheral interface,串行外围设备接口)总线技术是Motorola公司推出的一种同步串行接口.它用于CPU与各种外围器件进行全双工.同步串 ...
- spi四种工作模式时序图_SPI总线协议及SPI时序图详解
嵌入式linux QQ交流群:175159209,欢迎爱好者加入交流技术问题! SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种 ...
- AndroidManifest.xml文件详解(activity)(三)四种工作模式
android:launchMode 这个属性定义了应该如何启动Activity的一个指令.有四种工作模式会跟Intent对象中的Activity标记(FLAG_ACTIVITY_*常量)结合在一起用 ...
- 工程监测多通道振弦模拟信号采集仪VTN的四种工作模式
工程监测多通道振弦模拟信号采集仪VTN的四种工作模式 VTN是多通道振弦.温度.模拟传感信号系列数据采集仪,可对32通道振弦频率.32通道热敏电阻或DS18B20温度传感器.32通道模拟量传感器(电流 ...
- shell教程(二) 四种工作模式
标准 根据 POSIX 标准,Shell 分为登录(login).非登录(non-login)和交互(interactive).非交互(non- interactive)两个维度的处理.因此 bash ...
- Linux链路聚合,链路聚合四种工作模式
一.基础知识 链路聚合(英语:Link Aggregation)是一个计算机网络术语,指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端 ...
- 无线网卡的四种工作模式
无线网卡一般有四种工作模式,即 Managed,Master,Ad-hoc,Monitor. Managed (被管理,即你的无线网卡处理被管理的模式)模式:该模式用于你的无线客户端直接与无线接入点( ...
- stm32芯片休眠模式_STM32的运行、睡眠、停止和待机四种工作模式
01 前言 按功耗由高到低排列,STM32具有运行.睡眠.停止和待机四种工作模式.上电复位后 STM32 处于运行状态,当内核不需要继续运行,就可以选择进入后面的三种低功耗模式降低功耗,这三种模式中, ...
- 消息队列(四)——rabbitMQ四种工作模式
RabbitMQ工作模式 模式总结: 1.简单模式helloworld 一个生产者,一个消费者,不需要交换机(使用默认交换机) 2.工作队列模式Work Queue 一个生产者,多个消费者(竞争关系) ...
最新文章
- 系统app无法访问外部存储设备问题
- C语言Catalan number卡特兰数(使用n个键可以搜索多少个二叉搜索树)的算法(附完整源码)
- GET和POST的真正区别
- [网络安全自学篇] 三十四.Windows系统安全缺陷之5次Shift漏洞启动计算机机理分析
- edittext无法获取焦点_小黑鞋强势回归,用帅气拉回时尚焦点
- P7295-[USACO21JAN]Paint by Letters P【平面图欧拉公式】
- 使用集搜客爬取酷狗排行歌曲信息
- Linux的文件压缩与解压缩
- 基于命令行编译打包phonegap for android应用
- 初次体验.net Ajax无刷新技术
- python心脏线绘制代码_JavaScript图形实例:曲线方程
- SPSS教程—如何安装加权kappa计算插件
- java负载均衡搭建_负载均衡环境搭建(nginx和tomcat)
- 大数据技术生态体系(截图)
- 大数据行业发展前景及岗位方向如何?
- 仿Twitter源代码/社交网络源码/基于脉聊二开版本
- 和差角证明托勒密定理
- C/C++ 学习日记3:制作带有界面的植物大战僵尸助手(基于MFC)
- linux宝塔重新安装,Linux服务器Windows系统 安装和卸载宝塔面板
- 互联网晚报 | 8月23日|共享充电宝涨至4元/小时;公安部辟谣2022红绿灯新国标:不存在;滴滴高德曹操首汽等11家公司被约谈...
热门文章
- tensorflow实现反卷积
- scrapy-redis 使 redis 不止保存 url(例如:json)
- 轻量级分布式任务调度平台 XXL-JOB
- CompletableFuture详解~anyOf
- Introduce Explaining Variable(引入解释性变量)
- 线程Blocked--SynchronizedDemo
- C++学习之路 | PTA乙级—— 1055 集体照 (25 分)(精简)
- insert插入语句设置主键id回滚
- [转载] --- Fastjson1.2.68版及以下全版本远程代码执行漏洞通告
- 软件工程课, 编程课 助教的工作介绍