第5节利用VHDL语言实现单片简易自动量程数字频率计-Read.PDFVIP

  • 12
  • 0
  • 约4.75千字
  • 约 5页
  • 2017-12-19 发布于天津
  • 举报

第5节利用VHDL语言实现单片简易自动量程数字频率计-Read.PDF

第5节利用VHDL语言实现单片简易自动量程数字频率计-Read.PDF

第 5 节 利用 VHDL 语言实现单片简易自动量程数字频率计 [学习要求] 能利用 VHDL 语法实现较为复杂的数字系统。 [重点与难点] 重点:复杂数字系统的设计方法。 难点:频率计 自动量程的设计;动态显示的原理。 [理论内容] 一、数字频率计系统概述 该频率计的具体电路如图 1 所示,图中CPLD 可采用 FLEX10K10 系列实现,数码管采 用共阴极方式。Funknown 引脚为未知频率输入,ref_clk 为 10MHz 参考频率输入,sys_rst_l 为复位引脚。从图中可以看出,使用可编程器件使系统器件数降至最低。该频率计的计数范 围从DC 到 9.999MHz ,共分为四个量程,每个量程的阀门如下表所示: 图 1 单片 CPLD 数字频率计电路图 量程与阀门宽度对应表 频率范围/KHz 阀门宽度/s DC~0.9999 1 10.00~99.99 0.1 100.0~999.9 0.01 1000~9999 0.00 1 该频率计基本原理是通过对来临的未知频率上升沿在设定的时间段内计数,这个时间段 就是所谓的阀门。当计数溢出时,说明所选择的阀门较宽,此时自动选择较窄的阀门。阀门 开关的切换是立即的。该频率计 CPLD 内部逻辑电路通过VHDL 语言编程实现。系统大致 可分为图 2 所示的四个模块:控制单元(CONTROL ),主要完成时序生成和量程自动切换 等。计数单元 (COUNT ),在阀门内对输入频率进行计数,计数结果为四位十进制数。显示 单元 (DISPLAY )对计数结果进行动态的数码显示。分频单元 (DIVIDE )比较简单,将参 考频率分频得到动态显示所需的频率。以下对各单元功能具体分析。 二、系统内部各单元概述 1、显示单元 (DISPLAY ) 其对外接口如图 2 所示。sys_rst_l 为总体复位信号,disp_clk 为动态刷新频率,由ref_clk (10MHz )经 DIVIDE 单元分频而来,频率为 100KHz 。其输出 digit_out(7:0)和 gate_l(3:0) 图2 频率计系统内部模块及相关连线图 复位 如图 1 和图 2 所示。显示数据 disp_data(15:0) 由 COUNT 单元提供,在 disp_load 的上升沿存入显 空闲状态 示单元内部 16 位寄存器。再每隔 0.5 秒时间送 计数溢出 入显示缓冲区显示,这样做是为了保证显示数据 计数开始 量程切换 的稳定性。 阀门时间到 2 、计数单元(COUNT) 计数单元主要是在阀门时间内对待测频率 计数结果显示 图3 频率计控制单元工作流图 进行计数,阀门时间的 gate_ctrl 信号控制。计数结果用四位 BCD 码表示,并送显示单元显 示。当阀门时间到时将计数结果清零,重新开始计数。如果阀门时间未到时产生计数溢出, 则由 count_over 信号通过控制单元(CONTROL )进行量程的切换。 3、控制单元(CONTROL ) 控制单元的作用是产生各种时序或控制信号使其他单元完成相应的动作。在其内部设计 了一个状态机,其工作流图如图 3 所示。复位后系统进入空闲状态,此时

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档