




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连海事大学装订线毕 业 论 文二一年 六 月基于FPGA设计地铁自动售票系统 专业班级: 电科1班姓 名: 魏 思 奥指导教师: 毕 春 娜信息科学技术学院内容摘要本毕业设计是基于FPGA设计一个地铁自动售票系统。近年来,集成电路技术的迅猛发展,特别是可编程逻辑器件的高速发展,电子设计自动化EDA技术成为电子设计工程师的新宠。然而随着城市人口的迅速增加、车辆的增多,世界各地的城市交通变得愈发拥挤,地铁成为城市交通的重要组成部分。随着国民经济的发展,我国的地铁建设也日益成为人们日常生活中不可或缺的一部分。作为地铁运营服务的第一道关,改善地铁已逐渐落后于时代步伐的售票系统势在必行。本系统是结合行业管理中实际的地铁售票系统运行过程中的需求过程,经过实际的需求分析,开发出来的地铁自动售票系统。整个系统的设计从符合操作简便快捷、灵活实用、保证稳定安全的要求出发,完成售票管理的基本过程。本设计采用自顶向下的模块化设计方法,基于FPGA使用VHDL语言设计制作一个地铁自动售票控制系统,该系统能出售2条线路3种不同价位的票,完成售票、找零、显示等功能。通过本设计,正确掌握数字系统的模块划分、并能自如应用硬件描述语言描述各模块功能,以实现系统设计。以VHDL语言和MAX+PLUSII为工具,在ZY11EDA13BE实验系统主板上,实现了地铁自动售票系统。系统划分为几个功能模块,分模块进行分析和设计,系统给出相应的设计原理图和VHDL源程序,通过仿真实现预定的功能。关键词:FPGA;地铁自动售票系统;EDA;VHDL; MAX+PLUSII;模块;仿真ABSTRACTThe graduation project is based on the FPGA design of a subway ticket system. In recent years, the rapid development of integrated circuit technology, in particular the rapid development of programmable logic devices, electronic design automation EDA technology to become the new darling of electronic design engineers. However, with the rapid urban population increase in the number of vehicles around the world have become increasingly congested urban traffic, Metro became an important part of urban transportation. With the development of national economy, Chinas subway construction has increasingly become an indispensable part of daily life. As a subway service in the first pass, to improve the subway has gradually lagged behind the times ticketing system is necessary. This system is a combination of industry management in the actual subway ticketing system operating in the demand process, after the actual needs analysis, developed the Subway Automatic ticketing system. The overall design is easy to manipulate fast, flexible and practical, to ensure the safety and stability requirements, the completion of the basic process of ticket management.This design uses a top-down modular design method, based on FPGA design using VHDL, a subway ticket control system, which can sell two lines 3 different ticket prices, the completion of ticket sales, give change, and display functions . Through this design, the correct number of system control module division, and to ease application of hardware description language to describe the function of each module to achieve the system design. In VHDL and MAX + PLUSII language as a tool, ZY11EDA13BE experimental system motherboard to achieve automated subway ticketing system. System is divided into several functional modules, sub-module analysis and design, system design gives the corresponding schematic and VHDL source code, through the simulation to achieve the intended function.keywords: FPGA;Metro automatic ticketing system; EDA;VHDL MAX+PLUSII; Module; Simulation目 录1 绪论11.1 研究背景11.2 研究内容及功能介绍11.3 论文结构22 理论基础22.1 EDA技术22.2 FPGA22.2.1 FPGA简介22.2.2 FPGA的基本特点32.2.3 FPGA的优点32.3 VHDL语言42.3.1 VHDL简介42.3.2 VHDL系统设计的特点42.3.3 VHDL系统优势52.3.4 VHDL基本结构52.4 MAX+plus软件62.4.1 MAX+plus软件简介62.4.2 MAX+plus软件特点62.4.3 MAX+plus可编程设计流程63 系统分析与设计方案83.1 系统的总体框架结构83.2 功能模块分析93.2.1 车票选择模块93.2.2 钱币处理模块113.2.3 余额计算模块123.2.4 显示功能模块144. 硬件实现164.1 连线布局与下载164.2 系统不足175 系统改进方向及设计总结175.1 系统改进方向175.2 设计总结18【参考文献】19【致谢】20基于FPGA设计地铁自动售票系统1 绪论1.1 研究背景地铁,起源于19世纪中叶的英国。在当时的伦敦,因为生产力的急速发展,数以千计的工厂、房屋被建造起来。城市在爆炸性的发展中几乎陷于崩溃。为此人们迫切需要有比狭窄的街道更好的交通渠道。查尔斯皮尔逊提出了解决这一问题的方法,那就是“在地下建造铁路”。世界首条地铁“大都市铁道”于1843年在他的提议下开始建设,至1863年终于开通。在其开通的首年,就创造了运载乘客950万人次的记录,显示了地铁在城市交通中勃勃的生命力。1在一百多年后的今天,随着城市人口的迅速增加、车辆的增多,世界各地的城市交通变得愈发拥挤。同时,环境污染、能源危机等一系列问题也促使人们去进一步的思考城市交通的未来。地铁与城市中其它交通工具相比,在许多方面有着明显的优势:除了能够避免城市地面拥挤和充分利用空间外,它的运量大,运输能力是地面公共汽车的7一10倍,这是任何城市交通工具所不能比拟的;速度快,可以在地下隧道内直线地快速行进,行驶的时速可超过100公里;并且无污染,以电力作为动力,不存在空气污染问题。地铁配套设备的范围十分广泛,包括了车辆选型与行车组织、供电系统、环控通风系统、给排水及消防系统、通信系统、信号系统、自动扶梯、电梯、自动售检票系统、防灾报警系统、设备监控系统、综合信息管理系统、旅客向导系统、运营控制中心系统、车辆段及综合基地系统、勘察、检验系统、施工系统等各个方面。2其中,自动售检票(AFC)系统利用先进的机电一体化技术和先进的电子、通信、网络等技术,使售票、检票、计费、收费、统计全过程管理自动化,减少了运营部门工作人员的劳动强度,能及时获取客流信息与轨道交通系统运营收益的第一手资料,保证投资回报。它的出现,淘汰了工作强度大、漏检票率高、适用范围又小的传统手工售检票方式,为地铁能够合理计费、吸引客流、遏制舞弊和逃票、减少管理人员、削减运营成本等都提供了可能,显著提高了其社会效益和经济效益,目前已成为了现代化地铁的标准配置。3在地铁系统的应用越来越广泛,大大改善城市交通的同时,人们也对其配套设备的现代化程度提出了更高的要求。随着国民经济的发展,我国的地铁建设也日益成为人们日常生活中不可或缺的一部分。绝大多数的城市轨道交通系统都是用来运载市内通勤的乘客,而在很多场合下城市轨道交通系统都会被当成城市交通的骨干。通常,城市轨道交通系统是许多都市用以解决交通堵塞问题的方法。然而售票作为地铁运营服务的第一道关,改善地铁已逐渐落后于时代步伐的售票系统势在必行。然而近年来,集成电路技术的迅猛发展,特别是可编程逻辑器件的高速发展,电子设计自动化EDA技术成为电子设计工程师的新宠。EDA技术以计算机为工具完成数字系统的逻辑综合、布局布线和设计仿真等工作。电路设计者只需要完成对系统功能的描述,就可以由计算机软件进行系统处理,最后得到设计结果,并且修改设计方案如同修改软件一样方便。利用EDA工具可以极大地提高设计效率。所以最终采用EDA技术基于FPGA设计如此地铁自动售票系统。41.2 研究内容及功能介绍作为车站设备的一员,自动售票机ATVM(Auto Ticket Vending Machine),往往被安装在车站非付费区内,用于轨道交通车票销售的乘客自助服务。自动售票机具有引导乘客购票的相关操作说明和提示,配备触模屏、乘客显示器及运营状态显示器,用于显示地铁线路、票价、投入钱币金额、设备运行状态等信息。目前通用的轨道交通单程车票一般为非接触式的方形IC卡,自动售票机根据规格型号的不同,可以分别按照硬币、纸币以及交通一卡通储值卡这三种支付方式的一到多种进行售票。一次交易中的发卡数量也可以在一到多张间不等。本设计采用自顶向下的模块化设计方法,基于FPGA,以VHDL语言和MAX+ PLUSII为工具,在ZY11EDA13BE实验系统主板上,运用VHDL有限状态机设计地铁自动售票系统。5本系统是结合行业管理中实际的地铁售票系统运行过程中的需求过程,经过实际的需求分析,开发出来的地铁自动售票系统。笔者参与设计的自动售票机,就其功能特点来说,可以归纳如下:1)该自动售票系统可对1号、2号两条地铁线售票,每条线均有3、4、5元三种票。2)能选择买1张或2张票;3)有5元、10元两个投币口。当投入的钱币与选择的票款相等时,送出车票;若投入的钱币不够,1分钟后,退出钱币,无票送出;若投入的钱币超过票款,能自动找赎。4)系统显示选择的是几号线、所选票面额、购买的票数、投入的钱币额及找赎的钱额。1.3 论文结构本文分五章,第一章是绪论部分,简单介绍了地铁自动售票机的背景、系统设计的内容以及功能描述、论文整体结构。第二章是理论基础,主要介绍了EDA技术、FPGA、VHDL语言结构和MAX+plus软件的设计流程。第三章介绍了系统设计的总体思路和各个模块的功能设计与编译仿真。第四章是系统顶层图连线布局,下载硬件实现,结果分析,以及系统存在的不足。第五章主要介绍系统的改进方向,并总结本系统设计的意义。2 理论基础2.1 EDA技术EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。6EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。72.2 FPGA2.2.1 FPGA简介FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。8目前以硬件描述语言(Verilog-HDL或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。9FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。102.2.2 FPGA的基本特点FPGA采用了逻辑单元阵列(LOA,Logic Cell Arry)这样一个新概念,内部包括可配置逻辑模块(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芯片是小批量系统提高系统集成度和可靠性的最佳选择之一。11目前FPGA的品种很多,有XILINX的xc系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。FPGA是由存放在片内RAM中的程序来设置其工作状态的。因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式采用不同的编程方式。加电时,FPGA芯片将EPROM中的数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失。因此,FPGA能够反复使用。FPGA的编程不需专用的FPGA编程器,只需用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA、不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA有下面4种配置模式:1)并行主模式为一片FPGA加一片EPROM的方式;2)主从模式可以支持一片PROM编程多片FPGA:3)串行模式可以采用串行PROM编程FPGA;4)外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。122.2.3 FPGA的优点FPGA芯片都是特殊的ASIC芯片,除了具有ASIC的特点之外,还具有以下3个优点。1)随着超大规模集成电路(VLSI,Very Large Scale IC)工艺的不断提高,单一芯片内部可以容纳上百万个晶体管,FPGACPLD芯片的规模也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越来越强,同时也可以实现系统集成。2)FPGACPLD芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投片风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,FPGACPLD的资金投入小,节省了许多潜在的花费。3)用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同的软件实现不同的功能。所以,用FPGAiCPLD试制样片,能以最快的速度占领市场。FPGACPLD软件包中有各种输入工具和仿真工具及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。当电路有少量改动时,更能显示出FPGACPLD的优势。电路设计人员使用FPGACPLD进行电路设计时,不需要具备专门的IC(集成电路)深层次的知识,FPGACPLD软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。132.3 VHDL语言2.3.1 VHDL简介VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。14VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。 VHDL的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware Description Language.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。15VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。162.3.2 VHDL系统设计的特点与其他硬件描述语言相比,VHDL具有以下特点: 1)功能强大、设计灵活VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。2)支持广泛、易于修改由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。3)强大的系统硬件描述能力VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。4)独立于器件的设计、与工艺无关设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。5)很强的移植能力VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。6)易于共享和复用VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。162.3.3 VHDL系统优势1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。 4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。 5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。172.3.4 VHDL基本结构VHDL程序包括了三部分:程序包、实体、结构体。181)程序包:定义在设计结构体和实体中将用到的常数、数据类型、子程序和设计好的电路单元等。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;2)实体:设计系统单元所需要的输入输出端口信息。ENTITY 实体名称 IS PORT( 端口信号名称1: 输入/输出状态 数据类型; 端口信号名称1: 输入/输出状态 数据类型; 端口信号名称N: 输入/输出状态 数据类型 );END实体名称 ;3)结构体:描述电路单元具体的内部结构和逻辑功能。ARCHITECTURE 结构体名 OF 实体名称 IS 说明语句BEGIN 电路功能描述语句END 结构体名;结构体注意事项:结构体不能单独存在,它必须有一个界面说明,即一个实体。每个实体可以有一个或多个结构体,每个结构体对应着实体不同结构和算法实现。多个结构体名应区分。对于具有多个结构体的实体,必须用CONFIGURATION配置。结构体中说明和定义的数据类型、常数等只能用于该结构体中,若要用于其他实体或结构体中,需将其作为程序包来处理。192.4 MAX+plus软件2.4.1 MAX+plus软件简介MAX+plus(Multiple Array and Programming Logic User System)开发工具是美国Altera 公司推出的一种EDA 工具,具有灵活高效,使用便捷,易学易用的特点。Altera 公司在推出各种CPLD 和FPGA 的同时也在不断地升级相应的开发工具软件,已从早期的第一代A+plus、第二代MAX+plus 发展到目前的第三代MAX+plus II 和第四代Quartus。使用MAX+plus软件,设计者无需精通器件内部的复杂结构,只需熟悉所用的设计输入工具,如硬件描述语言、原理图等进行输入,MAX+plus自动将设计转换成目标文件下载到器件中去。202.4.2 MAX+plus软件特点MAX+plus开发系统具有以下特点。1)多平台系统 MAX+plus的设计输入、处理与校验功能一起提供了全集成化的可编程开发工具,可以加快动态调试,缩短开发周期。2)开放的界面 MAX+plus可与其它工业标准的设计输入、综合和校验工具链接。具有EDIF,VHDL,Verilog HDL 以及其他的网表接口,便于与许多公司的EDA 工具接口,包括Cadence,Mentor,Synopsys,Synplicity,Viewlogic等公司提供的EDA 工具的接口。3)模块组合式工具软件MAX+plus具有一个完整的可编程逻辑设计环境,包括设计输入、设计处理、设计校验仿真和下载编程四个模块,设计者可以按设计流程选择工作模块。4)与结构无关 MAX+plus支持Altera 的Classic、MAX5000、MAX7000、FLEX8000、FLEXlOK 等可编程器件系列,提供工业界中唯一真正与结构无关的可编程逻辑设计环境。5)硬件描述语言 MAX+plus支持各种HDL 硬件设计输入语言,包括VHDL、VerilogHDL 和Altera 的硬件描述语言AHDL。212.4.3 MAX+plus可编程设计流程MAX+plus设计流程图如图1所示:图 1 MAX+plus设计流程图步骤1:为本项工程设计建立文件夹任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的文件的文件夹,此文件夹将被EDA软件默认为工作库(Work Library)。一般不同的设计项目最好放在相应的文件夹中,注意,一个设计项目可以包含多个设计文件,文件夹名不能用中文,且不可带空格。步骤2:输入设计项目和存盘22设计者将所设计的系统或电路以开发软件要求的某种形式表现出来,并送入计算机的过程称为设计输入。设计输入通常有以下几种方式。1)原理图输入方式2)硬件描述语言输入方式3)波形输入方式4)层次化设计输入方式步骤3:将设计项目设置成工程文件为了使MAX+ plusII能对输入的设计项目按设计者的要求进行各项处理,必须将设计文件设置成当前Project。23步骤4:选择目标器件并编译这是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动进行适配,最后产生编程用的编程文件。24步骤5:时序仿真1)建立波形文件2)输入信号节点3)设置波形参量4)设置仿真时间5)加上输入信号6)波形文件存盘7)运行仿真器25步骤6:建立元件步骤7:引脚锁定26步骤8:编程下载在以上步骤都正确实施并完全通过以后,我们就可以将我们设计的项目(最终的数据编程文件)下载到器件中去,然后加入实际的激励信号进行测试,在我们的目标系统中进行产品级使用了。如果还未最终达到我们的设计目的,则需返回以上步骤查找设计问题直至无误。273 系统分析与设计方案3.1 系统的总体框架结构地铁自动售票系统大致可分为四个功能模块:车票选择模块、钱币处理模块、余额计算模块、显示功能模块。28系统总体框图如图2所示:车票选择模块钱币处理模块余额计算模块显示功能模块图 2 系统总体框图1)车票选择模块。当自动售票机通电时,表示一次投币售票过程开始;乘客正常购买车票操作失误包括改变购买意向或不再购买,按rd按钮重新进入初始状态;在初始状态path、pri和qua生效时,顾客可以根据自己的需要,选择其中一种车票(只限一种)和票数,进入下一模块。2)钱币处理模块。表示投入的钱币是5元、10元的coin_5、coin_10生效,记录所投钱币总额。3)余额计算模块。当投人钱币总额大于或等于车票价格,并且按确认键后出票并找零;若投入钱币总额小于车票价格,售票机不出票,并退出所投钱币,进入初始状态。4)显示功能模块。此模块根据输入提供的数据,用数码管来显示选择的是几号线、所选票面额、购买的票数、投入的钱币额及找赎的钱额。29本系统中乘客投币售票流程如图3所示:一号线二号线3元4元5元3元4元5元选择票数投币计算金额总额票价确认购买继续投币是否是否否退币清零出票找零是开始结束图 3 投币售票流程图3.2 功能模块分析3.2.1 车票选择模块车票选择模块是指对商品进行选择与购买。车票分为2种线路(一号线,二号线),3种票价(3元,4元,5元),共6种车票,乘客可以选择所要购买的票数(1张票,2张票)。30车票选择模块如图4所示:图 4 车票选择模块1)输入rd:模块复位信号,将所有输出信号清零。作为开始一次购票过程的按键,也可以作为让乘客重新选票的按键。clk:模块的时钟信号。path_1,path_2:将其中一个置高电平,作为选择一种线路(一号线,二号线)。pri_3,pri_4,pri_5:将其中一个置高电平,作为选择一种票价(3元,4元,5元)。qua_1,qua_2:将其中一个置高电平,作为选择购买车票的数量(一张票,两张票)。2)输出path3.0:表示所选线路,输出到余额计算模块和显示功能模块,作为判断出何种票的条件,并在数码管显示出所选线路。pri3.0:表示所选票价,输出到余额计算模块和显示功能模块,作为判断出何种票的条件,并在数码管显示出车票单价。qua3.0:表示所买票数,输出到显示功能模块,在数码管显示出票数。cost3.0:表示应付总额,根据票价和票数来计算出应付的总额,输出到余额计算模块,用来计算找赎金额。31该车票选择模块的源程序如下:if (rd=0) thenpath=0000;pri=0000;qua=0000;cost=0000; -复位清零elsif (clkevent and clk=1) then -时钟上升沿if (path_1=1) then path=0001; -选择一号线elsif (path_2=1) then path=0010; -选择二号线elsif (pri_3=1) then pri=0011; -选择3元票价elsif (pri_4=1) then pri=0100; -选择4元票价elsif (pri_5=1) then pri=0101; -选择5元票价elsif (qua_1=1) then qua=0001; -选择一张票 cost=pri; -应付金额=票价elsif (qua_2=1) then qua=0010; -选择两张票 cost=pri+pri; -应付金额=票价*2end if;经过编译后建立波形文件,波形仿真图如图5所示:图 5 车票选择模块波形仿真图在此波形仿真图中,将path_1,pri_4,qua_2依次置高电平作为输入,输出显示为选择的一号线,4元票,两张票,应付总额8元,说明达到此车票选择模块的预期功能。3.2.2 钱币处理模块钱币处理模块是对投入的钱币进行处理的过程,输出参数coin为投币数值计数器,以1元为单位进行计算。该模块入口参数coin5(投入5元钱),coin10(投入10元钱)。功能类似于计钱器,在清零的前提下,可准确计算,记录并保存所投入的总钱数。钱币处理模块如图6所示:图 6 钱币处理模块1)输入rd:模块复位信号,将所有输出信号清零。clk:模块的时钟信号。coin_5,coin_10:表示投入5元钱,10元钱。一次时钟上升沿,若信号为1时,表示投入一次5元钱和10元钱。2)输出coinh3.0,coinl3.0:信号输出到显示功能模块,在数码管上显示出投入钱币总额的十位和个位。coin3.0:表示投入钱币的总额,输出到余额计算模块,与应付总额相比较,来计算出找赎金额。该钱币处理模块的源程序如下:if (rd=0) then coinh=0000; coinl=0000; coin=0000; -复位清零elsif (clkevent and clk=1) then -时钟上升沿if (coin_5=1) then -投入一次5元 if (coinl=0101) then coinl=0000; coinh=coinh+1; -若低位满10,清零,高位加1 coin=coin+5; -总额加5 else coinl=coinl+5; -低位不满10,加5 coin=coin+5; -总额加5 end if;elsif (coin_10=1) then -投入一次10元 coinh=coinh+1; -高位加1 coin=coin+10; -总额加10end if;end if;经过编译后建立波形文件,波形仿真图如图7所示:图 7 投币处理模块波形仿真图在此波形仿真图中,将coin_5,coin_10依次置了一个时钟周期的高电平作为输入,输出显示总额低位为5,高位为1,所投钱币总额为15,说明达到此钱币处理模块的预期功能。3.2.3 余额计算模块余额计算模块主要完成出票找零操作。通过所投钱币总额coin和应付总额cost计算找赎余额,然后用发光二极管点亮表示出票和找零。钱数不够票价的,退出所投钱币数。余额计算模块如图8所示:图 8 余额计算模块1)输入rd:模块复位信号,将所有输出信号清零。clk:模块的时钟信号。finish:用户使用的确定按键。此信号置为高电平后,开始判断是否出票,计算找赎余额。path_in3.0,pri_in3.0:输入乘客所选的线路和票价,用来判断出票时具体出哪张票。cost_in3.0,coin_in3.0:输入应付总额和所投钱币总额,用来判断是否出票,是否找赎,计算找赎余额。2)输出act5.0:表示出票。车票共有6种,用6个发光二极管的点亮来表示具体出哪张票,若都不亮则表示不出票。act_1:表示找赎。若信号为1,用1个发光二极管的点亮表示需要找赎。rest3.0:表示找赎余额。信号输出到显示功能模块,在数码管显示找赎余额。该余额计算模块的源程序如下:if (rd=0) then rest=0000; act_1=0; act=000000; -复位清零elsif (clkevent and clk=1) then -时钟上升沿if (finish=1) th
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司猜灯谜抽奖活动方案
- 公司粽子定做活动方案
- 公司红色培训活动方案
- 2025年现代物流管理师职业资格考试试题及答案
- 2025年思想政治理论与教育考试试卷及答案
- 2025年商品经济学考试试卷及答案
- 高危人群自检策略-洞察及研究
- 2025年科技创新创业导师职业资格考试卷及答案
- 2025年旅游管理专业考试试卷及答案
- 2025年会计职业资格考试试卷及答案
- 湖南省湘潭市湘潭县2023-2024学年五年级下学期期末考试数学试题
- 2024年广西中考地理+生物试题(含答案解析)
- 武继祥-矫形器的临床应用
- 云南省昆明市盘龙区2024年八年级下学期期末数学试卷附答案
- 园区零碳园区建设方案
- +毕业试卷(试题)-2023-2024学年六年级下册数学苏教版
- 工程管理之施工资料管理培训
- 变压器油箱焊接工艺
- 国学疗愈行业分析
- (2023)义务教育新课程标准生物(2022年版)必考试题含答案
- 阵发性室上性心动过速(PSVT)的诊断和治疗
评论
0/150
提交评论