2位十进制高精度数字频率计设计
宏功能模块
2位十进制数字频率计设计 位十进制数字频率计设计
设计有时钟使能的两位十进制计数器 设计电路原理图。 (1) 设计电路原理图。
图 用74390设计一个有时钟使能的两位十进制计数器 设计一个有时钟使能的两位十进制计数器
(2) 计数器电路实现
调出元件74390 图 调出元件
中了解74390的详细功能 图 从Help中了解 中了解 的详细功能
图 fifo端口设置 端口设置
选择含溢出标志输出
含异步清零
图选择在读请求信号有效后数据输出
选择同步工作模式
选择优化方式 选择使用EAB设计 设计fifo 选择使用 设计
选择Area优化方式 图 选择 优化方式
图单击“ 后完成fifo2.vhd的定制 图单击“Finish”后完成 后完成 的定制
(3) 波形仿真
图 两位十进制计数器工作波形
参数可设置LPM兆功能块 兆功能块 参数可设置
基于LPM_COUNTER的数控分频器设计 的数控分频器设计 基于
图 数控分频器电路原理图
进制数: 时的工作波形 时的工作波形。 当d[3..0]=12(即16进制数:C)时的工作波形。 即 进制数
图 数控分频器工作波形
图4-45 LPM_ROM参 参 数设置窗口
图 LPM_ROM构成的乘法器仿真波形 构成的乘法器仿真波形
(2) 用初始化存储器编辑窗口编辑 文件 用初始化存储器编辑窗口编辑mif文件
窗口中编辑乘法表地址/数据 图 在Initialize Memory窗口中编辑乘法表地址 数据 窗口中编辑乘法表地址
LPM的VHDL文本方式调用 的 文本方式调用
AD采样系统顶层电路设计 采样系统顶层电路设计
图 ADC0809采样电路系统 采样电路系统
数字式频率计设计
数字式频率计的设计摘要在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量显得更为重要。
数字频率计是近代电子技术领域的重要测量工具之一,同时也是其他许多领域广泛应用的测量仪器。
数字频率计是在规定的基准时间内把测量的脉冲数记录下来,换算成频率并以数字形式显示出来。
数字频率计用于测量信号(方波,正弦波或其他周期信号)的频率,并用十进制数字显示,它具有精度高,测量速度快,读数直观,使用方便等优点。
测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点。
本次设计的数字频率计以555为核心,采用直接测频法测频,能够测量正弦波、三角波、锯齿波、矩形波等。
根据显示的频率范围,用4片10进制的计数器构成1000进制对输入的被测脉冲进行计数;根据输入信号的幅值要求,所以要经过衰减与放大电路进行检查被测脉冲的幅值;由于被测的波形是各种不同的波,而后面的闸门或计数电路要求被测的信号必须是矩形波,所以还需要波形整形电路,通过这些整体要求,由显示部分,计数部分,逻辑控制部分,时基电路部分,构成简易的频率计的设计。
目录一.设计任务和要求 (3)1.设计任务 (3)2.设计要求 (3)二.系统设计 (4)1.系统要求 (4)2. 方案设计 (5)3.系统工作原理 (6)三.单元电路设计 (8)1.时基电路部分 (8)2.计数显示部分电路 (11)3.控制电路设计如下 (14)四.电路仿真分析 (15)五.元器件的选择及参数确定 (17)1.电路调试 (17)2系统功能及性能测试 (18)3.电路安装 (20)4.调试 (21)参考文献 (25)总结及体会 (26)附录 (28)一.设计任务和要求1.设计任务设计一个数字式频率计。
2.设计要求1、能够测量正弦波、三角波、锯齿波、矩形波等周期性信号的频率;2、能直接用十进制数字显示测得的频率;3、频率测量范围:1HZ—10KHZ且量程能自动切换;4、输入信号幅度范围为0.5—5V,要求仪器自动适应5、测量时间:t≼1.5s6、电源:220V/50HZ的工频交流电供电;(注:直流电源部分仅完成设计即可,不需制作,用实验室提供的稳压电源调试,但要求设计的直流电源能够满足电路要求)7、按照以上技术要求设计电路,绘制电路图,对设计的电路用Multisim或OrCAD/PspiceAD9.2进行仿真,用万用板焊接元器件,制作电路,完成调试、测试,撰写设计报告。
基于FPGA和单片机的高精度数字频率计的设计与实现
基于FPGA和单片机的高精度数字频率计的设计与实现1. 引言1.1 背景介绍数字计数器是一种广泛应用于科学研究、工程技术和日常生活中的仪器设备,用于测量信号的频率、周期和脉冲数量等。
随着科技的不断发展,对于数字频率计的精度和性能要求也越来越高。
传统的数字频率计主要基于单片机或专用芯片的设计,存在精度受限、功能单一等问题。
而基于FPGA和单片机的高精度数字频率计能够充分发挥FPGA在并行计算和高速数据处理方面的优势,结合单片机的灵活性和易编程性,实现更高精度、更丰富功能的数字频率测量。
本文基于FPGA和单片机,设计并实现了一种高精度数字频率计,具有高度精准、快速响应的特点。
通过软硬件结合的设计思路,实现了数字信号频率的精确测量,同时在硬件设计和软件设计上都进行了详细优化和实现。
系统测试结果表明,该数字频率计具有较高的测量精度和稳定性,在实验中取得了良好的效果和准确的测量数据。
此设计不仅具有实用价值,还对数字频率计的进一步研究和应用具有一定的参考意义。
1.2 研究意义随着科技的发展,对于频率计的要求也越来越高,需要具备更高的精度、更快的响应速度和更广泛的适用范围。
设计和实现基于FPGA 和单片机的高精度数字频率计具有重要的研究意义。
通过本文的研究,可以深入了解数字频率计的工作原理和设计方法,为高精度频率计的研究和应用提供参考和借鉴。
本文的研究成果还可以为提高电子测量仪器的性能,推动数字频率计技术的发展做出重要的贡献。
本文的研究具有重要的理论和实践意义。
1.3 研究现状当前,数字频率计在电子测量领域具有重要的应用价值,其精度和稳定性对于提高测量精度和准确性至关重要。
目前,数字频率计的研究主要集中在硬件设计和软件算法的优化上。
在硬件设计方面,传统的数字频率计主要采用FPGA(现场可编程门阵列)作为核心控制器,实现高速、高精度的频率测量。
通过合理的电路设计和时序控制,可以实现更稳定和准确的频率计算。
在软件设计方面,研究者们致力于优化频率计算算法,提高频率计算的速度和精度。
EDA实验报告2_2位十进制频率计
姓名
学号
专业年级
电子信息工程
实验题目
2位十进制数字频率计的设计
实验目的
1.熟悉原理图输入法中74系列等宏功能元件的试用方法,掌握复杂的原理图层次化设计技术和数字系统设计方法
2.完成2位十进制频率计的设计,学会利用实验系统板上的FPGAຫໍສະໝຸດ 证较复杂设计项目的方法实验原理
该频率计由三个模块构成
1.2位十进制计数器count_8.bdf的时序仿真波形中,q[3..0]由0递增到9,进位输出给高位q[7..4],待q[7..4]计数到9,cout产生进位信号。
2.10分频器frep.vhdl输出outclk做为测频时序控制电路模块的控制信号输入,产生的count_8的计数使能信号CNT_EN(<= enb)有如下关系CNT_EN = 8Xoutclk。
4.测频时序控制电路模块
按一定的时序产生三个控制信号CNT_EN(<=ENB(count_8))、CLR(<=CLR(count_8))、LOCK(<=CLK(74374)),完成计数、清零、锁存功能。实验板只提供22.1184MHz时钟输入端,因此须再设计一个分频器frep.bdf将F_IN端频率进行10分频,接入ft_ctro.bdf的CLK(测评控制时钟)端。
3.数码管的理论显示值为N = ToutclkXNTCNT_EN/F_IN,其中F_IN为待测频率,NTCNT_EN= 8,Toutclk为十分频后的输出信号outclk的周期。待测频率稳定后,74248译码输出分别为H[6..0] = 16#7F#,L[6..0] = 16#7E#,数码管显示即为80,硬件验证结果与预期相符。
2.用vhdl文本输入法十分频电路frep.vhdl的设计,创建projet,编译仿真,给出时序波形,并形成frep.bsf符号入库。
EDA教程 第四章_原理图输入方法
KX
康芯科技
最后点击" 最后点击"OK"
图4-9 列出并选择需要观察的信号节点
用此键选择左窗 中需要的信号 进入右窗
KX
康芯科技
(3) 设置波形参量. 设置波形参量.
消去这里的勾, 消去这里的勾, 以便方便设置 输入电平
图4-9 列出并选择需要观察的信号节点
菜单中消去网格对齐Snap to Grid的选择 消去对勾 的选择(消去对勾 图4-10 在Options菜单中消去网格对齐 菜单中消去网格对齐 的选择 消去对勾)
目 标 器 件 引 脚 名 和 引 脚 号 对 照 表
KX
康芯科技
选择实验板上 插有的目标器件
键8的引脚名 的引脚名 键8的引脚名 的引脚名 对应的引脚号
KX
康芯科技
引脚对应情况
实验板位置 1, 8: 1, 键 8: 2,键7 , 3,发光管8 ,发光管 4,发光管7 ,发光管 半加器信号 a b co so 通用目标器件引脚名 PIO13 PIO12 PIO23 PIO22 目标器件EP1K30TC144引脚号 引脚号 目标器件 27 26 39 38
(4) 设定仿真时间. 设定仿真时间.
KX
康芯科技
选择END TIME 选择 调整仿真时间 区域. 区域.
选择60微秒 选择 微秒 比较合适
图4-11 设定仿真时间
(5) 加上输入信号. 加上输入信号.
KX
康芯科技
(6) 波形文件存盘. 波形文件存盘.
用此键改变仿真 区域坐标到合适 位置. 位置.
(3) 了解设计项目速度 延时特性 了解设计项目速度/延时特性
KX
康芯科技
图4-37 寄存器时钟特性窗
EDA示例汇集讲解
EDA 示 例 汇 集
基于EDA-E的实验例程
示例课件目录
1、原理图输入设计方法示例
1、原理图输入设计方法示例
1.1(组合逻辑)1位全加器设计 1.2(时序逻辑)2位十进制数字频率计设计
1.3参数可设置LPM兆功能块设计
1.4波形输入设计方法
1.1:1位全加器设计向导
1.11实验目的 熟悉利用MAX+plusII的原理图输入方法设计 简单组合电路,掌握层次化设计的方法。
锁存器
7 段 码 输 出 数 码 管 片 选
位选
1.22设计分析与实现
(3)测频时序控制模块:设计3个控制信号:计数器计数信号 en、清零信号clr、锁存信 号lock。完成频率计自动测频功能。
1.22设计分析与实现
(4)频率计顶层文件设计:
(5)功能概述:对照频率计设计的顶层文件与总框图,可以了解到我们成功的用原理 图的方式设计出了 2位十进制频率计, 8Hz 是基准时钟,通过 ctrol 模块产生 1Hz的en 计数有效信号,及计数锁存信号lock,计数清零信号clr。32768Hz是数码管显示扫描 信号,可完成多位数码显示。 fry是待测频率, cout满一百时的进位显示,可通过发 光二极管显示。在二位频率范围内,输入不同的待测频率可以马上在数码管显示出 测量值。有兴趣的同学不妨按总框图的结构试用原理图设计出多位频率计的设计。
步骤5:时序仿真
(7)运行仿真器。
步骤5:时序仿真
步骤5:时序仿真
单击 Simulator 对话框中的“ Start” 按钮 ,仿真提示无错。
步骤5:时序仿真
(8)观察半加器的仿真波形。
结果正确, 但有延迟
步骤5:时序仿真
数显两位十进制计数器电路设计报告
东北大学秦皇岛分校计算机与通信工程学院电子线路课程设计压力测量数显电路专业名称班级学号学生姓名指导教师设计时间课程设计任务书专业学号学生姓名(签名):设计题目:压力测量数显电路一、设计实验条件Multisim实验室二、设计任务及要求1.熟悉译码器、555定时器、计数器和七位数码管的功能,并熟练应用;2.掌握555定时器产生脉冲的原理和方法;3.选择合适的器件来构成脉冲信号发生器;4.学会利用计数器构成不同进制的计数器;5.设计压力测量数显电路。
三、设计报告的内容1.设计题目与设计任务(设计任务书)2.前言(绪论)(设计的目的、意义等)3.设计主体(各部分设计内容、分析、结论等)4.结束语(设计的收获、体会等)5.参考资料四、设计时间与安排1、设计时间:2周2、设计时间安排:熟悉实验设备、收集资料:2 天设计图纸、实验、计算、程序编写调试: 5天编写课程设计报告:2 天答辩:1 天1、绪论随着计算机科学与技术迅猛地发展,用数字电路进行信号处理的优势也更加的突出。
数字电路具有精度高、稳定性好、抗干扰能力强、程序软件控制等一系列优点。
为了充分发挥数字电路在信号处理上的强大功能,我们可以先将拟信号按比例转换成数字信号,然后送到数字电路进行处理,最后将处理结果根据需要转换成相应的模拟信号输出。
自20世纪七十年代开始,这种用数字电路处理模拟信号的所谓“数字化”浪潮已经席卷了电子技术几乎左右的领域。
现在,学校给我提供了这次机会,我将利用所学的数电知识,仿真一个压力测试数电电路,以求更好掌握数电知识。
此次课程设计的目的是学会利用555定时器产生脉冲信号,熟练应用计数器、译码器和数码器构成压力测试数显电路。
通过此次的课程设计掌握数字信号的基本元件和知识,以实践的方式加深知识的掌握程度,扩展我们的思维。
2、系统设计(一)设计结构1、由555脉冲信号发生器产生脉冲信号;2、100进制计数器有两个74LS160计数器串联构成;3、显示器是由两个译码器和两个数码管构成。
两位十进制显示器
五邑大学数字电路课程设计报告题目:两位十进制计数显示器院系信息工程学院专业通信工程学号学生姓名指导教师报告日期2011年5月一、设计任务与要求本设计主要采用芯片有555定时器、74162计数器、7448七段字形译码器,以及七段LED数码管。
能过以上元器件的组合,构成一个两位十进制计数显示器,实现循环依序显示0~99的数字。
二、课题分析与方案根据实验要求,首先使用555定时器构成多谐振荡器,选择合适的电容电阻产生—方波脉冲作为时钟信号,将此信号输入到74162计数器中,编译成—4位十进制信号输出,经显示驱动芯片7448译码—7位输出信号驱动七段LED显示器,使其从0~9循环显示字形。
图1 电路组成框图三、电路设计1.总电路原理电路设计的原理图如图2所示[2]。
电路工作原理:(1)先把555定时器时钟的2,6脚相连并通过电容C2接地,并同时通过R16接到7脚,7脚通过R15接电源V cc,构成多谐振荡器。
用以产生方波时钟信号。
电路中,R15、R16、C2是定时元件。
(2)时钟信号分别输入到两个74162芯片的2脚,分别产生个位与十位计数计数。
个位74162,使CEP、CET(状态控制端)、PE(置数端)、SR(清零端)接高电平,使之计数;而十位的74162与个位共用相同的时钟,PE、SR高电平,CET,CTP接个位的进位信号TC。
当个位的TC进位信号来的时候,使CEP、CET变高电平,CLK到来的时候,可实现进位计数!没有进位的时候保持,输出端接译码电路。
(3)译码电路构成,使用两块7448芯片对计数器的个位与十位输出进行译码。
个位和十位的7448的灯LT(测试端)、灭零端(RBI)、BI/RBI(动态输出端)均接高电平,实现正常译码。
输出端接上接电阻,以增加共阴数码管的亮度。
图2、总电路原理图2.各模块数字逻辑:(1)555定时器表1NE555功能表555定时器是一种用途很广的集成电路,如表3所示,可以构成施密特触发器、单稳态触发器和多谐振荡器,都是利用R 、C 元件构成的脉冲电路,分析的关键就是电容的充放电,关键的连线点事是与电容相连的元件输入端。
数字频率计设计2
0 绪论数字频率计是采用数字电路制成的实现对周期性变化信号的频率的测量仪器。
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
它是一种用十进制数字,显示被测信号频率的数字测量仪器。
它的基本功能是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。
在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精度高,显示直观,所以经常要用到数字频率计。
1 总体方案原理与论证1.1数字频率计频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器。
频率计主要由四个部分构成:时基电路、输入电路、计数显示电路以及控制电路。
数字频率计用来测量正弦信号、矩形信号、三角波等波形,其测量结果直接用十进制数字显示。
本设计要求用中小规模芯片设计一个数字频率测量仪。
频率的测量有三种方法:直接测量法、直接与间接测量结合法和多周期同步测量法。
直接测量法最简单,但测量误差大;后两种方法测量精度高,但电路较复杂。
由于本题目没有对测量误差提出特别的要求,为简单起见,采用直接测量法。
1.2原理其最基本的工作原理为:当被测信号在特定时间段T内的周期个数为N时,则被测信号的频率Tf=。
在一个测量周期过程中,被测周期信号在输入电路中经过放大、整形、N/微分操作之后形成特定周期的窄脉冲,送到主门的一个输入端。
主门的另外一个输入端为时基电路产生电路产生的闸门脉冲。
在闸门脉冲开启主门的期间,特定周期的窄脉冲才能通过主门,从而进入计数器进行计数,计数器的显示电路则用来显示被测信号的频率值,内部控制电路则用来完成各种测量功能之间的切换并实现测量设置。
设x f为待测频率,从输入端进入后经整形电路变成方波,加到与非门的一个输入端上。
与该与非门起主闸门作用,在与非门第二个输入端上加上闸门控制信号,控制信号为低电平时,闸门关闭,无信号输入;控制信号为高电平时,闸门打开,整形脉冲进入计数器计数。
两位十进制计数器VHDL.
电子科技大学实验报告学生姓名:范仁森学号:2011032030016 指导教师:杜涛学生姓名:李彦龙学号:2012032030019学生姓名:万金山学号:2011032030030一、实验室名称:计算机大楼309二、实验项目名称:两位十进制计数器在7段数码管显示的设计三、实验原理:用FPGA板上的晶振频率为33.86MHz的时钟进行2的25次方分频作为基准频率,然后用两位十进制计数器计数,计数结果输出至七段数码管显示器的数据端。
再将时钟进行2的19次方分频作为数码管扫描频率,接到数码管的共阴极端。
其中七段数码管由8个(a,b,c,d,e,f,g,dp)按照一定位置排列的发光二极管构成,通常采取共阴极或者共阳极的设计,将8个二极管的同一极接在一起,通过分别控制另外的8个电极的电平,使二极管导通(发光)或截止(不发光)。
四、实验目的:1、掌握七段数码管译码器的工作原理;2、掌握设计两位十进制计数器。
3、学会运用波形仿真测试检验程序的正确性。
五、实验内容:用VHDL设计两位十进制计数器在7段数码管显示的设计,并在VHDL描述的测试平台下对译码器进行功能仿真,给出仿真的波形,并在FPGA板上测试。
六、实验器材(设备、元器件):电脑一台,Active-HDL,30MHz FPGA开发板七、实验步骤:程序:顶层BDE设计U1部分:div25:将晶振信号进行2的25次方分频作为计数基准频率library IEEE;use IEEE.STD_LOGIC_1164.all;use ieee.std_logic_unsigned.all;entity div25 isport(clk : in STD_LOGIC;clr : in STD_LOGIC;div_25 : out STD_LOGIC);end div25;architecture div25 of div25 issignal count:std_logic_vector(24 downto 0);----为分频器设置一个中间信号beginprocess(clk,clr)beginif(clr='1')thencount<="0000000000000000000000000"; ----初始化elsif(clk'event and clk='1')then ----上升延触发if (count="1111111111111111111111111")then ----将时钟频率分频至接近1Hzcount<="0000000000000000000000000";---进位elsecount<=count+1; ---计数end if ;end if;end process;div_25<=count(24);----输出1Hz信号end div25;U3部分:count ---十进制的个位计数器library IEEE;use IEEE.STD_LOGIC_1164.all;use ieee.std_logic_unsigned.all;entity count isport(clk : in STD_LOGIC;clr : in STD_LOGIC;en : in STD_LOGIC;count_4:out std_logic_vector(3 downto 0);cin:out std_logic);end count;architecture count of count issignal count_3:std_logic_vector(3 downto 0); ----计数十位数需要4位2进制begincount_4<=count_3;process(clk,clr)beginif(clr='1')thencount_3<="0000";初始化cin<='0';初始化elsif(clk'event and clk='1')then-----上升沿触发if(en='1')thenif(count_3="1001")then-----进位count_3<="0000";----进位cin<='1';-----输出进位信号elsecount_3<=count_3+1;计数cin<='0';重置进位信号end if;end if;end if;end process;end count;U4部分:count 十进制的十位计数器library IEEE;use IEEE.STD_LOGIC_1164.all;use ieee.std_logic_unsigned.all;entity count isport(clk : in STD_LOGIC;clr : in STD_LOGIC;en : in STD_LOGIC;count_4:out std_logic_vector(3 downto 0);cin:out std_logic);end count;architecture count of count issignal count_3:std_logic_vector(3 downto 0);begincount_4<=count_3;process(clk,clr)beginif(clr='1')thencount_3<="0000";-----初始化cin<='0';elsif(clk'event and clk='1')thenif(en='1')thenif(count_3="1001")then-----十进制计数count_3<="0000";----进位重置cin<='1';----输出进位信号elsecount_3<=count_3+1;-----计数cin<='0';-----进位信号重置end if;end if;end if;end process;end count;U2部分:div19 -----将晶振信号进行2的19次方分频作为扫描频率library IEEE;use IEEE.STD_LOGIC_1164.all;use ieee.std_logic_unsigned.all;entity div19 isport(clk : in STD_LOGIC;clr : in STD_LOGIC;div_19 : out STD_LOGIC);end div19;architecture div19 of div19 issignal count:std_logic_vector(18 downto 0);beginprocess(clk,clr)beginif(clr='1')thencount<="0000000000000000000";-----初始化elsif(clk'event and clk='1')thenif (count="1111111111111111111")thencount<="0000000000000000000";-----进位重置elsecount<=count+1;------计数end if ;end if;end process;div_19<=count(18);-----出接近64Hz的扫描信号end div19;U5部分:mux2----将两位十进制进行扫描输出library IEEE;use IEEE.STD_LOGIC_1164.all;entity mux2 isport(a : in STD_LOGIC;counter1 : in STD_LOGIC_VECTOR(3 downto 0);counter2 : in STD_LOGIC_VECTOR(3 downto 0);dout : out STD_LOGIC_VECTOR(3 downto 0));end mux2;architecture rtl of mux2 isprocess(a,counter1,counter2)beginif (a='0')thendout<=counter1;----输出个位elsif(a='1')thendout<=counter2;------输出十位end if;end process;end rtl;U6部分:decoder -----将两位十进制的数转换为七段显示码输出至显示管library IEEE;use IEEE.STD_LOGIC_1164.all;entity decoder7 isport(din : in STD_LOGIC_VECTOR(3 downto 0);dout : out STD_LOGIC_VECTOR(6 downto 0));end decoder7;architecture rtl of decoder7 issignal indata:std_logic_vector(3 downto 0);indata<=din;----载入数据process(indata)begincase indata iswhen"0000"=>dout<="1111110";------输出0when"0001"=>dout<="0110000";-----输出1when"0010"=>dout<="1101101";-----输出2when"0011"=>dout<="1111001";-----输出3when"0100"=>dout<="0110011";----输出4when"0101"=>dout<="1011011";-----输出5when"0110"=>dout<="0011111";-----输出6when"0111"=>dout<="1110000";-----输出7when"1000"=>dout<="1111111";-----输出8when"1001"=>dout<="1111011";-----输出9when others=>dout<="0000000";-----输出0 end case;end process;end rtl;仿真:在ise上FPGA板上I/O接口选择clk P79, clr P109, en P114, com1 P135, com2 P133,dout1 P138,dout2 P139,dout3 P140,dout4 P141,dout5 P143,dout6 P144,dout7 P146.在ise上继续编译,最后program下载进FPGA。
数字频率计自己动手制作
数字频率计自己动手制作一、系统设计用数字频率计测量信号频率,需要将被测信号转换成脉冲形式,再用计数器记录一秒内信号脉冲的个数,即得到信号频率值,最后将该频率值进行锁存、显示,这就完成了一次频率测量,如果需要进行实时测量,则应对计数器清零之后再次重复上述操作。
因此可以将整个系统划分为下列模块:(1)放大模块,将小信号放大,以便测量信号频率;(2)整形模块,将放大后的被测信号进行过零比较,变成方波供计数器识别;(3)计数模块,计量输入脉冲信号的个数;(4)锁存模块,将得到的频率值锁存,并输出到LED进行显示;(5)控制模块,控制计数器的启动、停止和清零,锁存器的数据置入;(6)秒脉冲模块,由晶振产生精度较高的时间基准,为控制电路提供触发信号。
整个系统框图如下图所示。
二、模块分析1.放大模块放大模块比较简单,但参数要求较高,需达到60dB,同时保证500kHz的带宽。
可使用给定的TLV2464芯片构成多级放大器,既得到高增益,又保证电路工作的稳定性。
如果采用三级放大,则每级只需放大10倍,如下图所示即为10倍放大的反相放大器,因输入信号为交流,应采用±3V双电源供电。
由于输入信号幅度很小,而且频率最低达10Hz,所以应采用直接耦合的方式级联。
2.整形模块整形模块应使用给定的TLC372芯片构成过零电压比较器,将放大信号转换成TTL电平,因此采用+5v单电源供电即可,如下图所示。
3.计数模块计数模块使用给定的CC4518芯片构成,EN端作为时钟输入端以便级联使用,CLK作为计数控制端,MR接清零信号,即实现十进制计数,如下图所示。
其最高位输出Q3直接连接次级EN,即可实现级联,每个CC4518包含两个计数器,因此至少需要3片CC4518才能完成lOOk计数。
4.锁存模块锁存模块使用给定的SN74LS175芯片构成,由于测量精度为lOHz~lOOkHz,因此至少需要显示4个数据。
每个锁存器存储4位BCD二进制码,DO—D3接计数器的数据输出,CLK接锁存控制信号,MR接高电平禁止清零,输出接LED显示,如下图所示。
实验9:2位十进制数字频率计设计
锁存器
7 段 码 输 出 数 码 管 片 选
位选
1.23设计误差分析
我们设计完频率计后要进行验证,通过实验验证后发现所测频率量除了 8Hz外都 存在1Hz的误差,那么实际误差在那儿产生的呢?
由于计数结果不对,我们可以初步估计一下为计数出了问题,认真的分析一下计数器模 块的输入时钟。如上图所示,由于en有延迟,导致在相与后多出一个下降沿(由于74390为 下降沿触发计数,所以我们主要分析下降沿数目),我们是以8Hz的频率量作为基准频率来 产生 en,当然测量 8Hz的频率是准确的,实际上相当于 en没有延迟,测量当然没有误差, 而其它频率量显然会产生误差,而这个误差都是由于 en的延迟产生的,我们若要在硬件上 去掉误差是相当困难的,因为 en延迟不可控制,所以我们必须在多出一个下降沿之前锁存 计数数据。把时序产生电路模块的 en取反作为锁存信号 load,这样刚好把多余的一个下降 沿去掉。但是又出现了另外一个问题,即测量 8Hz时出现了问题,原来测量 8Hz时是正确的 ,现在由于提前锁存导制测量偏小,我们把待测频率取反(如上图所示的CLK取反分析可知 刚好正确,另外一个解决方法不用 8Hz作为基准频率,用 1Hz作基准频率即不存在这样的问 题了),经实验是正确的,到现在找到了误差原因和解决了误差。 从上面分析可知,若不考虑到实际情况,一不小心就出现错误,因此除了会设计出程 序出来,还会分析出错原因并修正。关于多位频率计的设计可参考 EDA-E 的实验指导书实 验二十七。
1.2.1设计总框图
基准时钟 测频时序 显示控制 控制电路 计 数 控 制 待测时钟 计数器 电路 计数输出 数码显示
显示 电路
注意:这里仅设计二位十进制数字频率计,有兴趣的同学在学 习时考虑一下任意位数的频率计的设计,根据以上总框图电路 模块其实是很容易扩展的。
2位十进制计数器
本科实验报告课程名称:CPLD/FPGA应用设计实验项目:2位十进制计数器实验地点:中区采矿楼二层专业班级:学号:学生姓名:2014年 3 月17 日一、实验目的1、熟悉Quartus II的原理图设计流程全过程。
2、学习简单时序电路的设计方法。
3、学习EDA设计的时序仿真和硬件测试方法。
二、实验原理2位十进制计数器参考原理图如图所示,也可以采用其他元器件实现。
三、实验任务1、设计2位十进制计数器电路。
2、在EDA环境中输入原理图。
3、对计数器进行仿真分析、引脚锁定、硬件测试。
四、实验步骤1、设计电路原理图设计含有时钟使能及进位扩展输出的十进制计数器。
可以选用双十进制计数器74LS390或者十进制计数器74LS160和其他一些辅助元件来完成。
2、计数器电路的实现按照电路图进行连线,完成完整的实验原理图。
绘制过程中应特别注意图形设计规则中信号标号和总线的表达方式。
若将一根细线变成一粗线显示的总线,可以先单机使其变红,再选Option选项中的Line Style;若在某线上加信号标号,也应该点击该线某处使其变成红色,然后键入标号名称,标有相同标号的线段可视为连接线段,不必直接连接。
总线可以以标号方式进行连接。
3、波形仿真4、编程下载后的硬件测试,实验图如下图:五、实验感想通过本次实验,我熟悉了Quartus II软件的使用方法,对图形设计方法和VHDL语句设计方法都有了初步的了解。
通过对两种方法进行分析比较可以发现,图形设计方法直观明了,但不便于修改,而且受元件库所能提供的元件限制,在设计时要求对元件有较好的了解;而采用VHDL语言设计方法,只要设计者正确描述目标电路的功能,通常就可以利用综合器产生符合要求的电路,而且该方法实现电路容易进行修改,设计者也不用过多考虑实际可获得的硬件资源,因此提高了设计效率。
数字频率计设计与制作讲解
数字频率计设计与制作王峰, 电子工程系摘要:数字频率计是一种可以用十进制数字显示被测信号频率的测量仪器。
被测信号可以是任何周期性变化的信号如正弦波、方波、三角波等等。
如果加入放大电路,通过传感器则可以对许多微弱的、规律的物理量进行测量,例如声音、机械振动、转速的频率等等。
使用频率计能让我们直观的看到信号的频率,其方便性、简单性、准确性使其具有较高的实用价值。
因此数字频率计是一种应用很广泛的仪器,在计算机、通讯设备、自动化等科研生产领域起着重要作用。
对于本次课题“数字频率计设计与制作”,我选用了555定时器产生时基信号,单稳态触发器74LS273来控制电路中的锁存,计数器74LS90来计数,74LS48进行译码并通过数码管显示。
运用数字集成芯片给设计减少了很多不必要的麻烦。
关键词:数字频率计;锁存;译码;计数Digital Frequency Meter Design and FabricationWangfeng, Electronic Information EngineeringAbstract:Digital Frequency Meter is a measuring device, it can using decimal numeral reveal the signal frequency. The measured signal was variety seasonal signal, such as sinusoidal wave, square wave, triangle wave and so on. If we using amplify circuit, we can also use sensing element measuring so many faint and regular signals, for example voice, inflexible vibrate and rotation rate. Digital Frequency Meter can make us intuitively sight the signal frequency, it’s conveniently, simply and accuracy, so it has enormously worthy in many fields, include computer, communication apparatus, automation equipment and so on.For about this subject study, the Digital Frequency Meter Design and Fabrication,I select 555_timer produce a normal time signal, using Monostable Trigger 74LS273 constitute flip-latch, using counter flip-flop 74LS90 count, using 74LS48 constitute a code translator and usig Mixie light reveal frequency. Apply digital integrated circuit chip help me save so many time and reduce a number of inconvenience.Key words: Digital Frequency Meter; flip-flop; code translator; counter1设计原理及意义1.1 基本设计原理数字频率计的主要功能是测量周期信号的频率。
数显两位十进制计数器电路设计报告
东北大学秦皇岛分校计算机与通信工程学院电子线路课程设计压力测量数显电路专业名称班级学号学生姓名指导教师设计时间课程设计任务书专业学号学生姓名(签名):设计题目:压力测量数显电路一、设计实验条件Multisim实验室二、设计任务及要求1.熟悉译码器、555定时器、计数器和七位数码管的功能,并熟练应用;2.掌握555定时器产生脉冲的原理和方法;3.选择合适的器件来构成脉冲信号发生器;4.学会利用计数器构成不同进制的计数器;5.设计压力测量数显电路。
三、设计报告的内容1.设计题目与设计任务(设计任务书)2.前言(绪论)(设计的目的、意义等)3.设计主体(各部分设计内容、分析、结论等)4.结束语(设计的收获、体会等)5.参考资料四、设计时间与安排1、设计时间:2周2、设计时间安排:熟悉实验设备、收集资料:2 天设计图纸、实验、计算、程序编写调试: 5天编写课程设计报告:2 天答辩:1 天1、绪论随着计算机科学与技术迅猛地发展,用数字电路进行信号处理的优势也更加的突出。
数字电路具有精度高、稳定性好、抗干扰能力强、程序软件控制等一系列优点。
为了充分发挥数字电路在信号处理上的强大功能,我们可以先将拟信号按比例转换成数字信号,然后送到数字电路进行处理,最后将处理结果根据需要转换成相应的模拟信号输出。
自20世纪七十年代开始,这种用数字电路处理模拟信号的所谓“数字化”浪潮已经席卷了电子技术几乎左右的领域。
现在,学校给我提供了这次机会,我将利用所学的数电知识,仿真一个压力测试数电电路,以求更好掌握数电知识。
此次课程设计的目的是学会利用555定时器产生脉冲信号,熟练应用计数器、译码器和数码器构成压力测试数显电路。
通过此次的课程设计掌握数字信号的基本元件和知识,以实践的方式加深知识的掌握程度,扩展我们的思维。
2、系统设计(一)设计结构1、由555脉冲信号发生器产生脉冲信号;2、100进制计数器有两个74LS160计数器串联构成;3、显示器是由两个译码器和两个数码管构成。
第5章2位十进制数字频率计
3
Cnt74390 2位十进制计数电路
Cnt74390: 双十进制计数器 EN使能信号为1时计数,为0时停止计数. CLEAR为1时清零 Clk时钟下降沿计数,计到9时2clkA为1,再来一个clk下降沿时 q[3..0]输出为0,2clkA为0,产生一个下降沿,q[4]为1,输出 10。cout: 计到99之后,进位输出 因此,Q[7..4]、Q[3..0] 分别为计数的十位和个位,最多为99。
10
8
附: 2位十进制计数器VHDL 代码
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt74390 is port(clk:in std_logic;en,reset: in std_logic; q: out std_logic_vector(7 downto 0)); end ; architecture bhv of cnt74390 is signal temp0,temp1: std_logic_vector(3 downto 0); begin process(clk) begin if reset='1' then q<=(others=>'0');temp0<="0000";temp1<="0000"; elsif rising_edge(clk) then if en='1' then if (temp0<9) then temp0<=temp0+1; else temp0<="0000";end if; if temp0=9 then if (temp1<9) then temp1<=temp1+1; else temp1<="0000"; end if; end if; end if; q<=temp1&temp0; end if; end process; end ;
eda实验 2位十进制
实验名称:2位十进制频率计实验目的:设计2位十进制频率计,学习较复杂的数字系统设计方法。
实验内容:源程序1.十进制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10 isport (clk,rst,en:in std_logic;dout:out std_logic_vector(3 downto 0));end cnt10;architecture behav of cnt10 isbegin process(clk,rst,en)variable q:std_logic_vector(3 downto 0);begin if rst='0' then q:=(others=>'0');else if (clk'event and clk='1') thenif en='1'then if q<9 then q:=q+1;else q:="0000";end if;end if;end if;end if;dout<=q; end process; end behav;模拟图形:2.测控计library IEEE ;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity chekong isport (CLK : in std_logic;EN,RST,Load :out std_logic );end chekong;architecture behav of chekong issignal CLK2 : std_logic;begin process(clk)begin if clk'event and clk ='1' thenCLK2 <= not clk2;end if;end process;process(clk,clk2)begin if clk='0'and clk2='0' then rst<='1';else rst<='0';end if;end process;Load <= not CLK2;EN <=CLK2;end behav;模拟图:3.寄存器library ieee;use ieee.std_logic_1164.all;entity jicunqi isport(clk : in std_logic;din: in std_logic_vector(3 downto 0);dout : out std_logic_vector(3 downto 0) );end jicunqi;architecture behav of jicunqi is beginprocess(clk,din)beginif clk'event and clk='1'then dout<=din;end if;end process;end behav;模拟图频率计框图:分析:根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许的信号;1秒计数结束后,计数值被锁入锁存器,计数器清0,为下一测频计数周期作好准备。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广州大学学生实验报告
实验室:电子信息楼 317EDA 2017 年 10 月 2 日
学院机电学院年级、专
业、班
电信
151
姓名苏伟强学号1507400051
实验课
程名称
可编程逻辑器件及硬件描述语言实验成绩
实验项
目名称
实验4 2位十进制高精度数字频率计设计指导老师
秦剑
一实验目的
1 熟悉原理图输入法中74系列等宏功能元件的使用方法,掌握更复杂的原理图层次化设计技术和数字系统设计方法。
2 完成2位十进制频率计的设计,学会利用实验系统上的FPGA/CPLD验证较复杂设计项目的方法。
二实验原理
1 若某一信号在T秒时间里重复变化了N 次,则根据频率的定义可知该信号的频率fs 为:fs=N/T 通常测量时间T取1秒或它的十进制时间。
三实验设备
1 FPGA
实验箱,quarteus软件
四实验内容和结果
1 2位十进制计数器设计
1.1 设计原理图:新建quarteus工程,新建block diagram/schematic File文件,绘制原理图,命名为conter8,如图1,保存,编译,注意:ql[3..0]输出的低4位(十进制的个位),
qh[3..0]输出的高4位(十进制的十位)
图片11.2 系统仿真:如图2建立波形图进行波形仿真,如图可以看到完全符合设计要求,当clk输入时钟信号时,clr有清零功能,当enb高电平时允许计数,低电平禁止计数,当低4位计数到9时向高4位进1
图2
1.3 生成元件符号:File->create/updata->create symbol file for current file,保存,命名为conter8,如图3为元件符号(block symbol file 文件):
图3
2 频率计主结构电路设计
2.1 绘制原理图:关闭原理的工程,新建工程,命名为ft_top,新建原理图文件,在project navigator的file 选项卡,右键file->add file to the project->libraries->project library name添加之前conters8工程的目录在该目录下,这样做的目的是因为我们会用到里面的conters8进行原理图绘制,绘制原理图,如图4,为了显示更多的过程信息,我们将74374的输出也作为output,重新绘制了原理图,图5
图4
图5
2.2 波形仿真:注:设end of time 为10s,F_IN 频率为20Hz(周期为50ms),EN_CNT 频率为0.5Hz (周期为2s ,之所以这样做是因为,结果可以直接显示出F_IN 的频率),如图
6
图6
F_IN 是待测频率信号(设其频率周期为50ms );CNT_EN 是对待测频率脉冲计数允许信号(设其频率周期为2s,频率为0.5Hz ),CNT_EN 高电平时允许计数,低电平时禁止计数。
仿真波形显示,当CNT_EN 为高电平时允许conter8对F_IN 计数,低电平时conter8停止计数,由锁存信号LOCK 发出的脉冲将conter8中的2个4位十进制数“21”锁存进74374中,并由74374分高低位通过总线H[6..0]和L[6..0]输给74248译码输出显示,这就是测得的频率值。
“21”的7段译码值分别是“5b ”和“06”。
此后由清0信号CLR 对计数器conter8清0,以备下一周期计数之用。
注意,由于有锁存器74374的存在,即使在conter8被清0后,数码管仍然能稳定显示上一测频周期测得的频率值。
3 时序控制电路设计
3.1 原理图设计:新建工程并且新建原理图文件,绘制如下原理图,保存文件名为controler.图7
图7
3.2 波形图仿真:如图
8
分析:
3.3 生成元件符号,File->create/updata->create symbol file for current file,保存,命名为controler (block symbol file 文件):如图8
图9
4 频率计顶层电路设计 4.1 原理图绘制:在project navigator 的file 选项卡,右键file->add file to the project->libraries->project library name 添加之前controler 工程的目录在该目录下,这样做的目的是因为我们会用到里面的controler 进行原理图绘制,绘制好的原理图如图9:
图10
4.2 波形仿真:设end of time为10s,F_IN频率为20Hz(周期为50ms),CLK频率为8Hz(周期为125ms,之所以这样做是因为,结果可以直接显示出F_IN的频率),如图10
图11
分析:电路只有两个输入信号:待测频率输入信号F_IN和测控时钟CLK,从CLK输入的时钟频率是8Hz,计数使能信号CNT_EN的脉宽即为1s,从而可使数码管直接显示F_IN的频率值。
如图所示,测出来的频率值为20Hz,和实际相符。
5 管脚的绑定和下载
5.1 引脚绑定:硬件测试实验电路采用NO.0电路结构,待测信号F_IN接clock0;测频控制时钟CLK接clock2,输出接数码管。
如图11
图12 5.2 下载:
可以看到,频率测量的结果是正确的。
五实验分析总结
思考题:
怎样提高测量的精确度?
答:由实验知道,在一个计数周期要尽可能的计到更多的输入信号周期,才能不会出现像一个计数周期没有出现一个完整周期的情况,这样会大大影响准确度,所以我们需要信号提高计数周期,来增加测量频率的准确度。
总结:
1 注意在绘制2位十进制计数器的时候,最后需要生成元件符号,文件名后缀是.bsf(block symbol file 文件),而不是block schematic file文件。
2 在波形仿真的时候,调整波形显示的进制数,方便查看实验结果,例如2位十进制计数器波形仿真的时候,输出的结果为2位十进制,但是引脚的输出是2进制的,这时候在波形右键->properties->radix->usigned decimal进行十进制表示,仿真的结果看得更直观了。
后面频率计主体结构的波形仿真也是同样的道理。
3 在进行管脚绑定的时候,在assignment editor中的category选项卡中选择location
4 在原理图中使用之前已经设计好的block symbol file 文件,需要在file选项卡中添加库,具体的方法是:ile->add file to the project->libraries->project library name,添加之前的自定义符号文件(block symbol file).
16。