序列周边接口
编辑顺序列接口 (SPI) 是用于短距离通信的同步串行通信接口规范,主要用于嵌入式系统。 该接口由摩托罗拉在 20 世纪 80 年代中期开发,现已成为事实上的标准。 典型应用包括安全数字卡和液晶显示器。
SPI 设备使用主从架构以全双工模式通信,通常只有一个主设备。 主(控制器)设备发起用于读取和写入的帧。 可以通过使用单独的片选 (CS) 进行选择来支持多个从属设备,有时也称为从属选择 (SS) 线。
有时 SPI 被称为四线串行总线,与三线、两线和单线串行总线形成对比。 SPI可以准确地描述为同步串行接口,但它不同于同步串行接口(SSI)协议,后者也是一种四线同步串行通信协议。 SSI 协议采用差分信号并仅提供单一的单工通信通道。 对于任何给定的事务,SPI 都是一个主设备和多个从设备的通信。
界面
编辑SPI总线规定了四种逻辑信号:
- SCLK:串行时钟(从主机输出)
- MOSI:Master Out Slave In(主机的数据输出)
- MISO:Master In Slave Out(从机数据输出)
- CS /SS:芯片/从机选择(通常为低电平有效,从主机输出以指示正在发送数据)
主机上的 MOSI 连接到从机上的 MOSI。 主机上的 MISO 连接到从机上的 MISO。 从选择具有与芯片选择相同的功能,并且用于代替寻址概念。
注意:在仅从设备上,MOSI 可能被标记为 SDI(串行数据输入),而 MISO 可能被标记为 SDO(串行数据输出)
上面的信号名称可用于以明确的方式标记主设备和从设备引脚以及它们之间的信号线,并且是现代产品中最常见的。 引脚名称始终大写,例如 片选,不是片选。
许多产品可能具有非标准的 SPI 引脚名称:
串行时钟:
- SCK、SCLK、CLK、SCL
主输出 → 从输入 (MOSI):
- SIMO、MTSR——对应主从设备上的MOSI,相互连接
- SDI、DI、DIN、SI - 在从属设备上; 连接到主机上的 MOSI,或连接到以下连接
- SDO、DO、DOUT、SO - 在主设备上; 连接到 slave 上的 MOSI,或连接到上面的连接
主输入 ← 从输出 (MISO):
- SOMI, MRST - 对应主从设备上的MISO,相互连接
- SDO、DO、DOUT、SO - 在从属设备上; 连接到主机上的 MISO,或连接到以下连接
- SDI、DI、DIN、SI - 在主设备上; 连接到 slave 上的 MISO,或连接到上面的连接
从机选择:
- SS、SS、SSEL、NSS、/SS、SS#(从机选择)
- CS, CS(片选)
- CSN(片选/使能)
- CE(芯片使能)
操作
编辑SPI 总线可以与单个主设备以及一个或多个从设备一起运行。
如果使用单个从设备,如果从设备允许,SS 引脚可以固定为逻辑低电平。 一些从机需要片选信号的下降沿来启动一个动作。 一个例子是 Maxim MAX1242 ADC,它在高→低转换时开始转换。 对于多个从设备,每个从设备都需要来自主设备的独立 SS 信号。
大多数从设备都具有三态输出,因此当未选择设备时,它们的 MISO 信号变为高阻抗(电气断开)。 没有三态输出的设备在不使用外部三态缓冲器的情况下不能与其他设备共享 SPI 总线段。
数据传输
为开始通信,总线主机配置时钟,使用从设备支持的频率,通常高达几 MHz。 然后主设备选择在选择线上具有逻辑电平 0 的从设备。
如果需要等待时间,例如模数转换,主机必须至少等待这段时间才能发出时钟周期。
在每个 SPI 时钟周期内,都会发生全双工数据传输。 主机在 MOSI 线上发送一个位,从机读取它,而从机在 MISO 线上发送一个位,主机读取它。 即使只打算进行单向数据传输,也会保持此顺序。
传输通常涉及一些给定字长的两个移位寄存器,例如八位,一个在主机中,一个在从机中; 它们以虚拟环形拓扑连接。 数据通常首先移出最高有效位。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/195760/