SPI 协议详解_cifs协议

SPI 协议详解_cifs协议SPI协议详解1、SPI简介2、SPI四线3、SPI四种工作模式4、SPI时序图1、SPI简介SPI全称是SerialPerripheralInterface,也就是串行外围设备接口。SPI是Motorola公司推出的一种同步串行接口技术,是一种高速、全双工的同步通信总线,SPI时钟频率相比I2C要高很多,最高可以工作在上百MHz。SPI以主从方式工作,通常是有一个主设备和一个或多个从设备,一般SPI需要4根线,但是也可以使用三根线(单向传输)2、SPI四线

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1、SPI 简介

SPI 全称是 Serial Perripheral Interface,也就是串行外围设备接口。 SPI 是 Motorola 公司推出的一种同步串行接口技术,是一种高速、全双工的同步通信总线, SPI 时钟频率相比 I2C 要高很多,最高可以工作在上百 MHz。 SPI 以主从方式工作,通常是有一个主设备和一个或多个从设备,一般 SPI 需要4 根线,但是也可以使用三根线(单向传输)

2、SPI四线

  • ①、 CS/SS, Slave Select/Chip Select,这个是片选信号线,用于选择需要进行通信的从设备。I2C 主机是通过发送从机设备地址来选择需要进行通信的从机设备的, SPI 主机不需要发送从机设备,直接将相应的从机设备片选信号拉低即可。
  • ②、 SCK, Serial Clock,串行时钟,和 I2C 的 SCL 一样,为 SPI 通信提供时钟。
  • ③、 MOSI/SDO, Master Out Slave In/Serial Data Output,简称主出从入信号线,这根数据线只能用于主机向从机发送数据,也就是主机输出,从机输入。
  • ④、 MISO/SDI, Master In Slave Out/Serial Data Input,简称主入从出信号线,这根数据线只能用户从机向主机发送数据,也就是主机输入,从机输出。

SPI 通信都是由主机发起的,主机需要提供通信的时钟信号。主机通过 SPI 线连接多个从设备的结构如下图所示:
SPI 设备连接图

3、SPI四种工作模式

SPI 有四种工作模式,通过串行时钟极性(CPOL)和相位(CPHA)的搭配来得到四种工作模式:

  • ①、 CPOL=0,串行时钟空闲状态为低电平。
  • ②、 CPOL=1,串行时钟空闲状态为高电平,此时可以通过配置时钟相位(CPHA)来选择具体的传输协议。
  • ③、 CPHA=0,串行时钟的第一个跳变沿(上升沿或下降沿)采集数据。
  • ④、 CPHA=1,串行时钟的第二个跳变沿(上升沿或下降沿)采集数据。

这四种工作模式如下图所示:
SPI四种工作模式

4、SPI时序图

以 CPOL=0, CPHA=0 这个工作模式为例, SPI 进行全双工通信的时序如下图所示:
在这里插入图片描述
从上图可以看出, SPI 的时序图很简单,不像 I2C 那样还要分为读时序和写时序,因为 SPI 是全双工的,所以读写时序可以一起完成。图中CS 片选信号先拉低,选中要通信的从设备,然后通过 MOSI 和 MISO 这两根数据线进行收发数据, MOSI 数据线发出了0XD2 这个数据给从设备,同时从设备也通过 MISO 线给主设备返回了 0X66 这个数据。这个就是 SPI 时序图。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181526.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月15日 下午11:46
下一篇 2022年10月15日 下午11:46


相关推荐

  • 卷积操作的参数量和FLOPs

    卷积操作的参数量和FLOPs卷积操作的参数量和FLOPs  这里首先需要辨析一个概念就是FLOPs和FLOPS可以看到简写的差别仅仅是一个字母大小写的区别。  FLOPS(floating-pointoperationspersecond),这个缩写长这个样子确实也很奇怪,大致概念就是指每秒浮点数运算次数,最后一个S是秒(second)的缩写,是计组中的概念,用来描述计算机的运算速度。  FLOPs(floati…

    2022年5月27日
    33
  • Java后端开发需要学什么?为什么选择后端开发

    Java后端开发需要学什么?为什么选择后端开发市场上有各种不同的开发语言和框架可供选择 这是一个永恒的困境 Java 还是 Net RubyonRails 还是 Python 或 PHP 我们不会在本文中将这些语言相互比较 而是尝试回答这个问题 何时以及为何选择 Java 进行后端开发 实际上 有几个参数取决于语言选择 例如语言能力 编码的难易程度 对不同操作系统和移动平台的支持 项目的规模及其领域的具体情况 内部资源的可用性谁将能够在安全和性能问题等方面进一步支持项目 我们已经提到 Java 仍然是世界上使用最广泛的编程语言之一 谷歌 Netflix

    2026年3月17日
    2
  • Gemini、ChatGPT、Qwen、豆包、Claude五大主流AI模型深度对比:技巧、生态与应用全景解析

    Gemini、ChatGPT、Qwen、豆包、Claude五大主流AI模型深度对比:技巧、生态与应用全景解析

    2026年3月12日
    2
  • Java关键字及其作用详解

    Java关键字及其作用详解Java 中的关键字有如下表格中这么多下面分别解释一下每个关键字的含义 private 一种访问控制方式 私用模式 protected 一种访问控制方式 保护模式 public 一种访问控制方式 共用模式 abstract 表明类或者成员方法具有抽象属性 class 类 extends 表明一个类型是另一个类型的子类型 这里常见的类

    2026年3月18日
    2
  • 智能风控平台核心之风控决策引擎(二)

    智能风控平台核心之风控决策引擎(二)本文摘要 信贷风控策略建设思路 决策引擎主要功能适用阅读人群 互金产品人员 互金模型人员 互金研发人员在风控决策引擎 一 中 只是对风控决策引擎的核心功能规则 评分卡 模型 表达式 决策流等模块做了简介 大数据风控 大数据输入决策引擎通过规则 评分卡 模型 表达式 决策流等功能模块就能输出理想的风控结果了吗 实际业务中的风控流程依靠这几个功能模块是无法完全达到风控目的 成熟的风控方案有一套严谨的策略体系 风控决策引擎要结合风控策略体系 最终才能达到风险控制的目标 大数据风控通用流

    2026年3月18日
    2
  • linux cc 防御,一款Linux轻量级CC攻击防御工具

    linux cc 防御,一款Linux轻量级CC攻击防御工具本工具转自 https zhangge net 5066 html 一 功能申明分享之前我必须先申明一下 众所周知 DDoS 攻击指的是分布式拒绝服务 而 CC 攻击只是 DDoS 攻击的一种 本文所阐述的 CC 攻击 指的是单个 IP 达到我们设定好的阈值并发请求 而非海量 IP 的低并发攻击 对于个人低配服务器 除了使用 CDN 来防护 至少我是没有想到如何抵挡海量 IP 攻击的 因为每个 IP 都模拟正常的用户浏览器请求 并

    2026年3月20日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号