1、湖北工业大学毕业设计(论文)说明书 第-1 -页摘 要随着大规模集成电路技术和计算机技术的不断发展,在涉及通信、国防、航天、医学、工业自动化、计算机应用、仪器仪表等领域的电子系统设计工作中 EDA 技术的含量正以惊人的速度上升;电子类的高新技术项目的开发也逾益依赖于 EDA 技术的应用。即使是普通的电子产品的开发 EDA 技术常常使一些原来的技术瓶颈得以轻松突破从而使产品的开发周期大为收缩、性能价格比大幅提高。不言而喻 EDA 技术将迅速成为电子设计领域中的极其重要的组成部分。100Hz 频率计数器的主要功能是在一定时间内对频率的计算。在数字系统中,计数器可以统计输入脉冲的个数,实现计时、计数
2、、分频、定时、产生节拍脉冲和序列脉冲。而本篇论文主要介绍了频率计数器的实现:系统以MAX+PULSLL II 为开发环境,通过 VHDL 语言作为硬件描述语言实现对电路结构的描述。在 VHDL 语言中采用了一系列的语句,例如:if 语句、case 语句、loop语句等。这些语句对程序中的输入输出端口进行了解释,并给出实现代码和仿真波形。相关的一些关键词: 100Hz;分频;计数; MAX+PULSLL II; VHDL; 编译;仿真等。湖北工业大学毕业设计(论文)说明书 第-2 -页前 言VHDL 是超高速集成电路硬件描述语言(Very High Speed Integrated Circui
3、t Hardware Description Language)的缩写在美国国防部的支持下于 1985 年正式推出是目前标准化程度最高的硬件描述语言。IEEE(The Institute of Electrical and Electronics Engineers)于 1987 年将 VHDL 采纳为 IEEE1076 标准。它经过十几年的发展、应用和完善以其强大的系统描述能力、规范的程序设计结构、灵活的语言表达风格和多层次的仿真测试手段在电子设计领域受到了普遍的认同和广泛的接受成为现代 EDA 领域的首选硬件描述语言。目前流行的 EDA 工具软件全部支持 VHDL它在 EDA 领域的学术交
4、流、电子设计的存档、专用集成电路(ASIC )设计等方面担任着不可缺少的角色。数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着复杂可编程逻辑器件(CPLD)的广泛应用,以 EDA 工具作为开发手段,运用 VHDL 语言。将使整个系统大大简化。提高整体的性能和可靠性。本文用 VHDL 在 CPLD 器件上实现一种 2b 数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。具有体积小、可靠性高、功耗低的特点。湖北工业大学毕业设计(
5、论文)说明书 第-3 -页闰土机械外文翻译成品 TB 店目 录摘要1 前言 2目录 3第一章 设计目的 51.1 设计要求 51.2 设计意义 5第二章 设计方案 6第三章 产生子模块 73.1 分频模块 7湖北工业大学毕业设计(论文)说明书 第-4 -页3.2 分频模块源代码 83.3 仿真及波形图 9第四章 计数模块 94.1计数模块分析 94.2计数模块源代码104.3 计数模块的仿真及波形图 12第五章 显示模块 125.1 七段数码管的描述 135.2 八进制计数器 count8 的描述 145.3 七段显示译码电路的描述 155.4 计数位选择电路的描述 165.5总体功能描述 1
6、8 5.6显示模块的仿真及波形图 19第六章 顶层文件 206.1 顶层文件设计源程序 206.2 顶层文件的仿真及波形图 21结语 22湖北工业大学毕业设计(论文)说明书 第-5 -页参考文献 23致谢 24附件 25第一章 设计目的1.1 设计要求a.获得稳定 100Hz 频率b.用数码管的显示c.用 VHDL 写出设计整个程序1.2 设计意义a.进一步学习 VHDL 硬件描述语言的编程方法和步骤。b.运用 VHDL 硬件描述语言实现对电子元器件的功能控制c.熟悉并掌握元件例化语句的使用方法 d.熟悉数字式频率的基本工作原理。e.熟悉数字频率计中计数显示设计湖北工业大学毕业设计(论文)说明
7、书 第-6 -页f.熟悉掌握 MAX+PLUS软件的基本使用方法。第二章 设计方案此 系 统 正 常 工 作 时 , 脉 冲 发 生 器 提 供 的 1 Hz 的 输 入 信 号 , 信 号 的变 换 , 产 生 计 数 信 号 , 被 测 信 号 通 过 信 号 整 形 电 路 产 生 同 频 率 的 矩 形 波 ,送 入 计 数 模 块 , 计 数 模 块 对 输 入 的 矩 形 波 进 行 计 数 , 将 计 数 结 果 送 入 锁存 器 中 , 保 证 系 统 可 以 稳 定 显 示 数 据 , 显 示 译 码 驱 动 电 路 将 二 进 制 表 示的 计 数 结 果 转 换 成 相
8、应 的 能 够 在 七 段 数 码 显 示 管 上 可 以 显 示 的 十 进 制 结果 。 在 数 码 显 示 管 上 可 以 看 到 计 数 结 果 。在 这 个 100HZ 频 率 计 的 设 计 中 一 共 分 为 3 大 模 块 : 产 生 子 模 块 、 计数 模 块 、 显 示 模 块 。产 生 子 模 块 是 为 此 100 赫 兹 频 率 计 提 供 1Hz 的 时 钟 脉 冲 信 号 , 为 了实 现 严 格 的 同 步 , 在 这 个 模 块 中 采 用 了 同 步 计 数 电 路 。计 数 模 块 是 实 现 从 0 到 99 的 计 数 。显 示 模 块 是 将 计
9、数 模 块 程 序 中 产 生 的 数 值 通 过 2 个 七 段 数 码 管 表 达出 来 , 使 大 家 对 此 频 率 计 有 一 个 更 直 观 的 认 识 。此 100HZ 频 率 计 的 设 计 中 , 这 3 个 大 的 模 块 是 核 心 部 分 , 这 个 3 个大 的 模 块 会 在 后 面 的 分 析 设 计 中 给 出 详 细 的 介 绍 。频 率 计 的 工 作 原 理 是 通 过 在 一 定 时 间 内 对 外 部 信 号 进 行 计 数 ,计 数值 与 时 间 的 比 值 , 从 而 得 到 输 入 信 号 的 频 率 , 通 过 二 个 数 码 管 作 为 频
10、率 值的 输 出 。 对 系 统 进 行 分 析 后 , 确 定 采 用 模 块 设 计 , 基 本 框 架 图 如CLK湖北工业大学毕业设计(论文)说明书 第-7 -页图 1第三章 产生子模块3.1 分频模块 分频模块的功能是将输入的外部信号 clk 进行分频,分频成计数器所需要的计数信号, 使计数器在计数信号有效的时间对外部信号进行计数。根据频率计测量的范围,确定了分频至 1Hz,从而得到频率值.图 2555 定 时 器 (如 图 2)是 一 种 模 拟 电 路 与 数 字 电 路 相 结 合 的 中 规 模 集 成电 路 , 它 在 信 号 产 生 、 整 形 、 延 时 ( 定 时 )
11、 、 控 制 等 方 面 获 得 了 广 泛 的应 用 。 虽 说 555 定 时 器 应 用 领 域 十 分 广 泛 , 但 其 电 路 结 构 归 纳 起 来 有 三 种基 本 形 式 , 即 多 谐 振 荡 器 、 单 稳 态 触 发 器 、 施 密 特 触 发 器由 于 双 极 型 555 和 CMOS 型 555 的 制 作 工 艺 和 流 程 不 同 , 生 产 出 的555 集 成 电 路 的 性 能 指 标 是 有 差 异 的 。CMOS 型 555 的功耗仅为双极型的几十分之一,静态电流仅为 300uA 左右,计数系统显示系统湖北工业大学毕业设计(论文)说明书 第-8 -页为
12、微功耗电路。CMOS 型 555 的输出脉冲的上升沿和下降沿比双极型的要陡,转换时间短。CMOS 型 555 的在传输过度时间里产生的尖峰电流小,仅为 2-3mA,而双极型 555 的尖峰电流高达 300-400mA。3.2 分频程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clk_div1000 ISPORT(clk:IN STD_LOGIC;clk_div:out STD_LOGIC);END clk_div1000;ARCHITECTURE rt1 OF clk_d
13、iv1000 ISSIGNAL q_tmp:integer range 0 to 999;BEGINprocess(clk)beginIF(clkevent and clk=1)thenif(q_tmp=999)thenq_tmp=0;elseq_tmp=q_tmp+1;end if;end if;end process;process(clk)beginIF(clkevent and clk=1)thenif(q_tmp=999)thenclk_div=1;湖北工业大学毕业设计(论文)说明书 第-9 -页elseclk_div=0;end if;end if;end process;end
14、rt1;在程序3.2中我们将外部信号clk进行10次分频输入信号为clk,输出信号为clk_div. 3.3 仿真及波形图图3图4图 4第四章 计数模块4.1计数模块分析湖北工业大学毕业设计(论文)说明书 第-10 -页经分析可知,此频率计计数模块分为 2 个子模块,即个位显示模块、十位显示模块。详细分析如下:计数模块的个位可以用 1 个十进制计数器表示。计数模块的十位可以用 1 个十进制计数器表示。频率计的计数模块主要来实现频率计数器内部的计数功能,计数器的内部计数信号 clk 和频率计数器的使能信号 enable. 频率计数器的计数模块的输出信号就是个位 sec,十位 sec10电路图如下:图 5十进制计数器,它的输入端口主要包括使能端口 enable 计数输入端口 clk, 输出端口主要包括计数输出端口 q 和进位输出端口 cout.4.2计数模块的程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count10 ISPORT(enable:IN STD_LOGIC;clk:IN STD_LOGIC;cout:out STD_LOGIC;