0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SPI通信总线的原理及工作过程简单分析

Q4MP_gh_c472c21 来源:未知 作者:邓佳佳 2018-03-08 09:39 次阅读

概况:

SPI, 串行外围设备接口。高速的,全双工的,同步通信总线。有四个引脚:SDI(数据输入),SDO(数据输出),SCLK(时钟),CS(片选)。

应用:

常作为单片机外设芯片串行扩展接口,主要应用于EEPROM,FLASH,实时时钟AD转换器数字信号处理器和数字信号解码器之间。

通信原理:

以主从方式工作

MOSI(SDO):主器件数据输出,从器件数据输入。

MISO(SDI):主器件数据输入,从器件数据输出。

SCLK :时钟信号,由主器件产生。

SPI串行传输,数据一位一位从MSB或LSB开始传输,产生相应的脉冲沿时,MOSI,MISO才进行数据传输。

CS:从器件使能信号,由主器件控制。

CS控制芯片是否被选中,只有片选信号为实现约定的使能信号时(高电位或地电位),对此芯片的操作才有效,这也就允许同一总线上连接多个SPI设备。

工作过程:

SPI可以用全双工通信方式同时发送和接收8(16)位数据,过程如下:

主机启动发送过程,送出时钟脉冲信号——>主移位寄存器的数据通过SDO移入到从移位寄存器,同时从移位寄存器中的数据通过SDI移人到主移位寄存器中——>8(16)个时钟脉冲过后,时钟停顿,主移位寄存器中的8(16)位数据全部移人到从移位寄存器中,随即又被自动装入从接收缓冲器中,从机接收缓冲器满标志位(BF)和中断标志位(SSPIF)置“1”。同理,从移位寄存器中的8位数据全部移入到主寄存器中,随即又被自动装入到主接收缓冲器中.主接收缓冲器满标志位(BF)和中断标志位(SSPIF)置“1”——>主CPU检测到主接收缓冲器的满标志位或者中断标志位置1后,就可以读取接收缓冲器中的数据。同样,从CPU检测到从接收缓冲器满标志位或中断标志位置1后,就可以读取接收缓冲器中的数据,这样就完成了一次相互通信过程。

SPI总线接口及时序

SPI输出串行同步时钟极性和相位可以根据外设工作要求进行配置。

若CPOL = 0,串行同步时钟的空闲状态为低电平;

若CPOL = 1,串行同步时钟的空闲状态为高电平;

时序如下

若CPHA = 0,在串行同步时钟的第一个跳变沿(上升或下降)数据将被采样;

若CPHA = 1,在串行同步时钟的第二个跳变沿(上升或下降)数据将被采样;

时序如下:

SPI主模块与与之通信的外设空闲状态的极性和时钟相位应该一致。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1614

    浏览量

    89586

原文标题:SPI通信总线的原理及工作过程简单分析

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    光纤传输信息时的工作过程

    光电转换工作过程如下: 变频器主控芯片将驱动IGBT开关的信息由电信号信号转换成光信号,请问这个转换过程是通过什么电路完成的,而且传输驱动信息时是同一相的上下桥臂同时发送的,在发送端是怎么组合驱动
    发表于 02-03 11:33

    蓝牙串口通讯总线——I2C/SPI/UART

    嵌入式工程师在做串口通信调试工作的时候,会经常用到I2C、SPI、UART这3条总线,I2C、SPI、UART这三种
    的头像 发表于 01-22 09:41 386次阅读
    蓝牙串口通讯<b class='flag-5'>总线</b>——I2C/<b class='flag-5'>SPI</b>/UART

    BUCK-BOOST 拓扑电源原理及工作过程解析

    BUCK-BOOST 拓扑电源原理及工作过程解析
    的头像 发表于 11-24 17:47 1217次阅读
    BUCK-BOOST 拓扑电源原理及<b class='flag-5'>工作过程</b>解析

    Cuk 拓扑电源原理及工作过程解析

    Cuk 拓扑电源原理及工作过程解析
    的头像 发表于 11-24 17:32 467次阅读
    Cuk 拓扑电源原理及<b class='flag-5'>工作过程</b>解析

    Zeta拓扑电源原理及工作过程解析

    Zeta拓扑电源原理及工作过程解析
    的头像 发表于 11-24 17:18 1386次阅读
    Zeta拓扑电源原理及<b class='flag-5'>工作过程</b>解析

    反离激隔式开关电源的工作过程

    反激隔离式开关电源的工作过程
    的头像 发表于 11-23 17:28 370次阅读
    反离激隔式开关电源的<b class='flag-5'>工作过程</b>

    STM8的SPI总线支持最大通信速度是多少?

    STM8的SPI总线支持最大通信速度是多少
    发表于 10-10 07:55

    SPI总线学习笔记

    SPI是一种全双工的串行通信总线,最早由Motorola提出,虽然应用广泛,但没有一个统一的总线标准。相较于IIC总线
    发表于 09-20 15:17 502次阅读
    <b class='flag-5'>SPI</b><b class='flag-5'>总线</b>学习笔记

    SPI总线通信例程

    ,由从机向主机发送数据的通道 SPI工作基于移位寄存器:为实现数据传输或数据接收,主设备和从设备包含了专用的移位寄存器,通常是8位或16位。工作过程就像一个环形传送带:由主机逐位将数据放在传送带
    发表于 08-16 06:05

    什么是SPISPI通信的4种工作模式

    SPI的英文全称为Serial Peripheral Interface,顾名思义为串行外设接口。SPI是一种同步串行通信接口规范,主要应用于嵌入式系统中的短距离通信。该接口由摩托罗拉
    的头像 发表于 08-11 09:22 3117次阅读
    什么是<b class='flag-5'>SPI</b>?<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>的4种<b class='flag-5'>工作</b>模式

    STM32的SPI控制器实现SPI

    SPI是一种高速的,全双工,同步的通信总线,原理和使用简单,占用引脚资源少,是一种常用的通信方式。STM32通常有2~3个
    发表于 07-22 11:47 1783次阅读
    STM32的<b class='flag-5'>SPI</b>控制器实现<b class='flag-5'>SPI</b>

    无桥PFC电路工作过程详解

    无桥PFC在一个工频周期内根据输入电压的极性可分为两个阶段:正半工作周期和负半工作周期。图4所示为输入工频正半周期的无桥PFC的工作过程,当开关管S1和S2开通时,输入AC+、L1、S1、S2、L2
    发表于 06-25 09:18 1867次阅读
    无桥PFC电路<b class='flag-5'>工作过程</b>详解

    SPI总线协议的基础知识

    SPI,是英语 Serial Peripheral Interface 的缩写顾名思义就是串行外围设备接口。SPI是一种高速的,全双工,同步的通信总线, 并且在芯片的管脚上只占用四根线
    发表于 06-07 15:40 4258次阅读
    <b class='flag-5'>SPI</b><b class='flag-5'>总线</b>协议的基础知识

    UART接收的工作过程

    UART 全称为 Universal Asynchronous Receiver/Transmitter,译为通用异步收发传输器。它是一种通用串行数据总线,将数据在串行通信与并行通信之间进行转换,用于异步
    发表于 05-29 16:20 990次阅读
    UART接收的<b class='flag-5'>工作过程</b>

    串行通信SPI总线的详解分析

      SPI(Serial Peripheral Interface)总线系统是一种同步串行外设接口,可以是MCU与各种外围设备以串行方式进行通信以交换信息,该接口一般使用4条线:串行时钟线(SCLK
    的头像 发表于 05-05 16:40 3113次阅读
    串行<b class='flag-5'>通信</b><b class='flag-5'>SPI</b><b class='flag-5'>总线</b>的详解<b class='flag-5'>分析</b>