ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:978.97KB ,
资源ID:2533938      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2533938.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA的高速数据采集系统设计与仿真.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于FPGA的高速数据采集系统设计与仿真.docx

1、基于FPGA的高速数据采集系统设计与仿真本科毕业论文题 目 基于FPGA的高速数据采集系统设计与仿真 学 院 工学院 专 业 农业电气化与自动化 毕业届别 2013 姓 名 杨新华 指导教师 杨婉霞 职 称 讲 师 甘肃农业大学教务处制二一三年五月目 录摘要 2关键词 2前言 31 系统总体方案设计 31.1 需求分析 31.2 系统实现方案 41.3 系统各模块芯片选型 51.3.1 模数转换芯片选型 51.3.2 FPGA芯片选型 71.4系统的采集速度与FIFO的存储容量 71.4.1系统的采集速度 71.4.2FIFO存储容量 72 硬件电路设计 82.1 硬件电路设计工具介绍 82.

2、2 硬件详细设计 82.2.1 硬件整体方案设计 82.2.2 详细电路设计 93 程序的设计与实现 133.1 FPGA设计与仿真工具 133.1.1 FPGA结构 133.1.2 FPGA设计流程 143.1.3 Quartus II介绍 153.1.4 硬件描述语言VHDL简介 163.2 时钟管理模块的设计与实现 163.3 数据采集控制模块的设计与实现 173.3.1 状态机介绍 183.3.2 AD9288时序控制的设计与仿真 183.3.3 AD7278时序控制的设计与仿真 203.4 数据缓存模块的设计与实现 233.4.1 FIFO介绍 233.4.2 FIFO的实现与仿真

3、243.5 总体电路图 253.5.1 并行AD控制电路 253.5.2 串行AD控制电路 26结 论 27参考文献 28致谢 29基于FPGA的高速数据采集系统设计与仿真(xxxxxx电气化及其自动化,甘肃兰州,730070)摘要:本文介绍了以FPGA为核心逻辑控制模块的高速数据采集系统。通过高性能的FPGA芯片与高速ADC相结合来实现高速采集数据的目的。文中详细的介绍了并行接口和串行接口的AD芯片、FPGA芯片的选型,硬件电路设计及其硬件电路设计工具、FPGA程序设计所使用的工具和语言。接着介绍了FPGA内部各模块设计,其中分别介绍了FPGA芯片、时钟管理模块的设计与仿真、采集控制模块与缓

4、冲模块的设计过程并给出了仿真波形。关键词:FPGA 数据采集 VHDL语言Design and Simulation of high-speed data acquisition system based on FPGAXxxxxx(Major in Agricultural Electrification and xxxxxUniversity,Gansu Lanzhou,730070)Abstract: This paper introduces a high speed data acquisition system is the core logic control module ba

5、sed on FPGA. Through the FPGA chip with high performance and speed ADC to realize the combination of high speed data acquisition objective. This paper describes in detail the selection of AD chip, parallel interface and serial interface of the FPGA chip, tool and tool for the design of FPGA program

6、language, used in the design of hardware circuit design and hardware circuit. And then introduces the design of each module in FPGA, which were introduced by FPGA chip, the clock management module design and simulation, acquisition control module and buffer module design process and gives the simula

7、tion waveforms.Key words: FPGA data acquisition in VHDL language前言在工业生产和科学技术研究的各行业中,常常需要对各种数据进行采集,如液位、温度、压力、频率等信息的采集。在图像处理、瞬态信号检测、软件无线电等一些领域,更是要求高速度、高精度、高实时性的数据采集技术1。数据采集系统的任务,就是将采集传感器输出的模拟信号进行处理并转换成计算机能识别的数字信号,由计算机进行相应的计算和处理来满足不同的需要,得出所需的数据。数据采集系统性能的好坏,是由它的精度和速度来决定的。在保证精度的前提下,应当用尽可能高的采样速度,这样才能满足实时采

8、集、实时处理和实时控制对速度的要求2。在传统的数据采集系统中,A/D 的控制和数据的转存均是通过CPU 或者MCU 来完成。在这种方式下,将A/D 转换的结果读入,然后再转存到片外的存储器中这一过程至少需要4个机器周期。即使对于ARM 芯核的单片机(CPU 采用流水线结构一个机器周期占一个CLK), 使用33MHz 的晶振,它的最高转存数据速度也只达到8Mbyte/s 。在高速数据采集系统中,这种方式一方面占用太多CPU 资源,另外也远远不能满足高速采集的速度要求3。在许多应用场合,如雷达、声纳、图像处理、语音识别、地质勘探、光时间域反射测量等,特别是在实时性要求比较高的情况下,往往都需要高速

9、或超高速(Ultra High Speed)数据采集系统。比如相较于供电传输线上高达几千伏的电压变化,浪涌电流的持续时间仅仅是数百纳秒,因此数据采集系统必须具有极高的通过速率才能准确的探测浪涌电流的变化过程;又如在航空航天领域中,无论是航天器颤振和抖振特性测试,还是运载火箭喷气流量动态测试,抑或高空拍摄图像传输等均要求使用高速采集技术来加以实现;此外,高速数据采集技术在等离子体诊断,生物光谱与激光化学等其它各类科学研究中同样有很广泛的应用4。FPGA(现场可编程门阵列)凭借其在数据采集控制方面的高性能和便于系统集成、易扩展等优势逐渐受到广泛应用。高性能的FPGA和高速的A/D应用于数据采集系统

10、中,不仅可以大大提高系统的测量精度、数据采集处理速度、数据传输速度等5,还可以产生巨大的经济效益,因此,对其做进一步研究具有十分重要的现实意义。1 系统总体方案设计1.1 需求分析数据采集系统DAS(Data Acquisition System)是模拟量与数字量之间的转换接口。它在自动测试、生产控制、通信、信号处理等领域占有极其重要的地位。而高速数据采集系统更是航天、雷达、制导、测控、动态检测等高技术领域的关键技术。高速数据采集系统中的采样频率一般在几十MHz到几百MHz,而微机系统由于操作速度的限制,不能够直接参与数据传输。 为了实现高速数据的采集,本文设计一个高速数据采集系统,该系统的主

11、要功能包括A/D转换、提供数据接口、能够独立控制AD工作。 首先,为了实现A/D转换,系统中需要采用高速的AD,完成数据的高速采样与转换。其次,为了实现从数据采集到数据输出的高速运行,需要具有能够控制ADC工作的模块,根据ADC的工作时序控制AD的运行。最后,为了提供系统与其他系统之间的数据接口,需要数据缓存模块,当模拟信号经高速AD数字化后,先直接送缓存区暂存,然后再将数据送至其他系统进行相关的处理、运算。此外,为了保证整个系统的正常工作,还需要为该系统设计时钟管理模块,为系统各部分提供正常工作的时钟。1.2 系统实现方案系统总体框图如图1.1所示。首先对模拟信号进行信号调理,将电信号调整到

12、ADC的输入范围内,然后对信号进行A/D转换。FPGA将采样得到的数据送到缓存,存放至缓存中的数据通过数据接口送至MCU。系统的所有时钟由FPGA统一产生,系统的采样、转换与缓存也由FPGA统一协调控制。系统主要包括三个部分:时钟管理模块、数据采集控制模块和数据缓冲模块。其中时钟管理模块由分频程序实现,为系统各个模块提供正常工作所需的时钟;数据采集控制模块通过控制A/D转换器的时序控制AD的工作;数据缓冲模块通过FPGA内部的FIFO来完成。图1.1 系统总体方案系统工作过程为:模拟信号先经过由模数转换器将模拟信号转化为数字信号后送入FPGA,FPGA再将数据写入FIFO存储芯片,FPGA对F

13、IFO 发出读命令后,FPGA可以将数据从FIFO中读取之后送到读数接口,后续的MCU即可获取所采集的数据。下面主要对数据缓存部分进行讨论与研究。数据缓存在很多情况下用来协调吞吐速率不一致的设备之间的数据传送,CPU中的缓存也起着减少读取时间,加快读取速度的作用。在本设计中,数据缓存器主要是用来解决输入输出速率不一致的问题。可以用来实现缓存的数据存储载体有很多,比如DRAM(动态随机存储器)、SRAM(动态随机存储器)、SDRAM(步动态随机存储器)、DDR SDRAM(倍速率同步动态随机存储器)、FIFO(先进先出存储器)以及DPRAM(双端口随机存储器)和SPRAM(单端口随机存储器)等。

14、各种存储器各有其特点及适用范围。比如FIFO一般可用作不同时钟域的数据传输。与普通存储器相比,FIFO遵循着先进先出的读写规律,没有外部读写地址,简化了使用方式。但缺点在于只能顺序写入或读出数据,数据地址由内部指针自动加1,不能像普通存储器一般通过地址线决定当前操作地址。DDR SDRAM具有速度快、成本低,容量大的优点。与SDRAM相比,其采用了更先进的同步电路,使得地址、数据的输入输出既保持独立,又能与CPU同步。但是它的控制比较复杂,时序要求非常苛刻,需要严格的逻辑与时序来对其进行控制。考虑到充分利用FPGA内部的丰富资源,本设计选用由FPGA内置IP核产生的FIFO来实现数据缓存,同时

15、也不用再选取单独的数据缓存芯片,提高了资源利用率,简化了硬件结构。1.3 系统各模块芯片选型1.3.1 模数转换芯片选型常用的高速AD一般有两种接口,即并行接口与串行接口。在本设计中,为了更全面地研究高速数据采集技术,分别选择并行接口和串行接口的AD各一种。综合采样率、通道数、数据宽度、功耗以及价格等因素,最终决定选择AD9288和AD7278。1.3.1.1 AD9288简介6AD9288 是8bit 双通道并行模/数转换器,具有低功耗、体积小、动态特性好、性价比高的特点。其性能如下:1) 双通道8bits、最高采样速率达100MSPS;2) 低功耗:每个通道 90mw(工作在100MHz

16、时);3) 带宽高:每个通道 475MHz 的模拟带宽;4) 较高的信噪比:SNR=47DB(在41MHz 时);5) 每个通道的模拟输入范围:峰峰电压值为 1V;6) 输出方式可编码:补码形式或偏移码形式;7) 电平兼容 TTL/CMOS;8) 模拟输入峰峰电压为:1.024Vp-p,AD9288 片内提供准确的参考电压为1.25伏;也可以选用外部提供的参考电压。AD9288内部逻辑结构及外部引脚分别如图1.2、1.3所示,AD9288 由两个跟踪/保持放大器,两个A/D变换器,一个逻辑控制器,两个时钟模块,一个内部参考电压模块和两个数据输出模块组成。 图1.2 AD9288内部逻辑结构图

17、图1.3 AD9288外部引脚图1.3.1.2 AD7278 简介7AD7278是一款8位高速、低功耗的逐次逼近型ADC。工作电压为:2.35V至3.6 V单电源,最高吞吐量可达3 MSPS。内部包含一个低噪声、宽带宽采样/保持放大器,可处理30 MHz以上的输入频率。其性能如下:1) 高吞吐量: 3 MSPS;2) 额定电压(VDD):2.35 V至3.6 V ;3) 低功耗:13.5 mW(3 MSPS,3 V电源);4) 宽输入带宽: 70 dB信噪比(1 kHz输入频率);5) 灵活的功耗/串行时钟速度管理;6) 无流水线延迟;7) 高速串行接口;8) SPI/QSPI/MICROWI

18、RE/DSP 兼容;9) 省电模式:最大1 A。AD7278内部逻辑结构及外部引脚分别如图1.4、1.5所示,AD7278由一个跟踪/保持放大器,一个A/D变换器,一个逻辑控制器组成。 图1.4 AD7278内部逻辑结构 图1.5 AD7278外部引脚图1.3.2 FPGA芯片选型 本设计使用FPGA来提供采样时钟、实现数据采集控制与缓存以及对全局时钟的控制,因此是最为关键的中央处理芯片。目前FPGA的产品Altera公司和Xilinx公司的产品系列为主。其中Altera 的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,CycloneI

19、I;还有一种侧重于高性能应用,容量大,性能满足各类高端应用,如Startix,StratixII等。 本设计在综合了接口数量及内部LE数量及实际价格等因素后,最终选择Altera公司Cyclone系列的EP1C6Q240C8芯片,该芯片主要特性为:1) 采用240引脚、贴片封装;2) 拥有6030个LE ; 3) 26个M4K片上RAM(共计239616bits );4) 2个高性能PLL ;5) 多达185个用户自定义IO 。1.4系统的采集速度与FIFO的存储容量1.4.1系统的采集速度 数据采集系统所使用的计算机会极大地影响数据采集的速度,计算机的数据传送能力也会极大地影响数据采集系统的

20、性能。数据传送方式会影响数据采集设备的数据吞吐量。限制采集大量数据的因素常常是硬盘,磁盘的访问时间和硬盘的分区会极大地降低数据采集和存储到硬盘的最大速率。对于要求采集高频信号的系统,就需要为PC选择高速硬盘,从而保证有连续(非分区)的硬盘空间来保存数据。此外,要用专门的硬盘进行采集并且在把数据存储到磁盘时使用另一个独立的磁盘运行操作系统。本课题所选芯片AD9288最高采样速率达100MSPS;AD7278最高高吞吐量3 MSPS,他们会较大的影响到系统的采集速度。由于本人能力有限,对于整个系统的采集速度不做更多的研究。1.4.2FIFO存储容量 FIFO的存储量即FIFO的深度,它指的是FIF

21、O可以存储多少个N位的数据(如果宽度为N)。如一个8位的FIFO,若深度为8,它可以存储8个8位的数据,深度为12 ,就可以存储12个8位的数据,FIFO的深度可大可小。在FIFO实际工作中,其数据的满/空标志可以控制数据的继续写入或读出。在一个具体的应用中也不可能由一些参数算数精确的所需FIFO深度为多少,这在写速度大于读速度的理想状态下是可行的,但在实际中用到的FIFO深度往往要大于计算值。一般来说根据电路的具体情况,在兼顾系统性能和FIFO成本的情况下估算一个大概的宽度和深度就可以了。而对于写速度慢于读速度的应用,FIFO的深度要根据读出的数据结构和读出数据的由那些具体的要求来确定。2

22、硬件电路设计 2.1 硬件电路设计工具介绍Protel是Altium公司在80年代末推出的EDA软件,在电子行业的CAD软件中,排在众多EDA软件的前面,是电子设计者的首选软件,较早就在国内开始使用,在国内的普及率最高。 早期的Protel主要作为印制板自动布线工具使用,运行在DOS环境,对硬件的要求很低,在无硬盘286机的1M内存下就能运行,但功能也较少,只有电路原理图绘制与印制板设计功能,其印制板自动布线的布通率也低,而现今的Protel已发展到DXP 2004,完全安装有200多兆,工作在WINDOWS95环境下,具有完整的板级全方位电子设计系统,包含了电路原理图绘制、模拟电路与数字电路

23、混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有Client/Server(客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印制线路板的自动布线可实现高密度PCB的100%布通率。2.2 硬件详细设计2.2.1 硬件整体方案设计图2.1为硬件设计总体方案框图,硬件设计主要包括电源电路、下载配置电路、外部时钟电路、接口电路及AD9288与AD7278的外围电路。图2.1 硬件设计总体结构2.2.2 详细电路设计1) 电源电路本系统外部电源采用5V输出开关电

24、源。系统中,FPGA 的IO 的电源电压是3.3V,内核的电压是1.5V,AD9288及AD7278的供电电压均可设为3.3V。利用SMV1117电源芯片分别将5V 转到3.3V,将3.3V 转到1.5V,再利用电容与电感电路由1.5V产生FPGA内部PLL所需电压,加上一些旁路电容,即可满足电压需求。具体电路如图2.1所示:图2.1 电源及滤波电路2) 下载配置电路FPGA 通过JTAG 下载代码到片子里运行,代码存放在RAM 里,断电后代码即消失。因此,FPGA需要非易失性存储器用来存放代码,每次上电后把代码从配置芯片读至FPGA然后运行。选用ALTERA 公司配套的AS 模式的配置存储器

25、EPCS1,成本比较低,并且很容易配置,具体电路如图2.2所示:图2.2 下载配置电路3) 外部时钟电路FPGA内部模块工作时需要一个时钟基准,因此需要一个外部晶振,频率为100MHz,具体电路如图2.3所示:图2.3 外部时钟电路4) 接口电路为了将FPGA内部缓存的数据读出,并能够读出FPGA内部FIFO的空满状态,需要设计接口电路将这些信号输出,同时为了给AD9288和AD7278 接入模拟输入信号,需要用接口将信号引入。具体电路如图2.4所示:图2.4 接口电路5) AD9288外围电路AD9288供电电压范围为2.73.6V,本设计用FPGA外围电路产生的3.3V电压供电,模拟电源V

26、D和数字电源VDD,分开供电。为了保证电源质量,在各自的电源引脚与地之间加入了0.1F的去耦电容。AD9288提供了两种信号输入方式,分别是单端输入与差分输入,其中差分输入方式可以减少信号噪声以及电磁的干扰,单端输入模式的性能会有所下降,但考虑到本设计属于低成本的应用,单端输入可保证较好的性能,因此选择单端输入方式,为了保护输入信号,通过50的电阻接地,并串联0.1F的电容。引脚S1、 S2可以用来选择多种操作模式,在使用中,常令S1=1,S2=0,两个通道采集相互独立。AD9288内部有一个稳定精确的125V电压参考,通过将REFINA和REFINB接REFOUT实现内部电压参考。本设计因为

27、是单通道采集系统,所以只用通道A采样数据,输入电压信号范围为-05V+05V。 图2.5 AD9288的外围电路6) AD7278外围电路AD7278供电电压范围为2.353.6V,本设计用FPGA外围电路产生的3.3V电压供电。 为了保证电源质量,在电源引脚与地之间并联了0.1F和680nF的去耦电容。AD7278只有单端模拟输入方式,信号通过VIN从外部接口输入,输入电压范围为0VDD(即3.3V)。SCLK为通道时钟输入引脚,设为50MHz,由FPGA内部逻辑提供。SDATA与数据采集控制模块的输入相连接,由FPGA控制其进行串并转换之后并写入FIFO。图2.6 AD7278外围电路7)

28、 硬件电路整体图图2.7为硬件电路整体框图,将以上各部分电路综合布局,置于一张电路图中,合理布局之后,生成硬件电路。图2.7 硬件电路3 程序的设计与实现在上一章设计的硬件电路的基础上,本章将进行FPGA内部程序的具体设计。在本系统中,FPGA是控制整个系统工作的核心,首先在其内部实现各模块的设计与仿真,然后设计出顶层电路原理图。其中数据采集控制模块负责对A/D转换进行时序控制,实现AD转换的正常工作。FPGA利用时钟管理模块产生时钟用以作为采样时钟,采样数据被送至FIFO进行缓存处理。3.1 FPGA设计与仿真工具3.1.1 FPGA结构FPGA具有可编程性,可以对其反复烧写,因此采取的是一

29、种支持反复配置的结构而不可能像传统的ASIC一样通过与非门来完成。当前的主流FPGA采用了基于SRAM的查找表结构,还有一些军用与宇航领域的FPGA使用Flash或者熔丝与反熔丝工艺的查找表结构口。FPGA通过对文件烧写来配置查找表的内容,使得在同样的电路下实现不同的逻辑功能。图3.1 FPGA的结构原理图3.1是FPGA的基本结构组成。在FPGA内部最重要的组成部分是可编程输入输出单元、可编程逻辑单元和嵌入式块RAM。输入输出单元分布在FPGA四周,是芯片与外界电路的接口,可以配置不同电气特性的接口标准如SSTL、HSTL、LVDS和PCI等;可编程逻辑单元通常都是由查找表(LUT)和寄存器

30、(Register)构成。FPGA含有数量巨大的基本可编程逻辑单元。它们是可编程逻辑的主体,通过其内部配置的改变可以实现多种不同的逻辑功能;嵌入式块RAM即通过FPG内部嵌入可编程Block RAM,极大的扩展了FPGA的应用范围。一般说来,不同器件厂商或者不同器件族的内嵌Block RAM结构有所不同,但基本都可以灵活配置成各种常用存储结构比如单口RAM、双口RAM、伪双口RAM、CAM以及FIFO等。除了以上模块,FPGA还可能包括了如DSP、高速串行收发器等其它模块口。具体选择时要综合考虑设计需求、成本与规模、速度、封装还有所需要的专用功能模块等因素8。3.1.2 FPGA设计流程FPG

31、A产品发展到现在,已经有完整的开发系统与设计流程。通常说来,比较完整的FPGA设计流程主要包括设计输入、功能仿真、综合、功能仿真(综合后仿真)、布局布线、时序仿真(后仿真)和调试几个部分。流程图如图3.2所示:图3.2 FPGA的设计流程FPGA的设计输入主要有硬件描述语言HDL、状态图和原理图三种输入方式。原理图设计输入法在早期比较常见,但在现在的大型设计中它的可维护性较差。由于硬件描述在可移植性和规范性上面的优势,现在的大多数设计采用了HDL开发平台,其中应用最广泛的语言是VHDL和Verilog HDL9。3.1.3 Quartus II介绍Quartus II是Altera公司推出的目前应用非常广泛的一款EDA开发系统。它是一个完整的多平台设计环境。它可以轻松满足特定设计的需要,并且提供可编程片上系统(SOPC)设计的综合开发平台,是SOPC设计的基础。Quartus II 将设计、综合、布局、仿真验证、和编程下载以及第三方EDA工具集成在一个无缝的环境中,可以进行系统级设计、嵌入式系统级设计和可编程逻辑器件设计。Quartus II开发工具提供了完全集成,且与电路结构无关的数字逻辑设计环境,以及SOPC设计的嵌入式系统开发

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2