基于FPGA的数字秒表的设计_第1页
基于FPGA的数字秒表的设计_第2页
基于FPGA的数字秒表的设计_第3页
基于FPGA的数字秒表的设计_第4页
基于FPGA的数字秒表的设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文(设计)题目基于FPGA的数字秒表的设计学生姓名庞建铿学 号2008110241系 名 物理与电子信息工程系专业年级2008级(1)班指导教师许发翔职 称 助教单位 百色学院辅导教师职 称单位完成日期2012年05月20日目录百色学院本科毕业论文(设计)任务书I百色学院本科毕业论文(设计)开题报告II百色学院本科毕业论文(设计)中期自查表V摘要1关键字1Abstract1第一章 绪论21.1课题背景21.2硬件描述语言VHDL31.2.1 VHDL的简介31.2.2 VHDL语言的特点41.2.3 VHDL的设计流程41.3数字秒表设计的要求51.4数字秒表设计的目的5第二章 设计思想与方法论证52.1设计思想52.1.1方案一:采用74LS163和CD4046设计秒表62.1.2方案二:基于单片机的数字秒表的设计62.1.3方案三:基于FPGA的数字秒表的设计62.2论证分析7第三章 系统设计73.1 系统的总体设计83.2 FPGA内部各单元模块设计与仿真93.2.1分频电路模块93.2.2去抖电路模块103.2.3计数电路模块123.2.4译码显示电路模块13第四章 硬件模块介绍144.1 FPGA的简介144.2 CD4511的简介15第五章 硬件调试165.1 Quartus II的简介165.2 硬件电路的设计与调试175.2.1手工检测185.2.2程序检测185.2.3电路组装与调试195.3软件调试195.4注意事项195.4.1在FPGA芯片上调试过程195.4.2程序检测195.5系统性能测试205.5.1测试内容205.5.2实现功能205.6调试过程发现的问题与解决方法20结论21致谢22参考文献23附录一:数字秒表实物图24附录二:数字秒表源程序25百色学院本科毕业论文(设计)诚信保证书30百色学院本科毕业论文(设计)任务书题目名称基于FPGA的数字秒表的设计学生姓名庞建铿所学专业电子信息工程班 级电本08级1班指导教师姓名许发翔所学专业电子科学与技术职 称助教完成期限15周1.毕业论文(设计)主要内容或主要技术指标本题目要求学生使用FPGA芯片设计的数字秒表。FPGA是一种新兴的高密度大规模可编程逻辑器件,它具有门阵列的高密度和PLD器件的灵活性和易用性,目前已成为一类主要的可编程器件。FPGA器件作为系统控制的核心,其灵活的现场可更改性,可再配置能力,对系统的各种改进非常方便,在不更改硬件电路的基础上还可以进一步提高系统的性能。基本要求:在PC机上以Quartus II 软件为设计平台,运用VHDL硬件描述语言在实验开发板上实现秒表的整体设计。计数字秒表计时范围为0. 1秒12小时,首先需要获得一个比较精确的计时基准信号,这里是周期为1/10 s的计时脉冲。其次,除了对每一计数器需设置清零信号输入外,还需在6个计数器设置时钟使能信号,即计时允许信号,以便作为秒表的计时起停控制开关。因此秒表可由1个分频器、4个十进制计数器 (1/10秒、1秒、1分、1时)以及3个六进制计数器(10秒、10分、10时)组成,(注意:制作实物,元件费及论文打印费个人自理)2.毕业论文(设计)基本要求(1)认真做好文献查阅工作;(2)认真学习相关电子设计软件,并熟练操作;(3)文章应用多用图形、图表、公式、数据、过程等来体现内容;(4)认真撰写论文。要按学科标准和论文写作要求规范地撰写论文,要独立自主的完成,坚决杜绝弄虚作假、抄袭剽窃等现象; (5)认真填写百色学院本科毕业论文(论文)进展情况记录表(学生用)、百色学院本科毕业论文(设计)中期自查表(学生用)、百色学院本科毕业论文(设计)答辩提纲(学生用)等文件。3.毕业论文(设计)进度安排(1)2011年12月下旬:做好课题调研工作,查阅相关文献,初步制定实验方案,撰写开题报告,进行开题答辩;(2)2012-01至2012-03 实验阶段。围绕所研究课题,对实验方案进行论证和修改,进行实验,并于3月底撰写出毕业论文初稿。(3)2012-4至2012-05 补充必要的实验,对论文进行修改。(4)2012-05至2012-06 修改论文,答辩。答辩后根据答辩专家组意见再修改,提交最终版。指导教师签名:许发翔 2011 年 12 月 12 日百色学院本科毕业论文(设计)开题报告学号2008110241学生姓名庞建铿系 名物理与电信工程系专业年级电子信息工程08级指导教师许发翔职称助教论文(设计)题目基于FPGA的数字秒表的设计一、本论题课题背景及研究意义:课题背景:当前电子系统的设计正朝着速度快,容量大,体积小,质量轻,用电省的方向发展。推动该潮流迅速发展的决定性因素就是使用了现代化的EDA设计工具。EDA是电子设计自动化(Electronic Design Automation)的缩写,是90年代初,从CAD(计算机辅助没计)、CAM(算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术就是以计算机为工具,在EDA软件平台上,对以硬件描述语言VHDL为系统逻辑描述手段完成的设计文件自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑行局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式,即利用硬件描述语言来完成对系统硬件功能的描述,在EDA工具的帮助下就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。EDA技术中最为瞩目的功能,即最具现代电子设计技术特征的功能就是日益强大的逻辑设计仿真测试技术。EDA仿真测试技术只需通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,在完成实际系统的安装后还能对系统上的目标器件进行所谓边界扫锚测试。这一切都极大地提高了大规模系统电子设计的自动化程度。另一方面,高速发展的CPLD/FPGA器件又为EDA技术的不断进步奠定可坚实的物质基础。CPLD/FPGA器件更广泛的应用及厂商间的竞争,使得普通的设计人员获得廉价的器件和EDA软件成为可能。现代的EDA工具软件已突破了早期仅能进行PCB版图设计,或类似某些仅限于电路功能模拟的、纯软件范围的局限,以最终实现可靠的硬件系统为目标,配备了系统设计自动化的全部工具。如配置了各种常用的硬件描叙平台VHDL、Verilog HDL、ABEL HDL等;配置了多种能兼用和混合使用的逻辑描述输入工具,如硬件描述语言文本输入法(其中包括布尔方程描述方式、原理图描述方式、状态图描述方式等)以及原理图输入法、波形输入法等;同时还配置了高性能的逻辑综合、优化和仿真模拟工具。研究意义:理论意义:随着人们生活水平的日益提高,社会体系日益完善,人们对于工作应用器材的要求也越来越高。秒表做完日常生活中,应用特别广泛,精确且方便的秒表就成为越来越多的人的选择。本次设计的数字秒表是基于FPGA芯片,利用VHDL语言来编译的,具有开关、时钟和显示功能,其体积小,携带方便。其理论意义在于通过该课题的学习,理解FPGA的概念、数字秒表的组成结构、设计步骤、实现方法、应用领域,理解FPGA的应用、编程方法和VHDL的学习。现实意义:秒表是一种常见的计时工具,种类比较多。这里用EDA技术设计一种基于FPGA 的数字秒表。它可以为用户提供了传统的PLD技术无法达到的灵活性,带来了巨大的时间效益和经济效益,是可编程技术的实质性飞跃。FPGA还是有其具大的优势比如它的高速性。同时通过本课题的研究,掌握数字秒表用FPGA实现得理论设计方法,学会分析。掌握在FPGA开发环境和实现数字秒表的方法和步骤,有利于我更好地掌握数字秒表在FPGA上的实现方法,提高我学习FPGA和应用FPGA的兴趣与水平。二、毕业论文(设计)研究内容、拟解决的主要问题:研究内容:设计一款基于VHDL的数字秒表,设计师在开发软件Quartus II进行输入编译、仿真,运用VHDL硬件描述语言在实验开发板上实现秒表的整体设计,实现了闹钟系统计时、报警等功能。数字秒表计时范围为0. 01秒12小时,首先需要获得一个比较精确的计时基准信号,这里是周期为1/100s的计时脉冲。其次,除了对每一计数器需设置清零信号输入外,还需在6个计数器设置时钟使能信号,即计时允许信号,以便作为秒表的计时起停控制开关。因此秒表可由1个分频器、4个十进制计数器 (1/10秒、1秒、1分、1时)以及3个六进制计数器(10秒、10分、10时)组成解决的问题:1.计算器的设计功能:(1)计时器能显示1/100s的时间,时钟脉冲频率是1KHz;(2) 计时器计时长度是0.01秒到12小时;(3)设置有复位和启/停开关,可以进行复位和控制计时进程。2、设计基于VHDL的1/100s计时器,要求:(1)阅读EDA,FPGA,VHDL数字登录的相关的论文,系统地了解用VHDL设计数字秒表的相关知识、原理、步骤、目的、意义。(2)掌握数字秒表设计的步骤,系统逻辑功能的确定系统的描述算法的设计电路结构的选择电路的实现。(3)掌握Quartus II软件平台的应用和操作,学会用软件设计并模拟仿真电路,按照要求实现的功能去设计数字秒表。3.拟采用的研究方法用VHDL设计1/100s计时器,采用以下研究方法:(1) 确定系统的逻辑功能,建立算法流程,选择电路结构,确定设计电路所需要的数据处理和控制模块。(2) 在Quartus II软件平台采用图形输入和文本输入混合方式建立描述文件,图形输入表明系统的组成,并给出各模块的连线关系,文本输入确定各个模块的端口和功能。(3)用编译器将顶层图形输入文件和VHDL输入文件结合并编译,模拟仿真校验设计后,生成设计文件。三、毕业论文(设计)研究方法、步骤及措施:1、 做好毕业设计的准备工作,网上查阅有关设计所需资料,图书馆查阅有关书籍,请教指导老师做好毕业设计的初步准备工作。2、 明确毕业设计的制作流程,清楚毕业设计的工作原理,如:系统逻辑功能,算法流程,数据处理与控制,VHDL设计等的工作原理;对VHDL程序设计进行学习,写出设计需要的程序,学习在设计过程中使用的仿真软件,如:Quartus II等软件。利用计算机等工具画出毕业设计的电路图,写出设计当中用到的程序,进行电路仿真,并进行调试。做好实验的数据,材料等。3、 在上述步骤后,按以下的方案进行毕业设计的实施。第一阶段:2011年月11月20日前毕业设计(论文)题目上报指导老师。第二阶段:2011年月11月30日前接受毕业设计任务书,学习毕业设计(论文)要求及有关规定,收集资料、开始撰写开题报告。第三阶段:2011年12月5日前上交开题报告,由指导老师审阅。第四阶段:2012年4月1日前利用Quartus II编写程序,完成元器件的购买,收集资料,开始设计并撰写论文,初稿完成。第五阶段:2012年4月20日至2012年5月上旬用不同方式与指导老师交流,沟通毕业设计进展情况。第六阶段:2012年5月20日完成并提交正式毕业设计成果。四、主要参考文献:1 潘松,黄继业,EDA技术与VHDLM北京:清华大学出版社,20092 谭会生等.EDA技术基础M.长沙:湖南大学出版社.20043 卢毅,赖杰. VHDL 与数字电路设计 M .北京:科学出版社, 20014 汉泽西等编著.EDA技术及应用M.北京:北京航空航天大学出版社,2004 5 谭会生,张昌凡.EDA技术及应用M.西安:电子科技大学出版社,2001是否可以进入论文(设计)研究:指导教师签名:年 月 日是否可以进入论文(设计)研究:系主任签名:年 月 日百色学院本科毕业论文(设计)中期自查表系 名物理与电信工程系年 级08级专 业电子信息工程本人投入的时间和精力每周平均工作 10 小时,出勤情况:较好( )、一般( )、差( )。影响时间投入的原因:找工作( )、自身水平( )、其他原因 考研复习 。指导教师的投入指导教师每周指导 1 次,大约 1 小时;指导形式:网络( )、电话( )、面对面( )、其他 ;指导效果: 好( )、 较好( )、一般( )、 差( )。毕业论文(设计)工作情况是否能按任务书的“进程安排”完成工作:是( )、否( ),已完成内容占全部工作 50 。你的论题是:自选( )、专业安排( )、跨专业( )。论题是否结合专业(是)、难度(适当)、工作量(一般)。自己对毕业设计(论文)文件规范的学习情况:已了解( )、部分了解()、不清楚( )。条件保障试验设备和器材是否得到保证:是( )、否( )。学校提供的图书资料是否满足需要:是( )、一般( )、否( )。学校计算机上机条件:好( )、较好( )、不好( );约需 机时。经费来源:学校( )、个人( )、尚无需要( )。存在问题及整改思路论文初稿才开始做,没花足够时间深研,实物和软件仿真还未完成,没有体现FPGA在实验中的应用,对FPGA在数字秒表的应用不是很了解,而且缺乏实例跟图形,相关的文献跟期刊也不多。 继续查阅大量相关资料,并积极和师兄,师姐,老师联系,认真听取师兄,师姐,老师的建议,做好软件仿真跟硬件设计,完善论文的撰写。 学生签名: 年 月 日指导教师签名: 年 月 日基于FPGA的数字秒表的设计电子信息工程2008110241 庞建铿 指导老师 许发翔摘要:EDA技术作为电子工程领域的一门新技术,极大的提高了电子系统设计的效率和可靠性。该设计就是基于FPGA在Quartus II软件下利用VHDL语言结合硬件电路来实现数字秒表的功能,采用ALTRA公司CycloneII系列的EP2C5T144C8N芯片进行仿真,并给出仿真结果。数字秒表有4个主要模块,分别是分频电路,去抖电路,计时电路,显示电路。用VHDL语言编程来实现各个模块的功能,再用例化来实现各模块的连接,从而实现整个数字秒表的功能。该电路能够实现计时功能,计时精度高,电路简单。关键字:FPGA;EDA;VHDL;Quartus II;数字秒表The design of digital stop watch based on FPGAAbstract: EDA technology as electronic engineering of a new technology, greatly enhancing the electronic system design efficiency and reliability. The design is based on FPGA in Quartus II of VHDL language software with the hardware circuit to realize the function of digital a stopwatch, the company CycloneII ALTRA series of EP2C5T144C8N chips for simulation, and the simulation results are given. Digital stopwatch there are five main modules, respectively is points frequency circuit, to shake circuit, timing circuit, control circuit, show circuit. With VHDL language programming to realize the function of each module of, again cases to achieve each module of the connection, and make the digital stopwatch function. This circuit can achieve good timing function, timing precision is high.Key Words:FPGA;EDA;VHDL;Quartus II;Digital stop watch 第一章 绪 论数字秒表是日常生活中比较常见的电子产品,其设计也是EDA技术中重要的设计之一1。EDA是20世纪90年代初以来迅速发展起来的现代电子工程领域的一门新技术。它以可编程逻辑器件(PLD)为载体,以计算机为工作平台,以EDA工作软件为工作环境,以硬件描述语言(VHDL)为电子系统功能描述方式,以电子系统设计为应用方向的电子产品自动化设计过程。在当今以数字化和网络化为特征的信息技术革命大潮中,电子技术得到了飞速发展,现代电子产品渗透到了社会的各个领域。现代电子产品的性能进一步提高,功能越来越复杂,集成化智能化程度越来越高,更新换代的节奏越来越快,开发风险越来越大,而且向着功能多样化,体积小型化,功耗最低化的趋势发展。所有这些都给电子系统的设计带来了前所未有的压力,唯一的出来就是熟练掌握EDA技术,并获得其有力支持。EDA技术的出现,极大的提高了电子系统设计的效率和可靠性,减轻了设计者的劳动强度,EDA是电子产品开发研制的动力源和加速器,是现代电子技术的核心。随着基于PLD的EDA技术的发展和应用领域的扩大和深入,它在电子信息,通信工程,自动控制及计算机应用等领域的重要性日益突出。随着电子技术与计算机技术的发展,熟练掌握和应用EDA技术已成为电子类及相关专业学生不可或缺的一项技能,。本文介绍的数字秒表,利用基于VHDL的EDA设计工具,采用大规模可编程逻辑器件FPGA,通过设计芯片来实现系统功能。给出了顶层电路图,和各模块的设计.增加了消除抖动的控制方法,消除了开关按键的机械抖动.通过编辑、编译和器件编程, 并通过编程器将引脚下载到ALTRA公司CycloneII系列EP2C5T144C8N芯片进行仿真,经实际电路测试验证,达到了预期的设计要求,显示结果基本准确。本次设计突出应用性,以加强工程实践能力和工程设计能力2。1.1课题背景当前电子系统的设计正朝着速度快,容量大,体积小,质量轻,用电省的方向发展。推动该潮流迅速发展的决定性因素就是使用了现代化的EDA设计工具。EDA是电子设计自动化(Electronic Design Automation)的缩写,是90年代初,从CAD(计算机辅助没计)、CAM(算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术就是以计算机为工具,在EDA软件平台上,对以硬件描述语言VHDL为系统逻辑描述手段完成的设计文件自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑行局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作2。设计者的工作仅限于利用软件的方式,即利用硬件描述语言来完成对系统硬件功能的描述,在EDA工具的帮助下就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。EDA技术中最为瞩目的功能,即最具现代电子设计技术特征的功能就是日益强大的逻辑设计仿真测试技术。EDA仿真测试技术只需通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,在完成实际系统的安装后还能对系统上的目标器件进行所谓边界扫锚测试。这一切都极大地提高了大规模系统电子设计的自动化程度。另一方面,高速发展的CPLD/FPGA器件又为EDA技术的不断进步奠定可坚实的物质基础。CPLD/FPGA器件更广泛的应用及厂商间的竞争,使得普通的设计人员获得廉价的器件和EDA软件成为可能。现代的EDA工具软件已突破了早期仅能进行PCB版图设计,或类似某些仅限于电路功能模拟的、纯软件范围的局限,以最终实现可靠的硬件系统为目标,配备了系统设计自动化的全部工具。如配置了各种常用的硬件描述平台VHDL、Verilog HDL、ABEL HDL等;配置了多种能兼用和混合使用的逻辑描述输入工具,如硬件描述语言文本输入法(其中包括布尔方程描述方式、原理图描述方式、状态图描述方式等)以及原理图输入法、波形输入法等;同时还配置了高性能的逻辑综合、优化和仿真模拟工具3。1.2硬件描述语言VHDL1.2.1 VHDL的简介VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为A I/IEEE的标准(IEEE STD 1076-1987)。1993年更进一步修订,变得更加完备,成为A I/IEEE的A I/IEEE STD 1076-1993标准。目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL语言将承担起大部分的数字系统设计任务4。1.2.2 VHDL语言的特点VHDL的程序结构特点是将一项工程设计,关于用VHDL和原理图输入进行CPLD/FPGA设计的粗略比较:在设计中,如果采用原理图输入的设计方式是比较直观的。你要设计的是什么,你就直接从库中调出来用就行了。这样比较符合人们的习惯。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。(1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2) VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3) VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4) 对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。1.2.3 VHDL的设计流程它主要包括以下几个步骤:(1) 文本编辑:用任何文本编辑器都可以进行,也可以用专用的VHDL编辑环境。通常VHDL文件保存为.vhd文件。(2) 功能仿真:将文件调入VHDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)(3) 逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。逻辑综合软件会生成.edf或.edif 的EDA工业标准文件。(4) 布局布线:将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放PLD/FPGA内。(5) 时序仿真:需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。(也叫后仿真) 通常以上过程可以都在PLD/FPGA厂家提供的开发工具。(6) 器件编程1.3 数字秒表的设计的要求设计一个基于FPGA的数字秒表的具体化技术指标如下:(1) 能对0秒12小时范围进行计时;(2) 计时精度达到10ms;(3) 设计复位开关和启停开关,复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。(4)用FPGA器件实现,用VHDL语言编程,并进行下载,仿真。1.4数字秒表设计的目的本次设计的目的就是在掌握VHDL语言的基础上,了解EDA技术,掌握状态机工作原理,同时了解计算机时钟脉冲是怎么产生和工作的。在掌握所学的计算机组成与结构课程理论知识时。通过对数字秒表的设计,进行理论与实际的结合,提高与计算机有关设计能力,提高分析、解决计算机技术实际问题的能力。通过毕业设计深入理解计算机结构与控制实现的技术,达到课程设计的目标。第 二 章 设计思想与方法论证实现数字秒表的方法有多种,可以用单片机作为控制芯片,采用AT89C52单片机,数字显示采用共阳七段LED显示器。也可以用FPGA作为控制芯片,采用EDA技术用VHDL语言实现硬件电路。当然每一种方案都有其各自的优点。本章列举、说明了三种不同实现数字秒表的方案,对两种方案的优缺点进行了对比,选出了最佳方案。2.1 设计思想2.1.1 方案一:采用74LS163和CD4046设计秒表 晶体振荡器电路给数字秒表提供一个频率稳定准确的方波信号,可保证数字秒表的走时准确及稳定。不管是指针式的秒表还是数字显示的秒表豆使用了晶体振荡器的方波信号经过D触发器二分频得到秒信号供秒计算器进行计数。分频器实际上也就是计算器。时间计数电路由0.01秒,0.1秒,秒的个位,秒的十位,分的个位,分的十位,时的个位,时的十位计算器电路构成,其中0.01秒,0.1秒构成100进制,秒的个位跟秒的十位构成60进制,分的个位和分的十位构成60进制。时间计算器由74LS163组成,译码驱动电路将计算器数钱的8421BCD码转换成数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。数码管通常有发光二极管数码管和液晶数码管,本设计提供的是发光俄二极管。2.1.2 方案二:基于单片机的数字秒表的设计本方案采用AT89C52单片机,单片机的P1口杰数码管显示电路,P0口杰键控数码管的显示,P2.0口接入整点报时电路,RESET接入复位和晶振电路。该电路能否成功,关键在于诚信的编写而对元器件的要求不搞。用C语言编写的数字秒表电路,采用分支结构编写,利用跳转指令与大量的中断指令,当按键扫描没有按键按下是,程序正常计数,当检测到有按键按下是,程序运转到相应的中断程序进行响应处理,从而实现了分支程序的处理。2.1.3.方案三:基于FPGA的数字秒表的设计其设计思路为:通过分频器将晶振所提供的信号分频成0.01S脉冲作为计时信号,经计数器累加计数,形成一百进制的计数器,六十进制的计数器的计数器。经译码器译码后,分位输出给八个7段LED数码管显示。设计采用八位LED数码管显示时,分、秒,0.1s,0.01s计时方式。使用按键开关可实现开始/结束计时操作,及复位清零操作和计时长度模式选择。一设计要求(秒表的功能描述)(1)要求设置复位开关。当按下复位开关时,秒表清零并做好计时准备。在任何情况下只要按下复位开关,秒表都要无条件地进行复位操作,即使是在计时过程中也要无条件地进行清零操作。(2)要求设置启/停开关。当按下启/停开关后,将启动秒表并开始计时,当再按一下启/停开关时,将终止秒表的计时操作。(3)要求计时精确度大于0.01秒。要求设计的计时器能够显示时(2位),分(2位)、秒(2位)、0.1秒(1位),0.01秒的时间。二秒表的面板包括:(1) 显示屏:由8个7段数码管组成,用于显示当前时间(2) QT(启/停键):用于开始/结束计时操作.(3) CLR(复位键):用于秒表计时系统的复位操作(4) CD4511:用于数码管译码。2.2 论证分析课题的角度来说可以选用硬件电路,单片机和FPGA芯片作为系统的MCU,从优势上硬件电路所用的元器件便宜,不过电路较复杂,调试较难。而利用单片机作为控制系统的核心元器件,其最大的优势是电路简单,价格便宜,实验所需仪器少。而FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可在有现成的条件下,FPGA还是有其具大的优势比如它的高速性,让我们更清楚地认识到硬件的性能及硬件描述语言对硬件的驱动。FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。所以本方案选用以FPGA作为核心器件来设计。第三章 软件设计与仿真整个系统软件设计是采用自顶向下分析,自底向上设计。将数字秒表系统的整体分解为各个模块电路。本章详细介绍了数字秒表系统的各个模块的设计,并对各个模块的每一个部分进行了分析,在后半部分还对系统模型进行了访真与程序调试。各模块之间的每一个坏节都是深思熟虑而成,各自完成相应的功能并组成一个统一的整体。3.1系统的总体设计数字秒表的顶层电路图及时序分析采用硬件描述语言设计一个复杂电路系统,其中包括时钟分频模块、按键去抖模块、计数模块、显示模块四个主要部分,运用自顶向下的设计思想,将系统按功能逐层分割的层次化设计方法。在顶层设计中,要对内部各功能块的连接关系和对外的接口关系进行描述,而功能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。 本系统设计采用自顶向下的设计方案,根据数字秒表的系统原理框图如图3.1.1,设计系统的顶层RTL电路图如图3.1.2所示。根据图所示的数字秒表系统顶层电路图, 按照自顶向下的设计思路, 编写各个模块的源程序, 最后再对各个模块进行组合, 编写顶层描述的源程序5。FPGACLK输入按 键按键消抖处理分频电路计 时 电 路主控电路七段数码管译码电路七段数码管显示图3.1.1 数字秒表原理框图图3.1.2 数字秒表的顶层RTL电路图3.2 FPGA内部各单元模块设计与仿真3.2.1分频电路模块的设计在基于EDA技术的数字电路系统设计中,分频电路应用十分广泛。常常使用分频电路来得到数字系统中各种不同频率的控制信号。所谓分频电路,就是将一个给定的频率较高的数字输入信号经过适当处理后,产生一个或数个频率较低的数字输出信号。分频电路本质上是加法计数器的变种,其计数值有分频常数N=fin/fout决定,其输出不是一般计数器的计数结果,而是根据分频常数对输出信号的高,低电平控制。本设计需要一个计时范围为0.01秒12小时的秒表,首先需要获得一个比较精确的计时基准信号,这里时周期为1/100 s的计时脉冲,所以采用一个标准时钟信号源1KHZ经分频后获得一个精确的100HZ的脉冲。其软件设计的流程图如图3.2.1.1所示:开始1KHz CLK输入设置中间变量CNTERCLK上升沿到来CNTER9?YNCNTER=0,NEWCLK=1CNTER=CNTER+1结束图 3.2.1.1 分频电路模块流程图分频电路模块模块的外部端口如下图3.2.1.2所示:图3.2.1.2 分频外部端口各端口的作用如下:CLK:外部时钟输入端。NEWCLK:分频后的时钟输出端。当外部时钟1KHz经过分频器分成100Hz,由NEWCLK输出新的时钟信号。其仿真波形如图3.2.1.3所示:图3.2.1.3 分频电路模块波形仿真图由图,我们可以知道:当CLK经过10个周期后,NEWCLK产生一个有效的正跳变,形成一个进位。3.2.2去抖电路模块秒表面板上有2个按键:CLR键,QT键。因为设计采用的是机械式的按键,由于存在机械触动的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会马上断开。因而在闭合及断开按键的瞬间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5-10ms 。按键的闭合稳定时间的长短由操作人员的按键动作决定,一般为零点几秒至数秒。按键抖动会引起被误读多次。为确保FPGA对键的闭合仅作一次处理,必须去除按键抖动。通常在按键较少时可用硬件方法消除抖动,一般采用RS触发器作为常用的消抖电路,如果按键较多时,常用软件消除抖动。在EDA的设计应用中,软件消抖的方法即可使用RS触发器进行消抖,也可通过检测按键按下的时间进行消抖。其软件设计的流程图如图3.2.2.1所示:输入初始值CLK,CLR,ENA设置中间变量A,B,CCLK上升沿到来A=DIN; B=A; C=B结束QOUT=A|B|C开始图3.2.2.1 去抖模块流程图 去抖模块的外部端口如图3.2.2.2所示:图3.2.2.2 去抖模块外部端口图各端口的作用如下:CLK:时钟输入端。DIN:按键输入端。QOUT:去抖后按键稳定输出端。其仿真波形如图3.2.2.3所示:图3.2.2.3 去抖模块电路仿真波形图由图可知:当按键持续时间大于3个时钟周期,QOUT才可能产生有效的正跳变,输出一个单脉冲。3.2.3计数电路模块在数字秒表系统中要用到各种计数器。计数器是在数字系统中使用最多的时序电路,它不仅能用于对时钟脉冲计数,还可以用与分频,定时,产生节拍脉冲和脉冲序列以及进行数字运算等。计数器的原理是将几个触发器按照一定的顺序连接起来,然后根据触发器的状态按照一定的规律随时钟的变化来记忆时钟的个数。常用的计数方法有:同步计数器、可逆计数器、异步计数器6。在本次设计中,采用异步计数器的方法,用硬件描述语言描述一个异步计数器,将低/高位计数器的输出作为高/低位计数器的时钟信号,在本设计中要用到10进制跟6进制组合形成两个100进制计数器,两个60进制计数器。其6进制模块的流程图如图3.2.3.1所示:输入初始值CLK,CLR,ENA设置中间变量CQICQI=0CLK上升沿到来和ENA=1结束CLR=1?YNCQI=5?NCQI=CQI+1YCQI=0开始CQI=0?NCARRY_OUT=0YCARRY_OUT=11212图3.2.3.1 6进制模块的流程图6进制模块的外部端口图如图3.2.3.2所示:图3.2.3.2 6进制模块的外部端口图各端口的作用如下:CLK:时钟信号输入端。CLR:清零信号输入端。ENA:使能信号输入端。CQ 30:数码管驱动4输入端。CARRY_OUT:进位输出端。当CLR为高电平时,说明清零按键被按下,计数器清零。当ENA为高电平时,说明使能按键被按下,计数器开始运行。计数器的数字通过CQ30输入CD4511去驱动数码管显示出来,当计数器大于5时,CARRY_OUT 产生一个进位。其仿真波形图如图3.2.3.3所示:图3.2.3.3 6进制模块的仿真波形图由图可知:当CLR为低电平,ENA为高电平,在时钟信号输入下,计数器正常运行。当CQ30为5时,CARRY_OUT产生一个进位。10进制模块的原理与6进制相同,其外部端口如图3.2.3.4所示:图 3.2.3.4 10进制模块的外部端口图其端口作用与6进制相同,只不过是CQ30计数值大于9,CARRY_OUT才产生一个有效的进位。10进制模块的仿真波形图如图3.2.3.5所示:3.2.4 译码显示电路模块在数字电路系统中,人们常常需要将数字电路中表示数字、文字、符号的二进制代码翻译成人们习惯的形式,并且使其直观地显示出来以便直接读数。为了能够直观地显示数字电路系统中的有关数据,人们常常使用一种被称为七段数码管。七段字符显示器的基本原理是将所要显示的数字翻译成构成该电路中可发光二极管的驱动信号,因此也可以将其视为一种译码电路。常见的七段字符显示器有四个输入信号A0、A1、A2和A3,用来表示0000到1111,即表示十六进制中的0到F;同时它有七个输出信号,分别用A、B、C、D、E、F、G来表示,决定可发光二极管的状态。一般规定,输出信号为1时表示它所控制的可发光二极管为点亮状态;输出信号为0时表示它所控制的可发光二极管为熄灭状态。在本次设计中我将采用数码管静态显示电路的来设计,其中7段数码管显示器由7根显示数码管组成,对每一码管,用一位二进制表示。若该数码管的为共阴极数码管,则该位为1时,表示此数码管发光,如为0,表示此数码管不发光,对7个数码管进行编号。共阳极数码管则正好相反。显示译码电路:将用于显示BCD码数据进行译码,计时电路的结果的8位BCD码输出端Q经外部的译码电路后用于选择对应计时结果显示数码管的公共端。 第 四 章 硬件模块介绍4.1 FPGA的简介FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:(1) 采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 (2) FPGA可做其它全定制或半定制ASIC电路的中试样片。(3) FPGA内部有丰富的触发器和IO引脚。(4) FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。(5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的CYCLONE系列等。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。 FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。因此在此次设计中我选用的是ALTERA公司的Cyclone II系列的EP2C5T144C8N7。4.2 CD4511的简介在本次设计中,我采用CD4511作为数码管的译码芯片。CD4511是一个用于驱动共阴极数码管(显示器)的BCD码七段码译码器,其特点是:具有BCD转换、消隐和锁存控制、七段译码及驱动功能,可直接驱动LED显示器。其功能介绍如下:BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。 LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。 LE:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。 A、B、C、D为8421BCD码输入端。 a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效6。 其工作真值表如图4.2.2所示。图4.2.2 CD4511工作真值表第 五 章 硬件调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论