第7章--应用VHDL语言方法设计具有换挡功能的四位数字频率计-《EDA技术》-教学ppt课件.ppt
《第7章--应用VHDL语言方法设计具有换挡功能的四位数字频率计-《EDA技术》-教学ppt课件.ppt》由会员分享,可在线阅读,更多相关《第7章--应用VHDL语言方法设计具有换挡功能的四位数字频率计-《EDA技术》-教学ppt课件.ppt(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 【要求要求】掌握掌握VHDL语言中的各模块的设计及最后各模块的组装语言中的各模块的设计及最后各模块的组装 【知识点知识点】理解理解EDA的分频设计的分频设计 理解理解VHDL程序计数器的设计程序计数器的设计 理解理解VHDL程序锁存器的设计程序锁存器的设计 理解理解VHDL程序档位转换及数码管显示的设计程序档位转换及数码管显示的设计 理解理解VHDL程序元件的例化与组装程序元件的例化与组装 【重点和难点重点和难点】频率计的测频原理频率计的测频原理 VHDL程序计数器的设计程序计数器的设计 VHDL程序数码管显示的设计程序数码管显示的设计下一页第第7章章 应用应用VHDL语言方法设计语言方法设
2、计 具有换挡功能的四位数字频率计具有换挡功能的四位数字频率计第第7章章 应用应用VHDL语言方法设计语言方法设计 八位二进制加法器八位二进制加法器7.1 工作任务的陈述与背景工作任务的陈述与背景7.2 完成工作任务的引导完成工作任务的引导7.3 相关技术基本知识与基本技能相关技术基本知识与基本技能7.3 本章小结本章小结上一页一、任务的陈述一、任务的陈述 设计一带进位功能的四位数码管显示的频率计,其卞要参数如下设计一带进位功能的四位数码管显示的频率计,其卞要参数如下:频率计的测量范围为频率计的测量范围为:0 Hz1 MHz;频率计具有自动量程转化功能频率计具有自动量程转化功能;频率计通过四位数
3、码管显示测量的频率。频率计通过四位数码管显示测量的频率。二、项目的背景二、项目的背景 频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为数,此时我们称闸门时间为1 s。闸门时间也可以大于或示于闸门时间也可以大于或示于1 s。闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长频率的间隔就越长;闸门时间越短
4、,测得频率值刷新就越快,但测得闸门时间越短,测得频率值刷新就越快,但测得的频率精度就受影响。的频率精度就受影响。7.1 工作任务的陈述与背景工作任务的陈述与背景返 回下一页7.2 完成工作任务的引导完成工作任务的引导一、资讯一、资讯 由前述可知,要完成好该工作任务,需要准备以下几个方面的知识由前述可知,要完成好该工作任务,需要准备以下几个方面的知识:时钟分频的原理及实现的方法。时钟分频的原理及实现的方法。计数器的知识。计数器的知识。信号锁存的原理。信号锁存的原理。数码管译码显示、片选及动态扫描的知识。数码管译码显示、片选及动态扫描的知识。数字频率计的工作原理。数字频率计的工作原理。二、计划二、
5、计划 数字频率计的测频方法有等精度测频和计数测频,从实现的技术手数字频率计的测频方法有等精度测频和计数测频,从实现的技术手段来看目前可采取的有段来看目前可采取的有:下一页上一页7.2 完成工作任务的引导完成工作任务的引导 采用示规模数字集成电路制作采用示规模数字集成电路制作;采用单片机进行测频控制采用单片机进行测频控制;采用现场可编程门阵列采用现场可编程门阵列(FPGA)为控制核心。为控制核心。三、决策三、决策 采用现场可编程门阵列采用现场可编程门阵列(FPGA)为控制核心,利用为控制核心,利用VHDL语言编程,语言编程,将所有器件集成在一块芯片上,体积大大减示的同时还提高了稳定性,将所有器件
6、集成在一块芯片上,体积大大减示的同时还提高了稳定性,可实现大规模和超大规模的集成电路,测频测量精度高,测量频率范围可实现大规模和超大规模的集成电路,测频测量精度高,测量频率范围大,而且编程灵活、调试方便。大,而且编程灵活、调试方便。综合上述分析,本设计采用现场可编程门阵列综合上述分析,本设计采用现场可编程门阵列(FPGA)为控制核心为控制核心测量方案。测量方案。下一页上一页四、实施四、实施 (一一)设计任务的详细描述设计任务的详细描述 设计一个频率计,其频率测量范围为设计一个频率计,其频率测量范围为1 Hz1 MHz,显示器件为,显示器件为4个个8段数码管段数码管(带示数显示带示数显示)。根据
7、测量所得的结果,可以白动转换量程。根据测量所得的结果,可以白动转换量程来显示输出的结果来显示输出的结果:如频率为如频率为100 Hz,显示为,显示为F100;如频率为如频率为5 kHz,显示为,显示为5.000;如频率为如频率为50 kHz,显示为显示为50.00;如频率为如频率为500 kHz,显示为,显示为500.0;当输入的频率超过量程当输入的频率超过量程(1 MHz)时,数码管灭时,数码管灭(不显示不显示)。7.2 完成工作任务的引导完成工作任务的引导 为了与实际工程设计更贴近,我们选择天津启东科技公司的为了与实际工程设计更贴近,我们选择天津启东科技公司的TQD-CYC 1C3 FPG
8、A+MCU开发板作为项目的硬件开发平台,整开发板作为项目的硬件开发平台,整个项目代码最后下载至开发板上进行验证个项目代码最后下载至开发板上进行验证(相关程序代码稍做修改也相关程序代码稍做修改也可用于康芯可用于康芯GW48EDA_PK2/PK3实验箱上实验箱上)。(二二)设计方案设计方案 计划将整个项目在开发板上实现。根据开发板上的硬件电路及设计计划将整个项目在开发板上实现。根据开发板上的硬件电路及设计任务的要求,对系统设计方案进行化分,将整个项目进行模块划分。任务的要求,对系统设计方案进行化分,将整个项目进行模块划分。1.时钟模块时钟模块 开发板上系统的时钟为开发板上系统的时钟为20 MHz,
9、如,如图图7-1所示。所示。测频的闸门信号为测频的闸门信号为1 S的高电平信号,同时将测频所得结果显示出的高电平信号,同时将测频所得结果显示出来,在数码管显示时采用动态扫描的方法,需要产生来,在数码管显示时采用动态扫描的方法,需要产生1 kHz的扫描信的扫描信下一页上一页7.2 完成工作任务的引导完成工作任务的引导号,所以要对系统的号,所以要对系统的20 MHz时钟信号进行分频,以产生符合要求的时钟信号进行分频,以产生符合要求的各频率信号各频率信号:先由系统时钟先由系统时钟20 MHz分频出分频出1 kHz,再由,再由1 kHz分频出分频出1 Hz,由,由1 Hz的信号产生的信号产生1 s的计
10、数闸门信号脉冲。该模块作为系统的第的计数闸门信号脉冲。该模块作为系统的第一个模块,还要接受测量信号的输入,同时我们还给整个系统定义系一个模块,还要接受测量信号的输入,同时我们还给整个系统定义系统复位。统复位。由以上分析,可得出该模块的系统框图如由以上分析,可得出该模块的系统框图如图图7-2所示。所示。图图7-2中,中,Reset为复位引脚,为复位引脚,clk为开发板系统时钟的输入,为开发板系统时钟的输入,clklk为为1 kHz的输出信号,的输出信号,tgate为为1 s的闸门输出信号。的闸门输出信号。下一页上一页7.2 完成工作任务的引导完成工作任务的引导 2.计数模块计数模块(图图7-3)
11、在闸门脉冲电平为在闸门脉冲电平为1时闸门开启,计数器开始计数,在闸门脉冲电时闸门开启,计数器开始计数,在闸门脉冲电平为平为0时,闸门关闭,计数器停止计数。时,闸门关闭,计数器停止计数。同时,锁存器产生一个锁存信号输送到锁存器的使能端将结果锁存,同时,锁存器产生一个锁存信号输送到锁存器的使能端将结果锁存,并把锁存结果输送到译码器来控制七段显示器,这样就可以得到被测并把锁存结果输送到译码器来控制七段显示器,这样就可以得到被测信号的数字显示的频率。信号的数字显示的频率。在闸门脉冲的下降沿到来时控制电路将计数器情零,为下一次测量在闸门脉冲的下降沿到来时控制电路将计数器情零,为下一次测量做准备,实现了可
12、重复使用,避免两次测量结果相加使结果产生错误。做准备,实现了可重复使用,避免两次测量结果相加使结果产生错误。在整个电路中,计数模块电路是关键,闸门信号脉冲宽度是否精确在整个电路中,计数模块电路是关键,闸门信号脉冲宽度是否精确直接决定了测量结果是否精确。直接决定了测量结果是否精确。下一页上一页7.2 完成工作任务的引导完成工作任务的引导下一页上一页7.2 完成工作任务的引导完成工作任务的引导 3.锁存模块锁存模块(图图7-4)锁存器在闸门信号关闭前锁存器在闸门信号关闭前(检测闸门信号下降沿检测闸门信号下降沿)实现锁存,并把锁实现锁存,并把锁存结果输送到译码器来控制八段数码显示器。存结果输送到译码
13、器来控制八段数码显示器。4.显示模块显示模块(图图7-5)显示模块将锁存模块送过来的数值进行译码显示,并根据锁存模块显示模块将锁存模块送过来的数值进行译码显示,并根据锁存模块送来的挡位信号确定示数点显示的位置以实现挡位的显示。送来的挡位信号确定示数点显示的位置以实现挡位的显示。(三三)模块的设计及实现模块的设计及实现1.时钟分频时钟分频 分频原理及分频系数的设定分频原理及分频系数的设定:开发板的时钟频率设为开发板的时钟频率设为20 MHz,而为了给其他模块提供所需的各,而为了给其他模块提供所需的各时钟,需对时钟,需对20 MHz的时钟进行分频的时钟进行分频:从从20 MHz分频得到分频得到1
14、kHz;从从1 kHz分频得到分频得到1 Hz;由由1 Hz得到占空比为得到占空比为1/4高电平时间为高电平时间为1 s的闸门信号。的闸门信号。分频原理及分频系数的设定分频原理及分频系数的设定:为了从为了从20 MHz分频得到分频得到1 kHz,我,我们设定为一次分频,即由们设定为一次分频,即由20 MHz分频为分频为1 MHz,由,由1 MHz分频得分频得1 kHz。须设定分频的系数。须设定分频的系数:20 MHz与与1 MHz相差相差20倍,倍,20/2=10,设定分频变量为,设定分频变量为09,1 MHz与与1 kHz相差相差1 000倍,倍,1 000/2=500,所以可以设分频的变量
15、为,所以可以设分频的变量为VARIABLE cnt:INTEGERRANGE 0 TO 499,而从,而从1 kHz分频得到分频得到1 Hz,设分,设分频变量为频变量为0499。下一页上一页7.2 完成工作任务的引导完成工作任务的引导 2.计数模块计数模块 (1)计数的原理及采用的计数方法计数的原理及采用的计数方法 采用在闸门信号开启期间对输入信号脉冲进行计数的方法进行测频,采用在闸门信号开启期间对输入信号脉冲进行计数的方法进行测频,当闸门信号开启时计数,当闸门信号关闭时停止计数,在当闸门信号开启时计数,当闸门信号关闭时停止计数,在1 s内计得的内计得的脉冲数即为输入信号的频率。由于频率计的计
16、数值最大为脉冲数即为输入信号的频率。由于频率计的计数值最大为1M,因此代,因此代码中用码中用6个信号量个信号量(c1c6)来存储从第一位至第六位相对应的每一位来存储从第一位至第六位相对应的每一位的数值。从的数值。从c1 c6为逢为逢10进一位,所以进一位,所以c1 c6中存储的是输入信号中存储的是输入信号的十进制的数值。的十进制的数值。(2)计数值的挡位划分计数值的挡位划分 由于数码管显示的为由于数码管显示的为4位数值,而计数值最高为位数值,而计数值最高为6位数值,因此对计位数值,因此对计数值进行分挡编码,以便用数值进行分挡编码,以便用4位数码管通过示数点的定位来显示位数码管通过示数点的定位来
17、显示6位数位数下一页上一页7.2 完成工作任务的引导完成工作任务的引导值。当计数值示于值。当计数值示于4位计数值时,数码管尤示数位数显示位计数值时,数码管尤示数位数显示;当计数值当计数值大于大于4位计数值时,取计数值高位计数值时,取计数值高4位,通示数点定位来显示数值。位,通示数点定位来显示数值。挡位划分见挡位划分见表表7-1。3.锁存模块锁存模块 在闸门信号的下降沿,对输入的在闸门信号的下降沿,对输入的16位的计数值位的计数值q及挡位信号及挡位信号scale进行锁存,由于锁存是对闸门信号的下降沿进行检测完成锁进行锁存,由于锁存是对闸门信号的下降沿进行检测完成锁存的,因此能将存的,因此能将sc
18、ale数值在数值在reset复位复位(计数模块中的端口信计数模块中的端口信)前前锁存。锁存。锁存模块的作用锁存模块的作用:设置锁存模块,既可避免计数值的丢失,还可设置锁存模块,既可避免计数值的丢失,还可以避免闸门信号计数期间,频率计的显示随着计数值的增加不断变以避免闸门信号计数期间,频率计的显示随着计数值的增加不断变化、闪烁。化、闪烁。下一页上一页7.2 完成工作任务的引导完成工作任务的引导4.显示模块显示模块 将计数器所计得的数值显示出来,并通过挡位信号,完成示数点定位将计数器所计得的数值显示出来,并通过挡位信号,完成示数点定位显示,通过显示示数点位置不同的数值来完成相应挡位的自动转换。显显
19、示,通过显示示数点位置不同的数值来完成相应挡位的自动转换。显示模块对数值的显示译码要与设计的数码管驱动电路相对应。开发板上示模块对数值的显示译码要与设计的数码管驱动电路相对应。开发板上的数码管为的数码管为6连排数码管,它们的位段信号端连排数码管,它们的位段信号端(称为数据端称为数据端)接在一起,接在一起,同时还有同时还有6个位选信号个位选信号(称为控制端称为控制端)用于分别选中要显示数据的数码管。用于分别选中要显示数据的数码管。根据开发板的电路及设计要求,显示模块采用显示采用扫描驱动显示,根据开发板的电路及设计要求,显示模块采用显示采用扫描驱动显示,并以七段译码的方式输出。并以七段译码的方式输
20、出。5.顶层模块顶层模块 采用原理图方式进行组装,具体方法参考采用原理图方式进行组装,具体方法参考7.3节有关内容。节有关内容。下一页上一页7.2 完成工作任务的引导完成工作任务的引导五、检查五、检查 分别编译各底层模块和整个电路设计,并分别仿真时钟分频、计分别编译各底层模块和整个电路设计,并分别仿真时钟分频、计数模块、锁模块、显示模块、顶层模块。通过后,若有条件,应将数模块、锁模块、显示模块、顶层模块。通过后,若有条件,应将源代码下载到硬件中做最后的验证。源代码下载到硬件中做最后的验证。六、评估六、评估 对本次设计进行评估,可尝试更好的方案、方法。写出设计报告,对本次设计进行评估,可尝试更好
21、的方案、方法。写出设计报告,设计报告应包括所应用到的设计报告应包括所应用到的EDA方法及知识的总结。方法及知识的总结。返 回上一页7.2 完成工作任务的引导完成工作任务的引导一、时钟模块参考设计一、时钟模块参考设计-clock.vhd-LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY clock IS PORT(7.3 相关技术基础知识与基本技能相关技术基础知识与基本技能下一页下一页上一页7.3 相关技术基础知识与基本技能相关技
22、术基础知识与基本技能 -复位信号复位信号 reset:IN STD_LOGIC;clk:IN STD_LOGIC;-闸门信号闸门信号 tgate:OUT STD_LOGIC;-1 kHz显示扫描时钟显示扫描时钟 clklk:OUT STD_LOGIC );END clock;ARCHITECTURE rtl of clock IS-常数说明常数说明CONSTANT RESET ACTIVE :STD LOGIC:=1;下一页上一页7.3 相关技术基础知识与基本技能相关技术基础知识与基本技能-信号说明信号说明 SIGNAL c1k1M_reg:STD_LOGIC;SIGNAL clklk_reg
23、:STD_LOGIC;SIGNAL c1k1Hz:STD_LOGIC;SIGNAL tgate_reg:STD_LOGIC;BEGIN-1MHz时钟时钟 -ClkIM_Proc:PROCESS(reset,clk)VARIABLE cnt0:INTEGER RANGE 0 TO 9;下一页上一页BEGIN IF reset=RESET ACTIVE THEN cnt0:=0;ELSIF rising_edge(clk)THEN IF cnt0=9 THEN cnt0:=0;c1k1M_reg=not c1k1M_reg;ELSE cnt0:=cnt0+1 END IF;END IF;END P
24、ROCESS;7.3 相关技术基础知识与基本技能相关技术基础知识与基本技能-1 kHz显示扫描时钟显示扫描时钟-Clklk_Froc:PROCESS(reset,clklM_reg)VARIABLE cnt:INTEGER RANGE 0 TO 500;BEGIN IF reset=RESET ACTIVE THEN cnt:=0;ELSIF rising_edge(c1k1M_reg)THEN IF cnt=499 THEN cnt:=0;clk lk_reg=not clk lk_reg;下一页上一页7.3 相关技术基础知识与基本技能相关技术基础知识与基本技能 ELSE cnt:=cnt+
25、1;END IF;END IF;END PROCESS;clklk=clklk_reg;-1 kHz分频得到分频得到1 Hz-Clk1Hz_Proc:PROCESS(reset,clklk_reg)VARIABLE cnt2:INTEGER RANGE 0 TO 499;下一页上一页7.3 相关技术基础知识与基本技能相关技术基础知识与基本技能 BEGIN IF reset=RESET ACTIVE THEN cnt2:=0;ELSIF rising_edge(clklk_reg)THEN IF cnt2-499 THEN cnt2:=0;clkl Hz=not c1k1Hz;ELSE cnt2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA技术 应用 VHDL 语言 方法 设计 具有 换挡 功能 数字频率计 EDA 技术 教学 ppt 课件
链接地址:https://www.taowenge.com/p-92177720.html
限制150内