1、 - 1 - # 毕业设计 (论文 )说明书 作者 # 学号 1# 系部 电子 #系 专业 EE 题目 基于 CPLD 的脉冲计数器的设计 指导教师 XX 评阅教师 XX 完成时间: 2010 年 3 月 10 日 - 2 - 毕业设计 (论文 )中文摘要 (题目 ): 基于 CPLD的脉冲计数器设计 摘要 : 介绍了用 CPLD+HDL 的 EDA 技术作为开发手段,实现对 16 通道脉冲信号计数的脉冲计数器的设计。该方法具有设计周期短,内部电路模块可移植的特点,解决了以往数字电路小规模多器件组合的设计瓶颈,经实际电路测试,该系统性能可靠。 关键词: 脉冲计数器; CPLD; VHDL;波形
2、仿真 - 3 - 毕业设计 (论文 )外文摘要 Title : Design of pulse counter based on CPLD Abstract: The design of a pulse counter to 16 channels pulse with EDA Technology of CPLD+VHDL is presented in the paper. The circuit Is different from the traditional digital circuit design composed Of many small scale devices. Fu
3、rthermore ,the circuit design Cycle is short , and parts of the circuit are transplantable Comparing with others .Practical circuit testing shows that The system is reliable. Key words: pulse counter; CPLD; VHDL; wave-shape simulating - 4 - 目 录 1 序言 . 5 2 CPLD 芯片及 VHDL 语言介绍 . 5 2.1 CPLD 芯片介绍 . 5 2.1
4、.1 概述 . 5 2.1.2MAX7000 特点 . 5 2.1.3 EPM7160S . 7 3 脉冲计数器的设计原理 . 8 3.1 器件特点 . 9 3.2 如何使用 . 10 3.3 计数 器组模块 . 10 3.3.1 计数器作用 . 10 3.3.2 主要的指标 . 10 3.4 控制器模块 . 11 3.4.1 控制器 . 11 3.4.2 主要功能 . 12 3.4.3 控制器模块 . 12 3.5 译码器模块 . 13 3.5.1 译码器概述 . 13 3.5.2 译码器分类 . 13 3.5.3 译码器工作原理 . 14 3.5.4 译码器模块 . 14 3.6 分频器模
5、块 . 15 4 功能仿真与测试 . 16 结论 . 17 致谢 . 17 主要参考文献 . 17 - 5 - 1 序 言 CPLD( Complex Programmable Logic Device )是一种复杂的 用户可编程逻辑器件,由于用连续连接结构,易于预测延时,从而使电路仿真更加准确。利用CPLD 高速、高可靠性、可编程、体积小的特点,采用 CPLD+HDL 的 EDA 开发方案,必将有效解决传统的电子系统中由来 已 久的 设计瓶颈 。脉冲计数器是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生较大的时延,可靠性差。随着复杂可编程逻辑器件的广泛应用,
6、以 EDA 工具作为开发手段,将使整个系统大大简化,提高整体性能和可靠性。 本文选用 Altera 公司的 MAX7000 系列芯片 EPM7160S,实现了对 16 路脉冲进行计数。具有体积小、可靠性高、低功耗、开发周期的特点。 2 CPLD 芯片 及 VHDL 语言介绍 2.1 CPLD 芯片介绍 2.1.1 概述 ALTERA 的 MAX7000 系列 CPLD 提供高性能的逻辑解决方案,密度从 600-10000 个可用门不等( 32-512 个宏单元),同时 MAX7000 系列的同一密度产品还提供多种封装形式,对于各种应用具有相当灵活的适应性。 2.1.2 MAX7000 特点 高
7、性能低功耗 CMOS EEPROM技术 遵循 IEEE Std. 1149.1 Joint Test Action Group (JTAG) ISP circuitry compliant with IEEE Std. 1532 标准 ISP 特性 5 ns pin to pin 延时,最高频率 175.4 MHz - 6 - I/O 接口支持 5V、 3.3V 和 2.5V 等多种电平 PCI 兼容 功能: 本设计采用 EDA 技术,根据图 1所示的脉冲计数器电路图,按照自顶向下的设计思路,先编写各个模块的 VHDL 源程序,然后再对各个模块进行组合,最后编写顶 层描述的 VHDL 源程序。
8、如图 2 所示, 16 位计数器是设计的最低层,而计数器组、译码器、控制器,分频器为设计的第二层,脉冲计数器组装程序为设计的最高层。 复杂可编程逻辑器件 (CPLD)几乎可适用于所有的门阵列和各种规模的数字集成电路,它以其编程方便、集成度高、速度快、价格低等特点越来越受到设计者的欢迎。本设计中选用的 CPLD 为 ALTERA 公司的 EPM7128SLC84-10,属于 MAX7000系列 是工业界速度最快的高集成度可编程逻辑器件。本文中 CPLD开发软件用 MAX+PLUS lI,该软件是一个完全集成化、 易 学 易用的可编程逻辑设计环境。并且广泛支持各种硬件描述语言。它还具有与结构无关性
9、、多平台运行、丰富的设计库和模块化的工具等许多功能特点。本设计中 CPLD 是脉冲发生器设计的核心所在,其内部集成了两组脉冲发生器,具体包括译码器、锁存器和可置数计数器。每组脉冲发生器中有三个 8 位锁存器、一个 16 位可置数计数器和一个 8 位可置数计数器。 CPLD 主要是由可编程逻辑宏单元 (MC, Macro Cell)围绕中心的可编程互连矩阵单元组成。其中 MC 结构较复杂,并具有复杂的 I/O 单元互连结构,可由用户根据需要生成特定的电路结构, 完成一定的功能。由于 CPLD 内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序
10、不完全预测的缺点。 - 7 - 2.1.3 EPM7160S - 8 - 3 脉冲计数器的设计 原理 生产实践中变化着的各种物理量,通过光电、声电、热电、压电等效应转换成电脉冲信号,输人计数器。计数器则通过电路元件本身固有的特殊功能,组成- 9 - 不同的电路状态来表示不同的 “ 数”,将 输入 的脉冲信号,按 数 ” 的关系,一一接收下来,进行传送、运算并通过 数字管显示出来。所以计数器就是把电路不同 稳定状态跟 敷 对应起来用状态的有规律变化表示“数”的规律性变化。 我们习惯于使用十进位计数制如数字仪表,计算机和数控计数器的数字管都是按十进制显示的。但是在电子技术中很难找到一种基本单元电路
11、具有十个不同的状态,用来代表十个数。而两个不同稳定状态的电路则很易找到如双稳态触发器就具有两个稳定状态。因此,通常就将十进制的数“数”编成数字装置容易接受的二进制的数,经数字装置运算后再把二进制的数“翻译”成人们所习惯的十进制的数。 在数字技术中,用符号 0” 和 1” 表示两种对立的状态倒如把输出低电位记为“ 0” 输出高电位记为“ 1”。我们把它叫做“代码”。虽然代码只是一种符号但不同于十进 制 数字运算中的 0, 1 2, 3 。 用代码组合来表示一个 El 的数建项工作口 q 傲 编码”,而编码的方案有好多种 把计数电路所算出的二进制结果,“翻译”成十进制数口 q 做“译码”,由门电路
12、构成的译码器担负着译码任务。 译码以后的十进制数,再通过显示电路和数码管显示出来。 所以一般说来,计数器包括按一定编码要求的计数电路和把二进制数译成十进制数的译码器及把十进制数表示出来的显示器这三个基本部分。 3.1 器件特点 它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产 (一般在 10,000 件以下 )之中。几乎所有应用中小规模通用数字集成电路的场合均可应用 CPLD 器件。 CPLD 器件已成为电子产品不可缺少的
13、组成部分,它的设计和应用成为电子工程师必备的一种技能。 - 10 - 3.2 如何使用 CPLD 是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法 是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。 3.3 计数器组模块 3.3.1 计数器作用 计数器可以用来显示产品的工作状态,一般来说主要是用来表示产品已经完成了多少份的折页配页工作。 3.3.2 主要的指标 在于计数器的位数,常见的有 3位, 4位和 6位的。很显然, 3 位数的计数器最大可以显示到 999, 4位数的最大可以显示到 9999,6 位数的计数器最大可以显示到 999999。 计数器组由 16 个 16位加法计数器组成 。每个 16 位加法计数器结构均相同,单个计数器的 VHDL 语言描述如下: