《电气工程及其自动化EDA课程设计》课程设计报告题目:数字频率计的设计院(系):机电与自动化学院专业班级:电气工程及其自动化学生姓名:XXX学号:2011XXXXXXX指导教师:XXX2014年1月6日至2014年1月10日华中科技大学武昌分校《电气工程及其自动化EDA课程设计》设计任务书一、设计题目数字频率计的设计二、设计主要内容1.设计目的:(1)巩固和加深对《EDA技术及应用》及《数字电子技术》基本知识的理解,提高学生综合运用本课程所学知识的能力;(2)培养学生根据课题需要选学参考书籍、查阅手册、图表和文献资料的自学能力;通过独立思考,深入钻研有关问题,学会自己分析解决问题的方法;(3)以学生的动手为主要内容,培养学生系统软、硬件设计、调试的基本思路、方法和技巧,并能熟练使用集成软件QuartusⅡ进行有关电路设计与分析;(4)掌握FPGA器件的正确使用方法,提高学生动手能力,能在教师指导下,完成课程任务;(5)培养严肃认真的工作作风和科学态度。通过课程设计实践,帮助学生逐步建立正确的生产观念、工程观念和全局观点。2.设计内容:(1)8位频率计输入端分别为:系统基准时钟100MHZ(CLK)、被测信号输入(Fx);及输出端为(DOUT),皆采用BCD码计数方式;(2)可测量范围从1Hz到99999999Hz;(3)将被测信号的频率直接送到8个LED显示;也可选择其它题目,但分量不能低于上述题目。三、原始资料1.频率测量方法的基本原理是计算每秒内待测信号的脉冲个数,这就要求TESTCTL的计数使能信号TSTEN能产生一个1秒脉宽的周期信号,并对频率计的每一个计数器CNT10的ENA使能端进行同步控制。当TSTEN高电平时,允许计数,并保持其所计的数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒的计数值锁存进32位锁存器REG32B中,并由外部的7段译码器译出并稳定的显示。此方法测量精度高。数字频率计由多频信号源模块、测频控制模块、CNT计数模块、32位锁存器模块及频率显示模块组成,其框图为图1所示:图1数字频率计组成框图2.在QuartusII软件中,编写各个模块VHDL源程序;并上机调试通过;3.下载顶层文件到目标芯片;4.将被测信号fx输入到系统,数码管将会显示被测信号频率。四、要求的设计成果1、基本要求:在QuartusII软件中新建原理图文件,编译,仿真,锁定管脚并下载到目标芯片。将被测信号fx输入到系统,数码管将会显示被测信号频率。(1)根据设计要求,设计系统的原理框图,说明系统中各主要组成部分的功能;(2)在QuartusII软件中,编写各个模块VHDL源程序;并上机调试通过;(3)根据软件编好用于系统仿真的测试文件;(4)编好用于硬件验证的管脚锁定文件;(5)记录系统各个模块仿真结果;(6)记录仿真结果中出现的问题及解决办法。2、备选要求:学生可根据课堂教学对《EDA技术及应用》所掌握知识点的实际情况,也可选择其它方案完成设计,从而形成难易程度不同的设计方法。注意:基本要求学生必须完成,学有余力的学生可以在基本要求完成的前提下,选择其它方案完成设计。一般来说,测频精度越高,考查评价就越高。信号源计数模块锁存器显示器控制信号100MHzCLK1Hz用于测量用于测量用于扫描显示被测信号fsinTESTENLOADCLR产生1MHz信号产生多种频率输出五、进程安排表2进度安排及学时分配表序号课程设计内容学时分配备注1集中学生学习课程设计的关键理论知识、分配设计任务、明确设计要求、查找资料等。1天2根据任务的要求进行方案构思,初选方案,绘制系统原理框图并与指导教师讨论,方案定稿。1天完成各模块的VHDL程序设计、编译和时序仿真1天3编程、下载,结合硬件平台,进行调试。完成顶层文件图绘制,对编制好的封图交给老师检查,并按照老师要求修改。1天4撰写课程设计说明书1天5答辩及验收课程设计1天合计5天六、主要参考资料[1]侯伯享.VHDL硬件描述语言与数字逻辑电路设计.西安:西安电子科技大学出版,2010.[2]潘松.EDA技术实用教程.成都:电子科技大学出版社,2010.[3]李玉山.电子系统集成设计技术.北京:电子工业出版社,2010.6.[4]李国丽.EDA与数字系统设计.北京:机械工业出版社,2009.[5]周彩宝.VHDL语言及其应用.上海:华东计算机技术研究所:2009.[6]谭会生.EDA技术中和应用实例与分析.西安:西安电子科技大学出版社,2008.指导教师(签名):20年月日目录摘要…………………………………………………………………(1)一.课程设计要求及内容……………………………………………(1)1.1主要技术指标…………………………………………………(1)1.2工作内容及要求………………………………………………(1)二数字频率计的基本原理………………………………………(1)2.1数字频率计的组成……………………………………………(1)2.2数字频率器的原理……………………………………………(2)三具体电路模块设计………………………………………………(2)3.1100MHz分频器CLK_GEN的设计………………………………(2)3.2带时钟使能的十进制计数器CNT10的设计…………………(3)3.332位锁存器REG32B的设计…………………………………(5)3.4测频控制信号发生器TESTCTL的设计………………………(6)3.5动态输入编译译码器HC4511的设计………………………(7)四数字频率计系统模块的设计……………………………………(9)4.1系统模块程序设计及仿真波形………………………………(9)4.2数字频率计系统顶层设计…………………………………(10)五心得体会…………………………………………………………(13)课程设计成绩评定表………………………………………………(14)摘要数字频率计是一种用十进制数字显示被测信号频率的一种数字测量仪器,其功能是测量正弦信号,方波信号,尖脉冲信号以及其他各种单位时间内变化的物理量,因此已经成为电路设计的常用元器件之一,有它不可替代的地位。在电子技术中,频率与许多电参量的设计测量方案,测量结果都有着十分紧密的关系,因此频率的测量就显得更为重要。测量频率的方法有很多种,其中数字计数器测量频率具有精度高,使用方便,测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。其原理为通过测量一定闸门时间内信号的脉冲个数。本文阐述了利用VHDL语言在CPLD器件的基础上设计一个简单的数字频率计的过程。采用VHDL编程技术设计实现的数字频率计,除被测信号的整形部分,键输入部分和数码显示部分以外,其余全部在一片集成电子芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。关键词:数字频率计,测量,VHDL语言,设计一.课程设计要求及内容1.1主要技术指标(1)可测量范围从1Hz到99999999Hz;(2)8位频率计输入端分别为:系统基准时钟100MHZ(CLK)、被测信号输入(Fx);及输出端为(DOUT),皆采用BCD码计数方式;(3)将被测信号的频率直接送到8个LED显示。1.2工作内容及要求(1)根据任务的要求进行方案构思,初选方案,绘制系统原理框图并与指导教师讨论,方案定稿。(2)根据选定的方案,在QuartusII软件中,编写各个模块VHDL源程序;并上机调试通过,记录系统各个模块仿真结果;(3)对各个模块进行综合仿真,调试,实现数字频率计的基本功能和硬件实现;(4)记录仿真结果中出现的问题及解决办法。二数字频率计的基本原理2.1数字频率计的组成本课程设计设计的数字频率计正常工作时,可测量0Hz-100MHz的频率。设(1)计系统是有五部分组成:一个100MHz分1Hz的分频器CLK_GEN,一个测频控制信号发生器TESTCTL,带时钟使能的十进制计数器CNT10(设计中需要八个),一个32位锁存器REG32B,以及动态输入译码器HC4511电路设计(设计中需要八个)。2.2数字频率器的原理数字频率计的基本原理是用一个频率稳定度高的频率源作为基准信号,对比测量出其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为一秒。闸门时间可以根据取值大于或小于1秒都可以。闸门时间越长,则每测一次频率的间隔就越长,闸门时间越短,测得的频率值刷新就越快,单侧的的频率精度就越受影响。一般取1秒作为闸门时间。其原理框图如下:设计的数字频率计工作过程如下:被测信号接入频率计的输入端FSIN,下载板上100M时钟通过频率计的分频器模块中CLK端口输入,经过分频器的分频,变成1Hz的工作频率提供给测频器。当被测频率和工作频率进入测频器模块时,测频器TESTCTL工作进行测频,TESTCTL的计数使能信号CLR_CNT产生一个1秒脉宽的周期信号,并对频率集中的十进制计数器CNT10的ENT使能端进行同步控制。当ENT高电平时允许计数,低电平时停止计数,并保持其所记得脉冲数。在停止计数期间,首先需要一个锁存信号LOAD的上升沿将计数器所计的值锁存进32位锁存器REG32B中,数字频率计的源程序综合以上模块并且通过对硬件的链接,实现8个数码管显示出计数值。三具体电路模块设计3.1100MHz分频器CLK_GEN的设计100MHz工作时钟接入分频器,用一个计数器进行计数,计满二分之一100M个,CLK信号取反一次,分频后频率变为1Hz,周期由1/100000000秒变大为1秒,满足数字频率计时序工作频率的要求。分频器程序设计如下:---------------------------------------------------------------------100MHz分频器:clk_gen.vhd---------------------------------------------------------------------libraryieee;useieee.std_logic_1164.all;entityclk_genisport(clk:instd_logic;newclk:outstd_logic);endentityclk_gen;(2)architectureartofclk_genissignalclk2:std_logic;beginprocess(clk)isvariablecnter:integerrange0to99999999;beginifclk'eventandclk='1'thenifcnter=99999999thencnter:=0;elsecnter:=cnter+1;endif;ifcnter50000000thenclk2='1';elseclk2='0';endif;endif;endprocess;newclk=notclk2;endarchitectureart;分频器编译仿真波形如下:3.2带时钟使能的十进制计数器CNT10的设计计数器模块是对输入脉冲信号的频率进行测量技术的部分,有八个带时钟使能的十进制计数器组成。其中ENA为计数器选通控制信号,CLR为计数清零信号。在计数清零信号清零后,当使能信号ENA有效时,开始对待测信号进行计数。如果使能信号ENA的宽度为1时,那么计数结果就为待测信号的频率。(3)带时钟使能的十进制计数器程序设计如下:---------------------------------------------------------------------带时钟使能的十进制计数器:CNT10.vhd---------------------------------------------------------------------LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYCNT10ISPORT(CLK:INSTD_LOGIC;CLR,ENA:INSTD_LOGIC