4线SPI接口的简要介绍

串行外设接口(spi)是微控制器和外设ic之间使用最广泛的接口之一,如传感器、adc、dac、移位寄存器、sram等。spi 是一个基于同步、全双工主从的接口。来自主站或从站的数据在时钟上升沿或下降沿同步。主站和从站都可以同时传输数据。spi接口可以是3线或4线。
本文简要介绍了4线spi接口,并介绍了支持spi的开关和多路复用器,有助于减少系统板设计中数字gpio的数量。
界面
图 1.带主站和从站的 spi 配置。
4线spi器件有四个信号:
时钟(斯皮克力克、断续器)
芯片选择
主出,从入
主输入,从站输出 (miso)
产生时钟信号的设备称为主设备。主站和从站之间传输的数据与主站产生的时钟同步。与i2c接口相比,spi器件支持更高的时钟频率。用户应查阅产品数据手册,了解spi接口的时钟频率规格。
spi接口只能有一个主站,也可以有一个或多个从站。图1显示了主站和从站之间的spi连接。
来自主机的芯片选择信号用于选择从设备。这通常是一个低电平有效信号,并被拉高以断开从机与spi总线的连接。当使用多个从站时,每个从站都需要一个单独的芯片选择信号。在本文中,芯片选择信号始终是低电平有效信号。
数据线是数据线。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模式。
表 1.具有聚碳酸酯和聚碳酸酯的 spi 模式
图2至图5显示了四种spi模式下的通信示例。在这些示例中,数据显示在 mosi 和 miso 行上。传输的开始和结束由绿色虚线表示,采样边缘以橙色表示,偏移边缘以蓝色表示。(请注意,这些数字仅用于说明目的。为了成功进行spi通信,用户必须参考产品数据手册,并确保满足器件的时序规格。
图 2.spi 模式 0,cpol = 0,cpha = 0:clk 空闲状态 = 低电平,数据在上升沿采样,在下降沿移位。
图3显示了spi模式1的时序图。在此模式下,时钟极性为0,表示时钟信号的空闲状态为低。此模式下的时钟相位为1,表示数据在时钟信号的下降沿(由橙色虚线显示)上采样,数据在上升沿(由蓝色虚线显示)偏移。
图 3.spi 模式 1,cpol = 0,cpha = 1:clk 空闲状态 = 低电平,数据在下降沿采样,在上升沿移位。
图4显示了spi模式2的时序图。在此模式下,时钟极性为1,表示时钟信号的空闲状态为高。此模式下的时钟相位为1,表示数据在时钟信号的下降沿(由橙色虚线显示)上采样,数据在上升沿(由蓝色虚线显示)偏移。
图 4.spi 模式 2,cpol = 1,cpha = 1:clk 空闲状态 = 高电平,数据在下降沿采样,在上升沿移位。
图5显示了spi模式3的时序图。在此模式下,时钟极性为1,表示时钟信号的空闲状态为高。此模式下的时钟相位为0,表示数据在时钟信号的上升沿(由橙色虚线显示)上采样,数据在下降沿(由蓝色虚线显示)上移位。
图 5.spi 模式 3,cpol = 1,cpha = 0:clk 空闲状态 = 高电平,数据在上升沿采样,在下降沿移位。
多从站配置
多个从站可与单个spi主站配合使用。从站可以常规模式或菊花链模式连接。
图 6.多从属 spi 配置。
常规 spi 模式
在常规模式下,需要从主站为每个从站选择单独的芯片。一旦芯片选择信号被主站使能(拉低),mosi/miso线路上的时钟和数据就可用于所选从站。如果启用了多个芯片选择信号,则miso线路上的数据将损坏,因为主站无法识别哪个从站正在传输数据。
从图6可以看出,随着从站数量的增加,来自主站的芯片选择线的数量也在增加。这可以快速增加主站所需的输入和输出数量,并限制可以使用的从站数量。有不同的技术可以用来增加常规模式下的从站数量;例如,使用多路复用器生成芯片选择信号。
菊花链法
在菊花链模式下,从站的配置使得所有从站的芯片选择信号连接在一起,数据从一个从站传播到下一个从站。在此配置中,所有从站同时接收相同的spi时钟。来自主站的数据直接连接到第一个从站,该从站向下一个从站提供数据,依此类推。
在这种方法中,当数据从一个从站传播到下一个从站时,传输数据所需的时钟周期数与菊花链中的从站位置成正比。例如,在图7中,在8位系统中,第3个从器件上需要24个时钟脉冲才能获得数据,而常规spi模式下只有8个时钟脉冲。
图 7.多从属 spi 菊花链配置。
图8显示了时钟周期和通过菊花链传播的数据。菊花链模式不一定支持所有spi器件(请参考产品数据手册以确认菊花链是否可用)。
图 8.菊花链配置:数据传播。
支持 spi 的开关和多路复用器
最新一代支持 spi 的开关可显著节省空间,而不会影响精密开关性能。本文的这一部分讨论了一个案例研究,说明支持spi的开关或多路复用器如何显著简化系统级设计并减少所需的gpio数量。
adg1412是一款四通道、单刀单掷(spst)开关,每个开关的控制输入端需要连接4个gpio。图9显示了微控制器与一个adg1412之间的连接。
图 9.微控制器 gpio 作为开关的控制信号。
随着电路板上开关数量的增加,所需的 gpio 数量也会显著增加。
例如,在设计测试仪器系统和大量开关时,使用大量开关来增加系统中的通道数。在4×4交叉点矩阵配置中,使用4个adg1412。该系统需要16个gpio,限制了标准微控制器中可用的gpio。
图10显示了使用微控制器的16个gpio连接4个adg1412。
图 10.在多从属配置中,所需的 gpio 数量会大幅增加。
减少gpio数量的一种方法是使用串并联转换器,如图11所示。该器件输出并行信号,可连接到开关控制输入,并且器件可通过串行接口spi进行配置。这种方法的缺点是通过引入额外的组件来增加物料清单。
图 11.使用串行至并行转换器的多从属交换机。
另一种方法是使用spi控制开关。这种方法的优点是减少了所需的gpio数量,并且还消除了额外的串行至并行转换器的开销。如图12所示,只需7个微控制器gpios,即可为4个adgs1412提供spi信号,而不是16个微控制器gpios。
图 12.支持 spi 的开关可节省微控制器 gpio。
这些交换机可以以菊花链配置进行配置,以进一步优化 gpio 计数。在菊花链配置中,无论系统中使用的开关数量如何,主站(微控制器)仅使用四个 gpio。
图 13 仅用于说明目的。adgs1412数据手册建议在sdo引脚上使用上拉电阻(有关菊花链模式的更多详细信息,请参阅adgs1412数据手册)。
图 13.在菊花链中配置spi支持的交换机,以进一步优化gpio。
为简单起见,此示例中使用了四个开关。随着系统中开关数量的增加,电路板简单和节省空间的好处是显著的。adi spi支持的开关采用4×8交叉点配置,在6层板上提供8个四通道spst开关,可将总电路板空间减少20%。

29家智能锁大比拼 智能锁安全性问题仍需解决
[图文]4个元件制作微型无线调频话筒
内地情何以堪:香港4G LTE网速五倍于3G
松下GF10评测 全天候自拍神器
如何在不受电线等的影响下尽可能准确地测量如mΩ数量级的电阻值呢?
4线SPI接口的简要介绍
持续孵化科技成果 人工智能成长虹发展硬支撑
4自由度串联机械臂的制作
OPPOR11小弟登场,大哥OPPOFind9压镇,OPPO这次又要创记录啦?
LED闪现屏花屏的原因及处理方法
安世估值347亿,闻泰引入投资现金增资
魅族新品发布会如约而至 重磅推出18款配件产品
如何从ArduinoWatchCore制作Arduino手表
航电总线仿真实验和测试方案
工业机器人能做什么工作_工业机器人的工作范围
三态输出的缓冲器有哪些用途?
华为超级快充移动电源上市:华为超级快充移动电源简评
数显温度计设计电路图大全(DS18B20/89S51单片机/液晶)
压电特性及能量自拾取特性的研究
超温断电控制电路的工作原理