FPGA通过SPI对ADC配置简介(一)------- 什么是SPI?

所谓SPI(Serial Peripheral Interface),即串行外设接口。它是一种高速、全双工的数据通信总线,并且在芯片的管脚只占有4根线,节省了芯片的管脚,同时极大的方便了PCB的布局。正是由于这种简单、易用的特性,如今越来越多的芯片集成了这种通信协议,比如我们经常使用的ADC芯片。

目前,市面上绝大多数的ADC(模数转换器)芯片都内嵌专用的SPI配置接口,通过配置其SPI接口可以对ADC内部的控制寄存器进行读、写操作,从而灵活的使用ADC芯片的各种功能。甚至对于某些ADC来说,如果不事先对其进行正确、有效的配置,则该ADC无法正常工作。

用于ADC配置的SPI接口分为4线模式(例如Analog Device AD96393线模式(Analog Device AD9249。对于4线模式来说,它有4根信号线,分别为:SDI(Serial Data In)、SDO(Serial Data Out)、SCLK(Serial Clock)以及CS(Chip Select)。3线模式与4线模式的不同之处在于SDI与SDO信号合并,称为SDIO。另外,某些ADC的三线模式较为简单,SDIO只用做输入端口SDI(例如德州仪器的ADS5281芯片),没有SDO的功能,实现起来较为简单。

  

4线模式:

1.      SDI—串行数据从FPGA输出,进入ADC;

2.      SDO—串行数据从ADC输出,进入FPGA;

3.      SCLK—时钟信号从FPGA输出,进入ADC;

4.      CS—ADC使能信号从FPGA输出,进入ADC;

 

3线模式:

1.      SDIO—当进行读操作时,SDIO作为输出口SDO,串行数据从ADC输出,进入FPGA;当进行写操作时,SDIO作为输入口SDI,串行数据从FPGA输出,进入ADC;

2.      SCLK—时钟信号从FPGA输出,进入ADC;

3.      CS—ADC使能信号从FPGA输出,进入ADC;

 

3线模式和4线模式相比,表面上看只是少了1根信号线,实际上在读写操作时,涉及到了ADC端与FPGA端的SDIO接口的三态转换控制,这点需要大家特别注意。

下篇将进一步介绍FPGA通过SPIADC配置的读写时序以及相关要点。也可扫码关注 或者 微信搜索小青菜哥哥的那些事~