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

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

3天内不再提示

SPI通信协议原理讲解

dytfki8u8yql 来源:电子技术控 2023-01-10 14:09 次阅读

SPI通信协议由摩托罗拉公司于20世纪80年代中期开发而成,包括SD卡、液晶显示器、一般闪存等等都在使用SPI进行通信。

SPI作为串行通信接口脱颖而出的原因很多,全双工比I2C传输速率更高,推挽输出接口能够减少走线分叉,能够保证在高速传输下信号的完整性,传输协议更加灵活,信息帧大小可以任意调节,不需要上拉电阻,功耗可以更低,外围电路和软件配置都更简单。

同时SPI的缺点也很明显,SPI通常仅支持一个主设备,传输距离短,一般只适合板内信号传输,没有硬件级别的错误检查协议,无法内部寻址,多重设备时需要额外的片选信号线。

bb4ea60e-909e-11ed-bfe3-dac502259ad0.jpg

SPI总线包括四条逻辑线

bb6f16fa-909e-11ed-bfe3-dac502259ad0.jpg

SPI有两种接线方式,第一种是常规的独立从机配置,每个从机都需要一条单独的CS线,当主机要和特定的从机进行通讯时,将相应的CS信号线拉低,并保持其他CS信号线为高。

同时因为从机的MISO引脚在同一条信号线上,因此要求未被选择的从机的MISO引脚要配置为高阻态输出。

SP的第二种接线方式为菊花链配置,我们一般将信号线以串行的方式从一个设备依次传到下一个设备,直到数据到达目标设备的数据传输方式称为菊花链。

菊花链最大的缺点是如果从机出现单点故障时,低于该设备优先级的从机就掉线了,距离主机越远的从机获得服务的优先级就越低。如果需要设置从线检测器并安排好从今优先级。

如果某个从机超时并及时处理,防止单点故障造成整个链路崩溃。

菊花链模式充分使用了SPI移位寄存器的功能,每个从机在下一个时钟周期将输入数据复制到输出。

SPI可以根据时钟极性CKP和时钟向性CKE配置前四种模式。

CKP用来配置时钟的默认状态,CP=0时空闲电平为低,电平0,CKP=1时空闲电平为高,电平1。

bb8b4ed8-909e-11ed-bfe3-dac502259ad0.jpg

CKE用来配置在哪个时钟边沿进行数据采样,CKE=0时,在时钟信号SCK的第一个跳变沿采样,CT=1时,在时钟信号SCK的第二个跳变沿采样。

SPI是一种同步通信的总线协议,数据线根据不同的配置在时钟的上升沿或下降沿进行采样。

SPI通信的持续过程如下,主机先将对应从机的CS信号拉低,通知从机开始建立连接,数据接收端检测到时钟的边缘信号之后,就立即开始读取数据线上的信号。

bba42c50-909e-11ed-bfe3-dac502259ad0.jpg

因为SPI是全双工的,主机在发送数据的同时也在接收数据,主机可以通过查询的方式来判断从机是否有数据需要发送,如果有,主机会继续发送数据来获取从机想要发送的数据,之后从机只需要丢掉这些无效数据即可。

好了,以上就是SIP通信协议的全部内容,喜欢的话麻烦大家点赞收藏哦。

审核编辑 :李倩

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

    关注

    28

    文章

    858

    浏览量

    40269
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1701

    浏览量

    91335
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1481

    浏览量

    123306

原文标题:2022年SPI通信协议原理讲解

文章出处:【微信号:电子技术控,微信公众号:电子技术控】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    常用的串口通信协议SPI协议简析

    SPI(serial peripheral interface)也是一种同步串行通信协议。这里为啥要说“也”呢,回想上一篇介绍的PS/2不也是同步串行通信协议吗。SPI由一个主设备和
    发表于 07-07 09:33 4220次阅读

    fpga与spi通信协议

    fpga通过spi通信协议在与外围设备实现通信的过程中程序代码该怎么写?新手勿喷
    发表于 04-09 12:44

    SPI通信协议

    LOTO虚拟示波器采集到的数据波形并进行对比分析,方便大家的理解。SPI通信协议一般只需要四根线将主控芯片与从芯片连接起来,其中四根线分别为:(1)SDO– 主设备数据输出,从设备数据输入(2)SDI– 主设备数据输入,从设备数据输出(3)SCLK– 时钟信号,由主设备产
    发表于 08-09 07:49

    SPI是什么?SPI通信协议说明

    文章目录目录前言一、SPI是什么?二、SPI通信协议1.通信引脚说明2.通信格式说明3.实现形式4.三线制
    发表于 02-17 06:45

    SPI通信协议讲解相关资料推荐

    SPI通信协议讲解SPI通信概念SPI通信
    发表于 02-17 06:09

    SPI通信协议通信过程是怎样的?

    SPI通信协议通信过程是怎样的?
    发表于 02-17 06:52

    i.MX6ULL——ElfBoard ELF1板卡 之 SPI通信协议原理讲解

    —Slave)架构,支持一个或多个Slave设备。SPI接口主要应用在EEPROM、FLASH。 二、接口 SPI通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要
    发表于 12-01 15:03

    嵌入式学习——ElfBoard ELF1板卡 之SPI通信协议原理讲解

    —Slave)架构,支持一个或多个Slave设备。SPI接口主要应用在EEPROM、FLASH。 二、接口 SPI通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要
    发表于 12-01 15:05

    SPI通信协议及实例打包

    本文是SPI通信协议及实例打包分享。
    发表于 11-16 13:24 47次下载

    STM32 SPI通信协议详细讲解—小白入门

    文章目录(一)SPI协议简介(二)SPI物理层(三)SPI协议层3.1、SPI基本
    发表于 12-07 18:36 12次下载
    STM32 <b class='flag-5'>SPI</b><b class='flag-5'>通信协议</b>详细<b class='flag-5'>讲解</b>—小白入门

    SPI通信协议讲解

    SPI通信协议讲解SPI通信概念SPI通信
    发表于 12-22 19:19 26次下载
    <b class='flag-5'>SPI</b><b class='flag-5'>通信协议</b><b class='flag-5'>讲解</b>

    通信协议SPI

    STM32模拟SPI通信协议SPI的简介:SPI是串行外设接口的缩写,是一种高速的,全双工、同步的串行通信总线;
    发表于 12-22 19:20 22次下载
    <b class='flag-5'>通信协议</b>:<b class='flag-5'>SPI</b>

    通信协议SPI

    方便,所以越来越多的芯片集成了这种通信协议;二、寻址方式当主设备要和某个从设备进行通信时,主设备需要先向
    发表于 12-22 19:33 6次下载
    <b class='flag-5'>通信协议</b>(<b class='flag-5'>SPI</b>)

    Arduino UNO上的SPI通信协议

    电子发烧友网站提供《Arduino UNO上的SPI通信协议.zip》资料免费下载
    发表于 11-09 10:24 0次下载
    Arduino UNO上的<b class='flag-5'>SPI</b><b class='flag-5'>通信协议</b>

    SPI通信协议原理是什么

    Peripheral Interface,也就是串行外设接口,同样是一种通信协议,在很多芯片中都有集成。 相比之前学习的UART串口通信,他多了两根线,其中一个是时钟信号,另一个是设备使能信号,用来控制设备是否
    的头像 发表于 11-24 17:37 1026次阅读
    <b class='flag-5'>SPI</b><b class='flag-5'>通信协议</b>原理是什么