基于FPGA的高速实时数据采集系统的设计与实现外文翻译资料

 2022-07-30 20:53:24

英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


基于FPGA的高速实时数据采集系统的设计与实现

WANG Xu-ying, LU Ying-hua, ZHANG Li-ku

摘要:当电脑工作时,电磁辐射会导致信息泄漏。本文介绍了一种基于外围组件互连(XI)总线和现场可编程门阵列(FPGA)的高速实时数据采集系统,用于对视频信号引起的电磁辐射进行采样。 详细介绍了各模块的硬件设计与控制流程。 通过时间交错,采样率可以达到64 Msps,系统传输速度可以达到128 Mb / s,通过并行运行两个数据转换器,提高了系统的整体采样速度。

关键词:高速数据采集,FPGA,PCI总线,超高速集成电路硬件描述语言(VHDL),模数转换器(ADC)

1 引言

当电气设备,特别是视频显示单元工作,并且可能引起电磁泄漏时,将产生电磁辐射。当识别到电磁泄漏时,可以恢复可用的信息。这将导致信息泄露。首先通过宽带天线接收电磁辐射。然后,它通过同步,低通滤波,ADC [l]转换为数字形式。最后,通过软件方法处理数字信息,相位锁定,相关滤波识别和重建后,可以获得电磁泄漏的恢复信息。在本文中,数据采集系统必须拾取视频信号的电磁辐射并将其转换为数字形式。根据奈奎斯特定理,通过数字化处理正确采样正弦波,每个周期至少需要两个数据点。在本文中,视频模式为640x480 @ 75 Hz,像素时钟频率为j = 1.388m = 1.388〜75〜640x480 = 32(MHz)。所以采样率必须是64 MHz。通常,高速数据采集系统的作用是接受数据,并使用直接存储器访问(DMA)机制将输入字节流传送到主机存储器。近年来,随着FPGA [2]和PCI [3-4]的快速发展,通过提供通用的硬件和主机接口,可以消除对专用硬件的需求。可以通过在数据采集卡上重新编程FPGA来实现各种应用特定功能[5-81。本文介绍了使用Altera Cyclone器件和Plx PCI9052的数据采集系统。本文的其余部分组织如下:第2节简要介绍了系统设计。第3节介绍了印刷电路板设计中使用的电磁兼容性(EMC)技术。最后得出结论。

2数据采集系统的简要设计

2.1系统框图

该设计基于Altera Cyclone FPGA EPlC6,整个系统的框图可以在图1中看到。它在32位,32 MHz PCI总线上工作,并有两个板载支持32 Mb的同步动态随机存取存储器(SDRAM),用于存储中间结果。数据采集操作如下:首先,在上电后初始化和配置PCI9052,FPGA和SDRAM。其次,要启动ADC,来自两个ADC的采样数据被同步并存储到FPGA上的双端口随机存取存储器(RAM)中,因此数据的带宽从FPGA中的10位转换为32位。然后将采样数据存储到SDRAM中。此外,32位数据从SDRAM中读取并写入FPGA,并通过PCI本地总线传输到主机。以下部分详细介绍了系统的逻辑设计。

图1 数据采集系统框图

2.2 A / D转换

模拟信号是由系统中的视频显示单元引起的电磁辐射的电场。根据视频模式(640x480 @ 75 Hz)和奈奎斯特定理,采样率必须为64 MHz,采样值精度必须为-30 dB。但是ADC的分辨率越高,ADC的转换速率就越小。为了解决这个问题,本文介绍了使用两个Maxim MAX1446并行的时间交织ADC(见图2)。多个ADC的时间交织是用于提高最大采样速率的众所周知的技术。不幸的是,时间交织ADC的性能对偏移和增益失配以及交错通道之间的采样时间误差敏感。本文介绍一种用于(见图3),并使用FPGA内的锁相环(PLL)的时钟来避免通道之间的偏移,增益和采样时间误差。

图 2 时间交织ADC的时序图

图3 单端差分放大电路

2.3采样数据的传输和缓存

来自两个ADC的采样数据可以通过PCI本地总线直接传输到主机,但根据视频模式,数据传输速度必须高于64 MHzx2 B = 128 m / S。实际上,PCI总线的传输速度很难达到峰值(132 Mb / s)。此外,为了保持向后兼容性,使用两个Hynix SDRAM HY57V561620B(L)T作为缓冲区来存储采样数据以克服传输数据的瓶颈。 PCI 9052符合PCI规范v2.1。 PCI 9052可以编程为直接连接到多路复用或非多路复用的8位,16位或32位本地总线。 PCI 9052包含一个读写FIFO,用于将32位宽的33 MHz PCI总线加速到本地总线,这可能会更窄或更慢。支持最多五个本地地址空间和最多四个芯片选择。在这种设计中,本地总线的突发长度为8。本地总线工作在32位,32 MHz,三个本地地址空间和两个芯片选择。

2.4 FPGA内的逻辑设计

在本文中,应用依赖的受控功能以及SDRAM,ADC和PCI接口均由FPGA逻辑处理。 FPGA内部的整体逻辑设计如图4所示。总体逻辑设计包括时钟模块,SDRAM读写模块和SDRAM控制器模块。

图4 FPGA内的逻辑设计

2.4.1时钟模块

Cyclone FPGA EPlC6提供全局时钟网络和两个PLL,用于完整的时钟管理解决方案。 Cyclone PLL提供了具有时钟相乘和分频,可编程相移,可编程占空比以及差分I / O支持输出的通用时钟。设计人员可以自动使用QuartusII软件来设置相移和占空比,并尽量减少外部时钟输出的抖动。由于时间交织ADC的性能对交错通道之间的偏移和增益失配敏感,用作系统时钟的信号应具有最低的相位抖动和噪声。在本文中,时钟模块使用PLL并驱动全局时钟网络以提高系统性能。图5显示了使用VHDL编程的Quartus II软件的时钟模块框图。

图5 时钟模块的框图

其中inclk为输入时钟,频率为32 MHz,用作ADC驱动时钟。 co和cI是一个倍频,它们的相位相反。 eo是三倍频,用作SDRAM驱动时钟的96 MHz。

2.4.2 SDRAM读写模块

SDRAM读写模块由三个主要模块,SDRAM写模块,SDRAM读模块和SDRAM器件初始化以及SDRAM读写命令模块组成。 SDRAM读写模块是顶级模块,将整个设计结合在一起。 SDRAM写入模块接受来自两个ADC的采样数据,然后将其转换为32位,并等待来自SDRAM器件初始化和SDRAM读写命令模块的写SDRAM命令,以写入SDRAM。 SDRAM读取模块等待从SDRAM器件初始化和SDRAM读写命令模块读取SDRAM命令读取SDRAM,并通过PCI本地总线将采样数据传输到主机。 SDRAM器件初始化和SDRAM读写命令模块向SDRAM控制器生成初始化命令和配置寄存器命令,使两个ADC可以采样数据,生成SDRAM读取模块的SDRAM命令,产生SDRAM写模块的SDRAM命令,并提供SDRAM地址总线。在FPGA实现中,整体设计占用逻辑元件5%,一个PLL和嵌入式存储器占80%。使用Quartus II软件在VHDL中获得SDRAM读写模块的顶层系统框图,如图6所示。

图 6 SDRAM读写模块的框图

SDRAM写入模块和SDRAM读取模块都由页面地址发生器和双端口RAM组成。 Cyclone FPGA EPIC6提供20块M4K嵌入式RAM。 M4K块支持双端口内存。 Quartus II软件通过组合多个M4K内存块自动实现更大的内存。页面地址生成器使用Quartus rI软件在VHDL中获得。 VHDL中页面地址生成器的代码如下所示:

process(wclk,wen)

--RAM写进程

begin

if (wen = #39;1#39;) then

if wclkevent and wclk = #39; 1 #39; then

if (wtmp='1111111111') then

wtmp lt;= '0000000000';

else

wtmp lt;=wtmp 1; --wtpm is value of write

address

end if;

else null;

end if;

else null;

end if;

if( (“0000000000”lt;= wtmp and wtmp lt;= '0111111111') or ('0000000000' lt;= rtmp and rtmp lt;= '0111111111#39;#39;) ) then

page lt;= 0;

else page lt;= I ;

end if;

if(wtmp = “0111111111” ) or wtmp = '1 1 11 11 11 1l')then

page-full lt;= #39;1#39;;

else page-full lt;= lsquo;0rsquo;;

end if;

end process;

process(rclk,en)

-- RAM 读进程

Begin

if (en = #39;1#39;) then

if ( rclkevent and rclk = #39;1#39; )then

if (rtmp = '1111111111') then

rtmp lt;= '0000000000”;

else

rtmp lt;= rtmp 1;

end if;

else null;

rtmp lt;= rtmp 1;

end if;

else null;

end if;

if(rtmp = '0111111111' or rtmp = '1111111111')then

page-empty lt;= #39; 1 #39;;

else

page-empty lt;= #39;0;

end if;

end process;

2.4.3 SDRAM控制器模块

SDRAM是具有同步接口的高速动态随机存取存储器(DRAM)。 SDRAM的同步接口和完全流水线的内部架构可以有效地使用极快的数据速率。 SDRAM由使用RASN,CASN和WEN信号的组合形成的总线命令控制。必须先打开SDRAM存储区,才能写入或读取地址范围。用于访问SDRAM的主要命令是读(RD)和写(WR)。当WR命令发出时,初始列地址和数据字被注册。当RD命令发出时,初始地址被注册。时钟后,数据总线上显示初始数据。定期发布自动刷新命令以确保数据保留。这些功能由SDRAM控制器执行。 SDRAM控制器由四个主要模块,SDRAM控制器,控制接口,命令和数据路径模块组成。控制接口模块从SDRAM设备初始化和SDRAM读写命令模块接受命令和相关的存储器地址,对命令进行解码,并将请求传递给命令模块。命令模块从控制接口模块接受命令和地址,并向SDRAM生成正确的命令。数据路径模块在写入和读取命令期间处理数据路径操作。 SDRAM控制器的框图如图7所示。

图7 SDRAM控制器

SDRAM控制器模块采用有限状态机(FSM)设计,SDRAM控制器模块的FSM如图1所示。使用QuartusII软件在VHDL中获得SDRAM控制器模块。

图 8 SDRAM控制器的有限状态机

3 在印刷电路板设计中的EMC

高速实时数据采集系统电路由模拟电路和数字电路组成。当高速实时数据采集系统工作时,会产生电磁辐射,从而导致电磁干扰(EMI)降低系统性能。在本文中,以下EMC技术用于印刷电路板(PCB)设计,以减少系统的EM1 。

  1. 具有分离的接地和电源平面的四层板产生最高水平的信号完整性。信号迹线在顶平面和底平面上布线,并且它们是垂直的,以避免由相互诱导引起的EM1。

2)分配接地和电源层布置成与模拟地和数字地的物理位置以及模拟电源和数字电源相匹配。配置数字电源平面配置为匹配5 V和-5 V(PCI电源引脚),3.3 V(FPGA,SDRAM和ADC电源引脚)和1.5 V(FPGA电源引脚)的物理位置, 两个接地平面在单个点处连接,使得噪声数字接地电流不会干扰模拟地平面。高速数字信号走线远离诸如ADC参考输入,参考基准电压输出等敏感模拟走线。

  1. 所有使用表面贴装器件的旁路电容器尽可能靠近器件,并且最好与ADC的最小电感相同。遵循相同的规则绕过数字电源到数字地面。

4)所有并行信号迹线的路由满足3

全文共9172字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[143042],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。