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

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

3天内不再提示

支持SPI的开关和多路复用器减少设计数字GPIO数量

星星科技指导员 来源:嵌入式计算设计 作者:Michal Raninec 2022-11-29 17:36 次阅读

串行外设接口 (SPI) 是微控制器和外设 IC(如传感器ADCDAC、移位寄存器、SRAM 等)之间使用最广泛的接口之一。SPI是一个同步的、全双工的主从接口。来自主站或从站的数据在时钟上升沿或下降沿同步。主站和从站都可以同时传输数据。SPI 接口可以是 3 线或 4 线。

本文简要介绍了4线SPI接口,然后介绍了支持SPI的开关和多路复用器,它们有助于减少系统板设计中的数字GPIO数量。

界面

poYBAGOF07qALLDEAADwwLfoUpY550.png

图1.

带主站和从站的SPI配置。

4线SPI器件有四个信号

时钟 (SPI CLK, SCLK)

芯片选择 (CS)

主出,从入(MOSI)

主进从出(味噌)

产生时钟信号的设备称为主设备。主站和从站之间传输的数据与主站生成的时钟同步。与 I2C 接口相比,SPI 器件支持更高的时钟频率。用户应查阅产品数据手册,了解SPI接口的时钟频率规格。

SPI接口只能有一个主接口,并且可以有一个或多个从机。图1显示了主机和从设备之间的SPI连接。

来自主机的片选信号用于选择从机。这通常是一个低电平有效信号,被拉高以断开从机与SPI总线的连接。当使用多个从站时,需要来自主机的每个从站单独的片选信号。在本文中,片选信号始终为低电平有效信号。

MOSI和MISO是数据线。MOSI将数据从主设备传输到从设备,MISO将数据从从设备传输到从设备。

数据传输

要开始SPI通信,主机必须发送时钟信号并通过使能CS信号来选择从机。通常片选是低电平有效信号;因此,主站必须在此信号上发送逻辑 0 以选择从站。

SPI 是一个全双工接口;主站和从站可以分别通过MOSI和MISO线路同时发送数据。在SPI通信期间,数据同时被发送(串行移出到MOSI/SDO总线上)和接收(总线(MISO/SDI)上的数据被采样或读入)。串行时钟边沿同步数据的移位和采样。SPI接口使用户能够灵活地选择时钟的上升沿或下降沿来采样和/或转换数据(请参阅器件数据手册以确定使用SPI接口传输的数据位数)。

时钟极性和时钟相位

在SPI中,主机可以选择时钟极性和时钟相位。CPOL 位设置空闲状态下时钟信号的极性。空闲状态定义为 CS 在传输开始时为高并过渡到低电平的时间段,以及当 CS 为低并在传输结束时过渡到高电平的时间段。CPHA位选择时钟相位。

根据CPHA位,上升或下降时钟边沿用于采样和/或移位数据。主机必须根据从机的要求选择时钟极性和时钟相位。根据CPOL和CPHA位选择,有四种SPI模式可用。表1显示了四种SPI模式。

SPI
模式
中波尔 注册会计师协会 空闲状态下的时钟极性 用于采样和/或转换数据的时钟相位
0 0 0 逻辑低电平 数据在上升沿采样,在下降沿移出
1 0 1 逻辑低电平 数据在下降沿采样,在上升沿移出
2 1 1 逻辑高电平 数据在下降沿采样,在上升沿移出
3 1 0 逻辑高电平 数据在上升沿采样,在下降沿移出

表 1.

具有CPOL和CPHA的SPI模式

图2至图5显示了四种SPI模式下的通信示例。在这些示例中,数据显示在 MOSI 和 MISO 行上。传输的开始和结束用绿色虚线表示,采样边缘用橙色表示,移位边缘用蓝色表示。(请注意,这些数字仅供说明之用。为了成功进行SPI通信,用户必须参考产品数据手册,并确保满足器件的时序规格)。

pYYBAGOF01KAIxfjAAEzpQXyt3g350.png

图2.

SPI 模式 0,CPOL = 0,CPHA = 0:CLK 空闲状态 = 低电平,数据在上升沿采样,在下降沿移动。

图3显示了SPI模式1的时序图。在此模式下,时钟极性为0,表示时钟信号的空闲状态为低电平。此模式下的时钟相位为1,表示数据在时钟信号的下降沿(由橙色虚线表示)上采样,数据在时钟信号的上升沿(由蓝色虚线表示)上偏移。

pYYBAGOF01mASrJOAADfhd1qne8884.png

图3.

SPI 模式 1,CPOL = 0,CPHA = 1:CLK 空闲状态 = 低电平,数据在下降沿采样并在上升沿移动。

图4显示了SPI模式2的时序图。在此模式下,时钟极性为1,表示时钟信号的空闲状态为高电平。此模式下的时钟相位为1,表示数据在时钟信号的下降沿(由橙色虚线表示)上采样,数据在时钟信号的上升沿(由蓝色虚线表示)上偏移。

poYBAGOF02CAaYUcAADkWeoDUdQ975.png

图4.

SPI 模式 2,CPOL = 1,CPHA = 1:CLK 空闲状态 = 高电平,数据在下降沿采样并在上升沿移动。

图5显示了SPI模式3的时序图。在此模式下,时钟极性为1,表示时钟信号的空闲状态为高电平。此模式下的时钟相位为0,表示数据在时钟信号的上升沿(由橙色虚线表示)上采样,数据在时钟信号的下降沿(由蓝色虚线表示)上偏移。

pYYBAGOF02eANZB-AAEJ6uE4Kz8141.png

图5.

SPI 模式 3,CPOL = 1,CPHA = 0:CLK 空闲状态 = 高电平,数据在上升沿采样,在下降沿移动。

多从配置

多个从站可以与单个SPI主机一起使用。从站可以以常规模式或菊花链模式连接。

poYBAGOF022Ad1gOAAEHar-Ud9k533.png

图6.

多从SPI配置。

常规 SPI 模式

在常规模式下,需要从主机为每个从站单独选择芯片。一旦片选信号被主器件使能(拉低),MOSI/MISO线路上的时钟和数据就可供所选从机使用。如果使能多个片选信号,MISO线路上的数据就会损坏,因为主机无法识别哪个从机正在传输数据。

从图6可以看出,随着从站数量的增加,来自主机的片选线数量也会增加。这可以快速增加主站所需的输入和输出数量,并限制可以使用的从站数量。有不同的技术可用于增加常规模式下的从站数量;例如,使用多路复用器生成片选信号。

菊花链法

在菊花链模式下,从站的配置使得所有从站的片选信号连接在一起,数据从一个从站传播到下一个从站。在这种配置中,所有从站同时接收相同的SPI时钟。来自主站的数据直接连接到第一个从站,该从站向下一个从站提供数据,依此类推。

在这种方法中,当数据从一个从站传播到下一个从站时,传输数据所需的时钟周期数与菊花链中的从站位置成正比。例如,在图7中,在8位系统中,数据在第三个从机上可用需要24个时钟脉冲,而在常规SPI模式下只有8个时钟脉冲。

poYBAGOF03SAPLb3AAA2ijnYfPg461.png

图7.

多从SPI菊花链配置。

图8显示了通过菊花链传播的时钟周期和数据。并非所有 SPI 器件都支持菊花链模式(请参阅产品数据表以确认菊花链是否可用)。

poYBAGOF03uAEpVuAAHOo2aWVRE409.png

图8.

菊花链配置:数据传播。

支持 SPI 的交换机和多路复用器

支持SPI的最新一代开关可显著节省空间,而不会影响精密开关性能。本文的这一部分讨论一个案例研究,说明支持 SPI 的交换机或多路复用器如何显著简化系统级设计并减少所需的 GPIO 数量。

ADG1412是一款四通道、单刀单掷(SPST)开关,需要将四个GPIO连接到每个开关的控制输入端。图9显示了微控制器和一个ADG1412之间的连接。

pYYBAGOF04GAOBGlAAD57t2S9IQ591.png

图9.

微控制器 GPIO 作为开关的控制信号。

随着电路板上开关数量的增加,所需的 GPIO 数量显著增加。

例如, 在 设计 测试 仪器 系统 时, 会 使用 大量 开关 来 增加 系统 中 的 通道 数量。在4×4交叉点矩阵配置中,使用四个ADG1412。该系统将需要 16 个 GPIO,限制了标准微控制器中可用的 GPIO。

图10显示了使用微控制器的16个GPIO连接四个ADG1412的过程。

poYBAGOF04mAR-3LAACP7RRT_RM411.png

图 10.

在多从配置中,所需的 GPIO 数量大大增加。

减少 GPIO 数量的一种方法是使用串行至并行转换器,如图 11 所示。该器件输出可连接到开关控制输入的并行信号,并且可通过串行接口SPI进行配置。这种方法的缺点是通过引入附加组件来增加物料清单。

poYBAGOF05OAa0WnAAChsYgC-SE924.png

图 11.

使用串行至并行转换器的多从开关。

另一种方法是使用 SPI 控制的开关。这种方法的优点是减少了所需的GPIO数量,还消除了额外的串行至并行转换器的开销。如图12所示,只需7个微控制器GPIO即可向4个ADGS1412提供SPI信号,而不是16个微控制器GPIO。

pYYBAGOF05mAK1KfAAA_IQBK6CI095.png

图 12.

支持 SPI 的开关可节省微控制器 GPIO。

交换机可以配置为菊花链配置,以进一步优化 GPIO 计数。在菊花链配置中,无论系统中使用的开关数量如何,主设备(微控制器)仅使用四个 GPIO。

图 13 用于说明目的。ADGS1412数据手册建议在SDO引脚上安装上拉电阻(有关菊花链模式的更多详细信息,请参阅ADGS1412数据手册)。

pYYBAGOF06CAdPzrAABA5A3VKNY134.png

图 13.

支持以菊花链形式配置的交换机,以进一步优化 GPIO。

为简单起见,此示例中使用了四个开关。随着系统中开关数量的增加,电路板简单和节省空间的好处是显著的。支持ADI SPI的开关采用4×8交叉点配置,6层板上有8个四通道SPST开关,可减少20%的整体电路板空间。

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

    关注

    48

    文章

    7475

    浏览量

    150984
  • 传感器
    +关注

    关注

    2548

    文章

    50580

    浏览量

    751545
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119955
收藏 人收藏

    评论

    相关推荐

    模拟开关多路复用器的性能与应用

    本文介绍了模拟开关多路复用器,这些模拟开关多路复用器可供工程师在布线和将模拟信号传递到调理电路时在电路板上使用。
    的头像 发表于 01-25 08:35 1.7w次阅读
    模拟<b class='flag-5'>开关</b>和<b class='flag-5'>多路复用器</b>的性能与应用

    你真的了解的模拟多路复用器开关的原理和应用吗?

    多路复用器开关的原理是什么?如何设计出模拟多路复用器开关解决方案
    发表于 03-11 07:46

    开关多路复用器的常见故障是什么?怎么解决?

    开关多路复用器的常见故障是什么?怎么解决?
    发表于 06-15 08:25

    组合逻辑基础之多路复用器设计

    1、组合逻辑基础之多路复用器设计多路复用器也叫数据选择器,如下图所示,是根据选择信号Sel的值从多个数据输入中选择其中一个进行输出,是数字系统中应用非常广泛的一种逻辑电路。如下是一个典型的四选一
    发表于 08-04 17:06

    具有8:1多路复用器的通用输入/输出(GPIO)扩展功能

    图1:具有8:1多路复用器的通用输入/输出(GPIO)扩展功能幸运的是,小尺寸的8:1多路复用器可提供相对简单的解决方案,如TMUX1308。当你想到小尺寸多路复用器时,可能会认为唯一
    发表于 11-07 07:07

    模拟开关多路复用器的基础参数

    作者:现场应用工程师 苏智超 Rock Su 在测试测量相关应用中,模拟开关多路复用器有着非常广泛的应用,例如运放的增益调节、ADC分时采集多路传感器信号等等。虽然它的功能很简单,但是仍然有很多
    发表于 11-08 07:02

    模拟开关多路复用器

    模拟开关多路复用器有哪些新的功能?模拟开关多路复用器正在扩展它们的应用范围,从工业和仪器仪表设备、通信基础设施到消费类电子设备(例如音视频接收机和手机,它
    发表于 07-05 15:47 91次下载

    复用器多路复用

    复用器多路复用  多路复用
    发表于 01-07 14:27 1182次阅读

    基于模拟开关多路复用器的应用基础知识

    CMOS是目前最流行的开关多路复用器IC工艺,但双极性工艺(JFET)和互补双极性工艺(也支持JFET)通常用于视频开关多路复用等特殊应
    发表于 09-06 16:15 24次下载
    基于模拟<b class='flag-5'>开关</b>和<b class='flag-5'>多路复用器</b>的应用基础知识

    模拟开关多路复用器基础知识

    模拟开关多路复用器基础知识
    发表于 09-19 08:37 40次下载
    模拟<b class='flag-5'>开关</b>和<b class='flag-5'>多路复用器</b>基础知识

    基础教程:模拟开关多路复用器基础知识

    这场基础教程介绍模拟开关多路复用器的结构,并且介绍它们的静态和动态参数,最后会告诉大家如何在ADI网站上在线选择模拟开关多路复用器
    的头像 发表于 06-04 01:47 8089次阅读

    开关多路复用器产品选型指南

    开关多路复用器产品选型指南
    发表于 03-21 09:42 15次下载
    <b class='flag-5'>开关</b>和<b class='flag-5'>多路复用器</b>产品选型指南

    如何改进开关/多路复用器LTspice模型

    如果我的模拟设计中包含开关多路复用器,那么还能改进开关/多路复用器LTspice模型吗?
    的头像 发表于 03-01 13:34 3371次阅读
    如何改进<b class='flag-5'>开关</b>/<b class='flag-5'>多路复用器</b>LTspice模型

    模拟开关多路复用器基础参数介绍

    模拟开关多路复用器基础参数介绍
    发表于 10-31 08:23 11次下载
    模拟<b class='flag-5'>开关</b>和<b class='flag-5'>多路复用器</b>基础参数介绍

    通过使用多路复用器实现基于SPI的闪存扩展

    电子发烧友网站提供《通过使用多路复用器实现基于SPI的闪存扩展.pdf》资料免费下载
    发表于 09-21 10:50 0次下载
    通过使用<b class='flag-5'>多路复用器</b>实现基于<b class='flag-5'>SPI</b>的闪存扩展