理解ATE SPI (串行外设接口)
理解ATE SPI (串行外设接口)
大多数Maxim? ATE设计都采用了一个串行接口,以便从外部控制器件。这种串行接口正在成为一种重要且非常有用的功能,但也可能是较难理解的部分之一。本应用笔记介绍了Maxim ATE SPI?接口,并阐述了系统架构设计方法。从时序图可以看出如何对该接口进行编程。
串行外设接口(SPI)的基础
SPI是一种同步数据链路协议,其构想最初由Motorola?提出。按照主/从模式进行通信,其中主控设备启动与一个或多个从设备之间的通信,在器件之间交换数据。SPI接口已经演化出了许多不同结构,但它们都采用公用的一组控制信号和输出。最简单的方法是基于移位寄存器的3线设计,如图1所示。信号定义如下:
- SCLK:时钟信号,将DIN (数据)按时序移入移位寄存器
- DIN:移入移位寄存器的数据
- DOUT:移出移位寄存器的数据
图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\也是移位寄存器单元的一个输入。
控制信号译码
控制信号译码电路是一个用户逻辑单元,对SCLK、CS\以及数据字中的控制位进行译码,使得第1级锁存器可以保持数据或将数据传递至第2级锁存器。该单元可以设计控制多路第1级锁存器,MAX9979数据资料给出了一个示例,其中第1级输入寄存器和通道选择寄存器都由用户逻辑单元控制。该8位示例中没有控制位,移位寄存器的所有8位传递至第1级锁存器。
8位锁存器
提供两级或两组完全相同的锁存器。该示例采用8位锁存器(SRBIT0至SRBIT7)。锁存器为透明传输,在锁存时钟输入的下降沿将输入数据传递至输出。锁存器输出在锁存时钟的上升沿保持或锁存数据。输出保持锁存状态,直到锁存器时钟输入变为低电平。第1级锁存器的时钟信号为SCLK、CS\和控制位的译码信号。第2级锁存器的时钟信号为LD\信号。
控制信号线
控制信号线为第2级锁存器输出。它们作为数字控制信号控制器件的内部功能或工作模式。
“低电平有效”
信号CS\、LD\和RST\为“低电平有效”控制信号。“低电平有效”表示信号只有为逻辑低电平时才有效。
图2. 8位字、双缓存SPI接口的简单示例
图3. 8位字SPI示例的详细时序图
工作原理
下文所示时序对应于图2和图3所示的SPI示例。该设计中,选择在时钟的上升沿将信号移入器件,也可以使用下降沿。数据按照从MSB (最高有效位)至LSB (最低有效位)的顺序移入,也可以从LSB至MSB移入,如本应用所示。
- 在SCLK的上升沿将数据移入移位寄存器。
- DIN数据经过8?个时钟周期后,在SCLK的下降沿从接口(通过DOUT)移出。
- CS\由SCLK触发控制。在低电平有效的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 |
- 选择最佳的电压基准源(11-29)
- 应用于手持设备的无线调制解调器电源(02-20)
- 1-Wire扩展网络标准(02-20)
- RS-485串行数据通信协议及其应用(02-20)
- 电感选择对DC-DC转换器性能的折衷(04-28)
- 提高MAX1464 ADC性能(03-11)