- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
青海师范大学毕业论文
基于CPLD的三位数字周期测试仪设计
系 别: 物理系
专 业: 电子信息工程
班 级: 06级(3)班
学生姓名: 杨福成
学 号: 20061713035
指导教师姓名、职称:郭海青(教授)
最后完成时间: 2010 年 5 月 10 日
基于CPLD的三位数字周期测试仪设计
摘 要
三位数字周期测试仪是用三个十进制数字显示的数字式周期计。测量原理是应用电子计数法来测量电信号的周期。本设计应用现代的EDA技术,采用CPLD器件为硬件实现的目标器件,以VHDL硬件描述语言为该系统逻辑描述的主要表达方式,以MAX+plusII为开发平台,完成三位数字周期测试仪设计,经仿真,所设计的周期测量仪达到了设计要求。
关键词:周期测量;计数法;VHDL;MAX+PLUSII;仿真
Abstract
The three-digit cycle tester is three decimal figures using digital period meter.The following figures cycle meter design is a complex programmable logic device, through the VHDL language program in the MAX + PLUSII debugging software platform to run the hardware tests done again, used to measure the unknown input signal the number of cycles, and can directly readwhichever number of cycles.
Keywords: three decimal programming logic VHDL MAX + PLUSII
1 设计任务
应用电子计数法,设计基于CPLD的三位数字周期测试仪,其设计要求为:
(1)测量电信号的周期范围 1ms~1s
(2)标准信号频率 1KHz
(3)测量信号波形 TTL电平方波
(4)输入系统的时钟信号频率为250KHz
2 设计原理
系统可编程技术(ISP—In System Programming)及其在系统可编程系列器件,是90年代迅速发展起来的一种新技术和新器件。现场可编程器件(FPGA和CPLD)等ISP器件无须编程器,利用器件厂商提供的编程套件,采用自顶而下的模块化设计方法,使用原理图或硬件描述语言(VHDL)等方法来描述电路逻辑关系,可直接对安装在目标板上的器件编程。它易学、易用、简化了系统设计,减小了系统规模,缩短设计周期,降低了生产设计成本,从而给电子产品的设计和生产带来了革命性的变化。
图1是应用计数器测量电信号周期的原理框图。由于被测信号为周期范围为1ms—1s的符合TTL电平的方波,所以无需对待测信号进行处理。标准时钟信号周期为Tc(1Khz)加于主门输入端,被测信号经2分频器送入主门,此时的高电平持续时间即为待测信号的周期,在待测信号的周期内计数器对标准时钟信号计数,如计数值为N时,则待测信号的周期为Tx=NTc,当Tc一定时,计数结果可直接表示Tx的值。例如Tc=1ms,N=120时,则Tx=120ms。计数值N经锁存、译码后,由LED七段显示器显示周期值。
图1 基于CPLD的三位数字周期测试仪框图
3 单元电路设计
3.1 10进制计数器设计
3.1.1 原理
计数器是用来累计和寄存输入脉冲个数的时序逻辑部件,它是数字系统中用途最广泛的基本部件之一,几乎在各种数字系统中都有计数器。它不仅可以计数,还可以对某个频率的时钟脉冲进行分频,以及构成时间分配器或时序发生器,从而实现对数字系统进行定时、程序控制的操作,此外还能用它执行数字运算。
该计数器在用VHDL设计时,可以直接定义成一个整型数据类型,这样计数器计数(即加1)就十分方便,只要使用语句“计数器=计数器+1;”就可以。但是这个计数值要作为显示输出,就要将这个计数器用个位、百位、十位分开表示,而且要遵循加法“逢一进十”的规则。这样可以直接通过7段译码器进行显示。
3.1.2 源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY jsq10 IS
PORT(CLK,RST: IN STD_LO
文档评论(0)