欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于VHDL的地铁自动售票机系统设计.docx

    • 资源ID:528142       资源大小:999.54KB        全文页数:39页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于VHDL的地铁自动售票机系统设计.docx

    1、毕业设计说明书(论文) 作者:学 号:系:专题业:目:基于 VHDL的地铁自动售票机系统设计指导者:( 姓 名)(专业技术职务)评阅者:( 姓 名)(专业技术职务)2014 年5月毕业设计( 论文) 评语学生姓名:班级、学号: 题目:指导者评语:指导者(签字):年月日综合成绩:毕 业 设 计 ( 论文 ) 评 语评阅者评语:答辩委员会(小组)评语:评阅者(签字):年月日答辩委员会(小组)负责人(签字):年月日毕业 设计说明书( 论文 ) 中文摘要由于社会的进步,人口都向城市流动,交通也越来越拥挤。为此,出现了地铁。随着科技的发展,人们对出行的要求越来越高,地铁自动售票机就应运而生了。自动售票机

    2、实现了乘客自助购票,大大加快了出行速度。本文主要讨论了用 VHDL 语言设计地铁自动售票系统。VHDL 语言有较强的描述能力,可以分模块编写程序再合并,所以能设计复杂、多层次的系统。编写的程序可用 Altera 公司的 Quarts II 软件进行调试和仿真。设计的地铁自动售票机最终要实现票价选择、投币状态、余额计算、自动出票、自动找零等功能。关键词VHDL 自动售票系统 模块Quarts II 仿真毕业设 计说明书( 论文) 外文摘要TitleDesign of automatic ticket vending machine system based on VHDL AbstractDue

    3、 to the progress of the society,the population flow to cities,traffic is becoming more and more crowded.Because of this,the subway emerged.With the development of science and technology,peoples demand for travel is higher and higher,so the subway ticket machines is developed.Automatic machines to re

    4、alize the passenger self-service ticketing,greatly accelerate the speed of travel.This article mainly discussed the design of metro ticketing system with VHDL language.VHDL language has a strong ability of description,can write a program to merge module,so can design complex, multi-layered system.Co

    5、ding can use Altera corporations Quarts II software carries on the debugging and simulation.The subway ticket machines can achieve selection of ticket price,insert_state,balance calculation, automatic ticket,automatic change and so on.Keywords VHDL Metro ticketing system Module Quarts II Simulation

    6、本科毕业设计说明书(论文)第 页共 页目次1 引言111 研究意义112 研究背景113 研究任务214 研究内容22 理论基础321 FPGA32.2 VHDL 语言42.3 Quartus软件63 课题设计931 设计要求932 系统分析与设计方案94 程序仿真164.1 自动售票机主控模块的波形仿真164.2 车票选择模块的波形仿真174.3 纸、硬币处理模块的波形仿真184.4 自动找零、出票模块的波形仿真194.5 整个售票机系统的波形仿真图205硬件验证2251 上箱过程2252 上箱结果23结 论25致 谢26参 考 文 献27附录28本科毕业设计说明书(论文)第33 页共 33

    7、 页1 引言自动售票机主要的控制模块可以用多种语言设计完成。但这些语言有较大的差异,不利于后期的修改和使用者之间的交流。而 VHDL 语言是一种功能强大、标准化的硬件描述语言。用 VHDL 语言设计程序时可以先分块编写再合并,所以能够编写出多层次的程序,与此同时,VHDL 语言编写的程序避免了其他语言只能在各自环境中使用的缺陷。 本章主要讨论了地铁的起源、发展,以及随着社会的发展,为了简化购票流程, 从而设计出了自动售票机来代替人工售票等。1.1 研究意义近年来,国民经济快速发展,城市的各项设施也越来越好,进而人们对交通的要求也不断增加。因此,安全又快捷的地铁就出现了。地铁的速度较快,且在行驶

    8、过程的载客数较多,这是公交所不具备的,而且它的出现增加了乘客的选择,也可以很好的缓解交通拥挤的情况。如今,我国的地铁都实行售票制,而越来越多的乘客选择地铁出行也增加了售票工作的困难。这也给自动售票机的诞生和创新提供了一个很好的市场潜力和发展空间1。自动售票机系统是可以解决各类轨道交通系统的各个终端设备协同工作的平台2,是基于计算机技术、网络技术 、自动控制技术、大型数据库技术、机电一体化技术、模式识别技术、传感技术、精密机械技术等多项高新技术于一体的大型系统3。乘客可以根据自动售票机显示屏上的操作指示选择要到达的地点以及购票张数,并投币完成购票。它能够实现自主购票,可以减少地铁站的工作员工人数

    9、,人工售票的工作强度以及地铁站不必要的售票窗口的花费,同时它还能避免人工售票带来的一些失误,大大提高售票的正确率。1.2 研究背景1863 年,地铁在伦敦建成,是世界上第一条地铁,也是最长的地铁,至今已有一百多年的历史,。而提出要建造这个条地铁的人确是英国的一个律师,叫查尔斯.皮尔逊。他生活的那个年代路上的车辆已经很多,交通也比较拥挤,总是发生车祸,查尔斯暗暗发觉随着车辆的增多,这种情况发生的概率会越来越高,就在他发愁的时候, 他发现才出现没多久的铁路时速快,载客量大。于是,他向当地政府提出了将铁路建造在城市街道下面的想法,经过岁月的验证,最后被英国政府采纳,就有了地铁。地铁出现后,由于它的轨

    10、道不与地面上的车辆以及建筑发生冲突,并且它的行驶速度非常快,没有地面上车辆的车轮滚动的声音和鸣笛声,噪声很小,行驶过程比较平坦,一次性可以容纳的人数又是公交车的 7-8 倍,并且它使用电力驱动,不会污染环境,所以赢得了人们的青睐,经过不断改进,一直运行到现在。地铁自从 1863 年在英国伦敦建成后到如今,随着城乡一体化的构建,大量农民涌入城市。城市人口迅速膨胀, 城市交通也越来越拥挤,而人们的生活节奏却越来越快,对售票系统的要求也越来越高,所以,人工售票被渐渐淘汰,取而代之的是高效快速的自动售票系统。4在国外,有一部分城市已经采用了自动售检票系统,并且已经有相当高的技术含量。而中国的这项技术最

    11、初是从国外流传而来的,经过不断的研究创新,已开发出了很多新的产品,而这项技术也一直都在提高。到目前为止,国内轨道交通AFC 的技术已与城市一卡通接轨,实现城市甚至城市区间的一卡通 。1.3 研究任务 查阅相关资料,认真学习数字逻辑电路,要了解计时器、触发器等原理并会编写售票机程序中用到的逻辑电路。 分析自动售票机要实现的功能,选择设计方案,并说明其工作原理。 根据课题要求,学习VHDL 语言和 FPGA 的基本知识,利用VHDL 语言设计地铁自动售票机系统并对相关的软件程序进行说明。 对地铁自动售票机系统进行仿真。仿真结果要求:票价选择;投币系统;余额计算;出票;自动找零。 将编写好的地铁自动

    12、售票机系统上箱进行验证。1.4 研究内容 首先学习此课题设计需要用到的 VHDL 语言,对它的结构特点、设计流程、基本语言、描述方式及主要描述语句有一定的了解。 其次学习 Altera 公司的 Quartus 软件的系统特点、设计流程、设计方法以及基本操作。 在学习了 VHDL 语言和 Quartus 软件的基础上用 VHDL 语言编写地铁自动售票机的程序,完成程序后再用 Quartus 软件对编写的程序进行调试和仿真,使其能够实现票价选择,投币系统,余额计算,自动出票,自动找零等功能。2 理论基础2.1 FPGA2.1.1 FPGA 介绍FPGA(FieldProgrammable Gate

    13、 Array),即现场可编程门阵列,它是在 PAL、 GAL、CPLD 等可编程器件的基础上进一步发展的产物5。它是作为专用集成电路(ASIC) 领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点6。FPGA 的编程语言有两种,一种是 VHDL 语言另一种则是 Verilog 语言,它们都是用于 FPGA,也都比较常用。而 VHDL 语言是由美国国防部创建的,并在 1987 年正式成为 IEEE 的标准硬件描述语言;而 Verilog 语言是从一家软件开发企业的开发成果中转移过来的,由于它各方面的特点都比较突出,在1995 年终于成为了 IEEE

    14、的标准硬件描述语言。用 VHDL 或是 Verilog 语言编写的程序经过编译综合、仿真验证、引脚锁定之后将配置好的数据烧录至 FPGA 上进行测试。在 IC 设计、验证方面常用到这种方法。它既可以用来设计一些比较基础的电路模块,比如:门电路、加法器等 ;也可以设计一些微复杂的时序逻辑电路,比如:移位寄存器、计数器等;还可以设计一些更复杂的组合电路,比如:解码器、编码器等。FPGA 的开发应用与个人计算机和单片机的差别较大,FPGA 主要是通过并行运算和 VHDL 语言或是 Verilog 语言完成的,而个人计算机和单片机是用顺序运算的,这也加大了它开发的难度。它的开发涉及顶层设计、模块分层、

    15、逻辑实现、软硬件调试等方面,再次说明它的开发并不容易。2.1.2 FPGA 特点FPGA 器件是由 Xilinx 公司开发并推出的,在推出后它们一直都在不断更新中, 长期以来,在 FPGA 领域保持着领先。FPGA 有以下几个特点:FPGA 芯片内部的触发器数量比较多,所以更适合于结构复杂的时序逻辑电路。FPGA 芯片的规模比较大,布线结构相对比较复杂,新型器件高达千万门级, 所以常用它来完成复杂电路的设计7。FPGA 芯片在出厂之前全部都要经过测试,所以有安全保障。此外,开发FPGA 所需的资金与普通的 ASIC 芯片相比较要少许多,可以节省一部分开发消费。FPGA 芯片编写的程序信息在每次

    16、断电时会丢失,重新通电之后无法自行回复, 需要从外部导入。虽然有诸多不变,但使用者可以反复地编程、擦除、使用,实现任意次的编程。 还能使软、硬件协同操作使用。2.2 VHDL 语言2.2.1 VHDL 语言的简介在开发软件的初期,各个生产商为了减少开发周期,提高效率,开发出了各种不同的具有各自代表性的硬件描述语言,但由于差别大,只能适用于各开发商自己开发软件的环境,这给后期的修改和使用者之间的交流造成了一定的障碍。所以人们想要制定出统一的硬件描述语言。于是,在 1981 年的时候,美国成立了 VHDL 工作小组, 并提出了一种比较标准的语言,简称 VHDL。1983 年的时候,TI 公司、IB

    17、M 公司联合Intermetic 公司组建小组,共同开发 VHDL 语言版本和软件开发环境。到了 1986 年, VHDL 语言开始趋于标准化。一年后,IEEE 组织正式宣布此语言版本为硬件描述语言的标准 。但并没有因此结束,在确定之后的的一年左右时间里,美国国防部对其进行强制性的推广及使用。之后的多年时间里,IEEE 对其进行过修订,使其涉及范围更广、功能更加强大。并且把修订后的VHDL 语言定为新的标准。在 VHDL 语言产生并成为标准的过程中,它一直都在前进,它用它强大的语言结构适应了EDA 技术的发展的同时还促进了它的进步。所以不得不承认它是适用于电路设计的功能强大的硬件语 言。库、程

    18、序包VHDL 语言的全称是超高速集成电路硬件描述语言(Very High Speed Integrated Circuit Hardware Description Language)8 。常用于数字电路的设计。VHDL 语言的语言格式、语法和描述方式与一般的计算机编程语言有许多相似的地方。VHDL 语言的程序包括实体、结构体、配置、程序包和库5 个部分9。其基本结构如图2.1 所示。实体 结构体进程或其他并行语句配置图2.1 VHDL 程序基本结构其中实体还分成外部和内部。当某个实体定义了外部界面以后,只要完成内部功能的编程,其他部分能够直接使用它,简化了设计过程,体现出了它的优越性。VHD

    19、L 语言在欧洲使用较为广泛,而Verilog 语言则在中国、美国、日本、台湾等地方用的比较多。两种语言相比而言,Verilog 语言学起来较容易一些,它跟 C 语言比较类似,如果有 C 语言基础的话,不需要花太多的时间就能掌握它。但是 VHDL 语言比较抽象,不容易学,需要的时间比较长。一旦掌握之后,它的优势就凸显出来了, 其设计效率比 Verilog 语言高很多。2.2.2 VHDL 语言的特点VHDL 语言已经是标准的硬件描述语言,它涉及的范围广,有很强的描述能力, 并且可以先分模块进行设计,最后再把各个模块合并起来组成一个完整的程序,所以此语言可以设计结构复杂,层次较多的结构电路。VHD

    20、L语言的描述能力和它本身的程序结构使得它能够分解大规模程序的设计,还能重新利用之前的设计。设计者无法独立设计一个大规模程序,所以这样的程序通常是多人合作完成的。VHDL 语句的再利用设计与分解大型程序的功能使共同完成设计成了可能。VHDL 语言有很多仿真语句和库函数,能实现综合仿真,所以在设计系统的过程中能及时进行仿真,检验程序的进展或是发现程序的错误,并进行相应的修改,保证程序的顺利运行。设计者通过这种方法不需做出实际的模型就能比较出各种方案的可行性及它们之间的优劣,并作出取舍,大大降低了整个设计的开发成本。VHDL 语言的硬件有相对的独立性,它与制作工艺无关,不会随其而改变,所以使用时间长

    21、。一个设计可以在其他的硬件结构中使用,使用过程中也不需要对其结构有深入的了解,总而言之,使用起来比较简单。 2.2.3 VHDL 语言的设计流程 设计规范的定义首先设计者要知道设计目的和要求,然后制定整个系统设计的总体方案。这一步是整个系统设计的铺垫,是十分关键的。 采用 VHDL 进行设计描述设计者先要根据系统设计的要求选择方式,考虑是否要分模块来编写。通常,设计者采用“自顶向下”的设计方法。在划分模块的时候一定要仔细划分,确保这样的划分是最好的,不然会直接影响到电路的设计。规划完成后,设计者可以此为依据编写每个模块相应的 VHDL 程序,再将每个部分程序组装起来,这样就成了一个完整的程序。

    22、VHDL 程序仿真程序仿真是编写程序过程中不可或缺的。如果编写好的程序不进行仿真,直接布局布线,若此时发生错误,则需要修改 VHDL 语言再重新布局布线,十分耗时。若每编写一个程序就对其仿真,可以及时发现错误,节省设计者的时间和金钱。 综合、优化和装配(或布局布线)综合指的是将设计描述转化成底层电路的表示形式,其结果是一个网表或者是一组逻辑方程10;优化是为了缩小时间延迟,更好的利用资源来提高程序的执行效率; 装配就是对特定资源进行分配。而布局布线是将每个模块的程序编译以后生成的元器件重新定位,然后再进行布线。 仿真这是在程序编写完毕,并且装配完成之后进行的仿真,是对整个程序是否符合其要实现的

    23、功能的验证。2.3 Quartus软件2.3.1 Quartus软件简介MAX+plus软件是美国 Altera 公司推出的一种 EDA 工具,在开发出来后的几年时间里,Altera 公司在推出两种设计芯片同时也在不断改进开发软件,一共经历了四代:第一代 A+plus、第二代 MAX+plus、第三代 MAX+plus II 和第四代 Quartus。Quartus软件不但包含了 MAX+plus II 软件的优势,在面对新技术时同样可以使用。Quartus是一款针对 FPGA 芯片的综合性的开发软件,它有多种输入方式,例如:原理图输入、AHDL 语言输入、VHDL 语言输入、Tcl scri

    24、pt 输入以及 Systemverilog HDL 语言输入等。同时,它的内部有自己的编译综合器和仿真器,能够进行与程序相对应的输入输出管脚的波形仿真,最后对器件的各个引脚进行分配,是设计器件用的比较完整的一个软件。Quartus软件适用于多种系统,像个人电脑的 Microsoft Windows XP、Microsoft Windows 7 系统,Linux 系统以及 Unix 系统等都支持这款软件。除此之外,这款软件还支持 LPM 宏功能模块库,设计者可以使用已存在的模块,无需重新编写,简化了设计过程,提高了设计效率。它也支持第三方软件工具的运行,除了自身可以对程序进行波形仿真之外,其他的

    25、仿真工具它也能使用。另外, Quartus支持多种可编程逻11辑器件的开发、集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,它的软件设计功能强大且容易操作,是一种综合性的开发平台。2.3.2 Quartus软件的特点该软件对 Altera 公司之前开发的几代软件去其糟粕,取其精华,再在功能上加以改进才开发出的新产品。所以,之前几代软件的功能它都具备,同时简化了使用者的操作,使用户能很快的入手。在整个逻辑器件设计的过程中,从程序各模块的编写到程序的编译到设计功能的仿真再到编程下载都有这款软件提供,可以说这是一款功能十分强大的软件。该软件支持公司多款MAX 系列的器件,与很多EDA 供应商开发

    26、的软件工具兼容,改进了软件的 LogicLock 模块设计功能,增添了 FastFit 编译选项, 推进网络编辑性能,提升了调试能力12。2.3.3 Quartus软件的设计流程Quartus软件开发的设计流程图如图 2.2 所示。设计输入综合修改设计布线布局时序分析仿真器件编程与配置在线校验生产图 2.3 Quartus软件的设计流程 设计输入 设计者根据程序要实现的功能着手,考虑好思路并设计好各模块的划分,再用VHDL 语言或原理图等的形式输入。 综合设计者将之前输入的设计根据软件本身的要求进行编译、优化、配置与综合,生成了网表文件,供下一阶段使用。 布局布线设计者用适配器将上一阶段综合得

    27、到的网表文件对应到 FPGA 器件上。将分开的模块重新定位,之后组合到一起,给其分配引脚,再布局。 时序分析网表的布局布线完成后,即可得到相应的供此阶段用的编程文件。设计者可以看到整个编程文件的时序信息,也可以分析它的时序性能。 仿真它有两种形式,一种是在不考虑外界环境及器件因素的情况下的对电路的直接仿真;另一种是在接近实际环境中对生成的器件的仿真。 器件编程与配置设计者在编译成功之后将编译的程序下载到实际的试验箱上进行进一步验证。 在线校验对配制好的器件在网上测试,看其是否符合原先器件设计要达到的功能。3 课题设计3.1 设计要求设计一个程序并对它进行仿真验证使它能够模拟地铁站自动售票机的功

    28、能。主要内容如下:该自动售票机的主控模块控制其他几个模块,当主控模块的start=1 的时候,使能端 en0 和 en1 为 1,此时车票选择模块与纸、硬币处理模块工作,分别输出总价 cost 和总票数 quantity 以及投入总钱数 money_insert。当主控模块的 start=0 的时候, 使能端 en2 为 1,此时自动找零、出票模块工作,根据使能端 bi 为 1 或 0 来选择自动售票机是找零出票呢还是退钱不出票。自动售票机的整个功能如下所述:自动售票机有两处可以投币,一处接受硬币另一处接受纸币。硬币接受孔只能识别一元硬币,纸币接受孔可以接受 5 元和 10 元的纸币。根据站点

    29、的远近,将车站均等的分成三组,第一组的票价为2 元,第二组的票价为 3 元,第三组的票价为 4 元。乘客一次只能选择一个价位的票,但每次最多可以选择购买三张车票。当选好出站口和购买的车票数以后,乘客就要开始投币,投币过程中可以投入硬币可以投入纸币,也可以两种混投,只要投入的钱数满足本次购票需要的钱数即可。若投入的钱数不够需要的钱数,售票机会显示钱数不够,要求继续投币,直到达到所需金额为止。投币结束后,自动售票机自动出票并进行找零,交易结束,跳回主界面等代下位乘客。若是乘客在购票过程取消了购票操作,则自动售票机立即结束购票进程,并返还已投的钱币。3.2 系统分析与设计方案3.2.1 系统的框架结

    30、构根据课题要实现的功能,选择按模块来编写程序,本设计大概分成四个模块,分别是自动售票机主控模块,车票选择模块,纸、硬币处理模块,自动找零、出票模块。总的框架图如图 3.1 所示。车票选择模块纸、硬币处理模块costenoen1money_insertquantity自动售票机主控模块en2bidf自动找零、出票模块图 3.1 自动售票机系统结构框图 自动售票机主控模块:当此模块的 start 为 1 的时候,使能端 en0 和 en1 为 1, en2 为 0,此时车票选择模块与纸、硬币处理模块工作。当此模块的 start 为 0 的时候,使能端en2 为 1,en0 和 en1 为 0,此时自动找零、出票模块工作。若投入的总钱数大于等于总价的话,使能端 bi 为 1, 自动售票机输出票数 quantity,并输出对应的找钱 df 为 money_insert-cost。若投入的总钱数小于总价的话,使能端 bi 为 0, 自动售票机不出票,并退出乘客负的总钱数,此时 df 为 money_insert。 车票选择模块:受控于主控模块,乘客先启动 rest


    注意事项

    本文(基于VHDL的地铁自动售票机系统设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开