EDA数字电压表设计报告汇编_第1页
EDA数字电压表设计报告汇编_第2页
EDA数字电压表设计报告汇编_第3页
EDA数字电压表设计报告汇编_第4页
EDA数字电压表设计报告汇编_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计任务书称数字电压表设计系别专业班级学号姓名电子信息工程系2015年6月20日ieda是电子设计自动化 (electronic design automation )的缩 写,在20世纪60年代中期从计算机辅助设计(cad、计算机辅助 制造(cam 、计算机辅助测试 (cat和计算机辅助工程(cae的 概念发展而来的。eda技术就是以计算机为工具,设计者在 eda饕 件平台上,用硬件描述语言 vhdl完成设计文件,然后由计算机自动 地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直 至对于特定目标芯片的适配编译、 逻辑映射和编程下载等工作。本电 压表的电路设计正是用 vhd屏言

2、完成的。此次设计采用的是altera 公司 的quartus ii 7.0 软件。本次设计的参考电压为 2.5v,精度为 0.01v。此电压表的设计特点为通过软件编程下载到硬件实现,设计周期短,开发效率高。一、绪 论 3二、设计要求3三、设计过程41 、系统总体框图 42 、数字电压表的基本原理43 、显示方案4四、单元电路设计51 、 a/d 转换控制模块5adc0809工作原理 5adc0809工作时序 6cpld 控制adcw羊状态机 62 、模拟电压的计算6码制变换模块63 、显示控制及驱动模块74、adc0809gl脚连接 8五、软件设计91 、 开发软件及编程语言简介92 、 程序

3、流程图 93 、结论 9六、总结设计的收获与体会9附录 1 程序清单数字电压表(digital voltmeter )简称dvm是大学物理教学和实验中的重要仪表, 其数字化是指将连续的模拟电压量转换成不连续、 离散的数字量并加以显示。传统的实验用模拟电压表功能单一、精度低、体积大,且存在读数时的视差, 长时间连续使用易引起视觉疲劳, 使用中存在诸多不便。 而目前数字万用表的内部核心多是模数转换器, 其精度很大程度上限制了整个表的准确度, 可靠性较差。传统的数字电压表设汁通常以大规模asic(专用集成电路)为核心器件,并辅以少量中规模集成电路及显示器件构成。 asic 完成从模拟量的输入到数字量

4、的输出,是数字电压表的心脏。这种电压表的设计简单、精确度高,但是这种设计方法由于采用了 asic器件使得它欠缺灵活性,其系统功能固定,难以更新扩展。 后来发展起来的用微处理器( 单片机 ) 控制通用 a/d 转换器件的数字电压表的设计的灵活性明显提高, 系统功能的扩展变得简单, 但是由于微处理器的引脚数量有限, 其控制转换速度和灵活性还是不能满足日益发展的电子工业的需求。 而应用eda技术及fpga具集成度高、速度快、性能十分可靠、用户可自由编程且编程语言通俗易懂、系统功能扩展非常方便。采用fpga5片控制通用a/d转换器可使速度、灵活性大大优于由微处理器和通用 a/d 转换器构成的数字电压表

5、。本设计的a/d转换器件选用adc0809(寸模拟电压采样,以一片高性能 fpga芯片为控制核心, 以软件实现了诸多硬件功能, 对电压信号的转换结果进行准确实时的运算处理并送出显示。 系统的主要功能都集成在一块芯片上, 大大减少了系统的分立元件数量, 降低了功耗, 增加了可靠性, 较好地实现了电压的精准测量。二、设计要求设计一个数字电压表, 利用 8 位 a/d 转换器, 将连续的模拟电信号转换成离散的数字电信号,并加以显示,要求其量程为0-5v,分辨率约为0.02v,三位数码管显示,其中一位为整数,两位为小数,能正确显示小数点。11三、设计过程1、系统总体框图图1.4系统总体框图2、数字电压

6、表的基本原理ado0809w 集及转换可编程芯片数据处 理数码管显示数字电压表系统由a/d转换控制模块、数据转换模块、动态扫描与译码模块 三部分构成。a/d转换控制模块控外部a/d转换器,动态扫描与译码模块向外部 数码管显示电路输出数据。a/d转换器负责采集模拟电压,转换成 8位数字信号送入cpld的a/d转换 控制模块,a/d转换控制模块负责a/d转换的启动、地址锁存、输入通道选择、 数据读取等工作,数据转换模块将 8位二进制数据转换成16位十进制bcm送 入动态扫描与译码模块,最后通过数码管显示当前电压值。四、单元电路设计1、a/d转换控制模块作为a/d转换器的adc0809片内有8路模拟

7、开关,分辨率为8位,转换时 间约100us,含锁存控制的8路多路开关,输出由三态缓冲器控制,单 5v电源 供电。分辨率是指a/d转换器能分辨的最小模拟输入量,通常用能转换成的数字量 的位数来表示,如8位、10位、12位、16位等。位数越高,分辨率越高。例如, 对于8位a/d转换器,当输入电压满刻度为 5v时,其输出数字量的变化范围为 02a8-1 ,转换电路对输入模拟电压的分辨能力为 5v/ (2a8-1) =19.6mm量程是指a/d转换器所能转换的输入电压范围。如图所示为adc0809e片的封装弓i脚图,10> c1kvccstarte0cino£iniin2doin3di

8、1bmd2in5d3in7d5d6add ad7add badd calevref+vref-gnd】67769j7142153s4技5j525如2j17我23*b由图可知芯片有28只引脚,采用双列直插式的封装。各引脚功能如下:in7in08路模拟信号输入通道。adc0809寸输入的模拟量要求主要为: 信号单极性,电压范围05v。adda addb add3位地址线。addams地址,adde高位地址, 组成3位二进制码000111,分别选中in0in7。2ale-地址锁存允许信号,高电平时允许 adda addb addo示当前通 道被选中,上升沿时将通道地址锁存至地址锁存器中。star启动

9、转换信号。start:升沿时,所有内部寄存器清 0; startf降沿时,开始进行a/d转换。在a/d转换期间,star深持低电平。eoc-a/d转换结束信号。eoc=。正在进行转换;eoc=1 a/d转换完毕, 常用作中断申请信号。oe-输出允许信号,高电平有效,用来打开三态输出锁存器。oe=0输出数据线呈高阻态;oe=1输出转换得到的数据。cloc k一外部时钟脉冲输入端。adc080的部没有时钟电路,所需时钟信号由外界提供,要求频率范围10kh- 1.5mhzd7d0数据输出线。为三态缓冲输出形式。vcc 单+5v电源。gnd接地0如图所示,为adc0809t作时序图。in0in7是模拟

10、信号的输入端,通过 addc addb adda*址选择信号来选择模 拟信号具体从哪个端口输入,当 ale产生上升沿,地址信号就存入地址寄存器, 下降沿时则开始a/d转换;eocm氐电平时表示a/d转换进行中,高电平时表示 a/d转换结束;oe位低电平时,输出数据线高阻态,当 3oe出现高电平,则打 开三态输出锁存器,输出八位数据 d7dqst0又执dc0809台*st1启势/dm奂*st2采样周期中省彳生oc0i#转检*st3发出数据允许 始t巾合公oe ±1化eoc=t换结束据输出有效st4+ 发出锁存信号lock 0->1cpld控制ad睬样状态图com process(

11、cs,eoc)begin-主控进程,规定各状态转换方式case cs iswhen st0=>ale<='0'start<='0'lock<='0'oe<='0'next_state <= st1;-0809初始化when st1=>ale<='1'start<='1'lock<='0'oe<='0'next_state <= st2;-启动采样when st2=> ale<='

12、;0'start<='0'lock<='0'oe<='0'if (eoc='1') then next_state <= st3; -eoc=1表明转换结束else next_state <= st2;-转换未结束,继续等待end if ; when st3=> ale<='0'start<='0'lock<='0'oe<='1' next_state <= st4;-开启oe,输出转换好的数据

13、when st4=> ale<='0'start<='0'lock<='t;oe<='t; next_state <= st0; when others => ale<='0'start<='0'lock<='0'oe<='0'next_state <= st0; end case ; end process com;2、模拟电压的计算 电压值=采样值/255*参考电压 取小数点后两位div_temp<=

14、regl * "00000101"=» regl*5v(参考电压)regl_t1 <= div_temp(15 downto 8); /255*5电压整数部分div_temp1 <= div_temp( 7 downto 0)*"00001010"regl_t2 <= div_temp1( 15 downto 8);小数点后第一位div_temp2 <=div_temp( 7 downto 0)*"00110010"regl_t3 <= div_temp2( 15 downto 8);小数点后第

15、二位-此处没有实现2进制转换bcd码case cnt8 iswhen"00"=>bt t<="111110"<=regl_t3(3 downto);-when"01"=>bt t<="111101"<=regl_t2(3 downto);-when"10"=>btt<="111011"<=regl_t1(3 downto);-数码管位选ds1数码管位选ds2数码管位选ds3when others => null;en

16、d case ;bt <= bt_t;clockstarteocoe功能后效000a/d开始转换后效010转换结束后效011允许数据输出3、显示控制及驱动模块采用led数码管,采用数码管动态显示,数码管具有结构简单、低损耗、 寿命长、耐老化、成本低、对外界要求低、易于维护、操作简单,编程简单等优 点。但是也有一个明显的缺点,即显示的信息量非常有限,只能显示几个有限的 阿拉伯数字与字母,电路图如图1.3.1所示。图1.3.八段发光二极管显示器原理结电压值的显示:最常用到的二进制转换成bc则的方法是用除法。先用得到 的16位二进制数除以10000,得到的商就是模拟电压值的整数部分(模拟电压

17、的输入为0-5v,所以整数部分只有1位),得到的余数是模拟电压值的小数部 分;接下来用余数除以1000,商是十分位,余数彳为被除数再除以100,商为百 分位,余数再除以10,商为千分位。这样就将16位的二进制数转换成了 4位bcd 码。电压值的显示可由数码管实现。本系统选用了三个数码管显示。整个电路十分简 洁。系统工作过程首先由fpgam adc080吸数码管进行初始化,然后当有输入 信号v i ,由fpga!过接口向adc0809空制信号控制字,使其对输入的模拟信 号进行转换,变为8位的数字信号送到输出端,由fpgag过码制变换等处理后, 再通过与数码管的接口驱动并发送数据。当 adc080

18、睬样完成后,由码字变换模 块将采样数字信号转换为数码管段码,实现显示。adc0809弓i脚连接|r10 5kuo10k5 k1工d7 l'o-4126usdnib2-l2-2esh2-3in-12-52-6in-j2-7in& eocjn-5 add-aintadd-badd-cin7 alercfl-)enable21(2720、ld« 1/0-10_;:d5 hot7rll;dl 1/0-16sd) l'014i1】,j;.d2 0。山id,di l-'o-lnj?!do l'u-1eoc 0-423_i,14255力1122b ale 10-45169oe 1om7-t ustart rcfl+)clock .«hiart lg再10adclk lcm4adcgeg9五、软件设计1、开发软件及编程语言简介系统采用硬件描述语言 vhdl按模块化方式进行设计,并将各模块集成于fpga芯片中,然后通过quartus ii软件开发平台对设计文件自动地完成逻辑编译、 逻辑化简、综合及优化、逻辑布局布线、逻辑仿真,最后对 fpga5片进行编程, 实现系统的设计要求。采用vhdl超高速集成电路硬件描述语言设计复杂数字电路的方法具有很多 优点,vhdl®言的设计技术齐全、方法灵活、支持广泛。vhdl®言的系

温馨提示

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

评论

0/150

提交评论