自学通信研发

 网络   2022-10-10 19:11   44

外设接口 (SPI) 是微掌握器以及核心 IC(如传感器、ADC、DAC、 移位存放器、SRAM等)之间利用最精深的接口之一。

SPI 是一种同步、全双工、主从式接口。来自主机或从机的数据正在时钟升高沿或下降沿同步。主机以及从机也许同时传输数据。SPI 接口也许是3线式或4线式。本文中心先容常用的4线SPI接口。

1

接 口

4 线 SPI 器件有四个记号:

时钟(SPICLK,SCLK)

片选(CS)主机输出

从机输入(MOSI)主机输入

从机输出(MISO)

孕育时钟记号的器件称为主机。主机以及从机之间传输的数据与主机孕育的时钟同步。同I2C接口比拟,SPI器件支柱更高的时钟频次。用户应查阅产物数据手册以领会SPI接口的时钟频次规格。

SPI接口只可有一个主机,但也许有一个或多个从机。图1再现了主机以及从机之间的SPI连贯。

图1. 含主机以及从机的SPI配置

来自主机的片选记号用于挑选从机。这常常是一个低电平无效记号,拉高时从机与SPI总线断开连贯。当利用多个从机时,主机须要为每个从机供给零丁的片选记号。本文中的片选记号始终是低电平无效记号。

MOSI以及MISO是数据线。MOSI将数据从主机发送到从机,MISO将数据从从机发送到主机。

2

数据传输

要结束SPI通信,主机必需发送时钟记号,并经过使能CS记号挑选从机。片选常常是低电平无效记号。所以,主机必需正在该记号上发送逻辑0以挑选从机。

SPI是全双工接口,主机以及从机也许不同经过MOSI以及MISO路线同时发送数据。正在SPI通信时期,数据的发送(串行移出到MOSI/SDO总线上)以及领受(采样或读入总线(MISO/SDI)上的数据)同时施行。串行时钟沿同步数据的移位以及采样。

SPI接口禁止用户精巧挑选时钟的升高沿或下降沿来采样以及/或移位数据。欲决定利用SPI接口传输的数据位数,请参阅器件数据手册。

3

时钟极性以及时钟相位

正在SPI中,主机也许挑选时钟极性以及时钟相位。正在闲暇状态时期,CPOL位树立时钟记号的极性。闲暇状态是指传输结束时CS为高电平且正在向低电平变化的时期,和传输停止时CS为低电平且正在向高电平变化的时期。CPHA位挑选时钟相位。

根据CPHA位的状态,利用时钟升高沿或下降沿来采样以及/或移位数据。主机必需根据从机的要求挑选时钟极性以及时钟相位。根据CPOL以及CPHA位的挑选,有四种SPI模式可用。表1再现了这4种SPI模式。

表1.经过CPOL以及CPHA挑选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,CPOL = 1,CPHA = 1:CLK闲暇状态 = 高电平,数据鄙人降沿采样,并正在升高沿移出

图4给出了SPI模式2的时序图。正在此模式下,时钟极性为1,示意时钟记号的闲暇状态为高电平。此模式下的时钟相位为1,示意数据鄙人降沿采样(由橙色虚线再现),并且数据正在时钟记号的升高沿移出(由蓝色虚线再现)。

图5. SPI模式3,CPOL = 1,CPHA = 0:CLK闲暇状态 = 高电平,数据正在升高沿采样,并鄙人降沿移出

图5给出了SPI模式3的时序图。正在此模式下,时钟极性为1,示意时钟记号的闲暇状态为高电平。此模式下的时钟相位为0,示意数据正在升高沿采样(由橙色虚线再现),并且数据正在时钟记号的下降沿移出(由蓝色虚线再现)。

4

多从机配置

多个从机可与单个SPI主机一统利用。从机也许选择通例模式连贯,或选择菊花链模式连贯。

通例SPI模式

正在通例模式下,主机须要为每个从机供给零丁的片选记号。一旦主机使能(拉低)片选记号,MOSI/MISO线上的时钟以及数据就可用于所选的从机。假设使能多个片选记号,则MISO线上的数据会被损坏,由于主机没法判别哪个从机在传输数据。

从图6也许看出,随着从机数目的推广,来自主机的片选线的数目也推广。这会加紧推广主机须要供给的输入以及输出数目,并限制也许利用的从机数目。也许利用其他本领来推广通例模式下的从机数目,比如利用多路复用器孕育片选记号。

图6. 多从机SPI配置

菊花链模式

正在菊花链模式下,一切从机的片选记号连贯正在一统,数据从一个从机传播到下一个从机。正在此配置中,一切从机同时领受统一SPI时钟。来自主机的数据直接送到第一个从机,该从机将数据供给给下一个从机,依此类推。

利用该方式时,因为数据是从一个从机传播到下一个从机,因而传输数据所需的时钟周期数与菊花链中的从机位置成比率。比如正在图7所示的8位系统中,为使第3个从机恐怕取得数据,须要24个时钟脉冲,而通例SPI模式下只需8个时钟脉冲。

图7. 多从机SPI菊花链配置

图8再现了时钟周期以及经过菊花链的数据传播。并非一切SPI器件都支柱菊花链模式。请参阅产物数据手册以确认菊花链是否可用。

图8. 菊花链配置:数据传播

自学通信研发

ADI 支柱 SPI 的摹拟开关与多路变换器

ADI公司最新一代支柱SPI的开关可正在没有作用缜密开关机能的状况下昭著节流空间。本文的这一全体将议论一个案例争论,阐明支柱SPI的开关或多路复用器若何恐怕大大简化系统级妄图并削减所需的GPIO数目。

ADG1412是一款四通道、单刀单掷(SPST)开关,须要四个GPIO连贯到每个开关的掌握输入。图9再现了微掌握器以及一个ADG1412之间的连贯。

图9. 微掌握器GPIO用作开关的掌握记号

随着电路板上开关数目的推广,所需GPIO的数目也会昭著推广。比如,当妄图一个测试仪器系统时,会利用大度开关来推广系统中的通道数。正在4×4交叉点矩阵配置中,利用四个ADG1412。此系统须要16个GPIO,限制了规范微掌握器中的可用GPIO。图10再现了利用微掌握器的16个GPIO连贯四个ADG1412。

图10. 正在多从机配置中,所需GPIO的数目大幅推广

5

若何削减 GPIO 数目?

一种方式是利用串行转并行变换器,如图11所示。该器件输出的并行记号可连贯到开关掌握输入,器件可经过串行接口SPI配置。此方式的误差是外加器件会导致物料清单推广。

图11. 利用串行转并行变换器的多从机开关

另一种方式是利用SPI掌握的开关。此方式的优点是可削减所需GPIO的数目,并且还能清除外加串行转并行变换器的支出。如图12所示,没有须要16个微掌握器GPIO,只须要7个微掌握器GPIO就也许向4个ADGS1412供给SPI记号。开关可选择菊花链配置,以进一步优化GPIO数目。正在菊花链配置中,不管系统利用几许开关,都只利用主机(微掌握器)的四个GPIO。

图12. 支柱SPI的开关键省微掌握器GPIO

图13用于阐明想法。ADGS1412数据手册提议正在SDO引脚上利用一个上拉电阻。为简捷起见,此示例利用了四个开关。随着系统中开关数目的推广,电路板简捷以及节流空间的优点很主要。

图13. 菊花链配置的SPI开关可进一步优化GPIO

正在6层电路板上弃捐8个四通道SPST开关,选择4×8交叉点配置时,ADI 公司支柱 SPI 的开关可节流20%的总电路板空间。

IIC通讯为甚么要加上拉电阻?

多层PCB内部长啥样?来个大解剖吧。

南航大二学生自学2年研动怒箭,乐成发射并接收

本文地址:http://yz.ziyouea.com/p/27395.html
版权声明:本站文章来自网络,如有违规侵权请联系我们下架。