什么是SPI?

更新时间:2023-11-25

什么是SPI

SPI,英文全称是:serial peripheral interface。即:串行外设接口。是计算机和嵌入式系统中常用的接口,用于促进微控制器与一个或多个外围集成电路(IC)之间的短距离通信。多条传输线或信号线连接SPI芯片,使微控制器能够与外设交换数据。

摩托罗拉在1980年代开发了SPI架构,以提供支持串行、同步和全双工通信的接口:
  • 串行。数据按顺序在单行上传输,一次一位。这与并行通信形成鲜明对比,在并行通信中,数据在多条线路上并行传输。串行接口布线更简单,可以支持更长的电缆,并且不易在电缆线之间产生串扰。
  • 同步。数据以连续的数据流传输,该数据流与发射器和接收器使用的定时信号协同工作。相比之下,异步传输可以是随机的或不规则的,并且不依赖于公共时钟。与异步通信相比,同步通信速度更快,偷听次数更少。
  • 全双工。 数据可以同时在两个方向上传输。这与半双工通信形成鲜明对比,半双工通信支持双向通信,但一次只有一个节点传输数据。
SPI的数据传输方法类似于Microwire,这是NationalSemiconductor的旧接口。SPI和Microwire都支持串行和同步通信。然而,Microwire仅限于半双工传输,而SPI可以提供全双工传输。Microwire芯片有时被认为是SPI芯片的一个子集。
SPI控制器可以在多种类型的外围设备之间传输数据,包括移位寄存器、存储芯片、输入/输出扩展器、SD存储卡、数据转换器、闪存、多媒体卡、传感器甚至其他微控制器。

SPI工作原理

SPI元件通常采用4线配置实现。每根电线在控制器和外围设备之间传输特定类型的信号。用于描述此配置的命名约定因源而异。
最初的命名是基于主从架构的概念,在这种架构中,主站控制从站。科技行业一直在慢慢摆脱这个术语,以努力推广更具文化敏感性的语言。这种努力已经扩展到SPI,它通常被描述为主从接口。在这种情况下,主节点被替换为控制器、主节点或其他术语,从节点被外设、子节点或其他标签所取代。
开源硬件协会(OSHWA)在修订SPI标签方面发挥了重要作用。该组织建议业界使用以下术语来描述4线配置中的SPI信号:
  • 串行时钟(SCK)。控制器生成的时钟信号,用于提供使控制器和外设保持同步所需的定时信号。时钟也称为CLK、SCLK或其他术语。时钟标记没有随着新的命名约定而改变。
  • 外设输出/控制器输入(POCI)。将数据从外设传送到控制器的信号。直到最近,该信号通常被称为MISO(主输入/从输出)。在某些情况下,MISO指的是主节点输入/子节点输出。
  • 片选(CS)。当控制器需要与多个外设之一通信时,信号决定了应激活哪个外设。曾几何时,该信号通常被称为SS(从机选择)。
最简单的SPI配置由一个控制器和一个外设组成。时钟信号(SCK)、出站数据信号(PICO)和芯片选择信号将数据从控制器传输到外设,如图1所示。入站数据信号(POCI)将数据从外设传送到控制器。PICO和POCI信号线的加入使得支持全双工通信成为可能。
串行外设接口配置
图1:最简单的串行外设接口配置由控制器和外设组成。
控制器始终启动与外设的通信,并始终生成时钟信号。控制器和外设之间的数据传输与时钟同步。每个时钟周期传输一个数据位,因此时钟频率越快,数据传输速率越高。由于控制器生成时钟,因此它控制数据流。
单个控制器可以与多个外围设备进行通信。支持多外设配置有两种基本方法:标准配置和菊花链配置。在标准配置中,SCK、PICO和POCI信号线是共用的,但芯片选择线不是共用的。相反,控制器为每个外设提供单独的芯片选择线,在控制器和外设之间建立直接连接,如图2所示。
最简单的标准串行外设接口配置
图2:最简单的标准串行外设接口配置示例。
当外设空闲时,芯片选择线通常设置为高电压电平,在这种情况下,通过将芯片选择线设置为低电压电平来启用外设。一次只能使能一个外设,以避免共享信号线上的数据争用。
菊花链配置采用不同的方法。控制器仅提供一条芯片选择线,该线由所有外设共享。数据本身从控制器从一个外设移动到下一个外设,沿着链向下级联。只有最后一个外设将数据返回给控制器,如图3所示。
菊花链最简单的串行外设接口配置
图3:菊花链最简单的串行外设接口配置示例。
标准4线配置的一种变体是3线方法。在此设置中,PICO和POCI线路组合成一条支持双向通信的信号线。OSHWA将此线路称为串行数据输入/输出(SDIO)。由于采用共享线路,因此3针配置仅支持半双工通信,类似于Microwire。

下一篇

SBC是什么-企业为什么需要SB以及应用场景

通信百科

SBC是什么-企业为什么需要SB以及应用场景

sbc一种NAT穿透的方式。SBC可确保VoIP 安全,又可提供媒体代理服务器的套件。SBC架构于IMS网络之上,可作为IMS网络的SIP和RTSP的 Proxy Server,所有的SIP与RTSP讯息都会透过SBC来处理,SBC更具备N... ...

相关内容

什么是骨传导耳机?

什么是骨传导耳机?

骨传导耳机(有时称为“骨耳机”)是通过用户头骨中的骨骼而不是耳道传输声波的耳机。......

通信百科

2023-11-25

大数据工程师

大数据工程师

大数据工程师是信息技术 (IT) 专业人员,负责设计、构建、测试和维护处理大型数......

通信百科

2023-11-24

什么是BGP?

什么是BGP?

BGP(边界网关协议)是启用互联网全球路由系统的协议。它通过在边缘路由器之间交换......

通信百科

2023-11-24