常用通信方式—SPI
一、通信方式
1.1 常用通信方式
串行:1-2根数据线,发送接收数据是按照顺序一位一位传输,成本低,适合远距离通信
并行:二进制数据有多少位就有多少根数据线,适合近距离传输数据
1.2 串行通信种类
串行又分为同步通信与异步通信:判断标准为有无时钟线,同步通信有时钟线。
同步通信:数据帧格式:起始位+数据位+校验位+停止位,时钟线控制传输速率
异步通信:数据帧格式:同步字符+数据流,波特率控制传输速率0
单工:在数据传输上,只支持单方向的传输,只能接收或发送
半双工:支持双方向传输,但同一时刻只能接收或发送
全双工:支持双方向传输,在同一时间段即可以发送也可以接收
例:USART——全/半双工——异步串行通信——传输距离15米左右
二、SPI通信
SPI通信协议是一种高速、全/半双工、同步的通信总线
2.1 SPI通信接口
四线制:MOSI(DO):master output slave input 主器件数据输出,从器件数据输入
MISO(DIO):主器件数据输入,从器件数据输出
NSS(CS):片选。从器件使能信号,由主器件控制(片选管脚是一个普通的IO口)。
SCLK/CLK/SCL/SLK:时钟线,产生数据所需的脉冲信号,控制速度(主器件产生)
三线制:MISO:双向数据线(可以接收可以发送)
NSS(CS):片选。从器件使能信号,由主器件控制(片选管脚是一个普通的IO口)。
SCLK/CLK/SCL/SLK:时钟线,产生数据所需的3脉冲信号,控制速度(主器件产生)
2.2 SPI通信物理拓扑
2.3 SPI通信原理
(1)、NSS控制从器件是否被选中,当片选信号为规定的信号时,对从器件的操作才有效
(2)、MISO或MOSI根据时钟线发出的脉冲信号完成数据的传输
(3)、数据传输通过数据线,在时钟的上升沿或者下降沿改变数据,在紧接着的下降沿或者上升沿时被读取。
(4)、SPI通信协议是一个数据交换协议,主器件给从器件一个位的数据,从器件必定会返回一个位的,数据。(写操作时,主器件发送需要写入的数据,从器件必定会返回一个随机值;读操作时,主器件发送一个随机值,从器件返回需要读取的数据)
2.4 SPI通信数据传输方式
SPI通信一共有4种传输方式,根据时钟极性和时钟相位的选择不同而不同
时钟极性(CPOL):时钟极性决定了SPI通信在空闲状态时,时钟线的电平状态
(1)CPOL = 0,SCLK时钟线在空闲状态下为低电平
(2)CPOL = 1,SCLK时钟线在空闲状态下为高电平
时钟相位(CPHA):时钟相位决定了数据线上第一个数据被采集的时钟。
(1)CPHA = 0,MOSI或者MISO数据线上的数据会在SCLK时钟线的“奇数边沿”被采集
(2)CPHA = 1,MOSI或者MISO数据线上的数据会在SCLK时钟线的“偶数边沿”被采集
SPI传输模式 |
时钟极性(CPOL) |
时钟相位(CPHA) |
时钟空闲状态 |
数据采集时刻 |
0 |
0 |
0 |
低电平 |
时钟奇数边沿采集 |
1 |
0 |
1 |
低电平 |
时钟偶数边沿采集 |
2 |
1 |
0 |
高电平 |
时钟奇数边沿采集 |
3 |
1 |
1 |
高电平 |
时钟偶数边沿采集 |
常用通信方式—SPI相关推荐
- 发布-订阅消息常用通信方式
二进制通信方式 常见的有MQTT...参考https://blog.csdn.net/qq_19004627/article/details/79802685 未完待续
- 51单片机常用通信方式之IIC通信(二)
IIC通信是一种同步通信方式,同步通信是采用一个同步时钟线,连到收发双方,使收发双方达到完全同步.则IIC通信硬件连接就有四根线VCC.GND.SDA.SCL,SDA是传送数据的,SCL是控制时序的, ...
- 28335接两个spi设备_SPI浅析
01 SPI简介 SPI,全称为Serial Peripheral interface,即串行外围设备接口.由摩托罗拉率先在产品上使用.SPI是一种高速全双工,同步(full duplex sync ...
- 【java】SPI机制详解
1.概述 以前的文章:[SPI]java基础之SPI框架实现 转载:Java常用机制 - SPI机制详解 PI(Service Provider Interface),是JDK内置的一种 服务提供发现 ...
- [经验] PROTEUS仿真学习笔记05 (SPI 协议 外设)——2014_7_15
SPI 的概念 *************** 对初学者来说,SPI 应该比 I2C 难一些,原因: 1.C51 用SPI 的资料不多,要到STM32 等更高级MCU 资料才会多: 2.SPI 的资料 ...
- 一文读懂 S7-1500 手册 - 关于常用资源的介绍
中央处理单元 (CPU) 是 SIMATIC S7-1500 系列产品的核心.由于 S7-1500 系列产品范围非常广泛,因此在日常工作中,特别在 S7-1500 CPU 选型和使用阶段,工程师经常遇 ...
- SPI协议分析仪的使用介绍及flash无法启动两种案例分析
SPI协议分析仪的使用介绍及案例分析 一.协议分析仪介绍 Kingst LA5016 USB 协议分析仪,支持众多标准协议解析,包括:UART/RS232/485,I2C,SPI,CAN,SMBUS等 ...
- JDK的 SPI 机制,Spring的 factories 机制
目录 jdk的SPI机制 spi简介 使用示例 spring的factories机制 factories机制简介 使用示例 总结 jdk的SPI机制 spi简介 模块之间一般推荐基于接口编程,不与具体 ...
- 通信协议篇——SPI通信
通信协议篇--SPI通信 1.简介 SPI(Serial Peripheral Interface)是一种高速.同步.全双工串行通信总线,采用主从机通信模式,主要应用在EEPROM,FLASH,实时时 ...
最新文章
- LSTM CNN GRU DGA比较
- Java线程6个状态详解
- 搜索,然后学习:两阶段的无监督文本生成
- 一个Demo学会用Android兼容包新控件
- 成神之路——实施工程师
- idm无法集成到谷歌浏览器怎么解决?
- 问题 F: 是你飘了,还是我拿不动刀了(字符串问题)
- 23 种设计模式的分类 - Design Patterns
- 使用cookie模拟登陆豆瓣影评
- iPhone内存溢出——黑白苹果
- 电脑贴的标签 MFG YR是什么意思
- nbu客户端卸载_在LINUX系统下如何卸载NetBackup
- C#界面设计--5--Bitmap.save保存图片时: GDI+ 中发生一般性错误 解决办法
- Mybatis日志源码探究
- 计算机职业生涯规划书素材,2021大学生职业生涯规划书素材模板
- NumPy科学计算库(1)Python数据分析
- 2021年中国社会客货运输量及周转量情况分析[图]
- 消费者怎么看待 then, catch, finally
- mysql认证题库_MySQL 8 OCP(1Z0-908)认证考试题库原题(第11题)
- Unity LoadImage LoadRawTextureData 方法加载 Bitmap