SPI接口介绍

SPI接口介绍SPI接口的全称是”SerialPeripheralInterface”,即串行外围接口。SPI接口主要应用在EEPROM、FLASH、实时时钟、AD转换器,还有数字信号处理器和数字信号解码器之间。SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几十Mbps。S

大家好,又见面了,我是你们的朋友全栈君。

SPI接口的全称是”Serial Peripheral Interface”,即串行外围接口。SPI接口主要应用在EEPROM、FLASH、实时时钟、AD转换器,还有数字信号处理器和数字信号解码器之间。SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几十Mbps。

SPI接口主要有4根信号线,连接方式如下图所示:
(1)SCLK:串行时钟,用来同步数据传输,由主机输出;
(2)MOSI:Master Output Slave Input ,即主机输出,从机输入 数据线;
(3)MISO:Master Input Slave Output ,即主机输入,从机输出 数据线;
(4)SS: 片选线,低电平有效,由主机输出。主要是用在一个主机连接多个从机的情况,用来选择某一时刻跟主机进行通信的从机。
这里写图片描述

 根据不同的时钟极性(CPOL)及相位(CPHA)可以组合成4种工作模式:
(1) CPOL=0 ,CPHA=0
(2) CPOL=0 ,CPHA=1
(3) CPOL=1 ,CPHA=0
(4) CPOL=1 ,CPHA=1
CPOL时钟极性定义了时钟空闲状态时的电平,对传输协议没有太大影响。
CPOL=0 :时钟空闲状态时为低电平。
CPOL=1 :时钟空闲状态时为高电平。
CPHA时钟相位定义采样的时间:
CPHA=0 :在时钟的第一个跳变沿(上升沿或下降沿)进行采样。
CPHA=1 :在时钟的第二个跳变沿(上升沿或下降沿)进行采样。

SPI的4种工作模式如下图所示:
这里写图片描述
所以,在使用SPI通信时,主从机必须协商好使用哪种工作模式,只有工作模式一致才能正确的收发数据。
比如经常使用 CPOL=0 ,CPHA=0的这种工作模式:
主机不发送或接收数据时 CLK为低,在发送或接收数据时,产生周期性时钟,同时拉低片选信号,每个时钟的下降沿发送一位数据,在时钟的上升沿则采样一位数据。当接收或发送完数据后,拉高片选,拉低时钟信号。

总结:SPI通信时,数据的收发是在时钟不同的沿 同时 进行的。

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

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

(0)
上一篇 2022年6月18日 上午11:16
下一篇 2022年6月18日 上午11:16


相关推荐

  • linux如何安装node.js_centos安装nodejs

    linux如何安装node.js_centos安装nodejslinux环境:\n安装node环境和yarn工具详解

    2025年9月2日
    5
  • 路由器原理和路由协议介绍

    路由器原理和路由协议介绍1 前言路由器 Router 是连接两个或多个网络的硬件设备 在网络间起网关的作用 是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备 它能够理解不同的协议 例如某个局域网使用的以太网协议 因特网使用的 TCP IP 协议 这样 路由器可以分析各种不同类型网络传来的数据包的目的地址 把非 TCP IP 网络的地址转换成 TCP IP 地址 或者反之 再根据选定的路由算法把各数据包按最佳路线传送到指定位置 所以路由器可以把非 TCP IP 网络连接到因特网上 2 路由器的工作原理路由器是一种三层设备 是使

    2026年3月19日
    2
  • 阿里云的云服务器ECS和云虚拟主机有何区别?

    阿里云的云服务器ECS和云虚拟主机有何区别?阿里云的云服务器和云虚拟主机的共同点是都可以用来搭建网站,云服务器和云虚拟主机有很多相同之处,也有很多不同之处,云吞铺子从功能、价格、应用场景及优势几方面详细说明阿里云的云服务器和云虚拟主机之间的区别:一:云服务器ECS和虚拟主机的区别云服务器:虚拟的一台服务器,除了硬件摸不着外其他的功能和服务器一样,我们可以狭义的将云服务器ECS就看做一台物理服务器,ECS让用户拥有更多权限,用户可以在ECS上安装各种扩展插件实现各种功能,ECS需要有专业技术人员来维护。适合有技术实力、懂得服务器配置及维护的用户

    2022年6月25日
    43
  • clion激活_最新在线免费激活

    (clion激活)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月29日
    79
  • CompareTo Semantics[通俗易懂]

    CompareTo Semantics[通俗易懂]ForthepropertytypesotherthanBOOLEAN,NAME,PATHandBINARY,comparisonrelationsaredefinedintermsoftheresultofthecompareTomethodoninstancesV1andV2oftheJavaclasscorrespondingto

    2022年7月15日
    19
  • Android之AlertDialog的基础使用

    Android之AlertDialog的基础使用坦白说 AlertDialog 我在工作中用得并不多 因为 AlertDialog 的样式比较固定和呆板 为了和 App 的整体设计匹配 一般都是使用自定义的 Dialog 只有在要求不高时用一下 但是作为 Android 的基础控件之一 掌握它是十分有必要 网上相关的资料已经多如牛毛 一搜就有好几页 但我还是决定写一篇自己的博客 1 创建 AlertDialog 首先 我们来了解一下 AlertDialog 的大体创建顺

    2026年3月20日
    1

发表回复

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

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