图3 增益选择电路
数据采集与控制电路设计
A/D转换器是数据采集系统的核心,对A/D器件的选择往往影响到整个系统的性能指标。为了实现8通道并行同步采样可以采用两种方案。一是采用8个独立的A/D转换器,这样不仅成本比较高,而且难以实现8通道同步采样,绘制PCB板的时候也有很大的困难。第二种方式就是本设计的方法,采用一个AD9252来满足最多8个通道的并行同步采样要求。本设计通过NIOSII软核处理器向AD9252发送控制字,以实现8通道并行同步采样。首先,输出14bit的LVDS信号到FPGA,经由串并转换逻辑输出14bit并行数据,再通过仲裁逻辑实现不同通道数据存储位置的不同,最后通过两片SDRAM的乒乓操作实现连续数据采集和传输。
本设计数字控制部分由FPGA和外扩的CPLD共同合作完成。由于设计需要大量的引脚资源,而FPGA的引脚资源有限,所以在FPGA外部通过SPI总线接口外接一片CPLD,从而控制8个通道的输入方式选择和增益选择。FPGA内部嵌入一个NIOSII软核,负责数据采集、数据传输和输入方式以及增益的选择控制。下面详细分析一下这三个数字控制电路的实现方法。
1信号输入方式和增益选择控制逻辑的实现
FPGA和CPLD之间通过串行总线通信。通过在FPGA内部构建一个8bit地址总线,8bit数据线的RAM块,用来存储输入方式和增益选择控制数据。8bit地址线的前三位用来控制通道号,后五位控制所在通道的20种选择状态(4种输入方式,5种增益选择)。8bit数据的前两位是输入方式的选择码,后六位是增益选择码。在FPGA内构建一个地址计数器来进行通道的选择数据提取,该计数器的时钟频率是SPI控制器时钟的32倍。
在CPLD中构建一个48bit的串并转换逻辑,把输入方式选择码和增益选择码送到相应的引脚,从而实现信号输入方式和增益选择控制逻辑的实现。
2数据采集和传输控制逻辑的实现
本设计在FPGA内部设计逻辑如下:
● 读取ADC串行LVDS数据流,然后通过串并转换逻辑把串行数据流变成并行数据流;
● 内部设计SDRAM的控制逻辑,实现数据的存储,通过内部的仲裁逻辑实现不同通道的数据存储按照一定的时序存储在SDRAM中;
● 判断第一个SDRAM已经满后,通过片选切换逻辑把数据存储在第二个存储器中,同时通过DMA方式把数据传输到上位机。
图4 控制逻辑框图