1、引 言
在工业生产和科学技术研究的各行业中,常常需要对各种数据进行采集,如液位、温度、压力、频率等信息的采集。在图像处理、瞬态信号检测、软件无线电等一些领域,更是要求高速度、高精度、高实时性的数据采集与处理技术[1]。随着数字技术的发展,一些高性能的DSP (Digital Signal Processing)、FPGA (Field Programmable Gate Array)和高速的A/D应用于数据采集系统中,大大提高了系统的测量精度、数据采集处理速度、数据传输速度等[2]。数据采集技术是信息科学的一个重要分支,它研究信息数据的采集、存储、处理及控制等工作,它与传感器技术、信号处理技术、计算机技术一起构成了现代检测技术的基础[3]。随着微电子技术的飞速发展,数据采集技术得到了长足的发展。基于以太网传输、具有海量数据存储深度和高速ADC所组成的数据采集系统成为当今发展趋势。
本文的研究对象是数据采集技术,是信号处理的核心之一,为复杂的数字信号处理提供一定的理论指导[4]。对于数据采集系统,随着数据量的不断加大和实时处理要求的不断提高,提出了运用FPGA进行数据处理,以便提高系统的实时性、可靠性和数据快速存储的能力。本文研究了数据采集的实现方法,综合运用了FPGA、SDRAM、以太网传输等技术,系统的最高采样率达25MSPS。本文设计了一种应用ALTERA EP3C25F256 FPGA实现时序控制的数据采集系统,通过以太网RJ45接口与PC机进行通信,该系统具有数据采集速度高、功耗低、数据传输方便等优点[5][6]。
2、系统的组成与原理
数据采集包括模拟信号和数字信号的采集,本系统对信号的处理主要包括模拟部分、FPGA内部时序设计部分。其中模拟部分主要完成对模拟信号的A/D转换设计;数字部分完成对ADC、SDRAM和DM9000的驱动。图1为本论文数据采集系统的总体框图。
在模拟信号采集的过程中,模拟信号首先经过单转差分器将调整后的模块信号输入给A/D转换器(选用的ADC芯片需要差分形式的信号输入),然后经模数转换之后将12bit的数字信号直接输出给FPGA,FPGA接收数据并存储在SDRAM中,然后通过FIFO方式读出SDRAM中存储的数据并传输给网卡控制器DM9000,DM9000通过以太网接口RJ45接口输出UDP协议数据给PC机,在PC端可以对接收到的数据进行进一步处理。
FPGA是整个数据采集系统的核心模块,对所有的信号处理过程及存储、转发过程进行时序控制。网卡控制芯片DM9000集成10/100M自适应收发器,完全符合IEEE 802.3u规格,其自动协调功能自动完成配置以最大限度地适合其线路带宽。
3、 系统设计与实现
3.1 数据采集部分
如图AD8138完成把单端信号转化为AD9225进行A/D转换器输入所需要的差分形式。使用差分形式,可以有效地滤除偶次谐波分量,同时对其它共模杂散信号(如由电源和地引入的噪声)及对晶振的反馈信号也有很好抑制作用。
在本系统中,选用ADI公司的AD9225芯片进行模数转换,AD9225是一款单芯片、12位、25 MSPS模数转换器(ADC),采用单电源供电,内置一个片内高性能采样保持放大器和基准电压源。它采用多级差分流水线架构,内置输出纠错逻辑,在25MSPS数据速率时可提供12位精度,并保证在整个工作温度范围内无失码。
3. 系统设计与实现
3.1 数据采集部分
AD8138完成把单端信号转化为AD9225进行A/D转换器输入所需要的差分形式。使用差分形式,可以有效地滤除偶次谐波分量,同时对其它共模杂散信号(如由电源和地引入的噪声)及对晶振的反馈信号也有很好抑制作用。
在本系统中,选用ADI公司的AD9225芯片进行模数转换,AD9225是一款单芯片、12位、25 MSPS模数转换器(ADC),采用单电源供电,内置一个片内高性能采样保持放大器和基准电压源。它采用多级差分流水线架构,内置输出纠错逻辑,在25MSPS数据速率时可提供12位精度,并保证在整个工作温度范围内无失码。
SDRAM内存芯片的主要信号有控制信号、控制信号、数据信号,均为工作时钟同步输入、输出信号。控制信号主要有:CS(片选信号),CKE(时钟使能信号),DQM(输入、输出使能信号),CAS、RAS、WE(读写控制命令字)。通过CAS、RAS、WE的各种逻辑组合,可产生各种控制命令。地址信号有:BA0和BA1页地址选择信号,A0~A12地址信号,行、列地址选择信号。通过分时复用决定地址是行地址还是列地址。在读写操作中,在地线上依次给出页地址、行地址、列地址,最终确定存储单元地址。数据信号有:DQ0~DQ7,双向数据,其使能受DQM控制。SDRAM的工作模式通过LOAD MODE REGISTER命令对工作模式寄存器进行设置来选择。设置参量有Reserved(备用的人)Write Burst Mode(WB,写突发模式)、Operation Mode(Op Mode,工作模式)、CAS Latency(CAS延迟)、Burst Type(BT,突发类型)、Burst Length(突发长度)。SDRAM控制器FPGA和SDRAM的连接框图如图4所示。
图5是SDRAM控制器的状态转移图。状态图中的各个状态内均包含一系列的子状态转移(对SDRAM内存条发出连续命令),每个子状态完成一个功能操作。初始化操作包括前面介绍的内存条初始化全过程,工作寄存器的默认值在Verilog程序中指定。以后可以通过LOAD_MODE命令改变内存条的工作模式。初始化结束后,SDRAM进入Idle状态,刷新计数器开始工作,控制器开始响应外部逻辑的操作请求。
3.3 数据转发部分
在本数据采集系统中,以网卡控制芯片DM9000作为和PC端通信的中介,在这里选择UDP输入协议,从SDRAM中读取数据并传送到PC机。DM9000是一款完全集成的和符合成本效益单芯片快速以太网MAC控制器与一般处理接口,一个10/100M自适应的PHY和4K DWORD值的SRAM。它的目的是在低功耗和高性能进程的3.3V与5V的支持宽容。DM9000还提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用电话线网络设备或其他收发器。该DM9000支持8位,16位和32位接口访问内部存储器,以支持不同的处理器。DM9000物理协议层接口完全支持使用10MBps下3类、4类、5类非屏蔽双绞线和100MBps下5类非屏蔽双绞线。这是完全符合IEEE 802.3u规格。它的自动协调功能将自动完成配置以最大限度地适合其线路带宽。还支持IEEE 802.3x全双工流量控制。在该数据系统中,以FPGA驱动DM9000工作,实现和PC端的互连。DM9000与FPGA接口如图6所示。