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

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

3天内不再提示

在全双工模式下的同步串行数据链路

电子设计 来源:网友电子设计发布 作者:网友电子设计发布 2021-11-23 10:43 次阅读

串行外设接口 (SPI) 总线是一个工作在全双工模式下的同步串行数据链路。它可用于在单个主控制器和一个或多个从设备之间交换数据。其简单的实施方案只使用四条支持数据与控制的信号线(图 1):

虽然表 1 中的引脚名称来自摩托罗拉开发的 SPI 标准,但具体集成电路的 SPI 端口名称往往与图 1 中所示的不同。

SPI 数据速率一般在 1 到 70MHz 的范围内,字长为从 8 位及 12 位到这两个值的倍数。

数据传输一般由数据交换构成。在主控制器向从设备发送数据时,从设备也向主控制器发送数据。因此主控制器的内部移位寄存器和从设备都采用环形设置(图 2)。

在数据交换之前,主控制器和从设备会将存储器数据加载至它们的内部移位寄存器。收到时钟信号后,主控制器先通过 MOSI 线路时钟输出其移位寄存器的 MSB。同时从设备会读取位于 SIMO 的主控器第一位元,将其存储在存储器中,然后通过 SOMI 时钟输出其 MSB。主控制器可读取位于 MISO 的从设备第一位元,并将其存储在存储器中,以便后续处理。整个过程将一直持续到所有位元完成交换,而主控器则可让时钟空闲并通过 /SS 禁用从设备。

除设置时钟频率外,主控制器还可根据数据配置时钟极性和相位。这两个分别称为 OPOL 与 CPHA 的选项可实现时钟信号 180 度的相移以及半个时钟周期的数据延迟。图 3 是相应的定时图。

CPOL = 0 时,时钟空闲在逻辑 0 位置上:

如果 CPHA = 0,数据在 SCK 的上升沿读取,在下降沿变化。

如果 CPHA = 1,数据在 SCK 的下降沿读取,在上升沿变化。

CPOL = 1 时,时钟在逻辑为高时空闲:

如果 CPHA = 0,数据在 SCK 的下降沿读取,在上升沿变化。

如果 CPHA = 1,数据在 SCK 的上升沿读取,在下降沿变化。

在 SPI 中,主控制器可与单个或多个从设备通信。如果是一个单从设备,从设备选择信号可连接至从设备的本地接地电位,实现永久接入。对使用多个从设备的应用,可使用两种配置:独立从设备与菊花链从设备(图 4)。

要与从设备单独通信,主控制器必须提供多重从设备选择信号。该配置通常用于必须单独访问多个模数转换器ADC) 及数模转换器DAC) 的数据采集系统中。

菊花链从设备只需要主控制器提供一个从设备选择信号,因为这种配置要求所有从设备同时启用,以确保数据不间断地流经该链路中的所有移位寄存器。典型应用是工业 I/O 模块中的级联多通道输入串行器与输出驱动器

责任编辑:haq

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

    关注

    112

    文章

    15239

    浏览量

    171243
  • 数据
    +关注

    关注

    8

    文章

    6514

    浏览量

    87610
  • 模拟
    +关注

    关注

    7

    文章

    1413

    浏览量

    83655
收藏 人收藏

    评论

    相关推荐

    使用STM32F072 USART单线半双工模式通信,只要打开IDLE中断就会一直触发IDLE中断怎么解决?

    使用STM32F072 USART单线半双工模式通信,想要利用DMA+IDLE方式接收不定长数据,发现只要打开IDLE中断,就会一直触发IDLE中断。有没有高手遇到过?怎么解决?
    发表于 04-22 06:18

    以太网中用交换机为什么能全双工传输呢?

    用交换机实现全双工传输的方法。 首先,我们需要了解全双工传输的概念。在计算机网络中,传输数据的方式可以分为半双工传输和全双工传输两种方式。半
    的头像 发表于 02-20 14:41 319次阅读

    IIC总线为什么是半双工

    IIC(Inter-Integrated Circuit)总线是一种半双工串行通信接口。在I2C总线上,主设备和从设备之间的数据传输是采用半双工模式进行的。这意味着主设备和从设备在不
    的头像 发表于 02-02 16:37 1907次阅读
    IIC总线为什么是半<b class='flag-5'>双工</b>?

    SPI全双工模式数据接收异常的一个原因

    前面给小伙伴讲过串口发送和接收异常的可能原因,今天我们讲下SPI全双工模式数据接收异常的一个原因。
    的头像 发表于 01-23 09:31 462次阅读
    SPI<b class='flag-5'>全双工模式</b>下<b class='flag-5'>数据</b>接收异常的一个原因

    请问ADuC360的SPI1口在从模式能否用DMA方式进行全双工通信?如何设置?

    请问ADuC360的SPI1口在从模式能否用DMA方式进行全双工通信?如何设置?是否Tx和Rx两个DMA中断都要启用?
    发表于 01-15 07:12

    双工全双工通信模式的比较

    双工全双工通信模式的比较  半双工全双工是两种不同的通信模式,在不同的通信需求下,它们各有
    的头像 发表于 01-09 14:00 755次阅读

    网络传输单工、半双工全双工的解读

    在网络传输中,数据在线路上的传送方式可以分为单工通信、半双工通信和全双工通信三种。
    的头像 发表于 11-24 16:33 1143次阅读
    网络传输单工、半<b class='flag-5'>双工</b>、<b class='flag-5'>全双工</b>的解读

    芯片设计中半双工全双工数据传输的区别

    在现代通信技术中,半双工全双工数据传输是两种常见的数据传输方式。本文将为大家详细解析这两种传输方式在芯片设计中的应用和区别,帮助大家更好地理解芯片设计中的通信原理。
    发表于 11-19 11:31 411次阅读

    AT32F4xx SPI使用全双工模式通讯

    AT32F4xx SPI使用全双工模式通讯演示AT32F403Axx SPI使用全双工模式通讯,其余系列的使用方式与此类似。
    发表于 10-27 07:27

    AT32F4xx SPI使用半双工模式通讯

    AT32F4xx SPI使用半双工模式通讯演示AT32F403Axx SPI使用半双工模式通讯,其余系列的使用方式与此类似
    发表于 10-27 06:22

    CW32L083的UART单线半双工模式介绍

    CW32L083的UART单线半双工模式介绍
    的头像 发表于 10-24 17:49 471次阅读
    CW32L083的UART单线半<b class='flag-5'>双工模式</b>介绍

    RS422是全双工通信还是半双工通信?

    RS422到底是全双工还是半双工
    发表于 10-12 06:15

    STM32F10x通信外设详解

    同步串行外设接口(SPI):由Motorola公司提出,是一种三线同步接口:同步信号、输入信号和输出信号。另外每个扩展芯片还需要一根片选线,主器件通过片选线选通与其通信的从器件。SPI
    发表于 09-13 07:16

    什么是单工,半双工双工通信?何为速率?

    全双工(Full Duplex)是指在发送数据的同时也能够接收数据,两者同步进行,这好像我们平时打电话一样,说话的同时也能够听到对方的声音。目前的网卡一般都支持
    的头像 发表于 07-08 09:07 1.1w次阅读
    什么是单工,半<b class='flag-5'>双工</b>,<b class='flag-5'>双工</b>通信?何为速率?

    NUC131的M0芯片UART能用半双工模式吗?

    新塘NUC131的M0的芯片,请问各路大神,串口能实现半双工模式吗?软件上怎么实现,底层如何配置?有事例代码否?急求!!!!
    发表于 06-14 11:04