收藏 分销(赏)

基于FPGA的数字秒表的设计.doc

上传人:人****来 文档编号:3337437 上传时间:2024-07-02 格式:DOC 页数:47 大小:532.54KB 下载积分:12 金币
下载 相关 举报
基于FPGA的数字秒表的设计.doc_第1页
第1页 / 共47页
基于FPGA的数字秒表的设计.doc_第2页
第2页 / 共47页


点击查看更多>>
资源描述
本科毕业论文(设计) 题目 基于FPGA的数字秒表的设计 学生姓名 庞建铿 学  号 系 名 物理与电子信息工程系 专业年级 2023级(1)班 指导教师 许发翔 职  称 助教 单  位 百色学院 辅导教师 职 称 单  位 完毕日期 2023 年 05 月 20 日 目录 百色学院本科毕业论文(设计)任务书 I 百色学院本科毕业论文(设计)开题报告 II 百色学院本科毕业论文(设计)中期自查表 V 摘要 1 关键字 1 Abstract 1 第一章 绪论 2 1.1课题背景 2 1.2硬件描述语言——VHDL 3 1.2.1 VHDL的简介 3 1.2.2 VHDL语言的特点 4 1.2.3 VHDL的设计流程 4 1.3数字秒表设计的规定 5 1.4数字秒表设计的目的 5 第二章 设计思想与方法论证 5 2.1设计思想 5 2.1.1方案一:采用74LS163和CD4046设计秒表 6 2.1.2方案二:基于单片机的数字秒表的设计 6 2.1.3方案三:基于FPGA的数字秒表的设计 6 2.2论证分析 7 第三章 系统设计 7 3.1 系统的总体设计 8 3.2 FPGA内部各单元模块设计与仿真 9 3.2.1分频电路模块 9 3.2.2去抖电路模块 10 3.2.3计数电路模块 12 3.2.4译码显示电路模块 13 第四章 硬件模块介绍 14 4.1 FPGA的简介 14 4.2 CD4511的简介 15 第五章 硬件调试 16 5.1 Quartus II的简介 16 5.2 硬件电路的设计与调试 17 5.2.1手工检测 18 5.2.2程序检测 18 5.2.3电路组装与调试 19 5.3软件调试 19 5.4注意事项 19 5.4.1在FPGA芯片上调试过程 19 5.4.2程序检测 19 5.5系统性能测试 20 5.5.1测试内容 20 5.5.2实现功能 20 5.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)2023年12月下旬:做好课题调研工作,查阅相关文献,初步制定实验方案,撰写开题报告,进行开题答辩; (2)2023-01至2023-03 实验阶段。围绕所研究课题,对实验方案进行论证和修改,进行实验,并于3月底撰写出毕业论文初稿。 (3)2023-4至2023-05 补充必要的实验,对论文进行修改。 (4)2023-05至2023-06 修改论文,答辩。答辩后根据答辩专家组意见再修改,提交最终版。 指导教师署名:许发翔 2023 年 12 月 12 日 百色学院本科毕业论文(设计)开题报告 学号 学生姓名 庞建铿 系 名 物理与电信工程系 专业年级 电子信息工程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、 在上述环节后,按以下的方案进行毕业设计的实行。 第一阶段:2023年月11月20日前毕业设计(论文)题目上报指导老师。 第二阶段:2023年月11月30日前接受毕业设计任务书,学习毕业设计(论文)规定及有关规定,收集资料、开始撰写开题报告。 第三阶段:2023年12月5日前上交开题报告,由指导老师审阅。 第四阶段:2023年4月1日前运用Quartus II编写程序,完毕元器件的购买,收集资料,开始设计并撰写论文,初稿完毕。 第五阶段:2023年4月20日至2023年5月上旬用不同方式与指导老师交流,沟通毕业设计进展情况。 第六阶段:2023年5月20日完毕并提交正式毕业设计成果。 四、重要参考文献: [1] 潘松,黄继业,EDA技术与VHDL[M]北京:清华大学出版社,2023 [2] 谭会生等.EDA技术基础[M].长沙:湖南大学出版社.2023 [3] 卢毅,赖杰. VHDL 与数字电路设计 [M ].北京:科学出版社, 2023 [4] 汉泽西等编著.EDA技术及应用[M].北京:北京航空航天大学出版社,2023 [ 5] 谭会生,张昌凡.EDA技术及应用[M].西安:电子科技大学出版社,2023 是否可以进入论文(设计)研究: 指导教师署名: 年 月 日 是否可以进入论文(设计)研究: 系主任署名: 年 月 日 百色学院本科毕业论文(设计)中期自查表 系 名 物理与电信工程系 年 级 08级 专 业 电子信息工程 本人投入的时间和精力 每周平均工作 10 小时,出勤情况:较好( )、一般(√ )、差( )。 影响时间投入的因素: 找工作( )、自身水平( )、其他因素 考研复习 。 指导教师的投入 指导教师每周指导 1 次,大约 1 小时; 指导形式:网络( √ )、电话( )、面对面( √ )、其他 ; 指导效果: 好( √ )、 较好( )、一般( )、 差( )。 毕业论文(设计)工作情况 是否能按任务书的“进程安排”完毕工作:是( √)、否( ),已完毕内容占所有工作 50 %。 你的论题是:自选( √ )、专业安排( )、跨专业( )。 论题是否结合专业(是)、难度(适当)、工作量(一般)。自己对毕业设计(论文)文献规范的学习情况:已了解( )、部分了解(√)、不清楚( )。 条件保障 实验设备和器材是否得到保证:是( √)、否( )。 学校提供的图书资料是否满足需要:是( )、一般( √ )、否( )。 学校计算机上机条件:好( )、较好( √ )、不好( );约需 机时。 经费来源:学校( )、个人( √ )、尚无需要( )。 存在问题及 整改思绪 论文初稿才开始做,没花足够时间深研,实物和软件仿真尚未完毕,没有体现FPGA在实验中的应用,对FPGA在数字秒表的应用不是很了解,并且缺少实例跟图形,相关的文献跟期刊也不多。 继续查阅大量相关资料,并积极和师兄,师姐,老师联系,认真听取师兄,师姐,老师的建议,做好软件仿真跟硬件设计,完善论文的撰写。 学生署名: 年 月 日 指导教师署名: 年 月 日 基于FPGA的数字秒表的设计 电子信息工程  庞建铿 指导老师  许发翔 摘要:EDA技术作为电子工程领域的一门新技术,极大的提高了电子系统设计的效率和可靠性。该设计就是基于FPGA在Quartus II软件下运用VHDL语言结合硬件电路来实现数字秒表的功能,采用ALTRA公司CycloneII系列的EP2C5T144C8N芯片进行仿真,并给出仿真结果。数字秒表有4个重要模块,分别是分频电路,去抖电路,计时电路,显示电路。用VHDL语言编程来实现各个模块的功能,再用例化来实现各模块的连接,从而实现整个数字秒表的功能。该电路可以实现计时功能,计时精度高,电路简朴。 关键字:FPGA;EDA;VHDL;Quartus II;数字秒表 The design of digital stop watch based on FPGA Abstract: 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 point’s 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硬件描述语言——VHDL 1.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]。 FPGA CLK输入 按 键 按键消抖解决 分频电路 计 时 电 路 主控电路 七段数码管译码电路 七段数码管显示 图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输入 设立中间变量CNTER CLK上升沿到来 CNTER<9? Y N CNTER=0,NEWCLK=1 CNTER=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,C CLK上升沿到来 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计数电路模块 在数字秒表系统中要用到各种计数器。计数器是在数字系统中使用最多的时序电路,它不仅能用于对时钟脉冲计数,还可以用与分频,定期,产生
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服