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

    文章

    881

    浏览量

    40300
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1706

    浏览量

    91515
收藏 人收藏

    评论

    相关推荐

    KeyStone架构串行外设接口(SPI)手册

    SPI(Serial Peripheral Interface)是一种高速、全双工、同步的串行通信协议,它允许微控制器与一个或多个外围设备进行通信SPI
    发表于 12-16 10:33 0次下载

    spi master接口的fpga实现

    前言 当你器件的引脚贼少的时候,需要主机和从机通信spi就派上了用场,它可以一对多,但只是片选到的从机能和主机通信,其他的挂机。 spi:serial peripheral inte
    的头像 发表于 11-16 10:35 354次阅读
    <b class='flag-5'>spi</b> master接口的fpga<b class='flag-5'>实现</b>

    DS1302芯片与FPGA之间SPI通信原理

    本文通过以DS1302芯片为基础,介绍该芯片与FPGA之间SPI通信原理,详细描述硬件设计原理及FPGA SPI接口驱动设计。
    的头像 发表于 10-24 14:16 416次阅读
    DS1302芯片与FPGA之间<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>原理

    基于Sitara平台的EtherCAT主从实现

    电子发烧友网站提供《基于Sitara平台的EtherCAT主从实现.pdf》资料免费下载
    发表于 09-30 11:46 5次下载
    基于Sitara平台的EtherCAT<b class='flag-5'>主从</b>站<b class='flag-5'>实现</b>

    利用Tl的智能高端开关实现SPI通信

    电子发烧友网站提供《利用Tl的智能高端开关实现SPI通信.pdf》资料免费下载
    发表于 09-24 09:28 0次下载
    利用Tl的智能高端开关<b class='flag-5'>实现</b><b class='flag-5'>SPI</b><b class='flag-5'>通信</b>

    单片机SPI通信实现

    在深入探讨单片机(如基于STM32、AVR、PIC等)如何通过SPI(Serial Peripheral Interface)进行通信之前,我们先概述SPI通信的基本原理,随后以STM
    的头像 发表于 09-09 17:00 496次阅读

    请问可以用FX3作为SPI的Master,通过GPIF II接口实现SPI通信吗?

    你好,我有一块 CYUSBKIT-003 电路板,我正在研究它。 1.为了学习GPIF II接口的使用,我想用FX3的GPIF II实现SPI通信。请问可以用FX3作为SPI的Mast
    发表于 05-29 07:46

    探索SPI单线传输模式中时钟线与数据传输的简化

    通信的简化需求也日益增加。在这种背景下,SPI的单线传输模式成为了一个备受关注的解决方案。 SPI协议概述 SPI协议是一种常用的同步串行通信
    的头像 发表于 05-28 18:26 1155次阅读

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

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

    STM8L151K4的SPI通信如何实现

    各位大师你们好!STM8L151K4的SPI通信如何实现,请大师提供IAR的测试程序供学习,谢谢。
    发表于 05-11 06:12

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

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

    具备自动主机唤醒功能且符合功能安全标准的汽车类SPI/UART通信接口BQ79600-Q1数据表

    电子发烧友网站提供《具备自动主机唤醒功能且符合功能安全标准的汽车类SPI/UART通信接口BQ79600-Q1数据表.pdf》资料免费下载
    发表于 03-21 16:06 0次下载
    具备自动主机唤醒<b class='flag-5'>功能</b>且符合<b class='flag-5'>功能</b>安全标准的汽车类<b class='flag-5'>SPI</b>/UART<b class='flag-5'>通信</b>接口BQ79600-Q1数据表

    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

    使用SC573的SPI2的通信功能,用逻辑分析仪观察SPI2的信号是怎么回事?

    我在使用SC573的SPI2的通信功能,在现有例程EEPROM_ReadWrite中将SPI1更换成SPI2在P3的几个引脚处测量
    发表于 01-11 07:08