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

    文章

    1866

    浏览量

    99810

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SPI优点

    应用的具体要求。其简单的设计和明确定义的通信协议简化了开发过程,减少了时间和精力。此外,许多微控制器提供内置 SPI 外设,无需额外的外部组件。 任意数据大小:
    发表于 11-26 07:42

    搞不定示波器SPI解码?这几步就行!

    观察和分析。这一期主要给大家演示一下SPI解码。演示过程首先打开触发菜单,将它的触发改为总线触发。转到主线设置菜单,打开总线,选择
    的头像 发表于 11-19 17:32 500次阅读
    搞不定示波器<b class='flag-5'>SPI</b>解码?这几步就行!

    RVMCU课堂「15」: 手把手教你玩转RVSTAR—SPI总线通信

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

    看完这篇,SPI其实也很简单嘛(可下载)

    首先我们来简单介绍一下SPISPI是串行外设接口(SerialPeripheralInterface)简单来讲就是它一种高速的,全双工,同步的通信
    发表于 03-26 14:29 2次下载

    如何使用ZPS-CANFD观察CAN数据链路层的工作过程

    也可以完成对CAN总线数据链路层工作过程的观察。什么是数据链路层在CAN总线应用中,物理层一致性测试成为各CAN总线厂家必测的校验任务,以此来保证
    的头像 发表于 03-18 11:38 752次阅读
    如何使用ZPS-CANFD观察CAN数据链路层的<b class='flag-5'>工作过程</b>

    使用H723的SPI6+BDMA组合,通信过程经常报UDR和OVR错误中断怎么解决?

    使用H723的SPI6+BDMA组合。通信过程经常报UDR和OVR错误中断。有时直接卡住,无法通信
    发表于 03-14 06:07

    对于一款新的BSP如何添加SPI驱动

    介绍SPI总线由开发,是一种,由四个IO口组成:CS、SCLK、MISO、MOSI;通常用于CPU和外设之间进行通信,常见的SPI总线设备有
    的头像 发表于 02-26 19:00 883次阅读
    对于一款新的BSP如何添加<b class='flag-5'>SPI</b>驱动

    不管是LTC6912还是AFE5801通过SPI总线对reg进行写的时候,在写的过程中,AFE5801还在工作状态吗?

    不管是LTC6912还是AFE5801通过SPI总线对reg进行写的时候,在写的过程中,AFE5801还在工作状态吗?被写的这个reg里的值是保持在上一时刻写入的数据还是不定态?现在
    发表于 02-11 07:24

    SPI通信总线概述和Verilog实现

    SPI = Serial Peripheral Interface,是串行外围设备接口,是一种高速,全双工,同步的通信总线
    的头像 发表于 02-07 14:28 1987次阅读
    <b class='flag-5'>SPI</b><b class='flag-5'>通信</b><b class='flag-5'>总线</b>概述和Verilog实现

    你知道什么是SPI吗?一文入门,简单易懂

    在现代电子设备中,数据传输的速度和效率至关重要。SPI(SerialPeripheralInterface,串行外围接口),作为一种同步串行数据总线,因其高效、全双工的特点而广泛应用于嵌入式系统
    的头像 发表于 02-05 17:22 8258次阅读
    你知道什么是<b class='flag-5'>SPI</b>吗?一文入门,<b class='flag-5'>简单</b>易懂

    SAR ADC的工作过程和关键指标

    ADC以其低功耗、高精度、小尺寸以及适中的速度和分辨率,在中等至高分辨率应用中占据主导地位。本文将详细介绍SAR ADC的概念、工作过程、关键指标以及其在不同领域的应用。
    的头像 发表于 02-02 13:57 2216次阅读

    恒流三极管的工作过程和电路结构

    恒流三极管是一种特殊的半导体器件,它在一定条件下能够提供稳定的电流输出,不受负载变化的影响。这种特性使其在多种电子电路中得到了广泛应用,如LED驱动电路、电池充电管理、电化学分析等。本文将深入探讨恒流三极管的工作过程和电路结构,以期为读者提供全面的技术理解。
    的头像 发表于 02-02 13:47 931次阅读

    I2C总线SPI总线的比较

    在现代电子系统中,微控制器与各种外设之间的通信是必不可少的。I2C和SPI是两种流行的串行通信协议,它们各自具有独特的特点和应用场景。 I2C总线 I2C是一种多主机、多从机的同步
    的头像 发表于 01-17 15:08 1714次阅读

    如何使用Arduino实现CAN总线通信

    ,这些是常见的CAN控制器芯片,可以通过SPI接口与Arduino通信。 CAN总线转接板 :用于将CAN控制器芯片与Arduino连接。 CAN总线终端电阻 :通常需要在
    的头像 发表于 12-23 09:06 2817次阅读

    CAN总线工作原理分析 CAN总线在汽车工业中的应用

    CAN总线工作原理分析 1. 概述 CAN总线是一种串行通信协议,由Bosch公司在1986年开发,主要用于汽车电子系统中。它允许多个设备共
    的头像 发表于 12-20 17:33 4479次阅读