基于FPGA的数据采集系统.docx
- 文档编号:26252297
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:42
- 大小:678.90KB
基于FPGA的数据采集系统.docx
《基于FPGA的数据采集系统.docx》由会员分享,可在线阅读,更多相关《基于FPGA的数据采集系统.docx(42页珍藏版)》请在冰豆网上搜索。
基于FPGA的数据采集系统
密级
学号
090602119
院、(系)
计算机科学与
工程学院
题目:
基于FPGA的数据采集系统设计
学位申请人:
张轩
指导教师:
肖锋
学科专业:
计算机科学与技术
学位类别:
工学学士
2013年06月
本科毕业设计(论文)
题目:
基于FPGA的数据采集系统设计
院(系):
计算机科学与工程学院
专业:
计算机科学与技术
班级:
学生:
学号:
指导教师:
2013年6月
西安工业大学毕业设计(论文)任务书
院(系)计算机专业计算机科学与技术班090602姓名学号090602119
1.毕业设计(论文)题目:
多通道数据采集仪设计
2.题目背景和意义:
信息社会的发展,在很大程度上取决于信息与信号处理技术的先进性。
数字信号处理的出现改变了信息与信号处理技术的整个面貌,而数据采集作为数字信号处理的必不可少的前期工作,在整个数字系统中起到关键性、乃至决定性作用,其应用已深入到信号处理的各个领域中。
实时信号处理、数字图像处理等领域对高速度、高精度数据采集卡的需求越来越大,所以对此领域的研究很有实际意义和价值。
3.设计(论文)的主要内容(理工科含技术指标):
主要内容有:
(1)设计数据采集硬件部分,包括主要完成四路A/D采样、四个A/D采集通道,四个通道同时工作,互不影响与雷达系统的同步、雷达系统相关信息的收集、将处理后的数据通过串口送到系统内存。
雷达数据采集的主要工作都是在数据采集板上完成。
(2)为系统提供一个稳定的软件运行环境,实现与系统硬件的良好衔接,编制相应的驱动程序,完成整个数据采集系统的控制工作,设计为用户提供良好的人机交互窗口。
(3)完成1.5万字毕业论文,完成与课题相关的外文资料的翻译。
4.设计的基本要求及进度安排(含起始时间、设计地点):
本次课题从2012年12月开始,在校内完成,具体的进度安排如下:
第1~3周:
查阅书籍资料,学习相关软件,准备开题报告。
第4周:
分析设计任务,设计总体方案,研究算法。
第5~12周:
模块设计、完成3000个单词以上的相关外文资料翻译;中期总结。
第13~15周:
模块设计、系统调试。
第16~17周:
系统测试、撰写毕业论文
第18周:
对论文排版和打印,制光盘;论文答辩。
5.毕业设计(论文)的工作量要求
①实验(时数)*或实习(天数):
上机600小时
②图纸(幅面和张数)*:
③其他要求:
指导教师签名:
年月日
学生签名:
年月日
系(教研室)主任审批:
年月日
基于FPGA的数据采集系统设计
摘要
针对以往采用MCU(微控制单元)设计实现的数据采集卡速度低、容量小,无法胜任一些实时性高、数据量大、多通道并行的数据采集要求,本文采用FPGA(现场可编程门阵列)进行信道前端处理,以FPGA为采集的核心控制芯片并用于参数的存储与读写,设计了一种快速、多通道并行数据采集卡。
在FPGA内部实现了4个SPI数据通信接口和一个串口,SPI接口用于和高速AD芯片进行通信,串口用于将采集到的数据发到PC机,便于大量数据存储。
上位机有简洁易操作的人机交互界面,用于控制下位机启动与停止,还能以图形的形式显示出被采集信号的波形。
整个系统从符合操作简便、界面友好、可靠性高的要求出发,将繁琐的下位机控制完全隐藏与友好的人机交互界面之后。
下文将详细的讲解整个系统的背景、用途、使用环境、工作原理、每个模块的工作原理。
关键词:
数据采集;FPGA;多通道并行
FPGA-baseddataacquisitionsystemdesign
Abstract
ForthepastusingMCU(microcontrolunit)designandimplementationoflow-speeddataacquisitioncard,thecapacityissmall,incompetentsomereal-timehigh,datavolume,multi-channelparalleldataacquisitionrequirements,weuseFPGA(fieldprogrammablegatearray)thechannelfront-endprocessing,FPGAasthecorecontrolchipcollectedandusedforparameterstorageandreadandwrite,thedesignofafast,multi-channelparalleldataacquisitioncard.WithintheFPGAtoachievethefourSPIdatacommunicationinterfaceandaserial,SPIinterfaceisusedforcommunicationandhigh-speedADchip,serialportisusedtocollectthedatasenttoaPCforstoringlargeamountsofdata.TherearesimpleandeasytooperatePCinteractiveinterfaceforcontrollingthelowermachinestartandstop,butalsoingraphicalformshowingthewaveformofthesignaliscollected.Theentiresystemfromthemeetsimple,user-friendly,highreliabilityrequirements,thecumbersomeplaceunderthecontrolcompletelyhiddenwithfriendlyinteractiveinterfaceafterwards.
Keywords:
Datacollection;FPGA;multi-channelparallel
目录
摘要I
AbstractII
1绪论1
1.1前言1
1.2国内外现状1
1.3系统开发的意义2
1.4论文的组织结构2
2开发方案及相关技术简介3
2.1数据采集介绍3
2.1.1模数(A/D)转换器工作原理4
2.1.2ADS7883介绍4
2.2FPGA介绍5
2.2.1cycloneII介绍6
2.3通信协议介绍7
2.3.1SPI协议简介7
2.3.1uart协议简介8
2.4软件开发环境介绍9
2.4.1QuartusII简介9
2.4.2MicrosoftVisualStudio2010简介10
3系统硬件设计11
3.1系统硬件设计11
3.2前置放大电路12
3.3滤波电路13
3.4模数转换电路13
3.4FPGA设计17
3.4.1 FPGA整体设计17
3.4.2 SPI接口设计18
3.4.3控制模块设计18
3.4.4 数据打包模块设计19
3.4.5 UART模块设计20
4系统软件设计23
4.1上位机软件整体设计23
4.2用户界面设计23
4.3串口模块设计25
4.4文件操作25
5系统测试27
5.1测试的目标27
5.2FPGA功能测试27
5.3上位机软件测试29
5.4集成测试30
5.4测试评价30
结论31
致谢32
参考文献33
毕业设计(论文)知识产权声明34
毕业设计(论文)独创性声明35
1绪论
1.1前言
计算机技术在飞速发展,微机应用日益普及深入,微机在通信、自动化、工业自动控制、电子测量、信息管理和信息系统等方面得到广泛的应用。
在冶金、化工、医学和电器性能测试等许多应用场合需要同时对多通道快变的模拟信号进行采集、预处理、暂存和向上位机传送,再由上位机进行数据分析处理、自动报表生成、信号波形显示和输出打印等处理。
随着大规模集成电路技木的迅速发展,微处理器、存储器、输入/输出等外围接口器件的性能不断提高,体积越来越小,价格越来越低,使数据采集器不断向智能化、小型化发展,使智能化仪器的研制已经成为当今研制的主要方向。
模拟仪器存在输出动态范围小,对大动态信号处理线性差,因而精度低、信号不可记录等缺点。
在模拟电子技术领域中,由于使用了包括模数转换器件在内的数字器件,因而在精度、简化电路结构、灵活、方便等方面取得很大的进步。
模拟技术和数字技术混合运用以综合发挥两者的优势己是电子技术发展的必然趋势。
而且微处理器由于价格越来越低,功能也不断增强。
以数字化仪器为主的数据采集处理技术越来越广泛地应用于工业过程控制及实时观察工业生产的动态及趋势。
传统获取现场数据的方法,效率低、误差大、难以输入计算机。
而数据采集器是一种具有现场实时数据采集、处理功能的自动化设备,它具备实时采集、自动存储、即时显示、即时反馈、自动处理、自动传输等功能。
为现场数据的真实性、有效性、即时性、可用性提供了保证,并能方便输入计算机,已广泛应用在工业、农业、商业、交通、物流、仓储等行业。
1.2国内外现状
数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、显示、存储和显示。
它起始于20世纪中期,在过去的几十年里,随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前社会的发展主流方向。
各种领域都用到了数据采集,在石油勘探、科学实验、飞机飞行、地震数据采集领域已经得到应用。
我国的数字地震观测系统主要采用TDE-124C型TDE-224C型地震数据采集系统。
近年来,又成功研制了动态范围更大、线性度更高、兼容性更强、低功耗可靠性的TDE-324C型地震数据采集系统。
该数据采集对拾震计输出的电信号模拟放大后送至A/D数字化,A/D采用同时采样,采样数据经DSP数字滤波处理后,变成数字地震信号。
该数据采集系统具备24位A/D转化位数,采样率有50HZ、100HZ、200HZ。
由美国PASCO公司生产的“科学工作室”是将数据采集应用于物理实验的崭新系统,它由3部分组成:
(1)传感器:
利用先进的传感技术可实时采集技术可实时采集物理实验中各物理量的数据;
(2)计算机接口:
将来自传感器的数据信号输入计算机,采样速率最高为25万次/S;(3)软件:
中文及英文的应用软件。
受需求牵引,新一代机载数据采集系统为满足飞行实验应用也在快速地发展。
如爱尔兰ACRA公司2000年研发推出的新一代KAM500机载数据采集系统到了2006年。
本系统采用16位(A/D)模拟数字变换,总采样率达500K/S,同步时间为+/-250ns,可以利用方式组成高达1000通道的大容量的分布式采集系统。
1.3系统开发的意义
本系统采用下位机负责模拟数据的采集,FPGA负责采集四路数据,并应答主机发送的命令,上位机即主机是负责处理接受过来的数字量的处理及显示,主机和从机之间用RS-232进行通信。
这样用户可以在上位机上编写各种程序对文件中的数据进行有效查询和分析,有利于工业过程的长期正常运行和检查。
该系统下位机控制芯片采用的是alter公司的EP2C5Q208C8N,此芯片是cyclone2系列LES最小的只有4608LES,208个引脚提供142个通用IO口,对于本系统来说,能够满足设计要求。
1.4论文的组织结构
本论文的组织结构如下:
第一章:
介绍关于多通道数据采集系统的开发背景、开发意义以及文档的组织结构。
第二章:
介绍了开发系统过程中所使用的相关技术,及系统中所使用芯片的简单介绍。
第三章:
介绍了本系统的硬件设计。
第四章:
介绍了本系统的软件设计。
第五章:
介绍了软件的测试过程。
第六章:
介绍了开发者对研究本课题后的总结及心得体会。
2开发方案及相关技术简介
2.1数据采集介绍
数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。
数据采集技术广泛引用在各个领域。
70年代初,随着计算机技术及大规模集成电路的发展,特别是微处理器及高速A/D转换器的出现,数据采集系统结构发生了重大变革。
原来由小规模集成的数字逻辑电路及硬件程序控制器组成的采集系统被微处理器控制的采集系统所代替。
由微处理器去完成程序控制,数据处理及大部分逻辑操作,使系统的灵活性和可靠性大大地提高,系统硬件成本和系统的重建费用大大地降低。
在该系统中需要将模拟量转换为数据量,而A/D是将模拟量转换为数字量的器件,他需要考虑的指标有:
分辨率、转换时间、转换误差等等。
而单片机是该系统的基本的微处理系统,它完成数据读取、处理及逻辑控制,数据传输等一系列的任务。
在该系统中采用的是cyclone2系列FPGA。
FPGA有良好的并行特性,可以同时控制多个AD进行数据采集,并且各个AD之间互不干扰。
系统结构图如图2.1:
图2.1系统结构图
2.1.1模数(A/D)转换器工作原理
A/D转换器(Analog-to-DigitalConverter)又叫模/数转换器,即是将模拟信号(电压或是电流的形式)转换成数字信号。
这种数字信号可让仪表,计算机外设接口或是微处理机来加以操作或胜作使用。
A/D转换器(ADC)的型式有很多种,方式的不同会影响测量后的精准度。
A/D转换器的功能是把模拟量变换成数字量。
由于实现这种转换的工作原理和采用工艺技术不同,因此生产出种类繁多的A/D转换芯片。
A/D转换器按分辨率分为4位、6位、8位、10位、14位、16位和BCD码的31/2位、51/2位等。
按照转换速度可分为超高速(转换时间=330ns),次超高速(330~3.3μS),高速(转换时间3.3~333μS),低速(转换时间>330μS)等。
A/D转换器按照转换原理可分为直接A/D转换器和间接A/D转换器。
所谓直接A/D转换器,是把模拟信号直接转换成数字信号,如逐次逼近型,并联比较型等。
其中逐次逼近型A/D转换器,易于用集成工艺实现,且能达到较高的分辨率和速度,故目前集成化A/D芯片采用逐次逼近型者多;间接A/D转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型(积分型),电压/频率转换型,电压/脉宽转换型等。
其中积分型A/D转换器电路简单,抗干扰能力强,切能作到高分辨率,但转换速度较慢。
有些转换器还将多路开关、基准电压源、时钟电路、译码器和转换电路集成在一个芯片内,已超出了单纯A/D转换功能,使用十分方便。
AD转换器需注意的项目:
取样与保持、量化与编码、分辨率、转换误差、转换时间、绝对精准度、相对精准度。
2.1.2ADS7883介绍
ADS7883是一个12位,3MSPS模拟到数字转换器(ADC)。
该器件包括一个电容器的SAR的A/D转换器固有的采样和保持。
在设备的串行接口控制由CS和SCLK信号与微处理器和DSP的无缝连接。
在输入信号进行采样的下降CS,和SCLK的边缘用于转换和输出的串行数据。
该器件工作在宽电源电压范围,从2.7V至5.5V低功耗的设备使其适合电池供电。
该器件还包括一个电源掉电保存功能,用于该设备工作在较低的转换速度。
高层次的数字输入到该设备并不限于器件VDD。
因此,数字输入可以去高为5.5V时,设备供应是2.7V.此功能是非常有用的数字信号时所收到另一个电路与不同的供应水平。
这也减少了上电顺序的限制。
ADS7883是在6引脚SOT23封装,工作环境从-40°C至125°C。
ADS7883内部结构图如图2.2所示:
图2.2ADS7883内部结构图
ADS7883用单向SPI(SerialPeripheralInterface--串行外设接口)接口和主机通信,SPI接口控制线少、协议简单、易于控制,图2.3为ADS7883通信时序图,CS为通信使能信号,在总线空闲时CS保持高电平。
当有数据需要发送时以CS下降沿为启动信号。
Sclk为时钟信号,sclk有两种用途,sclk为AD采集提供可靠的采样时钟,sclk还用于提供SPI数据通信时的同步时钟。
Sdo为串行数据数据通信端口,用于输出被量化后的模拟信号到主机。
数据在CS下降沿启动转换,在CS下降沿以有两个周期的等待时间,在第三个周期的数据表示串行数据的最高位,接着由高位到低位输出其余的11个数据位。
在数据转换的过程中CS最少要保持14个周期的低电平,确保数据能完整输出。
在下一次数据开始采集之前(即下一个CS下降沿)确保上一次数据采集时间大于16个时钟周期。
图2.3ADS7883通信时序图
2.2FPGA介绍
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。
这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。
在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。
FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。
现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。
FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。
FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
2.2.1cycloneII介绍
在第一代Cyclone器件系列之后,Altera的CycloneIIFPGA系列扩大低成本的FPGA的密度,最多达68,416个逻辑单元(LE),提供622个可用的输入/输出引脚和1.1M比特的嵌入式寄存器。
CycloneII器件的制造基于300毫米晶圆,采用台积电90nm、低K值电介质工艺,这种工艺技术是使用低绝缘体过程以确保了快速有效性和低成本。
通过使硅片面积最小化,CycloneII器件可以在单芯片上支持复杂的数字系统,而在成本上则可以和ASIC竞争。
不像其他用电力功耗和性能来换取低成本的FPGA卖主,Altera最新一代低价位的FPGA——cycloneIIFPGA系列,和同类90nmFPGA器件相比,它提高了百分之六十的性能和降低了一半的功耗。
低成本和优化特征使CycloneIIFPGA系列为各种各样的汽车、消费、通讯、视频处理、测试与测量、和其他最终市场提供理想的解决方案。
本系统下位机采用的控制芯片采用CycloneIIFPGA芯片EP2C5Q208C8,它拥有4,608个LEs,片上RAM共计119,808bits),13个18×18硬件乘法器、2个高性能PLL以及多达142个用户自定义IO。
板上提供了大容量的SDRAM和FlashROM等存储单元。
2.3通信协议介绍
通信协议(communicationsprotocol)是指双方实体完成通信或服务所必须遵循的规则和约定。
协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保数据顺利地传送到确定的地方。
在计算机通信中,通信协议用于实现计算机与计算机之间的通信标准,如果没有统一的通信协议,电脑之间的信息传递就无法识别。
通信各方事前约定的通信规则,可以简单地理解为各计算机之间进行相互会话所使用的共同语言。
两台计算机在进行通信时,必须使用的通信协议。
以下段落简单介绍spi通信协议和uart通信协议。
2.3.1SPI协议简介
SPI(SerialPeripheralInterface)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。
外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。
SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:
串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。
SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。
也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCLK(时钟),CS(片选)。
(1)MOSI–SPI总线主机输出/从机输入(SPIBusMasterOutput/SlaveInput)
(2)MISO–SPI总线主机输入/从机输出(SPIBusMasterInput/SlaveOutput)
(3)SCLK–时钟信号,由主设备产生
(4)CS–从设备使能信号,由主设备控制(Chipselect),有的IC此pin脚叫SS
其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。
这就允许在同一总线上连接多个SPI设备成为可能。
在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。
在多个从设备的系统中,每个从设备需要独立的使能信号。
2.3.1uart协议简介
UART是一种通用串行数据总线,用于异步通信。
该总线双向通信,可以实现全双工传输和接收。
在嵌入式设计中,UART用来主机与辅助设备通UART通信协议有以下几个要点:
1.发送/接收逻辑
发送逻辑对从发送FIFO读取的数据执行“并→串”转换。
控制逻辑输出起始位在先的串行位流,并且根据控制寄存器中已编程的配置,后面紧跟着数据位(注意:
最低位LSB先输出)、奇偶校验位和停止位。
在检测到一个有效的起始脉冲后,接收逻辑对接收到的位流执行“串→并”转换。
此外还会对溢出错误、奇偶校验错误、帧错误和线中止(line
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 数据 采集 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)