电子信息系统课程设计基于fpga四位十进制数字频率计

上传人:cn****1 文档编号:489954712 上传时间:2023-10-30 格式:DOC 页数:20 大小:750.50KB
返回 下载 相关 举报
电子信息系统课程设计基于fpga四位十进制数字频率计_第1页
第1页 / 共20页
电子信息系统课程设计基于fpga四位十进制数字频率计_第2页
第2页 / 共20页
电子信息系统课程设计基于fpga四位十进制数字频率计_第3页
第3页 / 共20页
电子信息系统课程设计基于fpga四位十进制数字频率计_第4页
第4页 / 共20页
电子信息系统课程设计基于fpga四位十进制数字频率计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《电子信息系统课程设计基于fpga四位十进制数字频率计》由会员分享,可在线阅读,更多相关《电子信息系统课程设计基于fpga四位十进制数字频率计(20页珍藏版)》请在金锄头文库上搜索。

1、电子信息系统课程设计题目 基于FPGA四位十进制数字频率计 学 生 姓 名 学 院 信息科学与工程学院 专 业 电子信息工程 班 级 09电子A 班 起 讫 日 期 2012.11.820012.12.20 指导教师 摘要 频率计的主要功能是准确测量出待测频率的频率、周期、脉宽及占空比。在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。电子计数器测频有两种方式:一是直接测频法(高频),即

2、在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法(低频)。直接测频法适用于高频信号的频率测量,间接测频法适用于低频信号的频率测量。本设计中分别以图形设计方法为主和VHDL语言为主的两种形式进行设计。在这次设计过程中,我们设计了两套测量频率计的方案。下面分别阐述。第一种方案,主要是通过一个计数器,在1秒时间内,当有待测信号上升沿产生时,开始计数。最后送到显示模块显示。而占空比,则是通过分别计算高电平时间和低电平时间,从而得到占空比数值。应该说这种方法,更接近于测频法的思想。通过实验的检测,发现与实验仪器(信号发生器)的最大误差只有1,所以,在测量频率不是特别大的范围内,这种设

3、计方案,笔者认为应该可以接受。而第二种方案,则是对于不同大小的频率,通过测频法和测周法,进行选择输出频率值大小。课程设计的设计要求1、任务与要求 设计一个具有如下功能的简易频率计。(1)基本要求:a被测信号的频率范围为120kHz,用4 位数码管显示数据。b测量结果分别用十进制和十六进制数值显示。c被测信号可以是正弦波、三角波、方波,幅值13V 不等。d具有超量程警告(可以用LED 灯显示,也可以用蜂鸣器报警)。e当测量脉冲信号时,能显示其占空比(精度误差不大于1%)。(2)发挥部分a修改设计,实现自动切换量程。b构思方案,使整形时,跳变阈值自动进行调节,以实现扩宽被测信号的幅值范围。c其它。

4、设计方案方案1:采用fpga开发板实现。该课程设计要求测频的范围是120KHZ,可分19999HZ和10.0020.00KHZ两个量程。将1HZ CLK信号二分频,取分频后信号的高电平作为测频的1S闸门信号,测量结果有5位,当结果小于9999HZ时选择低四位由数码管显示输出,大于9999HZ且小于20KHZ时,选择高四位输出。通过选择高四位或低四位来实现量程的转换。此方案的特点是实现方法简单,适合小范围的频率测量,但测频范围较大时,实现起来,测量速度较慢,还会造成所用元器件的浪费。原理方框图如下:方案2:采用单片机进行测频控制。单片机技术比较成熟,功能也比较强大,被测信号经放大整形后送入测频电

5、路,由单片机对测频电路的输出信号进行处理,得出相应的数据送至显示器显示。原理方框图如下所示:显示单片机测频电路信号整形待测信号晶 振采用这种方案,优点是依赖成熟的单片机技术、运算功能较强、软件编程灵活、自由度大、设计成本也较低,缺点是显而易见的,在传统的单片机设计系统中必须使用许多分立元件组成单片机的外围电路,整个系统显得十分复杂,并且单片机的频率不能做得很高,使得测量精度大大降低。比较两方案可知:对于本设计,方案1较方案2简单,采用现场可编程门阵列(FPGA)为控制核心,利用VHDL语言编程,下载烧制实现。将所有器件集成在一块芯片上,体积大大减小的同时还提高了稳定性,可实现大规模和超大规模的

6、集成电路,测频测量精度高,测量频率范围大,而且编程灵活、调试方便。综合上述分析,方案1为本设计测量部分最佳选择方案。单元电路设计一整形放大电路 原理图这一部分,当被测信号幅值为13V 不等时,通过两级运放,将信号电压放大到电路所需的电压值。后面再通过斯密特触发器,把被测信号正弦波,三角波整形为方波。通过对模拟电子技术的学习,知道对于上面的一级运放,电压放大的倍数为Au=1+R2/R1。如果1V的电压值输入都可以,那么1V以上的一定都行。所以,本次设计,两级运放的放大倍数分别为2,3.这样已经可以满足实验的要求。所以,图中R1=R2=R4=1K,R3=2K。这是其PCB版图:下面开始介绍频率计的

7、核心部分。这一部分,是通过FPGA设计。二时钟发生器通过对50MHZ的晶振时钟进行50M的分频,等到一个1HZ信号。再通过此信号,通过2分频,得到一个0.5HZ的信号,从而得到高电平为1秒的闸门控制信号en来控制计数器的计数时间.再通过对en求反,等到锁存信号load.而清零信号clr则通过en与1HZ信号共同产生. 同时对50MHZ信号进行500分频,一个两位的std_logic_vector(1 downto 0)信号在分频信号的驱动下不断加1,等到“00”、“01”、“10”、“11”四种片选信号,对应4个数码管,从而驱动数码管的动态扫描显示 。 仿真图如下:Clk0周期产生时,由于cl

8、r为有效信号,使得pian不产生信号。导致后面的动态扫描不进行。即清零。由于该模块涉及到计数值25000000,数值较大,不便仿真。但经过实验检测,证明该模块设计达到要求。三信号输入器 通过对50MHZ信号进行不同的2的n次方分频,得到781250HZ,195313HZ,24HZ这三个内部自测信号,以检测频率计是够正常。通过按键key1,key2,key3来选择三个中的一个信号输入以对频率计进行自检。而信号输入器的默认情况是输入外部待测信号。由于使用if-elsif语句,三个按键中,优先级最高的是key1,然后是key2,最后是key3。由于cin要输入50MHz的频率信号,且对50MHz还要

9、进行分频,但在现有的Quartus9.0中,仿真实现不了这一要求,所以这个仿真图就没办法做出来。实验已验证,当cin接入50MHz的频率信号时,K1有效时,clkout输出24Hz信号;当K2有效而K1无效时,clkout输出195313Hz;当仅有K3有效时,clkout输出781250Hz;当K1K2K3都为低电平无效信号时,clkout输出为P端口的待测信号。PP端口一直输出24Hz,用于检测内部的工作状态。P端口用于接入待测信号。四计数器 根据在时基有效时间内的计数值进行判断,计数器可以直接定义成8个std_logic_vector(3 downto 0)的32位信号,在待测时钟上升沿

10、到来的时候,使用语句“计数器=计数器+1;”,当信号的值小于“1001”时,信号就不断自增;当信号大于或等于“1001”时,就归零。由于if语句的特性,使得到一个二进制显示的十进制计数器,对于后续的显示代码转换也是十分的方便。 当高4位不全为零时,产生一个信号来点亮板上的led灯,告诉使用者待测频率已经超过9999hz,需要翻页才能看到结果的高4位数据。 同时通过一个按键key5,产生一个高低4位传送切换信号。当key5信号为0时,送低4位到译码显示电路;当key5信号为1时,送高四位到译码显示电路。默认情况下是送低4位到译码显示电路。这样就可以通过按键来实现高低四位的换页显示了。Key5也同

11、时控制着小数点的显示与否,若小数点点亮,则表示切换到高位成功,否则,仍然显示低位。仿真图如下:当clkin上升沿到来时,且clr0为低电平(无效信号),do为有效信号(高电平)时,开始计数clkin的上升沿个数。如图所示,在do为高电平范围内,clkin有7个上升沿产生,d1计数,并且最终显示为7.当clrO产生为有效信号(高电平),d1d2d3d4清零。图中,K为翻页信号,dian为高4位的标记,跟随K翻页信号变化。Biao信号为指示数字显示是否超过4位数码管。当biao为有效信号时,即提示需要进行高4位的翻页显示。下图显示dian信号跟随K信号变化。证明当K翻页信号产生时,数码管上的小数点

12、会提示,设计无误。五显示译码电路 首先对前面各部分送来的将要显示的部分进行锁存。默认情况下是锁存计数器产生的频率数。通过按键key4可以切换到锁存占空比数据。当锁存信号load的上升沿到来时,就进行锁存操作。然后根据pian片选信号产生的“00”,“01”,“10”,“11”四种信号对输入的信号进行选择操作,同时也选通相应的数码管的位选。最后对数据进行数码管显示码的译码,把小数点及led灯的信号连同数码管输出码一同输出到外部相应的端口。仿真图如下图所示:如上图所示,PX为扫描信号,其变化由时钟发生器给出,使其变化为00,01,10,11,如用十进制显示,即为0,1,2,3。当suo上升沿产生时

13、,且KK4=1(显示频率),显示部分qout即有规律的从9,8,7,6变化。至于这4个数字显示的位置,则由qcom决定。显然,动态扫描利用了人眼的余晖效应,才使得看上去,4个数码管都同时显示数字。当suo上升沿产生时,且KK4=0(显示占空比),显示部分qout即有规律的从0,0,2,3变化。即表示此时占空比为32%(t2为高位)。前面两个数码管不用。可见,显示部分的设计符合我们的要求。通过对KK4的控制,选择显示频率,占空比。六分频模块对50MHz的原始信号进行分频,产生50Hz的扫描信号,用于寄存器。笔者认为,其实,这就是一个计数器。当达到设定的一个数值时,产生对应信号的跳变,从而达到分频

14、效果。该仿真图由于涉及到50MHz的频率,在现有的仿真软件上,不能做到。但通过实验验证,这一模块是正确的,达到我们所期望的结果。七寄存器模块为了防止显示数字的跳动,我们设置了寄存器模块,使显示的数字趋于稳定。仿真图如下:如图所示,当clk上升沿产生时,dout1跟随din1变化,dout2跟随din2变化。八占空比模块占空比测量电路,以50MHZ信号作为计数的频率基准。当待测信号为高电平时,进行计数,得到值x;当待测信号为低电平时,进行计数,得到值y。 再通过公式z=x*100/(x+y) 得到占空比的整数形式。 再通过u1=z rem 10,得到个位数字;通过u10=z/10 ,得到十位数字

15、。 最后通过case语句进行译码,得到相应的数码管显示代码。然后锁存到译码显示电路,等待后续的显示操作。 由于此处用到除法以及求余运算,将会耗费不少的片内资源。仿真图如下:应该说,clkche端口接入基准信号(该硬件开发板为50MHz),clkshu接入待测信号,t1显示个位数字,t2显示十位数字。由于t2显示12,根据译码模块,应该显示。通过硬件验证,数码管显示7正如上面分析。当新的有效测量周期产生时,仿真显示80.其含义为占空比为80%。通过实验硬件验证,正确。整体原理图备注:硬件采用的是ASK2CB开发板,所使用的核心芯片为CycloneII EP2C8Q208C8N.引脚分配硬件验证频率测量(输入波形为方波)输入(Hz)输出(Hz)输入(Hz)输出(Hz)523533250025018008013500

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号