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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • maven私库nexus2.14.1迁移到nexus3.1

    maven私库nexus2.14.1迁移到nexus3.1maven私库nexus2.14.1迁移到nexus3.1(含安装教程),亲测可用

    2022年7月18日
    15
  • SQL Server 中的逻辑读与物理读

    SQL Server 中的逻辑读与物理读

    2021年11月24日
    52
  • 如何创建conda环境_conda安装Python包

    如何创建conda环境_conda安装Python包Pycharm中如何使用新建的conda环境?

    2022年8月27日
    3
  • anconda pycharm_conda pytorch

    anconda pycharm_conda pytorchConda+Pycharm使用教程(Windows)如果你要决定用conda管理Python版本及包那么你有两个选择,安装Anaconda或者Miniconda,下面简单说明区别:Anaconda,包含了Python,Conda,以及一大堆实用的包(这里实用相对而言,numpy,pandas这类科学计算的包可能你并用不上)Miniconda,只是Python,Conda这里推荐使用Miniconda,就我个人而言,喜欢简单,值得一说的是如果你决定安装Miniconda或者Anacond

    2022年8月27日
    2
  • PR曲线和ROC曲线概念及其区别

    PR曲线和ROC曲线概念及其区别将测试样本的预测结果按照置信度排序,由高到低,卡个阈值作为正负样本的判定依据,阈值较高时,Precision比较大,阈值较低时,Recall较大。(推荐的话,想Precision较大,用户希望排名靠前的推荐是自己想要的,刑侦的话希望Recall较大,不错过一个犯人)知识点Precision=TP/(TP+FP)Recall=TP/(总的正样本)=TP/(TP+FN)#这个时候的TP…

    2022年6月15日
    36
  • goland最新激活码【永久激活】「建议收藏」

    (goland最新激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWN…

    2022年3月21日
    106

发表回复

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

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