新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 理解ATE SPI (串行外设接口)

理解ATE SPI (串行外设接口)

作者:时间:2011-11-22来源:网络收藏

理解 (接口)

大多数Maxim® 设计都采用了一个串行接口,以便从外部控制器件。这种串行接口正在成为一种重要且非常有用的功能,但也可能是较难理解的部分之一。本应用笔记介绍了Maxim ™接口,并阐述了系统架构设计方法。从时序图可以看出如何对该接口进行编程。

接口()的基础

SPI是一种同步数据链路协议,其构想最初由Motorola®提出。按照主/从模式进行通信,其中主控设备启动与一个或多个从设备之间的通信,在器件之间交换数据。SPI接口已经演化出了许多不同结构,但它们都采用公用的一组控制信号和输出。最简单的方法是基于移位寄存器的3线设计,如图1所示。信号定义如下:

  • SCLK:时钟信号,将DIN (数据)按时序移入移位寄存器
  • DIN:移入移位寄存器的数据
  • DOUT:移出移位寄存器的数据

理解ATE SPI (串行外设接口)
图1. 8位SPI接口简图

SPI接口(图1)的基本工作原理是将数据(DIN)移入移位寄存器,由SCLK的上升沿或下降沿控制数据移位。一旦数据移入寄存器,移位寄存器的输出即可作为设计中的控制信号。在时钟控制下,数据通过DOUT引脚移出,允许以菊花链形式连接多个接口,控制多个从器件。

Maxim ATE串行接口架构

Maxim的ATE方案在图1所示最简方案的基础上进行扩展,增加了另外三个信号:片选(CS*)、装载(LD*)和复位(RST*)。另外,拓扑更改为双缓存结构。缓存1代表增加的第一级锁存器;缓存2代表第二级锁存器。这种双缓存结构能够在两级之间灵活地传递和锁存数据。我们将探讨这种架构的实现和时序图(分别参见图2图3),说明单通道、8位字SPI的工作原理。

单元和信号

8位移位寄存器

图2所示为标准移位寄存器,它具有8个寄存器位(SRBIT0至SRBIT7)。数据(DIN)在SCLK的上升沿移入,移入所有8位数据需要8个时钟信号。数据在第8个时钟周期的下降沿移出(DOUT)。CS也是移位寄存器单元的一个输入。

控制信号译码

控制信号译码电路是一个用户逻辑单元,对SCLKCS以及数据字中的控制位进行译码,使得第1级锁存器可以保持数据或将数据传递至第2级锁存器。该单元可以设计控制多路第1级锁存器,MAX9979数据资料给出了一个示例,其中第1级输入寄存器和通道选择寄存器都由用户逻辑单元控制。该8位示例中没有控制位,移位寄存器的所有8位传递至第1级锁存器。

8位锁存器

提供两级或两组完全相同的锁存器。该示例采用8位锁存器(SRBIT0至SRBIT7)。锁存器为透明传输,在锁存时钟输入的下降沿将输入数据传递至输出。锁存器输出在锁存时钟的上升沿保持或锁存数据。输出保持锁存状态,直到锁存器时钟输入变为低电平。第1级锁存器的时钟信号为SCLKCS和控制位的译码信号。第2级锁存器的时钟信号为LD信号。

控制信号线

控制信号线为第2级锁存器输出。它们作为数字控制信号控制器件的内部功能或工作模式。

“低电平有效”

信号CSLDRST为“低电平有效”控制信号。“低电平有效”表示信号只有为逻辑低电平时才有效。

理解ATE SPI (串行外设接口)
图2. 8位字、双缓存SPI接口的简单示例

理解ATE SPI (串行外设接口)
图3. 8位字SPI示例的详细时序图

工作原理

下文所示时序对应于图2和图3所示的SPI示例。该设计中,选择在时钟的上升沿将信号移入器件,也可以使用下降沿。数据按照从MSB (最高有效位)至LSB (最低有效位)的顺序移入,也可以从LSB至MSB移入,如本应用所示。

  • SCLK的上升沿将数据移入移位寄存器。
  • DIN数据经过8½个时钟周期后,在SCLK的下降沿从接口(通过DOUT)移出。
  • CSSCLK触发控制。在低电平有效的CS下降沿将数据传递至第1级锁存器,并在CS的上升沿锁存至第1级。如果CS保持为高电平,数据仅传送至DOUT,不会出现在第1级锁存器。
  • LD控制信号异步加载第2级锁存器。如果LD保持为逻辑高电平,则第1级缓存输出不会传递到第2级缓存输出。若LD保持为低电平,第1级缓存输出将直接通过第2级锁存器。在LD控制信号的上升沿锁存第2级输出。
  • RST将把串行接口控制信号复位到默认状态。
  • 图3所示为所有串行接口输入、输出的详细时序。

SPI接口只有符合具体的时序指标要求才能正常工作。这些指标在器件数据资料中列出。表1定义了图3相应的技术指标,并给出了一些典型值以供参考。

表1. SPI时序要求、定义及典型值

Specifications
ParameterSymbolMinTypMaxUnits
Serial clock frequencyfSCLK50MHz
SCLK pulse width hightCH12ns
SCLK pulse width lowtCL12ns
SCLK fall to DOUTvalidtDO22ns
CS-bar low to SCLK high setuptCSS010ns
SCLK high to CS-bar high holdtCSH122ns
SCLK high to CS-bar low holdtCSH00ns
CS-bar high to SCLK high setuptCSS15ns
DIN to SCLK high setuptDS10ns
DIN to SCLK high holdtDH0ns
CS-bar pulse width hightCSWH10ns
CS-bar high to LD-bar low setuptCLL22ns
LD-bar pulse width lowtLDW20ns
RST-bar low pulse widthtRST10ns

SPI接口的主/从配置

有三种方法实现主/从配置:

  1. 一主一从,如图4所示。
  2. 一主多从,采用菊花链拓扑结构,如图5所示。
    该方法的优势在于:
    1. 主器件仅需要一个片选引脚。
    2. 以菊花链形式将DOUT引脚连接至下一个从器件的DIN;最后一个从器件的DOUT返回至主器件DIN端口进行读取。
    该方法的缺点是:
    1. 每个从器件没有独立控制信号。
    2. DATA字较长。
    3. 由于必须在触发片选信号之前更新所有从器件,所以更新速度较慢。
  3. 一主多从,每片从器件都有其各自的片选引脚,如图6所示。
    该方法的优势在于:
    1. 每个从器件均可独立控制。
    2. 工作速率较快。
    缺点是:
    1. 主器件需要更多的I/O控制引脚。
    2. 如果DOUT不能处于高阻态,则不能回读数据。

理解ATE SPI (串行外设接口)
图4. 单个主/从SPI接口

理解ATE SPI (串行外设接口)
图5. 一主多从—菊花链结构,一个片选信号控制所有从器件。

理解ATE SPI (串行外设接口)
图6. 一主多从—每个从器件都有独立的片选信号。

常见的SPI错误

根据数据资料确定数据是在时钟的正向上升沿还是负向下降沿移入。请注意不要混淆具有不同时钟沿要求的从器件。如果存在不同的时钟要求,请务必在软件或硬件中完成正确的转换。

图7.

根据数据资料确定是MSB在前还是LSB在前移入数据。

图8.

确保CS在相对于时钟沿的数据字附近正确控制。

如果字长不是8位或单字节的倍数,请务必在字开头或结尾处添加零,以确保以字节的整数倍移入。有些控制器或主器件,一次只能输出1个字节。如果是这种情况,需确保不会将实际数据从从器件中移出。若要控制指定从器件,需确保从器件拥有完整数据。

请不要将多个DOUT连接在一起,除非它们具有高阻态选项。

请仔细阅读数据资料,确定已经理解、掌握从器件的使用细节。“字”可以包含数据、地址和控制位。

请注意,以菊花链连接多个器件可能导致更新速度缓慢。

SCLK信号为高速信号并送至多个位置。确保该信号经过适当缓冲以驱动多个电路,从而避免时序误差。所有驱动多个电路的信号都应该具有足够的驱动能力。

总结

从6个基本信号的角度介绍了Maxim ATE SPI串行接口的基本工作原理和时序,它们分别为:SCLKCSDINRSTLDDOUTRSTLD可选。即使不同电路之间的结构会有所调整,但这6个信号的时序定义了SPI接口的外部工作特性。本文结合6个基本信号,以8位字、双缓存接口为例介绍了SPI的工作原理。该接口是Maxim ATE产品遵循的拓扑结构。查看每个器件的数据资料可以了解不同接口的差异和增强功能,但所有接口都遵循本文所述时序。充分理解本文给出的示例有助于您解读、理解Maxim的许多ATE串行接口。

*注:后缀“” (例如:CS、LD、RST)表示这些引脚为低电平有效。



关键词: ATE SPI 串行外设

评论


相关推荐

技术专区

关闭