小学期数字电压表课程设计报告_第1页
小学期数字电压表课程设计报告_第2页
小学期数字电压表课程设计报告_第3页
小学期数字电压表课程设计报告_第4页
小学期数字电压表课程设计报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

东北石油大学课程设计课程课程硬件课程设计题目数字电压表设计院系计算机与信息技术学院专业班级计算机科学与技术10-6班学生姓名张万阳学生学号指导教师梁吉胜2009年7月10日东北石油大学课程设计任务书课程硬件课程设计题目数字电压表设计主要内容、根本要求等一、主要内容:利用EL教学实验箱、微机和QuartusⅡ软件系统,使用VHDL语言输入方法设计数字钟。可以利用层次设计方法和VHDL语言,完成硬件设计设计和仿真。最后在EL教学实验箱中实现。二、根本要求:1、 A/D转换接口电路的设计,负责对ADC0809的控制。2、 编码转换电路设计,负责把从ADC0809数据总线中读出的电压转换成BCD码。3、 输出七段显示电路的设计,负责将BCD码用7段显示器显示出来。三、扩展要求1.当测量结束后,蜂鸣器鸣响10声。按照标准写出论文,要求字数在4000字以上,并进行辩论。论文内容包括概述〔学习、调研、分析、设计的内容摘要〕、EDA技术的现状和开展趋势、对EL教学实验箱和QuartusⅡ软件的掌握程度、数字钟的设计过程〔包括原理图或程序设计、编译、仿真分析、硬件测试的全过程〕,论文中含有原理图、程序、仿真波形图及其分析报告。完成期限2周指导教师梁吉胜专业负责人富宇2012年6月10日东北石油大学课程设计成绩评价表课程名称硬件课程设计题目名称数字电压表设计学生姓名张万阳学号指导教师姓名梁吉胜职称讲师序号评价工程指标〔优秀〕总分值评分1选题难度选题难度较高,或者对原题目进行了相当程度的改良。102工作量、工作态度和出勤率工作量饱满,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。103课程设计质量按期圆满的完成了规定的任务,方案设计合理,思考问题全面,系统功能完善。404报告质量问题论述思路清晰,结构严谨,文理通顺,撰写标准,图表完备正确。305答复下列问题在进行课程设计程序系统检查时,能正确答复指导教师所提出的问题。106创新〔加分项〕工作中有创新意识,对前人工作有改良或有应用价值。在进行系统检查时能对创新性进行说明,并在报告中有相应的论述。+5总分评语:指导教师:年月日摘要本文介绍了利用EDA-V硬件系统和微机上的Quartus7.2-II等软件系统。VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本,IEEE-1076〔简称87版〕之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承当起大局部的数字系统设计任务。本文设计主要利用VHDL语言在EDA平台上设计一个数字电压表,它的测量范围是0.000〔v〕到4.981〔v〕,其中包括A/D转换接口电路模块,编码转换电路模块,输出七段显示电路模块,顶层程序。并且使用Quartus7.2-II软件进行电路波形仿真,下载到EDA实验箱进行验证。关键词:EDA〔电子设计自动化〕;VHDL〔硬件描述语言〕,数字电压表。目录TOC\o"1-2"\h\z\u第1章概述1第2章数字电压表的系统分析4第3章数字电压表的底层设计555第4章数字钟的顶层文件设计6结论14参考文献15第1章概述1.1EDA的概念EDA是电子设计自动化〔ElectronicDesignAutomation〕的缩写,在20世纪90年代初从计算机辅助设计〔CAD〕、计算机辅助制造〔CAM〕、计算机辅助测试〔CAT〕和计算机辅助工程〔CAE〕的概念开展而来的[1]。EDA代表了当今电子设计技术的最新开展方向,它的根本特征是:设计人员按照“自顶向下〞的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路〔ASIC〕实现,然后采用硬件描述语言〔HDL〕完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。EDA设计可分为系统级、电路级和物理实现级。本次毕业设计课题实现的核心技术即为EDA相关技术[2]。EDA技术及应用电子设计技术的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。EDA技术已有30年的开展历程,大致可分为三个阶段。70年代为计算机辅助设计〔CAD〕阶段,人们开始用计算机辅助进行IC幅员编辑、PCB布局布线,取代了手工操作。80年代为计算机辅助工程〔CAE〕阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。CAE的主要功能是:原理图输人,逻辑仿真,电路分析,自动布局布线,PCB后分析。90年代为电子系统设计自动化〔EDA〕阶段[3]。EDA技术开展迅猛,逐渐在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。在教学方面:几乎所有理工科(特别是电子信息)类的高校都开设了EDA课程。主要是让学生了解EDA的根本原理和根本概念、鳞握用佃L描述系统逻辑的方法、使用扔A工具进行电子电路课程的模拟仿真实验并在作毕业设计时从事简单电子系统的设计,为今后工作打下根底。具有代表性的是全国每两年举办一次大学生电子设计竞赛活动。在科研方面:主要利用电路仿真工具(EwB或PSPICE、VLOL等)进行电路设计与仿真;利用虚拟仪器进行产品调试;将O)LI)/FPGA器件的开发应用到仪器设备中。例如在CDMA无线通信系统中,所有移动和无线基站都工作在相同的频谱,为区别不同的呼叫,每个有一个唯一的码序列,CDMA基站必须能判别这些不同观点的码序列才能分辨出不同的传呼进程;这一判别是通过匹配滤波器的输出显示在输人数据流中探调到特定的码序列;FPGA能提供良好的滤波器设计,而且能完成DSP高级数据处理功能,因而FPGA在现代通信领域方面获得广泛应用[4]。在产品设计与制造方面:从高性能的微处理器、数字信号处理器一直到彩电、音响和电子玩具电路等,EDA技术不单是应用于前期的计算机模拟仿真、产品调试,而且也在批量制作、电子设备的研制与生产、电路板的焊接等有重要作用。可以说电子EDA技术已经成为电子工业领域不可缺少的技术支持。电子技术全方位纳入EDA领域,EDA使得电子领域各学科的界限更加模糊,更加互为包容,突出表现在以下几个方面:使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;基于EDA工具的ASIC设计标准单元已涵盖大规模电子系统及IP核模块;软硬件IP核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认;SoC高效低本钱设计技术的成熟。随着半导体技术、集成技术和计算机技术的迅猛开展,电子系统的设计方法和设计手段都发生了很大的变化。可以说电子EDA技术是电子设计领域的一场革命。传统的“固定功能集成块十连线〞的设计方法正逐步地退出历史舞台,而基于芯片的设计方法正成为现代电子系统设计的主流。作为高等院校有关专业的学生和广阔的电子工程师了解和掌握这一先进技术是势在必行,这不仅是提高设计效率的需要,更是时代开展的需求,只有攀握了EDA技术才有能力参与世界电子工业市场的竞争,才能生存与开展。随着科技的进步,电子产品的更新日新月异,EDA技术作为电子产品开发研制的源动力,已成为现代电子设计的核心。所以开展EDA技术将是电子设计领域和电子产业界的一场重大的技术革命,同时也对电类课程的教学和科研提出了更深更高的要求。特别是EDA技术在我国尚未普及,掌握和普及这一全新的技术,将对我国电子技术的开展具有深远的意义。1.2EDA的工作平台1.2.1EDA硬件工作平台1.计算机。2.EDA实验开发系统:EDA-V。1.2.2EDA的软件工作平台PLD〔ProgrammableLogicDevice〕是一种由用户根据需要而自行构造逻辑功能的数字集成电路。目前主要有两大类型:CPLD(ComplexPLD)和FPGA(FieldProgrammableGateArray)。它们的根本设计方法是借助于EDA软件,用原理图、状态机、布尔表达式、硬件描述语言等方法,生成相应的目标文件,最后用编程器或下载电缆,由目标器件实现。生产PLD的厂家很多,但最有代表性的PLD厂家为Altera、Xilinx和Lattice公司。第2章数字电压表的系统分析2.1设计目的1.掌握多位计数器相连的设计方法。2.继续稳固多位共阴极扫描显示数码管的驱动,及编码。3.LED灯的把戏显示。4.掌握CPLD技术的层次化设计方法。2.2功能说明1.A/D转换接口电路的设计,负责对ADC0809的控制。2.编码转换电路设计,负责把从ADC0809数据总线中读出的电压转换成BCD码。3.输出七段显示电路的设计,负责将BCD码用7段显示器显示出来。2.3实验原理在同一EPLD芯片EPF10K10上集成了如下电路模块:1.A/D转换接口电路模块2.编码转换电路模块3.输出七段显示电路模块4.顶层程序,将上述三个原件进行综合。2.4系统硬件1.主芯片EPF10K10LC84-4。2.8个LED灯。3.8位八段扫描共阴级数码显示管。4.ADC0809芯片。第3章数字电压表的底层设计3.1设计规划该数字电压表可以实现测量电压的功能。A/D转换接口电路模块:负责对ADC0809的控制。编码转换电路模块:负责把从ADC0809数据总线中读出的电压转换成BCD码。输出七段显示电路模块:负责将BCD码用7段显示器显示出来。3.2设计说明1.产生控制信号:对于ADC0809芯片的各种介绍请参阅其数据手册。〔1〕状态S0:CS=1、WR=1、RD=0〔由控制器发出信号要求ADC0809开始进行模/数信号的转换〕。〔2〕状态S1:CS=0、WR=0、RD=0〔ADC0809进行转换动作,转换完毕后INT将低电位升至高电位〕。〔3〕状态S2:CS=1、WR=0、RD=1〔由控制器发出信号以读取ADC0809的转换资料〕。〔4〕状态S3:CS=0、WR=0、RD=0〔由控制器读取数据总线上的数字转换资料〕。由上述的四个状态可以归纳出整个控制器的动作功能有:〔1〕负责在每个步骤送出所需的CS、WR、RD控制信号。〔2〕在状态S1时,监控INT信号是否由低变高,如此以便了解转换动作结束与否。〔3〕在状态S3,读取转换的数字资料。计算转换后的数字电压信号,最终以BCD码表示。通过输出七段显示电路模块,将BCD码用7段数码管来显示出来,以测量出电压的值。第4章数字钟的顶层文件设计4.1设计说明建立数字钟的顶层文件就是将已经设计好的各个功能组件组合调用,连成一个整体,使整个系统按照设计要求在实际中工作起来。4.2设计思想4.2.1A/D转换接口电路模块当CS和WR同时为高电平时,ADC0809开始转换,当转换完成后,在INT脚输出高电平,等待读数据;当CS和RD同时为电平时,通过数据总线D[7..0]从ADC0809是读出数据。〔1〕状态S0:CS=1、WR=1、RD=0〔由控制器发出信号要求ADC0809开始进行模/数信号的转换〕。〔2〕状态S1:CS=0、WR=0、RD=0〔ADC0809进行转换动作,转换完毕后INT将低电位升至高电位〕。〔3〕状态S2:CS=1、WR=0、RD=1〔由控制器发出信号以读取ADC0809的转换资料〕。〔4〕状态S3:CS=0、WR=0、RD=0〔由控制器读取数据总线上的数字转换资料〕。由上述的四个状态可以归纳出整个控制器的动作功能有:〔1〕负责在每个步骤送出所需的CS、WR、RD控制信号。〔2〕在状态S1时,监控INT信号是否由低变高,如此以便了解转换动作结束与否。〔3〕在状态S3,读取转换的数字资料。编码转换电路模块计算转换后的数字电压信号,最终以BCD码表示,当参考电压〔Vref〕为2.56V时,模拟输入电压与输出电压的对应关系如表3-3所示。这样由ADC0809收到的信号是01110110〔76H〕,那么对照表3-3时,高4位0111的电压为2.24V,而低4位0110是0.12V,所以最后的电压输出结果为2.24+0.12=2.36V。表3-3模拟输入电压与输出电压的对应关系进制参考电压162高4位电压低4位电压000000.000.00100010.320.02200100.640.04300110.960.06401001.280.08501011.600.10601101.920.12701112.240.14810002.560.16910012.880.18A10103.200.20B10113.520.22C11003.840.24D11014.160.26E11104.480.28F11114.800.30输出七段显示电路模块将编码转换电路模块,发来的BCD码,显示在数码管上。4.3顶层文件程序代码如下:libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entityvoltmeterisport(D:instd_logic_vector(7downto0);CLK,INT,RESET:instd_logic;CS,RD,WR:outstd_logic;DATOUT:outstd_logic_vector(11downto0));endvoltmeter;architecturedoitofvoltmeterissignaldatain:std_logic_vector(7downto0);signaldata1,data2:std_logic_vector(15downto0);signaldout1,dout2,dout3,dout4:std_logic_vector(11downto0);signaldo1,do2,do3,do4,c1,c2,c3,doo1,doo2,doo3,doo4:std_logic_vector(4downto0);typestatetypeis(idle,write,swait,read,disp1,disp2,disp3,disp4);Signalpresent_state,next_state:statetype;Begin--〔以下为A/D转换接口电路模块〕P1:process(present_state,next_state,INT)begincasepresent_stateiswhenidle=>CS<='1';WR<='0';RD<='0';next_state<=write;whenwrite=>CS<='1';WR<='1';RD<='0';next_state<=swait;whenswait=>CS<='0';WR<='0';RD<='0';if(INT='1')thennext_state<=read;elsenext_state<=swait;endif;whenread=>CS<='1';WR<='0';RD<='1';next_state<=disp1;whendisp1=>CS<='0';WR<='0';RD<='0';DATOUT<=dout1;next_state<=disp2;whendisp2=>CS<='0';WR<='0';RD<='0';DATOUT<=dout2;next_state<=disp3;whendisp3=>CS<='0';WR<='0';RD<='0';DATOUT<=dout3;next_state<=disp4;whendisp4=>CS<='0';WR<='0';RD<='0';DATOUT<=dout4;next_state<=idle;endcase;ndprocessP1;--〔以下为编码转换电路模块〕P2:process(CLK,RESET)beginif(RESET='0')thenpresent_state<=idle;datain<="00000000";elsif(CLK'eventandCLK='1')thenpresent_state<=next_state;if(present_state=read)thendatain<=D;endif;endif;endprocessP2;data1<="0000000000000000"whendatain(7downto4)="0000"else"0000001100010011"whendatain(7downto4)="0001"elsewhendatain(7downto4)="0010"elsewhendatain(7downto4)="0011"elsewhendatain(7downto4)="0100"elsewhendatain(7downto4)="0101"elsewhendatain(7downto4)="0110"elsewhendatain(7downto4)="0111"elsewhendatain(7downto4)="1000"elsewhendatain(7downto4)="1001"elsewhendatain(7downto4)="1010"elsewhendatain(7downto4)="1011"elsewhendatain(7downto4)="1100"elsewhendatain(7downto4)="1101"elsewhendatain(7downto4)="1110"elsewhendatain(7downto4)="1111"else"0000000000000000";data2<="0000000000000000"whendatain(3downto0)="0000"else"0000000000100000"whendatain(3downto0)="0001"else"0000000000111001"whendatain(3downto0)="0010"else"0000000001011001"whendatain(3downto0)="0011"else"0000000001111000"whendatain(3downto0)="0100"else"0000000010011000"whendatain(3downto0)="0101"else"0000000100010111"whendatain(3downto0)="0110"else"0000000100110111"whendatain(3downto0)="0111"else"0000000101010110"whendatain(3downto0)="1000"else"0000000101110110"whendatain(3downto0)="1001"else"0000000110010101"whendatain(3downto0)="1010"else"0000001000010101"whendatain(3downto0)="1011"else"0000001000110100"whendatain(3downto0)="1100"else"0000001001010100"whendatain(3downto0)="1101"else"0000001001110011"whendatain(3downto0)="1110"else"0000001010010011"whendatain(3downto0)="1111"else"0000000000000000";do1<=('0'&data1(3downto0))+('0'&data2(3downto0));c1<="00000"whendo1<"01010"else"00001";do2<=('0'&data1(7downto4))+('0'&data2(7downto4))+c1;c2<="00000"whendo2<"01010"else"00001";do3<=('0'&data1(11downto8))+('0'&data2(11downto8))+c2;c3<="00000"whendo3<"01010"else"00001";do4<=('0'&data1(15downto12))+('0'&data2(15downto12))+c3;doo1<=do1whendo1<"01010"elsedo1-"01010";doo2<=do2whendo2<"01010"elsedo2-"01010";doo3<=do3whendo3<"01010"elsedo3-"01010";doo4<=do4whendo4<"01010"elsedo4-"01010";--〔以下为输出七段显示电路模块〕whendoo1="1001"else"000000001111";whendoo2="1001"else"000000001111";whendoo3="1001"else"000000001111";whendoo4="0100"elsewhendoo4="0110"el

温馨提示

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

评论

0/150

提交评论