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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(FPGA的数字电压表设计分析方案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FPGA的数字电压表设计分析方案.docx

1、FPGA的数字电压表设计分析方案简易数字电压表设计报告目录第一章 设计指标1.1 设计要求.21.2 硬件环境.2第二章 系统概述2.1设计思想. 32.2可行性论证. 42.3各功能的组成52.4总体工作过程6第三章 单元电路设计与分析3.1各单元电路的选择 83.2设计及工作原理分析8第四章 电路的组构与调试4.1 遇到的主要问题.134.2 现象记录及原因分析. 144.3 解决措施及效果 144.4 功能的测试方法、步骤、设备、记录的数据15第五章 结束语5.1对设计题目的结论性意见及进一步改进的意向说明. 175.2 总结设计的收获与体会. 17附图(电路总图) 19参考文献 20第

2、一章 设计指标 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端口控制,ADC0804的输出使能端RD与AD7528的输

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

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

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

6、合理的进行分配,给各个电路,次部分为整个电路的最重要的核心部分。可视为整个电路的大脑。4 ROMROM是用来接收ADC0804产生的数字信号,将其作为地址,取出相应储存单元的数据,将其输送给现实电路部分。既ROM是数据的储存器。5数据总线部分 此部分的主要功能是使各个部分直接进行数据的传送与接受。6 显示电路部分 此部分电路为显示最后的结果既测量电压的部分。2.4总体工作过程参考原理框图如下1设计CS1、CS2、RW、OE、LD各信号的控制逻辑和单稳态电路。分析综合(Analysis & Synthesis)后仿真,观察各信号是否满足控制要求。2输入动态扫描显示译码模块,单位符显示码用常数模块

7、设置。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中建立新的数据文件(扩展名.mif或.hex)。根据设计预习准备选择合适的字数(

8、Number of words)和位数(Word size)。文件打开后将数据显示格式调整为十六进制:“View”“Memory Radix”“Hexadecimal”。将步骤3的运算结果粘贴入数据文件存储单元中,三位十进制数符依十六进制格式转换成3组BCD码存储。5输入库参数存储模块lpm_rom,选择地址端口锁存方式,锁存信号为LD。ROM地址先用8个按键控制,模拟A/D转换数据;ROM的12位输出控制动态扫描显示译码模块的输入。全编译(Compilation)下载后改变按键,观察显示值是否符合要求。比如,按键数据为“10000000”时,应该显示“2.50U”。6设计ADC0804的控制

9、电路。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(或DAC-B)与ADC0804的输入Ui。改变按键,从高位至低位逐位使各位

10、为“1”。记录万用表测量的电压值和电压显示值,分析A/D、D/A转换的分辨率、精度和线性度。第三章 单元电路设计与分析 (1)分频器电路设计如图,我们选用7490芯片,其QD引脚可实现CLKB的5分频,QA引脚可实现CLKA的二分频。所以我们将LP2900的时钟信号输入到CLKB,再将QD接到CLKA上,则QA输出的信号的时钟为LP2900的十分之一,这样设计实现了频率的十分频,同时也保证了占空比为50%。我们再将多个十分频的分频器串联,便可以将10MHZ的时钟信号转换为我们所需的10KHZ的时钟信号。(2)状态机如图,因为我们需要6个状态来进行分配,我们将分频器输出的时钟输入到计数器,并将置

11、位的数值设置为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为整个电路的数据储存部分,因为ADC0804将模拟信号转换为8位的数字信号,而我们又是将此信号

12、当作ROM的地址,所以我们的ROM设计为有8跟地址线,又因为我们需要显示3位有效数据,而数据是以BCD码的形式存放,所以我们设计ROM有12根数据输出线。因为ROM的地址线接数据总线D0D7,在数字数据输入时我们需要使ROM的地址线处于地址所存状态,是信号不会直接从按键输入的ROM中,所以我们用CS1与上R/W取非来控制ROM的CLK端,来实现我们需要的功能。(5)数据总线部分因为ADC0804与AD7528两个芯片的数据线全部都连在LP2900的D0D7端,此端口既需要输入,又需要输出,我们采用BIDIR引脚,我们需要在ADC0804输入数据到ROM是按键不能够输入数据,我们使用三态门来控制

13、按键,并用CS1的信号来控制三态门的使能端,来达到目的。(6)显示电路部分如图,我们先要将ROM中的数据按照时序进行选择,再将其输入到显示译码器中。因为我们使用的是6状态的状态机,我们的状态码三位,而我们的74153芯片的时钟只有两个输入口,所以我们使用状态码的低两位,来驱动74153工作。然后我们将74153的输出端接到显示译码器的输入端,我们需要显示09的数字及单位V,所以我们需要将状态译码器编辑为10个状态,00001001为显示09,而1010显示V。最后将显示译码器的输出端连接到七段数码显示器的端口。第四章 电路组构与调试4.1 遇到的主要问题将程序下载到以后,四位显示错位在连接电位

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

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

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

17、的电压。通过对比七段显示器上的电压值和万用表上的电压值,来测试所设计的简易电压表是否正确。表一:万用表测量值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.22V0.43V0.37D/A转换误差2.4%6.5%7.5%电压显示值1.

18、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对设计题目的结论性意见及进一步改进的意向说明 此电压表能进行以下的电压的测量,但精度不够高,当所测量的数值越大时,所出现的误差会增大,但对于所需精度不高的电压测量中,可以应用此电压表去测量。因为电压表的误差会逐渐加大,所以我们可以想办法在不改变使用的,芯片的前提下,猜测对的设置进行改变,可能可以提高

19、测量的精度。同时我们还可以将显示设备进行改进,采用更高端的进行显示。5.2 总结设计的收获与体会这次课程设计综合了数电学习的大部分内容,是对我数电知识的一次综合的考量。此次设计不仅考量了我们对数电知识的掌握,同时还考验了我们个人的独自分析问题,解决问题的能力,同时还让我们了解了在接到一个工程后应该如何去分析,解决问题,如何完成工程开发出产品。在这设计中,我很快便完成了电路的模块设计与连接,并且在一段时间以后解决了部分的设计错误。但在检查最后一个连接错误时,我却花费了和先前进行所有步骤所用时间的总和一样多的时间来检查这种连接的低级错误,由此可以看出,我们不管在做什么事情是,都不要盲目的自信自己不会出现低级错误,低级错误永远都最致命的错误,往往会让你付出大量的时间与代价去改正这个错误。附图(电路总图)参考文献基于FPGA的数字电路系统设计 崔葛瑾 主编 西安电子科技大学出版社数字电子技术基础 杨松华 冯毛官 孙万蓉 等主编 西安电子科技大学出版社 WZQ

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1