基于fpga设计地铁自动售票系统_第1页
基于fpga设计地铁自动售票系统_第2页
基于fpga设计地铁自动售票系统_第3页
基于fpga设计地铁自动售票系统_第4页
基于fpga设计地铁自动售票系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

基于FPGA设计地铁自动售票系统专业班级电科1班姓名魏思奥指导教师毕春娜信息科学技术学院内容摘要本毕业设计是基于FPGA设计一个地铁自动售票系统。近年来,集成电路技术的迅猛发展,特别是可编程逻辑器件的高速发展,电子设计自动化EDA技术成为电子设计工程师的新宠。然而随着城市人口的迅速增加、车辆的增多,世界各地的城市交通变得愈发拥挤,地铁成为城市交通的重要组成部分。随着国民经济的发展,我国的地铁建设也日益成为人们日常生活中不可或缺的一部分。作为地铁运营服务的第一道关,改善地铁已逐渐落后于时代步伐的售票系统势在必行。本系统是结合行业管理中实际的地铁售票系统运行过程中的需求过程,经过实际的需求分析,开发出来的地铁自动售票系统。整个系统的设计从符合操作简便快捷、灵活实用、保证稳定安全的要求出发,完成售票管理的基本过程。本设计采用自顶向下的模块化设计方法,基于FPGA使用VERILOG语言设计制作一个地铁自动售票控制系统,该系统能出售2条线路3种不同价位的票,完成售票、找零、显示等功能。通过本设计,正确掌握数字系统的模块划分、并能自如应用硬件描述语言描述各模块功能,以实现系统设计。以VHDL语言和MAXPLUSII为工具,在ZY11EDA13BE实验系统主板上,实现了地铁自动售票系统。系统划分为几个功能模块,分模块进行分析和设计,系统给出相应的设计原理图和VHDL源程序,通过仿真实现预定的功能。关键词FPGA;地铁自动售票系统;EDA;VHDLMAXPLUSII模块;仿真ABSTRACTTHEGRADUATIONPROJECTISBASEDONTHEFPGADESIGNOFASUBWAYTICKETSYSTEMINRECENTYEARS,THERAPIDDEVELOPMENTOFINTEGRATEDCIRCUITTECHNOLOGY,INPARTICULARTHERAPIDDEVELOPMENTOFPROGRAMMABLELOGICDEVICES,ELECTRONICDESIGNAUTOMATIONEDATECHNOLOGYTOBECOMETHENEWDARLINGOFELECTRONICDESIGNENGINEERSHOWEVER,WITHTHERAPIDURBANPOPULATIONINCREASEINTHENUMBEROFVEHICLESAROUNDTHEWORLDHAVEBECOMEINCREASINGLYCONGESTEDURBANTRAFFIC,METROBECAMEANIMPORTANTPARTOFURBANTRANSPORTATIONWITHTHEDEVELOPMENTOFNATIONALECONOMY,CHINASSUBWAYCONSTRUCTIONHASINCREASINGLYBECOMEANINDISPENSABLEPARTOFDAILYLIFEASASUBWAYSERVICEINTHEFIRSTPASS,TOIMPROVETHESUBWAYHASGRADUALLYLAGGEDBEHINDTHETIMESTICKETINGSYSTEMISNECESSARYTHISSYSTEMISACOMBINATIONOFINDUSTRYMANAGEMENTINTHEACTUALSUBWAYTICKETINGSYSTEMOPERATINGINTHEDEMANDPROCESS,AFTERTHEACTUALNEEDSANALYSIS,DEVELOPEDTHESUBWAYAUTOMATICTICKETINGSYSTEMTHEOVERALLDESIGNISEASYTOMANIPULATEFAST,FLEXIBLEANDPRACTICAL,TOENSURETHESAFETYANDSTABILITYREQUIREMENTS,THECOMPLETIONOFTHEBASICPROCESSOFTICKETMANAGEMENTTHISDESIGNUSESATOPDOWNMODULARDESIGNMETHOD,BASEDONFPGADESIGNUSINGVHDL,ASUBWAYTICKETCONTROLSYSTEM,WHICHCANSELLTWOLINES3DIFFERENTTICKETPRICES,THECOMPLETIONOFTICKETSALES,GIVECHANGE,ANDDISPLAYFUNCTIONSTHROUGHTHISDESIGN,THECORRECTNUMBEROFSYSTEMCONTROLMODULEDIVISION,ANDTOEASEAPPLICATIONOFHARDWAREDESCRIPTIONLANGUAGETODESCRIBETHEFUNCTIONOFEACHMODULETOACHIEVETHESYSTEMDESIGNINVHDLANDMAXPLUSIILANGUAGEASATOOL,ZY11EDA13BEEXPERIMENTALSYSTEMMOTHERBOARDTOACHIEVEAUTOMATEDSUBWAYTICKETINGSYSTEMSYSTEMISDIVIDEDINTOSEVERALFUNCTIONALMODULES,SUBMODULEANALYSISANDDESIGN,SYSTEMDESIGNGIVESTHECORRESPONDINGSCHEMATICANDVHDLSOURCECODE,THROUGHTHESIMULATIONTOACHIEVETHEINTENDEDFUNCTIONKEYWORDSSUBWAYAUTOMATICTICKETINGSYSTEMEDAVHDLMAXPLUSIIMODULESIMULATION目录1绪论111研究背景112研究内容及功能介绍113论文结构22理论基础221EDA技术222FPGA2221FPGA简介2222FPGA的基本特点3223FPGA的优点323VHDL语言4231VHDL简介4232VHDL系统设计的特点4233VHDL系统优势5234VHDL基本结构524MAXPLUS软件6241MAXPLUS软件简介6242MAXPLUS软件特点6243MAXPLUS可编程设计流程63系统分析与设计方案831系统的总体框架结构832功能模块分析9321车票选择模块9322钱币处理模块11323余额计算模块12324显示功能模块144硬件实现1641连线布局与下载1642系统不足175系统改进方向及设计总结1751系统改进方向1752设计总结18【参考文献】19【致谢】20基于FPGA设计地铁自动售票系统1绪论11研究背景地铁,源于19世纪中叶的英国。在当时的伦敦,因为生产力的急速发展,数以千计的工厂、房屋被建造起来。城市在爆炸性的发展中几乎陷于崩溃。为此人们迫切需要有比狭窄的街道更好的交通渠道。查尔斯皮尔逊提出了解决这一问题的方法,那就是“在地下建造铁路”。世界首条地铁“大都市铁道”于1843年在他的提议下开始建设,至1863年终于开通。在其开通的首年,就创造了运载乘客950万人次的记录,显示了地铁在城市交通中勃勃的生命力。1在一百多年后的今天,随着城市人口的迅速增加、车辆的增多,世界各地的城市交通变得愈发拥挤。同时,环境污染、能源危机等一系列问题也促使人们去进一步的思考城市交通的未来。地铁与城市中其它交通工具相比,在许多方面有着明显的优势除了能够避免城市地面拥挤和充分利用空间外,它的运量大,运输能力是地面公共汽车的7一10倍,这是任何城市交通工具所不能比拟的;速度快,可以在地下隧道内直线地快速行进,行驶的时速可超过100公里;并且无污染,以电力作为动力,不存在空气污染问题。地铁配套设备的范围十分广泛,包括了车辆选型与行车组织、供电系统、环控通风系统、给排水及消防系统、通信系统、信号系统、自动扶梯、电梯、自动售检票系统、防灾报警系统、设备监控系统、综合信息管理系统、旅客向导系统、运营控制中心系统、车辆段及综合基地系统、勘察、检验系统、施工系统等各个方面。2其中,自动售检票AFC系统利用先进的机电一体化技术和先进的电子、通信、网络等技术,使售票、检票、计费、收费、统计全过程管理自动化,减少了运营部门工作人员的劳动强度,能及时获取客流信息与轨道交通系统运营收益的第一手资料,保证投资回报。它的出现,淘汰了工作强度大、漏检票率高、适用范围又小的传统手工售检票方式,为地铁能够合理计费、吸引客流、遏制舞弊和逃票、减少管理人员、削减运营成本等都提供了可能,显著提高了其社会效益和经济效益,目前已成为了现代化地铁的标准配置。3在地铁系统的应用越来越广泛,大大改善城市交通的同时,人们也对其配套设备的现代化程度提出了更高的要求。随着国民经济的发展,我国的地铁建设也日益成为人们日常生活中不可或缺的一部分。绝大多数的城市轨道交通系统都是用来运载市内通勤的乘客,而在很多场合下城市轨道交通系统都会被当成城市交通的骨干。通常,城市轨道交通系统是许多都市用以解决交通堵塞问题的方法。然而售票作为地铁运营服务的第一道关,改善地铁已逐渐落后于时代步伐的售票系统势在必行。然而近年来,集成电路技术的迅猛发展,特别是可编程逻辑器件的高速发展,电子设计自动化EDA技术成为电子设计工程师的新宠。EDA技术以计算机为工具完成数字系统的逻辑综合、布局布线和设计仿真等工作。电路设计者只需要完成对系统功能的描述,就可以由计算机软件进行系统处理,最后得到设计结果,并且修改设计方案如同修改软件一样方便。利用EDA工具可以极大地提高设计效率。所以最终采用EDA技术基于FPGA设计如此地铁自动售票系统。412研究内容及功能介绍作为车站设备的一员,自动售票机ATVMAUTOTICKETVENDINGMACHINE,往往被安装在车站非付费区内,用于轨道交通车票销售的乘客自助服务。自动售票机具有引导乘客购票的相关操作说明和提示,配备触模屏、乘客显示器及运营状态显示器,用于显示地铁线路、票价、投入钱币金额、设备运行状态等信息。目前通用的轨道交通单程车票一般为非接触式的方形IC卡,自动售票机根据规格型号的不同,可以分别按照硬币、纸币以及交通一卡通储值卡这三种支付方式的一到多种进行售票。一次交易中的发卡数量也可以在一到多张间不等。本设计采用自顶向下的模块化设计方法,基于FPGA,以VHDL语言和MAXPLUSII为工具,在ZY11EDA13BE实验系统主板上,运用VHDL有限状态机设计地铁自动售票系统。5本系统是结合行业管理中实际的地铁售票系统运行过程中的需求过程,经过实际的需求分析,开发出来的地铁自动售票系统。笔者参与设计的自动售票机,就其功能特点来说,可以归纳如下1)该自动售票系统可对1号、2号两条地铁线售票,每条线均有3、4、5元三种票。2)能选择买1张或2张票;3)有5元、10元两个投币口。当投入的钱币与选择的票款相等时,送出车票;若投入的钱币不够,1分钟后,退出钱币,无票送出;若投入的钱币超过票款,能自动找赎。4)系统显示选择的是几号线、所选票面额、购买的票数、投入的钱币额及找赎的钱额。13论文结构本文分五章,第一章是绪论部分,简单介绍了地铁自动售票机的背景、系统设计的内容以及功能描述、论文整体结构。第二章是理论基础,主要介绍了EDA技术、FPGA、VHDL语言结构和MAXPLUS软件的设计流程。第三章介绍了系统设计的总体思路和各个模块的功能设计与编译仿真。第四章是系统顶层图连线布局,下载硬件实现,结果分析,以及系统存在的不足。第五章主要介绍系统的改进方向,并总结本系统设计的意义。2理论基础21EDA技术EDA是电子设计自动化(ELECTRONICDESIGNAUTOMATION)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。6EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。722FPGA221FPGA简介FPGA(FIELDPROGRAMMABLEGATEARRAY),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。8目前以硬件描述语言(VERILOGHDL或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(FLIPFLOP)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。9FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。10222FPGA的基本特点FPGA采用了逻辑单元阵列(LOA,LOGICCELLARRY)这样一个新概念,内部包括可配置逻辑模块(CLB,CONFIGURABLELOGICBLOCK)、输入输出模块(IOB,INPUTOUTPUTBLOCK)和内部连线(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编程多片FPGA3)串行模式可以采用串行PROM编程FPGA;4)外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。12223FPGA的优点FPGA芯片都是特殊的ASIC芯片,除了具有ASIC的特点之外,还具有以下3个优点。1)随着超大规模集成电路(VLSI,VERYLARGESCALEIC)工艺的不断提高,单一芯片内部可以容纳上百万个晶体管,FPGACPLD芯片的规模也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越来越强,同时也可以实现系统集成。2)FPGACPLD芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投片风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,FPGACPLD的资金投入小,节省了许多潜在的花费。3)用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同的软件实现不同的功能。所以,用FPGAICPLD试制样片,能以最快的速度占领市场。FPGACPLD软件包中有各种输入工具和仿真工具及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。当电路有少量改动时,更能显示出FPGACPLD的优势。电路设计人员使用FPGACPLD进行电路设计时,不需要具备专门的IC(集成电路)深层次的知识,FPGACPLD软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。1323VHDL语言231VHDL简介VHDL的英文全名是VERYHIGHSPEEDINTEGRATEDCIRCUITHARDWAREDESCRIPTIONLANGUAGE,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本,IEEE1076(简称87版之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的10761993版本,(简称93版)。现在,VHDL和VERILOG作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于VERILOG语言将承担起大部分的数字系统设计任务。14VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。VHDL的英文全写是VHSIC(VERYHIGHSPEEDINTEGRATEDCIRCUIT)HARDWAREDESCRIPTIONLANGUAGE翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。15VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。16232VHDL系统设计的特点与其他硬件描述语言相比,VHDL具有以下特点1)功能强大、设计灵活VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。2)支持广泛、易于修改由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。3)强大的系统硬件描述能力VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。4)独立于器件的设计、与工艺无关设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。5)很强的移植能力VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。6)易于共享和复用VHDL采用基于库(LIBRARY)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。16233VHDL系统优势1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。17234VHDL基本结构VHDL程序包括了三部分程序包、实体、结构体。181)程序包定义在设计结构体和实体中将用到的常数、数据类型、子程序和设计好的电路单元等。LIBRARYIEEE;USEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLUSEIEEESTD_LOGIC_UNSIGNEDALL2)实体设计系统单元所需要的输入输出端口信息。ENTITY实体名称ISPORT端口信号名称1输入/输出状态数据类型端口信号名称1输入/输出状态数据类型端口信号名称N输入/输出状态数据类型END实体名称3)结构体描述电路单元具体的内部结构和逻辑功能。ARCHITECTURE结构体名OF实体名称IS说明语句BEGIN电路功能描述语句END结构体名结构体注意事项结构体不能单独存在,它必须有一个界面说明,即一个实体。每个实体可以有一个或多个结构体,每个结构体对应着实体不同结构和算法实现。多个结构体名应区分。对于具有多个结构体的实体,必须用CONFIGURATION配置。结构体中说明和定义的数据类型、常数等只能用于该结构体中,若要用于其他实体或结构体中,需将其作为程序包来处理。1924MAXPLUS软件241MAXPLUS软件简介MAXPLUS(MULTIPLEARRAYANDPROGRAMMINGLOGICUSERSYSTEM)开发工具是美国ALTERA公司推出的一种EDA工具,具有灵活高效,使用便捷,易学易用的特点。ALTERA公司在推出各种CPLD和FPGA的同时也在不断地升级相应的开发工具软件,已从早期的第一代APLUS、第二代MAXPLUS发展到目前的第三代MAXPLUSII和第四代QUARTUS。使用MAXPLUS软件,设计者无需精通器件内部的复杂结构,只需熟悉所用的设计输入工具,如硬件描述语言、原理图等进行输入,MAXPLUS自动将设计转换成目标文件下载到器件中去。20242MAXPLUS软件特点MAXPLUS开发系统具有以下特点。1)多平台系统MAXPLUS的设计输入、处理与校验功能一起提供了全集成化的可编程开发工具,可以加快动态调试,缩短开发周期。2)开放的界面MAXPLUS可与其它工业标准的设计输入、综合和校验工具链接。具有EDIF,VHDL,VERILOGHDL以及其他的网表接口,便于与许多公司的EDA工具接口,包括CADENCE,MENTOR,SYNOPSYS,SYNPLICITY,VIEWLOGIC等公司提供的EDA工具的接口。3)模块组合式工具软件MAXPLUS具有一个完整的可编程逻辑设计环境,包括设计输入、设计处理、设计校验仿真和下载编程四个模块,设计者可以按设计流程选择工作模块。4)与结构无关MAXPLUS支持ALTERA的CLASSIC、MAX5000、MAX7000、FLEX8000、FLEXLOK等可编程器件系列,提供工业界中唯一真正与结构无关的可编程逻辑设计环境。5)硬件描述语言MAXPLUS支持各种HDL硬件设计输入语言,包括VHDL、VERILOGHDL和ALTERA的硬件描述语言AHDL。21243MAXPLUS可编程设计流程MAXPLUS设计流程图如图1所示图1MAXPLUS设计流程图步骤1为本项工程设计建立文件夹任何一项设计都是一项工程(PROJECT,都必须首先为此工程建立一个放置与此工程相关的文件的文件夹,此文件夹将被EDA软件默认为工作库(WORKLIBRARY。一般不同的设计项目最好放在相应的文件夹中,注意,一个设计项目可以包含多个设计文件,文件夹名不能用中文,且不可带空格。步骤2输入设计项目和存盘22设计者将所设计的系统或电路以开发软件要求的某种形式表现出来,并送入计算机的过程称为设计输入。设计输入通常有以下几种方式。1)原理图输入方式2)硬件描述语言输入方式3)波形输入方式4)层次化设计输入方式步骤3将设计项目设置成工程文件为了使MAXPLUSII能对输入的设计项目按设计者的要求进行各项处理,必须将设计文件设置成当前PROJECT。23步骤4选择目标器件并编译这是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动进行适配,最后产生编程用的编程文件。24步骤5时序仿真1建立波形文件2输入信号节点3设置波形参量4设置仿真时间5加上输入信号6波形文件存盘7运行仿真器25步骤6建立元件步骤7引脚锁定26步骤8编程下载在以上步骤都正确实施并完全通过以后,我们就可以将我们设计的项目(最终的数据编程文件)下载到器件中去,然后加入实际的激励信号进行测试,在我们的目标系统中进行产品级使用了。如果还未最终达到我们的设计目的,则需返回以上步骤查找设计问题直至无误。273系统分析与设计方案31系统的总体框架结构地铁自动售票系统大致可分为四个功能模块车票选择模块、钱币处理模块、余额计算模块、显示功能模块。28系统总体框图如图2所示钱币处理模块余额计算模块显示功能模块车票选择模块图2系统总体框图1)车票选择模块。当自动售票机通电时,表示一次投币售票过程开始;乘客正常购买车票操作失误包括改变购买意向或不再购买,按RD按钮重新进入初始状态;在初始状态PATH、PRI和QUA生效时,顾客可以根据自己的需要,选择其中一种车票只限一种和票数,进入下一模块。2)钱币处理模块。表示投入的钱币是5元、10元的COIN_5、COIN_10生效,记录所投钱币总额。3)余额计算模块。当投人钱币总额大于或等于车票价格,并且按确认键后出票并找零;若投入钱币总额小于车票价格,售票机不出票,并退出所投钱币,进入初始状态。4)显示功能模块。此模块根据输入提供的数据,用数码管来显示选择的是几号线、所选票面额、购买的票数、投入的钱币额及找赎的钱额。29本系统中乘客投币售票流程如图3所示3元4元5元6元选择票数投币计算金额总额票价确认购买继续投币是否是否否退币清零出票找零是开始结束图3投币售票流程图32功能模块分析321车票选择模块车票选择模块是指对商品进行选择与购买。4种票价(3元,4元,5元,6元),乘客可以选择所要购买的票数(1张票,2张票)。30车票选择模块如图4所示图4车票选择模块1)输入RD模块复位信号,将所有输出信号清零。作为开始一次购票过程的按键,也可以作为让乘客重新选票的按键。CLK模块的时钟信号。PRI_3,PRI_4,PRI_5,PRI_6将其中一个置高电平,作为选择一种票价(3元,4元,5元,6元)。QUA_1,QUA_2将其中一个置高电平,作为选择购买车票的数量(一张票,两张票)。2)输出PRI30表示所选票价,输出到余额计算模块和显示功能模块,作为判断出何种票的条件,并在数码管显示出车票单价。QUA30表示所买票数,输出到显示功能模块,在数码管显示出票数。COST30表示应付总额,根据票价和票数来计算出应付的总额,输出到余额计算模块,用来计算找赎金额。31该车票选择模块的源程序如下车票选择模块图4车票选择模块1)输入RD模块复位信号,将所有输出信号清零。作为开始一次购票过程的按键,也可以作为让乘客重新选票的按键。CLK模块的时钟信号。PRI_3,PRI_4,PRI_5,PRI_6将其中一个置高电平,作为选择一种票价(3元,4元,5元6元)。QUA_1,QUA_2将其中一个置高电平,作为选择购买车票的数量(一张票,两张票)。2)输出1)PRI30表示所选票价,输出到余额计算模块和显示功能模块,作为判断出何种票的条件,并在数码管显示出车票单价。2QUA30表示所买票数,输出到显示功能模块,在数码管显示出票数。3)COST30表示应付总额,根据票价和票数来计算出应付的总额,输出到余额计算模块,用来MODULESELLER1QUA_1,QUA_2,PRI_3,PRI_4,PRI_5,PRI_6,RD,CLK,PRI,QUA,COST;OUTPUTQUA,COST,PRIINPUTQUA_1,QUA_2,PRI_3,PRI_4,PRI_5,PRI_6,RD,CLKREGPRI,QUA,COSTREG3,0PRIREG3,0QUAREG3,0COSTALWAYSRDORCLKORQUA_1ORQUA_2ORPRI_3ORPRI_4ORPRI_5ORPRI_6BEGINIFRD0PRICOST_INBEGINIFPRI_IN0011BEGINACT_10RESTCOIN_INCOST_INACT0001ENDELSEIFPRI_IN0100BEGINACT_10RESTCOIN_INCOST_INACT0010ENDELSEIFPRI_IN0101BEGINACT_10RESTCOIN_INCOST_INACT0100ENDELSEPRI_IN0110BEGINACT_10RESTCOIN_INCOST_INACT1000ENDENDELSECOIN_INCOST_INBEGINACT0000ACT1RESTCOIN_INENDENDENDENDMODULE经过编译后建立波形文件,波形仿真图如图9所示图9余额计算模块波形仿真图在此波形仿真图中,输入选择二号线,4元票,应付总额为8元,所投钱币总额为10元,在FINISH确定键按下后,输出有找赎信号,且找赎余额为2元,出第5种车票,由此说明达到余额计算模块的预期功能。324显示功能模块显示功能模块主要完成显示乘客所选线路、票价、票数、投入钱数及找赎余额。然而在ZY11EDA13BE实验系统主板上,每次只能点亮一个数码管,如果显示这些数据,必须要用扫描的方式使得所需数码管依次点亮,选择较高的扫描频率,利用人眼的视觉暂留效果,视觉上可让数码管一起点亮。显示功能模块如图10所示图10显示功能模块1)输入CLK计数器的时钟,每个时钟上升沿,计数器计数一次。IN030,IN130,IN230,IN330,IN430表示5个需要显示的5个数据,即票价,票数,所投总额十位,所投总额个位,找赎余额。SEL205进制计数器提供的计数序列,用来做数据选择器的选择条件。2)输出LED_SEL20对实验板上数码管扫描的信号,用5进制计数器提供的计数序列使数码管依次点亮。OUTPUT305选1数据选择器的输出到译码器进行译码。DOUT60经过译码器的译码后,将4位二进制数译成可让数码管显示的7位二进制数。此自动售票系统共需要5个数码管显示,此显示功能模块可分为三个部分1)模5计数器(COUNTER_5)每个时钟上升沿,计数器计数一次,产生3位二进制码,对5个数码管进行扫描,且对数据选择器的5个数据依次进行选择输出。模5计数器(COUNTER_5)MODULECOUNTER_5CLK,OUTPUTINPUTCLKOUTPUTOUTPUTREG3,0OUTPUTALWAYSPOSEDGECLKBEGINIFOUTPUT100OUTPUT000ELSEOUTPUTOUTPUT1ENDENDMODULE此模5计数器波形仿真图如图11所示图11模6计数器波形仿真图在此波形仿真图中,输入为时钟信号,输出为04的5进制数,说明达到此模5计数器的预期功能。2)5选1数据选择器(MULTIPLEXER_5)每次只能点亮一个数码管,所以根据模5计数器输入的数,选择一个数据作为一次输出。此数据选择器的源程序如下MODULEMULTIPLEXER_5IN0,IN1,IN2,IN3,IN4,SEL,OUTPUTINPUTIN0,IN1,IN2,IN3,IN4,SELOUTPUTOUTPUTREG30IN0,IN1,IN2,IN3,IN4REG3,0SELREG3,0ALWAYSBEGINCASESEL000OUTPUTIN0001OUTPUTIN1010OUTPUTIN3011OUTPUTIN4ENDCASEENDENDMODULE此5选1数据选择器波形仿真图如图12所示图126选1数据选择器波形仿真图在此波形仿真图中,随着选择信号的SEL20的变化,输出也对应着5个数据选择输出,说明达到此5选1数据选择器的预期功能。3)译码器(DECODER)7段数码管显示,需将4位二进制数,译成7位二进制数据,使得数码管显示出想要的数字。此译码器源程序如下MODULEDECODERDIN,DOUTOUTPUTDOUTINPUTDINREG6,0DOUTWIRE3,0DINALWAYSBEGINCASEDIN0000DOUT01111110001DOUT00001100010DOUT10110110011DOUT10011110100DOUT11001100101DOUT11011010110DOUT11111010111DOUT00001111000DOUT11111111001DOUT1101111DEFAULTDOUT0000000ENDCASEENDENDMODULE4硬件实现41连线布局与下载在各个模块都设计完毕并编译生成模块后,建立顶层文件图,进行连线布局。地铁自动售票机系统的顶层文件图如图13所示图13地铁自动售票机系统的顶层文件图连线布局好后,对其进行编译,然后锁定管脚,下载到ZY11EDA13BE实验板上,观察其试验结果。其中,车票选择模块,钱币处理模块,余额计算模块共用同一个时钟信号CLK,在试验板上采用频率为2HZ的时钟信号。显示功能模块的时钟信号CLK_2采用实验板上频率为2048HZ的时钟信号。在已经烧入程序的实验板上,各个按键均符合预期按键功能,7个发光二极管的亮灭符合设计的亮灭要求,6个数码管也全部点亮并显示符合系统要求的数据。因此此设计的地铁售票系统能够完成所有选票、投币、找零、显示的功能要求,达到硬件实现。42系统不足此系统设计,余额计算模块中要求,在所投钱币总额不足应付票价总额时,一分钟后退出所投钱币。而此设计中未能达到一分钟后退出所投钱币,而是在按下确定键FINISH后直接退出钱币。5系统改进方向及设计总结51系统改进方向随着笔者以后经验和能力的增长,可以对此地铁自动售票系统进行改进和扩展,在此提出以下几

温馨提示

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

评论

0/150

提交评论