新闻中心

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
Parameter Symbol Min Typ Max Units
Serial clock frequency fSCLK 50 MHz
SCLK pulse width high tCH 12 ns
SCLK pulse width low tCL 12 ns
SCLK fall to DOUTvalid tDO 22 ns
CS-bar low to SCLK high setup tCSS0 10 ns
SCLK high to CS-bar high hold tCSH1 22 ns
SCLK high to CS-bar low hold tCSH0 0 ns
CS-bar high to SCLK high setup tCSS1 5 ns
DIN to SCLK high setup tDS 10 ns
DIN to SCLK high hold tDH 0 ns
CS-bar pulse width high tCSWH 10 ns
CS-bar high to LD-bar low setup tCLL 22 ns
LD-bar pulse width low tLDW 20 ns
RST-bar low pulse width tRST 10 ns

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)表示这些引脚为低电平有效。



关键词:ATESPI串行外设

评论


相关推荐

技术专区

关闭