下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于基于FPGA的高速实时数据采集存储系统的介绍和分析在传统的数据采集系统中,A/D的控制和数据的转存均通过CPU或者MCU来完成。在这种方式下,将A/D转换的结果读入,然后再转存到片外的存储器中,这一过程至少需要4个机器周期。即使对于ARM芯核的单片机(CPU采用流水线结构,1个机器周期占1个CLK),使用33MHz的晶振,它的最高转存数据速度也只达到8Mbit/s.在高速采样系统中,这种方式一方面占用太多CPU资源,另外也远远不能满足高速采样的速度要求。同时,在数据采集系统的前端数字信号处理(DSP)中,如FFT、FIR、IIR滤波等,以往一般都是利用DSP内部的硬件乘法器加软件控制来实现。DSP的工作方式是通过内部的CPU逐条执行软件指令来完成各种运算和逻辑功能的,在排队式串行指令执行方式下,工作速度和效率也将降低。为了提高数字信号处理速度,现在一些实现专用算法的DSP模块和通信接口也由FPGA或者CPLD实现。基于上述原因,设计了以Virtex-5系列的XC5VLX50为核心处理芯片的多路数据采集系统,它以硬件电路方式来提高速度[1]。1高速数据采集系统设计
1.1高速数据采集系统的基本电路结构
系统中,通过多路数据选择器选定多路信号中的一路进行采集,在高速状态机控制下,将采集到的模拟信号经过多片A/D器件流水转换之后,转换结果直接储存到FPGAXC5VLX50TFFG1136内部由BlockRAM构建的高速缓冲RAM阵列中,然后转存至低速存储器(FLASHMEMORY)中,再由FPGA构成的专用数字信号处理单元进行数据处理。在嵌入式硬核CPUPowerPC405的控制下又可以将FLASHMEMORY中的数据送入PCI总线设备或者硬盘中长期存储,同时也可以将采样结果在LCD上显示。该系统的结构框图如图1所示。虚线内部的功能都是通过对FPGA芯片XC5VLX50TFFG1136硬件编程实现。1.2FPGA芯片XC5VLX50
XC5VLX50内部有丰富的资源,包括8个数字时钟管理器(DCM,290Kbits的分布RAM,88×16KByte的BlockRAM,88个18×18的专用乘法器(DedicatedMultipliers)单元,2个Pow2erPC405内核,564个可配置I/O引脚达(最多276对差分I/O,
速度高达31125Gbit/s,最高内部工作频率540MHz.Power2PC405内核通过Xilinx提供的IP软核编程实现,文中使用了内
部一个PowerPC405作为主控制器,用来完成高分辨率的液晶显示器的控制和一些外围设备和整个系统的协调性控制[2]。2流水采样实现
采用高带宽(1GHz)高速(80MHz)低功耗A/D芯片AD9432(12bit)作为A/D转换器件,采样时钟由XC5VLX50内部的锁相环实现。AD9432是一种单流水线ADC,它采用多个低精度闪电式ADC对采样信号进行分级量化,然后将各级的量化结果组合起来以构成一个高精度的量化输出。各级电路分别有自己的跟踪保持电路,因此当每级电路把信号传给下级电路时就可以接收上级传过来的数据,每级电路一次采样可在一个时钟周期内完成,但是存在流水线延迟的问题,AD9432采样转换过程如图2所示。每次采样的最终转换结果要等待6~7个时钟周期后才能出现在输出端。AD9432的控制以及数据的缓冲转存采用状态机控制,当AD9432接收到CLK信号后开始采样。由于每块A/D的最高采样率仅有80MHz,在此采用了4块AD9432进行
流水采样,每块A/D的采样时钟相位延迟90°,这样在每个周期内是由4块A/D均匀采样的,采样率等效提高了4倍。4块AD9432采样时钟的相位延迟利用FPGA设计的高速状态机以及内部数字时钟管理器(DCM)来实现。采用4片A/D相位延
迟并行流水采集的过程如图3所示,图中CLK1~4是4片A/D的采样时钟,在这种流水采集中,单流水线延迟的影响可以忽
略[3]。3数据的转存设计和分析验证
采集到的信号经过A/D器件转换之后,通过XC5VLX50内部高速缓冲,转存到片外存储器FLASHMEMORY中。系统中
XC5VLX50内部BlockRAM阵列的控制比较简单,采用乒乓操作大大降低了采样数据读取处理速度。16块BlockRAM分成
2组,时钟和控制信号均独立。系统工作时,高速状态机会不断地往BlockRAM中放入采集到的数据。当采样数据放满1组
的8块BlockRAM后自动切换到另外一组。同时并行从刚刚放满的8块BlockRAM中以64位的并行数据读入FLASH
MEMORY中(FLASHMEMORY内存具有可靠性高、互换性好、容量大等特点)[4]。
采用流水方式的4片12位的A/D的采样频率为320MHz,则数据流为480Mbit/s,但是FLASHMEMORY的最大存储速度为20Mbit/s(忽略编程时间).为了实现数据的实时存储,采用面积换取速度的原理,充分利用XC5VLX50的内部逻辑资源和丰富的I/O口资源,设计了2个存储器阵列,每个存储器阵列由24片FLASHMEMORY,在XC5VLX50内部进行乒乓操作,把480Mbit/s的数据量分流成20Mbit/s,分别存储到24片FLASHMEMORY中,当FLASHMEMORY达到编程时间的时候转向第二个存储阵列,这样的外部乒乓操作就达到了FLASHMEMORY的最高存储效率,实现了数据的高速实时采集和存储,2个存储阵列共享控制总线和数据总线,但是使能总线独立;在一个存储阵列内部,存储芯片控制总线共享,数据总线独立,这样能达到紧密协作和节省FPGA逻辑资源和I/O口资源的效果。而设计的FLASHMEMORY控制器的速度达480MHz,数据带宽符合转存需要的速度,完全可以实现实时连续采样。数据采集结束后,DSP模块会在PowerPC405的控制下对FLASHMEMORY内存中的数据进行高速处理,然后又放回FLASHMEMORY中,处理后的数据也能通过PCI总线传到带有PCI接口的设备中,或者通过USB总线存储到硬盘中,对PCI和硬盘操作均支持DMA66操作[5]。系统的PowerPC405采用Xilinx的IPCore实现。FLASHMEMORYController、PCIController及USBController等功能电
路则是根据相应的数据传输协议自行设计,采用VHDL编程实现,使用ModelSim进行功能仿真,Synplify进行逻辑综合,将综合结果下载到XC5VLX50器件中实现相应的系统逻辑功能。在完成电路的软件与硬件系统设计以后,用Agilent16900LogicAnalysis和高速示波器对该电路进行测试验证。16900
LA的多通道眼图的扫描可以迅速发现FLASHMEMORY总线中一些处于比较危险状态的信号线,比如由于阻抗的不匹配而造成SignalIntegrity方面的问题。而LA可以验证电路时序是否正确。用示波器可以正确地量测到实际信号的波形,并进行眼图的精确扫描。用16900LogicAnalysis测量了FLASHMEM2ORY控制电路的部分时序,结果表明FLASHMEMORY总线逻辑功能正确,符合FLASHMEMORY总线规范标准。对于PCIController、IDEController、DMAController均采用了相同方式进行量测验证,结果均符合其协议规范标准,可以正常稳定地工作。4结束语
介绍了一种基于FPGA控制的,进行多片A/D器件流水采集的高速数据采集系统设计,对流水采样的原理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 读书安全班会
- 集团公司行政上半年工作总结
- 五年级班主任教师的工作总结
- 会计求职信集锦八篇
- 班主任个人述职报告范文集合15篇
- 七年级生物教学工作总结10篇
- 销售培训 讲师课件
- 三八妇女节慰问信范文六篇
- 幼儿五一劳动节发言稿
- 酒店个人年终工作总结范文集锦
- 2024年中国社会科学院招聘笔试冲刺题含答案解析
- 山东青岛幼儿师范高等专科学校招聘考试试题及答案
- 卓有成效的管理者pdf
- 职务侵占罪预防
- 《芣苢》 统编版高中语文必修上册
- 幼儿数学核心经验通用课件
- 2024年英语必修第二册 Unit2 全单元教学设计
- 代理做账创业计划书
- 2023-2024学年人教部编统编版八年级上册历史期末检测卷(含答案解析)
- 文言文教学策略研究报告总结
- 《大学生国防理论与训练指导》第六章 共同条令教育与军训
评论
0/150
提交评论