实验六:数字频率计数器的设计
实验学时:4 实验类型:设计 实验要求:必修 一、实验目的
掌握用原理图设计复杂电路的方法. 二、实验内容
设计一个8位数字频率计,可测量1~99999999HZ的信号频率,并将被测信号的频率在8
个数码管上显示出来。掌握用原理图法设计复杂数字电路的方法。
三、实验原理、方法和手段
采用一个标准时钟,在单位时间内对被测信号的脉冲进行计数,即为信号的频率。 1、顶层设计
顶层设计应该包含3个子模块:控制模块、计数测量模块以及锁存显示模块。 1)控制模块
其作用是产生测频所需要的各种控制信号。模块只需要一个输入信号,即标准时钟。其输出可以提供3个控制信号:CNT-EN、LOCK和CLR,以便使频率计能顺利完成测频三步曲:计数、锁存和清零。根据三个控制信号的要求,本书给出了如图8所示的电路。其时序如图9所示,从其时序图可以看出,该电路可以满足设计要求。 2)计数测量模块
该模块用于在单位时间内对输入信号的脉冲进行计数,该模块必须有计数允许、异步清零等端口,以便于控制模块对其进行控制。在这里给出一个成熟的8位加法计数器原理图输入法设计方案,电路如图5所示。。 3)锁存显示模块
锁存模块是必不可少的,测频模块测量完成后,在LOCK信号的上升沿时刻将测量值锁存到寄存器中,然后输出,送到实验箱上的数码管显示出相应的数值。如果所用实验箱没有BCD-七段数码管译码电路,那么就必须再设计一个译码电路。GW48-CK型实验箱的数码管已经自带了译码电路,故不需要设计译码电路。其电路原理图如图13-34所示。 2.顶层设计方框图
顶层设计方框图如图6-1所示。
25
图6-1 8位数字频率计方框图
3.引脚说明
在图13-24中,各引脚功能如下。 CLK:基准频率输入端; F-IN
:被测频率输入端
OUTPUT[32..29]:驱动数码管8,显示千万位值 OUTPUT[28..25]:驱动数码管7,显示百万位值 OUTPUT[24..21]:驱动数码管6,显示十万位值 OUTPUT[20..17]:驱动数码管5,显示万位值: OUTPUT[16..13]:驱动数码管4显示千位值 OUTPUT[12..9]:驱动数码管3,显示百位值; OUTPUT[8..5]:驱动数码管2,显示十位值 OUTPUT[4..1]:驱动数码管1,显示个位值。 以上数码管都为十进制显示
四、实验组织运行要求
教师简单讲解,学生调试程序,教师辅导 五、实验条件
安装MAXPUS++II的电脑一台
可编程数字开发系统CIC——310CPLD/FPGA硬件实验箱
六、实验步骤
本设计采用原理图输入法。文件的输入、编译、仿真参考前面的实验。
设计分析:频率计主要由含有时钟使能及进位扩展输出的8位十进制计数器、测频时序
26
控制电路、锁存显示电路及频率计顶层主电路组成。下面将先分块设计并验证,最后构成由主电路,进行编译、仿真、下载和验证。
1、设计8位十进制计数器
设计思路:采用双十进制计数器74390和必要的辅助元件设计一个2位十进制计数器模
块,然后依次共构成4个这样的2位十进制计数器模块,将其首尾相连,将前面模块的计数进位输出信号送给后面模块作为计数脉冲信号,这样就可以构成8位十进制计数器。所以第一步应先设计一个2位十进制计数器。
1)设计2位十进制计数器
图6-2 2位10进制计数器图形输入文件
2) 设计8位计数器
1、 4选1数据选择器的功能
数据选择器的输入端包括2个地址输入和4个数据输入,一个输出端. 地址输入端给出地址,找出相应的数据输入端,并赋给输出端.其引脚和真值表如图2-1:
27
S0 S1 A B Y C D
S0 0 0 0 1 1 0 1 1 S1 A B C D Y
图1-6 4选1数据选择器的示意图和真值表 2、(二) 全加器的原理
图6-3 8位计数器输入图形
2 设计测频时序电路
测频时序原理图如图6-4所示。
图6-4 测频时序原理图
28
3.设计锁存显示电路
锁存显示电路原理图如图6-5所示,
29