1、 1 数字频率计数字频率计 设计报告书设计报告书 一、设计要求一、设计要求 设计一个 4 位十进制数字式频率计,最大测量范围为 10MHz。量程分 10kHz、100kHz、 1MHz 和 10MHz 四档(最大读数分别为 9999kHz、9999kHz、999.9kHz、9999.kHz). 量程自动转换规则如下: (1) 当读数大于 9999 时,频率计处于超量程状态,此时显示器发出溢出指示,下一次测量 时,量程自动增大一档,小数点位置随量程变更自动移位。 (2) 可用手动方式使量程在每次测量开始时处于最低档。 显示方式如下: (3) 采用记忆显示方式,即计数过程中不显示数据,待计数过程结
2、束以后,显示计数结果, 将此显示结果保持到下一次计数结束。显示时间应不小于 1s。 (4) 送入信号应是符合 CMOS 电路要求的脉冲波,对于小信号模拟信号应有放大整形电路。 二、方案设计二、方案设计 整体思路 所谓频率就是周期性信号在单位时间 (1s)内变化的次数。若在一定时间间隔 T 内测得 周期性信号的重复变化次数为 N ,则频率可表示为 f =N /T (Hz)。被测信号 fx 经放大整形 电路变成计数电路所要求的脉冲信号,其频率与被测信号 fx 的频率相同。 基准电路提供标准 时间基准信号 clk,其高电平持续时间 t 1 = 1 s,当 1 s 信号来到时 ,闸门电路开通 ,被测
3、脉冲信号通过闸门电路,成为计数电路的计数脉冲 CP,计数电路开始计数,直到 ls 信号结 束时闸门电路关闭 ,停止计数。若在闸门时间 1 s 内计数电路计得的脉冲个数为 N ,则被 2 测信号频率 f =NHz。控制电路的作用有两个:一是产生锁存脉冲 CLK,使显示电路上的数字 稳定;二是产生清“0”脉冲,使计数电路每次测量从零开始计数。 时钟信号的选择 设计电路中时钟信号采用 12M 有源晶振产生,下面是 12M 有源晶振引脚图: 整形电路的选择 整形电路中可以用运算放大器 LM311 组成电压选择器实现,以下是关于此芯片的资料: 引脚功能: GROUND/GND 接地 INPUT + 正向
4、输入端 INPUT - 反向输入端 OUTPUT 输出端 BALANCE 平衡 BALANCE/STROBE 平衡/选通 V+ 电源正 V- 电源负 NC 空脚 LM311 引脚图 3 由于 LM311 过于复杂且此次设计要求精度不高,整形电路可以改为如下电路: R1 1.0k D1 BAS81 D2 BAS81 这样产生稳定 3.3V 为幅值的信号送入 EPM570 中,对芯片起到保护作用。 设计所用核心芯片资料及其原理 所用核心芯片为 CPLD 器件 EPM570T100C5。基本设计方法是借助集成开发软件平台 quartus II 6.0,用原理图、硬件描述语言(Verilog HDL)
5、等方法,生成相应的目标文件, 通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。 EPM570 引脚图: 待测信号 输 出 4 在 Quartus II 6.0 中设定的引脚分布如下: 5 计数译码原理图: 分频选择器原理图: 千位计数器 百位计数器 十位计数器 个位计数器 进 位 进 位 进 位 锁存器 千位译码器 百位译码器 十位译码器 个位译码器 四 位 共 阴 极 数 码 管 小数点 位置 6 数码管引脚图: 通过 V erilog HDL 语言设计程序,实现上述原理图功能,最终所测信号频率以四位共阴极数 码管显示,单位为 KHz。 6MHz 转 1Hz 分频计
6、 时钟信号 待测信号 10/100/1000 分 频选择器 小数点移 位 小数点位 置 多 位 计 数 器 7 三三、调试、调试 1、 按照分频计、计数器、锁存器、选择器、译码器模块分别进行编程调试、仿真; 2、 建立工程,把五个模块连接,调试。针对错误模块进行修改,重新建立工程、连 接模块; 3、 将程序下载到 EMP570 中,利用数电实验板以及数码管进行调试; 4、 将各种器件焊接到万用板上,连接电源进行实际调试。 程序代码程序代码 1module ssss(b,base); input b; output reg base; reg 23:0q; always(posedge b) if(q5999999) q=q+1; else begin base=!base;q=0; end Endmodule 2 module Fen6M(b,base); input b; 8 output reg base; reg 23:0q; always(posedge b) if(q5999999) q=q+1; else begin