一、通信方式

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相关推荐

  1. 发布-订阅消息常用通信方式

    二进制通信方式   常见的有MQTT...参考https://blog.csdn.net/qq_19004627/article/details/79802685 未完待续

  2. 51单片机常用通信方式之IIC通信(二)

    IIC通信是一种同步通信方式,同步通信是采用一个同步时钟线,连到收发双方,使收发双方达到完全同步.则IIC通信硬件连接就有四根线VCC.GND.SDA.SCL,SDA是传送数据的,SCL是控制时序的, ...

  3. 28335接两个spi设备_SPI浅析

    01  SPI简介 SPI,全称为Serial Peripheral interface,即串行外围设备接口.由摩托罗拉率先在产品上使用.SPI是一种高速全双工,同步(full duplex sync ...

  4. 【java】SPI机制详解

    1.概述 以前的文章:[SPI]java基础之SPI框架实现 转载:Java常用机制 - SPI机制详解 PI(Service Provider Interface),是JDK内置的一种 服务提供发现 ...

  5. [经验] PROTEUS仿真学习笔记05 (SPI 协议 外设)——2014_7_15

    SPI 的概念 *************** 对初学者来说,SPI 应该比 I2C 难一些,原因: 1.C51 用SPI 的资料不多,要到STM32 等更高级MCU 资料才会多: 2.SPI 的资料 ...

  6. 一文读懂 S7-1500 手册 - 关于常用资源的介绍

    中央处理单元 (CPU) 是 SIMATIC S7-1500 系列产品的核心.由于 S7-1500 系列产品范围非常广泛,因此在日常工作中,特别在 S7-1500 CPU 选型和使用阶段,工程师经常遇 ...

  7. SPI协议分析仪的使用介绍及flash无法启动两种案例分析

    SPI协议分析仪的使用介绍及案例分析 一.协议分析仪介绍 Kingst LA5016 USB 协议分析仪,支持众多标准协议解析,包括:UART/RS232/485,I2C,SPI,CAN,SMBUS等 ...

  8. JDK的 SPI 机制,Spring的 factories 机制

    目录 jdk的SPI机制 spi简介 使用示例 spring的factories机制 factories机制简介 使用示例 总结 jdk的SPI机制 spi简介 模块之间一般推荐基于接口编程,不与具体 ...

  9. 通信协议篇——SPI通信

    通信协议篇--SPI通信 1.简介 SPI(Serial Peripheral Interface)是一种高速.同步.全双工串行通信总线,采用主从机通信模式,主要应用在EEPROM,FLASH,实时时 ...

最新文章

  1. LSTM CNN GRU DGA比较
  2. Java线程6个状态详解
  3. 搜索,然后学习:两阶段的无监督文本生成
  4. 一个Demo学会用Android兼容包新控件
  5. 成神之路——实施工程师
  6. idm无法集成到谷歌浏览器怎么解决?
  7. 问题 F: 是你飘了,还是我拿不动刀了(字符串问题)
  8. 23 种设计模式的分类 - Design Patterns
  9. 使用cookie模拟登陆豆瓣影评
  10. iPhone内存溢出——黑白苹果
  11. 电脑贴的标签 MFG YR是什么意思
  12. nbu客户端卸载_在LINUX系统下如何卸载NetBackup
  13. C#界面设计--5--Bitmap.save保存图片时: GDI+ 中发生一般性错误 解决办法
  14. Mybatis日志源码探究
  15. 计算机职业生涯规划书素材,2021大学生职业生涯规划书素材模板
  16. NumPy科学计算库(1)Python数据分析
  17. 2021年中国社会客货运输量及周转量情况分析[图]
  18. 消费者怎么看待 then, catch, finally
  19. mysql认证题库_MySQL 8 OCP(1Z0-908)认证考试题库原题(第11题)
  20. Unity LoadImage LoadRawTextureData 方法加载 Bitmap

热门文章

  1. KSZ8873MLLV在AURIX平台的应用
  2. 信号覆盖评估系统-SRTM数据下载
  3. nginx 如何自定义域名配置反向代理
  4. 堆栈溢出一般是由什么原因导致
  5. python selenium截图_利用 Python + Selenium 实现对页面的指定元素截图(可截长图元素)...
  6. 公钥加密算法-RSA
  7. Java第三次作业——面向对象基础(封装)
  8. linux中如何查看某个端口是否被占用
  9. S6 在 LAIN 集群中的应用实践
  10. pip config 修改国内源