基于FPGA的AD采样控制电路设计毕业设计.docx
- 文档编号:24156700
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:26
- 大小:391.88KB
基于FPGA的AD采样控制电路设计毕业设计.docx
《基于FPGA的AD采样控制电路设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的AD采样控制电路设计毕业设计.docx(26页珍藏版)》请在冰豆网上搜索。
基于FPGA的AD采样控制电路设计毕业设计
中国电子科技大学
毕业设计(论文)
基于FPGA的A/D采样控制电路设计
学院名称
信息与通信工程学院
专业名称
集成电路
学生学号
123456789
学生姓名
学生姓名
指导教师
教授姓名
助理指导老师
老师姓名
202X年X月
摘要
A/D转换是实现模拟信号向数字信号转换的桥梁,近年来有关A/D转换器的集成电路(IC)开发及其应用技术受到人们的普遍关注。
随着集成电路技术的发展,传统的方法进行芯片或系统设计已不能满足要求,需要提高设计效率,而VerilogHDL设计方法大大降低了设计难度。
本文介绍了可编程逻辑器件FPGA对逐次逼近型模数转换芯片ADC0809的采样控制。
对模数转换原理以及逐次逼近型模数转换芯片ADC0809的组成、工作原理、功能等进行了分析。
描述了FPGA的发展、基本结构、VerilogHDL语言的应用设计,尤其是采用状态机对ADC0809采样控制的硬件语言描述,同时给出采样控制电路在QuartusⅡ集成开发软件环境下的功能仿真结果,并对仿真结果进行了较为详细的分析。
关键词:
A/D采样;VerilogHDL;FPGA;QuartusⅡ;状态机
Abstract
A/Dconverteranalogsignalisconvertedtoadigitalsignalbridge,inrecentyearsabouttheA/Dconverterintegratedcircuit(IC)developmentandapplicationoftechnologyhasbeenwidespreadconcern.Withthedevelopmentofintegratedcircuittechnology,thetraditionalchiporsystemdesignmethodscannotmeettherequirements,theneedtoimprovethedesignefficiency,andVerilogHDLdesignapproachgreatlyreducesthedesigneffort.ThisarticledescribestheprogrammablelogicdeviceFPGAsuccessiveapproximationanalog-to-digitalconversionontheADC0809chipsamplingcontrol.Principlesforanalog-digitalconversion,andthenumberofsuccessiveapproximationconverterchipADC0809moldcomposition,workingprincipleandfunctionwereanalyzed.DescribestheFPGAdevelopment,thebasicstructure,VerilogHDLlanguageapplicationdesign,especiallytheuseofstatemachineADC0809samplingcontrolhardwaredescriptionlanguage,andgivesthesamplingcontrolcircuitinanintegratedsoftwaredevelopmentenvironmentQuartusⅡfunctionalsimulationresults,andthesimulationresultsforamoredetailedanalysis.
Keywords:
A/Dsampling;VerilogHDL;FPGA;QuartusⅡ;statemachine
摘要
第一章绪论
1.1引言
PLA可编程逻辑阵列是在20世纪70年代中期出现的,它是PLD器件的雏形,PLA在结构上由可编程的与阵列和可编程的或阵列构成。
当时,阵列的规模比较小,所以编程繁琐。
在目前,PLA已经被淘汰。
到后来,在PLA的基础上进行了些许改动,就演变成了PAL,PAL它是由可编程的与阵列和固定的或阵列组成,采用的工艺是熔丝编程,这些改动很大程度上简化了设计算法,所以PAL是成为了第一个得到广泛使用的PLD器件。
到了20世纪80年代中期,Lattice公司继续对PAL改动,于是GAL器件就诞生了,GAL首次采样EEPROM,这一创造性举动使GAL具有电可擦除重复编程。
最好CPLD在GAL的基础上改动,今天的FPGA终于诞生了。
当今世界是数字化的世界,是数字集成电路快速发展并广泛应用的世界。
数字集成电路它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路以及很多具有特定功能的专用集成电路。
在计算机控制电路中,经常需要采集各种模拟量信号,并进行模数转换,将外部设备的模拟信号转换成数字信号,以用于计算机加工处理。
在一般情况下,计算机应用系统中用一般MCU(如51单片机或控制型DSP)就可以完成系统任务的。
但随着数字信号处理技术的快速发展,在一些由单片机组成的小型系统中,对信号进行处理要求最底层的数据采集系统必须具有更高的采样速率,同时可以提供更丰富的原始数据信息。
本文设计是利用FPGA器件直接与ADC0809相连进行采样控制,ADC0809将数据传送给FPGA器件,经译码处理后传送到数码管中显示。
1.2课题研究背景和意义
当今是数字化时代,而现实世界中的信号往往是模拟信号(如温度,压强,声音,位移,湿度),要用计算机处理这些信号就必须先进行采样,把模拟信号转换为数字信号。
随着信息时代的到来,各种系统对底层采样的要求越来越高,既要采样速度快,也要能提供丰富的原始数据。
为了达到这样的要求,本设计采用FPGA器件来控制采样。
1.3论文的主要任务
1本文需要设计一个基于FPGA的A/D采样控制电路,完成A/D转换芯片的外围电路,状态设计,以及完成数码显示功能设计。
2在QuartusⅡ中做出控制模块的时序仿真
第二章A/D转换和FPGA的简介
2.1A/D转换的介绍
模拟信号通过一定的电路于是转变成了数字信号,这样的电路称为A/D转换器。
模拟信号可以是电信号,也可以是非电信号,如压力、温度、湿度、位移、声音等。
但是,输入A/D转换器的信号必须是电信号。
所以如果模拟量是非电信号时,必须先经各种传感器把非电信号转换成电压信号。
经过A/D转换后,输出的数字信号的位数有多种选择,可以有8位、10位、12位、14位和16位等。
图2.1是逐次逼近型A/D转换器的内部结构图
图2.1
2.2FPGA的相关知识
FPGA(FieldProgrammableGateArray)现场可编程逻辑门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
FPGA是一种半制定的专用集成电路,它既解决了定制电路的不良之处,同时又克服了原有可编程器件门电路数太少的缺点。
FPGA是当今数字系统设计的主要硬件基础,它主要特点就是全部通过用户设计软件来完成电路,从而实现用户需要的功能,并且可以反复擦写。
当用户需要修改和升级已经设计好的电路时,不需额外地改变PCB电路板,只是在计算机上把程序更新,修改,下载到FPGA器件中就可以实现系统的升级,这些特点使硬件设计的工作成为软件开发工作,大大缩短了设计系统的周期,提高了实现的灵活性而且降低了开发成本。
FPGA器件总体结构是由逻辑功能块排列成阵列组成,并由可编程的内部连线连接这些逻辑功能块来实现。
典型的FPGA器件通常包含三类基本资源。
可编程逻辑块,可配置输入/输出模块,可编程内部互联资源。
FPGA的设计流程大体上分为系统规范,模块设计,设计输入,仿真功能,综合,布局布线,时序验证,配置下载等步骤。
图2.2是FPGA的设计流程图。
图2.2
第三章系统硬件设计
3.1A/D转换芯片的选择
本设计选用的A/D转换芯片为ADC0809,ADC0809是CMOS的8位A/D转换器,片内有8路模拟开关,它可以通过地址信号控制8个模拟量中的一个进入转换器中。
ADC0809各脚功能如下:
D7-D0:
输出引脚。
IN0-IN7:
输入引脚。
VCC:
+5V工作电压。
GND:
地。
REF(+):
参考电压正端。
REF(-):
参考电压负端。
START:
启动信号输入端。
ALE:
地址锁存信号输入端。
EOC:
转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。
OE:
输出允许控制端。
CLK:
时钟信号输入端
A、B、C:
地址输入线。
ADC0809应用说明
ADC0809内部带有一个输出锁存器,可以与FPGA芯片直接相连。
芯片初始化时,使START和OE信号全为低电平。
当START为高电平时,表示芯片开始转换,同时ale为高电平,把要转换的哪一通道的地址到A,B,C端口上。
在START端给出一个至少有100ns宽的正脉冲信号。
当EOC变为高电平时,这时给OE为高电平,打开三态缓冲器,转换的数据就输出给FPGA了。
3.2A/D采样控制系统整体结构设计
本系统设计是将FPGA器件与ADC0809直接相连,控制部分通过VerilogHDL硬件描述语言来实现。
总体的设计如图3.1所示:
图3.1总体框图
外界模拟信号输入到模数转换芯片ADC0809中,通过FPGA控制ADC0809进行采样,采样完成后,打开三态缓冲器,把数据输出到FPGA中,最后将输出的数字信号由输出显示模块显示。
本硬件电路的主要芯片有:
模数转换芯片ADC0809、Xilinx公司Spartan-Ⅱ系列FPGA-xc2s200芯片。
其硬件电路如下图所示:
图3.2FPGA控制的ADC0809采样电路
图3.2中,输入部分:
IN0-IN7为8条模拟量输入通道。
ADC0809对输入模拟信号要求:
信号必须是单极性,电压范围在0到5V之间,如果信号太小,就必须进行放大在输入给ADC0809;同时还要求输入的模拟量在转换过程中保持不变,如果模拟量变化速度太快,接近它的工作时钟,那么则需在输入ADC0809前增加采样保持电路;中间部分:
主要是xc2s200芯片,实现对ADC0809的采样控制;输出部分:
输出的8位二进制数字信号由两种方式显示,一种方式是由8个发光二极管组成,每一个二极管代表一位二进制数,当二极管处于发光状态即“亮”时,表示输出二进制“1”;否则输出“0”。
简言之,“亮”—“1”,“灭”—“0”;另一种输出方式是由两位数码管组成的,每一位数码管以十六进制(即0--F)显示二进制输出的四位。
第四章系统软件设计
PLD器件的设计通常采用层次化的设计方法,分模块,分层次地进行设计描述。
顶层模块是描述器件的总体功能,底层模块是描述器件内部各模块的基本的功能,顶层模块主要是连接各个底层模块,把他们组合在一起,实现系统的功能。
层次化的设计方法比较自由,任何层次的设计都可以使用原理图或硬件描述语言来进行描述。
正常的做法是:
在顶层设计中,一般使用图形法描述连接关系和芯片内部逻辑到引脚的接口也可以使用硬件描述语言连接各模块;在底层设计中,使用硬件描述语言描述各个模块的逻辑功能也能用软件的的基本逻辑单元来画出底层模块。
4.1采样控制模块设计
设计采样控制模块时主要采用了有限状态机进行设计。
有限状态机及其设计技术是实用数字设计部分的重要组成部分,是实现高效率高可靠逻辑控制的重要途径。
它同其他设计方案相比有难以超越的优越性。
ADC0809时序分析
START为启动转换信号,高电平有效;ALE是3位通道选择地址信号的锁存信号。
当模拟量送至某一输入端由3位地址信号选择,而地址信号由ALE锁存;EOC是转换情况状态信号,当启动转换约100us后,EOC产生一个负脉冲,以示转换结束;在EOC的上升沿后,若使输出使能信号OE为高电平,则控制打开三态缓冲器,把转换好的8位数据结果输至数据总线。
至此ADC0809的一次转换结束了。
按照上面的时序控制,就能使ADC0809正常的工作了。
状态设计
根据ADC0809的工作时序图做出状态图,在对其采样控制电路中定义了五个状态:
初始化状态、启动采样状态、等待转换结束状态、输出转换结果状态、锁存数据状态。
图4.1控制ADC0809采样状态图
如上图4.1所示,为控制ADC0809采样状态图,图中的ST0,ST1,ST2,ST3,ST4,为设计定义的五种状态类型,与上面的五种状态一一对应。
在ST0状态中的RESET为复位信号,在此状态下输出ALE<='0';START<='0';OE<='0';LOCK<='0';表示对ADC0809的初始化。
在ST1状态下输出ALE<='1';START<='1';OE<='0';LOCK<='0';其中ALE上升沿有效,START信号有效,启动A/D转换。
在ST2状态下,输出ALE<='0';START<='0';OE<='0';LOCK<='0';等待转换结束。
在ST3状态下,输出ALE<='0';START<='0';OE<='1';LOCK<='0';在此状态下,当oe为高电平时,则控制打开三态缓冲器,把转换好的8位数据结果输出。
在ST4状态下,输出ALE<='0';START<='0';OE<='1';LOCK<='1';在此状态下LOCK信号有效,将输出的数据锁存,至此一次完整地采样控制结束。
控制模块程序见附录。
4.2数码管显示译码模块
ADC0809采集的数据传送给FPGA,ADC0809传送的数据是二进制数,不能直接传送给数码管显示,这些数据必须先经过译码转换成BCD码后才能传送给数码管显示。
数码管显示译码模块程序请见附录
4.3数码管段选扫描模块
8段数码管显示原理
数码管中的每一段相当于一个发光二极管,8段数码管则具有8个发光二极管。
数码管有共阴极与共阳极之分,共阴极的数码管是二极管的阴极连接在一起,需要点亮事当需要点亮只要使阳极为高电平,而共阳极的数码管是二极管的阳极连接在一起,给阳极高电平,当需要点亮数码管时,给阴极低电平就会亮起来。
“本设计选用的是共阴极数码管。
段选信号ADC0809采样后传送给FPGA器件在经译码器处理后传给数码管显示。
显示模块程序见附录。
4.4顶层模块设计
顶层模块起连接作用,将各个分模块很好的连接起来即可。
程序请参考附录。
第五章仿真结果及分析
5.1ADC0809模块仿真及分析
在建立的工程中把各模块内容输入后,经过编译综合后,点击tools下一步在点击RTLViewer可以查看顶层原理图。
如图5.1所示;
图5.1顶层电路原理图
双击ADC0809控制模块,可以查看ADC0809的电路图。
图5.2ADC0809电路图
在这里的仿真只是一个功能仿真,要与时序仿真区别。
功能仿真只验证设计在功能上是否正确,在时序上不做验证。
对输出ADC0809模块建立的激励测试文件如图5.3
图5.3
对其进行仿真结果如图5.4
图5.4仿真结果
从上图中可以看出第一个时钟输入时ale为低电平0--此时地址锁存信号无效,外界没有模拟信号输入;start为低电平0--此时还没有启动模数转换,current_state为st0。
oe为低电平0--此时三态缓冲寄存器没打开、无数据输出;lock为低电平0--此时无数据锁存功能;此状态称为初始状态,后面的其它状态只需判断与初始状态不同的部分即变化的信号。
下一个时钟上升沿到来时current_state变为st1,ale为高电平1--此时地址锁存信号开启,start为高电平1--允许外界模拟信号的输入,此状态称为开始转换状态。
在下一个时钟上升沿触发时,current_state为st2此时ale为低电平0——oe也为低电平0--此状态为等待转换结束。
在下一个时钟上升沿触发是可以看到oe变为高电平,则控制器打开三态缓冲器。
因为eoc为高电平所以当前current_state为st3。
此状态成为输出转换结果状态。
在等待一个时钟上升沿,current_state为st4,此时lock为高电平,此时将d中的数据锁存入q中,至此一个循环完成,以下类似。
5.2数码管段选扫描模块
数码管段选扫描模块的电路图为图5.5;
图5.5
对数码管段选扫描模块建立的测试激励文件图5.6;
图5.6
对其进行仿真获得如图5.7:
图5.7
从上仿真图中可以看出,当输入为101001001,sel为高电平时输出dout为低4位,输出0100,当输入为01001000,sel为低电平时,输出为高4位,输出0100.以下完全类似。
与程序设计符合,达到设计要求。
5.3数码管显示译码模块仿真及分析
数码管显示译码模块的电路图如图5.8
图5.8
建立测试激励文件如图5.9
图5.9
对其进行仿真,得到图5.10
图5.10
从图中可以看出,当输入为1111时输出为01110001,当输入为1010时输出为01110111当输入为0111时输出为0000111.从源程序中可以看出这些数据都符合程序设计。
满足设计要求。
5.4顶层模块仿真及分析
顶层模块的测试激励文件为图
图5.11
仿真结果为图5.12
图5.12
顶层模块分析与ADC0809模块分析类似,这里不在重复。
结束语:
由于数字电子技术的迅速发展,把模拟信号转换成数字信号输出的接口电路-A/D转换器是现实中模拟信号向数字信号的桥梁,是电子技术发展的关键和瓶颈所在。
尤其是计算机在自动控制、自动检测以及许多其他许多领域中的广泛应用,数字电子技术的应用也越来越普遍。
数字电路处理模拟信号就是把模拟信号转换成相应的数字信号输出。
在A/D转换器中输入的模拟信号在时间上是连续的,而输出的数字信号是离散的,转换只是在一系列选定的瞬间对输入的模拟信号取样,然后再把这些取样值转换成输出的数字量。
大规模集成电路芯片ADC0809是一种由单一+5V电源供电,采用逐次逼近转换原理,能够对0~+5V的8路输入模拟电压进行分时转换的通用型可编程模数转换器,利用可编程逻辑器件FPGA对其进行采样控制是本设计核心。
在系统软件设计中,利用硬件描述语言—VerilogHDL编写程序时,曾经遇到过一些比较棘手的难题,通过在图书馆查阅相关的书籍以及上网查资料的过程中学到了很多。
最后采用状态机进行设计ADC0809模块时,体会到利用状态机进行设计的优越性。
在编写顶层模块程序时,需要把各模块连接遇到了好多问题,在x老师和同学的帮助下分析讨论这些问题,最后都成功的解决了,从中学到了不少东西,收获了颇多。
参考文献
[1]王金明编著.数字系统设计与VerilogHDL(第四版)[M].北京.电子工业出版社.2010.10
[2]杜慧敏,李宥谋,赵全良.VHDL/FPGA编著.基于Verilog的FPGA设计基础.[M].西安:
西安电子科技大学出版社.2006.2
[3]华清远见嵌入式培训中心编著[M].北京:
人民邮电出版社.2008.7
[4]张洪润,张亚凡等编著.FPGA/CPLD应用设计200例[M].北京:
北京航空航天大学出版社.2009.1
[5]刘延飞,郭锁利,王晓戎,李琪等.基于AlteraFPGA/CPLD的电子系统设计及工程实践[M].北京:
人民邮电出版社.2009.9
[6]鹿玉红.基于FPGA的数字秒表的设计[J].网络与信息:
期刊论文.2010
[7]彭颖.基于单片机和CPLD器件的综合系统设计[J].电工电气:
期刊论文.2009
[8]杨守良.基于FPGA的高速并行A/D采样控制电路的设计[J].重庆:
物理与信息工程系.2006
[9]邓彪.模糊自整定PID控制在电厂输煤过程中的研究及实现[J].武汉工程大学:
硕士论文.2009
[10]王卫江,陶然.高速A/D采样技术[J].电子应用技术.2004
[11]王志亮,李光辉.基于VerilogHDL的ADC0809采样控制器设计[J].信息技术,2006
[12]G.Promitzer.12-bLow-PowerFullyDifferentialSwitchedCapacitorNoncalibratingSuccessiveApproximationADCwith1MS/s[J].IEEEJ.Solid-StateCircuits,2001
[13]MichaelChoi,AsadA.Abidi.A6-b1.3-Gsample/sA/DConverterin0.35μmCMOS[J].IEEEJ.Solid-StateCircuits,2001
[14]PeterC.S.,Scholtens,MaartenVertregt.A6-b1.6-Gsample/sFlashADCin0.18μmCMOSusingaveragingtermination[J].IEEEJ.Solid-StateCircuits,2002
[15]S.Mortezapour,E.Lee.A1-V8-bitsuccesiveapproximationADCinstandardCMOSprocess[J].IEEEJ.Solid-StateCircuits,2000
[16]G.Promitzer.12-bLow-PowerFullyDifferentialSwitchedCapacitorNoncalibratingSuccessiveApproximationADCwith1MS/s[J].IEEEJ.Solid-StateCircuits,2001
致谢
本论文从拟定题目到定终稿,耗时将近四个月。
在本论文完成之际,首先要向我的导师x老师致以诚挚的谢意。
他渊博的知识和开阔的视野给了我很大的启迪,论凝聚了他大量的心血。
x老师给了我许许多多的帮助。
x老师对工作的认真负责、耐心指导、实事求是的态度,给我留下了深刻的印象,在x老师的悉心指导下,我受益非浅。
我常常在网上把自己的疑问发给x老师,x老师都能及时的回复与指导,使我不仅拓宽了知识面,更使我在发现问题、分析问题、解决问题等各方面的能力都有了一个明显的提高。
同时,我从x老师身上学到了许多为人处世的道理,这些将对我今后的发展将产生深远的影响。
在此我谨向x老师表示衷心的感谢和深深的敬意。
同时,我要感谢学院的授课教师,正是他们平时的悉心教导,让我学到了许多专业知识,也让我明白了大学不仅是要学专业知识,更重要的是做人的道理。
我也要感谢我的母校湖南理工学院,在这里我学到了专业知识,为以后我走入社会工作铺平了道路,这里更留下了我的青春,留下我的回忆,母校也为我的人生留下精彩的一笔。
另外,衷心感谢我的同窗室友们,在这四年中对我的帮助和关
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA AD 采样 控制电路 设计 毕业设计