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 时序图。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包

    【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包使用maven构建工具可以将工程打包生成普通的jar包、可运行的jar包,也可以将所有依赖一起打包生成jar;一、普通的jar包普通的jar包只包含工程源码编译出的class文件以及资源文件,而不包含任何依赖;同时还包括pom文件,说明该包的依赖信息;在工程pom文件下这样写,可生成普通的jar包:jar或者,不写,因为packaging默认打包类型为

  • #ZipLib可以用于闭源软件

    #ZipLib可以用于闭源软件一直对各开源协议理解得不够透彻,对#ZipLib说的这段话:[quote]helibraryisreleasedundertheGPLwiththefollowingexception:Linkingthislibrarystaticallyordynamicallywithothermodulesismakingacombin…

  • Android动态改变布局

    Android动态改变布局

  • 模拟视频的接头的端口_网络摄像头改模拟接口

    模拟视频的接头的端口_网络摄像头改模拟接口这些接口均传输模拟信号一、CVBS(RCA接口)RCA接口是最简单、最原始的视频接口,也称做复合视频信号(CVBS)接口。他传输的是复合视频信号,传输介面是一根普通的视频线。一般由红、黄、白三色组成,黄色的为视频信号,白色的为左声道音频信号,红色的为右声道音频信号。注:RCA输入输出是车载功放最主要的音频输入和输出接口,当然还有其他接线柱等接口。车载功放…

    2022年10月31日
  • System setProperty(property,value)方法

    System setProperty(property,value)方法通常JDKd的运行参数设置为#forlinuxexportJAVA_OPTS=”$JAVA_OPTS-Dcode=BeiJing”#forwinsetJAVA_OPTS=%JAVA_OPTS% -Dcode=BeiJing相当于Java代码里面实现System.setProperty(“code”,”BeiJing”);同时,获取code的值则可以用下列

  • datagrip怎么安装(dg专业版注册码)

    !!!重点先上!!!今天在尝试使用DataGrip,第一次下载了最新的2018版本,后来发现注册码无法获取到(呵呵)。。。又迫于急切需要,对于非数据库开发人员,我觉得2017.2版本足够了(因为它刚好可以通过Licenseserver注册),所以就选择了这个版本!对于需要尝新使用更高版本的话,那就忽略本文的教程哈~1、下载2017.2版本(链接)2、安装后正常启动,进入填写注册码页面时,…

发表回复

您的电子邮箱地址不会被公开。

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