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

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

3天内不再提示

如何实现 SPI通信的主从功能

电子设计 来源:IXYS 作者: Zilog 2021-06-17 17:31 次阅读

串行外设接口总线是一种以全双工方式运行的同步串行通信链路,这意味着设备同时发送和接收数据。这些设备作为主/从设备进行通信,其中主设备通过选择带有硬件线路的从设备来启动通信,并且还提供用于将数据位移入和移出从设备的同步时钟。

通信所需的信号是从选择(SS)、主输入从输出(MISO)、主输出从输入(MOSI)和串行时钟(SCK)。SPI 相对于其他通信协议的优势在于,寻址是在硬件中通过 SS 线执行的,从而可以更快地寻址设备,并且通信是全双工的,从而可以更快地传输数据(图 1)。

poYBAGDLFeGAIfUSAACRZh_L4Dg783.png

图 1 串行外设接口总线

SPI 通信开始于主机断言 SS 线。根据器件的不同,SS 线可能是高电平有效或低电平有效。在开始通信之前,主设备必须等待至少一个时钟周期。与 SS 线的活动极性非常相似,SS 激活后的等待时间因设备而异。例如,模数转换器可能要求主设备在其 SS 线被断言后等待转换完成。接下来,主机将开始将数据移出 MOSI 线,并将数据移入 MISO。数据始终以全双工方式传输,即使该数据没有意义。例如,为了让主设备从从设备接收 24 位数据,它还必须向从设备发送 24 位数据(图 2 和图 3)。

poYBAGDLFe-AXrSeAADM29Ru7mg680.png

图 2 阶段 0 时序

poYBAGDLFfyADYktAAC9mQ9UkTs544.png

第一阶段时间

没有关于使用哪个时钟边沿来发送和接收数据的标准,因此根据时钟极性和时钟相位,有四种可能的操作模式。请参阅下面图 4 中的表格。

SPI 模式

pYYBAGDLFgaAfCfVAAClSNaluB4937.png

图 4 SPI 模式

以模式 1 为例,主机将在 SCK 线为低电平时空闲总线。当主机将 SCK 线推高时,它也会将最高有效位放在 MOSI 线上。同时,Slave 将把最重要的放在 MISO 线上。接下来,Master 拉动 SCK 线并从 MISO 线上的 Slave 读取稳定位。同时,Slave 在 MOSI 线上读取 Master 生成的稳定位。当 SS 线路停用时,通信终止,因此它必须在整个通信帧期间保持活动状态。

编辑:hfy

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

    关注

    28

    文章

    774

    浏览量

    39963
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1625

    浏览量

    89982
收藏 人收藏

    评论

    相关推荐

    I2C、SPI、UART的通信过程还可以这样理解

    到目前为止,I2C、SPI和UART等仍然是电子嵌入式设备中最常用的通信协议,本文,我们将剖析这三种协议,让大家清楚、直观的了解它们的功能、优点和局限性,并辅以GIF动图展示。一、IIC协议I2C
    的头像 发表于 05-23 08:10 878次阅读
    I2C、<b class='flag-5'>SPI</b>、UART的<b class='flag-5'>通信</b>过程还可以这样理解

    逼真动画展示I2C、SPI、UART的通信过程

    到目前为止,I2C、SPI和UART等仍然是电子嵌入式设备中最常用的通信协议,本文,我们将剖析这三种协议,让大家清楚、直观的了解它们的功能、优点和局限性,并辅以GIF动图展示。I2C协议I2C是一种
    的头像 发表于 04-12 08:27 532次阅读
    逼真动画展示I2C、<b class='flag-5'>SPI</b>、UART的<b class='flag-5'>通信</b>过程

    SPI双机通信有极低概率丢帧要如何处理?

    SPI主从通信主从站用的是相同的板子,主站采用定时器触发中断发收,从站也采用中断触发发收,未使用DMA,可以正常通信收发数据,
    发表于 03-18 06:07

    PSoC6 SPI主从通信异常的原因?

    两块PSoC6 BLE Pioneer Kit CY8CKIT-062-BLE 开发板,都烧录CE22112001 - Low_Level_DMA_SPI_Master工程,每个板子各自短接主从
    发表于 02-18 08:58

    SPI通信协议原理是什么

    UART串口通信中的数据只能一位一位的传输,如果数据量比较大的时候,传输速率会受到很大影响,此时我们就可以考虑使用同步串行通信了,比如SPISPI
    的头像 发表于 11-24 17:37 570次阅读
    <b class='flag-5'>SPI</b><b class='flag-5'>通信</b>协议原理是什么

    基于单片机的主从红外通信的系统设计

    电子发烧友网站提供《基于单片机的主从红外通信的系统设计.pdf》资料免费下载
    发表于 11-16 15:56 4次下载
    基于单片机的<b class='flag-5'>主从</b>红外<b class='flag-5'>通信</b>的系统设计

    SPI上拉合不上拉的区别 UART和SPI的主要区别

     使用SPI接口时,需要根据具体的外设和系统需求来配置SPI的参数,如通信速度、数据位宽、主从模式等。主设备通过操作SPI相关的寄存器或调用
    的头像 发表于 11-10 16:47 5611次阅读

    CW32的SPI单工模式主从通信介绍

    CW32的SPI单工模式主从通信介绍
    的头像 发表于 10-24 15:50 468次阅读
    CW32的<b class='flag-5'>SPI</b>单工模式<b class='flag-5'>主从</b><b class='flag-5'>通信</b>介绍

    基于单片机的USB主从机的设计与实现

    电子发烧友网站提供《基于单片机的USB主从机的设计与实现.pdf》资料免费下载
    发表于 10-19 10:54 0次下载
    基于单片机的USB<b class='flag-5'>主从</b>机的设计与<b class='flag-5'>实现</b>

    如何使用RS232转SPI实现串口和SPI接口的转换?

    如何使用RS232转SPI实现串口和SPI接口的转换? RS232转SPI是一种将串口和SPI接口进行转换的技术,通常在需要将串口设备连接到
    的头像 发表于 09-14 17:52 1429次阅读

    SPI总线通信例程

    SPI原理简介 ​SPI是一种主从式的总线通信,通常是“一主一从”或“一主多从”,但如果能保证系统中任意时刻只有一个处于激活状态的主设备,也可以通过时分
    发表于 08-16 06:05

    SPI双机通信有极低概率丢帧是什么原因?如何处理?

    SPI主从通信主从站用的是相同的板子,主站采用定时器触发中断发收,从站也采用中断触发发收,未使用DMA,可以正常通信收发数据,
    发表于 08-07 08:01

    标准4线SPI四根线有哪些

    SPI hardware SPI:Serial Perripheral Interface,串行外围设备接口,由 Motorola 公司提出,是一种高速、全双工、同步通信总线。SPI
    的头像 发表于 07-27 10:26 5479次阅读
    标准4线<b class='flag-5'>SPI</b>四根线有哪些

    STM32F1的SPI模块协议介绍

    SPI是是一种高速的,全双工,同步的总线通信方式。STM32F1低中容量设备的SPI模块支持主从两种模式。
    的头像 发表于 07-24 15:32 2373次阅读
    STM32F1的<b class='flag-5'>SPI</b>模块协议介绍

    FTTR主网关开通后实现主从网关组网呢?

    FTTR主网关开通后,如何开通从网关,实现主从网关组网呢?
    的头像 发表于 07-19 09:09 3118次阅读
    FTTR主网关开通后<b class='flag-5'>实现</b><b class='flag-5'>主从</b>网关组网呢?