小研FPGA和以太网的数据采集系统的设计

  • 格式:pdf
  • 大小:161.74 KB
  • 文档页数:2

小研FPGA和以太网的数据采集系统的设计
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所示。

该数据采集系统中,FPGA与DM9000以16bit的总线方式连接,以单工模式运行。

在系统上电时,由FPGA通过配置DM9000内部网络控制寄存器(NCR)、中断寄存器(ISR)等,完成DM9000的初始化。

随后,DM9000进入数据收发等待状态。

当处理器要向以太网发送数据帧时,先将数据打包成UDP数据包,通过16bit总线逐字节发送到DM9000的数据发送缓存中,然后将数据长度等信息填充到DM9000的相应寄存器内,随后发送使能命令,DM9000A将缓存的数据和数据帧信息进行MAC组帧,通过RJ45接口发送到PC机。

由于在本系统中采用单工模式运行,以16bit方式在FPGA与DM9000之间进行通信,FPGA配置DM9000发送的流程如图7所示。

寄存器ISR中
的PTS标志位是发送中断标志位,当一帧数据发送完毕,PTS=0,FPGA检测到该标志后,应清除标志位以便发送新的数据帧。

这里需要注意的是,向FC、FD所写的帧长度应该是包含目的MAC地址段、源MAC地址段和有效数据的总长度。

4. 总结
系统采用Altera Cyclone III系列芯片EP3C25F256作为控制和处理的核心,简化了系统的硬件设计,具有功耗低、速度快等优点;采用基
于FPGA控制的SDRAM存储机制,适合采集大容量数据;利用FPGA驱动网卡控制芯片DM9000实现和PC端的数据传输。

该系统具有线路结构简单、开发容易、体积小、成本低的优点;采用以太网与上位机通信提高了数据传输速率和可扩展性;利用EDA工具和语言对FPGA进行设计、仿真和验证,这便于设计的修改和优化,大大缩短了产品的开发设计周期。

由FPGA具有在线编程的特点可以依据现场的具体情况,对FPGA的内部逻辑配置进行修改,进一步增加了系统应用的灵活性,经测试该设计达到了满意的效果,基于FPGA和以太网的数据采集系统是一种比较理想的高速、大容量数据采集方案。

计算机硕士论文。