




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
20摘 要VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言)诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE(The Institute of Electrical and Electronics Engineers)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下和基于库的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路(ASIC)的设计。频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言。将使整个系统大大简化。提高整体的性能和可靠性。 为适应实际工作的需要,本文在简述频率测量的基本原理和方法的基础上,提供一种基于FPGA的频率计的设计和实现过程,用VHDL在CPLD器件上实现一种8 b数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。具有体积小、可靠性高、功耗低的特点。 关键词:VHDL;可编程逻辑器件;数字频率计;正弦波;CPLD;目录设计要求11、方案论证与对比11.1方案一11.2方案二12、设计原理及其实现过程22.1设计总原理22.2块设计和相应模块程序32.2.1 外围电路模块32.2.2 分频模块52.2.3 位选模块52.2.4 时钟模块72.2.5 计数模块72.2.6 BCD码转换模块92.3电路调试102.4引脚锁定113、课程设计结论及心得体会124、仪器仪表清单135、参考文献136、致谢13附录:完整程序程序14频率计设计设计要求1. 输入频率信号FSIN;2. 范围1Hz1MHz,波形可以是正弦波、三角波、方波和其他任何有固定频率的信号,信号的幅值0.5V5V;1、方案论证与对比波形整形电路555时钟电路计数,模块电路七段数码管显示电路信号放大电路1.1方案一图1系统原理框图采用数字逻辑电路制作,用IC芯片拼凑焊接实现,其特点是直接用IC组合而成,简单方便,但由于使用的器件较多,连接复杂,体积大,功耗大。焊点和线路较多使得测量的精度和稳定性不足1.2方案二采用复杂可编程逻辑器件(CPLD)制作,利用EDA软件编程,下载烧制实现功能,将所有的器件集成在一块芯片上,体积大大的缩小的同时稳定性和精度也大大的得到了提升,并且可以用EDA软件仿真,调试,每个人都可以设计自己的代码,提高了开发的效率,缩短了开发周期,降低了开发成本,易于进行功能扩展。实现方法灵活,调试方波,修改容易。 经比较本设计采用了方案二。图2 系统原理框图2、设计原理及其实现过程2.1设计总原理该程序通过元件例化实现,共分成五个部分程序,分别为分频(fp)程序、位选(wx)程序、时钟(sz)程序、计数(js)程序、BCD转换(bcd)程序。通过五个模块相互配合实现简易数字频率计的功能。图3 系统原理图系统原理图如图3示,其实现过程为:欲测试的方波信号首先通过分频模块,产生10倍,100倍,1000倍及本来方波信号共四路方波信号,四路信号送入位选功能模块,通过四个输入按键控制经过分频处理后的四路方波的选择,此两个模块即实现四个测试档位的功能。该模块所选择的方波信号送入计数模块,从而得到输入方波的信号频率,然后送入最后的BCD转换模块,将四位十进制数据转化成四组4位BCD码。计数模块为一分频程序,是为产生一个0.5Hz的时钟脉冲送入计数模块,用以对方波频率测试。本次简易数字频率计设计系统共分为五个功能模块,如上图所示,分别为分频模块,位选模块,时钟模块,计数模块和BCD码转换模块。五部分功能模块中,分频模块完成对于预测试的方波进行分频,输出四路分别为原方波频率的1倍,1/10倍,1/100倍,1/1000倍频率的方波,分频后的四路方波信号送入第二功能模块,即位选模块,此模块完成四个档位的设计功能,选择一路输出,送入到计数模块当中,技术模块的计数时钟频率必须为0.5Hz,系统的时钟频率需要经过时钟模块进行分频得到,计数结果即为相应档位下的数值,然后经过BCD码转换模块转换为四位BCD码输出,到此,整个系统功能设计完成。系统封装图如图所示,其中fb为待测试的方波输入端,clk为系统时钟频率输入端,rst为复位端,k1为频率计乘1档端,k2为频率计乘100档,k3为频率计乘1000档。g1,g2,g3,g4分别为四路档位对应的标志位,通过四个LED灯点亮实现,g5为超量程警告位,通过一个LED灯闪烁实现。d1,d2,d3,d4分别输出四位BCD码,并通过数码管显示,分别表示千位,百位,十位,个位。当系统工作时,四个数码管所显示数据乘以档位即使所测量的方波的频率。2.2块设计和相应模块程序2.2.1 外围电路模块对信号的放大功能由三极管构成放大电路来实现,对信号整形的功能由施密特触发器来实现。施密特触发器电路是一种特殊的数字器件,一般的数字电路器件当输入起过一定的阈值,其输出一种状态,当输入小于这个阈值时,转变为另一个状态,而施密特触发器不是单一的阈值,而是两个阈值,一个是高电平的阈值,输入从低电平向高电平变化时,仅当大于这个阈值时才为高电平,而从高电平向低电平变化时即使小于这个阈值,其仍看成为高电平,输出状态不这;低电平阈值具有相同的特点。方案一放大整形电路由三极管与与非门组成。三极管构成的放大器将输入频率为fx 的周期信号如正弦波、三角波进行放大。将电源电压设为5V,当输入信号幅值比较大时,会出现线性失真,将放大后的波形幅度控制在5V以内。与非门构成施密特触发器对放大器的输出信号进行整形,使之成为矩形脉冲。电路图如图4所示。图4 放大整形电路放大部分同方案一,整形部分是由555构成的施密特整形电路。电路图如图4所示。方案对比图5 555构成的施密特触发器用与非门构成的施密特触发器因为阈值电压易受受温度、电源电压及干扰的影响,稳定性较差。而555定时器的比较器灵敏度高,输出驱动电路大,并且且555定时器构成的施密特触发器结构简单,而且抗干扰能力比用与非门构成的施密特触发器要强,因此选用方案二。2.2.2 分频模块该部分程序中使用process,其中敏感信号列表中为fb1,即预测试的方波信号。通过定义一个变量,以方波为时钟进行计数,该系统需要乘1档,乘10档,乘100档,乘1000档,即进行10倍,100倍,1000倍的分频,则需要程序中计数器计分别计数到5,50,500时对四路输出信号进行逻辑非运算。该程序封装图如下图6所示:图6 分频程序封装图其中fb1为预测方波输入信号,ao,bo,co,do分别为分频后的四路信号。该部分用以实现对预测试的方波进行10倍,100倍,1000倍的分频,以及本来方波信号共计四路方波信号的输出。该部分程序仿真波形如下图7所示:图7 分频程序仿真图分频程序仿真参数设定fb1为输入的预测方波信号,ao,bo,co,do为四个输出信号,分别为对输入fb1进行分频后以及本来方波信号,由图中可以看出ao频率与fb1频率相同,bo频率为fb1频率的1/10,co频率为fb1频率的1/100,do频率为fb1频率的1/1000。2.2.3 位选模块 该部分程序包含复位端(rst),其中四个输入信号ai,bi,ci,di分别接分频程序的四路分频后的方波信号,通过四个开关控制端k1,k2,k3,k4分别选择输出信号的选择,例如若k1为高电平,则fb0等于ai的输入信号。位选程序与分频程序公共构成频率计四个档位测量功能。位选程序封装图如图8图所示:图8 位选程序封装图封装图中输入信号ai,bi,ci,di为四路分频后的方波信号,k1、k2、k3、k4分别对应g1,g2,g3,g4四个信号输出,该程序中复位端rst为高电平时,将k1、k2、k3、k4四个开关控制端对应的输出信号g1、g2、g3、g4分别置零,在硬件电路中用四个LED灯的亮灭表示,测量时必须有且仅有一个灯点亮,否则为违规操作,测量数据错误。该部分程序仿真波形如下图9所示:图9 位选程序仿真图由仿真图中可以看出,输入信号其中k3为高电平,k1、k2、k3皆为低电平,则相对应的输出信号g3为高电平,fb0波形与第三路输入信号ci相同。复位信号在前端有一正脉冲,即当为高电平时,所有的输出信号皆为低电平。2.2.4 时钟模块该部分程序是为实现得到0.5Hz时钟频率,用以对于方波频率的计数测量。由于硬件中系统时钟频率并不能锁定0.5Hz,则需要对输入的时钟频率进行分频,本系统中选择硬件中clk2引脚的8Hz时钟,则需要对其进行16倍的分频,时钟程序封装如图10所示:图10 时钟程序封装图图中输入信号clki为系统时钟频率,clko为输出信号,作为计数程序的基准时钟。该时钟程序仍为一个分频程序,系统时钟频率作为进程中敏感信号列表的值,当定义的计数变量计数到8时对输出clko进行逻辑非运算,并将变量置零,从而得到0.5Hz的时钟信号。此部分为计数部分输入时钟信号,作为频率测量的基准信号。程序仿真波形如下图11所示:图11 时钟程序仿真图其中输入信号clki为系统的时钟信号,输出信号clko为分频后得到的时钟信号,由上图中可以看出,clko的频率为clki的1/16。因为系统输入时钟频率选为8Hz,则clko时钟频率则为0.5Hz。2.2.5 计数模块 该部分为本次课程简易频率计系统设计的核心部分,此处程序实现对于方波频率的测量。需要说明的是,此处所得到的测量结果为频率计选择档位后的值,即输出的频率需要乘以档位,最终所得到数据才为所测量方波的频率值。程序中以0.5Hz频率的时钟信号为基准脉冲,设置在一变量n,当时钟脉冲为高电平时对输入的方波上升沿进行计数,当时钟脉冲为地电平时,计数结束,并输出。由于要求不能数码显示不能有变化的过程。这里另设一变量m,当时钟脉冲为高电平时将计数值即n的值赋给m,当时钟脉冲为低电平时,将m值送入输出信号q,由于下一个m送入时需要时钟脉冲进入下一个地电平,借此达到输出q值一直不变的要求,程序封装如下图11所示:图12 计数程序封装图封装图中fb为经过选档后的方波信号,clk为0.5Hz的计数基准时钟信号。输出信号g5为超量程警告,q为计数得到频率数值。计数程序中包含了系统对于测量数据超量程的处理,当计数值超过9999时,g5就会出现高低电平脉冲的持续变换,硬件中锁一LED灯,将显示不断闪烁。此时为超量程,数码管显示值为错误量。图13 计数程序仿真图计数程序仿真波形如上图13所示。由于仿真所限,此处并未使用0.5Hz时钟信号作为输入时钟信号。图中clk时钟频率为0.2MHz,fb为频率为100MHz,可以看出,fb为clk频率的500倍,由于只有当clk为高电平时计数,所以得到计数结果q值为250。同理,若clk频率为0.5Hz,则其高电平持续时间即为1s,所得到的计数结果250极为fb信号相应频率值,即此时输入方波频率为250Hz。2.2.6 BCD码转换模块由于计数程序输出结果为0到10000范围内的整型数据,若想通过模式5锁定引脚,并在四个数码管上显示,则需要首先对其进行BCD码的转换。该部分程序中也包括系统复位功能的实现。程序中分别设置三个常量a,b,c其值分别为1000,100,10。首先将输入整形数据qi除以a,即1000,得到所得数据即为千位数值x1,令qi减去x1乘以1000,极为qi中除去千位后剩余的三位数值,同理继续进行算法,则能得到百位,十位,个位的数值,即将输入的整型数据qi转换成BCD码完成。因为使用模式5,硬件中自带译码功能,直接可用于数码显示。用四个数码管分别表示千位,百位,十位,个位,再乘以相应档位,即可得到频率计的测量数值如图14所示:图 14 频率计程序封装图图15 BCD码程序仿真图封装图中qi为经过分频后的方波计数得到的数据,为09999范围内的整型数据,d1、d2、d3、d4为四位BCD码,分别表示十进制数的千位、百位、十位、个位的数值。程序中复位信号rst为高电平时,控制四个输出信号都为0,即四个数码管都显示0,达到复位功能,程序仿真图如上图15所示。程序仿真前输入信号qi值分别设置了9999,8649,4561三个值,并设置两个rst的正脉冲。由上图中可以看到,其中当qi为9999时,由于复位信号rst为高电平,所以所有四个输出信号值皆为0,当qi值为8649时,复位rst为0,所以d1、d2、d3、d4分别为8,6,4,9四个值。同样,当qi值为4561时,四位BCD,码显示4,5,6,1,其中当rst出现一个正脉冲时,d1,d2,d3,d4再次置零,当rst恢复低电平时,继续显示4、5、6和1。2.3电路调试该程序分为五个部分,分别实现预定的功能,然后通过元件例化的方式,组合在一起,编写顶层文件,组合在一起,形成整个系统,各功能相互配合以实现简易频率计的设计,封装图如图16所示:图16 顶层文件封装图顶层文件程序中设置一系列的信号,将五个部分的程序输入输出信号相对应的连接起来,并与整个系统的封装引脚相对应。同时将五个程序分别编译后生成的.vhd文件加载进来,然后进行编译,仿真。系统基本原理,其生成的原理框图和系统的封装图在第一部分已有介绍,这里不再赘述。图2-12为顶层文件仿真图。由于仿真所限,此处并未按实际需要进行参数设定。顶层文件程序仿真前,系统时钟频率clk设定为0.5MHz,预测试方波频率值设定为100MHz,由图中可已看出,此时频率计使用k3档进行测试,所得到的数据为16,该数据再乘以100得到的最后值1600才为仿真欲要得到的数据。以此比例,系统时钟和预测试方波频率都缩小62500倍,则此时系统时钟频率将为8Hz,预测试方波频率为1600Hz,由于按照相同比例变化,所得结果不变,即测试所得数据1600为方波的频率值。仿真时设定了复位参数,由图中可看出当复位信号rst为高电平时,所有的输出都会置零或变为低电平,可实现总体复位功能。该系统含有对于预测试频率超量程的标志,如下图17所示图17 顶层文件程序仿真图由于频率计设计包括了四个档位,其中乘1档测试频率范围为1Hz9999Hz,乘10档测试频率范围为10Hz99990Hz,乘100档测试频率范围为100Hz999900Hz,乘1000档测试频率范围为1000Hz9999000Hz,所以相对应的档位,预测试的频率一旦超过量程就会出现错误显示。这里已乘1档为例,仿真参数中k1为高电平,系统时钟信号clk频率设定为0.05MHz,预测方波频率设定为100MHz,则需程序中计数器计到16000,超过范围,所示输出信号g5会出现正脉冲信号,若硬件锁定在一个LED灯引脚,则会不断亮灭闪烁,以表示超量程,此时数码管数据错误。2.4引脚锁定顶层文件编译仿真完成后要对顶层文件程序中各个输入输出信号进行引脚锁定,值得说明的是,硬件试验箱选用模式5方式,其中数码管自带译码功能。系统时钟引脚应锁定为左侧clk2引脚(54),预测方波fb锁定右侧clk1引脚(126)。具体引脚锁定如下图18中所示。图18 引脚锁定图锁定引脚完成后,对程序再次进行编译,然后下载到硬件中,通过硬件操作,测试简易频率计的各项功能,包括1Hz10MHz频率测试,数据在四个数码管上的显示,频率计档位切换,复位功能,超量程标志等。3、课程设计结论及心得体会本次EDA课程设计题目为简易数字频率计设计,实现对于1Hz10MHz频率范围的方波频率进行测量,并在四位数码管上显示。该频率计包括四个档位,具有记忆功能,拥有一个整体的复位控制。此次课设需要用硬件描述语言(VHDL)编写程序,并在Quartus II软件平台上进行程序的编译和仿真,锁定引脚并下载到可编程逻辑器件(试验箱)中,进行硬件的测试。此次EDA课程设计历时两周时间,两人一组合作进行简易数字频率计系统的设计。程序的编写我们采用元件例化的形式,经过思考和相互间的分析讨论,将整个系统划分五个功能模块,彼此配合进行五个功能模块设计和程序的编写。其间,我们亦遇到许多问题,诸如整个系统核心模块计数过程的实现,时钟频率的设定,将整形数据转换成BCD码显示的算法等等。经历两周时间的不懈努力和队友之间愈加默契的配合,我们终于完成预定的目的,完成整个简易数字频率计的设计。虽然其中遇到很多困难,很多问题,但在我们两人相互支持和鼓励想下,都能够得以顺利的找到解决办法或者改进的方法,并在合作中相互提高,彼此进步,在困难在中体会到合作的乐趣。EDA技术对于我们电子信息工程专业的学生来说是一本很重要的专业技术课程,EDA技术极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度,是一门实际应用很广泛的技术。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。所以,EDA课程的学习对于我们自身素质和能力的提高有十分重要的积极作用,应该很认真的学习。4、仪器仪表清单 器件型号/参数数量SOPC/EDA开发系统GW481套微型计算机联想1台Quartus软件6.01套表一 仪器仪表清单5、参考文献1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.4 高吉祥主编.电子设计小制作.上海:电子科技杂志出版社,2011.6、致谢这次课程设计感谢指导老师岳舟的悉心教导,也感谢其他老师对我们的帮助,同时感谢课程设计带队的老师们。特别提出的是在本课题方案的选择上,岳老师给予了我们很多建议,且在解决课程设计遇到的困难上,岳老师田老师给了我们很大的帮助。同样感谢同学们的通力合作,成功不是属于一个人的,而是属于大家的。附录:完整程序程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity plj isport(fb,clk,rst:in std_logic; k1,k2,k3,k4:in std_logic; g1,g2,g3,g4,g5:out std_logic; d1,d2,d3,d4:out std_logic_vector(3 downto 0);end plj;architecture bhv of plj issignal h0,h1,h2,h3:std_logic;signal s0,s1,s2:std_logic;signal p0:integer range 0 to 10000;component fp isport(fb1:in std_logic; ao,bo,co,do:buffer std_logic);end component;component wx isport(ai,bi,ci,di,rst:in std_logic; k1,k2,k3,k4:in std_logic; g1,g2,g3,g4:out std_logic; fb0:out std_logic);end component;component sz isport(clki:in std_logic; clko:buffer std_logic); end component; component js is port(fb,clk:in std_logic; g5:out std_logic; q:out integer range 0 to 10000); end component; component bcd is port(qi:in integer range 0 to 10000; rst:in std_logic; d1,d2,d3,d4:buffer std_logic_vector(3 downto 0); end component; begin u1:fp port map(fb1=fb,ao=h0,bo=h1,co=h2,do=h3); u2:wx port map(k1=k1,k2=k2,k3=k3,k4=k4,ai=h0,bi=h1,ci=h2,di=h3, rst=rst,fb0=s0,g1=g1,g2=g2,g3=g3,g4=g4); u3:sz port map(clki=clk,clko=s1); u4:js port map(fb=s0,clk=s1,g5=g5,q=p0); u5:bcd port map(qi=p0,rst=rst,d1=d1,d2=d2,d3=d3,d4=d4); end bhv;分频程序library ieee;use ieee.std_logic_1164.all;entity fp isport(fb1:in std_logic; ao,bo,co,do:buffer std_logic);end fp;architecture bhv of fp isbeginao=fb1;process(fb1)variable nu,nu1,nu2:integer range 0 to 1000:=0;beginif(fb1event and fb1=1)then nu:=nu+1;nu1:=nu1+1;nu2:=nu2+1;if(nu=5)then bo=not bo; nu:=0;end if;if(nu1=50)then co=not co; nu1:=0;end if;if(nu2=500)then do=not do; nu2:=0;end if;end if;end process;end bhv;位选程序u2:library ieee;use ieee.std_logic_1164.all;entity wx isport(ai,bi,ci,di,rst:in std_logic; k1,k2,k3,k4:in std_logic; g1,g2,g3,g4:out std_logic; fb0:out std_logic);end wx;architecture bhv of wx isbegin process(rst,k1,k2,k3,k4,ai,bi,ci,di)beginif(rst=1)then g1=0;g2=0;g3=0;g4=0;fb0=0;elsif(k1=1)then g1=1;g2=0;g3=0;g4=0; fb0=ai;elsif(k2=1)then g1=0;g2=1;g3=0;g4=0; fb0=bi;elsif(k3=1)then g1=0;g2=0;g3=1;g4=0; fb0=ci;elsif(k4=1)then g1=0;g2=0;g3=0;g4=1; f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年北京市电子产品买卖合同样本
- 最优物业服务合同范本
- 废弃仓库出售合同范本
- 以车抵债合同范本
- 2025汽车买卖委托合同范本
- 2025农资购销合同模板
- 出租 押金合同范本
- 2025股票交易合同范本
- 短期招工租赁合同范本
- 牌楼拆除合同范本
- 2022水环式机械真空泵选型计算手册
- 2025-2030中国辣椒酱行业供需趋势及投资风险研究报告
- 2025年度运输业安全生产知识竞赛试题(附答案)
- 光伏居间的合同8篇
- GB/T 45418-2025配电网通用技术导则
- 医疗风险防控培训课件
- 机械设计部绩效考核制度
- 诊疗规范培训课件
- 《KANO模型培训》课件
- 复苏室患者的交接流程
- DB21-T 2523-2015矿山地质环境恢复治理规程
评论
0/150
提交评论