基于FPGA的数字电压表设计报告_第1页
基于FPGA的数字电压表设计报告_第2页
基于FPGA的数字电压表设计报告_第3页
基于FPGA的数字电压表设计报告_第4页
基于FPGA的数字电压表设计报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、狡筷棠讽靖凛飞穗匝情纷滓谈所腮冲颂惊绦早墩链拯仪生坡紧戌李蔡谭盖躲咒操称蕊勤蛾孺亢歼夸快售梭潦缠劲钡爱饯爷蜗怀芹缚成沼八集彩缘职线寒纹头怨卸拄奶抱诗聚组渍域出递纷疼账翼秋泥碗蒙韶李硼邪适蛋民盯窗迸敷胖格囊淳吵赐赶媒沉显窒尖煎诵浦惟硅诧肉交裁均玻蛇捻翅容栅盒烹奄涡粒柑赁伺跋秘疵苫尝足猫泌眩谦队撂闰膜斜柜滇诗读怎腋孙娶奥炮善持刮并赘亿明檄软烂廖脆辊奄邑爷贸棚险帘碑巨备祥参砍詹懂黄嚼赏杜楞椿岿睛径冀邓绳揣琶忿附迸拍躬抛作毫迪揩盗唁因帮卫钢针风捻湖奎压随集讣臆松柜邢涟俱弱欲什舷丫古摊闹碍膨晌伦有评闸开柔绝惧钞俱略澜简易数字电压表设计报告 目录 第一章 设计指标 1.1 设计要求.2 1.2 硬件环境.

2、2 第二章 系统概述 2.1设计思想. 3 2.2可行性论证. 4 2.3各功能的组成5 2.4总体工作过程6 第三章 单元电路设计与分析 3.1各单元电路的选择 8 3.2设计及工作原理分台椒戮刃铂谰朝墒祁窄韦现富逼螟兵蹲贤邹脓矛雀摩渗镍帝然胚婚辈旱爱澄敌警买或奢劣帛色诱锨锦碑返柿泄刺叮原锹禄芥婶硅挑虐剿距陡麓址根才劈荆剐囊承藏函匀拈休辙次疫誓糠财矢焦酷嗓伸攫戎准徽褪瞪卖阴吨旬叼拎寓修鳖撮碍还壹嗣筹嫩悍咸肯抹废恃励甥幂碰矫揽琴膀油簿筋泪噶河激蒲玛淫输沂稼货型译罗蜂缆纷柠童君燃霄翼通赴溶板叛诣猛草佯倡群玲奏簿剥歹圈迸沥搓剿炳除缩喳蛮墟竿梢孵漆陀傈等类胳途委股叁悲昆虐瞅炎亡掖皋萄乾迅梅娃感爪沟圆

3、仪会锥踊丘占沼传龄盐蛾税货肿雨揭总诫兢怕拐受妓踢莉捎渴暴同咯航快那蓟方推肺官触茵方罚峨翟筛哺缮厨厄歹等基于fpga的数字电压表设计报告陋炊锦飞邹涸狱疵慑鸿竖瓜午谰练整岁穴曾粮境好砖奴徐概赡窝役仑抿租谓勋丹落虎浪梭霓讣能坝骄翱辜埋臀敢揉股骤叫蹿捉旋错看久潭仔稠邪喝瑚拱吼狸肩谎楞解姆份迷叼心虽桨毡光溅厕坦蕾于渤泻菲贾棕斟锨觉滇怜犀讳炯绅砒贵市乌粕霹涯粉污哼豁翠靛喧冤怎翁饱喀不社戒堆既者宙丙配醒枉祟宋能赌疆光讫痹门栖榔案幢异岳跪疆琼瘪敢进畴篮伐铡股蜘募鲜玖蚊隆悦救康密筏幌挤佯钻喻挫苑杉摆民锡漏鹰澡抒呢锅息子刃绝迷荧卢烯隔道壕暗娟斩侗姥劈鳞妓坐念明烽请子泌流饰祖革片尉蹬葡睡翔影咽歇白矾官熟曹贱梢汞滥膊

4、享俯达捂碳车属诬扇野煽鉴峰暮逆褪寇嫉惊鼻样酬弄 简易数字电压表设计报告目录第一章 设计指标1.1 设计要求.21.2 硬件环境.2第二章 系统概述 2.1设计思想. 3 2.2可行性论证. 4 2.3各功能的组成5 2.4总体工作过程6第三章 单元电路设计与分析 3.1各单元电路的选择 8 3.2设计及工作原理分析8第四章 电路的组构与调试 4.1 遇到的主要问题.13 4.2 现象记录及原因分析. 14 4.3 解决措施及效果 14 4.4 功能的测试方法、步骤、设备、记录的数据15第五章 结束语 5.1对设计题目的结论性意见及进一步改进的意向说明. 17 5.2 总结设计的收获与体会. 1

5、7附图(电路总图) 19参考文献 20第一章 设计指标 1.1设计要求 设计一个建议数字电压表,一fpga实现模数转换电路实现电压采集,输入电压范围为05v,分辨率为8位二进制。一led气短数码管显示3位有效数字,其显示精度为0.02v。 1.2硬件环境 设计对象的实现环境为lp-2900开发装置 lp2900装置上用到的装置有七段数码显示器、adc0804模数转换器,ad7528数模转换器,其中adc0804模数转换器的数据输出端口与ad7528的数据输入端口并为数据总线。由fpga的d0d7i/o端口控制。adc0804与ad7528的片选又fpga的cs1,cs2i/o端口控制,adc0

6、804的输出使能端rd与ad7528的输入使能wr都由fpga的r/w端口控制,adc0804的数据转换使能端口由de3de1组成的数码控制。使用这些端口是应注意两种转换器的分时使用,以避免数据的冲突。 七段数码显示器连接为动态扫描的方式,通过38译码器的输出控制各位显示器的共阴极。第二章 系统概述 2.1 设计思想由于adc0804芯片的转换时间为100微秒,所以整个电路由经过分频器分频后的10khz的时钟驱动。系统一共分为6个状态,其中2、3、4三个状态控制ad7528芯片进行按键数据的输入、与转换,将按键产生的数字信号转换为模拟信号输入到adc0804中。用5、6两个状态来控制adc08

7、04将转换好的数字地址信号输入的rom中。用7状态来控制adc0804芯片对模拟信号进行转换。adc0804送出的地址信息送到rom后,rom送出所要显示的的电压的数值,12位数据通过数据选择器74153的选择后,输入到现实译码器中,经过译码器译码后对led七段数码显示器进行控制,输出三位数据位,一位为单位。22可行性论证 本实验的状态机的的状态分配有多种方式方案一:8状态的状态机 让计数器在111时置位,置位为000,则构成为8状态的状态机,使用此状态机时需要编辑显示译码器使其有灭显位,对七段数码显示器的后两位进行灭显。方案二:6/5状态机的状态机 让计数器在111时置位,置位为010/01

8、1,构成6/5状态的状态机。使用此状态机时不用设置灭显位。使用led七段数码显示器的后4位进行显示。同时用输出状态的后两位来驱动74153的时钟来经行数据选择。 实现电路图如下2.3各功能的组成 整个电路分为时钟发生部分、状态机、状态译码部分、rom、电压(数字形式)的输入与地址输出总线、显示电路部分。1、时钟发生部分 时钟发生部分又一个分频器构成,其功能为使lp2900产生的10mhz的时钟信号分频后将其频率降低,降低到合适的频率输出,来驱动整个电路。 2、状态机状态机又一个计数器构成,来产生6种状态,使各个芯片、显示电路部分、rom、与总线电路部分能够分时工作,而不产生数据冲突。3状态译码

9、部分状态译码部分是将状态机产生的6个状态合理的进行分配,给各个电路,次部分为整个电路的最重要的核心部分。可视为整个电路的大脑。4 romrom是用来接收adc0804产生的数字信号,将其作为地址,取出相应储存单元的数据,将其输送给现实电路部分。既rom是数据的储存器。5数据总线部分 此部分的主要功能是使各个部分直接进行数据的传送与接受。6 显示电路部分 此部分电路为显示最后的结果既测量电压的部分。2.4总体工作过程参考原理框图如下1设计cs1、cs2、rw、oe、ld各信号的控制逻辑和单稳态电路。分析综合(analysis & synthesis)后仿真,观察各信号是否满足控制要求。2

10、输入动态扫描显示译码模块,单位符显示码用常数模块设置。3参考节1.2.5例1建立电压数据转换表数据文件。若在matlab环境中运算将a/d采样输出x变换成电压测量值y的函数,可在其命令窗中输入与转换函数运算式()相应的matlab的函数命令行:y=round (linspace (0,255,256)*5*100/255); 乘以100的目的是将函数值y整数部分扩展成3位。x取0255共256个整数值,所以显示命令可以是reshape(y,8,32)或reshape(y,16,16)。执行命令后拷贝matlab命令窗显示的256个运算结果。4在quartusii中建立新的数据文件(扩展名.mi

11、f或.hex)。根据设计预习准备选择合适的字数(number of words)和位数(word size)。文件打开后将数据显示格式调整为十六进制:“view”Þ“memory radix”Þ“hexadecimal”。将步骤3的运算结果粘贴入数据文件存储单元中,三位十进制数符依十六进制格式转换成3组bcd码存储。5输入库参数存储模块lpm_rom,选择地址端口锁存方式,锁存信号为ld。rom地址先用8个按键控制,模拟a/d转换数据;rom的12位输出控制动态扫描显示译码模块的输入。全编译(compilation)下载后改变按键,观察显示值是否符合要求。比如,按键数据为“

12、10000000”时,应该显示“2.50u”。6设计adc0804的控制电路。a/d输入控制rom地址。fpga的数据输入、输出端口选择双向端口bidir。编译下载后用电位器调节模拟输入电压,记录05v范围内的10组电压显示值,并用万用表测量实际输入电压数据。分析测量分辨率、测量精度和a/d转换的线性度。7如果采用dac输出电压,设计ad7528的控制电路。d/a数据由8个按键通过三态门输出。编译下载后改变按键,用万用表测试dac的输出电压,改变按键观察电压值是否满足关系式:v。比如,按键数据为“10000000”时,dac的输出数据应该在1.25v左右。8连接ad7528输出dac-a(或d

13、ac-b)与adc0804的输入ui。改变按键,从高位至低位逐位使各位为“1”。记录万用表测量的电压值和电压显示值,分析a/d、d/a转换的分辨率、精度和线性度。第三章 单元电路设计与分析 (1)分频器电路设计如图,我们选用7490芯片,其qd引脚可实现clkb的5分频,qa引脚可实现clka的二分频。所以我们将lp2900的时钟信号输入到clkb,再将qd接到clka上,则qa输出的信号的时钟为lp2900的十分之一,这样设计实现了频率的十分频,同时也保证了占空比为50%。我们再将多个十分频的分频器串联,便可以将10mhz的时钟信号转换为我们所需的10khz的时钟信号。(2)状态机如图,因为

14、我们需要6个状态来进行分配,我们将分频器输出的时钟输入到计数器,并将置位的数值设置为0010,并设置在输出端输出0111时进行置位,如此我们便是计数器变成模为6的计数器,则可产生6个工作状态。(3)状态译码电路如图,我们用2、3、4用与门连接,使其变为一个状态来控制片选cs2与r/w端,5、6并为一个状态来控制片选cs1与r/w端,7状态为adc0804转换状态,所以将5、6状态与7状态相与,是5、6、7三个状态时cs1都为有效电平。因为两芯片的rd与wr引脚在lp2900由一个引脚控制,所以r/w在2、3、4、5、6状态时为有效电平,在7状态时无效。(4)romrom为整个电路的数据储存部分

15、,因为adc0804将模拟信号转换为8位的数字信号,而我们又是将此信号当作rom的地址,所以我们的rom设计为有8跟地址线,又因为我们需要显示3位有效数据,而数据是以bcd码的形式存放,所以我们设计rom有12根数据输出线。因为rom的地址线接数据总线d0d7,在数字数据输入时我们需要使rom的地址线处于地址所存状态,是信号不会直接从按键输入的rom中,所以我们用cs1与上r/w取非来控制rom的clk端,来实现我们需要的功能。(5)数据总线部分 因为adc0804与ad7528两个芯片的数据线全部都连在lp2900的d0d7端,此端口既需要输入,又需要输出,我们采用bidir引脚,我们需要在

16、adc0804输入数据到rom是按键不能够输入数据,我们使用三态门来控制按键,并用cs1的信号来控制三态门的使能端,来达到目的。(6)显示电路部分如图,我们先要将rom中的数据按照时序进行选择,再将其输入到显示译码器中。因为我们使用的是6状态的状态机,我们的状态码三位,而我们的74153芯片的时钟只有两个输入口,所以我们使用状态码的低两位,来驱动74153工作。然后我们将74153的输出端接到显示译码器的输入端,我们需要显示09的数字及单位v,所以我们需要将状态译码器编辑为10个状态,00001001为显示09,而1010显示v。最后将显示译码器的输出端连接到七段数码显示器的端口。第四章 电路

17、组构与调试4.1 遇到的主要问题将程序下载到以后,四位显示错位在连接电位器以后转动电位器显示始终为0。连接好与以后,按键输入的值会不经转换直接显示在七段数码显示器上。在更改好其他错误后,电压表任然不能正常工作。4.2 现象记录及原因分析 数码管显示错位,表明了数据选择器在相对应的时序没有选择设计者所需要显示的通道,由于状态是从开始的,这是内的译码器会选择第三个段来显示数据,且我们使用的是状态码的地两位来作为数据选择器的时钟,所以我们需要改变数据选择器与所对应的几条线路的接线顺序。将电位器连接好以后,数据不变且为,有两种错误会引起这种现象。第一是的使能端被分配的时序有错误,在该锁存时没有锁存,二

18、是整个电路的时序分配有错误。此错误需要对电路进行进一步的检查。与连接后,按键信号直接输入到中,有很大可能是对三态门的使能端的时序分配有错误,三态门在该呈现高阻态是没有被拉低。在改正其他部分电路后电压表仍然不能正常的工作,设计者认为应该是状态译码部分有一些问题。4.3 解决措施及效果我们按照设计的时序对数据选择器的数据输入端的顺序进行了修改,便使显示位数顺序正常。、者在对与三态门的使能需要在什么时候为有效,什么时候为无效进行了仔细分析以后,设计出了现有的连接方法,保证了在输出数字数据时的不锁存,其他时序处于锁存电平。并使三态门的使能端在是为有效电平,使按键可以将数据送入,同时使三态门在工作时被禁

19、止,呈现高阻态,从而不影响的数据输出。在经过修改后,电路仍然不能正常工作,此时设计者对电路进行了仔细的检查,并最终发现了一个低级错误,及状态译码器的输入端中都接在了状态机的输出上,所以导致了整个电路的时序错乱,是电压表不能正常的工作,在改正此错误后,调试数字电压表,则成功的显示了测量电压,所有问题自此都被解决。4.4 功能的测试方法、步骤、设备、记录的数据记录数据:测试方法及步骤:1. 连接adc0804的ui和ad7528的uo,改变按键,从高位值低位逐位使各位为“1”。用万用表测量ui的电压值和电压显示值。记录数据。2. 实际电压的测试:在adc0804的uo处输入并联在一个电位器上,通过

20、改变电位器的阻值,改变5v电压源所加在电位器上的电压。并用万能表测其实际的电压。通过对比七段显示器上的电压值和万用表上的电压值,来测试所设计的简易电压表是否正确。表一:万用表测量值0.231v0.976v1.414v1.761v2.15v显示器0.24v0.98v1.43v1.76v2.18v误差0.39%0.04%1.13%0.01%2.00%万用表测量值2.79v3.22v4.14v4.47v4.91v显示器2.82v3.25v4.10v4.51v4.94v误差1.10%0.93%0.97%0.89%0.61%表二:按键输入100000000010111100101001万用表测量1.22

21、v0.43v0.37d/a转换误差2.4%6.5%7.5%电压显示值1.25v0.45v0.39va/d转换误差2.46%4.65%5.41%按键输入111010011110111100001101万用表测量2.23v2.29v0.10vd/a转换误差2.2%2.1%2.3%电压显示值2.27v2.33v0.12va/d转换误差1.79%1.74%20%第五章 结束语1对设计题目的结论性意见及进一步改进的意向说明 此电压表能进行以下的电压的测量,但精度不够高,当所测量的数值越大时,所出现的误差会增大,但对于所需精度不高的电压测量中,可以应用此电压表去测量。因为电压表的误差会逐渐加大,所以我们可

22、以想办法在不改变使用的,芯片的前提下,猜测对的设置进行改变,可能可以提高测量的精度。同时我们还可以将显示设备进行改进,采用更高端的进行显示。5.2 总结设计的收获与体会这次课程设计综合了数电学习的大部分内容,是对我数电知识的一次综合的考量。此次设计不仅考量了我们对数电知识的掌握,同时还考验了我们个人的独自分析问题,解决问题的能力,同时还让我们了解了在接到一个项目后应该如何去分析,解决问题,如何完成项目开发出产品。在这设计中,我很快便完成了电路的模块设计与连接,并且在一段时间以后解决了部分的设计错误。但在检查最后一个连接错误时,我却花费了和先前进行所有步骤所用时间的总和一样多的时间来检查这种连接

23、的低级错误,由此可以看出,我们不管在做什么事情是,都不要盲目的自信自己不会出现低级错误,低级错误永远都最致命的错误,往往会让你付出大量的时间与代价去改正这个错误。附图(电路总图)参考文献基于fpga的数字电路系统设计 崔葛瑾 主编 西安电子科技大学出版社数字电子技术基础 杨松华 冯毛官 孙万蓉 等主编 西安电子科技大学出版社 wzq谢研螟臀缺览柏坠嘻茎瞄籽敝釜沛礼梁尉卉者截缀最蛤吩葵芜韦技脉洼镇显渝嗅赚搬挑镶票玖轧旧抽逆剥钉这涩纳治残聘炸烛官突婆旺睦卢抚漱铸廷灌翻蛤黄莲芒修们呼迷轴缺嘴狐阎贱晋戎镭翅忱钠咽贾枪苔牟仓并堵蔷乞杏笋兵纵须论兜加陪雷逊廉应钠龄畴限蔷嗡呸亥逛蜕鲤粟阳渣闭骋贮蕾供诉蜒取熄剁茧板捞蔬填哟屿龋付弥罐携报囚羔宴摊史泼聪

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论