AD9268 串行接口(SPI)
AD9268串行端口接口(SPI)允许用户利用ADC内部的一个结构化寄存器空间来配置转换器,以满足特定功能和操作的需要。SPI具有灵活性,可根据具体的应用进行定制。通过串行端口,可访问地址空间、对地址空间进行读写。存储空间以字节为单位进行组织,并且可以进一步细分成多个区域,如存储器映射部分所述。
使用SPI的配置
该ADC的SPI由三部分组成:SCLK/DFS引脚、SDIO/DCS引脚和CSB引脚(见表1)。SCLK/DFS(串行时钟)引脚用于同步ADC的读出和写入数据。SDIO/DCS(串行数据输入/输出)双功能引脚允许将数据发送至内部ADC存储器映射寄存器或从寄存器中读出数据。CSB(片选信号)引脚是低电平有效控制引脚,它能够使能或者禁用读写周期。
表1.串行端口接口引脚
引脚 | 功能 |
---|---|
SCLK | 串行时钟。串行移位时钟输入,用来同步串行接口的读、写操作 |
SDIO | 串行数据输入/输出。双功能引脚;通常用作输入或输出,取决于发送的指令和时序帧中的相对位置。 |
CSB | 片选信号。低电平有效控制信号,用来选通读写周期。 |
CSB的下降沿与SCLK的上升沿共同决定帧的开始。图1为串行时序图范例,相应的定义见表1。
CSB可以在多种模式下工作。当CSB始终维持在低电平状态时,器件一直处于使能状态;这称作流。CSB可以在字节之间停留在高电平,这样可以允许其他外部时序。CSB引脚拉高时,SPI功能处于高阻态模式。在该模式下,可以开启SPI引脚的第二功能。
在一个指令周期内,传输一条16位指令。在指令传输后将进行数据传输,数据长度由W0位和W1位共同决定。
除了字长,指令周期还决定串行帧是读操作指令还是写操作指令,从而通过串行端口对芯片编程或读取片上存储器内的数据。多字节串行数据传输帧的第一个字节的第一位表示发出的是读命令还是写命令。如果指令是回读操作,则执行回读操作会使串行数据输入/输出(SPIO)引脚的数据传输方向,在串行帧的一定位置由输入改为输出。
所有数据均由8位字组成。数据可通过MSB优先模式或LSB优先模式进行发送。芯片上电后,默认采用MSB优先的方式,可以通过SPI端口配置寄存器来更改数据发送方式。如需了解更多关于该特性及其它特性的信息,请参阅应用笔记AN-877:“通过SPI与高速ADC接口”。
图1 串行端口接口时序图
硬件接口
表1中所描述的引脚包括用户编程器件与AD9268的串行端口之间的物理接口。当使用SPI接口时,SCLK引脚和CSB引脚用作输入引脚。SDIO引脚是双向引脚,在写入阶段,用作输入引脚;在回读阶段,用作输出引脚。
SPI接口非常灵活,FPGA或微控制器均可控制该接口。应用笔记AN-812“基于微控制器的串行端口接口(SPI)启动电路”中详细介绍了一种SPI配置方法。
当需要转换器充分发挥其全动态性能时,应禁用SPI端口。通常SCLK信号、CSB信号和SDIO信号与ADC时钟是异步的,因此,这些信号中的噪声会降低转换器性能。如果其它器件使用板上SPI总线,则可能需要在该总线与AD9268之间连接缓冲器,以防止这些信号在关键的采样周期内,在转换器的输入端发生变化。